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.