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

Main class for defining the Navier-Stokes flow solver. More...

#include <CNSSolver.hpp>

Inheritance diagram for CNSSolver:
[legend]

Public Member Functions

 CNSSolver ()=default
 Constructor of the class.
 
 CNSSolver (CGeometry *geometry, CConfig *config, unsigned short iMesh)
 
 ~CNSSolver ()=default
 Destructor of the class.
 
su2double GetSurface_Buffet_Metric (unsigned short val_marker) const override
 Provide the buffet metric.
 
su2double GetTotal_Buffet_Metric () const override
 Get the buffet metric.
 
void Preprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) override
 Restart residual and compute gradients.
 
void Evaluate_ObjFunc (const CConfig *config, CSolver **solver) override
 Compute weighted-sum "combo" objective output.
 
void BC_HeatFlux_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose a constant heat-flux condition at the wall.
 
void BC_HeatTransfer_Wall (const CGeometry *geometry, const CConfig *config, const unsigned short val_marker) override
 Impose a heat flux by prescribing a heat transfer coefficient and a temperature at infinity.
 
void BC_Isothermal_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose the Navier-Stokes boundary condition (strong).
 
void BC_ConjugateHeat_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short val_marker) override
 Impose the Navier-Stokes boundary condition (strong) with values from a CHT coupling.
 
void Buffet_Monitoring (const CGeometry *geometry, const CConfig *config) override
 Compute the buffet sensor.
 
su2double GetBuffetSensor (unsigned short val_marker, unsigned long val_vertex) const override
 Get the value of the buffet sensor.
 
- Public Member Functions inherited from CEulerSolver
 CEulerSolver ()=delete
 
 CEulerSolver (CGeometry *geometry, CConfig *config, unsigned short iMesh, const bool navier_stokes=false)
 Main constructor of this class.
 
 ~CEulerSolver (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) override
 Source term integration.
 
void Source_Template (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh) final
 Source term integration.
 
void SetPreconditioner (const CConfig *config, unsigned long iPoint, su2double delta, su2activematrix &preconditioner) const
 Compute the preconditioner for convergence acceleration by Roe-Turkel method.
 
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_ActDisk_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the engine inflow boundary condition.
 
void BC_ActDisk_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the engine exhaust boundary condition.
 
void BC_ActDisk (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface) final
 Impose an actuator disk inlet boundary condition.
 
void BC_ActDisk_VariableLoad (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface)
 Impose an actuator disk with variable load boundary condition.
 
void BC_Riemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the boundary condition using characteristic recostruction.
 
void BC_TurboRiemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the boundary condition using characteristic recostruction.
 
void PreprocessBC_Giles (CGeometry *geometry, CConfig *config, CNumerics *conv_numerics, unsigned short marker_flag) final
 It computes Fourier transformation for the needed quantities along the pitch for each span in turbomachinery analysis.
 
void BC_Giles (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the boundary condition using characteristic recostruction.
 
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_Supersonic_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose a supersonic inlet boundary condition.
 
void BC_Supersonic_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose a supersonic outlet 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 BC_Engine_Inflow (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the nacelle inflow boundary condition.
 
void BC_Engine_Exhaust (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the ancelle exhaust 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 fourth-order Runge-Kutta scheme.
 
bool FixedCL_Convergence (CConfig *config, bool convergence) final
 Check for convergence of the Fixed CL mode to the target CL.
 
bool GetStart_AoA_FD (void) const final
 Checking whether fixed CL mode in finite-differencing mode.
 
bool GetEnd_AoA_FD (void) const final
 Checking whether fixed CL mode in finite-differencing mode.
 
unsigned long GetIter_Update_AoA (void) const final
 Get the iteration of the last AoA update (Fixed CL Mode)
 
su2double GetPrevious_AoA (void) const final
 Get the AoA before the most recent update.
 
su2double GetAoA_inc (void) const final
 Get the CL Driver's control command.
 
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 ComputeUnderRelaxationFactor (const CConfig *config) final
 Compute a suitable under-relaxation parameter to limit the change in the solution variables over a nonlinear iteration for stability.
 
void IdentifySolutionOutliers (const CConfig *config, unsigned long iter) final
 Identify points where the static temperature is an outlier to treat them as non-physical, e.g. force the reconstruction to be 1st order.
 
su2double GetInflow_MassFlow (unsigned short val_marker) const final
 Provide the mass flow rate.
 
su2double GetExhaust_MassFlow (unsigned short val_marker) const final
 Provide the mass flow rate.
 
su2double GetInflow_Pressure (unsigned short val_marker) const final
 Provide the mass flow rate.
 
su2double GetInflow_Mach (unsigned short val_marker) const final
 Provide the mass flow rate.
 
su2double GetTotal_AeroCD () const final
 Provide the total (inviscid + viscous) non dimensional aero CD.
 
su2double GetTotal_CNearFieldOF () const final
 Provide the total (inviscid + viscous) non dimensional Near-Field pressure coefficient.
 
void SetTotal_AeroCD (su2double val_aerocd) final
 Set the value of the Aero drag.
 
su2double GetTotal_NetThrust () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_Power () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_SolidCD () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_ReverseFlow () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_MFR () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_Prop_Eff () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_ByPassProp_Eff () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_Adiab_Eff () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_Poly_Eff () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_IDC () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_IDC_Mach () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_IDR () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
su2double GetTotal_DC60 () const final
 Provide the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_NetThrust (su2double val_Total_NetThrust) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_Power (su2double val_Total_Power) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_SolidCD (su2double val_Total_SolidCD) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_ReverseFlow (su2double val_Total_ReverseFlow) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_MFR (su2double val_Total_MFR) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_Prop_Eff (su2double val_Total_Prop_Eff) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_ByPassProp_Eff (su2double val_Total_ByPassProp_Eff) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_Adiab_Eff (su2double val_Total_Adiab_Eff) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_Poly_Eff (su2double val_Total_Poly_Eff) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_IDC (su2double val_Total_IDC) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_IDC_Mach (su2double val_Total_IDC_Mach) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_IDR (su2double val_Total_IDR) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
void SetTotal_DC60 (su2double val_Total_DC60) final
 Store the total (inviscid + viscous) non dimensional drag coefficient.
 
unsigned long GetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex) const final
 Value of the characteristic global index at the boundaries.
 
void SetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex, unsigned long val_index) final
 Value of the characteristic global index at the boundaries.
 
void SetInitialCondition (CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) final
 Set the initial condition for the Euler Equations.
 
void SetFreeStream_Solution (const CConfig *config) final
 Set the solution using the Freestream values.
 
void InitTurboContainers (CGeometry *geometry, CConfig **config, unsigned short iZone) final
 Initilize turbo containers.
 
vector< su2double > GetTurboPrimitive (unsigned short iBlade, unsigned short iSpan, bool INLET) override
 Get Primal variables for turbo performance computation iteration can be executed by multiple threads.
 
void SetFreeStream_TurboSolution (CConfig *config) final
 Set the solution using the Freestream values.
 
void PreprocessAverage (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag) final
 It computes average quantities along the span for turbomachinery analysis.
 
void TurboAverageProcess (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag) final
 It computes average quantities along the span for turbomachinery analysis.
 
void ComputeTurboBladePerformance (CGeometry *geometry, CConfig *config, unsigned short iBlade) final
 
void MixedOut_Average (CConfig *config, su2double val_init_pressure, const su2double *val_Averaged_Flux, const su2double *val_normal, su2double &pressure_mix, su2double &density_mix)
 it performs a mixed out average of the nodes of a boundary.
 
void GatherInOutAverageValues (CConfig *config, CGeometry *geometry) final
 It gathers into the master node average quantities at inflow and outflow needed for turbomachinery analysis.
 
void ComputeTurboVelocity (const su2double *cartesianVelocity, const su2double *turboNormal, su2double *turboVelocity, unsigned short marker_flag, TURBOMACHINERY_TYPE kind_turb)
 it take a velocity in the cartesian reference of framework and transform into the turbomachinery frame of reference.
 
std::shared_ptr< CTurboOutput > GetTurboBladePerformance () const final
 
void ComputeBackVelocity (const su2double *turboVelocity, const su2double *turboNormal, su2double *cartesianVelocity, unsigned short marker_flag, TURBOMACHINERY_TYPE kind_turb)
 it take a velocity in the cartesian reference of framework and transform into the turbomachinery frame of reference.
 
su2double GetAverageDensity (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average density at the boundary of interest.
 
su2double GetAveragePressure (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average pressure at the boundary of interest.
 
const su2double * GetAverageTurboVelocity (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average turbo velocity average at the boundary of interest.
 
su2double GetAverageNu (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average density at the boundary of interest.
 
su2double GetAverageKine (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average density at the boundary of interest.
 
su2double GetAverageOmega (unsigned short valMarker, unsigned short valSpan) const final
 Provide the average density at the boundary of interest.
 
su2double GetDensityIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet density to check convergence of conservative mixing-plane.
 
su2double GetPressureIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet pressure to check convergence of conservative mixing-plane.
 
const su2double * GetTurboVelocityIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet normal velocity to check convergence of conservative mixing-plane.
 
su2double GetDensityOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet density to check convergence of conservative mixing-plane.
 
su2double GetPressureOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet pressure to check convergence of conservative mixing-plane.
 
const su2double * GetTurboVelocityOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet normal velocity to check convergence of conservative mixing-plane.
 
su2double GetKineIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet turbulent kei to check convergence of conservative mixing-plane.
 
su2double GetOmegaIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet turbulent omega to check convergence of conservative mixing-plane.
 
su2double GetNuIn (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the inlet turbulent nu to check convergence of conservative mixing-plane.
 
su2double GetKineOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet turbulent kei to check convergence of conservative mixing-plane.
 
su2double GetOmegaOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet turbulent omega to check convergence of conservative mixing-plane.
 
su2double GetNuOut (unsigned short inMarkerTP, unsigned short valSpan) const final
 Provide the outlet turbulent nu to check convergence of conservative mixing-plane.
 
void SetDensityIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet density.
 
void SetPressureIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet pressure.
 
void SetTurboVelocityIn (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet normal velocity.
 
void SetDensityOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set outlet density.
 
void SetPressureOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set outlet pressure.
 
void SetTurboVelocityOut (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set outlet normal velocity.
 
void SetKineIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet turbulent kei.
 
void SetOmegaIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet turbulent omega.
 
void SetNuIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set inlet turbulent Nu.
 
void SetKineOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set outlet turbulent kei.
 
void SetOmegaOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set Outlet turbulent omega.
 
void SetNuOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
 Set outlet turbulent Nu.
 
void PrintVerificationError (const CConfig *config) const final
 Print verification error to screen.
 
bool GetHasHybridParallel () const final
 The Euler and NS solvers support MPI+OpenMP.
 
- Public Member Functions inherited from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
void Set_NewSolution () final
 Set the new solution variables to the current solution value for classical RK.
 
void LoadRestart (CGeometry **geometry, CSolver ***solver, CConfig *config, int iter, bool update_geo) override
 Load a solution from a restart file.
 
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 SetResidual_DualTime (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) override
 Set the total residual adding the term that comes from the Dual Time Strategy.
 
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.
 
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 ComputeEdgeMassFluxesRhieChow (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void ApplyPressureVelocityCorrection (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
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_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_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.
 
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.
 
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 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 GetTotal_AvgTemperature () const
 A virtual member.
 
virtual su2double GetTotal_CFEA () 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_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 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 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 unsigned long RegisterSolutionExtra (bool input, const CConfig *config)
 Register In- or Output.
 
virtual void SetAdjoint_SolutionExtra (const su2activevector &adj_sol, const CConfig *config)
 Seed the adjoint of the extra solution at the output.
 
virtual void ExtractAdjoint_SolutionExtra (su2activevector &adj_sol, const CConfig *config)
 Extract the adjoint of the extra solution at the input.
 
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 su2double GetAverageMassFlowRate (unsigned short valMarker) const
 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 StreamwisePeriodicValues GetStreamwisePeriodicValues () const
 Get values for streamwise periodic flow: delta P, m_dot, inlet T, integrated heat, etc.
 
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)
 

Additional Inherited Members

- Static Public Member Functions inherited from CEulerSolver
static void ComputeConsistentExtrapolation (CFluidModel *fluidModel, unsigned short nDim, su2double *primitive, su2double *secondary)
 Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consistent way.
 
static void LowMachPrimitiveCorrection (CFluidModel *fluidModel, unsigned short nDim, su2double *primitive_i, su2double *primitive_j)
 Apply low Mach number correction to the primitives at two points, usually connected by an edge.
 
- 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.
 
- 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 CEulerSolver
using BaseClass = CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
 
- Protected Types inherited from CSolver
enum  : size_t { OMP_MIN_SIZE = 32 }
 
- Protected Member Functions inherited from CEulerSolver
su2double GetTangGridVelIn (unsigned short val_blade, unsigned long val_span)
 
su2double GetTangGridVelOut (unsigned short val_blade, unsigned long val_span)
 
su2double GetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state) const final
 Get a component of the donor-side averaged state at a mixing plane interface.
 
void SetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state, su2double component) final
 Set a component of the donor-side averaged state at a mixing plane interface nodes.
 
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 SetFarfield_AoA (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
 Update the AoA and freestream velocity at the farfield.
 
void SetUpwind_Ducros_Sensor (CGeometry *geometry, CConfig *config)
 Compute Ducros Sensor for Roe Dissipation.
 
void GetPower_Properties (CGeometry *geometry, CConfig *config, unsigned short iMesh, bool Output)
 Compute the Fan face Mach number.
 
void Set_MPI_ActDisk (CSolver **solver_container, CGeometry *geometry, CConfig *config)
 Parallelization of Undivided Laplacian.
 
void SetActDisk_BCThrust (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
 Update the AoA and freestream velocity at the farfield.
 
void ReadActDisk_InputFile (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
 Read the actuator disk input file for the VARIABLE_LOAD type.
 
void SetActDisk_BEM_VLAD (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
 Read and update the variable load actuator disk from input file for the BLADE_ELEMENT type.
 
void SetMax_Eigenvalue (CGeometry *geometry, const CConfig *config)
 Compute the max eigenvalue.
 
void SetUndivided_Laplacian (CGeometry *geometry, const CConfig *config)
 Compute the undivided laplacian for the solution.
 
void SetCentered_Dissipation_Sensor (CGeometry *geometry, const CConfig *config)
 Compute the dissipation sensor for centered schemes.
 
void SetCoefficient_Gradients (CConfig *config) const
 Set gradients of coefficients for fixed CL mode.
 
void InstantiateEdgeNumerics (const CSolver *const *solvers, const CConfig *config) final
 Instantiate a SIMD numerics object.
 
void SetNondimensionalization (CConfig *config, unsigned short iMesh)
 Set the solver nondimensionalization.
 
void SetReferenceValues (const CConfig &config) final
 Set reference values for pressure, forces, etc.
 
- Protected Member Functions inherited from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
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 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.
 
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.
 
- Static Protected Member Functions inherited from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
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.
 
- Protected Attributes inherited from CEulerSolver
su2double Prandtl_Turb = 0.0
 Turbulent Prandtl number.
 
su2double AllBound_CEquivArea_Inv =0.0
 equivalent area coefficient (inviscid contribution) for all the boundaries.
 
vector< su2double > CEquivArea_Mnt
 Equivalent area (inviscid contribution) for each boundary.
 
vector< su2double > CEquivArea_Inv
 Equivalent area (inviscid contribution) for each boundary.
 
vector< su2double > Inflow_MassFlow
 Mass flow rate for each boundary.
 
vector< su2double > Exhaust_MassFlow
 Mass flow rate for each boundary.
 
vector< su2double > Inflow_Pressure
 Fan face pressure for each boundary.
 
vector< su2double > Inflow_Mach
 Fan face mach number for each boundary.
 
vector< su2double > Inflow_Area
 Boundary total area.
 
vector< su2double > Exhaust_Area
 Boundary total area.
 
vector< su2double > Exhaust_Pressure
 Fan face pressure for each boundary.
 
vector< su2double > Exhaust_Temperature
 Fan face mach number for each boundary.
 
su2double Inflow_MassFlow_Total = 0.0
 Mass flow rate for each boundary.
 
su2double Exhaust_MassFlow_Total = 0.0
 Mass flow rate for each boundary.
 
su2double Inflow_Pressure_Total = 0.0
 Fan face pressure for each boundary.
 
su2double Inflow_Mach_Total = 0.0
 Fan face mach number for each boundary.
 
su2double InverseDesign = 0.0
 Inverse design functional for each boundary.
 
vector< vector< unsigned long > > DonorGlobalIndex
 Value of the donor global index.
 
vector< su2activematrix > DonorPrimVar
 Value of the donor variables at each boundary.
 
vector< vector< su2double > > ActDisk_DeltaP
 Value of the Delta P.
 
vector< vector< su2double > > ActDisk_DeltaP_r
 Value of the DeltaP_r.
 
vector< vector< su2double > > ActDisk_Thrust_r
 Value of the Thrust_r.
 
vector< vector< su2double > > ActDisk_Torque_r
 Value of the Torque_r.
 
vector< vector< su2double > > ActDisk_DeltaT
 Value of the Delta T.
 
su2activevector ActDisk_R
 Value of the actuator disk Radius.
 
su2activematrix ActDisk_C
 Value of the actuator disk Center.
 
su2activematrix ActDisk_Axis
 Value of the actuator disk Axis.
 
vector< vector< su2double > > ActDisk_Fa
 Value of the actuator disk Axial Force per Unit Area.
 
vector< vector< su2double > > ActDisk_Fx
 Value of the actuator disk X component of the radial and tangential forces per Unit Area resultant.
 
vector< vector< su2double > > ActDisk_Fy
 Value of the actuator disk Y component of the radial and tangential forces per Unit Area resultant.
 
vector< vector< su2double > > ActDisk_Fz
 Value of the actuator disk Z component of the radial and tangential forces per Unit Area resultant.
 
vector< vector< su2double > > ActDisk_Fa_BEM
 Value of the actuator disk Axial Force per Unit Area.
 
vector< vector< su2double > > ActDisk_Fx_BEM
 Value of the actuator disk X component of the radial and tangential forces per Unit Area resultant.
 
vector< vector< su2double > > ActDisk_Fy_BEM
 Value of the actuator disk Y component of the radial and tangential forces per Unit Area resultant.
 
vector< vector< su2double > > ActDisk_Fz_BEM
 Value of the actuator disk Z component of the radial and tangential forces per Unit Area resultant.
 
su2double Total_CL_Prev = 0.0
 Total lift coefficient for all the boundaries (fixed lift mode).
 
su2double Total_SolidCD = 0.0
 Total drag coefficient for all the boundaries.
 
su2double Total_CD_Prev = 0.0
 Total drag coefficient for all the boundaries (fixed lift mode).
 
su2double Total_NetThrust = 0.0
 Total drag coefficient for all the boundaries.
 
su2double Total_Power = 0.0
 Total drag coefficient for all the boundaries.
 
su2double Total_ReverseFlow = 0.0
 Total drag coefficient for all the boundaries.
 
su2double Total_IDC = 0.0
 Total IDC coefficient for all the boundaries.
 
su2double Total_IDC_Mach = 0.0
 Total IDC coefficient for all the boundaries.
 
su2double Total_IDR = 0.0
 Total IDC coefficient for all the boundaries.
 
su2double Total_DC60 = 0.0
 Total IDC coefficient for all the boundaries.
 
su2double Total_MFR = 0.0
 Total Mass Flow Ratio for all the boundaries.
 
su2double Total_Prop_Eff = 0.0
 Total Mass Flow Ratio for all the boundaries.
 
su2double Total_ByPassProp_Eff = 0.0
 Total Mass Flow Ratio for all the boundaries.
 
su2double Total_Adiab_Eff = 0.0
 Total Mass Flow Ratio for all the boundaries.
 
su2double Total_Poly_Eff = 0.0
 Total Mass Flow Ratio for all the boundaries.
 
su2double Total_CMx_Prev = 0.0
 Total drag coefficient for all the boundaries (fixed lift mode).
 
su2double Total_CMy_Prev = 0.0
 Total drag coefficient for all the boundaries (fixed lift mode).
 
su2double Total_CMz_Prev = 0.0
 Total drag coefficient for all the boundaries (fixed lift mode).
 
su2double Total_AeroCD = 0.0
 Total aero drag coefficient for all the boundaries.
 
su2double Total_CEquivArea = 0.0
 Total Equivalent Area coefficient for all the boundaries.
 
su2double AoA_Prev
 Old value of the angle of attack (monitored).
 
su2double AoA_inc
 
bool Start_AoA_FD = false
 Boolean for start of finite differencing for FixedCL mode.
 
bool End_AoA_FD = false
 Boolean for end of finite differencing for FixedCL mode.
 
bool Update_AoA = false
 Boolean to signal Angle of Attack Update.
 
unsigned long Iter_Update_AoA = 0
 Iteration at which AoA was updated last.
 
su2double dCL_dAlpha
 Value of dCL_dAlpha used to control CL in fixed CL mode.
 
unsigned long BCThrust_Counter
 
vector< CFluidModel * > FluidModel
 fluid model used in the solver.
 
su2double MeanTemperature
 
su2double StdDevTemperature
 
vector< su2activematrix > AverageFlux
 
vector< su2activematrix > SpanTotalFlux
 
vector< su2activematrix > AverageVelocity
 
vector< su2activematrix > AverageTurboVelocity
 
vector< su2activematrix > OldAverageTurboVelocity
 
su2activematrix AveragePressure
 
su2activematrix OldAveragePressure
 
su2activematrix RadialEquilibriumPressure
 
su2activematrix AverageDensity
 
su2activematrix OldAverageDensity
 
su2activematrix AverageNu
 
su2activematrix AverageKine
 
su2activematrix AverageOmega
 
su2activevector AverageMassFlowRate
 
su2activematrix AverageRelTangVelocity
 
su2activematrix DensityIn
 
su2activematrix PressureIn
 
vector< su2activematrix > TurboVelocityIn
 
su2activematrix DensityOut
 
su2activematrix PressureOut
 
vector< su2activematrix > TurboVelocityOut
 
su2activematrix KineIn
 
su2activematrix OmegaIn
 
su2activematrix NuIn
 
su2activematrix KineOut
 
su2activematrix OmegaOut
 
su2activematrix NuOut
 
su2activematrix RelTangVelocityIn
 
su2activematrix RelTangVelocityOut
 
su2double ExtAverageDensity
 
su2double ExtAveragePressure
 
su2activevector ExtAverageTurboVelocity
 
vector< su2matrix< complex< su2double > > > CkInflow
 
vector< su2matrix< complex< su2double > > > CkOutflow1
 
vector< su2matrix< complex< su2double > > > CkOutflow2
 
vector< su2activematrix > MixingState
 
- Protected Attributes inherited from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
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.
 
CEulerVariable * 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.
 
- Static Protected Attributes inherited from CEulerSolver
static constexpr unsigned short nMixingStateVars = 8
 Number of averaged variables transferred across mixing plane interfaces.
 
- Static Protected Attributes inherited from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >
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 Navier-Stokes flow solver.

Author
F. Palacios

Constructor & Destructor Documentation

◆ CNSSolver() [1/2]

CNSSolver::CNSSolver ( )
default

Constructor of the class.

◆ CNSSolver() [2/2]

CNSSolver::CNSSolver ( CGeometry *  geometry,
CConfig *  config,
unsigned short  iMesh 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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

◆ ~CNSSolver()

CNSSolver::~CNSSolver ( )
default

Destructor of the class.

Member Function Documentation

◆ BC_ConjugateHeat_Interface()

void CNSSolver::BC_ConjugateHeat_Interface ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  numerics,
CConfig *  config,
unsigned short  val_marker 
)
overridevirtual

Impose the Navier-Stokes boundary condition (strong) with values from a CHT coupling.

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_HeatFlux_Wall()

void CNSSolver::BC_HeatFlux_Wall ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
overridevirtual

Impose a constant heat-flux condition at the wall.

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_HeatTransfer_Wall()

void CNSSolver::BC_HeatTransfer_Wall ( const CGeometry *  geometry,
const CConfig *  config,
const unsigned short  val_marker 
)
overridevirtual

Impose a heat flux by prescribing a heat transfer coefficient and a temperature at infinity.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Isothermal_Wall()

void CNSSolver::BC_Isothermal_Wall ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
overridevirtual

Impose the Navier-Stokes boundary condition (strong).

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.

◆ Buffet_Monitoring()

void CNSSolver::Buffet_Monitoring ( const CGeometry *  geometry,
const CConfig *  config 
)
overridevirtual

Compute the buffet sensor.

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

Reimplemented from CFVMFlowSolverBase< CEulerVariable, ENUM_REGIME::COMPRESSIBLE >.

◆ Evaluate_ObjFunc()

void CNSSolver::Evaluate_ObjFunc ( const CConfig *  config,
CSolver **  solver 
)
overridevirtual

Compute weighted-sum "combo" objective output.

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

Reimplemented from CEulerSolver.

◆ GetBuffetSensor()

su2double CNSSolver::GetBuffetSensor ( unsigned short  val_marker,
unsigned long  val_vertex 
) const
inlineoverridevirtual

Get the value of the buffet sensor.

Parameters
[in]val_marker- Surface marker where the coefficient is computed.
[in]val_vertex- Vertex of the marker val_marker where the coefficient is evaluated.
Returns
Value of the buffet sensor.

Reimplemented from CSolver.

◆ GetSurface_Buffet_Metric()

su2double CNSSolver::GetSurface_Buffet_Metric ( unsigned short  val_marker) const
inlineoverridevirtual

Provide the buffet metric.

Parameters
[in]val_marker- Surface marker where the coefficient is computed.
Returns
Value of the buffet metric on the surface val_marker.

Reimplemented from CSolver.

◆ GetTotal_Buffet_Metric()

su2double CNSSolver::GetTotal_Buffet_Metric ( ) const
inlineoverridevirtual

Get the buffet metric.

Returns
Value of the buffet metric.

Reimplemented from CSolver.

◆ Preprocessing()

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

Restart residual and compute 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 CEulerSolver.


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