CEPS  24.01
Cardiac ElectroPhysiology Simulator
LaplacianSolver Class Reference

Detailed Description

Solve laplacian equation with backward Euler, constant time step, using Finite Elements.

Linear system to solve is : K * U^{n+1} = b + f where K = stiffness matrix, b non-homogenous Neumann bc, f source term

Definition at line 46 of file LaplacianSolver.hpp.

#include <LaplacianSolver.hpp>

Inheritance diagram for LaplacianSolver:
[legend]

Public Member Functions

 LaplacianSolver (LaplacianProblem *problem)
 Constructor. More...
 
 ~LaplacianSolver () override
 Destructor. More...
 
- Public Member Functions inherited from FEStaticSolver
 FEStaticSolver ()=delete
 Deleted constructor. More...
 
 FEStaticSolver (AbstractStaticPdeProblem *problem)
 Constructor (valid with HeatProblem and PseudoWaveFrontProblem) More...
 
 ~FEStaticSolver () override
 Destructor. More...
 
- Public Member Functions inherited from AbstractStaticPdeSolver
 AbstractStaticPdeSolver (AbstractStaticPdeProblem *pb)
 Constructor with problem. More...
 
virtual ~AbstractStaticPdeSolver ()
 Destructor. More...
 
void solve () override
 Solves the whole PDE in time. 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...
 
CepsUInt getExpectedNumberOfOutputs () const final
 Number of files written. More...
 
virtual void output (DHVecPtr solution, CepsBool immediateWriting=true)
 Prints the solution and flush the writer if immediateWriting is true. More...
 
DHVecPtr getSolution () const
 Returns a copy of the distributed vector containing the current solution. More...
 
void enableErrorComputation ()
 Sets the comparison with analytic solution. More...
 
CepsArray2< CepsArray3< CepsReal > > getErrors () const
 Gets the currently computed errors. First index selects absolute(0) orrelative(1) second index is L-inf, L1, L2 selector. More...
 
- Public Member Functions inherited from AbstractPdeSolver
 AbstractPdeSolver ()=delete
 Deleted default constructor. More...
 
 AbstractPdeSolver (AbstractPdeProblem *pb)
 Constructor with problem. More...
 
 AbstractPdeSolver (const AbstractPdeSolver &that)=delete
 No copy. More...
 
AbstractPdeSolveroperator= (const AbstractPdeSolver &that)=delete
 No assignment. More...
 
 ~AbstractPdeSolver () override
 Destructor. More...
 
void disableOutput ()
 Stops output. More...
 
void enableOutput ()
 Starts output. More...
 
TimeWritergetTimeWriter () const
 Access to Time Writer to be able to add data. More...
 
void disableErrorComputation ()
 Sets the comparison with analytic solution. More...
 
- Public Member Functions inherited from CepsObject
 CepsObject ()=default
 default constructor More...
 
 CepsObject (const CepsObject &)=default
 Copy constructor. More...
 
virtual ~CepsObject ()=default
 Destructor. More...
 
CepsObjectoperator= (const CepsObject &)=default
 Assignment operator. More...
 
CepsObjecttoBaseObject ()
 Returns a pointer to CepsObject class. More...
 
const CepsObjecttoBaseObject () const
 Returns a pointer to CepsObject class, const version. More...
 
ProfilergetProfiler () const
 Access to profiler. More...
 

Protected Member Functions

LaplacianProblemgetLaplacianProblem () const
 Returns a pointer to the linked problem with appropriate type. More...
 
void initializeAssemblers () override
 Creates the LHS assembler. More...
 
- Protected Member Functions inherited from FEStaticSolver
void assembleAndSolve () override
 Main routine used during solving, assemble the system and solve it. More...
 
- Protected Member Functions inherited from AbstractStaticPdeSolver
AbstractStaticPdeProblemgetStaticProblem () const
 Returns a pointer with the appropriate type of pb. More...
 
void updateAssemblers () override
 Update assemblers and recompute everything is needed. More...
 
- Protected Member Functions inherited from AbstractPdeSolver
virtual void initializeWriter ()
 Creates the solution writer. More...
 

Additional Inherited Members

- Protected Attributes inherited from FEStaticSolver
FiniteElementsm_fe
 Geometry and reference FE. More...
 
- Protected Attributes inherited from AbstractStaticPdeSolver
DHVecPtr m_solution
 The actual vector with the solution. More...
 
CepsBool m_writeInitialGuess
 Flag for outputs. More...
 
- Protected Attributes inherited from AbstractPdeSolver
AbstractPdeProblemm_problem
 Link to PDE to solve. More...
 
AbstractDiscretizationm_discretization
 Link to PDE discretization. More...
 
LinearSystemm_linearSystem
 Linear system. More...
 
DMatPtr m_lhs
 Left hand side of the system. More...
 
DVecPtr m_rhs
 Right hand side of the system. More...
 
AbstractAssemblerm_opAsb
 Assembler for the operator matrix. More...
 
DMatPtr m_opMat
 Matrix of operator. More...
 
AbstractAssemblerm_bcAsb
 Assembler for Robin and Neumann BCs. More...
 
DMatPtr m_bcMat
 Matrix of boundary conditions. More...
 
DVecPtr m_bcVec
 Vector of boundary conditions. More...
 
AbstractAssemblerm_lapSrcAsb
 Assembler for laplace source terms. More...
 
DMatPtr m_lapSrcMat
 Matrix used for laplace source terms. More...
 
CepsBool m_hasRegSrc
 Flag telling if there are regular source terms. More...
 
CepsBool m_hasLapSrc
 Flag telling if there are Delta f source terms. More...
 
CepsBool m_useMassLumping
 Put the mass on the diagonal of the matrix. More...
 
CepsBool m_doOutput
 Enables/disables outputs. More...
 
VtkWriterm_writer
 Manages output. More...
 
TimeWriterm_timeWriter
 Writer for time dependant data (even for static problems...) More...
 
CepsBool m_doError
 Compute error wrt analytic solution or reference. More...
 
PdeErrorCalculatorm_errors
 Error computation. More...
 
- Static Protected Attributes inherited from CepsObject
static Profiler m_profiler
 The same profiler for each big object. More...
 

Constructor & Destructor Documentation

◆ LaplacianSolver()

LaplacianSolver::LaplacianSolver ( LaplacianProblem problem)
explicit

Constructor.

Definition at line 31 of file LaplacianSolver.cpp.

◆ ~LaplacianSolver()

LaplacianSolver::~LaplacianSolver ( )
override

Destructor.

Definition at line 36 of file LaplacianSolver.cpp.

Member Function Documentation

◆ getLaplacianProblem()

LaplacianProblem * LaplacianSolver::getLaplacianProblem ( ) const
protected

Returns a pointer to the linked problem with appropriate type.

Definition at line 41 of file LaplacianSolver.cpp.

◆ initializeAssemblers()

void LaplacianSolver::initializeAssemblers ( )
overrideprotectedvirtual

Creates the LHS assembler.

Implements AbstractPdeSolver.

Definition at line 47 of file LaplacianSolver.cpp.


The documentation for this class was generated from the following files: