Logo
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ on Travis-CI Feel++ on Twitter Feel++ on YouTube Feel++ community
 All Classes Files Functions Variables Typedefs Pages
Diode Class Reference

Detailed Description

Diode Solver using continuous approximation spaces solve \( -\Delta u = f\) on \(\Omega\) and \(u= g\) on \(\Gamma\)

Template Parameters
Dimthe geometric dimension of the problem (e.g. Dim=1, 2 or 3)
+ Inheritance diagram for Diode:

Public Types

typedef boost::shared_ptr
< backend_type
backend_ptrtype
 linear algebra backend factory shared_ptr<> type
 
typedef Backend< value_typebackend_type
 linear algebra backend factory
 
typedef bases< Lagrange< Order,
Scalar, Discontinuous > > 
basis_type
 the basis type of our approximation space
 
typedef bases< Lagrange< Order,
Scalar > > 
c_basis_type
 
typedef c_space_type::element_type c_element_type
 
typedef boost::shared_ptr
< c_space_type > 
c_space_ptrtype
 
typedef FunctionSpace
< mesh_type, c_basis_type > 
c_space_type
 
typedef Simplex< 2, 1 > convex1_type
 
typedef Simplex< 2, OrderGeo > convex_type
 geometry entities type composing the mesh, here Simplex in Dimension Dim of Order 2
 
typedef space_type::element_type element_type
 an element type of the approximation function space
 
typedef boost::shared_ptr
< export_type
export_ptrtype
 the exporter factory (shared_ptr<> type)
 
typedef Exporter< mesh_type,
OrderGeo > 
export_type
 the exporter factory type
 
typedef boost::shared_ptr
< mesh_type
mesh_ptrtype
 mesh shared_ptr<> type
 
typedef Mesh< convex_typemesh_type
 mesh type
 
typedef boost::shared_ptr
< space_type
space_ptrtype
 the approximation function space type (shared_ptr<> type)
 
typedef FunctionSpace
< mesh_type, basis_type
space_type
 the approximation function space type
 
typedef
backend_type::sparse_matrix_ptrtype 
sparse_matrix_ptrtype
 sparse matrix type associated with backend (shared_ptr<> type)
 
typedef
backend_type::sparse_matrix_type 
sparse_matrix_type
 sparse matrix type associated with backend
 
typedef double value_type
 numerical type is double
 
typedef
backend_type::vector_ptrtype 
vector_ptrtype
 vector type associated with backend (shared_ptr<> type)
 
typedef backend_type::vector_type vector_type
 vector type associated with backend
 

Public Member Functions

template<typename ExExpr >
void checkDG (ExExpr expr)
 
 Diode ()
 
template<typename BdyExpr >
void EulerModifiedStep (double &time, double dt, BdyExpr &wbdy, element_type &Ex, element_type &Ey, element_type &Bz)
 
template<typename BdyExpr >
void EulerStep (double &time, double dt, BdyExpr &wbdy, element_type &Ex, element_type &Ey, element_type &Bz)
 
template<typename BdyExpr >
void FSolve (BdyExpr &wbdy, double dt, element_type const &Ex, element_type const &Ey, element_type const &Bz, element_type &Exstar, element_type &Eystar, element_type &Bzstar)
 
template<typename BdyExpr >
void HeunStep (double &time, double dt, BdyExpr &wbdy, element_type &Ex, element_type &Ey, element_type &Bz)
 
template<typename BdyExpr >
void RK4Step (double &time, double dt, BdyExpr &wbdy, element_type &Ex, element_type &Ey, element_type &Bz)
 
void run ()
 
void run (const double *X, unsigned long P, double *Y, unsigned long N)
 

Static Public Attributes

static const uint16_type Order = 4
 Polynomial order \(P_2\).
 
static const uint16_type OrderGeo = 4
 

Constructor & Destructor Documentation

Diode::Diode ( )
inline

Constructor

Member Function Documentation

void Diode::run ( const double *  X,
unsigned long  P,
double *  Y,
unsigned long  N 
)

The function space and some associated elements(functions) are then defined


The documentation for this class was generated from the following file: