GCC Code Coverage Report


Directory: ./
File: Core/felisceTransient.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: J-F. Gerbeau
13 //
14
15 #ifndef _FELISCE_TRANSIENT_HPP
16 #define _FELISCE_TRANSIENT_HPP
17
18 // System includes
19
20 // External includes
21
22 // Project includes
23 #include "Core/shared_pointers.hpp"
24 #include "Core/felisceParam.hpp"
25
26 namespace felisce
27 {
28 ///@name felisce Globals
29 ///@{
30
31 ///@}
32 ///@name Type Definitions
33 ///@{
34
35 ///@}
36 ///@name Enum's
37 ///@{
38
39 ///@}
40 ///@name Functions
41 ///@{
42
43 ///@}
44 ///@name felisce Classes
45 ///@{
46 class FelisceTransient
47 {
48 public:
49 ///@name Type Definitions
50 ///@{
51
52 /// Pointer definition of Point
53 FELISCE_CLASS_POINTER_DEFINITION(FelisceTransient);
54
55 ///@}
56 ///@name Life Cycle
57 ///@{
58
59 /// default constructor
60 FelisceTransient();
61
62 // copy constructor
63 FelisceTransient(const FelisceTransient& rFelisceTransient);
64
65 ///@}
66 ///@name Operators
67 ///@{
68
69 ///@}
70 ///@name Operations
71 ///@{
72
73 /**
74 * @brief Increase the iterations counter
75 */
76 17471 void increaseCounter() {++non_linear_iteration;++total_number_iterations;}
77
78 /**
79 * @brief This method returns the iteration number as a string
80 * @details Always returns 5 spaces
81 * @note This can be optimized
82 */
83 std::string itStr() const;
84
85 ///@}
86 ///@name Access
87 ///@{
88
89 ///@}
90 ///@name Inquiry
91 ///@{
92
93 ///@}
94 ///@name Input and output
95 ///@{
96
97 /**
98 * @brief This prints the information of the transient class
99 */
100 void print() const;
101
102 ///@}
103 ///@name Friends
104 ///@{
105
106 ///@}
107 ///@name Member Variables
108 ///@{
109
110 double timeStep = 0.0; /// The increment of the time step
111 double time = 0.0; /// The current time of the simulation
112 int iteration = 0; /// The non-linear iteration number (NOTE: Should be unsigned)
113 int non_linear_iteration = -1; /// The non-linear iteration number (NOTE: Should be unsigned, but interacts with PETSc)
114 int total_number_iterations = 0; /// The total number of iterations
115
116 ///@}
117 protected:
118 ///@name Protected static Member Variables
119 ///@{
120
121 ///@}
122 ///@name Protected member Variables
123 ///@{
124
125 ///@}
126 ///@name Protected Operators
127 ///@{
128
129 ///@}
130 ///@name Protected Operations
131 ///@{
132
133 ///@}
134 ///@name Protected Access
135 ///@{
136
137 ///@}
138 ///@name Protected Inquiry
139 ///@{
140
141 ///@}
142 ///@name Protected LifeCycle
143 ///@{
144
145 ///@}
146 private:
147 ///@name Private static Member Variables
148 ///@{
149
150 ///@}
151 ///@name Private member Variables
152 ///@{
153 ///@}
154 ///@name Private Operations
155 ///@{
156
157 ///@}
158 ///@name Private Access
159 ///@{
160
161 ///@}
162 ///@name Private Inquiry
163 ///@{
164
165 ///@}
166 ///@name Private LifeCycle
167 ///@{
168
169 ///@}
170 };
171 ///@}
172 ///@name Type Definitions
173 ///@{
174
175 ///@}
176 } /* namespace felisce.*/
177
178 #endif
179