1#ifndef VIENNASHE_FORWARDS_H
2#define VIENNASHE_FORWARDS_H
52#include "viennagrid/forwards.hpp"
70 template <typename MeshT, typename CellTag = typename viennagrid::result_of::cell_tag<MeshT>::type>
77 template <
typename MeshT>
84 template <
typename MeshT>
96 template <
typename MeshT,
100 template <
typename DeviceType>
109 typedef std::map<std::string, std::pair<std::size_t, std::size_t> >
map_info_type;
Defines the physical properties of a device, e.g. doping. This is the implementation for 2d and highe...
Class for self-consistent SHE simulations.
Internal tag used for the specification of a dense linear solver (Gauss, single-threaded)
Internal tag used for the specification of a GPU-accelerated linear solver.
Internal tag used for the specification of a CPU-based multi-threaded linear solver.
Internal tag used for the specification of a CPU-based PETSC solver.
Internal tag used for the specification of a single-threaded linear solver.
harmonics_iteration_type
An enumeration of spherical harmonics types (all, even, odd) ViennaSHE supports.
@ ALL_HARMONICS_ITERATION_ID
@ EVEN_HARMONICS_ITERATION_ID
@ ODD_HARMONICS_ITERATION_ID
The main ViennaSHE namespace. All functionality resides inside this namespace.
std::map< std::string, std::pair< std::size_t, std::size_t > > map_info_type
Information on the number of unknowns per quantity.
she_discretization_type_id
@ SHE_DISCRETIZATION_EVEN_ODD_ORDER_GENERALIZED_DF
@ SHE_DISCRETIZATION_EVEN_ODD_ORDER_DF
carrier_type_id
Enumeration type for selecting the carrier type.
equation_id
An enumeration of all equation types ViennaSHE supports.
@ EQUATION_DENSITY_GRADIENT
boundary_type_id
An enumeration of all boundary conditions ViennaSHE supports.
@ BOUNDARY_GENERATION_RECOMBINATION
@ MATERIAL_NO_SEMICONDUCTOR_ID
@ MATERIAL_SEMICONDUCTOR_ID
@ MATERIAL_NO_CONDUCTOR_ID
@ MATERIAL_NO_INSULATOR_ID
std::vector< double > energy_vector_type
Type for storing the discrete energies.
doping_type_id
Enumeration type for selecting the doping type.
@ ACCEPTOR_DOPING_TYPE_ID
std::vector< long > she_index_vector_type
Type for storing the unknown indices at each point in the (x, H)-space.
@ SHE_SCALING_KINETIC_ENERGY
@ SHE_SCALING_TOTAL_ENERGY
Internal key for storing the box volume associated with an edge or a vertex.
Metafunction for the determination of whether a mesh is 1d.
Internal key for storing the interface area of a box associated with an edge.
A helper class to raise compile time errors.
Convenience functions for returning the current version of ViennaSHE.