CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
Poisson equation with Dirichlet 1 on anode, 0 on cathode. Neumann elsewhere. Functional tensorial conductivity.
Definition at line 41 of file DirichletAnodeCathodeProblem.hpp.
#include <DirichletAnodeCathodeProblem.hpp>
Public Member Functions | |
DirichletAnodeCathodeProblem (Geometry *g, InputParameters *p=nullptr) | |
Constructor from geometry and optional input file. More... | |
~DirichletAnodeCathodeProblem () override | |
Destructor. More... | |
void | setupWithParameters (InputParameters *p) override |
Sets the diffusion tensor. More... | |
void | defineUnknowns () override |
Lists the unknowns of the problem (one here) More... | |
void | defineSourceTerms () override |
No source term. More... | |
void | defineBoundaryConditions () override |
Dirichlet 1/0 on electrodes, neumann 0 elsewhere. More... | |
void | defineAnalyticSolution () override |
No analytic solution. More... | |
TensorSAFunc * | getDiffusionTensor () const |
Diffusion tensor. More... | |
void | run () override |
Run does nothing. The tests call directly a LaplacianSolver solve method. More... | |
Public Member Functions inherited from LaplacianProblem | |
LaplacianProblem (Geometry *g, InputParameters *p=nullptr, const CepsMathTensor &k=CepsMathTensor::Identity()) | |
Constructor from geometry and optional input file. More... | |
~LaplacianProblem () override | |
Destructor. More... | |
void | setupWithParameters (InputParameters *p) override |
Sets the diffusion tensor. More... | |
void | defineUnknowns () override |
Lists the unknowns of the problem (one here) More... | |
CepsMathTensor | getDiffusionTensor (Unknown *u=nullptr) const |
Diffusion tensor. More... | |
void | run () override |
Run does nothing. The tests call directly a LaplacianSolver solve method. More... | |
Public Member Functions inherited from AbstractStaticPdeProblem | |
AbstractStaticPdeProblem (Geometry *geom, InputParameters *params=nullptr) | |
Constructor with geometry and optional parameters. More... | |
void | getInitialGuess (DHVecPtr v) |
Returns a zero vector. Can be overriden ! More... | |
CepsArray2< CepsArray3< CepsReal > > | getErrors () const |
Get the errors. More... | |
virtual void | defineInitialGuess () |
Sets the pointer on function for initial guess. Here it is set to nullptr, so it will be 0. More... | |
void | initializeEquation () override |
Initializes equations (unknowns, bc, source term) and creates the spatial discretization This method should be called at the start of run() methods. More... | |
Public Member Functions inherited from AbstractPdeProblem | |
AbstractPdeProblem (Geometry *geom, InputParameters *params=nullptr) | |
Constructor with geometry and optional parameters. More... | |
virtual | ~AbstractPdeProblem () |
destructor More... | |
AbstractPdeProblem (const AbstractPdeProblem &that)=delete | |
No copy constructor. More... | |
AbstractPdeProblem & | operator= (const AbstractPdeProblem &that)=delete |
No assignment operator. More... | |
InputParameters * | getParameters () const |
Text parameters. More... | |
void | setProblemName (const CepsString &name) |
Set the name of the problem. More... | |
CepsString | getProblemName () const |
Get the name of the problem. More... | |
Geometry * | getGeometry () const |
Link to geometry on which the pb is defined. More... | |
AbstractDiscretization * | getSpatialDiscretization () const |
Link to the spatial discretization (FE, FV, etc) More... | |
void | setSpatialDiscretization (AbstractDiscretization *discr) |
Link to the spatial discretization (FE, FV, etc) More... | |
void | createSpatialDiscretization () |
Compute the discretization structure. More... | |
const CepsVector< Unknown * > & | getUnknowns () const |
List of unknowns of the pb. More... | |
Unknown * | getUnknown (const CepsString &label) const |
Get an unknown by its name. More... | |
Unknown * | getUnknown (CepsUnknownIndex uid) const |
Get an unknown by its id. More... | |
CepsVector< Unknown * > | getSpatialUnknowns () const |
A vector of all unknowns of pb defined on cells or points. More... | |
CepsVector< Unknown * > | getZeroDUnknowns () const |
A vector of all zeroD unknowns of the pb. More... | |
const CepsVector< UnknownInteraction * > & | getUnknownsInteractions () const |
All the interactions between unknowns. More... | |
CepsBool | unknownsInteract (Unknown *u1, Unknown *u2, const CepsSet< CepsAttribute > &attrs={CepsUniversal}) const |
Tells if unknowns interact on an entity with attributes. More... | |
CepsBool | ignoreZeroDUnknownsForError () const |
Tells if 0D must not be taken into account in error computation. More... | |
CepsBool | hasAnalyticSolution () const |
Tells if there is an analytic or reference solution. More... | |
ScalarFunction * | getAnalyticSolution () const |
Pointer on analytic or refScalarFunction solution. More... | |
void | setReferenceSolution (const CepsString &baseFiles, CepsReal snapDt) |
Externally define the referece solution from files. Can be used for convergence tests. More... | |
CepsBool | usesReferenceSolution () const |
Tells if analytic solution and if it is loaded from files. More... | |
CepsReal | getReferenceSolutionOutputPeriod () const |
Output dt of reference. More... | |
FunctionDictionary * | getFunctionDictionary () const |
Get functions manager. More... | |
void | setFunctionDictionary (FunctionDictionary *) |
Set functions manager. More... | |
BoundaryConditionManager * | getBoundaryConditionManager () const |
Get boundary condition manager. More... | |
void | setBoundaryConditionManager (BoundaryConditionManager *bcm) |
Set boundary condition manager. More... | |
SourceTermManager * | getSourceTermManager () const |
Get boundary condition manager. More... | |
void | setSourceTermManager (SourceTermManager *stm) |
Set boundary condition manager. More... | |
CepsString | getOutputFileBase () const |
Output file name includes the directory. More... | |
void | setOutputFileBase (CepsString fileName) |
Output file name includes the directory. More... | |
CepsOutputFormat | getOutputFormat () const |
Tells if output is binary or ascii. More... | |
void | setOutputFormat (CepsOutputFormat opt) |
Enable/disable binary output. More... | |
CepsBool | writesGlobalIndices () const |
Tells if global indices are written on top of solution. More... | |
void | writeGlobalIndices (CepsBool opt) |
Activate/deactivate global indices writing. More... | |
CepsVector< CepsReal3D > | getProbePoints () const |
Returns points where single data output should be written. More... | |
virtual CepsReal | getStartTime () const |
Returns 0. Here for compatibility. More... | |
virtual CepsReal | getEndTime () const |
Returns 0. Here for compatibility. More... | |
virtual CepsReal | getSnapshotTime () const |
Returns 0. Here for compatibility. More... | |
Public Member Functions inherited from CepsObject | |
CepsObject ()=default | |
default constructor More... | |
CepsObject (const CepsObject &)=default | |
Copy constructor. More... | |
virtual | ~CepsObject ()=default |
Destructor. More... | |
CepsObject & | operator= (const CepsObject &)=default |
Assignment operator. More... | |
CepsObject * | toBaseObject () |
Returns a pointer to CepsObject class. More... | |
const CepsObject * | toBaseObject () const |
Returns a pointer to CepsObject class, const version. More... | |
Profiler * | getProfiler () const |
Access to profiler. More... | |
Public Member Functions inherited from HoldsAnodeCathode< ElectrodeBase > | |
HoldsAnodeCathode () | |
Default constructor. More... | |
HoldsAnodeCathode (InputParameters *params, Geometry *geom=nullptr) | |
Constructor with parameters, pass geometry to compute measures. More... | |
HoldsAnodeCathode (const CepsSet< CepsAttribute > &anodeAttrs, const CepsSet< CepsAttribute > &cathodeAttrs, Geometry *geom=nullptr) | |
Constructor with sets of attributes, pass geometry to compute measures. More... | |
virtual | ~HoldsAnodeCathode () |
Destructor. More... | |
CepsSet< CepsAttribute > & | getAnodeAttributes () const |
Anode attributes. More... | |
CepsSet< CepsAttribute > & | getCathodeAttributes () const |
Cathode attributes. More... | |
void | setElectrodesAttributes (const CepsSet< CepsAttribute > &anodeAttrs, const CepsSet< CepsAttribute > &cathodeAttrs, Geometry *geom=nullptr) |
Sets the attributes. More... | |
ElectrodeBase * | getAnode () const |
Ptr to anode object. More... | |
ElectrodeBase * | getCathode () const |
Ptr to cathode object. More... | |
Protected Attributes | |
CepsString | m_sigmaOpts |
Text input for conductivity. More... | |
Protected Attributes inherited from LaplacianProblem | |
CepsMathTensor | m_k |
Diffusion tensor. More... | |
Protected Attributes inherited from AbstractStaticPdeProblem | |
CepsArray2< CepsArray3< CepsReal > > | m_errors |
Will store Linf, L1 and L2 relative errors. More... | |
ScalarFunction * | m_initialGuess |
Function defining the initial condition, which is 0 if pointer is null. More... | |
Protected Attributes inherited from AbstractPdeProblem | |
CepsString | m_name |
Name of the problem. More... | |
Geometry * | m_geom |
Link to geometry on which the pb is defined. More... | |
InputParameters * | m_parameters |
Input file data. More... | |
AbstractDiscretization * | m_discr |
Discretization method (eg FE for now) More... | |
CepsBool | m_ownedDiscr |
True if instance used new to create discretization. More... | |
CepsVector< Unknown * > | m_unknowns |
All maths unknowns of the problem. More... | |
CepsVector< UnknownInteraction * > | m_unknownsInteractions |
Describes how unknowns interact. More... | |
ScalarFunction * | m_analyticSolution |
analytic or reference solution More... | |
CepsBool | m_ownedRefSol |
Flag for reference ownership. More... | |
CepsString | m_refSolFiles |
base name of reference solution file, if any More... | |
CepsReal | m_refSolSnapDt |
reference solution output period More... | |
FunctionDictionary * | m_functions |
Collection of custom functions. More... | |
BoundaryConditionManager * | m_boundaryConditions |
All BCs should be there. More... | |
SourceTermManager * | m_sourceTerms |
All source terms. More... | |
CepsBool | m_ownedFunctions |
True if instance used new to create dictionary. More... | |
CepsBool | m_ownedBCs |
True if instance used new to create BC manager. More... | |
CepsBool | m_ownedSrcs |
True if instance used new to create src term manager. More... | |
CepsString | m_outputFileBase |
File names prefix. More... | |
CepsOutputFormat | m_outputFormat |
Output format selector. More... | |
CepsBool | m_writeGlobalIDs |
Writes CEPS indices as well. More... | |
CepsVector< CepsReal3D > | m_probePoints |
Single point data outputs. More... | |
CepsBool | m_ignoreZeroDError |
Ignore 0D unknowns when computing errors. More... | |
Protected Attributes inherited from HoldsAnodeCathode< ElectrodeBase > | |
ElectrodeBase * | m_anode |
Electrode object. More... | |
ElectrodeBase * | m_cathode |
Electrode object. More... | |
Additional Inherited Members | |
Public Types inherited from AbstractPdeProblem | |
using | ScalarFunction = ceps::Function< CepsReal(CepsStandardArgs)> |
Typedef for analytic solution. More... | |
Static Public Attributes inherited from AbstractStaticPdeProblem | |
static constexpr CepsBool | isStatic = true |
Flag for static/timed. More... | |
Protected Member Functions inherited from AbstractPdeProblem | |
void | addUnknown (const CepsString &label, CepsSet< CepsAttribute > attrs={}, CepsLocationFlag flag=CepsLocationFlag::Point, const CepsString &unit="") |
Register a new unknown. More... | |
void | addZeroDUnknown (CepsString label, const CepsString &unit="") |
Register a new unknown, defined outside of geometry. More... | |
void | addUnknownInteraction (CepsString label1, CepsString label2, CepsSet< CepsAttribute > attrs={}) |
Register interaction between unknowns. Also sets the interaction within Unknown instances label1 and label2. More... | |
Protected Member Functions inherited from HoldsAnodeCathode< ElectrodeBase > | |
void | checkCommonAttributes () |
Check that anode and cathode do not share attributes. More... | |
Static Protected Attributes inherited from CepsObject | |
static Profiler | m_profiler |
The same profiler for each big object. More... | |
|
explicit |
Constructor from geometry and optional input file.
Definition at line 34 of file DirichletAnodeCathodeProblem.cpp.
|
override |
Destructor.
Definition at line 48 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
No analytic solution.
Reimplemented from AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 96 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
Dirichlet 1/0 on electrodes, neumann 0 elsewhere.
Reimplemented from AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 72 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
No source term.
Reimplemented from AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 67 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
Lists the unknowns of the problem (one here)
Implements AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 60 of file DirichletAnodeCathodeProblem.cpp.
TensorSAFunc * DirichletAnodeCathodeProblem::getDiffusionTensor | ( | ) | const |
Diffusion tensor.
Definition at line 90 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
Run does nothing. The tests call directly a LaplacianSolver solve method.
Reimplemented from AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 102 of file DirichletAnodeCathodeProblem.cpp.
|
overridevirtual |
Sets the diffusion tensor.
Reimplemented from AbstractPdeProblem.
Reimplemented in FluxAnodeCathodeProblem.
Definition at line 53 of file DirichletAnodeCathodeProblem.cpp.
|
protected |
Text input for conductivity.
Definition at line 85 of file DirichletAnodeCathodeProblem.hpp.