Skip to content

Commit c991178

Browse files
committed
Cleanup of headers of iteration classes
1 parent 89b32ac commit c991178

20 files changed

Lines changed: 42 additions & 206 deletions

SU2_CFD/include/iteration/CAdjFluidIteration.hpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ class CAdjFluidIteration : public CFluidIteration {
4141
* \brief Constructor of the class.
4242
* \param[in] config - Definition of the particular problem.
4343
*/
44-
CAdjFluidIteration(const CConfig* config);
45-
46-
/*!
47-
* \brief Destructor of the class.
48-
*/
49-
~CAdjFluidIteration(void) override;
44+
explicit CAdjFluidIteration(const CConfig *config) : CFluidIteration(config) {}
5045

5146
/*!
5247
* \brief Preprocessing to prepare for an iteration of the physics.

SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class CDiscAdjFEAIteration : public CIteration {
4747
* \brief Constructor of the class.
4848
* \param[in] config - Definition of the particular problem.
4949
*/
50-
CDiscAdjFEAIteration(const CConfig* config);
50+
explicit CDiscAdjFEAIteration(const CConfig* config);
5151

5252
/*!
5353
* \brief Destructor of the class.

SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,15 @@ class CFluidIteration;
3939
*/
4040
class CDiscAdjFluidIteration : public CIteration {
4141
private:
42-
CFluidIteration* meanflow_iteration; /*!< \brief Pointer to the mean flow iteration class. */
43-
unsigned short CurrentRecording; /*!< \brief Stores the current status of the recording. */
44-
bool turbulent; /*!< \brief Stores the turbulent flag. */
42+
const bool turbulent; /*!< \brief Stores the turbulent flag. */
4543

4644
public:
4745
/*!
4846
* \brief Constructor of the class.
4947
* \param[in] config - Definition of the particular problem.
5048
*/
51-
CDiscAdjFluidIteration(const CConfig* config);
49+
explicit CDiscAdjFluidIteration(const CConfig *config) : CIteration(config),
50+
turbulent(config->GetKind_Solver() == DISC_ADJ_RANS || config->GetKind_Solver() == DISC_ADJ_INC_RANS) {}
5251

5352
/*!
5453
* \brief Destructor of the class.
@@ -185,26 +184,6 @@ class CDiscAdjFluidIteration : public CIteration {
185184
void RegisterOutput(CSolver***** solver, CGeometry**** geometry, CConfig** config, COutput* output,
186185
unsigned short iZone, unsigned short iInst) override;
187186

188-
/*!
189-
* \brief Record a single iteration of the direct mean flow system.
190-
* \param[in] output - Pointer to the COutput class.
191-
* \param[in] integration - Container vector with all the integration methods.
192-
* \param[in] geometry - Geometrical definition of the problem.
193-
* \param[in] solver - Container vector with all the solutions.
194-
* \param[in] numerics - Description of the numerical method (the way in which the equations are solved).
195-
* \param[in] config - Definition of the particular problem.
196-
* \param[in] surface_movement - Surface movement classes of the problem.
197-
* \param[in] grid_movement - Volume grid movement classes of the problem.
198-
* \param[in] FFDBox - FFD FFDBoxes of the problem.
199-
* \param[in] val_iZone - Index of the zone.
200-
* \param[in] val_iInst - Index of the instance.
201-
* \param[in] kind_recording - The kind of recording (geometry or flow).
202-
*/
203-
void SetRecording(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
204-
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
205-
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
206-
unsigned short val_iInst, unsigned short kind_recording);
207-
208187
/*!
209188
* \brief Record a single iteration of the direct mean flow system.
210189
* \param[in] solver - Container vector with all the solutions.

SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,18 @@
3030

3131
#include "CIteration.hpp"
3232

33-
class CHeatIteration;
34-
3533
/*!
3634
* \class CDiscAdjHeatIteration
3735
* \brief Class for driving an iteration of the discrete adjoint heat equation.
3836
* \author O. Burghardt
3937
*/
4038
class CDiscAdjHeatIteration : public CIteration {
41-
private:
42-
CHeatIteration* mean_iteration; /*!< \brief Pointer to the mean flow iteration class. */
43-
unsigned short CurrentRecording; /*!< \brief Stores the current status of the recording. */
44-
4539
public:
4640
/*!
4741
* \brief Constructor of the class.
4842
* \param[in] config - Definition of the particular problem.
4943
*/
50-
CDiscAdjHeatIteration(const CConfig* config);
44+
explicit CDiscAdjHeatIteration(const CConfig *config) : CIteration(config) {}
5145

5246
/*!
5347
* \brief Destructor of the class.
@@ -178,38 +172,6 @@ class CDiscAdjHeatIteration : public CIteration {
178172
void RegisterOutput(CSolver***** solver, CGeometry**** geometry, CConfig** config, COutput* output,
179173
unsigned short iZone, unsigned short iInst) override;
180174

181-
/*!
182-
* \brief Record a single iteration of the direct heat system.
183-
* \param[in] output - Pointer to the COutput class.
184-
* \param[in] integration - Container vector with all the integration methods.
185-
* \param[in] geometry - Geometrical definition of the problem.
186-
* \param[in] solver - Container vector with all the solutions.
187-
* \param[in] numerics - Description of the numerical method (the way in which the equations are solved).
188-
* \param[in] config - Definition of the particular problem.
189-
* \param[in] surface_movement - Surface movement classes of the problem.
190-
* \param[in] grid_movement - Volume grid movement classes of the problem.
191-
* \param[in] FFDBox - FFD FFDBoxes of the problem.
192-
* \param[in] val_iZone - Index of the zone.
193-
* \param[in] kind_recording - The kind of recording.
194-
*/
195-
void SetRecording(COutput* output, CIntegration*** integration, CGeometry*** geometry, CSolver**** solver,
196-
CNumerics***** numerics, CConfig** config, CSurfaceMovement** surface_movement,
197-
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
198-
unsigned short kind_recording);
199-
200-
/*!
201-
* \brief Record a single iteration of the direct heat system.
202-
* \param[in] geometry - Geometrical definition of the problem.
203-
* \param[in] solver - Container vector with all the solutions.
204-
* \param[in] config - Definition of the particular problem.
205-
* \param[in] val_iZone - Index of the zone.
206-
* \param[in] val_iZone - Index of the instance.
207-
* \param[in] kind_recording - The kind of recording (geometry or flow).
208-
*/
209-
210-
void SetRecording(CSolver***** solver, CGeometry**** geometry, CConfig** config, unsigned short val_iZone,
211-
unsigned short val_iInst, unsigned short kind_recording) override {}
212-
213175
/*!
214176
* \brief Compute necessary variables that depend on the conservative variables or the mesh node positions
215177
* (e.g. turbulent variables, normals, volumes).

SU2_CFD/include/iteration/CFEAIteration.hpp

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,7 @@ class CFEAIteration : public CIteration {
4242
* \brief Constructor of the class.
4343
* \param[in] config - Definition of the particular problem.
4444
*/
45-
CFEAIteration(const CConfig* config);
46-
47-
/*!
48-
* \brief Destructor of the class.
49-
*/
50-
~CFEAIteration(void) override;
51-
52-
/*!
53-
* \brief Preprocessing to prepare for an iteration of the physics.
54-
* \param[in] ??? - Description here.
55-
*/
56-
void Preprocess();
57-
using CIteration::Preprocess;
45+
explicit CFEAIteration(const CConfig* config) : CIteration(config) {}
5846

5947
/*!
6048
* \brief Perform a single iteration for structural analysis using the Finite Element Method.

SU2_CFD/include/iteration/CFEMFluidIteration.hpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,7 @@ class CFEMFluidIteration : public CFluidIteration {
4242
* \brief Constructor of the class.
4343
* \param[in] config - Definition of the particular problem.
4444
*/
45-
CFEMFluidIteration(const CConfig* config);
46-
47-
/*!
48-
* \brief Destructor of the class.
49-
*/
50-
~CFEMFluidIteration(void) override;
45+
explicit CFEMFluidIteration(const CConfig* config) : CFluidIteration(config) {}
5146

5247
/*!
5348
* \brief Preprocessing to prepare for an iteration of the physics.

SU2_CFD/include/iteration/CFluidIteration.hpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ class CFluidIteration : public CIteration {
4141
* \brief Constructor of the class.
4242
* \param[in] config - Definition of the particular problem.
4343
*/
44-
CFluidIteration(const CConfig* config);
45-
46-
/*!
47-
* \brief Destructor of the class.
48-
*/
49-
~CFluidIteration(void) override;
44+
explicit CFluidIteration(const CConfig* config) : CIteration(config) {}
5045

5146
/*!
5247
* \brief Preprocessing to prepare for an iteration of the physics.

SU2_CFD/include/iteration/CHeatIteration.hpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ class CHeatIteration : public CFluidIteration {
4141
* \brief Constructor of the class.
4242
* \param[in] config - Definition of the particular problem.
4343
*/
44-
CHeatIteration(const CConfig* config);
45-
46-
/*!
47-
* \brief Destructor of the class.
48-
*/
49-
~CHeatIteration(void) override;
44+
explicit CHeatIteration(const CConfig* config) : CFluidIteration(config) {}
5045

5146
/*!
5247
* \brief Perform a single iteration of the heat system.

SU2_CFD/include/iteration/CIteration.hpp

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,27 +45,33 @@ class COutput;
4545
*/
4646
class CIteration {
4747
protected:
48-
int rank, /*!< \brief MPI Rank. */
49-
size; /*!< \brief MPI Size. */
50-
unsigned short nZone; /*!< \brief Total number of zones in the problem. */
51-
unsigned short nInst; /*!< \brief Total number of instances in the problem. */
48+
const int rank, /*!< \brief MPI Rank. */
49+
size; /*!< \brief MPI Size. */
50+
const unsigned short nZone; /*!< \brief Total number of zones in the problem. */
51+
const unsigned short nInst; /*!< \brief Total number of instances in the problem. */
5252

53-
bool multizone, /*!< \brief Flag for multizone problems. */
54-
singlezone; /*!< \brief Flag for singlezone problems. */
53+
const bool multizone, /*!< \brief Flag for multizone problems. */
54+
singlezone; /*!< \brief Flag for singlezone problems. */
5555

56-
su2double StartTime, /*!< \brief Tracking wall time. */
57-
StopTime, UsedTime;
56+
su2double StartTime{0.0}, /*!< \brief Tracking wall time. */
57+
StopTime{0.0}, UsedTime{0.0};
5858

5959
public:
6060
/*!
6161
* \brief Constructor of the class.
6262
*/
63-
CIteration(const CConfig *config);
63+
explicit CIteration(const CConfig* config)
64+
: rank(SU2_MPI::GetRank()),
65+
size(SU2_MPI::GetSize()),
66+
nZone(config->GetnZone()),
67+
nInst(config->GetnTimeInstances()),
68+
multizone(config->GetMultizone_Problem()),
69+
singlezone(!multizone) {}
6470

6571
/*!
6672
* \brief Destructor of the class.
6773
*/
68-
virtual ~CIteration(void);
74+
virtual ~CIteration(void) = default;
6975

7076
/*!
7177
* \brief Updates the positions and grid velocities for dynamic meshes between physical time steps.
@@ -110,7 +116,7 @@ class CIteration {
110116
virtual void Preprocess(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
111117
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
112118
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
113-
unsigned short val_iInst);
119+
unsigned short val_iInst){};
114120

115121
/*!
116122
* \brief A virtual member.
@@ -127,7 +133,7 @@ class CIteration {
127133
virtual void Iterate(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
128134
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
129135
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
130-
unsigned short val_iInst);
136+
unsigned short val_iInst){};
131137

132138
/*!
133139
* \brief A virtual member.
@@ -144,7 +150,7 @@ class CIteration {
144150
virtual void Solve(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
145151
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
146152
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
147-
unsigned short val_iInst);
153+
unsigned short val_iInst){};
148154

149155
/*!
150156
* \brief A virtual member.
@@ -161,7 +167,7 @@ class CIteration {
161167
virtual void Update(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
162168
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
163169
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
164-
unsigned short val_iInst);
170+
unsigned short val_iInst){};
165171

166172
/*!
167173
* \brief A virtual member.
@@ -178,7 +184,7 @@ class CIteration {
178184
virtual void Predictor(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
179185
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
180186
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
181-
unsigned short val_iInst);
187+
unsigned short val_iInst){};
182188

183189
/*!
184190
* \brief A virtual member.
@@ -195,7 +201,7 @@ class CIteration {
195201
virtual void Relaxation(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
196202
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
197203
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
198-
unsigned short val_iInst);
204+
unsigned short val_iInst){};
199205

200206
/*!
201207
* \brief A virtual member.
@@ -204,7 +210,9 @@ class CIteration {
204210
virtual bool Monitor(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
205211
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
206212
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
207-
unsigned short val_iInst);
213+
unsigned short val_iInst) {
214+
return false;
215+
};
208216

209217
/*!
210218
* \brief A virtual member.
@@ -228,7 +236,7 @@ class CIteration {
228236
virtual void Postprocess(COutput* output, CIntegration**** integration, CGeometry**** geometry, CSolver***** solver,
229237
CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement,
230238
CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone,
231-
unsigned short val_iInst);
239+
unsigned short val_iInst){};
232240

233241
virtual void InitializeAdjoint(CSolver***** solver, CGeometry**** geometry, CConfig** config, unsigned short iZone,
234242
unsigned short iInst) {}

SU2_CFD/include/iteration/CIterationFactory.hpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,16 @@
3131
#include "CIteration.hpp"
3232

3333
class CIterationFactory {
34-
35-
public:
36-
34+
public:
3735
/*!
3836
* \brief Deleted constructor to avoid creating instances of this class
3937
*/
4038
CIterationFactory() = delete;
4139

4240
/*!
43-
* \brief Create a new integration instance based on the current sub solver
44-
* \param[in] integrationType - The integration type
45-
* \return - Pointer to the allocated integration instance
41+
* \brief Create a new iteration instance based on the current main solver
42+
* \param[in] kindSolver - The kind of main solver we are running
43+
* \return - Pointer to the allocated iteration instance
4644
*/
47-
static CIteration* createIteration(ENUM_MAIN_SOLVER kindSolver, const CConfig *config);
48-
45+
static CIteration* CreateIteration(ENUM_MAIN_SOLVER kindSolver, const CConfig* config);
4946
};

0 commit comments

Comments
 (0)