31#include "../variables/CIncEulerVariable.hpp"
60 unsigned short iRKStep,
unsigned short RunTime_EqSystem,
bool Output);
117 unsigned short iMesh);
129 unsigned short iMesh);
136 unsigned short iMesh,
149 template<ENUM_TIME_INT IntegrationType>
207 unsigned short iMesh,
208 unsigned long Iteration)
final;
223 unsigned short iMesh,
224 unsigned short iRKStep)
final;
238 unsigned short iMesh)
final;
265 unsigned short iMesh)
final;
279 unsigned short iMesh)
final;
293 unsigned short iMesh,
294 unsigned short iRKStep,
295 unsigned short RunTime_EqSystem,
296 bool Output)
override;
307 if (config->GetWeakly_Coupled_Heat()) {
308 solver[
HEAT_SOL]->Evaluate_ObjFunc(config, solver);
327 unsigned short val_marker)
final;
343 unsigned short val_marker)
final;
359 unsigned short val_marker)
final;
371 unsigned short iRKStep)
final;
383 unsigned short iRKStep)
final;
414 unsigned short iRKStep,
415 unsigned short iMesh,
416 unsigned short RunTime_EqSystem)
final;
430 bool val_update_geo)
final;
Base class template for all FVM flow solvers.
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Definition CFVMFlowSolverBase.hpp:36
su2double EvaluateCommonObjFunc(const CConfig &config) const
Evaluate common part of objective function to all solvers.
Definition CFVMFlowSolverBase.inl:2811
Main class for defining the Thermo-Physical Model.
Definition CFluidModel.hpp:47
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
Main class for defining the incompressible Euler flow solver.
Definition CIncEulerSolver.hpp:39
void Explicit_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
Generic implementation of explicit iterations with preconditioner.
Definition CIncEulerSolver.cpp:2085
void SetResidual_DualTime(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) final
Set the total residual adding the term that comes from the Dual Time Strategy.
Definition CIncEulerSolver.cpp:3105
void SetReferenceValues(const CConfig &config) final
Set reference values for pressure, forces, etc.
Definition CIncEulerSolver.cpp:970
void Source_Template(CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh) final
Source term integration.
Definition CIncEulerSolver.cpp:2033
unsigned long RegisterSolutionExtra(bool input, const CConfig *config) final
Register In- or Output.
Definition CIncEulerSolver.cpp:3655
StreamwisePeriodicValues SPvalsUpdated
Definition CIncEulerSolver.hpp:42
void SetFreeStream_Solution(const CConfig *config) final
Set the solution using the Freestream values.
Definition CIncEulerSolver.cpp:3641
void SetMax_Eigenvalue(CGeometry *geometry, const CConfig *config)
Compute the max eigenvalue.
Definition CIncEulerSolver.cpp:2048
void ClassicalRK4_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using the classical Runge-Kutta 4 scheme.
Definition CIncEulerSolver.cpp:2125
void ExtractAdjoint_SolutionExtra(su2activevector &adj_sol, const CConfig *config) final
Extract the adjoint of the extra solution at the input.
Definition CIncEulerSolver.cpp:3672
void SetNondimensionalization(CConfig *config, unsigned short iMesh)
Set the solver nondimensionalization.
Definition CIncEulerSolver.cpp:260
~CIncEulerSolver(void) override
Destructor of the class.
Definition CIncEulerSolver.cpp:254
void SetRangePressure(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
Update the pressure range P_max - P_min for target mass flow rate.
Definition CIncEulerSolver.cpp:2222
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.
Definition CIncEulerSolver.cpp:1185
void PrepareImplicitIteration(CGeometry *geometry, CSolver **, CConfig *config) final
Prepare an implicit iteration.
Definition CIncEulerSolver.cpp:2138
void SetBeta_Parameter(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
Update the Beta parameter for the incompressible preconditioner.
Definition CIncEulerSolver.cpp:2180
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.
Definition CIncEulerSolver.cpp:2372
void CorrectPressureGradient(su2double *corrected_grad_pressure, const su2double *avg_grad_pressure, const su2double val_pressure_i, const su2double val_pressure_j, const su2double *val_edge_vector, const su2double val_dist_ij_2)
Apply a correction to the pressure or pressure deviation gradient to align with the edges.
Definition CIncEulerSolver.cpp:3679
void LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, bool val_update_geo) final
Load a solution from a restart file.
Definition CIncEulerSolver.cpp:3596
virtual unsigned long SetPrimitive_Variables(CSolver **solver_container, const CConfig *config)
Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.
Definition CIncEulerSolver.cpp:1124
su2activevector EdgeMassFluxCorrection
Definition CIncEulerSolver.hpp:48
static void ComputeConsistentExtrapolation(CFluidModel *fluidModel, unsigned short nDim, const su2double *scalar, su2double *primitive)
Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consis...
Definition CIncEulerSolver.cpp:1533
vector< CFluidModel * > FluidModel
fluid model used in the solver.
Definition CIncEulerSolver.hpp:41
void Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) final
Source term integration.
Definition CIncEulerSolver.cpp:1544
su2activematrix momentumCorrection
Definition CIncEulerSolver.hpp:47
StreamwisePeriodicValues GetStreamwisePeriodicValues() const final
Get values for streamwise periodic flow: delta P, m_dot, inlet T, integrated heat,...
Definition CIncEulerSolver.hpp:453
void ExplicitRK_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using a Runge-Kutta scheme.
Definition CIncEulerSolver.cpp:2118
void SetAdjoint_SolutionExtra(const su2activevector &adj_sol, const CConfig *config) final
Seed the adjoint of the extra solution at the output.
Definition CIncEulerSolver.cpp:3665
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.
Definition CIncEulerSolver.cpp:1257
void SetCentered_Dissipation_Sensor(CGeometry *geometry, const CConfig *config)
Compute a pressure sensor switch.
Definition CIncEulerSolver.cpp:2069
StreamwisePeriodicValues SPvals
Definition CIncEulerSolver.hpp:42
bool pressure_based
Definition CIncEulerSolver.hpp:44
su2activevector pressureCorrection
Definition CIncEulerSolver.hpp:46
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.
Definition CIncEulerSolver.cpp:1363
bool GetHasHybridParallel() const final
The incompressible Euler and NS solvers support MPI+OpenMP.
Definition CIncEulerSolver.hpp:447
void ComputeEdgeMassFluxesRhieChow(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Compute the spatial integration using a centered scheme.
Definition CIncEulerSolver.cpp:3697
void Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) override
Compute primitive variables and their gradients.
Definition CIncEulerSolver.cpp:1075
void GetOutlet_Properties(CGeometry *geometry, CConfig *config, unsigned short iMesh, bool Output)
A virtual member.
Definition CIncEulerSolver.cpp:3343
void ApplyPressureVelocityCorrection(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Compute the spatial integration using a centered scheme.
Definition CIncEulerSolver.cpp:3787
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.
Definition CIncEulerSolver.cpp:2571
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.
Definition CIncEulerSolver.cpp:999
CFluidModel * GetFluidModel(void) const final
Compute the pressure at the infinity.
Definition CIncEulerSolver.hpp:194
su2activevector alpha_p
Definition CIncEulerSolver.hpp:45
void RecomputeDensity_time_n(CSolver **solver_container, const CConfig *config)
Recompute the dual-time density history (rho_n, rho_n-1) from the stored solution histories (Solution...
Definition CIncEulerSolver.cpp:1149
void PrintVerificationError(const CConfig *config) const final
Print verification error to screen.
Definition CIncEulerSolver.cpp:3555
void Evaluate_ObjFunc(const CConfig *config, CSolver **solver) final
Compute weighted-sum "combo" objective output.
Definition CIncEulerSolver.hpp:304
void SetPreconditioner(const CConfig *config, unsigned long iPoint, su2double delta, su2activematrix &preconditioner) const
Compute the preconditioner for low-Mach flows.
Definition CIncEulerSolver.cpp:2259
void ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Update the solution using the explicit Euler scheme.
Definition CIncEulerSolver.cpp:2132
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.
Definition CIncEulerSolver.cpp:2879
Class for defining the numerical methods.
Definition CNumerics.hpp:48
Definition CSolver.hpp:71
unsigned short nDim
Number of dimensions of the problem.
Definition CSolver.hpp:90
su2double Total_ComboObj
Total 'combo' objective for all monitored boundaries.
Definition CSolver.hpp:108
passivedouble su2double
Definition code_config.hpp:181
constexpr int omp_get_thread_num()
Index of current thread, akin to MPI rank.
Definition omp_structure.hpp:85
@ HEAT_SOL
Position of the heat equation in the solution solver array.
Definition option_structure.hpp:582
Container to hold Variables for streamwise Periodic flow as they are often used together in places.
Definition option_structure.hpp:3003