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 ()
 
LinearSolvergetLinearSolver ()
 
LinearSolvergetLinearSolverSpecies ()
 
LinearSolvergetLinearSolverPotential ()
 
LinearSolvergetLinearSolverThermal ()
 
LinearSolvergetLinearSolverPC ()
 
- 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

double relativeTolerance
 
double absoluteTolerance
 
double relativeSpeciesTolerance
 
double absoluteSpeciesTolerance
 
double relativePotentialTolerance
 
double absolutePotentialTolerance
 
double relativeThermalTolerance
 
double absoluteThermalTolerance
 
double relativePCTolerance
 
double absolutePCTolerance
 
bool useCentralDifference
 
LinearSolverlinearSolver
 
LinearSolverlinearSolverSpecies
 
LinearSolverlinearSolverPotential
 
LinearSolverlinearSolverThermal
 
LinearSolverlinearSolverPC
 
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: