45 setArgsFromLocation(args);
59 getProfiler()->
start(
"whole",
"solving the whole PDE (FluxAnodeCathodeProblem + CLMonodomainProblem)");
81 CepsString sourceOptions =
"cl cl UNKNOWN 0 TYPE KTERM ATTRIBUTES";
CepsFunctionFlag
Enum for CepsStandardArgs functions.
@ DofIndex
Use dof index to determine position.
std::basic_string< CepsChar > CepsString
C++ format string.
CepsInt CepsAttribute
Used to define regions.
float CepsReal
Need single precision floating point.
std::shared_ptr< DistributedHaloVector > DHVecPtr
Typedef for pointer on Distributed Halo CepsVector.
void setProblemName(const CepsString &name)
Set the name of the problem.
CepsString getOutputFileBase() const
Output file name includes the directory.
FunctionDictionary * getFunctionDictionary() const
Get functions manager.
SourceTermManager * getSourceTermManager() const
Get boundary condition manager.
void addUnknown(const CepsString &label, CepsSet< CepsAttribute > attrs={}, CepsLocationFlag flag=CepsLocationFlag::Point, const CepsString &unit="")
Register a new unknown.
InputParameters * m_parameters
Input file data.
void setOutputFileBase(CepsString fileName)
Output file name includes the directory.
Geometry * m_geom
Link to geometry on which the pb is defined.
FunctionDictionary * m_functions
Collection of custom functions.
void initializeEquation() override
Initializes equations (unknowns, bc, source term) and creates the spatial discretization This method ...
DHVecPtr getSolution() const
Returns a copy of the distributed vector containing the current solution.
Ufunc(DHVecPtr *sol, CepsFunctionFlag loc)
Constructor.
CepsReal eval(CepsStandardArgs args) final
Returs f(u)=u.
void defineUnknowns() override
A single unknown for transmembrane voltage.
void run() override
Run the simulation.
void defineBoundaryConditions() override
For cardiac problems, use the "boundary stimulation" key to create boundary conditions using the same...
CLMonodomainProblem(Geometry *g, InputParameters *=nullptr)
Constructor with input strings and geometry.
void defineBoundaryConditions() override
For cardiac problems, use the "boundary stimulation" key to create boundary conditions using the same...
CepsString m_sigmaIOptions
Options for intracellular conductivity.
CepsString m_sigmaEOptions
Options for extracellulat conductivity.
CepsSet< CepsAttribute > m_tissueAttributes
Identifier for the tissue region, default {-1}.
const CepsSet< CepsAttribute > & getTissueAttributes() const
All attributes that localize tissue.
void initializeEquation() override
Initializes all the elements of the PDE from options.
void solve() override
Performs all iterations of the PDE solver.
Profiler * getProfiler() const
Access to profiler.
Poisson equation with Neumann 1 on anode, -1 on cathode. Neumann 0 elsewhere. Functional tensorial co...
Solver for a Poisson equation with Neumann BC (using 0 mean constraint)
void solve() override
Solve and postprocess.
void add(const CepsString &label, const CepsString ¶ms, Geometry *geom=nullptr)
Add an object from parameters.
void addFunction(const CepsString &label, const CepsString ¶ms)
Add a function deduced from tags only, works only with scalar return type.
void addEntry(const CepsString &label, ScalarEntry func)
Ads an entry to the map of scalar functions.
Encapsulates all the geometrical data.
Defines and solve the monodomain problem, see models page of user doc.
Solves the monodomain problem with FBE, SBDF RK or CN schemes.
void stop(CepsString lbl)
Stops the measure of a labeled chronometer.
void start(CepsString lbl, CepsString dspl="")
Creates or continue a labeled chronometer.
A SAFunc which gets its values from a distributed vector of values on degrees of freedom.
void add(const CepsString ¶ms, CepsBool computeSupport=false)
Add a source term from parameters.
CepsString toString(_Tp value)
Convert a given value to a string (input has to be compatible with std::to_string)
CepsBool isProfiling()
Check if we are currently profiling on the master proc (always false on slave procs).
static constexpr const char * vm
Transmembrane voltage.
Structure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extract...