Documentation 6b54b78464
Loading...
Searching...
No Matches
CIncEulerSolver Class Reference

Main class for defining the incompressible Euler flow solver. More...

#include <CIncEulerSolver.hpp>

Inheritance diagram for CIncEulerSolver:
[legend]

Public Member Functions

 CIncEulerSolver ()=delete
 
 CIncEulerSolver (CGeometry *geometry, CConfig *config, unsigned short iMesh, const bool navier_stokes=false)
 Constructor of the class.
 
 ~CIncEulerSolver (void) override
 Destructor of the class.
 
CFluidModel * GetFluidModel (void) const final
 Compute the pressure at the infinity.
 
void SetTime_Step (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) final
 Compute the time step for solving the Euler equations.
 
void Centered_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep) final
 Compute the spatial integration using a centered scheme.
 
void Upwind_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) final
 Compute the spatial integration using a upwind scheme.
 
void Source_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) final
 Source term integration.
 
void Source_Template (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh) final
 Source term integration.
 
void Preprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) override
 Compute primitive variables and their gradients.
 
void Evaluate_ObjFunc (const CConfig *config, CSolver **solver) final
 Compute weighted-sum "combo" objective output.
 
void BC_Far_Field (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the far-field boundary condition using characteristics.
 
void BC_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose a subsonic inlet boundary condition.
 
void BC_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the outlet boundary condition.
 
void ExplicitRK_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
 Update the solution using a Runge-Kutta scheme.
 
void ClassicalRK4_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
 Update the solution using the classical Runge-Kutta 4 scheme.
 
void ExplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Update the solution using the explicit Euler scheme.
 
void PrepareImplicitIteration (CGeometry *geometry, CSolver **, CConfig *config) final
 Prepare an implicit iteration.
 
void SetResidual_DualTime (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) final
 Set the total residual adding the term that comes from the Dual Time Strategy.
 
void LoadRestart (CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, bool val_update_geo) final
 Load a solution from a restart file.
 
void SetFreeStream_Solution (const CConfig *config) final
 Set the solution using the Freestream values.
 
void PrintVerificationError (const CConfig *config) const final
 Print verification error to screen.
 
bool GetHasHybridParallel () const final
 The incompressible Euler and NS solvers support MPI+OpenMP.
 
StreamwisePeriodicValues GetStreamwisePeriodicValues () const final
 Get values for streamwise periodic flow: delta P, m_dot, inlet T, integrated heat, etc.
 
unsigned long RegisterSolutionExtra (bool input, const CConfig *config) final
 Register In- or Output.
 
void SetAdjoint_SolutionExtra (const su2activevector &adj_sol, const CConfig *config) final
 Seed the adjoint of the extra solution at the output.
 
void ExtractAdjoint_SolutionExtra (su2activevector &adj_sol, const CConfig *config) final
 Extract the adjoint of the extra solution at the input.
 
void ComputeEdgeMassFluxesRhieChow (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Compute the spatial integration using a centered scheme.
 
void ApplyPressureVelocityCorrection (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Compute the spatial integration using a centered scheme.
 
- Public Member Functions inherited from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >
void Set_NewSolution () final
 Set the new solution variables to the current solution value for classical RK.
 
void SetInitialCondition (CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long ExtIter) override
 Set the initial condition for the Euler Equations.
 
void SetPrimitive_Gradient_GG (CGeometry *geometry, const CConfig *config, bool reconstruction=false) override
 Compute the gradient of the primitive variables using Green-Gauss method, and stores the result in the Gradient_Primitive variable.
 
void SetPrimitive_Gradient_LS (CGeometry *geometry, const CConfig *config, bool reconstruction=false) final
 Compute the gradient of the primitive variables using a Least-Squares method, and stores the result in the Gradient_Primitive variable.
 
void SetPrimitive_Limiter (CGeometry *geometry, const CConfig *config) final
 Compute the limiter of the primitive variables.
 
void ImplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Implementation of implicit Euler iteration.
 
void CompleteImplicitIteration (CGeometry *geometry, CSolver **, CConfig *config) final
 Complete an implicit iteration.
 
void SetUniformInlet (const CConfig *config, unsigned short iMarker) final
 Set a uniform inlet profile.
 
void SetInletAtVertex (const su2double *val_inlet, unsigned short iMarker, unsigned long iVertex) final
 Store of a set of provided inlet profile values at a vertex.
 
su2double GetInletAtVertex (unsigned short iMarker, unsigned long iVertex, const CGeometry *geometry, su2double *val_inlet) const final
 Get the set of values imposed at an inlet.
 
void BC_Euler_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose via the residual the Euler wall boundary condition.
 
void MultigridProjectEulerWall (CGeometry *geometry, const CConfig *config, bool use_solution_old) override
 Enforce Euler wall BC on a restricted or prolongated multigrid solution by projecting the momentum to the tangent plane of the wall.
 
void BC_Sym_Plane (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose the symmetry boundary condition using the residual.
 
void BC_Periodic (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config) final
 Impose a periodic boundary condition by summing contributions from the complete control volume.
 
void BC_Fluid_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) final
 Impose the interface state across sliding meshes.
 
void BC_Custom (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose a custom or verification boundary condition.
 
su2double GetDensity_Inf (void) const final
 Compute the density at the infinity.
 
su2double GetModVelocity_Inf (void) const final
 Compute 2-norm of the velocity at the infinity.
 
su2double GetPressure_Inf (void) const final
 Compute the pressure at the infinity.
 
su2double GetTemperature_Inf (void) const
 Get the temperature value at infinity.
 
su2double GetVelocity_Inf (unsigned short val_dim) const final
 Get the velocity at the infinity.
 
su2double * GetVelocity_Inf (void) final
 Get the velocity at the infinity.
 
void SetVelocity_Inf (unsigned short val_dim, su2double val_velocity) final
 Set the velocity at infinity.
 
su2double GetDensity_Energy_Inf (void) const final
 Compute the density multiply by energy at the infinity.
 
void SetPressure_Inf (su2double p_inf) final
 Set the freestream pressure.
 
void SetTemperature_Inf (su2double t_inf) final
 Set the freestream temperature.
 
void SetDensity_Inf (su2double rho_inf) final
 Set the freestream temperature.
 
su2double GetViscosity_Inf (void) const final
 Compute the viscosity at the infinity.
 
su2double GetTke_Inf (void) const final
 Get the turbulent kinetic energy at the infinity.
 
su2double GetOmega_Max (void) const final
 Get the max Omega.
 
su2double GetStrainMag_Max (void) const final
 Get the max Strain rate magnitude.
 
su2double GetCL_Inv (unsigned short val_marker) const final
 Provide the non dimensional lift coefficient (inviscid contribution).
 
su2double GetCD_Inv (unsigned short val_marker) const final
 Provide the non dimensional drag coefficient (inviscid contribution).
 
su2double GetSurface_CL (unsigned short val_marker) const final
 Provide the non dimensional lift coefficient.
 
su2double GetSurface_CD (unsigned short val_marker) const final
 Provide the non dimensional drag coefficient.
 
su2double GetSurface_CSF (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CEff (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CFx (unsigned short val_marker) const final
 Provide the non dimensional x force coefficient.
 
su2double GetSurface_CFy (unsigned short val_marker) const final
 Provide the non dimensional y force coefficient.
 
su2double GetSurface_CFz (unsigned short val_marker) const final
 Provide the non dimensional z force coefficient.
 
su2double GetSurface_CMx (unsigned short val_marker) const final
 Provide the non dimensional x moment coefficient.
 
su2double GetSurface_CMy (unsigned short val_marker) const final
 Provide the non dimensional y moment coefficient.
 
su2double GetSurface_CMz (unsigned short val_marker) const final
 Provide the non dimensional z moment coefficient.
 
su2double GetSurface_CL_Inv (unsigned short val_marker) const final
 Provide the non dimensional lift coefficient.
 
su2double GetSurface_CD_Inv (unsigned short val_marker) const final
 Provide the non dimensional drag coefficient.
 
su2double GetSurface_CSF_Inv (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CEff_Inv (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CFx_Inv (unsigned short val_marker) const final
 Provide the non dimensional x force coefficient.
 
su2double GetSurface_CFy_Inv (unsigned short val_marker) const final
 Provide the non dimensional y force coefficient.
 
su2double GetSurface_CFz_Inv (unsigned short val_marker) const final
 Provide the non dimensional z force coefficient.
 
su2double GetSurface_CMx_Inv (unsigned short val_marker) const final
 Provide the non dimensional x moment coefficient.
 
su2double GetSurface_CMy_Inv (unsigned short val_marker) const final
 Provide the non dimensional y moment coefficient.
 
su2double GetSurface_CMz_Inv (unsigned short val_marker) const final
 Provide the non dimensional z moment coefficient.
 
su2double GetSurface_CL_Mnt (unsigned short val_marker) const final
 Provide the non dimensional lift coefficient.
 
su2double GetSurface_CD_Mnt (unsigned short val_marker) const final
 Provide the non dimensional drag coefficient.
 
su2double GetSurface_CSF_Mnt (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CEff_Mnt (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CFx_Mnt (unsigned short val_marker) const final
 Provide the non dimensional x force coefficient.
 
su2double GetSurface_CFy_Mnt (unsigned short val_marker) const final
 Provide the non dimensional y force coefficient.
 
su2double GetSurface_CFz_Mnt (unsigned short val_marker) const final
 Provide the non dimensional z force coefficient.
 
su2double GetSurface_CMx_Mnt (unsigned short val_marker) const final
 Provide the non dimensional x moment coefficient.
 
su2double GetSurface_CMy_Mnt (unsigned short val_marker) const final
 Provide the non dimensional y moment coefficient.
 
su2double GetSurface_CMz_Mnt (unsigned short val_marker) const final
 Provide the non dimensional z moment coefficient.
 
su2double GetCSF_Inv (unsigned short val_marker) const final
 Provide the non dimensional sideforce coefficient (inviscid contribution).
 
su2double GetCEff_Inv (unsigned short val_marker) const final
 Provide the non dimensional efficiency coefficient (inviscid contribution).
 
su2double GetTotal_CSF () const final
 Provide the total (inviscid + viscous) non dimensional sideforce coefficient.
 
su2double GetTotal_CEff () const final
 Provide the total (inviscid + viscous) non dimensional efficiency coefficient.
 
su2double GetAeroCoeffsReferenceForce () const final
 Get the reference force used to compute CL, CD, etc.
 
su2double GetReferenceDynamicPressure () const final
 Get the reference dynamic pressure, for Cp, Cf, etc.
 
su2double GetTotal_CL () const final
 Provide the total (inviscid + viscous) non dimensional lift coefficient.
 
su2double GetTotal_CD () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_CMx () const final
 Provide the total (inviscid + viscous) non dimensional x moment coefficient.
 
su2double GetTotal_CMy () const final
 Provide the total (inviscid + viscous) non dimensional y moment coefficient.
 
su2double GetTotal_CMz () const final
 Provide the total (inviscid + viscous) non dimensional z moment coefficient.
 
su2double GetTotal_CoPx () const final
 Provide the total (inviscid + viscous) non dimensional x moment coefficient.
 
su2double GetTotal_CoPy () const final
 Provide the total (inviscid + viscous) non dimensional y moment coefficient.
 
su2double GetTotal_CoPz () const final
 Provide the total (inviscid + viscous) non dimensional z moment coefficient.
 
su2double GetTotal_CFx () const final
 Provide the total (inviscid + viscous) non dimensional x force coefficient.
 
su2double GetTotal_CFy () const final
 Provide the total (inviscid + viscous) non dimensional y force coefficient.
 
su2double GetTotal_CFz () const final
 Provide the total (inviscid + viscous) non dimensional z force coefficient.
 
su2double GetTotal_CT () const final
 Provide the total (inviscid + viscous) non dimensional thrust coefficient.
 
void SetTotal_CT (su2double val_Total_CT) final
 Store the total (inviscid + viscous) non dimensional thrust coefficient.
 
su2double GetTotal_CQ () const final
 Provide the total (inviscid + viscous) non dimensional torque coefficient.
 
void SetTotal_CQ (su2double val_Total_CQ) final
 Store the total (inviscid + viscous) non dimensional torque coefficient.
 
su2double GetTotal_CMerit () const final
 Provide the total (inviscid + viscous) non dimensional rotor Figure of Merit.
 
void SetTotal_CD (su2double val_Total_CD) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_CL (su2double val_Total_CL) final
 Store the total (inviscid + viscous) non dimensional lift coefficient.
 
su2double GetAllBound_CL_Inv () const final
 Get the inviscid contribution to the lift coefficient.
 
su2double GetAllBound_CD_Inv () const final
 Get the inviscid contribution to the drag coefficient.
 
su2double GetAllBound_CSF_Inv () const final
 Get the inviscid contribution to the sideforce coefficient.
 
su2double GetAllBound_CEff_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMx_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMy_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMz_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPx_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPy_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPz_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFx_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFy_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFz_Inv () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CL_Mnt () const final
 Get the inviscid contribution to the lift coefficient.
 
su2double GetAllBound_CD_Mnt () const final
 Get the inviscid contribution to the drag coefficient.
 
su2double GetAllBound_CSF_Mnt () const final
 Get the inviscid contribution to the sideforce coefficient.
 
su2double GetAllBound_CEff_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMx_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMy_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMz_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPx_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPy_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPz_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFx_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFy_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFz_Mnt () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetSurface_CL_Visc (unsigned short val_marker) const final
 Provide the non dimensional lift coefficient.
 
su2double GetSurface_CD_Visc (unsigned short val_marker) const final
 Provide the non dimensional drag coefficient.
 
su2double GetSurface_CSF_Visc (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CEff_Visc (unsigned short val_marker) const final
 Provide the non dimensional side-force coefficient.
 
su2double GetSurface_CFx_Visc (unsigned short val_marker) const final
 Provide the non dimensional x force coefficient.
 
su2double GetSurface_CFy_Visc (unsigned short val_marker) const final
 Provide the non dimensional y force coefficient.
 
su2double GetSurface_CFz_Visc (unsigned short val_marker) const final
 Provide the non dimensional z force coefficient.
 
su2double GetSurface_CMx_Visc (unsigned short val_marker) const final
 Provide the non dimensional x moment coefficient.
 
su2double GetSurface_CMy_Visc (unsigned short val_marker) const final
 Provide the non dimensional y moment coefficient.
 
su2double GetSurface_CMz_Visc (unsigned short val_marker) const final
 Provide the non dimensional z moment coefficient.
 
su2double GetAllBound_CL_Visc () const final
 Get the inviscid contribution to the lift coefficient.
 
su2double GetAllBound_CD_Visc () const final
 Get the inviscid contribution to the drag coefficient.
 
su2double GetAllBound_CSF_Visc () const final
 Get the inviscid contribution to the sideforce coefficient.
 
su2double GetAllBound_CEff_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMx_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMy_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CMz_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPx_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPy_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CoPz_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFx_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFy_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetAllBound_CFz_Visc () const final
 Get the inviscid contribution to the efficiency coefficient.
 
su2double GetCL_Visc (unsigned short val_marker) const final
 Get the non dimensional lift coefficient (viscous contribution).
 
su2double GetCSF_Visc (unsigned short val_marker) const final
 Get the non dimensional sideforce coefficient (viscous contribution).
 
su2double GetCD_Visc (unsigned short val_marker) const final
 Get the non dimensional drag coefficient (viscous contribution).
 
su2double GetSurface_HF_Visc (unsigned short val_marker) const final
 Get the total heat flux.
 
su2double GetSurface_MaxHF_Visc (unsigned short val_marker) const final
 Get the maximum (per surface) heat flux.
 
void SetTotal_CpDiff (su2double val_pressure) final
 Set the value of the Equivalent Area coefficient.
 
void SetTotal_HeatFluxDiff (su2double val_heat) final
 Set the value of the Equivalent Area coefficient.
 
void SetTotal_CEquivArea (su2double val_equiv) final
 Set the value of the Equivalent Area coefficient.
 
void SetTotal_CNearFieldOF (su2double val_cnearfieldpress) final
 Set the value of the Near-Field pressure oefficient.
 
su2double GetTotal_CpDiff () const final
 Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
 
su2double GetTotal_HeatFluxDiff () const final
 Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
 
su2double GetTotal_CEquivArea () const final
 Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
 
su2double GetTotal_HeatFlux () const final
 Provide the total heat load.
 
su2double GetTotal_MaxHeatFlux () const final
 Provide the total heat load.
 
void SetTotal_HeatFlux (su2double val_Total_Heat) final
 Store the total heat load.
 
void SetTotal_MaxHeatFlux (su2double val_Total_MaxHeat) final
 Store the total heat load.
 
su2double GetCPressure (unsigned short val_marker, unsigned long val_vertex) const final
 Provide the Pressure coefficient.
 
su2double GetCPressureTarget (unsigned short val_marker, unsigned long val_vertex) const final
 Provide the Target Pressure coefficient.
 
void SetCPressureTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_pressure) final
 Set the value of the target Pressure coefficient.
 
su2double * GetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex) final
 Value of the characteristic variables at the boundaries.
 
void SetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_var, su2double val_value) final
 Value of the characteristic variables at the boundaries.
 
su2double GetInletTtotal (unsigned short val_marker, unsigned long val_vertex) const final
 Value of the total temperature at an inlet boundary.
 
su2double GetInletPtotal (unsigned short val_marker, unsigned long val_vertex) const final
 Value of the total pressure at an inlet boundary.
 
su2double GetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const final
 A component of the unit vector representing the flow direction at an inlet boundary.
 
void SetInletTtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ttotal) final
 Set the value of the total temperature at an inlet boundary.
 
void SetInletPtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ptotal) final
 Set the value of the total pressure at an inlet boundary.
 
void SetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_flowdir) final
 Set a component of the unit vector representing the flow direction at an inlet boundary.
 
void UpdateCustomBoundaryConditions (CGeometry **geometry_container, CSolver ***solver_container, CConfig *config) final
 Update the multi-grid structure for the customized boundary conditions.
 
void UpdateFarfieldVelocity (const CConfig *config) final
 Updates the components of the farfield velocity vector.
 
void ComputeVerificationError (CGeometry *geometry, CConfig *config) final
 Compute the global error measures (L2, Linf) for verification cases.
 
void Pressure_Forces (const CGeometry *geometry, const CConfig *config) final
 Compute the pressure forces and all the adimensional coefficients.
 
void Momentum_Forces (const CGeometry *geometry, const CConfig *config) final
 Compute the pressure forces and all the adimensional coefficients.
 
void Friction_Forces (const CGeometry *geometry, const CConfig *config) final
 Compute the viscous forces and all the addimensional coefficients.
 
virtual void Buffet_Monitoring (const CGeometry *geometry, const CConfig *config)
 Compute the buffet sensor.
 
void SetSlidingStateStructure (unsigned short val_marker, unsigned long val_vertex) final
 Allocates the final pointer of SlidingState depending on how many donor vertex donate to it. That number is stored in SlidingStateNodes[val_marker][val_vertex].
 
void SetSlidingState (unsigned short val_marker, unsigned long val_vertex, unsigned short val_state, unsigned long donor_index, su2double component) final
 Set the outer state for fluid interface nodes.
 
void SetnSlidingStates (unsigned short val_marker, unsigned long val_vertex, int value) final
 Set the number of outer state for fluid interface nodes.
 
int GetnSlidingStates (unsigned short val_marker, unsigned long val_vertex) const final
 Get the number of outer state for fluid interface nodes.
 
su2double GetSlidingState (unsigned short val_marker, unsigned long val_vertex, unsigned short val_state, unsigned long donor_index) const final
 Get the outer state for fluid interface nodes.
 
void SetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var, su2double relaxation_factor, su2double val_var) final
 Set the conjugate heat variables.
 
su2double GetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var) const final
 Set the conjugate heat variables.
 
su2double GetCSkinFriction (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const final
 Get the skin friction coefficient.
 
su2double GetWallShearStress (unsigned short val_marker, unsigned long val_vertex) const final
 Get the wall shear stress.
 
su2double GetHeatFlux (unsigned short val_marker, unsigned long val_vertex) const final
 Get the heat flux.
 
su2double GetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex) const final
 Get the skin friction coefficient.
 
void SetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_heat) final
 Set the value of the target Pressure coefficient.
 
su2double GetYPlus (unsigned short val_marker, unsigned long val_vertex) const final
 Get the y plus.
 
su2double GetUTau (unsigned short val_marker, unsigned long val_vertex) const final
 Get the u_tau .
 
su2double GetEddyViscWall (unsigned short val_marker, unsigned long val_vertex) const final
 Get the eddy viscosity at the wall (wall functions).
 
const su2activevector * GetEdgeMassFluxes () const final
 Get the mass fluxes across the edges (computed and stored during the discretization of convective fluxes).
 
- Public Member Functions inherited from CSolver
 CSolver (LINEAR_SOLVER_MODE linear_solver_mode=LINEAR_SOLVER_MODE::STANDARD)
 Constructor of the class.
 
virtual ~CSolver (void)
 Destructor of the class.
 
CVariable * GetNodes ()
 Allow outside access to the nodes of the solver, containing conservatives, primitives, etc.
 
const CVariable * GetNodes () const
 
bool HasPeriodicRotation (const CConfig &config) const
 
void GetCommCountAndType (const CConfig *config, MPI_QUANTITIES commType, unsigned short &COUNT_PER_POINT, COMM_TYPE &MPI_TYPE) const
 Helper function to define the type and number of variables per point for each communication type.
 
void InitiateComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType)
 Routine to load a solver quantity into the data structures for MPI point-to-point communication and to launch non-blocking sends and recvs.
 
void CompleteComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType)
 Routine to complete the set of non-blocking communications launched by InitiateComms() and unpacking of the data in the solver class.
 
void GetPeriodicCommCountAndType (const CConfig *config, unsigned short commType, unsigned short &COUNT_PER_POINT, COMM_TYPE &MPI_TYPE, unsigned short &ICOUNT, unsigned short &JCOUNT) const
 Helper function to define the type and number of variables per point for each communication type.
 
void InitiatePeriodicComms (CGeometry *geometry, const CConfig *config, unsigned short val_periodic_index, unsigned short commType)
 Routine to load a solver quantity into the data structures for MPI periodic communication and to launch non-blocking sends and recvs.
 
void CompletePeriodicComms (CGeometry *geometry, const CConfig *config, unsigned short val_periodic_index, unsigned short commType)
 Routine to complete the set of non-blocking periodic communications launched by InitiatePeriodicComms() and unpacking of the data in the solver class.
 
void SetIterLinSolver (unsigned short val_iterlinsolver)
 Set number of linear solver iterations.
 
void SetResLinSolver (su2double val_reslinsolver)
 Set the final linear solver residual.
 
void SetResidual_RMS (const CGeometry *geometry, const CConfig *config, bool force=false)
 Set the value of the max residual and RMS residual.
 
void SetResidual_BGS (const CGeometry *geometry, const CConfig *config)
 Communicate the value of the max residual and RMS residual.
 
