CEPS  24.01
Cardiac ElectroPhysiology Simulator
HeatSolver.hpp
Go to the documentation of this file.
1 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2  This file is part of CEPS.
3 
4  CEPS is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  CEPS is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with CEPS (see file LICENSE at root of project).
16  If not, see <https://www.gnu.org/licenses/>.
17 
18 
19  Copyright 2019-2024 Inria, Universite de Bordeaux
20 
21  Authors, in alphabetical order:
22 
23  Pierre-Elliott BECUE, Florian CARO, Yves COUDIERE(*), Andjela DAVIDOVIC,
24  Charlie DOUANLA-LONTSI, Marc FUENTES, Mehdi JUHOOR, Michael LEGUEBE(*),
25  Pauline MIGERDITICHAN, Valentin PANNETIER(*), Nejib ZEMZEMI.
26  * : currently active authors
27 
28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
30 #pragma once
31 
33 
34 // Forward declaration
35 class HeatProblem;
36 
38 class HeatSolver : public FETimedSolver
39 {
40 
41  public:
43  HeatSolver() = delete;
44 
46  explicit HeatSolver(HeatProblem *problem);
47 
49  ~HeatSolver() override;
50 
51  protected:
52 
54  void
55  initializeAssemblers() override;
56 
59  getHeatProblem() const;
60 };
Solve a timed problem using Finite Elements. Implemented numerical schemes: SBDF (1 (FBEuler),...
Heat PDE, single unknown, constant diffusion coeff 1, homogeneous Neumann (no BC defined)
Definition: HeatProblem.hpp:36
Solve heat equation.
Definition: HeatSolver.hpp:39
void initializeAssemblers() override
Creates the right type of assemblers for LHS and BCs. Needs to be overriden.
Definition: HeatSolver.cpp:50
~HeatSolver() override
Destructor.
Definition: HeatSolver.cpp:45
HeatProblem * getHeatProblem() const
Returns a pointer to the pb with appropriate type.
Definition: HeatSolver.cpp:66
HeatSolver()=delete
Deleted constructor.