|
SU2
|
Main class for doing the space integration, time integration, and monitoring of a system of Partial Differential Equations (PDE). More...
#include <integration_structure.hpp>
Public Member Functions | |
| CIntegration (CConfig *config) | |
| Constructor of the class. | |
| virtual | ~CIntegration (void) |
| Destructor of the class. | |
| void | Space_Integration (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem) |
| Do the space integration of the numerical system. More... | |
| void | Space_Integration_FEM (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short RunTime_EqSystem, unsigned long Iteration) |
| Do the space integration of the numerical system on a FEM framework. More... | |
| void | Time_Integration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short RunTime_EqSystem, unsigned long Iteration) |
| Do the time integration (explicit or implicit) of the numerical system. More... | |
| void | Time_Integration_FEM (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short RunTime_EqSystem, unsigned long Iteration) |
| Do the time integration (explicit or implicit) of the numerical system on a FEM framework. More... | |
| void | Adjoint_Setup (CGeometry ***geometry, CSolver ****solver_container, CConfig **config, unsigned short RunTime_EqSystem, unsigned long Iteration, unsigned short iZone) |
| Initialize the adjoint solution using the primal problem. More... | |
| void | Convergence_Monitoring (CGeometry *geometry, CConfig *config, unsigned long Iteration, su2double monitor, unsigned short iMesh) |
| Do the convergence analisys to determine if the code must stop the execution. More... | |
| void | Convergence_Monitoring_FEM (CGeometry *geometry, CConfig *config, CSolver *solver, unsigned long iFSIIter) |
| Do the convergence analysis to determine if the structural FEM analysis has converged. More... | |
| void | Convergence_Monitoring_FSI (CGeometry *fea_geometry, CConfig *fea_config, CSolver *fea_solver, unsigned long iFSIIter) |
| Do the convergence analysis to determine if the FSI problem has converged on the structural side. More... | |
| su2double | GetCauchy_Value (void) |
| Get the value of the convergence. More... | |
| bool | GetConvergence (void) |
| Get the indicator of the convergence for the direct, adjoint and linearized problem. More... | |
| bool | GetConvergence_FSI (void) |
| Get the indicator of the convergence for the Fluid-Structure Interaction problem. More... | |
| void | SetConvergence (bool value) |
| Set the indicator of the convergence. More... | |
| void | SetConvergence_FSI (bool valueFSI) |
| Set the indicator of the convergence for FSI. More... | |
| bool | GetConvergence_FullMG (void) |
| Get the indicator of the convergence for the full multigrid problem. More... | |
| void | SetDualTime_Solver (CGeometry *geometry, CSolver *solver, CConfig *config, unsigned short iMesh) |
| Save the solution, and volume at different time steps. More... | |
| void | SetStructural_Solver (CGeometry *geometry, CSolver *solver, CConfig *config, unsigned short iMesh) |
| Save the structural solution at different time steps. More... | |
| void | SetFEM_StructuralSolver (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) |
| Save the structural solution at different time steps. More... | |
| virtual void | MultiGrid_Iteration (CGeometry ***geometry, CSolver ****solver_container, CNumerics *****numerics_container, CConfig **config, unsigned short RunTime_EqSystem, unsigned long Iteration, unsigned short iZone) |
| A virtual member. More... | |
| virtual void | MultiGrid_Cycle (CGeometry ***geometry, CSolver ****solver_container, CNumerics *****numerics_container, CConfig **config, unsigned short iMesh, unsigned short mu, unsigned short RunTime_EqSystem, unsigned long Iteration, unsigned short iZone) |
| A virtual member. More... | |
| virtual void | NonDimensional_Parameters (CGeometry **geometry, CSolver ***solver_container, CNumerics ****numerics_container, CConfig *config, unsigned short FinestMesh, unsigned short RunTime_EqSystem, unsigned long Iteration, su2double *monitor) |
| A virtual member. More... | |
| virtual void | SetProlongated_Correction (CSolver *sol_fine, CGeometry *geo_fine, CConfig *config, unsigned short iMesh) |
| A virtual member. More... | |
| virtual void | SetProlongated_Solution (unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRestricted_Residual (CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRestricted_Solution (unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRestricted_EddyVisc (unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetRestricted_Gradient (unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) |
| A virtual member. More... | |
| virtual void | SetResidual_Term (CGeometry *geometry, CSolver *flow) |
| A virtual member. More... | |
| virtual void | SetForcing_Term (CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config, unsigned short iMesh) |
| A virtual member. More... | |
| virtual void | SingleGrid_Iteration (CGeometry ***geometry, CSolver ****solver_container, CNumerics *****numerics_container, CConfig **config, unsigned short RunTime_EqSystem, unsigned long Iteration, unsigned short iZone) |
| A virtual member. More... | |
| virtual void | Structural_Iteration (CGeometry ***geometry, CSolver ****solver_container, CNumerics *****numerics_container, CConfig **config, unsigned short RunTime_EqSystem, unsigned long Iteration, unsigned short iZone) |
| A virtual member. More... | |
| virtual void | SetPotential_Solver (CGeometry ***geometry, CSolver ****solver_container, CNumerics *****numerics_container, CConfig **config, unsigned short RunTime_EqSystem, unsigned short iMesh, unsigned short iZone) |
| A virtual member. More... | |
| virtual void | Smooth_Solution (unsigned short RunTime_EqSystem, CSolver *solver, CGeometry *geometry, unsigned short val_nSmooth, su2double val_smooth_coeff, CConfig *config) |
| A virtual member. More... | |
Protected Attributes | |
| su2double | Cauchy_Value |
| Summed value of the convergence indicator. | |
| su2double | Cauchy_Func |
| Current value of the convergence indicator at one iteration. | |
| unsigned short | Cauchy_Counter |
| Number of elements of the Cauchy serial. | |
| su2double * | Cauchy_Serie |
| Complete Cauchy serial. | |
| su2double | Old_Func |
| Old value of the objective function (the function which is monitored). | |
| su2double | New_Func |
| Current value of the objective function (the function which is monitored). | |
| bool | Convergence |
| To indicate if the flow solver (direct, adjoint, or linearized) has converged or not. | |
| bool | Convergence_FSI |
| To indicate if the FSI problem has converged or not. | |
| bool | Convergence_FullMG |
| To indicate if the Full Multigrid has converged and it is necessary to add a new level. | |
| su2double | InitResidual |
| Initial value of the residual to evaluate the convergence level. | |
Main class for doing the space integration, time integration, and monitoring of a system of Partial Differential Equations (PDE).
| void CIntegration::Adjoint_Setup | ( | CGeometry *** | geometry, |
| CSolver **** | solver_container, | ||
| CConfig ** | config, | ||
| unsigned short | RunTime_EqSystem, | ||
| unsigned long | Iteration, | ||
| unsigned short | iZone | ||
| ) |
Initialize the adjoint solution using the primal problem.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
| void CIntegration::Convergence_Monitoring | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| unsigned long | Iteration, | ||
| su2double | monitor, | ||
| unsigned short | iMesh | ||
| ) |
Do the convergence analisys to determine if the code must stop the execution.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | Iteration | - Current iteration. |
| [in] | monitor | - Objective function that is use to study its convergence. |
| void CIntegration::Convergence_Monitoring_FEM | ( | CGeometry * | geometry, |
| CConfig * | config, | ||
| CSolver * | solver, | ||
| unsigned long | iFSIIter | ||
| ) |
Do the convergence analysis to determine if the structural FEM analysis has converged.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | solver | - Solution of the problem |
| [in] | Iteration | - Current iteration. |
| [in] | monitor | - Objective function that is use to study its convergence. |
| void CIntegration::Convergence_Monitoring_FSI | ( | CGeometry * | fea_geometry, |
| CConfig * | fea_config, | ||
| CSolver * | fea_solver, | ||
| unsigned long | iFSIIter | ||
| ) |
Do the convergence analysis to determine if the FSI problem has converged on the structural side.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | Iteration | - Current iteration. |
| [in] | monitor | - Objective function that is use to study its convergence. |
|
inline |
Get the value of the convergence.
|
inline |
Get the indicator of the convergence for the direct, adjoint and linearized problem.
TRUE means that the convergence criteria is satisfied; otherwise FALSE.
|
inline |
Get the indicator of the convergence for the Fluid-Structure Interaction problem.
TRUE means that the convergence criteria is satisfied; otherwise FALSE.
|
inline |
Get the indicator of the convergence for the full multigrid problem.
TRUE means that the convergence criteria is satisfied; otherwise FALSE.
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | numerics_container | - Description of the numerical method (the way in which the equations are solved). |
| [in] | config | - Definition of the particular problem. |
| [in] | iMesh | - Index of the mesh in multigrid computations. |
| [in] | mu | - Variable for controlling the kind of multigrid algorithm. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | numerics_container | - Description of the numerical method (the way in which the equations are solved). |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
| [in] | monitor | - value of the non-dimensional parameters for monitoring the convergence. |
Reimplemented in CMultiGridIntegration.
|
inline |
Set the indicator of the convergence.
| [in] | value | - TRUE means that the convergence criteria is satisfied; otherwise FALSE. |
|
inline |
Set the indicator of the convergence for FSI.
| [in] | valueFSI | - TRUE means that the convergence criteria for FSI is satisfied; otherwise FALSE. |
| void CIntegration::SetDualTime_Solver | ( | CGeometry * | geometry, |
| CSolver * | solver, | ||
| CConfig * | config, | ||
| unsigned short | iMesh | ||
| ) |
Save the solution, and volume at different time steps.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solution | - Flow solution. |
| [in] | config | - Definition of the particular problem. |
| void CIntegration::SetFEM_StructuralSolver | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CConfig * | config, | ||
| unsigned short | iMesh | ||
| ) |
Save the structural solution at different time steps.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Structural solution. |
| [in] | config | - Definition of the particular problem. |
|
inlinevirtual |
A virtual member.
| [in] | sol_fine | - Pointer to the solution on the fine grid. |
| [in] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | numerics_container | - Description of the numerical method (the way in which the equations are solved). |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | iMesh | - Index of the mesh in multigrid computations. |
|
inlinevirtual |
A virtual member.
| [out] | sol_fine | - Pointer to the solution on the fine grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [out] | sol_fine | - Pointer to the solution on the fine grid. |
| [in] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | flow | - Flow solution. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | sol_fine | - Pointer to the solution on the fine grid. |
| [out] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
| [in] | iMesh | - Index of the mesh in multigrid computations. |
| [in] | InclSharedDomain | - Include the shared domain in the interpolation. |
Reimplemented in CSingleGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | sol_fine | - Pointer to the solution on the fine grid. |
| [out] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | sol_fine | - Pointer to the solution on the fine grid. |
| [out] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | sol_fine | - Pointer to the solution on the fine grid. |
| [out] | sol_coarse | - Pointer to the solution on the coarse grid. |
| [in] | geo_fine | - Geometrical definition of the fine grid. |
| [in] | geo_coarse | - Geometrical definition of the coarse grid. |
| [in] | config | - Definition of the particular problem. |
| [in] | iMesh | - Index of the mesh in multigrid computations. |
| [in] | InclSharedDomain | - Include the shared domain in the interpolation. |
Reimplemented in CSingleGridIntegration, and CMultiGridIntegration.
| void CIntegration::SetStructural_Solver | ( | CGeometry * | geometry, |
| CSolver * | solver, | ||
| CConfig * | config, | ||
| unsigned short | iMesh | ||
| ) |
Save the structural solution at different time steps.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solution | - Structural solution. |
| [in] | config | - Definition of the particular problem. |
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | numerics_container | - Description of the numerical method (the way in which the equations are solved). |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
Reimplemented in CSingleGridIntegration.
|
inlinevirtual |
A virtual member.
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | solution | - Container vector with all the solutions on the finest grid. |
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | val_nSmooth | - Number of smoothing iterations. |
| [in] | val_smooth_coeff | - Relaxation factor. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultiGridIntegration.
| void CIntegration::Space_Integration | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CNumerics ** | numerics, | ||
| CConfig * | config, | ||
| unsigned short | iMesh, | ||
| unsigned short | iRKStep, | ||
| unsigned short | RunTime_EqSystem | ||
| ) |
Do the space integration of the numerical system.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | solver | - Description of the numerical method. |
| [in] | config | - Definition of the particular problem. |
| [in] | iMesh | - Index of the mesh in multigrid computations. |
| [in] | iRKStep | - Current step of the Runge-Kutta iteration. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| void CIntegration::Space_Integration_FEM | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CNumerics ** | numerics, | ||
| CConfig * | config, | ||
| unsigned short | RunTime_EqSystem, | ||
| unsigned long | Iteration | ||
| ) |
Do the space integration of the numerical system on a FEM framework.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | solver | - Description of the numerical method. |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
|
inlinevirtual |
A virtual member.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | numerics_container | - Description of the numerical method (the way in which the equations are solved). |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
Reimplemented in CStructuralIntegration.
| void CIntegration::Time_Integration | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CConfig * | config, | ||
| unsigned short | iRKStep, | ||
| unsigned short | RunTime_EqSystem, | ||
| unsigned long | Iteration | ||
| ) |
Do the time integration (explicit or implicit) of the numerical system.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
| [in] | iRKStep | - Current step of the Runge-Kutta iteration. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
| void CIntegration::Time_Integration_FEM | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CNumerics ** | numerics, | ||
| CConfig * | config, | ||
| unsigned short | RunTime_EqSystem, | ||
| unsigned long | Iteration | ||
| ) |
Do the time integration (explicit or implicit) of the numerical system on a FEM framework.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
| [in] | RunTime_EqSystem | - System of equations which is going to be solved. |
| [in] | Iteration | - Current iteration. |
1.8.12