void ComputeResidual_Multizone (const CGeometry *geometry, const CConfig *config)
 Set the value of the max residual and RMS residual.
 
virtual void SetDualTime_Mesh (void)
 Move the mesh in time.
 
bool GetAdjoint (void) const
 Get information whether the initialization is an adjoint solver or not.
 
unsigned short GetIterLinSolver (void) const
 Get number of linear solver iterations.
 
su2double GetResLinSolver (void) const
 Get the final linear solver residual.
 
su2double GetMax_Delta_Time (void) const
 Get the value of the maximum delta time.
 
su2double GetMin_Delta_Time (void) const
 Get the value of the minimum delta time.
 
su2double GetMax_CFL_Local (void) const
 Get the value of the maximum local CFL number.
 
su2double GetMin_CFL_Local (void) const
 Get the value of the minimum local CFL number.
 
su2double GetAvg_CFL_Local (void) const
 Get the value of the average local CFL number.
 
void SetCFL_Local_Stats (su2double val_cfl)
 Set min/max/avg local CFL summary statistics.
 
unsigned short GetnVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnPrimVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnPrimVarGrad (void) const
 Get the number of variables of the problem.
 
unsigned short GetnSecondaryVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnOutputVariables (void) const
 Get the number of variables of the problem.
 
su2double GetRes_RMS (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
su2double GetRes_Max (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
su2double GetRes_BGS (unsigned short val_var) const
 Get the residual for BGS subiterations.
 
su2double GetRes_Max_BGS (unsigned short val_var) const
 Get the maximal residual for BGS subiterations.
 
virtual su2double GetRes_FEM (unsigned short val_var) const
 Get the residual for FEM structural analysis.
 
unsigned long GetPoint_Max (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
const su2double * GetPoint_Max_Coord (unsigned short val_var) const
 Get the location of the maximal residual, this is useful for the convergence history.
 
unsigned long GetPoint_Max_BGS (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
const su2double * GetPoint_Max_Coord_BGS (unsigned short val_var) const
 Get the location of the maximal residual, this is useful for the convergence history.
 
void SetRotatingFrame_GCL (CGeometry *geometry, const CConfig *config)
 Set Value of the residual due to the Geometric Conservation Law (GCL) for steady rotating frame problems.
 
void SetAuxVar_Gradient_GG (CGeometry *geometry, const CConfig *config)
 Compute the Green-Gauss gradient of the auxiliary variable.
 
void SetAuxVar_Gradient_LS (CGeometry *geometry, const CConfig *config)
 Compute the Least Squares gradient of the auxiliary variable.
 
void Add_External_To_Solution ()
 Add External to Solution vector.
 
void Add_Solution_To_External ()
 Add the current Solution vector to External.
 
void Update_Cross_Term (CConfig *config, su2passivematrix &cross_term)
 Update a given cross-term with relaxation and the running total (External).
 
void SetSolution_Gradient_GG (CGeometry *geometry, const CConfig *config, short idxVel, bool reconstruction=false)
 Compute the Green-Gauss gradient of the solution.
 
void SetSolution_Gradient_LS (CGeometry *geometry, const CConfig *config, short idxVel, bool reconstruction=false)
 Compute the Least Squares gradient of the solution.
 
void SetGridVel_Gradient (CGeometry *geometry, const CConfig *config) const
 Compute the Least Squares gradient of the grid velocity.
 
void SetSolution_Limiter (CGeometry *geometry, const CConfig *config)
 Compute slope limiter.
 
virtual su2double GetFlameThickness () const
 A virtual member.
 
su2double MUSCL_Reconstruction (const su2double *grad, const su2double *vector_ij, su2double delta_ij, su2double kappa, su2double ramp_val) const
 Compute the projection of a variable for MUSCL reconstruction.
 
virtual void Set_OldSolution ()
 Set the old solution variables to the current solution value for Runge-Kutta iteration. It is a virtual function, because for the DG-FEM solver a different version is needed.
 
void Restart_OldGeometry (CGeometry *geometry, CConfig *config) const
 Load the geometries at the previous time states n and nM1.
 
virtual void CheckTimeSynchronization (CConfig *config, const su2double TimeSync, su2double &timeEvolved, bool &syncTimeReached)
 A virtual member.
 
virtual void ProcessTaskList_DG (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void ADER_SpaceTimeIntegration (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short RunTime_EqSystem)
 A virtual member.
 
virtual void ComputeSpatialJacobian (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short RunTime_EqSystem)
 A virtual member.
 
virtual void Postprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void Postprocessing (CGeometry *geometry, CConfig *config, CNumerics **numerics, bool of_comp_mode=false)
 A virtual member, overloaded.
 
virtual void Preprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, CNumerics **numerics, unsigned short iMesh, unsigned long Iteration, unsigned short RunTime_EqSystem, bool Output)
 A virtual member overloaded.
 
virtual void Set_Heatflux_Areas (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void BC_Clamped (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Clamped_Post (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Sym_Plane (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_DispDir (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Normal_Displacement (CGeometry *geometry, CNumerics *numerics, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Normal_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Dir_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Sine_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Damper (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface)
 A virtual member.
 
virtual void BC_Isothermal_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_HeatFlux_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_HeatTransfer_Wall (const CGeometry *geometry, const CConfig *config, const unsigned short val_marker)
 Impose a heat flux by prescribing a heat transfer coefficient and a temperature at infinity.
 
virtual void BC_Riemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_TurboRiemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void PreprocessBC_Giles (CGeometry *geometry, CConfig *config, CNumerics *conv_numerics, unsigned short marker_flag)
 It computes Fourier transformation for the needed quantities along the pitch for each span in turbomachinery analysis.
 
virtual void BC_Giles (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual std::shared_ptr< CTurboOutput > GetTurboBladePerformance () const
 
virtual void BC_Inlet_Turbo (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Inlet_MixingPlane (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Supersonic_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Supersonic_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Inflow (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Exhaust (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ConjugateHeat_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Smoluchowski_Maxwell (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void Impose_Fixed_Values (const CGeometry *geometry, const CConfig *config)
 Virtual function to apply something like a strong BC to the whole domain.
 
virtual su2double GetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state) const
 Get a component of the donor-side averaged state at a mixing plane interface.
 
virtual void SetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state, su2double component)
 Set a component of the donor-side averaged state at a mixing plane interface nodes.
 
void AdaptCFLNumber (CGeometry **geometry, CSolver ***solver_container, CConfig *config)
 Adapt the CFL number based on the local under-relaxation parameters computed for each nonlinear iteration.
 
virtual void IdentifySolutionOutliers (const CConfig *config, unsigned long iter)
 Identify points where the solution is an outlier (physics-specific concept) so that solvers can try to restore them to a stable condition.
 
void ResetCFLAdapt ()
 Reset the local CFL adaption variables.
 
virtual void ImplicitNewmark_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void ImplicitNewmark_Update (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void ImplicitNewmark_Relaxation (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateDisp (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateSolution (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateLoads (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Heat_Fluxes (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void SetCSensitivity (unsigned short val_marker, unsigned long val_vertex, su2double val_sensitivity)
 A virtual member.
 
virtual void SetForceProj_Vector (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void SetTotal_NetThrust (su2double val_Total_NetThrust)
 A virtual member.
 
virtual void SetTotal_Power (su2double val_Total_Power)
 A virtual member.
 
virtual void SetTotal_SolidCD (su2double val_Total_SolidCD)
 A virtual member.
 
virtual void SetTotal_ReverseFlow (su2double val_Total_ReverseFlow)
 A virtual member.
 
virtual void SetTotal_MFR (su2double val_Total_MFR)
 A virtual member.
 
virtual void SetTotal_Prop_Eff (su2double val_Total_Prop_Eff)
 A virtual member.
 
virtual void SetTotal_ByPassProp_Eff (su2double val_Total_ByPassProp_Eff)
 A virtual member.
 
virtual void SetTotal_Adiab_Eff (su2double val_Total_Adiab_Eff)
 A virtual member.
 
virtual void SetTotal_Poly_Eff (su2double val_Total_Poly_Eff)
 A virtual member.
 
virtual void SetTotal_IDC (su2double val_Total_IDC)
 A virtual member.
 
virtual void SetTotal_IDC_Mach (su2double val_Total_IDC_Mach)
 A virtual member.
 
virtual void SetTotal_IDR (su2double val_Total_IDR)
 A virtual member.
 
virtual void SetTotal_DC60 (su2double val_Total_DC60)
 A virtual member.
 
virtual void Inviscid_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
virtual void Smooth_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
virtual void Viscous_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
su2double GetTotal_ComboObj () const
 Provide the total "combo" objective (weighted sum of other values).
 
void SetTotal_Custom_ObjFunc (su2double value)
 Sets the value of the custom objective function.
 
virtual su2double GetSurface_Buffet_Metric (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual bool FixedCL_Convergence (CConfig *config, bool convergence)
 A virtual member.
 
virtual bool GetStart_AoA_FD (void) const
 A virtual member.
 
virtual bool GetEnd_AoA_FD (void) const
 A virtual member.
 
virtual unsigned long GetIter_Update_AoA (void) const
 A virtual member.
 
virtual su2double GetPrevious_AoA (void) const
 A virtual member.
 
virtual su2double GetAoA_inc (void) const
 A virtual member.
 
virtual su2double GetExhaust_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Pressure (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Mach (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetTotal_AvgTemperature () const
 A virtual member.
 
virtual su2double GetTotal_AeroCD () const
 A virtual member.
 
virtual su2double GetTotal_CFEA () const
 A virtual member.
 
virtual su2double GetTotal_CNearFieldOF () const
 A virtual member.
 
virtual su2double GetTotal_OFRefGeom () const
 A virtual member.
 
virtual su2double GetTotal_OFRefNode () const
 A virtual member.
 
virtual su2double GetTotal_OFVolFrac () const
 A virtual member.
 
virtual su2double GetTotal_OFDiscreteness () const
 Retrieve the value of the discreteness objective function.
 
virtual su2double GetTotal_OFCompliance () const
 A virtual member.
 
virtual su2double GetTotal_OFStressPenalty () const
 A virtual member.
 
virtual bool IsElementBased (void) const
 A virtual member.
 
virtual void SetTotal_AeroCD (su2double val_aerocd)
 A virtual member.
 
virtual void SetTotal_CFEA (su2double val_cfea)
 A virtual member.
 
virtual void SetTotal_OFRefGeom (su2double val_ofrefgeom)
 A virtual member.
 
virtual void SetTotal_OFRefNode (su2double val_ofrefnode)
 A virtual member.
 
virtual su2double GetTotal_NetThrust () const
 A virtual member.
 
virtual su2double GetTotal_Power () const
 A virtual member.
 
virtual su2double GetTotal_SolidCD () const
 A virtual member.
 
virtual su2double GetTotal_ReverseFlow () const
 A virtual member.
 
virtual su2double GetTotal_MFR () const
 A virtual member.
 
virtual su2double GetTotal_Prop_Eff () const
 A virtual member.
 
virtual su2double GetTotal_ByPassProp_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Adiab_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Poly_Eff () const
 A virtual member.
 
virtual su2double GetTotal_IDC () const
 A virtual member.
 
virtual su2double GetTotal_IDC_Mach () const
 A virtual member.
 
virtual su2double GetTotal_IDR () const
 A virtual member.
 
virtual su2double GetTotal_DC60 () const
 A virtual member.
 
virtual su2double GetTotal_Buffet_Metric () const
 A virtual member.
 
virtual unsigned long GetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex, unsigned long val_index)
 A virtual member.
 
virtual void SetCustomBoundaryScalar (unsigned short val_marker, unsigned long val_vertex, vector< passivedouble > val_customBoundaryScalar)
 Set the value of the customized normal scalar values/flux at a specified vertex on a specified marker.
 
virtual void SetInlet_TurbVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_turb_var)
 A virtual member.
 
virtual su2double GetBuffetSensor (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetPsiRho_Inf (void) const
 A virtual member.
 
virtual su2double GetPsiE_Inf (void) const
 A virtual member.
 
virtual su2double GetPhi_Inf (unsigned short val_dim) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Geo () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Mach () const
 A virtual member.
 
virtual su2double GetTotal_Sens_AoA () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Press () const
 Set the total farfield pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Temp () const
 Set the total farfield temperature sensitivity coefficient.
 
virtual su2double GetTotal_Sens_BPress () const
 Get the total back pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Density () const
 A virtual member.
 
virtual su2double GetTotal_Sens_ModVel () const
 A virtual member.
 
virtual su2double GetNuTilde_Inf (void) const
 A virtual member.
 
virtual su2double GetOmega_Inf (void) const
 A virtual member.
 
virtual su2double GetIntermittency_Inf () const
 Get value of the Intermittency.
 
virtual su2double GetReThetaT_Inf () const
 Get value of the momentum thickness Reynolds number.
 
virtual su2double GetTotal_Sens_E (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Nu (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Rho (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Rho_DL (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_EField (unsigned short iEField) const
 A virtual member.
 
virtual su2double GetTotal_Sens_DVFEA (unsigned short iDVFEA) const
 A virtual member.
 
virtual su2double GetVal_Young (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Poisson (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Rho (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Rho_DL (unsigned short iVal) const
 A virtual member.
 
virtual unsigned short GetnEField (void) const
 A virtual member.
 
virtual unsigned short GetnDVFEA (void) const
 A virtual member.
 
virtual su2double GetVal_EField (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_DVFEA (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetCSensitivity (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual const su2double * GetConstants () const
 A virtual member.
 
virtual void SetForceCoeff (su2double val_forcecoeff_history)
 A virtual member.
 
virtual void SetRelaxCoeff (su2double val_relaxcoeff_history)
 A virtual member.
 
virtual void SetFSI_Residual (su2double val_FSI_residual)
 A virtual member.
 
virtual su2double GetForceCoeff (void) const
 A virtual member.
 
virtual su2double GetRelaxCoeff (void) const
 A virtual member.
 
virtual su2double GetFSI_Residual (void) const
 A virtual member.
 
virtual void PredictStruct_Displacement (CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void ComputeAitken_Coefficient (CGeometry *geometry, const CConfig *config, unsigned long iOuterIter)
 A virtual member.
 
virtual void SetAitken_Relaxation (CGeometry *geometry, const CConfig *config)
 A virtual member.
 
void BasicLoadRestart (CGeometry *geometry, const CConfig *config, const string &filename, unsigned long skipVars)
 Loads the solution from the restart file.
 
void Read_SU2_Restart_ASCII (CGeometry *geometry, const CConfig *config, string val_filename)
 Read a native SU2 restart file in ASCII format.
 
void Read_SU2_Restart_Binary (CGeometry *geometry, const CConfig *config, string val_filename)
 Read a native SU2 restart file in binary format.
 
void Read_SU2_Restart_Metadata (CGeometry *geometry, CConfig *config, bool adjoint_run, const string &val_filename) const
 Read the metadata from a native SU2 restart file (ASCII or binary).
 
void LoadInletProfile (CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, unsigned short val_kind_solver, unsigned short val_kind_marker) const
 Load a inlet profile data from file into a particular solver.
 
virtual void LoadRestart_FSI (CGeometry *geometry, CConfig *config, int val_iter)
 A virtual member.
 
virtual unsigned short Get_iElem_iDe (unsigned long iElem) const
 A virtual member.
 
virtual void Set_DV_Val (su2double val_EField, unsigned short i_DV)
 A virtual member.
 
virtual su2double Get_DV_Val (unsigned short i_DV) const
 A virtual member.
 
void GaussElimination (su2double **A, su2double *rhs, unsigned short nVar)
 Gauss method for solving a linear system.
 
void Aeroelastic (CSurfaceMovement *surface_movement, CGeometry *geometry, CConfig *config, unsigned long TimeIter)
 Prepares and solves the aeroelastic equations.
 
void SetUpTypicalSectionWingModel (vector< vector< su2double > > &PHI, vector< su2double > &w, CConfig *config)
 Sets up the generalized eigenvectors and eigenvalues needed to solve the aeroelastic equations.
 
void SolveTypicalSectionWingModel (CGeometry *geometry, su2double Cl, su2double Cm, CConfig *config, unsigned short val_Marker, vector< su2double > &displacements)
 Solve the typical section wing model.
 
virtual void RegisterSolution (CGeometry *geometry_container, CConfig *config)
 A virtual member.
 
virtual void RegisterOutput (CGeometry *geometry_container, CConfig *config)
 A virtual member.
 
virtual void SetAdjoint_Output (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void ExtractAdjoint_Solution (CGeometry *geometry, CConfig *config, bool CrossTerm)
 A virtual member.
 
virtual void SetSurface_Sensitivity (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void SetSensitivity (CGeometry *geometry, CConfig *config, CSolver *target_solver=nullptr)
 A virtual member. Extract and set the geometrical sensitivity.
 
virtual void SetFSI_ConvValue (unsigned short val_index, su2double val_criteria)
 A virtual member.
 
virtual su2double GetFSI_ConvValue (unsigned short val_index) const
 A virtual member.
 
virtual su2double Compute_LoadCoefficient (su2double CurrentTime, su2double RampTime, const CConfig *config)
 A virtual member.
 
virtual void Compute_StiffMatrix (CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void Compute_StiffMatrix_NodalStressRes (CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void Compute_MassMatrix (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void Compute_MassRes (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void Compute_NodalStressRes (CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void Compute_BodyForces (CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void SetVolumetricHeatSource (CGeometry *geometry, CConfig *config)
 A virtual member. Set the volumetric heat source.
 
virtual void Solve_System (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void SetWAitken_Dyn_tn1 ()
 A virtual member.
 
virtual void SetLoad_Increment (unsigned long iInc, su2double loadInc)
 A virtual member.
 
virtual su2double GetLoad_Increment () const
 A virtual member.
 
virtual void SetRecording (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void RegisterVariables (CGeometry *geometry, CConfig *config, bool reset=false)
 A virtual member.
 
virtual void ExtractAdjoint_Variables (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual su2double * GetVecSolDOFs (void)
 A virtual member.
 
virtual unsigned long GetnDOFsGlobal (void) const
 A virtual member.
 
virtual void InitTurboContainers (CGeometry *geometry, CConfig **config, unsigned short iZone)
 A virtual member.
 
virtual vector< su2double > GetTurboPrimitive (unsigned short iBlade, unsigned short iSpan, bool Inlet)
 Get Primal variables for turbo performance computation iteration can be executed by multiple threads.
 
virtual void PreprocessAverage (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void TurboAverageProcess (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void GatherInOutAverageValues (CConfig *config, CGeometry *geometry)
 virtual member.
 
virtual void ComputeTurboBladePerformance (CGeometry *geometry, CConfig *config, unsigned short iBlade)
 
virtual su2double GetAverageDensity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageMassFlowRate (unsigned short valMarker) const
 virtual member
 
virtual su2double GetAveragePressure (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetAverageTurboVelocity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageNu (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageKine (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageOmega (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual void SetDensityIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityIn (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetDensityOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityOut (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetFreeStream_TurboSolution (CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry **geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry *geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void SetMesh_Stiffness (CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingVolume (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingSurface (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingDV (CGeometry *geometry, CNumerics *numerics, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 All steps required for smoothing the whole system on DV level in an iterative way.
 
virtual void RecordTapeAndCalculateOriginalGradient (CGeometry *geometry, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 A virtual member.
 
virtual void ReadSensFromGeometry (const CGeometry *geometry)
 A virtual member.
 
virtual void WriteSensToGeometry (CGeometry *geometry) const
 A virtual member.
 
void SetImplicitPeriodic (bool val_implicit_periodic)
 Routine that sets the flag controlling implicit treatment for periodic BCs.
 
void SetRotatePeriodic (bool val_rotate_periodic)
 Routine that sets the flag controlling solution rotation for periodic BCs.
 
su2activematrix * GetPeriodicProjections (const CGeometry &geometry, const CConfig &config)
 Storage for the limiters with rotational periodicity: the min and max, over the edges of the periodic matches of each point, of the reconstruction increments (communicated with PERIODIC_LIM_PRIM_1).
 
su2double * GetPeriodicProjection (unsigned long iPoint)
 Reconstruction increment bounds for a periodic receive point, nullptr for other points.
 
const string & GetSolverName () const
 Retrieve the solver name for output purposes.
 
vector< string > GetSolutionFields () const
 Get the solution fields.
 
void ComputeVertexTractions (CGeometry *geometry, const CConfig *config)
 Compute the tractions at the vertices.
 
su2double GetVertexTractions (unsigned short iMarker, unsigned long iVertex, unsigned short iDim) const
 Set the adjoints of the vertex tractions.
 
void RegisterVertexTractions (CGeometry *geometry, const CConfig *config)
 Register the vertex tractions as output.
 
void StoreVertexTractionsAdjoint (unsigned short iMarker, unsigned long iVertex, unsigned short iDim, su2double val_adjoint)
 Store the adjoints of the vertex tractions.
 
void SetVertexTractionsAdjoint (CGeometry *geometry, const CConfig *config)
 Set the adjoints of the vertex tractions to the AD structure.
 
virtual su2double GetMinimum_Volume () const
 Get minimun volume in the mesh.
 
virtual su2double GetMaximum_Volume () const
 Get maximum volume in the mesh.
 
virtual void SetMomCoeff (CGeometry *geometry, CSolver **solver_container, CConfig *config, bool periodic, unsigned short iMesh)
 A virtual member.
 
virtual void ComputeHbyA (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
void SavelibROM (CGeometry *geometry, CConfig *config, bool converged)
 Save snapshot or POD data using libROM.
 
void CustomSourceResidual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh)
 

Static Public Member Functions

static void ComputeConsistentExtrapolation (CFluidModel *fluidModel, unsigned short nDim, const su2double *scalar, su2double *primitive)
 Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consistent way.
 
- Static Public Member Functions inherited from CSolver
static void MultigridRestriction (const CGeometry &geoFine, const su2activematrix &varsFine, const CGeometry &geoCoarse, su2activematrix &varsCoarse)
 Interpolate variables to a coarser grid level.
 

Protected Member Functions

void CommonPreprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output)
 Preprocessing actions common to the Euler and NS solvers.
 
void SetPreconditioner (const CConfig *config, unsigned long iPoint, su2double delta, su2activematrix &preconditioner) const
 Compute the preconditioner for low-Mach flows.
 
void SetCentered_Dissipation_Sensor (CGeometry *geometry, const CConfig *config)
 Compute a pressure sensor switch.
 
void SetMax_Eigenvalue (CGeometry *geometry, const CConfig *config)
 Compute the max eigenvalue.
 
virtual unsigned long SetPrimitive_Variables (CSolver **solver_container, const CConfig *config)
 Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.
 
void RecomputeDensity_time_n (CSolver **solver_container, const CConfig *config)
 Recompute the dual-time density history (rho_n, rho_n-1) from the stored solution histories (Solution_time_n[,1], and the species histories for flamelet/variable-density) via the fluid model.
 
void SetBeta_Parameter (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 Update the Beta parameter for the incompressible preconditioner.
 
void SetRangePressure (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 Update the pressure range P_max - P_min for target mass flow rate.
 
void GetOutlet_Properties (CGeometry *geometry, CConfig *config, unsigned short iMesh, bool Output)
 A virtual member.
 
void SetNondimensionalization (CConfig *config, unsigned short iMesh)
 Set the solver nondimensionalization.
 
template<ENUM_TIME_INT IntegrationType>
void Explicit_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 Generic implementation of explicit iterations with preconditioner.
 
void SetReferenceValues (const CConfig &config) final
 Set reference values for pressure, forces, etc.
 
void CorrectPressureGradient (su2double *corrected_grad_pressure, const su2double *avg_grad_pressure, const su2double val_pressure_i, const su2double val_pressure_j, const su2double *val_edge_vector, const su2double val_dist_ij_2)
 Apply a correction to the pressure or pressure deviation gradient to align with the edges.
 
- Protected Member Functions inherited from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >
CVariable * GetBaseClassPointerToNodes () final
 Return nodes to allow CSolver::base_nodes to be set.
 
 CFVMFlowSolverBase (const CGeometry &geometry, const CConfig &config)
 Protected constructor, this class is not directly instantiable.
 
void Allocate (const CConfig &config)
 Allocate member variables.
 
void AllocateTerribleLegacyTemporaryVariables ()
 Allocate small member variables that ideally should not be used.
 
void CommunicateInitialState (CGeometry *geometry, const CConfig *config)
 Communicate the initial solver state.
 
void HybridParallelInitialization (const CConfig &config, CGeometry &geometry)
 Initialize thread parallel variables.
 
void PushSolutionBackInTime (unsigned long TimeIter, bool restart, bool rans, CSolver ***solver_container, CGeometry **geometry, CConfig *config)
 Move solution to previous time levels (for restarts).
 
su2double EvaluateCommonObjFunc (const CConfig &config) const
 Evaluate common part of objective function to all solvers.
 
void EdgeFluxResidual (const CGeometry *geometry, const CSolver *const *solvers, CConfig *config)
 Method to compute convective and viscous residual contribution using vectorized numerics.
 
void SumEdgeFluxes (const CGeometry *geometry)
 Sum the edge fluxes for each cell to populate the residual vector, only used on coarse grids.
 
void FinalizeResidualComputation (const CGeometry *geometry, bool pausePreacc, unsigned long localCounter, CConfig *config)
 Sums edge fluxes (if required) and computes the global error counter.
 
void ComputeAxisymmetricAuxGradients (CGeometry *geometry, const CConfig *config)
 Computes and sets the required auxilliary vars (and gradients) for axisymmetric flow.
 
virtual void InstantiateEdgeNumerics (const CSolver *const *solvers, const CConfig *config)
 Instantiate a SIMD numerics object.
 
virtual CNumerics::ResidualType Viscous_Residual (unsigned long iEdge, CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 Compute the viscous contribution for a particular edge.
 
virtual void Viscous_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep)
 A virtual member.
 
CNumerics::ResidualType Viscous_Residual_impl (unsigned long iEdge, CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 
void UpdateJacobian (unsigned long iEdge, unsigned long iPoint, unsigned long jPoint, const CNumerics::ResidualType<> &conv, const CNumerics::ResidualType<> &visc)
 Update the Jacobian for one edge with the fused convective and viscous contributions.
 
virtual void ComputeUnderRelaxationFactor (const CConfig *config)
 Compute a suitable under-relaxation parameter to limit the change in the solution variables over a nonlinear iteration for stability.
 
void LoadRestart_impl (CGeometry **geometry, CSolver ***solver, CConfig *config, int iter, bool update_geo, su2double *RestartSolution=nullptr, unsigned short nVar_Restart=0)
 General implementation to load a flow solution from a restart file.
 
void SetTime_Step_impl (const SoundSpeedFunc &soundSpeed, const LambdaViscFunc &lambdaVisc, CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration)
 Generic implementation to compute the time step based on CFL and conv/visc eigenvalues.
 
void SetMax_Eigenvalue_impl (const SoundSpeedFunc &soundSpeed, CGeometry *geometry, const CConfig *config)
 Compute the max eigenvalue, gemeric implementation.
 
void SetCentered_Dissipation_Sensor_impl (const SensVarFunc &sensVar, CGeometry *geometry, const CConfig *config)
 Compute the dissipation sensor for centered schemes.
 
void Explicit_Iteration_impl (ResidualPrecond &preconditioner, CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 Generic implementation of explicit iterations with a preconditioner.
 
void Explicit_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 Generic implementation of explicit iterations without preconditioner.
 
void PrepareImplicitIteration_impl (DiagonalPrecond &preconditioner, CGeometry *geometry, CConfig *config)
 Generic implementation to prepare an implicit iteration with an optional preconditioner applied to the diagonal.
 
void ComputeVorticityAndStrainMag (const CConfig &config, const CGeometry *geometry, unsigned short iMesh)
 Evaluate the vorticity and strain rate magnitude.
 
 ~CFVMFlowSolverBase ()
 Destructor.
 
- Protected Member Functions inherited from CSolver
void SetBaseClassPointerToNodes ()
 Call this method to set "base_nodes" after the "nodes" variable of the derived solver is instantiated.
 
void SetUndivided_Laplacian (CGeometry *geometry, const CConfig *config)
 Compute the undivided laplacian for the solution variables.
 
void SetVerificationSolution (unsigned short nDim, unsigned short nVar, CConfig *config)
 Allocate the memory for the verification solution, if necessary.
 
void ResidualReductions_FromAllThreads (const CGeometry *geometry, const CConfig *config, const su2double *resRMS, const su2double *resMax, const unsigned long *idxMax)
 "Add" local residual variables of all threads to compute global residual variables.
 
void SetResToZero ()
 Set the RMS and MAX residual to zero.
 
void AddRes_Max (unsigned short val_var, su2double val_residual, unsigned long val_point, const su2double *val_coord)
 Adds the maximal residual, this is useful for the convergence history.
 
void AddRes_Max_BGS (unsigned short val_var, su2double val_residual, unsigned long val_point, const su2double *val_coord)
 Adds the maximal residual for BGS subiterations.
 

Protected Attributes

vector< CFluidModel * > FluidModel
 fluid model used in the solver.
 
StreamwisePeriodicValues SPvals
 
StreamwisePeriodicValues SPvalsUpdated
 
bool pressure_based
 
su2activevector alpha_p
 
su2activevector pressureCorrection
 
su2activematrix momentumCorrection
 
su2activevector EdgeMassFluxCorrection
 
- Protected Attributes inherited from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >
const VariableType::template CIndices< unsigned short > prim_idx
 Object with indices of primitive variables.
 
unsigned long omp_chunk_size
 Chunk size used in light point loops.
 
su2activevector EdgeMassFluxes
 Mass fluxes across each edge, for discretization of transported scalars.
 
su2double Mach_Inf
 Mach number at the infinity.
 
su2double Density_Inf
 Density at the infinity.
 
su2double Energy_Inf
 Energy at the infinity.
 
su2double Temperature_Inf
 Temperature at the infinity.
 
su2double Enthalpy_Inf
 Enthalpy at the infinity.
 
su2double Pressure_Inf
 Pressure at the infinity.
 
su2double * Velocity_Inf
 Flow Velocity vector at the infinity.
 
su2double Viscosity_Inf
 Viscosity at the infinity.
 
su2double Tke_Inf
 Turbulent kinetic energy at the infinity.
 
su2double StrainMag_Max
 Maximum Strain Rate magnitude.
 
su2double Omega_Max
 Maximum Omega.
 
su2double Global_Delta_Time
 Time-step for TIME_STEPPING time marching strategy.
 
su2double Global_Delta_UnstTimeND
 Unsteady time step for the dual time strategy.
 
unsigned long ErrorCounter
 Counter for number of un-physical states.
 
AeroCoeffsArray InvCoeff
 Inviscid pressure contributions for each boundary.
 
AeroCoeffsArray SurfaceInvCoeff
 Inviscid pressure contributions for each monitoring boundary.
 
AeroCoeffs AllBoundInvCoeff
 Total pressure contribution for all the boundaries.
 
AeroCoeffsArray MntCoeff
 Inviscid momentum contributions for each boundary.
 
AeroCoeffsArray SurfaceMntCoeff
 Inviscid momentum contributions for each monitoring boundary.
 
AeroCoeffs AllBoundMntCoeff
 Total momentum contribution for all the boundaries.
 
AeroCoeffsArray ViscCoeff
 Viscous contributions for each boundary.
 
AeroCoeffsArray SurfaceViscCoeff
 Viscous contributions for each monitoring boundary.
 
AeroCoeffs AllBoundViscCoeff
 Total pressure contribution for all the boundaries.
 
AeroCoeffsArray SurfaceCoeff
 Totals for each monitoring surface.
 
AeroCoeffs TotalCoeff
 Totals for all boundaries.
 
su2double AeroCoeffForceRef
 Reference force for aerodynamic coefficients.
 
su2double DynamicPressureRef
 Reference dynamic pressure.
 
su2double Total_CpDiff
 Total Equivalent Area coefficient for all the boundaries.
 
su2double Total_HeatFluxDiff
 Total Equivalent Area coefficient for all the boundaries.
 
su2double Total_CEquivArea
 Total Equivalent Area coefficient for all the boundaries.
 
su2double Total_MassFlowRate
 Total Mass Flow Rate on monitored boundaries.
 
su2double Total_CNearFieldOF
 Total Near-Field Pressure coefficient for all the boundaries.
 
su2double Total_Heat
 Total heat load for all the boundaries.
 
su2double Total_MaxHeat
 Maximum heat flux on all boundaries.
 
su2double AllBound_CNearFieldOF_Inv
 Near-Field press coeff (inviscid) for all the boundaries.
 
vector< su2double > CNearFieldOF_Inv
 Near field pressure (inviscid) for each boundary.
 
vector< su2double > Surface_HF_Visc
 Total (integrated) heat flux for each monitored surface.
 
vector< su2double > Surface_MaxHF_Visc
 Maximum heat flux for each monitored surface.
 
vector< su2double > HF_Visc
 Heat load (viscous contribution) for each boundary.
 
vector< su2double > MaxHF_Visc
 Maximum heat flux (viscous contribution) for each boundary.
 
su2double AllBound_HF_Visc
 Heat load (viscous contribution) for all the boundaries.
 
su2double AllBound_MaxHF_Visc
 Maximum heat flux (viscous contribution) for all boundaries.
 
vector< vector< su2double > > Inlet_Ptotal
 Value of the Total P.
 
vector< vector< su2double > > Inlet_Ttotal
 Value of the Total T.
 
vector< su2activematrix > Inlet_FlowDir
 Value of the Flow Direction.
 
vector< vector< su2double > > HeatFlux
 Heat transfer coefficient for each boundary and vertex.
 
vector< vector< su2double > > HeatFluxTarget
 Heat transfer coefficient for each boundary and vertex.
 
vector< su2activematrix > CharacPrimVar
 Value of the characteristic variables at each boundary.
 
vector< su2activematrix > CSkinFriction
 Skin friction coefficient for each boundary and vertex.
 
vector< vector< su2double > > WallShearStress
 Wall Shear Stress for each boundary and vertex.
 
vector< su2activematrix > HeatConjugateVar
 CHT variables for each boundary and vertex.
 
vector< vector< su2double > > CPressure
 Pressure coefficient for each boundary and vertex.
 
vector< vector< su2double > > CPressureTarget
 Target Pressure coefficient for each boundary and vertex.
 
vector< vector< su2double > > YPlus
 Yplus for each boundary and vertex.
 
vector< vector< su2double > > UTau
 UTau for each boundary and vertex.
 
vector< vector< su2double > > EddyViscWall
 Eddy viscosuty at the wall for each boundary and vertex.
 
bool space_centered
 True if space centered scheme used.
 
bool euler_implicit
 True if euler implicit scheme used.
 
bool least_squares
 True if computing gradients by least squares.
 
su2double Gamma
 Fluid's Gamma constant (ratio of specific heats).
 
su2double Gamma_Minus_One
 Fluids's Gamma - 1.0 .
 
vector< su2matrix< su2double * > > SlidingState
 
vector< vector< int > > SlidingStateNodes
 
array< DummyGridColor<>, 1 > EdgeColoring
 
CSysVector< su2double > EdgeFluxes
 Flux across each edge.
 
CNumericsSIMD * edgeNumerics
 Object for edge flux computation.
 
CIncEulerVariable * nodes
 The highest level in the variable hierarchy the DERIVED solver can safely use.
 
- Protected Attributes inherited from CSolver
int rank
 MPI Rank.
 
int size
 MPI Size.
 
bool adjoint
 Boolean to determine whether solver is initialized as a direct or an adjoint solver.
 
unsigned short MGLevel
 Multigrid level of this solver object.
 
unsigned short IterLinSolver
 Linear solver iterations.
 
su2double ResLinSolver
 Final linear solver residual.
 
unsigned short NonLinRes_Counter
 Number of elements of the nonlinear residual indicator series.
 
vector< su2double > NonLinRes_Series
 Vector holding the nonlinear residual indicator series.
 
su2double Old_Func
 Old value of the nonlinear residual indicator.
 
su2double New_Func
 Current value of the nonlinear residual indicator.
 
unsigned short nVar
 Number of variables of the problem.
 
unsigned short nPrimVar
 Number of primitive variables of the problem.
 
unsigned short nPrimVarGrad
 Number of primitive variables of the problem in the gradient computation.
 
unsigned short nSecondaryVar
 Number of primitive variables of the problem.
 
unsigned short nVarGrad
 Number of variables for deallocating the LS Cvector.
 
unsigned short nDim
 Number of dimensions of the problem.
 
unsigned long nPoint
 Number of points of the computational grid.
 
unsigned long nPointDomain
 Number of points of the computational grid.
 
su2double Max_Delta_Time
 Maximum value of the delta time for all the control volumes.
 
su2double Min_Delta_Time
 Minimum value of the delta time for all the control volumes.
 
su2double Max_CFL_Local
 Maximum value of the CFL across all the control volumes.
 
su2double Min_CFL_Local
 Minimum value of the CFL across all the control volumes.
 
su2double Avg_CFL_Local
 Average value of the CFL across all the control volumes.
 
vector< su2double > Residual_RMS
 Vector with the mean residual for each variable.
 
vector< su2double > Residual_Max
 Vector with the maximal residual for each variable.
 
vector< su2double > Residual_BGS
 Vector with the mean residual for each variable for BGS subiterations.
 
vector< su2double > Residual_Max_BGS
 Vector with the maximal residual for each variable for BGS subiterations.
 
vector< unsigned long > Point_Max
 Vector with the maximal residual for each variable.
 
vector< unsigned long > Point_Max_BGS
 Vector with the maximal residual for each variable.
 
su2activematrix Point_Max_Coord
 Vector with pointers to the coords of the maximal residual for each variable.
 
su2activematrix Point_Max_Coord_BGS
 Vector with pointers to the coords of the maximal residual for each variable.
 
su2double Total_Custom_ObjFunc = 0.0
 Total custom objective function.
 
su2double Total_ComboObj = 0.0
 Total 'combo' objective for all monitored boundaries.
 
su2double * Residual
 Auxiliary nVar vector.
 
su2double * Residual_i
 Auxiliary nVar vector for storing the residual at point i.
 
su2double * Residual_j
 Auxiliary nVar vector for storing the residual at point j.
 
su2double * Solution
 Auxiliary nVar vector.
 
su2double * Solution_i
 Auxiliary nVar vector for storing the solution at point i.
 
su2double * Solution_j
 Auxiliary nVar vector for storing the solution at point j.
 
su2double * Vector
 Auxiliary nDim vector.
 
su2double * Vector_i
 Auxiliary nDim vector to do the reconstruction of the variables at point i.
 
su2double * Vector_j
 Auxiliary nDim vector to do the reconstruction of the variables at point j.
 
su2double * Res_Conv
 Auxiliary nVar vector for storing the convective residual.
 
su2double * Res_Visc
 Auxiliary nVar vector for storing the viscous residual.
 
su2double * Res_Sour
 Auxiliary nVar vector for storing the viscous residual.
 
su2double * Res_Conv_i
 Auxiliary vector for storing the convective residual at point i.
 
su2double * Res_Visc_i
 Auxiliary vector for storing the viscous residual at point i.
 
su2double * Res_Conv_j
 Auxiliary vector for storing the convective residual at point j.
 
su2double * Res_Visc_j
 Auxiliary vector for storing the viscous residual at point j.
 
su2double ** Jacobian_i
 Auxiliary matrices for storing point to point Jacobians at point i.
 
su2double ** Jacobian_j
 Auxiliary matrices for storing point to point Jacobians at point j.
 
su2double ** Jacobian_ii
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_ij
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_ji
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_jj
 Auxiliary matrices for storing point to point Jacobians.
 
su2activevector iPoint_UndLapl
 Auxiliary variable for the undivided Laplacians.
 
su2activevector jPoint_UndLapl
 Auxiliary variable for the undivided Laplacians.
 
vector< int > Restart_Vars
 Auxiliary structure for holding the number of variables and points in a restart.
 
int Restart_ExtIter
 Auxiliary structure for holding the external iteration offset from a restart.
 
vector< passivedouble > Restart_Data
 Auxiliary structure for holding the data values from a restart.
 
unsigned short nOutputVariables
 Number of variables to write.
 
unsigned long nMarker
 Total number of markers using the grid information.
 
vector< unsigned long > nVertex
 Store nVertex at each marker for deallocation.
 
bool rotate_periodic
 Flag that controls whether the periodic solution needs to be rotated for the solver.
 
bool implicit_periodic
 Flag that controls whether the implicit system should be treated by the periodic BC comms.
 
su2activematrix PeriodicProj
 Min/max reconstruction increments at periodic receive points (for limiters).
 
std::unordered_map< unsigned long, size_t > PeriodicProjIndex
 Local point to compact projection row.
 
bool dynamic_grid
 Flag that determines whether the grid is dynamic (moving or deforming + grid velocities).
 
vector< su2activematrix > VertexTraction
 
vector< su2activematrix > VertexTractionAdjoint
 
std::shared_ptr< CTurboOutput > TurbomachineryPerformance
 turbo performance calculator.
 
string SolverName
 Store the name of the solver for output purposes.
 

Additional Inherited Members

- Public Attributes inherited from CSolver
CSysVector< su2double > LinSysSol
 vector to store iterative solution of implicit linear system.
 
CSysVector< su2double > LinSysRes
 vector to store iterative residual of implicit linear system.
 
CSysMatrix< su2mixedfloat > Jacobian
 Complete sparse Jacobian structure for implicit computations.
 
CSysSolve< su2mixedfloat > System
 Linear solver/smoother.
 
CSysVector< su2double > OutputVariables
 vector to store the extra variables to be written.
 
string * OutputHeadingNames
 vector of strings to store the headings for the exra variables
 
CVerificationSolution * VerificationSolution
 Verification solution class used within the solver.
 
vector< string > fields
 
- Protected Types inherited from CSolver
enum  : size_t { OMP_MIN_SIZE = 32 }
 
- Static Protected Member Functions inherited from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >
static void ompMasterAssignBarrier (Ts &&... lhsRhsPairs)
 Utility to set the value of a member variables safely, and so that the new values are seen by all threads.
 
- Static Protected Member Functions inherited from CSolver
static void ResidualReductions_PerThread (unsigned long iPoint, unsigned short iVar, su2double res, su2double *resRMS, su2double *resMax, unsigned long *idxMax)
 "Add" residual at (iPoint,iVar) to residual variables local to the thread.
 
- Static Protected Attributes inherited from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >
static constexpr size_t MAXNDIM
 Max number of space dimensions, used in some static arrays.
 
static constexpr size_t MAXNVAR
 Max number of variables, for static arrays.
 
static constexpr size_t OMP_MAX_SIZE
 Max chunk size for light point loops.
 
static constexpr size_t OMP_MIN_SIZE
 Min chunk size for edge loops (max is color group size).
 
static constexpr bool ReducerStrategy
 

Detailed Description

Main class for defining the incompressible Euler flow solver.

Author
F. Palacios, T. Economon, T. Albring

Constructor & Destructor Documentation

◆ CIncEulerSolver() [1/2]

CIncEulerSolver::CIncEulerSolver ( )
delete

◆ CIncEulerSolver() [2/2]

CIncEulerSolver::CIncEulerSolver ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iMesh,
const bool  navier_stokes = false 
)

Constructor of the class.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iMesh- Grid level.
[in]navier_stokes- True when the constructor is called by the derived class CIncNSSolver.

◆ ~CIncEulerSolver()

CIncEulerSolver::~CIncEulerSolver ( void  )
override

Destructor of the class.

Member Function Documentation

◆ ApplyPressureVelocityCorrection()

void CIncEulerSolver::ApplyPressureVelocityCorrection ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)
finalvirtual

Compute the spatial integration using a centered scheme.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ BC_Far_Field()

void CIncEulerSolver::BC_Far_Field ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose the far-field boundary condition using characteristics.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]conv_numerics- Description of the numerical method.
[in]visc_numerics- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Inlet()

void CIncEulerSolver::BC_Inlet ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose a subsonic inlet boundary condition.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]conv_numerics- Description of the numerical method.
[in]visc_numerics- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Outlet()

void CIncEulerSolver::BC_Outlet ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose the outlet boundary condition.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]conv_numerics- Description of the numerical method.
[in]visc_numerics- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ Centered_Residual()

void CIncEulerSolver::Centered_Residual ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics **  numerics_container,
CConfig *  config,
unsigned short  iMesh,
unsigned short  iRKStep 
)
finalvirtual

Compute the spatial integration using a centered scheme.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]numerics_container- 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.

Reimplemented from CSolver.

◆ ClassicalRK4_Iteration()

void CIncEulerSolver::ClassicalRK4_Iteration ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iRKStep 
)
finalvirtual

Update the solution using the classical Runge-Kutta 4 scheme.

Parameters
[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.

Reimplemented from CSolver.

◆ CommonPreprocessing()

void CIncEulerSolver::CommonPreprocessing ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh,
unsigned short  iRKStep,
unsigned short  RunTime_EqSystem,
bool  Output 
)
protected

Preprocessing actions common to the Euler and NS solvers.

Parameters
[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]Output- boolean to determine whether to print output.

◆ ComputeConsistentExtrapolation()

void CIncEulerSolver::ComputeConsistentExtrapolation ( CFluidModel *  fluidModel,
unsigned short  nDim,
const su2double *  scalar,
su2double *  primitive 
)
static

Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consistent way.

Note
This method is static to improve the chances of it being used in a thread-safe manner.
Parameters
[in,out]fluidModel- The fluid model.
[in]nDim- Number of physical dimensions.
[in]scalar- scalar variable.
[in,out]primitive- Primitive variables.

◆ ComputeEdgeMassFluxesRhieChow()

void CIncEulerSolver::ComputeEdgeMassFluxesRhieChow ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)
finalvirtual

Compute the spatial integration using a centered scheme.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.

Reimplemented from CSolver.

◆ CorrectPressureGradient()

void CIncEulerSolver::CorrectPressureGradient ( su2double *  corrected_grad_pressure,
const su2double *  avg_grad_pressure,
const su2double  val_pressure_i,
const su2double  val_pressure_j,
const su2double *  val_edge_vector,
const su2double  val_dist_ij_2 
)
protected

Apply a correction to the pressure or pressure deviation gradient to align with the edges.

Parameters
[in]corrected_grad_pressure- The corrected gradient at the edge
[in]avg_grad_pressure- The average gradient at the edge
[in]val_pressure_i- variable at point i
[in]val_pressure_j- variable at point j
[in]val_edge_vector- The vector between points i and j
[in]val_dist_ij_2- The distance between points i and j, squared

◆ Evaluate_ObjFunc()

void CIncEulerSolver::Evaluate_ObjFunc ( const CConfig *  config,
CSolver **  solver 
)
inlinefinalvirtual

Compute weighted-sum "combo" objective output.

Author
H. Kline
Parameters
[in]config- Definition of the particular problem.
[in]solver- Container vector with all the solutions.

Reimplemented from CSolver.

◆ Explicit_Iteration()

template<ENUM_TIME_INT IntegrationType>
void CIncEulerSolver::Explicit_Iteration ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iRKStep 
)
inlineprotected

Generic implementation of explicit iterations with preconditioner.

◆ ExplicitEuler_Iteration()

void CIncEulerSolver::ExplicitEuler_Iteration ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)
finalvirtual

Update the solution using the explicit Euler scheme.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ ExplicitRK_Iteration()

void CIncEulerSolver::ExplicitRK_Iteration ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iRKStep 
)
finalvirtual

Update the solution using a Runge-Kutta scheme.

Parameters
[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.

Reimplemented from CSolver.

◆ ExtractAdjoint_SolutionExtra()

void CIncEulerSolver::ExtractAdjoint_SolutionExtra ( su2activevector &  adj_sol,
const CConfig *  config 
)
finalvirtual

Extract the adjoint of the extra solution at the input.

Parameters
[out]adj_sol- Vector to store the adjoint into.
[in]config- The particular config.

Reimplemented from CSolver.

◆ GetFluidModel()

CFluidModel * CIncEulerSolver::GetFluidModel ( void  ) const
inlinefinalvirtual

Compute the pressure at the infinity.

Returns
Value of the pressure at the infinity.

Reimplemented from CSolver.

◆ GetHasHybridParallel()

bool CIncEulerSolver::GetHasHybridParallel ( ) const
inlinefinalvirtual

The incompressible Euler and NS solvers support MPI+OpenMP.

Reimplemented from CSolver.

◆ GetOutlet_Properties()

void CIncEulerSolver::GetOutlet_Properties ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iMesh,
bool  Output 
)
protected

A virtual member.

◆ GetStreamwisePeriodicValues()

StreamwisePeriodicValues CIncEulerSolver::GetStreamwisePeriodicValues ( ) const
inlinefinalvirtual

Get values for streamwise periodic flow: delta P, m_dot, inlet T, integrated heat, etc.

Returns
Struct holding streamwise periodic values.

Reimplemented from CSolver.

◆ LoadRestart()

void CIncEulerSolver::LoadRestart ( CGeometry **  geometry,
CSolver ***  solver,
CConfig *  config,
int  val_iter,
bool  val_update_geo 
)
finalvirtual

Load a solution from a restart file.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver- Container vector with all of the solvers.
[in]config- Definition of the particular problem.
[in]val_iter- Current external iteration number.
[in]val_update_geo- Flag for updating coords and grid velocity.

Reimplemented from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >.

◆ PrepareImplicitIteration()

void CIncEulerSolver::PrepareImplicitIteration ( CGeometry *  geometry,
CSolver **  ,
CConfig *  config 
)
finalvirtual

Prepare an implicit iteration.

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

Reimplemented from CSolver.

◆ Preprocessing()

void CIncEulerSolver::Preprocessing ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh,
unsigned short  iRKStep,
unsigned short  RunTime_EqSystem,
bool  Output 
)
overridevirtual

Compute primitive variables and their gradients.

Parameters
[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]Output- boolean to determine whether to print output.

Reimplemented from CSolver.

Reimplemented in CIncNSSolver.

◆ PrintVerificationError()

void CIncEulerSolver::PrintVerificationError ( const CConfig *  config) const
finalvirtual

Print verification error to screen.

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

Implements CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >.

◆ RecomputeDensity_time_n()

void CIncEulerSolver::RecomputeDensity_time_n ( CSolver **  solver_container,
const CConfig *  config 
)
protected

Recompute the dual-time density history (rho_n, rho_n-1) from the stored solution histories (Solution_time_n[,1], and the species histories for flamelet/variable-density) via the fluid model.

Called once per physical time step (InnerIter == 0), after the solution push-back. This keeps the density history consistent with the primitive state at time n (also after restart).

Parameters
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

◆ RegisterSolutionExtra()

unsigned long CIncEulerSolver::RegisterSolutionExtra ( bool  input,
const CConfig *  config 
)
finalvirtual

Register In- or Output.

Parameters
[in]input- Boolean whether In- or Output should be registered.
[in]config- The particular config.
Returns
The number of extra variables.

Reimplemented from CSolver.

◆ SetAdjoint_SolutionExtra()

void CIncEulerSolver::SetAdjoint_SolutionExtra ( const su2activevector &  adj_sol,
const CConfig *  config 
)
finalvirtual

Seed the adjoint of the extra solution at the output.

Parameters
[in]adj_sol- Vector containing the adjoint solution to seed.
[in]config- The particular config.

Reimplemented from CSolver.

◆ SetBeta_Parameter()

void CIncEulerSolver::SetBeta_Parameter ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh 
)
protected

Update the Beta parameter for the incompressible preconditioner.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iMesh- current mesh level for the multigrid.

◆ SetCentered_Dissipation_Sensor()

void CIncEulerSolver::SetCentered_Dissipation_Sensor ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute a pressure sensor switch.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

◆ SetFreeStream_Solution()

void CIncEulerSolver::SetFreeStream_Solution ( const CConfig *  config)
finalvirtual

Set the solution using the Freestream values.

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

Reimplemented from CSolver.

◆ SetMax_Eigenvalue()

void CIncEulerSolver::SetMax_Eigenvalue ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute the max eigenvalue.

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

◆ SetNondimensionalization()

void CIncEulerSolver::SetNondimensionalization ( CConfig *  config,
unsigned short  iMesh 
)
protected

Set the solver nondimensionalization.

Parameters
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.

◆ SetPreconditioner()

void CIncEulerSolver::SetPreconditioner ( const CConfig *  config,
unsigned long  iPoint,
su2double  delta,
su2activematrix &  preconditioner 
) const
protected

Compute the preconditioner for low-Mach flows.

Parameters
[in]iPoint- Index of the grid point
[in]config- Definition of the particular problem.
[in]delta- Volume over delta time, does not matter for explicit.
[out]preconditioner- The preconditioner matrix.

◆ SetPrimitive_Variables()

unsigned long CIncEulerSolver::SetPrimitive_Variables ( CSolver **  solver_container,
const CConfig *  config 
)
protectedvirtual

Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.

Parameters
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
Returns
- The number of non-physical points.

◆ SetRangePressure()

void CIncEulerSolver::SetRangePressure ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh 
)
protected

Update the pressure range P_max - P_min for target mass flow rate.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iMesh- current mesh level for the multigrid.

◆ SetReferenceValues()

void CIncEulerSolver::SetReferenceValues ( const CConfig &  config)
finalprotectedvirtual

Set reference values for pressure, forces, etc.

Implements CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >.

◆ SetResidual_DualTime()

void CIncEulerSolver::SetResidual_DualTime ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iRKStep,
unsigned short  iMesh,
unsigned short  RunTime_EqSystem 
)
finalvirtual

Set the total residual adding the term that comes from the Dual Time Strategy.

Parameters
[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]iMesh- Index of the mesh in multigrid computations.
[in]RunTime_EqSystem- System of equations which is going to be solved.

Reimplemented from CFVMFlowSolverBase< CIncEulerVariable, ENUM_REGIME::INCOMPRESSIBLE >.

◆ SetTime_Step()

void CIncEulerSolver::SetTime_Step ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh,
unsigned long  Iteration 
)
finalvirtual

Compute the time step for solving the Euler equations.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.
[in]Iteration- Value of the current iteration.

Reimplemented from CSolver.

◆ Source_Residual()

void CIncEulerSolver::Source_Residual ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics **  numerics_container,
CConfig *  config,
unsigned short  iMesh 
)
finalvirtual

Source term integration.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]numerics_container- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.

Reimplemented from CSolver.

◆ Source_Template()

void CIncEulerSolver::Source_Template ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  numerics,
CConfig *  config,
unsigned short  iMesh 
)
finalvirtual

Source term integration.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.

Reimplemented from CSolver.

◆ Upwind_Residual()

void CIncEulerSolver::Upwind_Residual ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics **  numerics_container,
CConfig *  config,
unsigned short  iMesh 
)
finalvirtual

Compute the spatial integration using a upwind scheme.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]numerics_container- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.

Reimplemented from CSolver.

Member Data Documentation

◆ alpha_p

su2activevector CIncEulerSolver::alpha_p
protected

◆ EdgeMassFluxCorrection

su2activevector CIncEulerSolver::EdgeMassFluxCorrection
protected

◆ FluidModel

vector<CFluidModel*> CIncEulerSolver::FluidModel
protected

fluid model used in the solver.

◆ momentumCorrection

su2activematrix CIncEulerSolver::momentumCorrection
protected

◆ pressure_based

bool CIncEulerSolver::pressure_based
protected

◆ pressureCorrection

su2activevector CIncEulerSolver::pressureCorrection
protected

◆ SPvals

StreamwisePeriodicValues CIncEulerSolver::SPvals
protected

◆ SPvalsUpdated

StreamwisePeriodicValues CIncEulerSolver::SPvalsUpdated
protected

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