PLaSK library
Loading...
Searching...
No Matches
plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType > Struct Template Reference

Solver performing calculations in 2D Cartesian or Cylindrical space using finite element method. More...

#include <solvers/electrical/ddm2d/ddm2d.hpp>

Inheritance diagram for plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >:
[legend]
Collaboration diagram for plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >:
[legend]

Public Member Functions

double compute (unsigned loops=1)
 Run drift_diffusion calculations.
 
double findEnergyLevels ()
 Find energy levels - TEST.
 
bool checkWell (std::string _carrier)
 Check if the carriers are confined.
 
double integrateCurrent (size_t vindex, bool onlyactive=false)
 Integrate vertical total current at certain level.
 
double getTotalCurrent (size_t nact=0)
 Integrate vertical total current flowing vertically through active region.
 
void loadConfiguration (XMLReader &source, Manager &manager) override
 Compute total electrostatic energy stored in the structure.
 
 DriftDiffusionModel2DSolver (const std::string &name="")
 
std::string getClassName () const override
 Get name of solver.
 
 ~DriftDiffusionModel2DSolver ()
 
double integrateCurrent (size_t vindex, bool onlyactive)
 
double integrateCurrent (size_t vindex, bool onlyactive)
 
std::string getClassName () const
 Get name of solver.
 
std::string getClassName () const
 Get name of solver.
 
- Public Member Functions inherited from plask::FemSolverWithMesh< Geometry2DType, RectangularMesh< 2 > >
 FemSolverWithMesh (const std::string &name="")
 
bool parseFemConfiguration (XMLReader &reader, Manager &manager)
 
FemMatrixgetMatrix ()
 
FemMatrixgetMatrix ()
 
- Public Member Functions inherited from plask::SolverWithMesh< SpaceT, MeshT >
 SolverWithMesh (const std::string &name="")
 
 ~SolverWithMesh ()
 
void loadConfiguration (XMLReader &source, Manager &manager) override
 Load configuration from given source.
 
void parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
 
virtual void onMeshChange (const typename MeshT::Event &PLASK_UNUSED(evt))
 This method is called just after the mesh has been changed.
 
void onGeometryChange (const Geometry::Event &PLASK_UNUSED(evt)) override
 This method is called when the geometry is changed.
 
MeshTmeshRef () const
 Get current module mesh.
 
shared_ptr< MeshTgetMesh () const
 Get current solver mesh.
 
void setMesh (const shared_ptr< MeshT > &mesh)
 Set new mesh for the solver.
 
void setMesh (shared_ptr< MeshGeneratorD< MeshT::DIM > > generator)
 Set new mesh got from generator.
 
- Public Member Functions inherited from plask::SolverOver< SpaceT >
 SolverOver (const std::string &name="")
 
 ~SolverOver ()
 
void parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
 
shared_ptr< SpaceTgetGeometry () const
 Get current solver geometry space.
 
void setGeometry (const shared_ptr< SpaceT > &geometry)
 Set new geometry for the solver.
 
- Public Member Functions inherited from plask::Solver
bool initCalculation ()
 This should be called on beginning of each calculation method to ensure that solver will be initialized.
 
 Solver (const std::string &name="")
 Construct uninitialized solver.
 
virtual ~Solver ()
 Virtual destructor (for subclassing). Do nothing.
 
void parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element")
 Load standard configuration (geometry, mesh) tags from source.
 
bool isInitialized ()
 Check if solver is already initialized.
 
void invalidate ()
 This method should be and is called if something important was changed: calculation space, mesh, etc.
 
std::string getId () const
 Get solver id.
 
std::string getName () const
 
virtual std::string getClassDescription () const
 Get a description of this solver.
 
template<typename ArgT = double, typename ValT = double>
DataLog< ArgT, ValTdataLog (const std::string &chart_name, const std::string &axis_arg_name, const std::string &axis_val_name)
 
template<typename ArgT = double, typename ValT = double>
DataLog< ArgT, ValTdataLog (const std::string &axis_arg_name, const std::string &axis_val_name)
 
template<typename ... Args>
void writelog (LogLevel level, std::string msg, Args &&... params) const
 Log a message for this solver.
 

Public Attributes

