Memosa-FVM  0.2
BatteryModelOptions< T > Struct Template Reference

#include <BatteryBC.h>

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

Public Member Functions

 BatteryModelOptions ()
 
LinearSolver & getLinearSolver ()
 
LinearSolver & getLinearSolverSpecies ()
 
LinearSolver & getLinearSolverPotential ()
 
LinearSolver & getLinearSolverThermal ()
 
LinearSolver & getLinearSolverPC ()
 
- Public Member Functions inherited from FloatVarDict< T >
bool hasVar (const string varName) const
 
T operator[] (const string varName) const
 
bool isField (const string varName) const
 
Field & getField (const string varName) const
 
FloatVal< T > getVal (const string varName) const
 

Public Attributes

double relativeTolerance
 
double absoluteTolerance
 
double relativeSpeciesTolerance
 
double absoluteSpeciesTolerance
 
double relativePotentialTolerance
 
double absolutePotentialTolerance
 
double relativeThermalTolerance
 
double absoluteThermalTolerance
 
double relativePCTolerance
 
double absolutePCTolerance
 
bool useCentralDifference
 
LinearSolver * linearSolver
 
LinearSolver * linearSolverSpecies
 
LinearSolver * linearSolverPotential
 
LinearSolver * linearSolverThermal
 
LinearSolver * linearSolverPC
 
bool transient
 
bool ButlerVolmer
 
bool thermalModelPC
 
int timeDiscretizationOrder
 
int advanceVerbosity
 

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 BatteryModelOptions< T >

Definition at line 78 of file BatteryBC.h.

Constructor & Destructor Documentation

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

Definition at line 80 of file BatteryBC.h.

References BatteryModelOptions< T >::absolutePCTolerance, BatteryModelOptions< T >::absolutePotentialTolerance, BatteryModelOptions< T >::absoluteSpeciesTolerance, BatteryModelOptions< T >::absoluteThermalTolerance, BatteryModelOptions< T >::absoluteTolerance, BatteryModelOptions< T >::advanceVerbosity, BatteryModelOptions< T >::ButlerVolmer, FloatVarDict< T >::defineVar(), BatteryModelOptions< T >::linearSolver, BatteryModelOptions< T >::linearSolverPC, BatteryModelOptions< T >::linearSolverPotential, BatteryModelOptions< T >::linearSolverSpecies, BatteryModelOptions< T >::linearSolverThermal, BatteryModelOptions< T >::relativePCTolerance, BatteryModelOptions< T >::relativePotentialTolerance, BatteryModelOptions< T >::relativeSpeciesTolerance, BatteryModelOptions< T >::relativeThermalTolerance, BatteryModelOptions< T >::relativeTolerance, BatteryModelOptions< T >::thermalModelPC, BatteryModelOptions< T >::timeDiscretizationOrder, and BatteryModelOptions< T >::useCentralDifference.

81  {
82  this->defineVar("ButlerVolmerRRConstant",T(5.0e-7));
83  this->defineVar("ButlerVolmerAnodeShellMeshID", int(-1));
84  this->defineVar("ButlerVolmerCathodeShellMeshID", int(-1));
85  this->defineVar("BatteryElectrolyteMeshID", int(-1));
86  this->defineVar("timeStep",T(0.1));
87  this->defineVar("interfaceSpeciesUnderRelax",T(1.0));
88  this->relativeTolerance=1e-8;
89  this->absoluteTolerance=1e-16;
90  this->relativeSpeciesTolerance=1e-8;
91  this->absoluteSpeciesTolerance=1e-16;
92  this->relativePotentialTolerance=1e-8;
93  this->absolutePotentialTolerance=1e-16;
94  this->relativeThermalTolerance=1e-8;
95  this->absoluteThermalTolerance=1e-16;
96  this->relativePCTolerance=1e-8;
97  this->absolutePCTolerance=1e-16;
98  this->linearSolver = 0;
99  this->linearSolverSpecies = 0;
100  this->linearSolverPotential = 0;
101  this->linearSolverThermal = 0;
102  this->linearSolverPC = 0;
103  this->useCentralDifference=false;
104  this->transient = true;
105  this->ButlerVolmer = false;
106  this->thermalModelPC = true;
107  this->timeDiscretizationOrder=2;
108  this->advanceVerbosity=1;
109  }
double relativeThermalTolerance
Definition: BatteryBC.h:116
double relativeTolerance
Definition: BatteryBC.h:110
LinearSolver * linearSolverPotential
Definition: BatteryBC.h:123
double absolutePotentialTolerance
Definition: BatteryBC.h:115
double absoluteSpeciesTolerance
Definition: BatteryBC.h:113
double absolutePCTolerance
Definition: BatteryBC.h:119
void defineVar(const string varName, const T defaultValue)
Definition: FloatVarDict.h:94
double absoluteTolerance
Definition: BatteryBC.h:111
LinearSolver * linearSolverThermal
Definition: BatteryBC.h:124
double relativePotentialTolerance
Definition: BatteryBC.h:114
LinearSolver * linearSolverSpecies
Definition: BatteryBC.h:122
double absoluteThermalTolerance
Definition: BatteryBC.h:117
LinearSolver * linearSolver
Definition: BatteryBC.h:121
double relativePCTolerance
Definition: BatteryBC.h:118
LinearSolver * linearSolverPC
Definition: BatteryBC.h:125
double relativeSpeciesTolerance
Definition: BatteryBC.h:112

