![]() |
Documentation 6b54b78464
|
Class for driving an iteration of the discrete adjoint FEM system. More...
#include <CDiscAdjFEAIteration.hpp>
Public Member Functions | |
| CDiscAdjFEAIteration (const CConfig *config) | |
| Constructor of the class. | |
| ~CDiscAdjFEAIteration () override | |
| Destructor 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 FEA problem. | |
| 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 FEA problem. | |
| 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) override |
| Postprocesses the discrete adjoint FEA problem before heading to another physics system or the next iteration. | |
| void | RegisterInput (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst, RECORDING kind_recording) override |
| Registers all input variables of the FEM iteration. | |
| void | RegisterOutput (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst) override |
| Registers all output variables of the FEM iteration. | |
| void | InitializeAdjoint (CSolver *****solver, CGeometry ****geometry, CConfig **config, unsigned short iZone, unsigned short iInst) override |
| Initializes the adjoints of the output variables of the FEM 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 variables in the numerics (E, Nu...) | |
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. | |
| 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. | |
Class for driving an iteration of the discrete adjoint FEM system.
|
explicit |
Constructor of the class.
| [in] | config | - Definition of the particular problem. |
|
override |
Destructor of the class.
|
overridevirtual |
Initializes the adjoints of the output variables of the FEM iteration.
| [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. |
Reimplemented from CIteration.
|
overridevirtual |
Perform a single iteration of the adjoint FEA problem.
| [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.
|
overridevirtual |
Monitors the convergence and other metrics for the discrete adjoint FEA problem.
| [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.
|
overridevirtual |
Postprocesses the discrete adjoint FEA problem before heading to another physics system or the next iteration.
| [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.
|
overridevirtual |
Preprocessing to prepare for an iteration of the physics.
| [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.
|
overridevirtual |
Registers all input variables of the FEM iteration.
| [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] | kind_recording | - Kind of recording, either FEM_VARIABLES or MESH_COORDS |
Reimplemented from CIteration.
|
overridevirtual |
Registers all output variables of the FEM iteration.
| [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. |
Reimplemented from CIteration.
|
overridevirtual |
Compute necessary variables that depend on the variables in the numerics (E, Nu...)
| [in] | solver | - Container vector with all the solutions. |
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | numerics | - Description of the numerical method (the way in which the equations are solved). |
| [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). |
TODO: Ideally there would be a way to capture this dependency without the static_cast, but making it a virtual method of CSolver does not feel "right" as its purpose could be confused.
Reimplemented from CIteration.