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

Main class for defining the finite-volume poisson equation solver. More...

#include <CPoissonSolver.hpp>

Inheritance diagram for CPoissonSolver:
[legend]

Public Member Functions

 CPoissonSolver (CGeometry *geometry, CConfig *config, unsigned short iMesh)
 
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 Postprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) final
 Correct the pressure and velocities for the flow solution.
 
void Viscous_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep) override
 Compute the diffusion of the pressure correction, through the CScalarFlux_Poisson edge kernel; the equation has no convective term, see Upwind_Residual.
 
void Source_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) override
 Source term computation.
 
void Upwind_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) override
 No upwind residual for poisson equation.
 
void ImplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) override
 Update the solution using an implicit solver.
 
void SetTime_Step (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) override
 No time step as it is a stationary problem.
 
void SetResidual_DualTime (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) override
 Add the change of density in time to the mass balance (variable density only).
 
void LoadRestart (CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, bool val_update_geo) override
 The pressure correction is reset to zero every iteration (see Preprocessing), so it carries no state that a restart file needs to provide.
 
void SetMomCoeff (CGeometry *geometry, CSolver **solver_container, CConfig *config, bool periodic, unsigned short iMesh) final
 Compute the coefficients for the pressure correction equation based on the residuals from the solution of the momentum equation.
 
void ComputeHbyA (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) final
 Compute the HbyA based on the momentum correction to be used in second PISO correction equation.
 
void BC_HeatFlux_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose a constant heat-flux condition at the wall.
 
void BC_Far_Field (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 A virtual member.
 
void BC_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose the inlet boundary condition.
 
void BC_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose the outlet boundary condition.
 
- Public Member Functions inherited from CScalarSolver< CPoissonVariable >
 ~CScalarSolver () override
 Destructor of the class.
 
 CScalarSolver (CGeometry *geometry, CConfig *config, const CSolver *flow_solver, bool conservative, bool bounded_scalar, LINEAR_SOLVER_MODE linear_solver_mode=LINEAR_SOLVER_MODE::STANDARD)
 Constructor of the class.
 
void BC_Far_Field (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
 Impose the Far Field boundary condition.
 
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 Plane boundary condition.
 
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 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_Supersonic_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the supersonic inlet boundary condition (same as inlet, see BC_Inlet).
 
void BC_Supersonic_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
 Impose the supersonic outlet boundary condition (same as outlet, see BC_Outlet).
 
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) override
 Impose the fluid interface boundary condition using transfer data.
 
void SetFreeStream_Solution (const CConfig *config) final
 Set the solution using the Freestream values.
 
void SetTime_Step (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) override
 This base implementation simply copies the time step of the flow solver.
 
void PrepareImplicitIteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Prepare an implicit iteration.
 
void CompleteImplicitIteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Complete an implicit iteration.
 
void ExplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) final
 Update the solution using the explicit Euler scheme.
 
void ImplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config) override
 Update the solution using an implicit solver.
 
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-Stepping Strategy.
 
bool GetHasHybridParallel () const override
 Scalar solvers support OpenMP+MPI.
 
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 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.
 
- 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.
 
virtual CFluidModel * GetFluidModel (void) const
 Compute the pressure at the infinity.
 
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 void SetPrimitive_Limiter (CGeometry *geometry, const CConfig *config)
 A virtual member.
 
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.
 
virtual void Set_NewSolution ()
 Set the new solution variables to the current solution value for classical RK.
 
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, CConfig *config, CNumerics **numerics, bool of_comp_mode=false)
 A virtual member, overloaded.
 
virtual void Centered_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep)
 A virtual member.
 
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 Evaluate_ObjFunc (const CConfig *config, CSolver **solver)
 Compute weighted-sum "combo" objective output.
 
virtual void MultigridProjectEulerWall (CGeometry *, const CConfig *, bool)
 Enforce Euler wall BC on a restricted or prolongated multigrid solution by projecting the momentum to the tangent plane of the wall.
 