Member Function Documentation

template<class T>
LinearSolver& BatteryModelOptions< T >::getLinearSolver ( )
inline

Definition at line 133 of file BatteryBC.h.

References BatteryModelOptions< T >::linearSolver, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

134  {
135  if (this->linearSolver == 0)
136  {
137  LinearSolver* ls(new AMG());
138  ls->relativeTolerance = 1e-1;
139  ls->nMaxIterations = 20;
140  ls->verbosity=0;
141  this->linearSolver = ls;
142  }
143  return *this->linearSolver ;
144  }
Definition: AMG.h:27
LinearSolver * linearSolver
Definition: BatteryBC.h:121
template<class T>
LinearSolver& BatteryModelOptions< T >::getLinearSolverPC ( )
inline

Definition at line 184 of file BatteryBC.h.

References BatteryModelOptions< T >::linearSolverPC, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

185  {
186  if (this->linearSolverPC == 0)
187  {
188  LinearSolver* ls(new AMG());
189  ls->relativeTolerance = 1e-1;
190  ls->nMaxIterations = 20;
191  ls->verbosity=0;
192  this->linearSolverPC = ls;
193  }
194  return *this->linearSolverPC ;
195  }
Definition: AMG.h:27
LinearSolver * linearSolverPC
Definition: BatteryBC.h:125
template<class T>
LinearSolver& BatteryModelOptions< T >::getLinearSolverPotential ( )
inline

Definition at line 158 of file BatteryBC.h.

References BatteryModelOptions< T >::linearSolverPotential, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

159  {
160  if (this->linearSolverPotential == 0)
161  {
162  LinearSolver* ls(new AMG());
163  ls->relativeTolerance = 1e-1;
164  ls->nMaxIterations = 20;
165  ls->verbosity=0;
166  this->linearSolverPotential = ls;
167  }
168  return *this->linearSolverPotential ;
169  }
LinearSolver * linearSolverPotential
Definition: BatteryBC.h:123
Definition: AMG.h:27
template<class T>
LinearSolver& BatteryModelOptions< T >::getLinearSolverSpecies ( )
inline

Definition at line 146 of file BatteryBC.h.

References BatteryModelOptions< T >::linearSolverSpecies, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

147  {
148  if (this->linearSolverSpecies == 0)
149  {
150  LinearSolver* ls(new AMG());
151  ls->relativeTolerance = 1e-1;
152  ls->nMaxIterations = 20;
153  ls->verbosity=0;
154  this->linearSolverSpecies = ls;
155  }
156  return *this->linearSolverSpecies ;
157  }
Definition: AMG.h:27
LinearSolver * linearSolverSpecies
Definition: BatteryBC.h:122
template<class T>
LinearSolver& BatteryModelOptions< T >::getLinearSolverThermal ( )
inline

Definition at line 171 of file BatteryBC.h.

References BatteryModelOptions< T >::linearSolverThermal, LinearSolver::nMaxIterations, LinearSolver::relativeTolerance, and LinearSolver::verbosity.

172  {
173  if (this->linearSolverThermal == 0)
174  {
175  LinearSolver* ls(new AMG());
176  ls->relativeTolerance = 1e-1;
177  ls->nMaxIterations = 20;
178  ls->verbosity=0;
179  this->linearSolverThermal = ls;
180  }
181  return *this->linearSolverThermal ;
182  }
Definition: AMG.h:27
LinearSolver * linearSolverThermal
Definition: BatteryBC.h:124

Member Data Documentation

template<class T>
double BatteryModelOptions< T >::absolutePCTolerance

Definition at line 119 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::absolutePotentialTolerance

Definition at line 115 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::absoluteSpeciesTolerance

Definition at line 113 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::absoluteThermalTolerance

Definition at line 117 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::absoluteTolerance

Definition at line 111 of file BatteryBC.h.

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

template<class T>
int BatteryModelOptions< T >::advanceVerbosity

Definition at line 130 of file BatteryBC.h.

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

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

Definition at line 127 of file BatteryBC.h.

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

template<class T>
LinearSolver* BatteryModelOptions< T >::linearSolver
template<class T>
LinearSolver* BatteryModelOptions< T >::linearSolverPC
template<class T>
LinearSolver* BatteryModelOptions< T >::linearSolverPotential
template<class T>
LinearSolver* BatteryModelOptions< T >::linearSolverSpecies
template<class T>
LinearSolver* BatteryModelOptions< T >::linearSolverThermal
template<class T>
double BatteryModelOptions< T >::relativePCTolerance

Definition at line 118 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::relativePotentialTolerance

Definition at line 114 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::relativeSpeciesTolerance

Definition at line 112 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::relativeThermalTolerance

Definition at line 116 of file BatteryBC.h.

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

template<class T>
double BatteryModelOptions< T >::relativeTolerance

Definition at line 110 of file BatteryBC.h.

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

template<class T>
bool BatteryModelOptions< T >::thermalModelPC

Definition at line 128 of file BatteryBC.h.

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

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

Definition at line 129 of file BatteryBC.h.

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

template<class T>
bool BatteryModelOptions< T >::transient

Definition at line 126 of file BatteryBC.h.

template<class T>
bool BatteryModelOptions< T >::useCentralDifference

Definition at line 120 of file BatteryBC.h.

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


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