CEPS  24.01
Cardiac ElectroPhysiology Simulator
Data Structures
Here are the data structures with brief descriptions:
[detail level 12]
 NcepsA namespace for all utility methods
 CAbstractAssemblerCommon elements for linear system assembly
 CAbstractDiscretizationAbstract Class for all numerical method (FE, FD, FV etc)
 CAbstractIonicModelRepresents a ionic model for a group of cells, i.e. multiple systems of ODEs
 CAbstractOdeSolverSolves ODE systems $y'=f(t,y)$
 CAbstractPacemakerProblemCommon elements of problems with a pacemaker
 CAbstractPacemakerSolverSolves pacemaker bidomain problem with FBE, SBDF RK or CN schemes
 CAbstractPdeProblemBase class for creating PDEs to solve
 CAbstractPdeSolverBase class for PDE solving
 CAbstractSelector
 CAbstractStaticPdeProblemAstract Problem which does not depend on time
 CAbstractStaticPdeSolverBase class for solving PDE with no time dependance
 CAbstractTimedPdeProblemAstract Problem which does depend on time
 CAbstractTimedPdeSolverBase class for solving PDE with time dependance
 CActivationTrackerClass managing computations from potential to outputs
 CAP95Aliev-Panfilov ionic model
 CArraySAFuncFunctor that gets its result from an array
 CAttributesSelector
 CBidomainProblemBidomain equation main class
 CBidomainSolverSolves bidomain problem with FBE, SBDF RK or CN schemes
 CBilayerMonodomainProblemTwo coupled monodomains
 CBilayerMonodomainSolverMonodomain solver on two atrial layers
 CBoundaryConditionBoundary condition
 CBoundaryConditionManagerBoundary condition to manage Dirichlet, Neumann and Robin conditions
 CBoundarySelector
 CBR77Beeler Reuter (1977) ionic model
 CBR77ModifiedBeeler Reuter model with bounded iNa current to avoid diverging solution because of
 CCardiacProblemA abstract class that regroups common parameters of cardiac problems
 CCardiacSolverSolves cardiac problems, that all share the same structure
 CCepsException
 CCepsHash3A triple hash to be used for coordinates (multiplied *10^12 then truncated)
 CCepsMathOperationCeps math operator functor, holds (+,-,*,/) definitions depending on mathematical definitions, so some definitions are missing
 CCepsMathOperation< CepsMathScalar, CepsMathScalar >Define operations between CepsMathScalar and CepsMathScalar available: plus, minus, mult and div
 CCepsMathOperation< CepsMathScalar, CepsMathTensor >Define operations between CepsMathScalar and CepsMathTensor available: plus, minus and mult
 CCepsMathOperation< CepsMathScalar, CepsMathVertex >Define operations between CepsMathScalar and CepsMathVertex available: plus, minus and mult
 CCepsMathOperation< CepsMathTensor, CepsMathScalar >Define operations between CepsMathTensor and CepsMathScalar available: plus, minus, mult and div
 CCepsMathOperation< CepsMathTensor, CepsMathTensor >Define operations between CepsMathTensor and CepsMathTensor available: plus, minus and mult
 CCepsMathOperation< CepsMathTensor, CepsMathVertex >Define operations between CepsMathTensor and CepsMathVertex available: only mult
 CCepsMathOperation< CepsMathVertex, CepsMathScalar >Define operations between CepsMathVertex and CepsMathScalar available: plus, minus, mult and div
 CCepsMathOperation< CepsMathVertex, CepsMathTensor >Define operations between CepsMathVertex and CepsMathTensor available: only mult
 CCepsMathOperation< CepsMathVertex, CepsMathVertex >Define operations between CepsMathVertex and CepsMathVertex available: plus, minus and mult
 CCepsObjectBase class for other (big) CEPS classes. All classes can get a pointer to this base class and also contain a Profiler
 CCepsStandardArgsStructure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extraction of the correct argument from this structured type
 CCepsVertex
 CCLMonodomainProblem
 CCoeffInterpolatorSAFuncFunctions with result that is deduced from a coefficient and an interpolation map
 CCoeffReaderReader used to import point or cell data from files
 CCompactSupportFunctionThe support compact functions themselves
 CConstantSAFunc================================================================================================ Derivation of SAFunc for constants (no dependance in time or space)
 CConvergenceStudyGeneric class that regroups common elements of convergence studies
 CCoupledNodesReaderA derived class of FileReader that is used when reading coupled Nodes files
 CCRN98Courtemanche-Ramirez-Nattel ionic model
 CCstPiecewiseSAFunc================================================================================================ Functions defined by region, or by unknown (piecewise), with constant pieces
 CCustomSelector
 CDegreeOfFreedomA degree of freedom for any kind of problem The dof can be associated to a geometrical element or not. Each dof is tied to a single PDE unknown, has one global index, and can have one attribute
 CDicoFuncTimeSelectorA simple SA func that extracts time from arguments, will be added to the dictionary upon creation
 CDirichletAnodeCathodeProblemPoisson equation with Dirichlet 1 on anode, 0 on cathode. Neumann elsewhere. Functional tensorial conductivity
 CDirichletAnodeCathodeSolverDirichletAnodeCathode solver with custom stiffness tensor
 CDistributedFactory
 CDistributedHaloVectorExtended distributed vectors
 CDistributedInfosA class that manages data that is distributed between processors, not only real values (as in DistributedVector or DistributedMatrix)
 CDistributedMatrixSparse matrix distributed between process
 CDistributedVectorStructure to hold spatially dependant data and distribute it between process
 CElectrodeBaseBase class for electrode objects. This one just holds attributes and size, and has very few options
 CExcitationSpatialFunctionExcitationSpatialFunction inherited from ceps::Function
 CExcitationTimeFunctionExcitationTimeFunction inherited from ceps::Function
 CExplicitEulerOdeSolverFirst order Explicit Euler, aka RK1 or FBE or ..
 CExponentialAdamsBashforthOdeSolverNumerical integration of $y'=a(t,y)*y + b(t,y)$ using EAB methods
 CExtendedBidomainProblemBidomain equation with extracardiac medium main class
 CExtendedBidomainSolverSolves bidomain extended problem with FBE, SBDF RK or CN schemes
 CFBEOdeSolverNumerical integration of ODE using semi implicit Euler method
 CFctPiecewiseSAFunc================================================================================================ Functions defined by region, or by unknown (piecewise), with functional pieces
 CFEAssemblerA base class made for Finite Element assembler
 CFEBaseAbstract class for finite elements
 CFEBidomainAssemblerLinear system builder for the bidomain equation
 CFEBilayerMonodomainAssemblerMatrix builder for monodomain equation on two coupled layers
 CFECardiacBCAssemblerClass to fill linear systems with coefficients linked to boundary conditions
 CFECardiacParametersCommon elements of cardiac assemblers
 CFEDivKGradAssemblerAssembles the stiffness matrix for a given k-simplexes geometry
 CFEDivKGradBCAssemblerClass to fill linear systems with coefficients linked to boundary conditions
 CFEExtendedBidomainAssemblerLinear system builder for the bidomain extended equation
 CFEHeatAssemblerAssembles the heat problem matrix for a given set of finite elements. here the diffusion coefficient is dependant of time and/or space
 CFEIntegratorComputes the integral of a quantity on the whole domain or subdomains, using a FE matrix
 CFEMassAssemblerAssembles the mass matrix for a given k-simplexes geometry
 CFEMonodomainAssemblerMatrix building routines for the monodomain equation
 CFEMonodomainIntraAssemblerMatrix building routines for the monodomain equation
 CFENodeA nodal point on a finite element. It is different from a geom node as it may have different properties. Also, there is not necessarily a match between geom nodes from the mesh and FE nodal points
 CFENullMeanConstraintAssemblerA class that adds a 0 mean constraint to an already existing assembler
 CFEPacemakerBidomainAssembler
 CFEPacemakerPoissonAssembler
 CFEStaticSolverSolve a static problem using Finite Elements. Based on finite elements assemblers
 CFETimedSolverSolve a timed problem using Finite Elements. Implemented numerical schemes: SBDF (1 (FBEuler),2,3,4) RK
 CFieldA Field is an object wrapped around a SAFunc functor, defined on at least one domain
 CFileInterpolatorSAFuncFunctor that uses data from a collection of files to return a value at position x and time t
 CFileReaderBase class that regroups common reader functionalities
 CFileWriterEnables the writing of files
 CFiniteElementsHolds all finite elements corresponding to each geometrical element
 CFlagsManagement of run options
 CFluxAnodeCathodeProblemPoisson equation with Neumann 1 on anode, -1 on cathode. Neumann 0 elsewhere. Functional tensorial conductivity
 CFluxAnodeCathodeSolverSolver for a Poisson equation with Neumann BC (using 0 mean constraint)
 CFunctionDictionaryFunctionDictionary that holds functions which can be used to define source terms, boundary conditions or physical coefficients
 CGaussianQuadratureGaussian quadrature for Pk simplex
 CGeomCellAbstract class for geometrical cell. On top of index and attributes managament, the cell has information on the deformation from reference element to actual cell (jacobian of deformation)
 CGeomCellJunctionMeta-cell for connections between meshes
 CGeometryEncapsulates all the geometrical data
 CGeometryPartitionerClass is used to compute a geometry (multiple meshes) partitioning
 CGeometryReaderRegroups all geometrical data readers and prepare for partitionning
 CGeomNodeBase class for nodes used in meshes
 CGeomSimplexK-simplex geometrical element
 CGmshMeshReaderReader for gmsh (.msh) files. For now, only version 2 of the msh format is implemented
 CHeatProblemHeat PDE, single unknown, constant diffusion coeff 1, homogeneous Neumann (no BC defined)
 CHeatSolverSolve heat equation
 CHoldsAnodeCathodeAn abstract class for objects (problems) that have an anode and a cathode The template argument must be or derive from ElectrodeBase
 CInputParametersReads and stores simulation configuration
 CIonicSolverGroups two ODE solvers for ionic variables and interacts with cardiac problem
 CLaplacianProblemLaplacian PDE, single unknown, constant stiffness coefficient
 CLaplacianSolverSolve laplacian equation with backward Euler, constant time step, using Finite Elements
 CLinearSystemLinear system Ax=b to be solved
 CLocalGlobalMappingA map destined for things that have (or could have) a global index and must be distributed amongst CPUs. The class manages the local to global indices mapping, and back
 CMeditGeometryWriterConvert a Geometry to a mesh file readable by the Medit viewer
 CMeditMeshReaderReader for medit (.mesh) files
 CMeditSolutionWriterOutputs a solution vector to medit format
 CMeshGeometrical information of 1,2 or 3D distributed cells
 CMeshReaderAbstract base class that encapsulates primary functionalities of each mesh reader
 CMonodomainProblemDefines and solve the monodomain problem, see models page of user doc
 CMonodomainSolverSolves the monodomain problem with FBE, SBDF RK or CN schemes
 CMonomialA class that describes a monomial of N variables It contains exponents and coefficients for each dimension of variables
 CMpiTypeUsed to retrieve the MPI "type" in function of the true type
 CMS03Mitchell-Schaeffer ionic model
 CMS03ModifiedMitchell-Schaeffer ionic model, with modification to keep ionic current bounded
 CNodeCouplingMeta-cell for connections between meshes
 COperatorSAFuncOperation on two SA Funcs
 CORdmD16O'Hara - Rudy CiPA v1.0 (2017) ionic model
 CPacemakerBidomainProblemBidomain equation with extracardiac medium and connected to a pacemaker main class
 CPacemakerBidomainSolverSolves pacemaker bidomain problem with FBE, SBDF RK or CN schemes
 CPacemakerPoissonProblemBidomain equation with extracardiac medium and connected to a pacemaker main class
 CPacemakerPoissonSolverSolves pacemaker poisson problem with FBE, SBDF RK or CN schemes
 CParallelRCElectrode
 CPdeErrorCalculatorUtility to measure distance with respect to analytic solution or given vectors
 CPolynomialA class to represent polynomials, as a collection of Monomial and coefficients
 CProfilerA Chronometer used to measure execution of blocks of code, plus some methods to get current memory usage of the process
 CPtscotchPartitionerGeometry partitioning with PtScotch
 CReferenceFEBase class for reference finite elements
 CRungeKuttaOdeSolverNumerical integration of $y'=f(t,y)$ using RK explicit methods
 CRushLarsenOdeSolverNumerical integration of $y'=a(t,y)*y + b(t,y)$ using Rush Larsen methods
 CSAFuncA SAFunc is a ceps::Function that uses CepsStandardArgs as argument of call operator (), hence the name. Moreover, an object is stored as ptr in the class. This object can be used to evaluate the result
 CSBDFOdeSolverNumerical integration of $y'=f(t,y)$ using Stiff Backward Differentiation methods
 CSolVecSAFuncA SAFunc which gets its values from a distributed vector of values on degrees of freedom
 CSourceTermSource term, essentially a ScalarField
 CSourceTermManagerSource term manager to create and manage SourceTerm objects
 CSphereSelector
 CTetgenMeshReaderParser for tetgen .ele .node ... files
 CTimeIntegratorA class that computes the integral over time of a pointed scalar. The integral is computed each time the update() method is called. Time step has to be constant. NewtonCotes methods of order 1,2,3,4,6,7,8,9,10 are implemented
 CTimeOnlySAFunc================================================================================================ Derivation of SAFunc for constants (no dependance in space) but dependance in time
 CTimeStepperA simple time stepper used in dynamic linear solvers
 CTimeWriter
 CTTP06Ten-Tusscher Panvilov ionic model (3 variants)
 CUnknownA class used to defined an unknown of a PDE problem The unknown can be defined on a specific region, or can be 0D. If defined on a region, it can be localized either on cells or points of the mesh (point by default). Each unknown has an ID (int), and a name (str)
 CUnknownInteractionData describing how two unknowns are coupled
 CVariableTimeStepperFIXME Variable ?
 CVtkMeshReaderThis class enables reading of vtk dataset files
 CVtkWriterA class that enables the output of binary parallel VTK format files