virtual void BC_Clamped (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Clamped_Post (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Sym_Plane (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_DispDir (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Normal_Displacement (CGeometry *geometry, CNumerics *numerics, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Normal_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Dir_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Sine_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Damper (CGeometry *geometry, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface)
 A virtual member.
 
virtual void BC_Isothermal_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_HeatTransfer_Wall (const CGeometry *geometry, const CConfig *config, const unsigned short val_marker)
 Impose a heat flux by prescribing a heat transfer coefficient and a temperature at infinity.
 
virtual void BC_TurboRiemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void PreprocessBC_Giles (CGeometry *geometry, CConfig *config, CNumerics *conv_numerics, unsigned short marker_flag)
 It computes Fourier transformation for the needed quantities along the pitch for each span in turbomachinery analysis.
 
virtual void BC_Giles (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual std::shared_ptr< CTurboOutput > GetTurboBladePerformance () const
 
virtual void BC_Inlet_Turbo (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Inlet_MixingPlane (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Custom (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Inflow (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Exhaust (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ConjugateHeat_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Smoluchowski_Maxwell (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void Impose_Fixed_Values (const CGeometry *geometry, const CConfig *config)
 Virtual function to apply something like a strong BC to the whole domain.
 
virtual su2double GetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state) const
 Get a component of the donor-side averaged state at a mixing plane interface.
 
virtual void SetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state, su2double component)
 Set a component of the donor-side averaged state at a mixing plane interface nodes.
 
virtual void SetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var, su2double relaxation_factor, su2double val_var)
 Set the conjugate heat variables.
 
virtual su2double GetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var) const
 Set the conjugate heat variables.
 
virtual void ExplicitRK_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 A virtual member.
 
virtual void ClassicalRK4_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 A virtual member.
 
void AdaptCFLNumber (CGeometry **geometry, CSolver ***solver_container, CConfig *config)
 Adapt the CFL number based on the local under-relaxation parameters computed for each nonlinear iteration.
 
virtual void IdentifySolutionOutliers (const CConfig *config, unsigned long iter)
 Identify points where the solution is an outlier (physics-specific concept) so that solvers can try to restore them to a stable condition.
 
void ResetCFLAdapt ()
 Reset the local CFL adaption variables.
 
virtual void ImplicitNewmark_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void ImplicitNewmark_Update (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void ImplicitNewmark_Relaxation (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateDisp (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateSolution (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void GeneralizedAlpha_UpdateLoads (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Pressure_Forces (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Momentum_Forces (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Friction_Forces (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 SetPrimitive_Gradient_GG (CGeometry *geometry, const CConfig *config, bool reconstruction=false)
 A virtual member.
 
virtual void SetPrimitive_Gradient_LS (CGeometry *geometry, const CConfig *config, bool reconstruction=false)
 A virtual member.
 
virtual void Source_Template (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void SetCSensitivity (unsigned short val_marker, unsigned long val_vertex, su2double val_sensitivity)
 A virtual member.
 
virtual void SetForceProj_Vector (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void SetTotal_CD (su2double val_Total_CD)
 A virtual member.
 
virtual void SetTotal_CL (su2double val_Total_CL)
 A virtual member.
 
virtual void SetTotal_NetThrust (su2double val_Total_NetThrust)
 A virtual member.
 
virtual void SetTotal_Power (su2double val_Total_Power)
 A virtual member.
 
virtual void SetTotal_SolidCD (su2double val_Total_SolidCD)
 A virtual member.
 
virtual void SetTotal_ReverseFlow (su2double val_Total_ReverseFlow)
 A virtual member.
 
virtual void SetTotal_MFR (su2double val_Total_MFR)
 A virtual member.
 
virtual void SetTotal_Prop_Eff (su2double val_Total_Prop_Eff)
 A virtual member.
 
virtual void SetTotal_ByPassProp_Eff (su2double val_Total_ByPassProp_Eff)
 A virtual member.
 
virtual void SetTotal_Adiab_Eff (su2double val_Total_Adiab_Eff)
 A virtual member.
 
virtual void SetTotal_Poly_Eff (su2double val_Total_Poly_Eff)
 A virtual member.
 
virtual void SetTotal_IDC (su2double val_Total_IDC)
 A virtual member.
 
virtual void SetTotal_IDC_Mach (su2double val_Total_IDC_Mach)
 A virtual member.
 
virtual void SetTotal_IDR (su2double val_Total_IDR)
 A virtual member.
 
virtual void SetTotal_DC60 (su2double val_Total_DC60)
 A virtual member.
 
virtual void SetTotal_CT (su2double val_Total_CT)
 A virtual member.
 
virtual void SetTotal_CQ (su2double val_Total_CQ)
 A virtual member.
 
virtual void SetTotal_HeatFlux (su2double val_Total_Heat)
 A virtual member.
 
virtual void SetTotal_MaxHeatFlux (su2double val_Total_MaxHeat)
 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 GetCL_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCL_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_Buffet_Metric (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCSF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCD_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual bool FixedCL_Convergence (CConfig *config, bool convergence)
 A virtual member.
 
virtual bool GetStart_AoA_FD (void) const
 A virtual member.
 
virtual bool GetEnd_AoA_FD (void) const
 A virtual member.
 
virtual unsigned long GetIter_Update_AoA (void) const
 A virtual member.
 
virtual su2double GetPrevious_AoA (void) const
 A virtual member.
 
virtual su2double GetAoA_inc (void) const
 A virtual member.
 
virtual su2double GetExhaust_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Pressure (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Mach (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCSF_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCEff_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_HF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_MaxHF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCD_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetTotal_CSF () const
 A virtual member.
 
virtual su2double GetTotal_CEff () const
 A virtual member.
 
virtual su2double GetTotal_CT () const
 A virtual member.
 
virtual su2double GetTotal_CQ () const
 A virtual member.
 
virtual su2double GetTotal_HeatFlux () const
 A virtual member.
 
virtual su2double GetTotal_MaxHeatFlux () const
 A virtual member.
 
virtual su2double GetTotal_AvgTemperature () const
 A virtual member.
 
virtual su2double GetTotal_CMerit () const
 A virtual member.
 
virtual su2double GetTotal_CEquivArea () const
 A virtual member.
 
virtual su2double GetTotal_AeroCD () const
 A virtual member.
 
virtual su2double GetTotal_CpDiff () const
 A virtual member.
 
virtual su2double GetTotal_HeatFluxDiff () const
 A virtual member.
 
virtual su2double GetTotal_CFEA () const
 A virtual member.
 
virtual su2double GetTotal_CNearFieldOF () const
 A virtual member.
 
virtual su2double GetTotal_OFRefGeom () const
 A virtual member.
 
virtual su2double GetTotal_OFRefNode () const
 A virtual member.
 
virtual su2double GetTotal_OFVolFrac () const
 A virtual member.
 
virtual su2double GetTotal_OFDiscreteness () const
 Retrieve the value of the discreteness objective function.
 
virtual su2double GetTotal_OFCompliance () const
 A virtual member.
 
virtual su2double GetTotal_OFStressPenalty () const
 A virtual member.
 
virtual bool IsElementBased (void) const
 A virtual member.
 
virtual void SetTotal_CEquivArea (su2double val_cequivarea)
 A virtual member.
 
virtual void SetTotal_AeroCD (su2double val_aerocd)
 A virtual member.
 
virtual void SetTotal_CpDiff (su2double val_pressure)
 A virtual member.
 
virtual void SetTotal_HeatFluxDiff (su2double val_heat)
 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 SetTotal_CNearFieldOF (su2double val_cnearfieldpress)
 A virtual member.
 
virtual su2double GetAeroCoeffsReferenceForce () const
 Get the reference force used to compute CL, CD, etc.
 
virtual su2double GetReferenceDynamicPressure () const
 Get the reference dynamic pressure, for Cp, Cf, etc.
 
virtual su2double GetTotal_CL () const
 A virtual member.
 
virtual su2double GetTotal_CD () const
 A virtual member.
 
virtual su2double GetTotal_NetThrust () const
 A virtual member.
 
virtual su2double GetTotal_Power () const
 A virtual member.
 
virtual su2double GetTotal_SolidCD () const
 A virtual member.
 
virtual su2double GetTotal_ReverseFlow () const
 A virtual member.
 
virtual su2double GetTotal_MFR () const
 A virtual member.
 
virtual su2double GetTotal_Prop_Eff () const
 A virtual member.
 
virtual su2double GetTotal_ByPassProp_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Adiab_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Poly_Eff () const
 A virtual member.
 
virtual su2double GetTotal_IDC () const
 A virtual member.
 
virtual su2double GetTotal_IDC_Mach () const
 A virtual member.
 
virtual su2double GetTotal_IDR () const
 A virtual member.
 
virtual su2double GetTotal_DC60 () const
 A virtual member.
 
virtual su2double GetTotal_CMx () const
 A virtual member.
 
virtual su2double GetTotal_CMy () const
 A virtual member.
 
virtual su2double GetTotal_CMz () const
 A virtual member.
 
virtual su2double GetTotal_CoPx () const
 A virtual member.
 
virtual su2double GetTotal_CoPy () const
 A virtual member.
 
virtual su2double GetTotal_CoPz () const
 A virtual member.
 
virtual su2double GetTotal_CFx () const
 A virtual member.
 
virtual su2double GetTotal_CFy () const
 A virtual member.
 
virtual su2double GetTotal_CFz () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Mnt () const
 A virtual member.
 
virtual su2double GetTotal_Buffet_Metric () const
 A virtual member.
 
virtual su2double GetCPressure (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetCPressureTarget (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetCPressureTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_pressure)
 A virtual member.
 
virtual void SetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_var, su2double val_value)
 A virtual member.
 
virtual unsigned long GetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex, unsigned long val_index)
 A virtual member.
 
virtual su2double * GetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex)
 A virtual member.
 
virtual su2double GetInletTtotal (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetInletPtotal (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const
 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 SetInletTtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ttotal)
 A virtual member.
 
virtual void SetInletPtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ptotal)
 A virtual member.
 
virtual void SetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_flowdir)
 A virtual member.
 
virtual void UpdateFarfieldVelocity (const CConfig *config)
 Updates the components of the farfield velocity vector.
 
virtual void SetInlet_TurbVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_turb_var)
 A virtual member.
 
virtual void SetUniformInlet (const CConfig *config, unsigned short iMarker)
 A virtual member.
 
virtual void SetInletAtVertex (const su2double *val_inlet, unsigned short iMarker, unsigned long iVertex)
 A virtual member.
 
virtual su2double GetInletAtVertex (unsigned short iMarker, unsigned long iVertex, const CGeometry *geometry, su2double *val_inlet) const
 Get the set of values imposed at an inlet.
 
virtual void UpdateCustomBoundaryConditions (CGeometry **geometry_container, CSolver ***solver_container, CConfig *config)
 Update the multi-grid structure for the customized boundary conditions.
 
virtual su2double GetCSkinFriction (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const
 A virtual member.
 
virtual su2double GetWallShearStress (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetHeatFlux (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_heat)
 A virtual member.
 
virtual su2double GetBuffetSensor (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetYPlus (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetUTau (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetEddyViscWall (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual const su2activevector * GetEdgeMassFluxes () const
 A virtual member.
 
virtual su2double GetStrainMag_Max (void) const
 A virtual member.
 
virtual su2double GetOmega_Max (void) const
 A virtual member.
 
virtual su2double GetPsiRho_Inf (void) const
 A virtual member.
 
virtual su2double GetPsiE_Inf (void) const
 A virtual member.
 
virtual su2double GetPhi_Inf (unsigned short val_dim) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Geo () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Mach () const
 A virtual member.
 
virtual su2double GetTotal_Sens_AoA () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Press () const
 Set the total farfield pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Temp () const
 Set the total farfield temperature sensitivity coefficient.
 
virtual su2double GetTotal_Sens_BPress () const
 Get the total back pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Density () const
 A virtual member.
 
virtual su2double GetTotal_Sens_ModVel () const
 A virtual member.
 
virtual su2double GetDensity_Inf (void) const
 A virtual member.
 
virtual su2double GetModVelocity_Inf (void) const
 A virtual member.
 
virtual su2double GetDensity_Energy_Inf (void) const
 A virtual member.
 
virtual su2double GetPressure_Inf (void) const
 A virtual member.
 
virtual su2double GetVelocity_Inf (unsigned short val_dim) const
 A virtual member.
 
virtual su2double * GetVelocity_Inf (void)
 A virtual member.
 
virtual su2double GetViscosity_Inf (void) const
 A virtual member.
 
virtual su2double GetNuTilde_Inf (void) const
 A virtual member.
 
virtual su2double GetTke_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 SetInitialCondition (CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter)
 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 SetPressure_Inf (su2double p_inf)
 A virtual member.
 
virtual void SetTemperature_Inf (su2double t_inf)
 A virtual member.
 
virtual void SetDensity_Inf (su2double rho_inf)
 A virtual member.
 
virtual void SetVelocity_Inf (unsigned short val_dim, su2double val_velocity)
 A virtual member.
 
virtual void SetRecording (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void RegisterVariables (CGeometry *geometry, CConfig *config, bool reset=false)
 A virtual member.
 
virtual void ExtractAdjoint_Variables (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual su2double * GetVecSolDOFs (void)
 A virtual member.
 
virtual unsigned long GetnDOFsGlobal (void) const
 A virtual member.
 
virtual void InitTurboContainers (CGeometry *geometry, CConfig **config, unsigned short iZone)
 A virtual member.
 
virtual vector< su2double > GetTurboPrimitive (unsigned short iBlade, unsigned short iSpan, bool Inlet)
 Get Primal variables for turbo performance computation iteration can be executed by multiple threads.
 
virtual void PreprocessAverage (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void TurboAverageProcess (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void GatherInOutAverageValues (CConfig *config, CGeometry *geometry)
 virtual member.
 
virtual void ComputeTurboBladePerformance (CGeometry *geometry, CConfig *config, unsigned short iBlade)
 
virtual su2double GetAverageDensity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageMassFlowRate (unsigned short valMarker) const
 virtual member
 
virtual su2double GetAveragePressure (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetAverageTurboVelocity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageNu (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageKine (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageOmega (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual void SetDensityIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityIn (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetDensityOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityOut (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetFreeStream_TurboSolution (CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry **geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry *geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void SetMesh_Stiffness (CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingVolume (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingSurface (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingDV (CGeometry *geometry, CNumerics *numerics, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 All steps required for smoothing the whole system on DV level in an iterative way.
 
virtual void RecordTapeAndCalculateOriginalGradient (CGeometry *geometry, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 A virtual member.
 
virtual void ReadSensFromGeometry (const CGeometry *geometry)
 A virtual member.
 
virtual void WriteSensToGeometry (CGeometry *geometry) const
 A virtual member.
 
void SetImplicitPeriodic (bool val_implicit_periodic)
 Routine that sets the flag controlling implicit treatment for periodic BCs.
 
void SetRotatePeriodic (bool val_rotate_periodic)
 Routine that sets the flag controlling solution rotation for periodic BCs.
 
su2activematrix * GetPeriodicProjections (const CGeometry &geometry, const CConfig &config)
 Storage for the limiters with rotational periodicity: the min and max, over the edges of the periodic matches of each point, of the reconstruction increments (communicated with PERIODIC_LIM_PRIM_1).
 
su2double * GetPeriodicProjection (unsigned long iPoint)
 Reconstruction increment bounds for a periodic receive point, nullptr for other points.
 
const string & GetSolverName () const
 Retrieve the solver name for output purposes.
 
vector< string > GetSolutionFields () const
 Get the solution fields.
 
virtual void ComputeVerificationError (CGeometry *geometry, CConfig *config)
 A virtual member.
 
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.
 
void SavelibROM (CGeometry *geometry, CConfig *config, bool converged)
 Save snapshot or POD data using libROM.
 
void CustomSourceResidual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh)
 

Static Protected Attributes

static constexpr size_t MAXNDIM = 3
 Max number of space dimensions, used in some static arrays.
 
static constexpr size_t MAXNVAR = 1
 Max number of variables, for static arrays.
 
- Static Protected Attributes inherited from CScalarSolver< CPoissonVariable >
static constexpr size_t MAXNVAR
 Max number of variables, for static arrays.
 
static constexpr bool ReducerStrategy
 

Additional Inherited Members

- 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 CScalarSolver< CPoissonVariable >
enum  
 
enum  
 
enum  
 
enum  
 
- Protected Types inherited from CSolver
enum  : size_t { OMP_MIN_SIZE = 32 }
 
- Protected Member Functions inherited from CScalarSolver< CPoissonVariable >
CVariable * GetBaseClassPointerToNodes () final
 Return nodes to allow CSolver::base_nodes to be set.
 
void BC_Fluid_Interface_impl (const SolverSpecificNumericsFunc &SolverSpecificNumerics, CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config)
 Generic implementation of the fluid interface boundary condition for scalar solvers.
 
su2double BoundedScalarBCFlux (unsigned long iPoint, bool implicit, const su2double &density, const su2double *velocity, const su2double *normal)
 Applies a convective flux correction to negate the effects of flow divergence at a BC node.
 
void PushSolutionBackInTime (unsigned long TimeIter, bool restart, CSolver ***solver_container, CGeometry **geometry, CConfig *config)
 Move solution to previous time levels (for restarts).
 
void CommonPreprocessing (CGeometry *geometry, const CConfig *config, const bool Output)
 Gradient and Limiter computation.
 
void SumEdgeFluxes (const CGeometry *geometry)
 Sum the edge fluxes for each cell to populate the residual vector, only used on coarse grids.
 
void EdgeFluxResidual (const CGeometry *geometry, CSolver **solver_container, const CConfig *config, const ScalarFluxOptions &opt)
 Generic interior edge loop for a scalar model expressed through the CUpwScalarBase CRTP chain (numerics/scalar/scalar_edge_flux.hpp), driving both the convective and the diffusive term of every edge with a single kernel, under either update strategy.
 
void SetGhostPrimitives (unsigned long iVertex, const su2double *V)
 Write the four flow primitives the flux kernels read into one row of ghostFlowNodes.
 
void BoundaryFluxResidual (const CGeometry *geometry, CSolver **solver_container, const CConfig *config, const ScalarFluxOptions &opt, unsigned short val_marker)
 Generic boundary flux pass, run after a boundary's fill pass has written the ghost row, the outward normal and (for the diffusion sites) the ghost gradient of every vertex of the marker. The ghost point has no row, so only the contribution to the interior point is assembled.
 
void FluidInterfaceFluxResidual (const CGeometry *geometry, CSolver **solver_container, const CConfig *config, const ScalarFluxOptions &optConv, const ScalarFluxOptions &optVisc, const GhostFunc &fillGhostExtras)
 Generic fluid interface (sliding mesh) flux pass, shared by every model. The convective term is a per-donor weighted average, computed in the same pass that fills the ghost row of each donor; the diffusive term is computed once per vertex, after the donor loop, from the ghost state the last donor left behind. This does not fit the fill-pass-then-BoundaryFluxResidual shape the other boundaries use, so it drives the kernel directly.
 
void SetGhostGeometry (const CGeometry *geometry, unsigned short val_marker, unsigned long iVertex)
 Write the outward normal of one vertex into the ghost row and mark the vertex as contributing a flux.
 
void SetGhostDiffusionState (const CGeometry *geometry, unsigned long iVertex, unsigned long iPoint, unsigned long jPoint)
 Write what the diffusion term of a boundary reads beyond the ghost solution: the coordinate of the interior point reflected about the boundary, and the interior gradient mirrored into the ghost row.
 
void DispatchScheme (const CConfig *config, F &&f)
 Resolve the compile-time parameters of a scalar flux kernel, the flow indices, the dimension and the equation count, from the runtime state, and call f with a CTypeTag of the resulting scheme type: f is a generic lambda, [&](auto tag){ using Scheme = typename decltype(tag)::type; ... }.
 
- 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 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 CScalarSolver< CPoissonVariable >
unsigned long omp_chunk_size
 Chunk size used in light point loops.
 
su2double lowerlimit [MAXNVAR]
 contains lower limits for scalar variables.
 
su2double upperlimit [MAXNVAR]
 contains upper limits for scalar variables.
 
su2double Solution_Inf [MAXNVAR]
 Far-field solution.
 
const bool Conservative
 Transported Variable is conservative. Solution has to be multiplied with rho.
 
const bool BoundedScalar
 Whether the derived solver uses the bounded-scalar convective scheme.
 
const CPrimitiveIndices< unsigned short > prim_idx
 Indices of the primitive flow variables.
 
vector< su2matrix< su2double * > > SlidingState
 
vector< vector< int > > SlidingStateNodes
 
array< DummyGridColor<>, 1 > EdgeColoring
 
CSysVector< su2double > EdgeFluxes
 Flux across each edge.
 
CSysVector< su2double > EdgeFluxesDiff
 Flux difference between ij and ji for non-conservative discretisation.
 
unique_ptr< CPoissonVariable > ghostNodes
 Allocated by the derived solver, whose VariableType constructor it alone knows how to call.
 
unique_ptr< CGhostFlowVariable > ghostFlowNodes
 Sized from the flow solver, see the constructor.
 
su2activematrix ghostNormal
 Outward normals, sign flipped from the vertex normals.
 
su2activematrix ghostCoord
 Reflected coordinates, read by the diffusion sites.
 
su2vector< uint8_t > ghostSkip
 Whether a vertex contributes no flux, set by the fill pass.
 
CPoissonVariable * nodes
 The highest level in the variable hierarchy this 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.
 

Detailed Description

Main class for defining the finite-volume poisson equation solver.

Author
T. Aalbers
Version
8.5.0 "Harrier"

Constructor & Destructor Documentation

◆ CPoissonSolver()

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

Member Function Documentation

◆ BC_Far_Field()

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

A virtual member.

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 CPoissonSolver::BC_HeatFlux_Wall ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics *  conv_numerics,
CNumerics *  visc_numerics,
CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

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

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

Impose the inlet boundary condition.

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

Reimplemented from CSolver.

◆ BC_Outlet()

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

Impose the outlet boundary condition.

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

Reimplemented from CSolver.

◆ ComputeHbyA()

void CPoissonSolver::ComputeHbyA ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh 
)
finalvirtual

Compute the HbyA based on the momentum correction to be used in second PISO correction equation.

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

Reimplemented from CSolver.

◆ ImplicitEuler_Iteration()

void CPoissonSolver::ImplicitEuler_Iteration ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)
overridevirtual

Update the solution using an implicit solver.

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

Reimplemented from CSolver.

◆ LoadRestart()

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

The pressure correction is reset to zero every iteration (see Preprocessing), so it carries no state that a restart file needs to provide.

Implements CScalarSolver< CPoissonVariable >.

◆ Postprocessing()

void CPoissonSolver::Postprocessing ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned short  iMesh 
)
finalvirtual

Correct the pressure and velocities for the flow solution.

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

Reimplemented from CSolver.

◆ Preprocessing()

void CPoissonSolver::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]iMesh- Index of the mesh in multigrid computations.
[in]iRKStep- Current step of the Runge-Kutta iteration.
[in]RunTime_EqSystem- System of equations which is going to be solved.
[in]Output- boolean to determine whether to print output.

Reimplemented from CSolver.

◆ SetMomCoeff()

void CPoissonSolver::SetMomCoeff ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
bool  periodic,
unsigned short  iMesh 
)
finalvirtual

Compute the coefficients for the pressure correction equation based on the residuals from the solution of the momentum equation.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container with all the solutions.
[in]config- Definition of the particular problem.
[in]periodic- Flag for periodic boundary conditions.
[in]iMesh- Index of the mesh in multigrid computations.

Reimplemented from CSolver.

◆ SetResidual_DualTime()

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

Add the change of density in time to the mass balance (variable density only).

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iRKStep- Current step of the Runge-Kutta iteration.
[in]iMesh- Index of the mesh in multigrid computations.
[in]RunTime_EqSystem- System of equations which is going to be solved.

Reimplemented from CSolver.

◆ SetTime_Step()

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

No time step as it is a stationary problem.

Reimplemented from CSolver.

◆ Source_Residual()

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

Source term computation.

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

Reimplemented from CSolver.

◆ Upwind_Residual()

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

No upwind residual for poisson equation.

Reimplemented from CSolver.

◆ Viscous_Residual()

void CPoissonSolver::Viscous_Residual ( CGeometry *  geometry,
CSolver **  solver_container,
CNumerics **  numerics_container,
CConfig *  config,
unsigned short  iMesh,
unsigned short  iRKStep 
)
overridevirtual

Compute the diffusion of the pressure correction, through the CScalarFlux_Poisson edge kernel; the equation has no convective term, see Upwind_Residual.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iMesh- Index of the mesh in multigrid computations.
[in]iRKStep- Current step of the Runge-Kutta iteration.

Reimplemented from CSolver.

Member Data Documentation

◆ MAXNDIM

constexpr size_t CPoissonSolver::MAXNDIM = 3
staticconstexprprotected

Max number of space dimensions, used in some static arrays.

◆ MAXNVAR

constexpr size_t CPoissonSolver::MAXNVAR = 1
staticconstexprprotected

Max number of variables, for static arrays.


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