double maxerr
 bands have to be up-shifted - we want only positive values of energy levels; unit: eV
 
BoundaryConditions< RectangularMesh< 2 >::Boundary, doublevoltage_boundary
 Boundary condition.
 
ProviderFor< Potential, Geometry2DType >::Delegate outPotential
 
ProviderFor< FermiLevels, Geometry2DType >::Delegate outFermiLevels
 
ProviderFor< BandEdges, Geometry2DType >::Delegate outBandEdges
 
ProviderFor< CurrentDensity, Geometry2DType >::Delegate outCurrentDensityForElectrons
 
ProviderFor< CurrentDensity, Geometry2DType >::Delegate outCurrentDensityForHoles
 
ProviderFor< CarriersConcentration, Geometry2DType >::Delegate outCarriersConcentration
 
ProviderFor< Heat, Geometry2DType >::Delegate outHeat
 
ReceiverFor< Temperature, Geometry2DTypeinTemperature
 
bool mRsrh
 SRH recombination is taken into account.
 
bool mRrad
 radiative recombination is taken into account
 
bool mRaug
 Auger recombination is taken into account.
 
bool mPol
 polarization (GaN is the substrate)
 
bool mFullIon
 dopant ionization = 100%
 
double mSchottkyP
 Schottky barrier for p-type contact (eV)
 
double mSchottkyN
 Schottky barrier for n-type contact (eV)
 
double maxerrPsiI
 Maximum estimated error for initial potential during all iterations (useful for single calculations managed by external python script)
 
double maxerrPsi0
 Maximum estimated error for potential at U = 0 V during all iterations (useful for single calculations managed by external python script)
 
double maxerrPsi
 Maximum estimated error for potential during all iterations (useful for single calculations managed by external python script)
 
double maxerrFn
 Maximum estimated error for quasi-Fermi energy level for electrons during all iterations (useful for single calculations managed by external python script)
 
double maxerrFp
 Maximum estimated error for quasi-Fermi energy level for holes during all iterations (useful for single calculations managed by external python script)
 
size_t loopsPsiI
 Loops limit for initial potential.
 
size_t loopsPsi0
 Loops limit for potential at U = 0 V.
 
size_t loopsPsi
 Loops limit for potential.
 
size_t loopsFn
 Loops limit for quasi-Fermi energy level for electrons.
 
size_t loopsFp
 Loops limit for quasi-Fermi energy level for holes.
 
- Public Attributes inherited from plask::FemSolverWithMesh< Geometry2DType, RectangularMesh< 2 > >
FemMatrixAlgorithm algorithm
 Factorization algorithm to use.
 
IterativeMatrixParams iter_params
 Parameters of iterative solver.
 

Protected Member Functions

void onInitialize () override
 Initialize the solver.
 
void onInvalidate () override
 Invalidate the data.
 
size_t getActiveRegionMeshIndex (size_t actnum) const
 Get info on active region.
 
void onMeshChange (const typename RectangularMesh< 2 >::Event &evt) override
 
void onGeometryChange (const Geometry::Event &evt) override
 This method is called when the geometry is changed.
 
void computePsiI ()
 Calculate initial potential for all elements.
 
size_t isActive (const Vec< 2 > &point) const
 Return true if the specified point is at junction.
 
size_t isActive (const RectangularMesh< 2 >::Element &element) const
 Return true if the specified element is a junction.
 
const LazyData< doublegetPotentials (shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method) const
 
const LazyData< doublegetFermiLevels (FermiLevels::EnumType what, shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method) const
 
const LazyData< doublegetBandEdges (BandEdges::EnumType what, shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method)
 
const LazyData< doublegetHeatDensities (shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method)
 
const LazyData< Vec< 2 > > getCurrentDensitiesForElectrons (shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method)
 
const LazyData< Vec< 2 > > getCurrentDensitiesForHoles (shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method)
 
const LazyData< doublegetCarriersConcentration (CarriersConcentration::EnumType what, shared_ptr< const MeshD< 2 > > dest_mesh, InterpolationMethod method)
 
- Protected Member Functions inherited from plask::SolverOver< SpaceT >
template<typename Boundary , typename ConditionT >
void readBoundaryConditions (Manager &manager, XMLReader &reader, BoundaryConditions< Boundary, ConditionT > &dest)
 Read boundary conditions using information about the geometry of this solver.
 

Protected Attributes

std::size_t size
 Number of columns in the main matrix.
 
double mTx
 ambient temperature (K)
 
double mEx
 energy (eV)
 
double mNx
 maximal doping concentration (1/cm^3)
 
double mEpsRx
 maximal dielectric constant (-)
 
double mXx
 sometimes denoted as LD (um)
 
double mMix
 maximal mobility (cm^2/Vs)
 
double mRx
 recombination parameter (1/(cm^3*s))
 
double mJx
 current density parameter (kA/cm2)
 
double mAx
 radiative recombination coefficient (1/s)
 
double mBx
 radiative recombination coefficient (cm^3/s)
 
double mCx
 Auger recombination coefficient (cm^6/s)
 
double mPx
 polarization (C/m^2)
 
double dU
 default voltage step (V)
 
double maxDelPsi0
 maximal correction for initial potential calculations (V)
 
double maxDelPsi
 maximal correction for potential calculations (V)
 
double maxDelFn
 maximal correction for quasi-Fermi levels for electrons calculations (eV)
 
double maxDelFp
 maximal correction for quasi-Fermi levels for holes calculations (eV)
 
Stat stat
 carriers statistics
 
ContType conttype
 type of contacts (ohmic/Schottky)
 
DataVector< doubledveN
 Cached electron concentrations (size: elements)
 
DataVector< doubledveP
 Cached hole concentrations (size: elements)
 
DataVector< doubledvePsi
 Computed potentials (size: elements)
 
DataVector< doubledveFnEta
 Computed exponents of quasi-Fermi levels for electrons (size: elements)
 
DataVector< doubledveFpKsi
 Computed exponents of quasi-Fermi levels for holes (size: elements)
 
DataVector< doubledvnPsi0
 Computed potential for U=0V (size: nodes)
 
DataVector< doubledvnPsi
 Computed potentials (size: nodes)
 
DataVector< doubledvnFnEta
 Computed exponents of quasi-Fermi levels for electrons (size: nodes)
 
DataVector< doubledvnFpKsi
 Computed exponents of quasi-Fermi levels for holes (size: nodes)
 
DataVector< Vec< 2, double > > currentsN
 Computed current densities for electrons.
 
DataVector< Vec< 2, double > > currentsP
 Computed current densities for holes.
 
DataVector< doubleheats
 Computed and cached heat source densities.
 
bool needPsi0
 Flag indicating if we need to compute initial potential;.
 
double T0
 Temperature used for compiting level estimates.
 
bool strained
 Consider strain in QW?
 
- Protected Attributes inherited from plask::SolverWithMesh< SpaceT, MeshT >
shared_ptr< MeshTmesh
 Mesh over which the calculations are performed.
 
boost::signals2::connection mesh_signal_connection
 Connection of mesh to onMeshChange method, see http://www.boost.org/doc/libs/1_55_0/doc/html/signals2/tutorial.html#idp204830936.
 
- Protected Attributes inherited from plask::SolverOver< SpaceT >
shared_ptr< SpaceTgeometry
 Space in which the calculations are performed.
 
- Protected Attributes inherited from plask::Solver
bool initialized
 true only if solver is initialized
 

Additional Inherited Members

- Public Types inherited from plask::SolverWithMesh< SpaceT, MeshT >
typedef MeshT MeshType
 Type of the mesh for this solver.
 
- Public Types inherited from plask::SolverOver< SpaceT >
typedef SpaceT SpaceType
 of the space for this solver
 

Detailed Description

template<typename Geometry2DType>
struct plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >

Solver performing calculations in 2D Cartesian or Cylindrical space using finite element method.

Definition at line 54 of file ddm2d.hpp.

Constructor & Destructor Documentation

◆ DriftDiffusionModel2DSolver()

plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::DriftDiffusionModel2DSolver ( const std::string &  name = "")

Definition at line 51 of file ddm2d.cpp.

◆ ~DriftDiffusionModel2DSolver()

Member Function Documentation

◆ checkWell()

Check if the carriers are confined.

Returns
true when carriers are confined

electrons

