GCC Code Coverage Report


Directory: ./
File: Model/poroElasticityModel.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 1 1 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 // ______ ______ _ _ _____ ______
2 // | ____| ____| | (_)/ ____| | ____|
3 // | |__ | |__ | | _| (___ ___| |__
4 // | __| | __| | | | |\___ \ / __| __|
5 // | | | |____| |____| |____) | (__| |____
6 // |_| |______|______|_|_____/ \___|______|
7 // Finite Elements for Life Sciences and Engineering
8 //
9 // License: LGL2.1 License
10 // FELiScE default license: LICENSE in root folder
11 //
12 // Main authors:
13 //
14
15
16 #ifndef __POROELASTICITYMODEL_HPP__
17 #define __POROELASTICITYMODEL_HPP__
18
19 // System includes
20
21 // External includes
22
23 // Project includes
24 #include "Model/model.hpp"
25 #include "Solver/linearProblemPoroElasticity.hpp"
26
27 namespace felisce {
28 class PoroElasticityModel:
29 public Model {
30 public:
31 /// Construtor.
32 PoroElasticityModel();
33 /// Empty destructor.
34 4 ~PoroElasticityModel() override = default;;
35
36 // Initialization of poroElasticityModel
37 void initializeDerivedModel() override;
38
39 // Standard forward
40 // It calls prepareForward, it assembles the current matrix matrix.
41 // It calls postAssembling MatrixRHS and solvePoroElasticity.
42 void forward() override;
43
44 // Boundary conditions and ksp
45 void solvePoroElasticity(FlagMatrixRHS flag = FlagMatrixRHS::matrix_and_rhs);
46
47 #ifdef FELISCE_WITH_CVGRAPH
48 void startIterationCVG() override;
49 #endif
50
51 private:
52
53 // Pointer to linear problem casted to LinearProblemPoroElasticity
54 LinearProblemPoroElasticity* m_lpbPE;
55
56 // Called in model.cpp, used to assemble the static part of the matrix.
57 void preAssemblingMatrixRHS(std::size_t iProblem=0) override;
58
59 // Posto processing, advancing in time
60 void prepareForward(FlagMatrixRHS flag = FlagMatrixRHS::matrix_and_rhs);
61
62 protected:
63 felInt m_idPE;
64 };
65 }
66
67 #endif
68