Documentation 6b54b78464
Loading...
Searching...
No Matches
CDiscAdjFluidIteration Class Referencefinal

Class for driving an iteration of the discrete adjoint fluid system. More...

#include <CDiscAdjFluidIteration.hpp>

Inheritance diagram for CDiscAdjFluidIteration:
[legend]

Public Member Functions

 CDiscAdjFluidIteration (const CConfig *config)
 Constructor of the class.
 
void Preprocess (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst) override
 Preprocessing to prepare for an iteration of the physics.
 
void IterateDiscAdj (CGeometry ****geometry, CSolver *****solver, CConfig **config, unsigned short val_iZone, unsigned short val_iInst, bool CrossTerm) override
 Perform a single iteration of the adjoint fluid system.
 
bool Monitor (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst) override
 Monitors the convergence and other metrics for the discrete adjoint fluid system.
 
void InitializeAdjoint (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst) override
 Registers all input variables of the fluid iteration.
 
void RegisterInput (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst, RECORDING kind_recording) override
 Registers all output variables of the fluid iteration.
 
void RegisterOutput (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst) override
 Initializes the adjoints of the output variables of the fluid iteration.
 
void SetDependencies (CSolver *****solver, CGeometry ****geometry, CNumerics ******numerics, CConfig **config, unsigned short iZone, unsigned short iInst, RECORDING kind_recording) override
 Compute necessary variables that depend on the conservative variables or the mesh node positions (e.g. turbulent variables, normals, volumes).
 
- Public Member Functions inherited from CIteration
 CIteration (const CConfig *config)
 Constructor of the class.
 
virtual ~CIteration (void)=default
 Destructor of the class.
 
virtual void SetGrid_Movement (CGeometry **geometry, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CSolver ***solver, CConfig *config, unsigned long IntIter, unsigned long TimeIter)
 Updates the positions and grid velocities for dynamic meshes between physical time steps.
 
void SetMesh_Deformation (CGeometry **geometry, CSolver **solver_container, CNumerics ***numerics_container, CConfig *config_container, RECORDING kind_recording)
 Run the mesh deformation algorithms.
 