ne+2 because cladding elements also

filling CBel vector /// TODO

finding min. and max. for CB

max. CB at boundary

TODO

Definition at line 1095 of file ddm2d.cpp.

◆ compute()

Run drift_diffusion calculations.

Returns
max correction of potential against the last call

Definition at line 1151 of file ddm2d.cpp.

◆ computePsiI()

Calculate initial potential for all elements.

Definition at line 764 of file ddm2d.cpp.

◆ findEnergyLevels()

Find energy levels - TEST.

Returns
nothing important

hb*hb/(2m), unit: eV*nm*nm, 10^9 is introduced to change m into nm

bands have to be up-shifted - we want only positive values of energy levels; unit: (eV)

TODO

true when electrons (el) are confined

true when heavy holes (hh) are confined

true when light holes (lh) are confined

1/(dz*dz), unit: (1/nm^2)

1/(dz), unit: (1/nm)

the order of the small matrix for central-node for CB

the order of the matrix for CB

N - Hc size

setting Hc = zeros

nn - number of nodes

centre of the left element

centre of the right element

left/central/right 1x1 local matrix

11

Re - real part., Im - imag part.

no energy levels for electrons

lev_el - vector with energy levels for electrons

n_lev_el - number of energy levels of electrons

we have to find out if this level corresponds to el

"1" in both cases because only el are considered here

sorting electron energy levels

Definition at line 950 of file ddm2d.cpp.

◆ getActiveRegionMeshIndex()

size_t plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getActiveRegionMeshIndex ( size_t  actnum) const
protected

Get info on active region.

Definition at line 167 of file ddm2d.cpp.

◆ getBandEdges()

Definition at line 1453 of file ddm2d.cpp.

◆ getCarriersConcentration()

const LazyData< double > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getCarriersConcentration ( CarriersConcentration::EnumType  what,
shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
)
protected

Definition at line 1561 of file ddm2d.cpp.

◆ getClassName() [1/3]

Get name of solver.

Returns
name of this solver

Implements plask::Solver.

Definition at line 2196 of file ddm2d.cpp.

◆ getClassName() [2/3]

Get name of solver.

Returns
name of this solver

Implements plask::Solver.

Definition at line 2197 of file ddm2d.cpp.

◆ getClassName() [3/3]

std::string plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getClassName ( ) const
overridevirtual

Get name of solver.

Returns
name of this solver

Implements plask::Solver.

◆ getCurrentDensitiesForElectrons()

const LazyData< Vec< 2 > > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getCurrentDensitiesForElectrons ( shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
)
protected

Definition at line 1529 of file ddm2d.cpp.

◆ getCurrentDensitiesForHoles()

const LazyData< Vec< 2 > > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getCurrentDensitiesForHoles ( shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
)
protected

Definition at line 1545 of file ddm2d.cpp.

◆ getFermiLevels()

const LazyData< double > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getFermiLevels ( FermiLevels::EnumType  what,
shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
) const
protected

Definition at line 1419 of file ddm2d.cpp.

◆ getHeatDensities()

const LazyData< double > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getHeatDensities ( shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
)
protected

Definition at line 1624 of file ddm2d.cpp.

◆ getPotentials()

const LazyData< double > plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::getPotentials ( shared_ptr< const MeshD< 2 > >  dest_mesh,
InterpolationMethod  method 
) const
protected

Definition at line 1409 of file ddm2d.cpp.

◆ getTotalCurrent()

Integrate vertical total current flowing vertically through active region.

Parameters
nactnumber of the active region
Returns
computed total current

Definition at line 1401 of file ddm2d.cpp.

◆ integrateCurrent() [1/3]

double plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DCartesian >::integrateCurrent ( size_t  vindex,
bool  onlyactive 
)

Definition at line 1369 of file ddm2d.cpp.

◆ integrateCurrent() [2/3]

Definition at line 1384 of file ddm2d.cpp.

◆ integrateCurrent() [3/3]

double plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::integrateCurrent ( size_t  vindex,
bool  onlyactive = false 
)

Integrate vertical total current at certain level.

Parameters
vindexvertical index of the element mesh to perform integration at
onlyactiveif true only current in the active region is considered
Returns
computed total current

