Memosa-FVM  0.2
ElectricModelOptions< T > Struct Template Reference

#include <ElectricBC.h>

Inheritance diagram for ElectricModelOptions< T >:
Collaboration diagram for ElectricModelOptions< T >:

Public Member Functions

 ElectricModelOptions ()
 
LinearSolvergetElectroStaticsLinearSolver ()
 
LinearSolvergetChargeTransportLinearSolver ()
 
- Public Member Functions inherited from FloatVarDict< T >
bool hasVar (const string varName) const
 
operator[] (const string varName) const
 
bool isField (const string varName) const
 
FieldgetField (const string varName) const
 
FloatVal< T > getVal (const string varName) const
 

Public Attributes

bool printNormalizedResiduals
 
double electrostaticsTolerance
 
double chargetransportTolerance
 
double tunnelingtransportTolerance
 
bool ibm_enable
 
bool transient_enable
 
bool tunneling_enable
 
bool emission_enable
 
bool electrostatics_enable
 
bool chargetransport_enable
 
bool capture_enable
 
bool injection_enable
 
bool drift_enable
 
bool diffusion_enable
 
bool trapbandtunneling_enable
 
bool ButlerVolmer
 
int timeDiscretizationOrder
 
LinearSolverelectrostaticsLinearSolver
 
LinearSolverchargetransportLinearSolver
 

Additional Inherited Members

- Public Types inherited from FloatVarDict< T >
typedef map< string, FloatVal
< T > > 
T_Parent
 
- Protected Member Functions inherited from FloatVarDict< T >
void defineVar (const string varName, const T defaultValue)
 

Detailed Description

template<class T>
struct ElectricModelOptions< T >

Definition at line 82 of file ElectricBC.h.

Constructor & Destructor Documentation

template<class T>
ElectricModelOptions< T >::ElectricModelOptions ( )
inline

Definition at line 84 of file ElectricBC.h.

References ElectricModelOptions< T >::ButlerVolmer, ElectricModelOptions< T >::capture_enable, ElectricModelOptions< T >::chargetransport_enable, ElectricModelOptions< T >::chargetransportLinearSolver, ElectricModelOptions< T >::chargetransportTolerance, FloatVarDict< T >::defineVar(), ElectricModelOptions< T >::diffusion_enable, ElectricModelOptions< T >::drift_enable, ElectricModelOptions< T >::electrostatics_enable, ElectricModelOptions< T >::electrostaticsLinearSolver, ElectricModelOptions< T >::electrostaticsTolerance, ElectricModelOptions< T >::emission_enable, ElectricModelOptions< T >::ibm_enable, ElectricModelOptions< T >::injection_enable, ElectricModelOptions< T >::printNormalizedResiduals, ElectricModelOptions< T >::timeDiscretizationOrder, ElectricModelOptions< T >::transient_enable, ElectricModelOptions< T >::trapbandtunneling_enable, and ElectricModelOptions< T >::tunneling_enable.

85  {
86  this->defineVar("initialCharge",T(0));
87  this->defineVar("initialPotential",T(0.0));
88  this->defineVar("initialTotalCharge", T(0.0));
89  this->defineVar("initialTunnelingCharge", T(1.0));
90  this->defineVar("timeStep",T(0.1));
91  this->defineVar("Interface_A_coeff",T(1.0));
92  this->defineVar("Interface_B_coeff",T(0.0));
93  this->defineVar("ButlerVolmerRRConstant",T(5.0e-7));
94  this->defineVar("ButlerVolmerAnodeShellMeshID", int(-1));
95  this->defineVar("ButlerVolmerCathodeShellMeshID", int(-1));
96  this->defineVar("BatteryElectrolyteMeshID", int(-1));
97  this->ButlerVolmer = false;
98  this->electrostaticsTolerance=1e-8;
99  this->chargetransportTolerance=1e-8;
100  this->electrostaticsLinearSolver = 0;
101  this->chargetransportLinearSolver = 0;
102  this->timeDiscretizationOrder = 1;
103  this->transient_enable = true;
104  this->ibm_enable = false;
105  this->electrostatics_enable = true;
106  this->chargetransport_enable = true;
107  this->tunneling_enable = false;
108  this->emission_enable = false;
109  this->capture_enable = false;
110  this->injection_enable = false;
111  this->drift_enable = false;
112  this->diffusion_enable = false;
113  this->trapbandtunneling_enable = false;
114  this->printNormalizedResiduals = true;
115  }
double chargetransportTolerance
Definition: ElectricBC.h:119
LinearSolver * chargetransportLinearSolver
Definition: ElectricBC.h:137
void defineVar(const string varName, const T defaultValue)
Definition: FloatVarDict.h:94
LinearSolver * electrostaticsLinearSolver
Definition: ElectricBC.h:136
double electrostaticsTolerance
Definition: ElectricBC.h:118

Member Function Documentation

template<class T>
LinearSolver& ElectricModelOptions< T >::getChargeTransportLinearSolver ( )
inline

Definition at line 153 of file ElectricBC.h.

References ElectricModelOptions< T >::chargetransportLinearSolver, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

154  {
155  if (this->chargetransportLinearSolver == 0)
156  {
157  LinearSolver* ls(new AMG());
158  ls->relativeTolerance = 1e-3;
159  ls->nMaxIterations = 20;
160  ls->verbosity=0;
161  this->chargetransportLinearSolver = ls;
162  }
163  return *this->chargetransportLinearSolver ;
164  }
LinearSolver * chargetransportLinearSolver
Definition: ElectricBC.h:137
Definition: AMG.h:27
template<class T>
LinearSolver& ElectricModelOptions< T >::getElectroStaticsLinearSolver ( )
inline

Definition at line 140 of file ElectricBC.h.

References ElectricModelOptions< T >::electrostaticsLinearSolver, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

141  {
142  if (this->electrostaticsLinearSolver == 0)
143  {
144  LinearSolver* ls(new AMG());
145  ls->relativeTolerance = 1e-3;
146  ls->nMaxIterations = 20;
147  ls->verbosity=0;
148  this->electrostaticsLinearSolver = ls;
149  }
150  return *this->electrostaticsLinearSolver ;
151  }
Definition: AMG.h:27
LinearSolver * electrostaticsLinearSolver
Definition: ElectricBC.h:136

Member Data Documentation

template<class T>
bool ElectricModelOptions< T >::ButlerVolmer

Definition at line 133 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::capture_enable

Definition at line 128 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::chargetransport_enable

Definition at line 127 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
LinearSolver* ElectricModelOptions< T >::chargetransportLinearSolver
template<class T>
double ElectricModelOptions< T >::chargetransportTolerance

Definition at line 119 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::diffusion_enable

Definition at line 131 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::drift_enable

Definition at line 130 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::electrostatics_enable

Definition at line 126 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
LinearSolver* ElectricModelOptions< T >::electrostaticsLinearSolver
template<class T>
double ElectricModelOptions< T >::electrostaticsTolerance

Definition at line 118 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::emission_enable

Definition at line 125 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::ibm_enable

Definition at line 122 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::injection_enable

Definition at line 129 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::printNormalizedResiduals

Definition at line 116 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
int ElectricModelOptions< T >::timeDiscretizationOrder

Definition at line 135 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::transient_enable

Definition at line 123 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::trapbandtunneling_enable

Definition at line 132 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
bool ElectricModelOptions< T >::tunneling_enable

Definition at line 124 of file ElectricBC.h.

Referenced by ElectricModelOptions< T >::ElectricModelOptions().

template<class T>
double ElectricModelOptions< T >::tunnelingtransportTolerance

Definition at line 120 of file ElectricBC.h.


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