| ▼Nlibviennashe | The internal C++ namespace of the library |
| Ndetail | |
| ►Nquantity | Contains everything quantity related |
| Caccessor_based_array_quantity_wrapper | Implements quantity_wrapper. Wraps vector valued quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp) |
| Caccessor_based_quantity_wrapper | Implements quantity_wrapper. Wraps scalar quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp) |
| Cquantitiy_register | The main quantity register. Not deep copy-able! |
| Cquantity_wrapper | The main quantity wrapper interface |
| Carray_to_accessor | Maps a C-array to an element based accessor. Uses element.id() as an index to the C-array |
| Cmeshtype | The mesh types supported by libviennashe |
| Cquan_register_internal | C++ to C wrapper of the quantity registry |
| Nresistor | |
| ▼Nviennashe | The main ViennaSHE namespace. All functionality resides inside this namespace |
| ►Ndetail | Namespace for implementation details. Typically not of interest for the library user |
| Ccurrent_density_on_facet | An accessor to the current density (drift diffusion only!) on edges |
| Cdensity_gradient_config | |
| Cdevice_base | Defines the physical properties of a device, e.g. doping |
| Celectric_field_on_facet | An accessor to the electric field along a given edge. Electrostatic potential required |
| Celectric_flux_on_facet | Simple accessor to get the electric flux density along an edge |
| Cis_1d_mesh | Metafunction for the determination of whether a mesh is 1d |
| Cis_1d_mesh< MeshT, viennagrid::hypercube_tag< 1 > > | Metafunction for the determination of whether a mesh is 1d. Specialization for 1d |
| Cis_1d_mesh< MeshT, viennagrid::simplex_tag< 1 > > | Metafunction for the determination of whether a mesh is 1d. Specialization for 1d |
| Cmacroscopic_carrier_mask_filter | |
| ►Nhde | The namespace for the heat diffusion equation |
| Cjoule_heating | Calculates the Joule Heating (in Watt per Second) |
| Cpower_density_accessor | Power density accessor. Used to get the power density in the assembly of the heat diffusion equation |
| ►Nio | Namespace for all (file-)IO specific code
|
| ►Ndetail | Namespace for implementation details within viennashe::io. Typically not of interest for a library user |
| Ccontainer_accessor | |
| Cmesh_generator_vtk | |
| Cviennagrid_accessor_wrapper | A wrapper for the accessor in viennashe, in order for them to be suitable for viennagrid |
| ►Nresult_of | Auxiliary namespace with metafunctions |
| Cshe_vtk_type | Meta function which translates element tags to VTK type identifiers (taking extra energy coordinate into account) |
| Cshe_vtk_type< viennagrid::hypercube_tag< 1 > > | VTK type for a line embedded into (x, H)-space -> quadrilateral |
| Cshe_vtk_type< viennagrid::quadrilateral_tag > | VTK type for a quadrilateral embedded into (x, H)-space -> hexahedron |
| Cshe_vtk_type< viennagrid::simplex_tag< 1 > > | VTK type for a line embedded into (x, H)-space -> quadrilateral |
| Cshe_vtk_type< viennagrid::triangle_tag > | VTK type for a triangle embedded into (x, H)-space -> wedge |
| Ctopology_tag | 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 |
| Ctopology_tag< viennashe::util::spatial_quantity_wrapper< DeviceType, TagT > > | |
| Ccannot_open_file_exception | Exception which is thrown if a file cannot be opened |
| Cfile_attribute_not_found_exception | Exception which is thrown whenever a requested attribute was not found in a file.
|
| Cfile_segment_not_found_exception | Exception which is thrown whenever a requested segment was not found in a file.
|
| Cgnuplot_edf_writer | Writes the energy distribution function to a file which can be processed by Gnuplot. Works for 1d, 2d and 3d only |
| Cgnuplot_writer | Writes quantities to a file which can be processed by Gnuplot. Works for 1d, 2d and 3d only |
| Cinvalid_dimension_exception | Exception which is thrown if a dimension different from the current dimension of viennagrid is found in the file.
|
| Cio_operation_unsupported_exception | Exception which is thrown whenever a requested IO feature is currently not supported.
|
| Clog_she_vtk_writer | Tag class for logging inside the she_vtk_writer |
| Cpremature_end_of_file_exception | Exception which is thrown if a End-of-File is encountered even though further data is expected |
| Cshe_vtk_writer | VTK writer class |
| Cshe_vtk_writer< DeviceType, viennagrid::cartesian_cs< 3 > > | Compatibility overload in order to enable compilation for three-dimensional devices. No action if called |
| ►Nlog | Namespace holding the logging facility |
| Ndetail | Namespace for implementation details within the viennashe::log namespace. Typically not of interest for the library user |
| Clogger | The Main logger class. Assembles output lines and writes them to std::cout upon destruction |
| Clogger< 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 |
| Cnullstream | Streaming class which only provides operator<< discarding the right hand side |
| ►Nmaterials | Namespace containing a small materials library |
| ►Ndos_relaxed_silicon | Contains the density of states in relaxed silicon |
| Ndata | Contains the raw data for the density of states and the group velocity in relaxed silicon |
| Ndetail | Namespace for implementation details of viennashe::materials::dos_relaxed_silicon. Not of interest for the library user |
| Cchecker | Simple checker class for checking whether a certain material is of a given type (conductor, semiconductor, insulator) |
| Cgas | A class referring to an ideal gas |
| Chfo2 | A class referring to hafnium dioxide |
| Cinvalid_material_exception | Exception for the case that an invalid material is in use |
| Cmetal | A class referring to any metal contact |
| Csi | A class referring to silicon and providing certain material parameters Note that this is the default material! |
| Csio2 | A class referring to silicon dioxide |
| Csion | A class referring to silicon oxynitride
|
| ►Nmath | Namespace for all math specific code
|
| ►Ndetail | Implementations. Not intended to be used by a library user |
| Cconstants | Implementation class holding basic math constants |
| CAssocLegendre | Associated Legendre polynomial |
| CBindFirst | Binds the first argument of a function of functor to a certain value |
| CBindSecond | Binds the second argument of a function or functor to a certain value |
| Cdense_matrix | |
| CIntAdaptiveRule | Tag for an adaptive integration rule |
| CIntegrationBinder | A binder for reducing an n-ary function to an n-1-ary function by integration over one variable |
| CIntGauss | Gaussian integration rule |
| CIntMidPointRule | Tag for the midpoint rule |
| CIntSimpsonRule | Tag for the simpson rule |
| CIntTrapezoidalRule | Tag for the trapezoidal rule |
| Citerate_not_found_exception | Exception which is thrown if an iterate cannot be retrieved from the vector of iterates (unknowns) |
| Clog_AssocLegendre | Controls logging within the associated Legendre polynomial class |
| Clog_integrate | Controls logging within the numerical integration routine |
| Clog_SphericalHarmonic_dTheta | Controls logging for the derivative of spherical harmonics with respect to theta |
| Cmerseinne_twister_generator | 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 |
| Cnormal_distribution | |
| Cpoisson_distribution | A poisson (exponential) distribution of random numbers |
| Cprovided_solver_invalid_exception | Exception which is thrown if a (linear) solver provided to some nonlinear solver is not valid (e.g. Nullpointer provided) |
| Cprovided_updater_invalid_exception | Exception which is thrown if an updater for a nonlinear solver is not valid (e.g. Nullpointer provided) |
| Crand_generator_base | The basic interface for pseudo-random number generators |
| Csparse_matrix | Sparse matrix class based on a vector of binary trees for holding the entries |
| Cspherical_harmonics_iterator | Iteration over all spherical harmonics indices up to order L, with increasing indices l and m |
| CSphericalHarmonic | A spherical harmonic |
| CSphericalHarmonic_dPhi | Derivative of a spherical harmonic with respect to phi |
| CSphericalHarmonic_dTheta | Derivative of a spherical harmonic with respect to theta |
| CSphericalHarmonic_dTheta_2 | Derivative of a spherical harmonic with respect to theta, alternative evaluation of theta-derivative |
| Cstd_rand_generator | A pseudo-random number generator implementation based on std::rand() |
| Ctruncated_solution_vector_size_exception | Exception which is thrown if the size of a solution vector is truncated (too small or big) |
| Cuniform_distribution | A uniform distribution of random numbers |
| ►Nmodels | Namespace containing everything models related |
| ►Ndd | This namespace contains models, which are only for the drift diffusion transport model |
| ►Nmobility_detail | Hides implementation details |
| Cfield_dependence | |
| Cimpurity_scattering | |
| Clattice_scattering | |
| Cmobility_field_dependence | |
| Cmobility_impurity_scattering | |
| Cmobility_lattice_scattering | |
| Cmobility_surface_scattering | |
| Csurface_scattering | |
| Cmobility | The main mobility model. Contains submodels for lattice, impurity, field and surface scattering related mobility changes. For drift diffusion only! |
| Cmobility_paramters | The combined POD for the mobility parameters |
| Ndetail | |
| ►Nresult_of | Compiletime evaluation namespace |
| Cmobility_type | Compiletime mobility-type getter |
| ►Nsrh | |
| Ndetail | |
| Cbandgap_model | Basic bandgap model interface |
| Cbandgap_model_const | A simple constant bandgap model. Gets the bandgap and always returns this value |
| Cbandgap_model_extended | An elaborate bandgap model, which accounts for the lattice temperature |
| Cbandgap_model_extended_parameters | Plain old datatype (POD) of parameters for the bandgap_model_extended |
| Ccarrier_mass_full_model | The full carrier mass model, which uses a Taylor series over lattice temperature |
| Ccarrier_mass_full_model_parameters | POD with parameters for the full model |
| Ccarrier_mass_model | The carrier mass model interface |
| Ccarrier_mass_simple_model | The simple (constant) carrier mass model |
| Ccarrier_mass_simple_model_parameters | POD with parameters for the simple carrier mass model (constant value model) |
| Cchain | Implementation of Markov-Chains |
| Cconst_rate | A simple constant rate |
| Cindex_out_of_bounds_exception | Thrown whenever a model finds an index to be out of bounds |
| Cinvalid_parameter_exception | Thrown whenever an invalid parameter to a model is given |
| Cinvalid_state_exception | Thrown whenever a markov chain model finds an invalid or non-existing state |
| Clineshape_classic | |
| Clsf_electron_trap_tag | |
| Clsf_forward_tag | |
| Clsf_hole_trap_tag | |
| Clsf_reverse_tag | |
| Cmodel_evaluation_exception | Exception for the case that the evaluation of a model fails |
| Crate_base | The basic rate interface |
| Cssa_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 ! |
| Cstate_base | The basic concept of a state in Markov-Chains |
| Cwkb_oxide_barrier_tunneling | A functor interface to the WKB tunneling coefficient for oxide barriers |
| ►Nphysics | Namespace for physics models used within ViennaSHE |
| Nconvert | Auxiliary namespace for converting quantities of different units |
| ►Ndetail | Implementations. Not intended to be used by a library user |
| Cconstants | Implementation class holding basic physics constants |
| Cdata_not_available_exception | Exception which is thrown if there is no data for a given energy |
| Cdispersion_base | Common interface for band structures |
| Cdispersion_not_invertible_exception | Exception which is thrown if there is no data for a given energy |
| Cdispersion_proxy | A proxy object for a dispersion relation. Does NOT take ownership of the provided pointer! |
| Cext_vecchi_dispersion | Non-parabolic isotropic dispersion relation proposed by Jin et al. TED 2011 (uses real DOS) |
| Cmodena_dispersion | Non-parabolic dispersion relation proposed by the Modena group (spherically symmetric) |
| Cno_lattice_temperature_available_exception | Exception which is thrown if there is no lattice temperature for a vertex |
| Cparabolic_dispersion | Parabolic dispersion relation (spherically symmetric) |
| Nquantity | Holds a function per quantity, which returns the name of the respective quantity as std::string.
|
| ►Nshe | |
| ►Ndetail | |
| Ccarrier_density_wrapper_by_reference | An accessor for the carrier density in the device by reference
|
| Ccurrent_on_facet_by_ref_calculator | |
| Cenergy_integrator_for_box | |
| Cvalue_holder_functor | A simple functor to hold a single value. Operator() should not take any arguments |
| Cacoustic_phonon_scattering | Acoustic phonon scattering process |
| Cacoustic_phonon_scattering_parameters | Parameters for elastic acoustic phonon scattering |
| Cadaptive_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) |
| Cassembly_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
| Caverage_expansion_order_wrapper | Accessor class providing the average expansion order inside the device |
| Ccarrier_density_wrapper | An accessor for the carrier density in the device |
| Ccarrier_energy_wrapper | An accessor for the average carrier energy at each point inside the device |
| Ccarrier_velocity_wrapper | Accessor class providing the carrier velocity inside the device |
| Cconst_she_quantity | Common representation of any quantity associated with two objects of a certain type and an index |
| Ccoupled_vertices_equal_exception | Exception for the case that a vertex has a coupling with itself |
| Ccurrent_density_wrapper | Accessor class providing the carrier velocity inside the device |
| Cdf_wrapper | 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 |
| Cdivision_by_zero | Exception for the case that any component encounters a divison by 0.0 |
| Cedf_wrapper | A convenience wrapper for accessing the energy distribution function on each vertex of the device |
| Cfixed_charge_scattering | Trapped charge scattering process |
| Cfixed_charge_scattering_parameters | |
| Cforce_on_facet_accessor | |
| CGammaIntegrand_x | X-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
| CGammaIntegrand_y | Y-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
| CGammaIntegrand_z | Z-component of the Gamma coupling integral (cf. Dissertation Rupp)
|
| Cgeneralized_df_wrapper | 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 |
| Cgeneralized_edf_wrapper | A convenience wrapper for accessing the generalized energy distribution function (f * Z, with density of states Z) on each vertex of the device |
| Cimpact_ionization_scattering | Impact ionization scattering process |
| Cimpact_ionization_scattering_parameters | |
| Cinterpolated_she_df_wrapper | 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! |
| Cinvalid_expansion_order_exception | Exception for the case that invalid expansion order is accessed |
| Cinvalid_matrixelement_exception | Exception for the case that invalid expansion order is accessed |
| Cinvalid_scattering_term_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
| Cionized_impurity_scattering | Ionized impurity scattering process |
| Cionized_impurity_scattering_parameters | Parameters for ionized impurity scattering using an isotropic fit, cf. papers by Jungemann |
| Clog_acoustic_phonon_scattering | Configuration class for logging when assembling acoustic phonon scattering |
| Clog_adaptive_she | Configuration class for logging when using adaptive SHE |
| Clog_assemble_all | Configuration class for logging when assembling the free streaming operator |
| Clog_assemble_ee_scattering | Configuration class for logging when assembling electron-electron scattering |
| Clog_assemble_free_streaming_operator | Configuration class for logging when assembling the free streaming operator |
| Clog_assemble_scattering_operator | Configuration class for logging when assembling any scattering mechanisms |
| Clog_coupling_matrix_in_direction | Configuration class for logging when computing the coupling matrix in a particular direction |
| Clog_fill_coupling_matrices | Configuration class for logging when filling coupling matrices |
| Clog_impact_ionization_scattering | Configuration class for logging when assembling impact ionization scattering |
| Clog_linear_solver | Configuration class for logging when running the linear solver |
| Clog_mapping | Configuration class for logging when distributing unknown indices over device (mapping) |
| Clog_newton_she | |
| Clog_optical_phonon_scattering | Configuration class for logging when assembling optical phonons scattering |
| Clog_recover_odd_unknowns | Configuration class for logging when recovering odd unknowns from the computed even f_{l,m} |
| Clog_she_solver | Configuration class for logging during the linear solver phase in a SHE simulation |
| Clog_smooth_expansion_order | Configuration class for logging when smoothing expansion orders for mapping |
| Clog_transfer_to_new_h_space | Configuration class for logging when dealing with traps |
| Clog_traps | Configuration class for logging when dealing with traps |
| Cnegative_integration_interval_length_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
| Cno_carrier_type_id_specified_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
| Cno_init_guess_found_exception | Exception for the case that no initial guess was/is specified |
| Coptical_phonon_scattering | Optical phonon scattering process |
| Coptical_phonon_scattering_parameters | Parameters for inelastic optical phonon scattering in single valley approximation |
| Cquantity_not_yet_available_exception | Exception for the case that a macroscopic quantity is accessed, but the simulator has not yet been run |
| Cquantum_correction_with_newton_not_supported_exception | Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry |
| Cscatter_config | A configuration class for scattering mechanisms. Enable or disable scattering mechanisms here |
| Cscatter_process_descriptor | A simple class returning the scattering rate and the energy of a scattered particle |
| Cscattering_base | |
| Cscattering_parameter_base | Common base class for all scattering parameter classes. Provides enable/disable interface |
| Cshe_df_wrapper | 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 |
| Cshe_simulator_does_not_accept_drift_diffusion_only_exception | Exception for the case that neither electrons nor holes are selected for the simulation |
| Cshe_simulator_requires_bipolar_solution_for_traps | Exception for the case that traps are enabled without a bipolar SHE simulation |
| Csurface_scattering | Surface scattering process |
| Csurface_scattering_parameters | |
| Ctimestep_quantities | The main SHE simulator controller class. Acts as an accessor for all SHE quantities needed for the simulation |
| Ctotal_energy_too_small_exception | Exception for the case that the total energy is smaller than the kinetic energy |
| Ctrapped_charge_scattering | Trapped charge scattering process |
| Ctrapped_charge_scattering_parameters | |
| Cunknown_dispersion_relation_exception | Exception for the case that an invalid dispersion relation is specified |
| Cunknown_she_quantity | General representation of any solver quantity defined on two different element types (e.g. vertices and edges) in an augmented (x, H) space |
| Cunkown_carrier_type_exception | Exception thrown in case an unkown or unsupported carrier type is found |
| CvIntegrand_x | X-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
| CvIntegrand_y | Y-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
| CvIntegrand_z | Z-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
|
| ►Nsolvers | Namespace containing a variety of different linear solvers |
| Ndetail | |
| Cdense_linear_solver_tag | Internal tag used for the specification of a dense linear solver (Gauss, single-threaded) |
| Cgpu_parallel_linear_solver_tag | Internal tag used for the specification of a GPU-accelerated linear solver |
| Cinvalid_linear_solver_exception | Exception for the case that an invalid solver is in use |
| Cinvalid_nonlinear_solver_exception | Exception for the case that an invalid nonlinear solver is in use |
| Clinear_solver_config | A configuration class holding options for use within the different linear solvers |
| Clinear_solver_ids | Provides IDs for the linear solvers |
| Clog_gpu_block_ilut_precond | Logging tag for messages specific to the GPU block-ILUT preconditioner |
| Clog_linear_solver | Logging tag for general linear solver action |
| Clog_parallel_ilut_precond | Logging tag for messages specific to the multithreaded (CPU-based) block-ILUT preconditioner |
| Cnonlinear_solver_config | A configuration class holding options for use within the different linear solvers |
| Cnonlinear_solver_ids | Provides IDs for the nonlinear iteration schemes |
| Cparallel_linear_solver_tag | Internal tag used for the specification of a CPU-based multi-threaded linear solver |
| Cpetsc_amgx_solver_tag | |
| CPETSC_handler | |
| Cpetsc_linear_solver_tag | Internal tag used for the specification of a CPU-based PETSC solver |
| CPETSC_matrix | Wrapper class to the PETSC matrix |
| CPETSC_vector | Class Encapsulate The PETSc COMM WORLD -Should be singleton |
| Cserial_linear_solver_tag | Internal tag used for the specification of a single-threaded linear solver |
| Ntesting | |
| ►Nutil | A collection of utilities used within ViennaSHE |
| ►Ndetail | Namespace containing implementation details for functionality from viennashe::util. Typically not of interest for a library user |
| Cis_lesser | |
| Cunity_weight | A functor assigning unity weight to the element provided |
| Call_ok_checker | A checker that never complains. Can be used instead of overly picky/erroneous checkers (just for debugging purposes, of course!) |
| Cany_filter | A trivial filter, all objects are accepted |
| Carithmetic_averaging | A functor which computes the arithmetic average of all entries in a container |
| Cchecker_with_exception | A checker class that throws a user-provided exception rather than returning false on its functor interface |
| Ccontact_filter | A simple filter to find cells and vertices which have potential boundary conditions |
| Ccpp03_static_assert | |
| Ccpp03_static_assert< true > | |
| Cdevice_from_array_generator | A device generator to generate a device from C-Arrays (DOES NOT TAKE OWNERSHIP) |
| Cdevice_from_flat_array_generator | A device generator to generate a device from flat C-Arrays (DOES NOT TAKE OWNERSHIP) |
| ►Cdevice_generation_config | Configuration class for the simple mesh generator |
| Csegment_description | |
| Cfiltered_functor | A compound functor which applies the provided functor only to the argument if the supplied filter evaluates to true |
| Cgeometric_averaging | A functor which computes the geometric average of all entries in a container |
| Cinf_checker | Checks for Inf |
| Cinvalid_range_bounds_exception | Exception thrown if for a range(a,b) the check a < b fails |
| Cinvalid_value_exception | Exception which is thrown if an invalid value is found |
| Cis_equal | |
| Cis_equal< T, T > | |
| Clinear_solver_exception | Exception for the case that a linear solver fails (typically with NaN due to zero inner product) |
| Clog_generate_device | Logging key for messages from the built-in ortho-grid generator |
| Clog_m_matrix_check | Logging key for messages occurring during M-matrix check |
| Clogic_or_averaging | A functor which returns the result of a logic-or chain consisting of all elements of the supplied container |
| Cmetal_filter | A filter accepting metal cells only |
| Cnan_checker | Checks for NaN |
| Cno_contact_and_semiconductor_filter | A filter used to filter cells, which are neither semiconductors (by material) nor contacts (by potential boundary condition) |
| Cno_contact_filter | The inverse filter to the contact_filter |
| Cnone_filter | A trivial filter, no objects shall be accepted |
| Coxide_filter | A filter accepting oxide cells only |
| Crange_checker | Checker for values inside a half-open interval [a, b), where 'a' is included, while 'b' is not |
| Csemiconductor_filter | A filter accepting semiconductor cells only |
| Cspatial_quantity | A functor-style wrapper for a spatial quantity which is externally prescribed by the user |
| Cspatial_quantity_wrapper | A functor-style wrapper for a spatial quantity (typically potential, electron density or hole density). Typically evaluated on each vertex only |
| Cstring_conversion_exception | Exception that is thrown if a string cannot be converted to the respective target type |
| Ctimer | A simple timer class |
| Cvalue_holder_functor | A functor which holds a single value. Used in most of the postprocessing routines |
| Cvicinity_filter | A filter returning true if any of the neighboring ncells of dimension 'dim' evaluate to true |
| Cassembly_not_implemented_exception | Exception thrown in the case that an equation assembler cannot be found |
| Cboundary_potential_accessor | Accessor for obtaining the Dirichlet boundary condition for the Poisson equation in the device (contact-potential plus built-in potential) |
| Cbox_volume_key | Internal key for storing the box volume associated with an edge or a vertex |
| Cbuilt_in_potential_accessor | Accessor for retrieving the built-in potential in the device |
| Ccarrier_type_not_supported_exception | Exception thrown in the case that any code does not support the given carrier type |
| Cconfig | The main SHE configuration class. To be adjusted by the user for his/her needs |
| Cconst_quantity | Common representation of any quantity associated with objects of a certain type |
| Cconstant_accessor | An accessor which returns a constant value independent of the object passed |
| Ccontact_carrier_density_accessor | Returns the carrier density at contacts modelled as thermal baths (used by DD and SHE) |
| Ccontact_potential_accessor | Accessor for obtaining the contact potential in the device |
| Ccurrent_density_wrapper | An accessor to the current density on vertices and edges (drift diffusion only!) |
| Cdevice | Defines the physical properties of a device, e.g. doping. This is the implementation for 2d and higher dimensions |
| Cdiffusivity_accessor | Accessor to get the diffusivity. Used in the assembly of the heat diffusion equation |
| Cdispersion_relation_ids | Provides IDs for the dispersion relations |
| Cdoping_accessor | Accessor for returning the doping (donator/acceptor doping is defined in the CTOR) |
| Cdoping_setter | Convenience functor for setting the doping across the device |
| Cedge_interface_area_key | Internal key for storing the interface area of a box associated with an edge |
| Celectric_field_wrapper | An accessor to the electric field on vertices and edges. Potential requiered |
| Celectric_flux_wrapper | An electric flux accessor. Provides the electric flux along edges and on vertices given the electrostatic potential |
| Cenable_if | Simple enable-if variant that uses the SFINAE pattern |
| Cenable_if< false, T > | |
| Cerror_indicator | A helper class to raise compile time errors |
| Cfixed_charge_accessor | Accessor for fixed charges |
| Cinvalid_boundary_condition_exception | Exception for the case that a segment or a segment that does not belong to a mesh is encountered |
| Cinvalid_cell_exception | Exception for the case that an invalid cell is encountered |
| Cinvalid_doping_in_device_exception | Exception for the case that an invalid doping is encountered |
| Cinvalid_lattice_temperature_in_device_exception | Exception for the case that an invalid lattice temperature is encountered |
| Cinvalid_segment_exception | Exception for the case that a segment or a segment that does not belong to a mesh is encountered |
| Cinvalid_trap_density_exception | Exception for the case that an invalid lattice temperature is encountered |
| Cinvalid_trap_energy_exception | Exception for the case that an invalid lattice temperature is encountered |
| Cinvalid_value_exception | Exception for the case that an invalid value (depends on the method called) is encountered |
| Clattice_temperature_accessor | Returns the lattice temperature on the device |
| Clog_simulator | Configuration class for logging the SHE simulator |
| Cnon_const_quantity | |
| Cpermittivity_accessor | Accessor for obtaining the permittivity in the device |
| Cquantity_not_found_exception | Exception in case a (requested) quantity cannot be found |
| Crobin_boundary_coefficients | |
| Cscharfetter_gummel | Dispatcher for Scharfetter-Gummel discretization of electron and hold fluxes |
| Cscharfetter_gummel_dVi | Generic dispatcher for partial derivatives of the Scharfetter-Gummel discretization of electron and hold fluxes |
| Cscharfetter_gummel_dVj | Generic dispatcher for Scharfetter-Gummel discretization of electron and hold fluxes |
| Cshe_boundary_conditions_config | The boundary condition configuration for SHE
|
| Csimulator | Class for self-consistent SHE simulations |
| Csolver_failed_exception | Exception thrown in the case that an equation solver failed |
| Cthermal_potential_accessor | Returns the thermal potential in the device |
| Ctrap_level | Describes a SRH trap |
| Cunavailable_feature_exception | Exception for the case that a requested feature is not available (due to configuration or due to not having an implementation yet) |
| Cunknown_quantity | |