CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
Heat PDE, single unknown, constant diffusion coeff 1, homogeneous Neumann (no BC defined)
Definition at line 35 of file HeatProblem.hpp.
#include <HeatProblem.hpp>
Public Member Functions | |
HeatProblem (Geometry *g, InputParameters *p=nullptr, const CepsMathTensor &k=CepsMathTensor::Identity()) | |
Constructor from geometry and optional input file. More... | |
~HeatProblem () override | |
Destructor. More... | |
void | setupWithParameters (InputParameters *params) override |
Set attributes from input file. Parameters are passed as arguments in case one wants to use other parameters. More... | |
void | defineUnknowns () override |
Lists the unknowns of the problem (one here) More... | |
void | defineSourceTerms () override |
Lists the unknowns of the problem (one here) More... | |
virtual CepsMathTensor | getDiffusionTensor (Unknown *u=nullptr) const |
Diffusion tensor. More... | |
void | run () override |
Computes the solution. More... | |
Public Member Functions inherited from AbstractTimedPdeProblem | |
AbstractTimedPdeProblem (Geometry *geom, InputParameters *params=nullptr) | |
Constructor with geometry and optional parameters. More... | |
CepsReal | getStartTime () const override |
pde start time More... | |
CepsReal | getEndTime () const override |
pde end time More... | |
CepsReal | getTimeStep () const |
pde time step More... | |
void | setTimes (CepsReal tStart, CepsReal tEnd, CepsReal dt) |
Define the start and end times, also time step. More... | |
CepsReal | getSnapshotTime () const override |
Periodicity of outputs, in time units. More... | |
void | setSnapshotTime (CepsReal st) |
Periodicity of outputs, in time units. More... | |
virtual void | defineInitialCondition () |
Sets the pointer on function for initial guess. Here it is set to nullptr, so it will be 0. More... | |
virtual void | getInitialCondition (DHVecPtr v) const |
Build vector from function pointed by m_initialCondition. 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... | |
CepsArray2< CepsArray3< CepsArray3< CepsReal > > > | getErrors () const |
Get the errors. More... | |
CepsBool | canComputeErrorAtTime (CepsReal t) const |
Tells if either analytic solution or reference solution has a snapshot at time t. 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... | |
virtual void | defineAnalyticSolution () |
Set directly the analytic function, default sets no solution, unless there is a collection of reference solution files, provided at init or from parameters. 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... | |
virtual void | defineBoundaryConditions () |
Define the boundary conditions. Should be defined in derived classes. Default is no BC. 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... | |
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... | |
Protected Attributes | |
CepsMathTensor | m_k |
Diffusion tensor. More... | |
Protected Attributes inherited from AbstractTimedPdeProblem | |
CepsReal | m_pdeStartTime |
Initial time. More... | |
CepsReal | m_pdeEndTime |
End time. More... | |
CepsReal | m_pdeTimeStep |
Time Step for the PDE. More... | |
CepsReal | m_pdeSnapshotTime |
Periodicity of outputs. More... | |
ScalarFunction * | m_initialCondition |
Function defining the initial condition, which is 0 if pointer is null. More... | |
CepsArray2< CepsArray3< CepsArray3< CepsReal > > > | m_errors |
Will store Linf, L1 and L2 relative errors. 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... | |
Additional Inherited Members | |
Public Types inherited from AbstractPdeProblem | |
using | ScalarFunction = ceps::Function< CepsReal(CepsStandardArgs)> |
Typedef for analytic solution. More... | |
Static Public Attributes inherited from AbstractTimedPdeProblem | |
static constexpr CepsBool | isStatic = false |
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... | |
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 33 of file HeatProblem.cpp.
|
override |
Destructor.
Definition at line 42 of file HeatProblem.cpp.
|
overridevirtual |
Lists the unknowns of the problem (one here)
Reimplemented from AbstractPdeProblem.
Definition at line 56 of file HeatProblem.cpp.
|
overridevirtual |
Lists the unknowns of the problem (one here)
Implements AbstractPdeProblem.
Definition at line 61 of file HeatProblem.cpp.
|
virtual |
Diffusion tensor.
Definition at line 68 of file HeatProblem.cpp.
|
overridevirtual |
Computes the solution.
Reimplemented from AbstractPdeProblem.
Definition at line 74 of file HeatProblem.cpp.
|
overridevirtual |
Set attributes from input file. Parameters are passed as arguments in case one wants to use other parameters.
Reimplemented from AbstractTimedPdeProblem.
Definition at line 47 of file HeatProblem.cpp.
|
protected |
Diffusion tensor.
Definition at line 73 of file HeatProblem.hpp.