◆ isActive() [1/2]

size_t plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::isActive ( const RectangularMesh< 2 >::Element &  element) const
inlineprotected

Return true if the specified element is a junction.

Definition at line 160 of file ddm2d.hpp.

◆ isActive() [2/2]

size_t plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::isActive ( const Vec< 2 > &  point) const
inlineprotected

Return true if the specified point is at junction.

Parameters
pointpoint to test
Returns
number of active region + 1 (0 for none)

Definition at line 134 of file ddm2d.hpp.

◆ loadConfiguration()

void plask::electrical::drift_diffusion::DriftDiffusionModel2DSolver< Geometry2DType >::loadConfiguration ( XMLReader source,
Manager manager 
)
overridevirtual

Compute total electrostatic energy stored in the structure.

Returns
total electrostatic energy [J] Estimate structure capacitance.
static structure capacitance [pF] Compute total heat generated by the structure in unit time
total generated heat (mW) Return the maximum estimated error.

Reimplemented from plask::Solver.

Definition at line 112 of file ddm2d.cpp.

◆ onGeometryChange()

This method is called when the geometry is changed.

It just calls invalidate(); but subclasses can customize it.

Parameters
evtinformation about geometry changes

Reimplemented from plask::SolverOver< SpaceT >.

Definition at line 121 of file ddm2d.hpp.

◆ onInitialize()

Initialize the solver.

Reimplemented from plask::Solver.

Definition at line 217 of file ddm2d.cpp.

◆ onInvalidate()

Invalidate the data.

Reimplemented from plask::Solver.

Definition at line 243 of file ddm2d.cpp.

◆ onMeshChange()

Definition at line 117 of file ddm2d.hpp.

Member Data Documentation

◆ conttype

type of contacts (ohmic/Schottky)

Definition at line 82 of file ddm2d.hpp.

◆ currentsN

Computed current densities for electrons.

Definition at line 98 of file ddm2d.hpp.

◆ currentsP

Computed current densities for holes.

Definition at line 99 of file ddm2d.hpp.

◆ dU

default voltage step (V)

Definition at line 75 of file ddm2d.hpp.

◆ dveFnEta

Computed exponents of quasi-Fermi levels for electrons (size: elements)

Definition at line 91 of file ddm2d.hpp.

◆ dveFpKsi

Computed exponents of quasi-Fermi levels for holes (size: elements)

Definition at line 92 of file ddm2d.hpp.

◆ dveN

Cached electron concentrations (size: elements)

Definition at line 88 of file ddm2d.hpp.

◆ dveP

Cached hole concentrations (size: elements)

Definition at line 89 of file ddm2d.hpp.

◆ dvePsi

Computed potentials (size: elements)

Definition at line 90 of file ddm2d.hpp.

◆ dvnFnEta

Computed exponents of quasi-Fermi levels for electrons (size: nodes)

Definition at line 96 of file ddm2d.hpp.

◆ dvnFpKsi

Computed exponents of quasi-Fermi levels for holes (size: nodes)

Definition at line 97 of file ddm2d.hpp.

◆ dvnPsi

Computed potentials (size: nodes)

Definition at line 95 of file ddm2d.hpp.

◆ dvnPsi0

Computed potential for U=0V (size: nodes)

Definition at line 94 of file ddm2d.hpp.

◆ heats

Computed and cached heat source densities.

Definition at line 100 of file ddm2d.hpp.

◆ inTemperature

◆ loopsFn

Loops limit for quasi-Fermi energy level for electrons.

Definition at line 416 of file ddm2d.hpp.

◆ loopsFp

Loops limit for quasi-Fermi energy level for holes.

Definition at line 417 of file ddm2d.hpp.

◆ loopsPsi

Loops limit for potential.

Definition at line 415 of file ddm2d.hpp.

◆ loopsPsi0

Loops limit for potential at U = 0 V.

Definition at line 414 of file ddm2d.hpp.

◆ loopsPsiI

Loops limit for initial potential.

Definition at line 413 of file ddm2d.hpp.

◆ mAx

radiative recombination coefficient (1/s)

Definition at line 69 of file ddm2d.hpp.

◆ maxDelFn

maximal correction for quasi-Fermi levels for electrons calculations (eV)