virtual void Iterate (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
virtual void Solve (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
virtual void Update (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
virtual void Predictor (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
virtual void Relaxation (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
void Output (COutput *output, CGeometry ****geometry, CSolver *****solver, CConfig **config, unsigned long InnerIter, bool StopCalc, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
virtual void Postprocess (COutput *output, CIntegration ****integration, CGeometry ****geometry, CSolver *****solver, CNumerics ******numerics, CConfig **config, CSurfaceMovement **surface_movement, CVolumetricMovement ***grid_movement, CFreeFormDefBox ***FFDBox, unsigned short val_iZone, unsigned short val_iInst)
 A virtual member.
 
void ComputeTurboPerformance (CSolver *****solver, CGeometry ****geometry_container, CConfig **config_container)
 Computes turboperformance.
 
void InitTurboPerformance (CGeometry *geometry, CConfig **config, CFluidModel *fluid, unsigned short val_iZone)
 Initialises turboperformance classes.
 
su2vector< std::shared_ptr< CTurboOutput > > GetBladesPerformanceVector (CSolver *****solver, unsigned short nBladeRow)
 

Additional Inherited Members

- Protected Attributes inherited from CIteration
const int rank
 MPI Rank.
 
const int size
 MPI Size.
 
const unsigned short nZone
 Total number of zones in the problem.
 
const unsigned short nInst
 Total number of instances in the problem.
 
const bool multizone
 Flag for multizone problems.
 
const bool singlezone
 Flag for singlezone problems.
 
su2double StartTime {0.0}
 Tracking wall time.
 
su2double StopTime {0.0}
 
su2double UsedTime {0.0}
 
std::shared_ptr< CTurbomachineryStagePerformance > TurbomachineryStagePerformance
 turbo stage performance calculator.
 

Detailed Description

Class for driving an iteration of the discrete adjoint fluid system.

Author
T. Economon

Constructor & Destructor Documentation

◆ CDiscAdjFluidIteration()

CDiscAdjFluidIteration::CDiscAdjFluidIteration ( const CConfig *  config)
inlineexplicit

Constructor of the class.

Parameters
[in]config- Definition of the particular problem.

Member Function Documentation

◆ InitializeAdjoint()

void CDiscAdjFluidIteration::InitializeAdjoint ( CSolver *****  solver,
CGeometry ****  geometry,
CConfig **  config,
unsigned short  iZone,
unsigned short  iInst 
)
overridevirtual

Registers all input variables of the fluid iteration.

Parameters
[in]solver- Container vector with all the solutions.
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Index of the zone.
[in]iInst- Index of the instance.

Reimplemented from CIteration.

◆ IterateDiscAdj()

void CDiscAdjFluidIteration::IterateDiscAdj ( CGeometry ****  geometry,
CSolver *****  solver,
CConfig **  config,
unsigned short  val_iZone,
unsigned short  val_iInst,
bool  CrossTerm 
)
overridevirtual

Perform a single iteration of the adjoint fluid system.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]val_iZone- Index of the zone.
[in]val_iInst- Index of the instance.
[in]CrossTerm- Boolean for CrossTerm.

Reimplemented from CIteration.

◆ Monitor()

bool CDiscAdjFluidIteration::Monitor ( COutput *  output,
CIntegration ****  integration,
CGeometry ****  geometry,
CSolver *****  solver,
CNumerics ******  numerics,
CConfig **  config,
CSurfaceMovement **  surface_movement,
CVolumetricMovement ***  grid_movement,
CFreeFormDefBox ***  FFDBox,
unsigned short  val_iZone,
unsigned short  val_iInst 
)
overridevirtual

Monitors the convergence and other metrics for the discrete adjoint fluid system.

Parameters
[in]output- Pointer to the COutput class.
[in]integration- Container vector with all the integration methods.
[in]geometry- Geometrical definition of the problem.
[in]solver- Container vector with all the solutions.
[in]numerics- Description of the numerical method (the way in which the equations are solved).
[in]config- Definition of the particular problem.
[in]surface_movement- Surface movement classes of the problem.
[in]grid_movement- Volume grid movement classes of the problem.
[in]FFDBox- FFD FFDBoxes of the problem.
[in]val_iZone- Index of the zone.
[in]val_iInst- Index of the instance

Reimplemented from CIteration.

◆ Preprocess()

void CDiscAdjFluidIteration::Preprocess ( COutput *  output,
CIntegration ****  integration,
CGeometry ****  geometry,
CSolver *****  solver,
CNumerics ******  numerics,
CConfig **  config,
CSurfaceMovement **  surface_movement,
CVolumetricMovement ***  grid_movement,
CFreeFormDefBox ***  FFDBox,
unsigned short  val_iZone,
unsigned short  val_iInst 
)
overridevirtual

Preprocessing to prepare for an iteration of the physics.

Perform a single iteration of the adjoint fluid system.

Parameters
[in]output- Pointer to the COutput class.
[in]integration- Container vector with all the integration methods.
[in]geometry- Geometrical definition of the problem.
[in]solver- Container vector with all the solutions.
[in]numerics- Description of the numerical method (the way in which the equations are solved).
[in]config- Definition of the particular problem.
[in]surface_movement- Surface movement classes of the problem.
[in]grid_movement- Volume grid movement classes of the problem.
[in]FFDBox- FFD FFDBoxes of the problem.
[in]val_iZone- Index of the zone.
[in]val_iInst- Index of the instance

Reimplemented from CIteration.

◆ RegisterInput()

void CDiscAdjFluidIteration::RegisterInput ( CSolver *****  solver,
CGeometry ****  geometry,
CConfig **  config,
unsigned short  iZone,
unsigned short  iInst,
RECORDING  kind_recording 
)
overridevirtual

Registers all output variables of the fluid iteration.

Parameters
[in]solver- Container vector with all the solutions.
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Index of the zone.
[in]iInst- Index of the instance.
[in]kind_recording- Kind of recording, either FLOW_SOLUTION_VARIABLES or MESH_COORDS

Reimplemented from CIteration.

◆ RegisterOutput()

void CDiscAdjFluidIteration::RegisterOutput ( CSolver *****  solver,
CGeometry ****  geometry,
CConfig **  config,
unsigned short  iZone,
unsigned short  iInst 
)
overridevirtual

Initializes the adjoints of the output variables of the fluid iteration.

Parameters
[in]solver- Container vector with all the solutions.
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Index of the zone.
[in]iInst- Index of the instance.

Reimplemented from CIteration.

◆ SetDependencies()

void CDiscAdjFluidIteration::SetDependencies ( CSolver *****  solver,
CGeometry ****  geometry,
CNumerics ******  numerics,
CConfig **  config,
unsigned short  iZone,
unsigned short  iInst,
RECORDING  kind_recording 
)
overridevirtual

Compute necessary variables that depend on the conservative variables or the mesh node positions (e.g. turbulent variables, normals, volumes).

Parameters
[in]solver- Container vector with all the solutions.
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iZone- Index of the zone.
[in]iInst- Index of the zone.
[in]kind_recording- The kind of recording (geometry or flow).

Reimplemented from CIteration.


The documentation for this class was generated from the following files: