Cviennashe::util::all_ok_checker | A checker that never complains. Can be used instead of overly picky/erroneous checkers (just for debugging purposes, of course!) |
Cviennashe::util::any_filter | A trivial filter, all objects are accepted |
Cviennashe::util::arithmetic_averaging | A functor which computes the arithmetic average of all entries in a container |
Clibviennashe::array_to_accessor | Maps a C-array to an element based accessor. Uses element.id() as an index to the C-array |
Cviennashe::math::AssocLegendre | Associated Legendre polynomial |
Cviennashe::she::average_expansion_order_wrapper< DeviceType, SHEQuantity > | Accessor class providing the average expansion order inside the device |
►Cviennashe::models::bandgap_model | Basic bandgap model interface |
Cviennashe::models::bandgap_model_const | A simple constant bandgap model. Gets the bandgap and always returns this value |
Cviennashe::models::bandgap_model_extended | An elaborate bandgap model, which accounts for the lattice temperature |
Cviennashe::models::bandgap_model_extended_parameters | Plain old datatype (POD) of parameters for the bandgap_model_extended |
Cviennashe::math::BindFirst< T > | Binds the first argument of a function of functor to a certain value |
Cviennashe::math::BindSecond< T > | Binds the second argument of a function or functor to a certain value |
Cviennashe::boundary_potential_accessor< DeviceT > | Accessor for obtaining the Dirichlet boundary condition for the Poisson equation in the device (contact-potential plus built-in potential) |
Cviennashe::box_volume_key | Internal key for storing the box volume associated with an edge or a vertex |
Cviennashe::built_in_potential_accessor< DeviceType > | Accessor for retrieving the built-in potential in the device |
Cviennashe::built_in_potential_accessor< DeviceT > | |
Cviennashe::she::carrier_density_wrapper< SHEQuantity > | An accessor for the carrier density in the device |
Cviennashe::she::detail::carrier_density_wrapper_by_reference< SHEQuantity > | An accessor for the carrier density in the device by reference
|
Cviennashe::she::carrier_energy_wrapper< SHEQuantity > | An accessor for the average carrier energy at each point inside the device |
Cviennashe::models::carrier_mass_full_model_parameters | POD with parameters for the full model |
►Cviennashe::models::carrier_mass_model | The carrier mass model interface |
Cviennashe::models::carrier_mass_full_model | The full carrier mass model, which uses a Taylor series over lattice temperature |
Cviennashe::models::carrier_mass_simple_model | The simple (constant) carrier mass model |
Cviennashe::models::carrier_mass_simple_model_parameters | POD with parameters for the simple carrier mass model (constant value model) |
Cviennashe::she::carrier_velocity_wrapper< DeviceType, SHEQuantity > | Accessor class providing the carrier velocity inside the device |
Cviennashe::models::chain | Implementation of Markov-Chains |
Cviennashe::materials::checker | Simple checker class for checking whether a certain material is of a given type (conductor, semiconductor, insulator) |
Cviennashe::util::checker_with_exception< BasicChecker, ExceptionType > | A checker class that throws a user-provided exception rather than returning false on its functor interface |
Cviennashe::const_quantity< AssociatedT, ValueT > | Common representation of any quantity associated with objects of a certain type |
Cviennashe::she::const_she_quantity< AssociatedT1, AssociatedT2, ValueT > | Common representation of any quantity associated with two objects of a certain type and an index |
Cviennashe::constant_accessor< ConstantType > | An accessor which returns a constant value independent of the object passed |
Cviennashe::math::detail::constants< dummy > | Implementation class holding basic math constants |
Cviennashe::physics::detail::constants< dummy > | Implementation class holding basic physics constants |
Cviennashe::contact_carrier_density_accessor< DeviceType > | Returns the carrier density at contacts modelled as thermal baths (used by DD and SHE) |
Cviennashe::util::contact_filter< DeviceType > | A simple filter to find cells and vertices which have potential boundary conditions |
Cviennashe::contact_potential_accessor< DeviceType > | Accessor for obtaining the contact potential in the device |
Cviennashe::io::detail::container_accessor< ContainerType, KeyType, ValueType > | |
Cviennashe::util::cpp03_static_assert< b > | |
Cviennashe::util::cpp03_static_assert< true > | |
Cviennashe::detail::current_density_on_facet< DeviceType, PotentialAccessorType, AccessorTypeCarrier, MobilityModel > | An accessor to the current density (drift diffusion only!) on edges |
Cviennashe::current_density_wrapper< DeviceType, PotentialQuantityType, CarrierQuantityType, MobilityModel > | An accessor to the current density on vertices and edges (drift diffusion only!) |
Cviennashe::she::current_density_wrapper< DeviceType, SHEQuantity > | Accessor class providing the carrier velocity inside the device |
Cviennashe::current_density_wrapper< DeviceType, quantity_type, quantity_type, viennashe::models::dd::mobility > | |
Cviennashe::she::current_density_wrapper< DeviceType, she_quantity_type > | |
Cviennashe::she::detail::current_on_facet_by_ref_calculator< DeviceT, SHEQuantityT > | |
Cviennashe::she::detail::current_on_facet_by_ref_calculator< DeviceType, she_quantity_type > | |
Cviennashe::she::detail::current_on_facet_by_ref_calculator< DeviceType, SHEQuantity > | |
Cviennashe::solvers::dense_linear_solver_tag | Internal tag used for the specification of a dense linear solver (Gauss, single-threaded) |
Cviennashe::math::dense_matrix< NumericT > | |
Cviennashe::detail::density_gradient_config | |
►Cviennashe::detail::device_base< MeshT > | Defines the physical properties of a device, e.g. doping |
Cviennashe::device< MeshT, edges_and_cells_different > | Defines the physical properties of a device, e.g. doping. This is the implementation for 2d and higher dimensions |
Cviennashe::util::device_from_array_generator< IndexT > | A device generator to generate a device from C-Arrays (DOES NOT TAKE OWNERSHIP) |
Cviennashe::util::device_from_flat_array_generator< IndexT > | A device generator to generate a device from flat C-Arrays (DOES NOT TAKE OWNERSHIP) |
Cviennashe::util::device_generation_config | Configuration class for the simple mesh generator |
Cviennashe::she::df_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for evaluating the full distribution function. Note: Evaluations are quite costly. If you wish to evaluate integrals over the distribution function, you should definitely consider the use of SHE expansion coefficients as well as the orthogonality relations for spherical harmonics |
Cviennashe::diffusivity_accessor< DeviceType > | Accessor to get the diffusivity. Used in the assembly of the heat diffusion equation |
►Cviennashe::physics::dispersion_base | Common interface for band structures |
Cviennashe::physics::ext_vecchi_dispersion< MaterialType > | Non-parabolic isotropic dispersion relation proposed by Jin et al. TED 2011 (uses real DOS) |
Cviennashe::physics::modena_dispersion< MaterialType > | Non-parabolic dispersion relation proposed by the Modena group (spherically symmetric) |
Cviennashe::physics::parabolic_dispersion< MaterialType > | Parabolic dispersion relation (spherically symmetric) |
Cviennashe::physics::dispersion_proxy | A proxy object for a dispersion relation. Does NOT take ownership of the provided pointer! |
►Cviennashe::dispersion_relation_ids | Provides IDs for the dispersion relations |
Cviennashe::config | The main SHE configuration class. To be adjusted by the user for his/her needs |
Cviennashe::doping_accessor< DeviceType > | Accessor for returning the doping (donator/acceptor doping is defined in the CTOR) |
Cviennashe::doping_setter< DeviceType > | Convenience functor for setting the doping across the device |
Cviennashe::she::edf_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for accessing the energy distribution function on each vertex of the device |
Cviennashe::edge_interface_area_key | Internal key for storing the interface area of a box associated with an edge |
Cviennashe::detail::electric_field_on_facet< DeviceType, PotentialAccessorType > | An accessor to the electric field along a given edge. Electrostatic potential required |
Cviennashe::electric_field_wrapper< DeviceType, PotentialAccessorType > | An accessor to the electric field on vertices and edges. Potential requiered |
Cviennashe::electric_field_wrapper< DeviceType, quantity_type > | |
Cviennashe::detail::electric_flux_on_facet< DeviceType, PotentialAccessorType > | Simple accessor to get the electric flux density along an edge |
Cviennashe::electric_flux_wrapper< DeviceType, PotentialAccessorType > | An electric flux accessor. Provides the electric flux along edges and on vertices given the electrostatic potential |
Cviennashe::enable_if< b, T > | Simple enable-if variant that uses the SFINAE pattern |
Cviennashe::enable_if< false, T > | |
Cviennashe::she::detail::energy_integrator_for_box | |
Cviennashe::error_indicator< T > | A helper class to raise compile time errors |
Cviennashe::models::dd::mobility_detail::field_dependence | |
Cviennashe::util::filtered_functor< FilterType, FunctorType > | A compound functor which applies the provided functor only to the argument if the supplied filter evaluates to true |
Cviennashe::fixed_charge_accessor< DeviceType > | Accessor for fixed charges |
Cviennashe::she::force_on_facet_accessor | |
Cviennashe::she::GammaIntegrand_x | X-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
Cviennashe::she::GammaIntegrand_y | Y-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
Cviennashe::she::GammaIntegrand_z | Z-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
Cviennashe::materials::gas | A class referring to an ideal gas |
Cviennashe::she::generalized_df_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for evaluating the generalized distribution function (i.e. f * Z, with density of states Z). Note: Evaluations are quite costly. If you wish to evaluate integrals over the distribution function, you should definitely consider the use of SHE expansion coefficients as well as the orthogonality relations for spherical harmonics |
Cviennashe::she::generalized_edf_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for accessing the generalized energy distribution function (f * Z, with density of states Z) on each vertex of the device |
Cviennashe::util::geometric_averaging | A functor which computes the geometric average of all entries in a container |
Cviennashe::io::gnuplot_edf_writer | Writes the energy distribution function to a file which can be processed by Gnuplot. Works for 1d, 2d and 3d only |
Cviennashe::io::gnuplot_writer | Writes quantities to a file which can be processed by Gnuplot. Works for 1d, 2d and 3d only |
Cviennashe::solvers::gpu_parallel_linear_solver_tag | Internal tag used for the specification of a GPU-accelerated linear solver |
Cviennashe::materials::hfo2 | A class referring to hafnium dioxide |
Cviennashe::models::dd::mobility_detail::impurity_scattering | |
Cviennashe::util::inf_checker | Checks for Inf |
Cviennashe::math::IntAdaptiveRule< IntRule > | Tag for an adaptive integration rule |
Cviennashe::math::IntegrationBinder< T, IntRule > | A binder for reducing an n-ary function to an n-1-ary function by integration over one variable |
Cviennashe::she::interpolated_she_df_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for accessing the distribution function coefficients over the device on each vertex. Note that odd-order expansion coefficients are averaged, thus one MUST NOT evaluate flux-quantities using this interpolated wrapper! |
Cviennashe::math::IntGauss< int_points > | Gaussian integration rule |
Cviennashe::math::IntMidPointRule | Tag for the midpoint rule |
Cviennashe::math::IntSimpsonRule | Tag for the simpson rule |
Cviennashe::math::IntTrapezoidalRule | Tag for the trapezoidal rule |
Cviennashe::detail::is_1d_mesh< MeshT, CellTag > | Metafunction for the determination of whether a mesh is 1d |
Cviennashe::detail::is_1d_mesh< MeshT, viennagrid::hypercube_tag< 1 > > | Metafunction for the determination of whether a mesh is 1d. Specialization for 1d |
Cviennashe::detail::is_1d_mesh< MeshT, viennagrid::simplex_tag< 1 > > | Metafunction for the determination of whether a mesh is 1d. Specialization for 1d |
Cviennashe::util::is_equal< T, U > | |
Cviennashe::util::is_equal< T, T > | |
Cviennashe::util::detail::is_lesser< a, b > | |
Cviennashe::hde::joule_heating< CurrentDensityAccessorType, ElectricFieldAccessorType > | Calculates the Joule Heating (in Watt per Second) |
Cviennashe::models::dd::mobility_detail::lattice_scattering | |
Cviennashe::lattice_temperature_accessor< DeviceType > | Returns the lattice temperature on the device |
►Cviennashe::solvers::linear_solver_ids | Provides IDs for the linear solvers |
Cviennashe::solvers::linear_solver_config | A configuration class holding options for use within the different linear solvers |
Cviennashe::models::lineshape_classic< TrapTypeTag, DirectionTypeTag > | |
Cviennashe::she::log_acoustic_phonon_scattering | Configuration class for logging when assembling acoustic phonon scattering |
Cviennashe::she::log_adaptive_she | Configuration class for logging when using adaptive SHE |
Cviennashe::she::log_assemble_all | Configuration class for logging when assembling the free streaming operator |
Cviennashe::she::log_assemble_ee_scattering | Configuration class for logging when assembling electron-electron scattering |
Cviennashe::she::log_assemble_free_streaming_operator | Configuration class for logging when assembling the free streaming operator |
Cviennashe::she::log_assemble_scattering_operator | Configuration class for logging when assembling any scattering mechanisms |
Cviennashe::math::log_AssocLegendre | Controls logging within the associated Legendre polynomial class |
Cviennashe::she::log_coupling_matrix_in_direction | Configuration class for logging when computing the coupling matrix in a particular direction |
Cviennashe::she::log_fill_coupling_matrices | Configuration class for logging when filling coupling matrices |
Cviennashe::util::log_generate_device | Logging key for messages from the built-in ortho-grid generator |
Cviennashe::solvers::log_gpu_block_ilut_precond | Logging tag for messages specific to the GPU block-ILUT preconditioner |
Cviennashe::she::log_impact_ionization_scattering | Configuration class for logging when assembling impact ionization scattering |
Cviennashe::math::log_integrate | Controls logging within the numerical integration routine |
Cviennashe::she::log_linear_solver | Configuration class for logging when running the linear solver |
Cviennashe::solvers::log_linear_solver | Logging tag for general linear solver action |
Cviennashe::util::log_m_matrix_check | Logging key for messages occurring during M-matrix check |
Cviennashe::she::log_mapping | Configuration class for logging when distributing unknown indices over device (mapping) |
Cviennashe::she::log_newton_she | |
Cviennashe::she::log_optical_phonon_scattering | Configuration class for logging when assembling optical phonons scattering |
Cviennashe::solvers::log_parallel_ilut_precond | Logging tag for messages specific to the multithreaded (CPU-based) block-ILUT preconditioner |
Cviennashe::she::log_recover_odd_unknowns | Configuration class for logging when recovering odd unknowns from the computed even f_{l,m} |
Cviennashe::she::log_she_solver | Configuration class for logging during the linear solver phase in a SHE simulation |
Cviennashe::io::log_she_vtk_writer | Tag class for logging inside the she_vtk_writer |
Cviennashe::log_simulator | Configuration class for logging the SHE simulator |
Cviennashe::she::log_smooth_expansion_order | Configuration class for logging when smoothing expansion orders for mapping |
Cviennashe::math::log_SphericalHarmonic_dTheta | Controls logging for the derivative of spherical harmonics with respect to theta |
Cviennashe::she::log_transfer_to_new_h_space | Configuration class for logging when dealing with traps |
Cviennashe::she::log_traps | Configuration class for logging when dealing with traps |
Cviennashe::log::logger< enabled > | The Main logger class. Assembles output lines and writes them to std::cout upon destruction |
Cviennashe::log::logger< false > | Template specialization of the logger for the case enabled=false ... does nothing. Ensures that no runtime penalty is present if the logger is disabled via the template parameter |
Cviennashe::util::logic_or_averaging | A functor which returns the result of a logic-or chain consisting of all elements of the supplied container |
Cviennashe::models::lsf_electron_trap_tag | |
Cviennashe::models::lsf_forward_tag | |
Cviennashe::models::lsf_hole_trap_tag | |
Cviennashe::models::lsf_reverse_tag | |
Cviennashe::detail::macroscopic_carrier_mask_filter< DeviceType, SimulatorQuantity > | |
Cviennashe::math::merseinne_twister_generator< ValueT > | A pseudo-random number generator implementation using the merseinne twister MT 19937 cf. Makoto Matsumoto, Takuji Nishimura: Mersenne twister. "A 623-dimensionally equidistributed uniform pseudorandom number generator." ACM Transactions on Modeling and Computer Simulation 8, 1998 |
Cviennashe::io::detail::mesh_generator_vtk< MeshT > | |
Clibviennashe::meshtype | The mesh types supported by libviennashe |
Cviennashe::materials::metal | A class referring to any metal contact |
Cviennashe::util::metal_filter< DeviceType > | A filter accepting metal cells only |
Cviennashe::models::dd::mobility< DeviceType > | The main mobility model. Contains submodels for lattice, impurity, field and surface scattering related mobility changes. For drift diffusion only! |
Cviennashe::models::dd::mobility_detail::mobility_field_dependence | |
Cviennashe::models::dd::mobility_detail::mobility_impurity_scattering | |
Cviennashe::models::dd::mobility_detail::mobility_lattice_scattering | |
Cviennashe::models::dd::mobility_paramters | The combined POD for the mobility parameters |
Cviennashe::models::dd::mobility_detail::mobility_surface_scattering | |
Cviennashe::models::result_of::mobility_type< DeviceType > | Compiletime mobility-type getter |
Cmos1d_mesh_generator | MOS 1D test-grid generator |
Cviennashe::util::nan_checker | Checks for NaN |
Cviennashe::util::no_contact_and_semiconductor_filter< DeviceType > | A filter used to filter cells, which are neither semiconductors (by material) nor contacts (by potential boundary condition) |
Cviennashe::util::no_contact_filter< DeviceType > | The inverse filter to the contact_filter |
Cviennashe::non_const_quantity< AssociatedT, ValueT > | |
Cviennashe::util::none_filter | A trivial filter, no objects shall be accepted |
►Cviennashe::solvers::nonlinear_solver_ids | Provides IDs for the nonlinear iteration schemes |
Cviennashe::solvers::nonlinear_solver_config | A configuration class holding options for use within the different linear solvers |
Cviennashe::math::normal_distribution< RealT, ResultT > | |
Cviennashe::log::nullstream | Streaming class which only provides operator<< discarding the right hand side |
Cviennashe::util::oxide_filter< DeviceType > | A filter accepting oxide cells only |
Cviennashe::solvers::parallel_linear_solver_tag | Internal tag used for the specification of a CPU-based multi-threaded linear solver |
Cviennashe::permittivity_accessor< DeviceType > | Accessor for obtaining the permittivity in the device |
Cviennashe::solvers::petsc_amgx_solver_tag | |
Cviennashe::solvers::PETSC_handler< NumericT, VectorType > | |
Cviennashe::solvers::petsc_linear_solver_tag | Internal tag used for the specification of a CPU-based PETSC solver |
Cviennashe::solvers::PETSC_matrix< NumericT, VectorType > | Wrapper class to the PETSC matrix |
Cviennashe::solvers::PETSC_vector< NumericT, VectorType > | Class Encapsulate The PETSc COMM WORLD -Should be singleton |
Cviennashe::math::poisson_distribution< RealT, ResultT > | A poisson (exponential) distribution of random numbers |
Cviennashe::hde::power_density_accessor< DeviceType, QuantitiesListType > | Power density accessor. Used to get the power density in the assembly of the heat diffusion equation |
Clibviennashe::quan_register_internal | C++ to C wrapper of the quantity registry |
Clibviennashe::quantity::quantitiy_register | The main quantity register. Not deep copy-able! |
►Clibviennashe::quantity::quantity_wrapper | The main quantity wrapper interface |
Clibviennashe::quantity::accessor_based_array_quantity_wrapper< DeviceT, AccessorT, ElementTagT > | Implements quantity_wrapper. Wraps vector valued quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp) |
Clibviennashe::quantity::accessor_based_quantity_wrapper< DeviceT, AccessorT, ElementTagT > | Implements quantity_wrapper. Wraps scalar quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp) |
Cviennashe::math::rand_generator_base< ValueT > | The basic interface for pseudo-random number generators |
►Cviennashe::math::rand_generator_base< double > | |
Cviennashe::math::std_rand_generator< ValueT > | A pseudo-random number generator implementation based on std::rand() |
Cviennashe::util::range_checker< ValueType > | Checker for values inside a half-open interval [a, b), where 'a' is included, while 'b' is not |
►Cviennashe::models::rate_base | The basic rate interface |
Cviennashe::models::const_rate | A simple constant rate |
Creference_values | A simple reference data reader |
Cviennashe::robin_boundary_coefficients< ValueT > | |
Cviennashe::robin_boundary_coefficients< double > | |
►Cstd::runtime_error | |
Cviennashe::assembly_not_implemented_exception | Exception thrown in the case that an equation assembler cannot be found |
Cviennashe::carrier_type_not_supported_exception | Exception thrown in the case that any code does not support the given carrier type |
Cviennashe::invalid_boundary_condition_exception | Exception for the case that a segment or a segment that does not belong to a mesh is encountered |
Cviennashe::invalid_cell_exception | Exception for the case that an invalid cell is encountered |
Cviennashe::invalid_doping_in_device_exception | Exception for the case that an invalid doping is encountered |
Cviennashe::invalid_lattice_temperature_in_device_exception | Exception for the case that an invalid lattice temperature is encountered |
Cviennashe::invalid_segment_exception | Exception for the case that a segment or a segment that does not belong to a mesh is encountered |
Cviennashe::invalid_trap_density_exception | Exception for the case that an invalid lattice temperature is encountered |
Cviennashe::invalid_trap_energy_exception | Exception for the case that an invalid lattice temperature is encountered |
Cviennashe::invalid_value_exception | Exception for the case that an invalid value (depends on the method called) is encountered |
Cviennashe::io::cannot_open_file_exception | Exception which is thrown if a file cannot be opened |
Cviennashe::io::file_attribute_not_found_exception | Exception which is thrown whenever a requested attribute was not found in a file.
|
Cviennashe::io::file_segment_not_found_exception | Exception which is thrown whenever a requested segment was not found in a file.
|
Cviennashe::io::invalid_dimension_exception | Exception which is thrown if a dimension different from the current dimension of viennagrid is found in the file.
|
Cviennashe::io::io_operation_unsupported_exception | Exception which is thrown whenever a requested IO feature is currently not supported.
|
Cviennashe::io::premature_end_of_file_exception | Exception which is thrown if a End-of-File is encountered even though further data is expected |
Cviennashe::materials::invalid_material_exception | Exception for the case that an invalid material is in use |
Cviennashe::math::iterate_not_found_exception | Exception which is thrown if an iterate cannot be retrieved from the vector of iterates (unknowns) |
Cviennashe::math::provided_solver_invalid_exception | Exception which is thrown if a (linear) solver provided to some nonlinear solver is not valid (e.g. Nullpointer provided) |
Cviennashe::math::provided_updater_invalid_exception | Exception which is thrown if an updater for a nonlinear solver is not valid (e.g. Nullpointer provided) |
Cviennashe::math::truncated_solution_vector_size_exception | Exception which is thrown if the size of a solution vector is truncated (too small or big) |
Cviennashe::models::index_out_of_bounds_exception | Thrown whenever a model finds an index to be out of bounds |
Cviennashe::models::invalid_parameter_exception | Thrown whenever an invalid parameter to a model is given |
Cviennashe::models::invalid_state_exception | Thrown whenever a markov chain model finds an invalid or non-existing state |
Cviennashe::models::model_evaluation_exception | Exception for the case that the evaluation of a model fails |
Cviennashe::physics::data_not_available_exception | Exception which is thrown if there is no data for a given energy |
Cviennashe::physics::dispersion_not_invertible_exception | Exception which is thrown if there is no data for a given energy |
Cviennashe::physics::no_lattice_temperature_available_exception | Exception which is thrown if there is no lattice temperature for a vertex |
Cviennashe::quantity_not_found_exception | Exception in case a (requested) quantity cannot be found |
Cviennashe::she::adaptive_she_not_available_for_this_configuration_exception | Exception for the case that adaptive SHE cannot deal with the provided configuration (currently holes or ee-scattering) |
►Cviennashe::she::assembly_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
Cviennashe::she::invalid_scattering_term_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
Cviennashe::she::coupled_vertices_equal_exception | Exception for the case that a vertex has a coupling with itself |
Cviennashe::she::division_by_zero | Exception for the case that any component encounters a divison by 0.0 |
Cviennashe::she::invalid_expansion_order_exception | Exception for the case that invalid expansion order is accessed |
Cviennashe::she::invalid_matrixelement_exception | Exception for the case that invalid expansion order is accessed |
Cviennashe::she::negative_integration_interval_length_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
Cviennashe::she::no_carrier_type_id_specified_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
Cviennashe::she::no_init_guess_found_exception | Exception for the case that no initial guess was/is specified |
Cviennashe::she::quantity_not_yet_available_exception | Exception for the case that a macroscopic quantity is accessed, but the simulator has not yet been run |
Cviennashe::she::quantum_correction_with_newton_not_supported_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
Cviennashe::she::she_simulator_does_not_accept_drift_diffusion_only_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
Cviennashe::she::she_simulator_requires_bipolar_solution_for_traps | Exception for the case that traps are enabled without a bipolar SHE simulation |
Cviennashe::she::total_energy_too_small_exception | Exception for the case that the total energy is smaller than the kinetic energy |
Cviennashe::she::unknown_dispersion_relation_exception | Exception for the case that an invalid dispersion relation is specified |
Cviennashe::she::unkown_carrier_type_exception | Exception thrown in case an unkown or unsupported carrier type is found |
Cviennashe::solver_failed_exception | Exception thrown in the case that an equation solver failed |
Cviennashe::solvers::invalid_linear_solver_exception | Exception for the case that an invalid solver is in use |
Cviennashe::solvers::invalid_nonlinear_solver_exception | Exception for the case that an invalid nonlinear solver is in use |
Cviennashe::unavailable_feature_exception | Exception for the case that a requested feature is not available (due to configuration or due to not having an implementation yet) |
Cviennashe::util::invalid_range_bounds_exception | Exception thrown if for a range(a,b) the check a < b fails |
Cviennashe::util::invalid_value_exception | Exception which is thrown if an invalid value is found |
Cviennashe::util::linear_solver_exception | Exception for the case that a linear solver fails (typically with NaN due to zero inner product) |
Cviennashe::util::string_conversion_exception | Exception that is thrown if a string cannot be converted to the respective target type |
Cviennashe::she::scatter_config | A configuration class for scattering mechanisms. Enable or disable scattering mechanisms here |
Cviennashe::she::scatter_process_descriptor | A simple class returning the scattering rate and the energy of a scattered particle |
►Cviennashe::she::scattering_base< DeviceType > | |
Cviennashe::she::acoustic_phonon_scattering< DeviceType > | Acoustic phonon scattering process |
Cviennashe::she::fixed_charge_scattering< DeviceType > | Trapped charge scattering process |
Cviennashe::she::impact_ionization_scattering< DeviceType > | Impact ionization scattering process |
Cviennashe::she::ionized_impurity_scattering< DeviceType > | Ionized impurity scattering process |
Cviennashe::she::optical_phonon_scattering< DeviceType > | Optical phonon scattering process |
Cviennashe::she::surface_scattering< DeviceType, ElectricFieldAccessor > | Surface scattering process |
Cviennashe::she::trapped_charge_scattering< DeviceType, TimeStepQuantitiesT > | Trapped charge scattering process |
►Cviennashe::she::scattering_parameter_base | Common base class for all scattering parameter classes. Provides enable/disable interface |
Cviennashe::she::acoustic_phonon_scattering_parameters | Parameters for elastic acoustic phonon scattering |
Cviennashe::she::fixed_charge_scattering_parameters | |
Cviennashe::she::impact_ionization_scattering_parameters | |
Cviennashe::she::ionized_impurity_scattering_parameters | Parameters for ionized impurity scattering using an isotropic fit, cf. papers by Jungemann |
Cviennashe::she::optical_phonon_scattering_parameters | Parameters for inelastic optical phonon scattering in single valley approximation |
Cviennashe::she::surface_scattering_parameters | |
Cviennashe::she::trapped_charge_scattering_parameters | |
Cviennashe::scharfetter_gummel | Dispatcher for Scharfetter-Gummel discretization of electron and hold fluxes |
Cviennashe::scharfetter_gummel_dVi | Generic dispatcher for partial derivatives of the Scharfetter-Gummel discretization of electron and hold fluxes |
Cviennashe::scharfetter_gummel_dVj | Generic dispatcher for Scharfetter-Gummel discretization of electron and hold fluxes |
Cviennashe::util::device_generation_config::segment_description | |
Cviennashe::util::semiconductor_filter< DeviceType > | A filter accepting semiconductor cells only |
Cviennashe::solvers::serial_linear_solver_tag | Internal tag used for the specification of a single-threaded linear solver |
Cviennashe::she_boundary_conditions_config | The boundary condition configuration for SHE
|
Cviennashe::she::she_df_wrapper< DeviceType, SHEQuantityT > | A convenience wrapper for accessing the distribution function coefficients over the device. Even-order coefficients can be obtained from vertices, odd-order coefficients from edges |
Cviennashe::io::result_of::she_vtk_type< T > | Meta function which translates element tags to VTK type identifiers (taking extra energy coordinate into account) |
Cviennashe::io::result_of::she_vtk_type< viennagrid::hypercube_tag< 1 > > | VTK type for a line embedded into (x, H)-space -> quadrilateral |
Cviennashe::io::result_of::she_vtk_type< viennagrid::quadrilateral_tag > | VTK type for a quadrilateral embedded into (x, H)-space -> hexahedron |
Cviennashe::io::result_of::she_vtk_type< viennagrid::simplex_tag< 1 > > | VTK type for a line embedded into (x, H)-space -> quadrilateral |
Cviennashe::io::result_of::she_vtk_type< viennagrid::triangle_tag > | VTK type for a triangle embedded into (x, H)-space -> wedge |
Cviennashe::io::she_vtk_writer< SHEDeviceType, CoordSystem > | VTK writer class |
Cviennashe::io::she_vtk_writer< DeviceType, viennagrid::cartesian_cs< 3 > > | Compatibility overload in order to enable compilation for three-dimensional devices. No action if called |
Cviennashe::materials::si | A class referring to silicon and providing certain material parameters Note that this is the default material! |
Cviennashe::simulator< DeviceType > | Class for self-consistent SHE simulations |
Cviennashe::materials::sio2 | A class referring to silicon dioxide |
Cviennashe::materials::sion | A class referring to silicon oxynitride
|
Cviennashe::math::sparse_matrix< NumericT > | Sparse matrix class based on a vector of binary trees for holding the entries |
Cviennashe::math::sparse_matrix< double > | |
Cviennashe::util::spatial_quantity< DeviceType, ElementTagT, ValueType > | A functor-style wrapper for a spatial quantity which is externally prescribed by the user |
Cviennashe::util::spatial_quantity_wrapper< DeviceType, ElementTagT, ValueType > | A functor-style wrapper for a spatial quantity (typically potential, electron density or hole density). Typically evaluated on each vertex only |
Cviennashe::math::spherical_harmonics_iterator | Iteration over all spherical harmonics indices up to order L, with increasing indices l and m |
Cviennashe::math::SphericalHarmonic | A spherical harmonic |
Cviennashe::math::SphericalHarmonic_dPhi | Derivative of a spherical harmonic with respect to phi |
Cviennashe::math::SphericalHarmonic_dTheta | Derivative of a spherical harmonic with respect to theta |
Cviennashe::math::SphericalHarmonic_dTheta_2 | Derivative of a spherical harmonic with respect to theta, alternative evaluation of theta-derivative |
Cviennashe::models::ssa_solver | The SSA (Monte Carlo) solver for Markov-Chains The given chain is being referenced and the occupancies p_i of the states are being changed. The resp. occupancies can either be 1.0 (occupied) or 0 (unoccupied)! The solver additionally guarantees that sum_i p_i = 1.0, i.e. only one state is occupied at a time ! |
Cviennashe::models::state_base | The basic concept of a state in Markov-Chains |
Cviennashe::models::dd::mobility_detail::surface_scattering | |
Cviennashe::thermal_potential_accessor< DeviceType > | Returns the thermal potential in the device |
Cviennashe::util::timer | A simple timer class |
Cviennashe::she::timestep_quantities< DeviceType > | The main SHE simulator controller class. Acts as an accessor for all SHE quantities needed for the simulation |
Cviennashe::io::result_of::topology_tag< T > | Helper routine for extracting the ViennaGrid topology tag from a quantity wrapper. Works well with viennashe::util::spatial_quantity_wrapper. Custom wrappers should add template specializations of this helper metafunction |
Cviennashe::io::result_of::topology_tag< viennashe::util::spatial_quantity_wrapper< DeviceType, TagT > > | |
Cviennashe::trap_level | Describes a SRH trap |
Cviennashe::math::uniform_distribution< ResultT > | A uniform distribution of random numbers |
Cviennashe::util::detail::unity_weight | A functor assigning unity weight to the element provided |
Cviennashe::unknown_quantity< AssociatedT, ValueT > | |
Cviennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT > | General representation of any solver quantity defined on two different element types (e.g. vertices and edges) in an augmented (x, H) space |
Cviennashe::she::unknown_she_quantity< CellType, FacetType > | |
Cviennashe::she::detail::value_holder_functor< ValueType > | A simple functor to hold a single value. Operator() should not take any arguments |
Cviennashe::util::value_holder_functor< ValueType > | A functor which holds a single value. Used in most of the postprocessing routines |
Cviennashe::util::vicinity_filter< DeviceType, ElementTagT, CheckerType > | A filter returning true if any of the neighboring ncells of dimension 'dim' evaluate to true |
Cviennashe::io::detail::viennagrid_accessor_wrapper< AccessorT, ValueT > | A wrapper for the accessor in viennashe, in order for them to be suitable for viennagrid |
Cviennashe_device_impl | Internal C++ to C wrapper for the device. Has typedefs and destructor |
Cviennashe_simulator_impl | Internal C++ to C wrapper for the simulator. Has typedefs and destructor |
Cviennashe::she::vIntegrand_x | X-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
Cviennashe::she::vIntegrand_y | Y-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
Cviennashe::she::vIntegrand_z | Z-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
Cviennashe::models::wkb_oxide_barrier_tunneling | A functor interface to the WKB tunneling coefficient for oxide barriers |