GCC Code Coverage Report


Directory: ./
File: Model/PODModel.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 0 2 0.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: E. Schenone D.Lombardi
13 //
14
15 #ifndef _PODMODEL_HPP
16 #define _PODMODEL_HPP
17
18 // System includes
19
20 // External includes
21 #include <petscvec.h>
22
23 // Project includes
24 #include "Model/model.hpp"
25 #include "Solver/eigenProblem.hpp"
26 #include "Solver/eigenProblemPOD.hpp"
27 #include "Solver/cardiacFunction.hpp"
28
29 namespace felisce {
30 /*!
31 \file PODModel.hpp
32 \authors E. Schenone D.Lombardi
33 \date 10/12/2012
34 \brief POD model class manages Proper Orthogonal Decomposition.
35 */
36 class PODModel:
37 public Model {
38 public:
39 /// Construtor.
40 PODModel();
41 /// Destructor.
42 ~PODModel() override;
43 /// Initializations
44 void initializeDerivedModel() override {}
45 void initializeEigenProblem(std::vector<EigenProblemPOD*> eigenPb);
46 void preAssembleMatrix(const int iProblem);
47 virtual void postAssembleMatrix(const int iProblem) {
48 IGNORE_UNUSED_ARGUMENT(iProblem);
49 }
50 void updateTime(const FlagMatrixRHS flagMatrixRHS=FlagMatrixRHS::matrix_and_rhs) override;
51 void writeSolution();
52 void solveEigenProblem();
53 /// Manage time iteration.
54 void forward() override;
55 /// Acces functions.
56 EigenProblemPOD* eigenProblem() {
57 return m_eigenProblem[0];
58 }
59 EigenProblemPOD* eigenProblem(int iProblem) {
60 return m_eigenProblem[iProblem];
61 }
62 protected:
63 std::vector<EigenProblemPOD*> m_eigenProblem;
64 private:
65 int m_method;
66 };
67 }
68
69 #endif
70