Definition at line 78 of file ddm2d.hpp.

◆ maxDelFp

maximal correction for quasi-Fermi levels for holes calculations (eV)

Definition at line 79 of file ddm2d.hpp.

◆ maxDelPsi

maximal correction for potential calculations (V)

Definition at line 77 of file ddm2d.hpp.

◆ maxDelPsi0

maximal correction for initial potential calculations (V)

Definition at line 76 of file ddm2d.hpp.

◆ maxerr

bands have to be up-shifted - we want only positive values of energy levels; unit: eV

Maximum relative current density correction accepted as convergence

Definition at line 371 of file ddm2d.hpp.

◆ maxerrFn

Maximum estimated error for quasi-Fermi energy level for electrons during all iterations (useful for single calculations managed by external python script)

Definition at line 409 of file ddm2d.hpp.

◆ maxerrFp

Maximum estimated error for quasi-Fermi energy level for holes during all iterations (useful for single calculations managed by external python script)

Definition at line 411 of file ddm2d.hpp.

◆ maxerrPsi

Maximum estimated error for potential during all iterations (useful for single calculations managed by external python script)

Definition at line 407 of file ddm2d.hpp.

◆ maxerrPsi0

Maximum estimated error for potential at U = 0 V during all iterations (useful for single calculations managed by external python script)

Definition at line 405 of file ddm2d.hpp.

◆ maxerrPsiI

Maximum estimated error for initial potential during all iterations (useful for single calculations managed by external python script)

Definition at line 403 of file ddm2d.hpp.

◆ mBx

radiative recombination coefficient (cm^3/s)

Definition at line 70 of file ddm2d.hpp.

◆ mCx

Auger recombination coefficient (cm^6/s)

Definition at line 71 of file ddm2d.hpp.

◆ mEpsRx

maximal dielectric constant (-)

Definition at line 62 of file ddm2d.hpp.

◆ mEx

◆ mFullIon

dopant ionization = 100%

Definition at line 398 of file ddm2d.hpp.

◆ mJx

current density parameter (kA/cm2)

Definition at line 67 of file ddm2d.hpp.

◆ mMix

maximal mobility (cm^2/Vs)

Definition at line 65 of file ddm2d.hpp.

◆ mNx

maximal doping concentration (1/cm^3)

Definition at line 61 of file ddm2d.hpp.

◆ mPol

polarization (GaN is the substrate)

Definition at line 397 of file ddm2d.hpp.

◆ mPx

polarization (C/m^2)

Definition at line 73 of file ddm2d.hpp.

◆ mRaug

Auger recombination is taken into account.

Definition at line 396 of file ddm2d.hpp.

◆ mRrad

radiative recombination is taken into account

Definition at line 395 of file ddm2d.hpp.

◆ mRsrh

SRH recombination is taken into account.

Definition at line 394 of file ddm2d.hpp.

◆ mRx

recombination parameter (1/(cm^3*s))

Definition at line 66 of file ddm2d.hpp.

◆ mSchottkyN

Schottky barrier for n-type contact (eV)

Definition at line 401 of file ddm2d.hpp.

◆ mSchottkyP

Schottky barrier for p-type contact (eV)

Definition at line 400 of file ddm2d.hpp.

◆ mTx

ambient temperature (K)

Definition at line 59 of file ddm2d.hpp.

◆ mXx

sometimes denoted as LD (um)

Definition at line 63 of file ddm2d.hpp.

◆ needPsi0

Flag indicating if we need to compute initial potential;.

Definition at line 102 of file ddm2d.hpp.

◆ outBandEdges

◆ outCarriersConcentration

◆ outCurrentDensityForElectrons

◆ outCurrentDensityForHoles

◆ outFermiLevels

◆ outHeat

◆ outPotential

◆ size

Number of columns in the main matrix.

Definition at line 56 of file ddm2d.hpp.

◆ stat

carriers statistics

Definition at line 81 of file ddm2d.hpp.

◆ strained

Consider strain in QW?

Definition at line 106 of file ddm2d.hpp.

◆ T0

Temperature used for compiting level estimates.

Definition at line 104 of file ddm2d.hpp.

◆ voltage_boundary


The documentation for this struct was generated from the following files: