GCC Code Coverage Report


Directory: ./
File: Solver/cardiacCycle.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 0 6 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: S. Smaldone
13 //
14
15 #ifndef _CARDIACCYCLE_HPP
16 #define _CARDIACCYCLE_HPP
17
18 // System includes
19
20 // External includes
21 #include "Core/NoThirdPartyWarning/Petsc/vec.hpp"
22
23 // Project includes
24 #include "Core/felisce.hpp"
25 #include "FiniteElement/geoElement.hpp"
26 #include "Core/felisceParam.hpp"
27 #include "Core/felisceTransient.hpp"
28 #include "Solver/RISModel.hpp"
29 #include "Tools/analyticFunction.hpp"
30
31 namespace felisce
32 {
33 class CardiacCycle {
34 FelisceTransient::Pointer m_fstransient;
35 RISModel* m_ris;
36
37 //! Linear Problem
38 std::vector<LinearProblem*> m_linearProblem;
39 double m_duration_ejection;
40 double m_duration_isovol_relax;
41 double m_duration_filling;
42 double m_duration_isovol_contract;
43 std::vector<double> m_pressure_in;
44 std::vector<double> m_inflow;
45 std::vector<int> _CardiacCycleLabel;
46 std::vector<int> m_closed_surf;
47 std::vector<double> m_p0_isovol_relax;
48 double m_penalisationParam;
49 double m_t0_ejection;
50 double m_t0_isovol_relax;
51 bool m_flag_valve_was_open ;
52 double m_dt;
53 public:
54 //!Constructor.
55 CardiacCycle(FelisceTransient::Pointer fstransient,
56 RISModel* risModel, std::vector<LinearProblem*> linearProblem);
57 //!Destructor.
58 ~CardiacCycle() = default;
59 void ApplyCardiacCycleInput();
60 void InflowCondition();
61 void PressureInput();
62
63
64
65 // access function
66 std::vector<double> & Pressure_in() {
67 return m_pressure_in;
68 }
69 std::vector<double> & inflow() {
70 return m_inflow;
71 }
72 double& penalisationParam() {
73 return m_penalisationParam;
74 }
75 double& t0_ejection() {
76 return m_t0_ejection;
77 }
78 };
79
80 }
81
82 #endif
83
84