29#include "../../../Common/include/parallelization/omp_structure.hpp"
30#include "../../../Common/include/toolboxes/geometry_toolbox.hpp"
35template <
class VariableType, ENUM_REGIME FlowRegime>
38 static void recursiveAssign() {}
40 template<
class U,
class V,
class... Ts>
41 static void recursiveAssign(U& d,
const V& s, Ts&&... otherPairs) {
43 recursiveAssign(otherPairs...);
48 const typename VariableType::template CIndices<unsigned short>
prim_idx;
51 static constexpr size_t MAXNVAR = VariableType::MAXNVAR;
138 su2double CD,
CL,
CSF,
CEff,
CFx,
CFy,
CFz,
CMx,
CMy,
CMz,
CoPx,
CoPy,
CoPz,
CT,
CQ,
CMerit;
193 vector<vector<su2double> >
UTau;
299 unsigned long localCounter,
CConfig* config) {
369 inline void UpdateJacobian(
unsigned long iEdge,
unsigned long iPoint,
unsigned long jPoint,
372 struct CJacobianDifference {
377 su2double operator[](
unsigned long j)
const {
return c[j] - v[j]; }
379 Row operator[](
unsigned long i)
const {
return {conv[i], visc[i]}; }
412 su2double* RestartSolution =
nullptr,
unsigned short nVar_Restart = 0);
425 template<
class SoundSpeedFunc,
class LambdaViscFunc>
427 const LambdaViscFunc& lambdaVisc,
431 unsigned short iMesh,
432 unsigned long Iteration) {
450 for (
auto iPoint = 0ul; iPoint <
nPointDomain; ++iPoint) {
454 nodes->SetMax_Lambda_Inv(iPoint,0.0);
457 nodes->SetMax_Lambda_Visc(iPoint,0.0);
461 for (
unsigned short iNeigh = 0; iNeigh < geometry->
nodes->
GetnPoint(iPoint); ++iNeigh)
471 su2double Mean_ProjVel = 0.5 * (
nodes->GetProjVel(iPoint,Normal) +
nodes->GetProjVel(jPoint,Normal));
480 for (
unsigned short iDim = 0; iDim <
nDim; iDim++)
481 Mean_ProjVel -= 0.5 * (GridVel_i[iDim] + GridVel_j[iDim]) * Normal[iDim];
486 su2double Lambda = fabs(Mean_ProjVel) + Mean_SoundSpeed;
487 nodes->AddMax_Lambda_Inv(iPoint,Lambda);
491 if (!viscous)
continue;
493 Lambda = lambdaVisc(*
nodes, iPoint, jPoint) * Area2;
494 nodes->AddMax_Lambda_Visc(iPoint, Lambda);
502 for (
unsigned short iMarker = 0; iMarker < geometry->
GetnMarker(); iMarker++) {
510 for (
auto iVertex = 0ul; iVertex < geometry->
GetnVertex(iMarker); iVertex++) {
534 su2double Lambda = fabs(ProjVel) + SoundSpeed;
535 nodes->AddMax_Lambda_Inv(iPoint, Lambda);
539 if (!viscous)
continue;
541 Lambda = lambdaVisc(*
nodes,iPoint) * Area2;
542 nodes->AddMax_Lambda_Visc(iPoint, Lambda);
554 for (
auto iPoint = 0ul; iPoint <
nPointDomain; iPoint++) {
559 su2double Local_Delta_Time =
nodes->GetLocalCFL(iPoint)*Vol /
nodes->GetMax_Lambda_Inv(iPoint);
562 su2double dt_visc =
nodes->GetLocalCFL(iPoint)*K_v*Vol*Vol /
nodes->GetMax_Lambda_Visc(iPoint);
563 Local_Delta_Time = min(Local_Delta_Time, dt_visc);
566 minDt = min(minDt, Local_Delta_Time);
567 maxDt = max(maxDt, Local_Delta_Time);
572 nodes->SetDelta_Time(iPoint,0.0);
619 for (
auto iPoint = 0ul; iPoint <
nPointDomain; iPoint++) {
636 for (
auto iPoint = 0ul; iPoint <
nPointDomain; iPoint++) {
654 if (dual_time && !implicit) {
656 for (
auto iPoint = 0ul; iPoint <
nPointDomain; iPoint++) {
658 nodes->SetDelta_Time(iPoint, dt);
671 template<
class SoundSpeedFunc>
677 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; ++iPoint) {
680 nodes->SetLambda(iPoint,0.0);
683 for (
unsigned short iNeigh = 0; iNeigh < geometry->
nodes->
GetnPoint(iPoint); ++iNeigh)
693 su2double Mean_ProjVel = 0.5 * (
nodes->GetProjVel(iPoint,Normal) +
nodes->GetProjVel(jPoint,Normal));
694 su2double Mean_SoundSpeed = soundSpeed(*
nodes, iPoint, jPoint) * Area;
702 for (
unsigned short iDim = 0; iDim <
nDim; iDim++)
703 Mean_ProjVel -= 0.5 * (GridVel_i[iDim] + GridVel_j[iDim]) * Normal[iDim];
708 nodes->AddLambda(iPoint, fabs(Mean_ProjVel) + Mean_SoundSpeed);
715 for (
unsigned short iMarker = 0; iMarker < geometry->
GetnMarker(); iMarker++) {
723 for (
unsigned long iVertex = 0; iVertex < geometry->
GetnVertex(iMarker); iVertex++) {
747 nodes->AddLambda(iPoint, fabs(Mean_ProjVel) + Mean_SoundSpeed);
755 for (
unsigned short iPeriodic = 1; iPeriodic <= config->
GetnMarker_Periodic()/2; iPeriodic++) {
772 template<
class SensVarFunc>
784 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; ++iPoint) {
799 if (boundary_i && !boundary_j)
continue;
825 for (
unsigned short iPeriodic = 1; iPeriodic <= config->
GetnMarker_Periodic()/2; iPeriodic++) {
833 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; iPoint++)
852 template<ENUM_TIME_INT IntegrationType,
class Res
idualPrecond>
854 CSolver **solver_container,
CConfig *config,
unsigned short iRKStep) {
865 const su2double RK_FuncCoeff[] = {1.0/6.0, 1.0/3.0, 1.0/3.0, 1.0/6.0};
866 const su2double RK_TimeCoeff[] = {0.5, 0.5, 1.0, 1.0};
870 unsigned long idxMax[
MAXNVAR] = {0};
876 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; iPoint++) {
881 const su2double* Res_TruncError =
nodes->GetResTruncError(iPoint);
884 preconditioner.compute(config, iPoint);
886 for (
unsigned short iVar = 0; iVar <
nVar; iVar++) {
891 switch(IntegrationType) {
894 nodes->AddSolution(iPoint,iVar, -Res*Delta);
898 nodes->AddSolution(iPoint, iVar, -Res*Delta*RK_AlphaCoeff);
903 su2double tmp_time = -1.0*RK_TimeCoeff[iRKStep]*Delta;
904 su2double tmp_func = -1.0*RK_FuncCoeff[iRKStep]*Delta;
908 nodes->AddSolution(iPoint,iVar, tmp_time*Res);
911 nodes->AddSolution_New(iPoint,iVar, tmp_func*Res);
913 nodes->SetSolution(iPoint, iVar,
nodes->GetSolution_New(iPoint, iVar) + tmp_func*Res);
944 template<ENUM_TIME_INT IntegrationType>
949 return res[iVar] + resTrunc[iVar];
953 Explicit_Iteration_impl<IntegrationType>(precond, geometry, solver_container, config, iRKStep);
963 template<
class DiagonalPrecond>
970 unsigned long idxMax[
MAXNVAR] = {0};
976 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; iPoint++) {
980 if (
nodes->GetDelta_Time(iPoint) != 0.0) {
986 if (preconditioner.active)
1001 for (
unsigned long iPoint = 0; iPoint <
nPointDomain; iPoint++) {
1005 su2double* local_Res_TruncError =
nodes->GetResTruncError(iPoint);
1007 if (
nodes->GetDelta_Time(iPoint) == 0.0) {
1008 for (
unsigned short iVar = 0; iVar <
nVar; iVar++) {
1010 local_Res_TruncError[iVar] = 0.0;
1014 for (
unsigned short iVar = 0; iVar <
nVar; iVar++) {
1112 unsigned short iMesh,
unsigned short RunTime_EqSystem) override;
1155 CNumerics* visc_numerics,
CConfig* config,
unsigned short val_marker) final {
1157 BC_Sym_Plane(geometry, solver_container, conv_numerics, visc_numerics, config, val_marker);
1173 CConfig* config,
unsigned short val_marker)
override;
1205 CConfig* config,
unsigned short val_marker)
final;
2103 return CPressure[val_marker][val_vertex];
2142 inline void SetCharacPrimVar(
unsigned short val_marker,
unsigned long val_vertex,
unsigned short val_var,
2175 unsigned short val_dim)
const final {
2190 else if (val_vertex >=
nVertex[val_marker])
2207 else if (val_vertex >=
nVertex[val_marker])
2220 inline void SetInletFlowDir(
unsigned short val_marker,
unsigned long val_vertex,
unsigned short val_dim,
2226 else if (val_vertex >=
nVertex[val_marker])
2229 Inlet_FlowDir[val_marker][val_vertex][val_dim] = val_flowdir;
2312 for (
int iVar = 0; iVar <
nPrimVar + 1; iVar++) {
2316 for (
int iVar = 0; iVar <
nPrimVar + 1; iVar++)
2328 inline void SetSlidingState(
unsigned short val_marker,
unsigned long val_vertex,
unsigned short val_state,
2329 unsigned long donor_index,
su2double component)
final {
2330 SlidingState[val_marker][val_vertex][val_state][donor_index] = component;
2339 inline void SetnSlidingStates(
unsigned short val_marker,
unsigned long val_vertex,
int value)
final {
2360 unsigned long donor_index)
const final {
2361 return SlidingState[val_marker][val_vertex][val_state][donor_index];
2375 relaxation_factor * val_var + (1.0 - relaxation_factor) *
HeatConjugateVar[val_marker][val_vertex][pos_var];
2385 unsigned short pos_var)
const final {
2396 unsigned short val_dim)
const final {
2417 return HeatFlux[val_marker][val_vertex];
2447 return YPlus[val_marker][val_vertex];
2457 return UTau[val_marker][val_vertex];
Headers of the CSolver class which is inherited by all of the other solvers.
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
static void Reduce(const void *sendbuf, void *recvbuf, int count, Datatype datatype, Op op, int root, Comm comm)
Definition mpi_structure.hpp:565
static Comm GetComm()
Definition mpi_structure.hpp:530
static void Allreduce(const void *sendbuf, void *recvbuf, int count, Datatype datatype, Op op, Comm comm)
Definition mpi_structure.hpp:570
static void Error(const std::string &ErrorMsg, const std::string &FunctionName)
Definition mpi_structure.cpp:131
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
UPWIND GetKind_Upwind_Flow(void) const
Get the kind of upwind convective numerical scheme for the flow equations.
Definition CConfig.hpp:4928
su2double GetDelta_UnstTimeND(void) const
If we are prforming an unsteady simulation, there is only one value of the time step for the complete...
Definition CConfig.hpp:6187
bool GetContinuous_Adjoint(void) const
Determines if problem is adjoint.
Definition CConfig.hpp:6902
unsigned short GetKind_TimeIntScheme_Flow(void) const
Get the kind of integration scheme (explicit or implicit) for the flow equations.
Definition CConfig.hpp:4816
su2double Get_Alpha_RKStep(unsigned short val_step) const
Get the alpha (convective) coefficients for the Runge-Kutta integration scheme.
Definition CConfig.hpp:3465
unsigned short GetnMarker_Periodic(void) const
Get the total number of periodic markers.
Definition CConfig.hpp:3309
su2double GetDelta_UnstTime(void) const
If we are prforming an unsteady simulation, there is only one value of the time step for the complete...
Definition CConfig.hpp:6201
void SetDelta_UnstTimeND(su2double val_delta_unsttimend)
Set the value of the unsteadty time step using the CFL number.
Definition CConfig.hpp:6207
void SetNonphysical_Reconstr(unsigned long val_nonphys_reconstr)
Set the current number of non-physical reconstructions for 2nd-order upwinding.
Definition CConfig.hpp:9236
unsigned short GetComm_Level(void) const
Get the level of MPI communications to be performed.
Definition CConfig.hpp:9930
su2double GetMax_DeltaTime(void) const
Get the Courant Friedrich Levi number for unsteady simulations.
Definition CConfig.hpp:3014
TIME_MARCHING GetTime_Marching() const
Provides information about the time integration, and change the write in the output files information...
Definition CConfig.hpp:5648
unsigned short GetKind_TimeIntScheme(void) const
Get the kind of time integration method.
Definition CConfig.hpp:4732
bool GetViscous(void) const
Determines if problem is viscous.
Definition CConfig.hpp:6908
unsigned short GetMarker_All_KindBC(unsigned short val_marker) const
Get the kind of boundary for each marker.
Definition CConfig.hpp:3556
su2double GetUnst_CFL(void) const
Get the Courant Friedrich Levi number for unsteady simulations.
Definition CConfig.hpp:3002
unsigned long GetRestart_Iter(void) const
Get the restart iteration.
Definition CConfig.hpp:9912
void GetNormal(unsigned long iEdge, T &normal) const
Copy the the normal vector of a face.
Definition CEdge.hpp:161
Definition CFVMFlowSolverBase.hpp:36
su2double * Velocity_Inf
Flow Velocity vector at the infinity.
Definition CFVMFlowSolverBase.hpp:75
su2double GetTotal_CMx() const final
Provide the total (inviscid + viscous) non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1581
su2double GetAllBound_CL_Visc() const final
Get the inviscid contribution to the lift coefficient.
Definition CFVMFlowSolverBase.hpp:1919
su2double AllBound_MaxHF_Visc
Maximum heat flux (viscous contribution) for all boundaries.
Definition CFVMFlowSolverBase.hpp:179
AeroCoeffs AllBoundMntCoeff
Total momentum contribution for all the boundaries.
Definition CFVMFlowSolverBase.hpp:153
vector< vector< su2double > > Inlet_Ttotal
Value of the Total T.
Definition CFVMFlowSolverBase.hpp:182
su2double GetStrainMag_Max(void) const final
Get the max Strain rate magnitude.
Definition CFVMFlowSolverBase.hpp:1299
AeroCoeffsArray SurfaceCoeff
Totals for each monitoring surface.
Definition CFVMFlowSolverBase.hpp:159
void SetTotal_CL(su2double val_Total_CL) final
Store the total (inviscid + viscous) non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1671
void SetCPressureTarget(unsigned short val_marker, unsigned long val_vertex, su2double val_pressure) final
Set the value of the target Pressure coefficient.
Definition CFVMFlowSolverBase.hpp:2122
AeroCoeffsArray SurfaceViscCoeff
Viscous contributions for each monitoring boundary.
Definition CFVMFlowSolverBase.hpp:156
su2double GetCD_Visc(unsigned short val_marker) const final
Get the non dimensional drag coefficient (viscous contribution).
Definition CFVMFlowSolverBase.hpp:2012
void UpdateFarfieldVelocity(const CConfig *config) final
Updates the components of the farfield velocity vector.
Definition CFVMFlowSolverBase.hpp:2244
su2double GetAllBound_CoPy_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1803
void FinalizeResidualComputation(const CGeometry *geometry, bool pausePreacc, unsigned long localCounter, CConfig *config)
Sums edge fluxes (if required) and computes the global error counter.
Definition CFVMFlowSolverBase.hpp:298
su2double Total_Heat
Total heat load for all the boundaries.
Definition CFVMFlowSolverBase.hpp:170
su2double GetSurface_CMx_Inv(unsigned short val_marker) const final
Provide the non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1441
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.
Definition CFVMFlowSolverBase.hpp:2359
su2double GetAllBound_CL_Inv() const final
Get the inviscid contribution to the lift coefficient.
Definition CFVMFlowSolverBase.hpp:1677
su2double GetYPlus(unsigned short val_marker, unsigned long val_vertex) const final
Get the y plus.
Definition CFVMFlowSolverBase.hpp:2446
su2double GetPressure_Inf(void) const final
Compute the pressure at the infinity.
Definition CFVMFlowSolverBase.hpp:1223
vector< vector< su2double > > CPressureTarget
Target Pressure coefficient for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:191
void Pressure_Forces(const CGeometry *geometry, const CConfig *config) final
Compute the pressure forces and all the adimensional coefficients.
Definition CFVMFlowSolverBase.inl:2165
AeroCoeffs TotalCoeff
Totals for all boundaries.
Definition CFVMFlowSolverBase.hpp:160
su2double GetAllBound_CD_Inv() const final
Get the inviscid contribution to the drag coefficient.
Definition CFVMFlowSolverBase.hpp:1683
su2double GetCL_Inv(unsigned short val_marker) const final
Provide the non dimensional lift coefficient (inviscid contribution).
Definition CFVMFlowSolverBase.hpp:1306
su2double GetConjugateHeatVariable(unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var) const final
Set the conjugate heat variables.
Definition CFVMFlowSolverBase.hpp:2384
su2double GetSurface_CFy_Mnt(unsigned short val_marker) const final
Provide the non dimensional y force coefficient.
Definition CFVMFlowSolverBase.hpp:1499
static void ompMasterAssignBarrier(Ts &&... lhsRhsPairs)
Utility to set the value of a member variables safely, and so that the new values are seen by all thr...
Definition CFVMFlowSolverBase.hpp:65
su2double GetInletTtotal(unsigned short val_marker, unsigned long val_vertex) const final
Value of the total temperature at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2153
su2double GetInletPtotal(unsigned short val_marker, unsigned long val_vertex) const final
Value of the total pressure at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2163
su2double GetCD_Inv(unsigned short val_marker) const final
Provide the non dimensional drag coefficient (inviscid contribution).
Definition CFVMFlowSolverBase.hpp:1313
su2double GetTotal_CFy() const final
Provide the total (inviscid + viscous) non dimensional y force coefficient.
Definition CFVMFlowSolverBase.hpp:1623
su2double Total_CEquivArea
Total Equivalent Area coefficient for all the boundaries.
Definition CFVMFlowSolverBase.hpp:167
su2double GetInletAtVertex(unsigned short iMarker, unsigned long iVertex, const CGeometry *geometry, su2double *val_inlet) const final
Get the set of values imposed at an inlet.
Definition CFVMFlowSolverBase.inl:751
void SetUniformInlet(const CConfig *config, unsigned short iMarker) final
Set a uniform inlet profile.
Definition CFVMFlowSolverBase.inl:772
su2double GetAllBound_CEff_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1937
vector< su2activematrix > Inlet_FlowDir
Value of the Flow Direction.
Definition CFVMFlowSolverBase.hpp:183
su2double GetSurface_CEff(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1341
int GetnSlidingStates(unsigned short val_marker, unsigned long val_vertex) const final
Get the number of outer state for fluid interface nodes.
Definition CFVMFlowSolverBase.hpp:2348
void Set_NewSolution() final
Set the new solution variables to the current solution value for classical RK.
Definition CFVMFlowSolverBase.hpp:1044
void CompleteImplicitIteration(CGeometry *geometry, CSolver **, CConfig *config) final
Complete an implicit iteration.
Definition CFVMFlowSolverBase.inl:588
su2double GetAllBound_CD_Visc() const final
Get the inviscid contribution to the drag coefficient.
Definition CFVMFlowSolverBase.hpp:1925
su2double Total_MaxHeat
Maximum heat flux on all boundaries.
Definition CFVMFlowSolverBase.hpp:171
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.
Definition CFVMFlowSolverBase.inl:1318
su2double GetCPressure(unsigned short val_marker, unsigned long val_vertex) const final
Provide the Pressure coefficient.
Definition CFVMFlowSolverBase.hpp:2102
void SetInitialCondition(CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long ExtIter) override
Set the initial condition for the Euler Equations.
Definition CFVMFlowSolverBase.inl:1049
void SetTotal_CNearFieldOF(su2double val_cnearfieldpress) final
Set the value of the Near-Field pressure oefficient.
Definition CFVMFlowSolverBase.hpp:2052
su2double GetSurface_CD_Visc(unsigned short val_marker) const final
Provide the non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1841
su2double GetAllBound_CFy_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1985
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....
Definition CFVMFlowSolverBase.hpp:2311
su2double GetSurface_CL_Visc(unsigned short val_marker) const final
Provide the non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1834
su2double GetReferenceDynamicPressure() const final
Get the reference dynamic pressure, for Cp, Cf, etc.
Definition CFVMFlowSolverBase.hpp:1563
vector< su2activematrix > HeatConjugateVar
CHT variables for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:189
void SetTotal_CEquivArea(su2double val_equiv) final
Set the value of the Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2046
su2double GetTotal_CoPx() const final
Provide the total (inviscid + viscous) non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1599
su2double GetTotal_CEquivArea() const final
Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2070
void AllocateTerribleLegacyTemporaryVariables()
Allocate small member variables that ideally should not be used.
Definition CFVMFlowSolverBase.inl:212
void LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig *config, int iter, bool update_geo) override
Load a solution from a restart file.
Definition CFVMFlowSolverBase.inl:1042
su2double Gamma_Minus_One
Fluids's Gamma - 1.0 .
Definition CFVMFlowSolverBase.hpp:200
su2double GetTotal_CD() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1575
su2double GetAllBound_CL_Mnt() const final
Get the inviscid contribution to the lift coefficient.
Definition CFVMFlowSolverBase.hpp:1755
su2double GetWallShearStress(unsigned short val_marker, unsigned long val_vertex) const final
Get the wall shear stress.
Definition CFVMFlowSolverBase.hpp:2406
su2double Viscosity_Inf
Viscosity at the infinity.
Definition CFVMFlowSolverBase.hpp:77
su2double GetAllBound_CSF_Mnt() const final
Get the inviscid contribution to the sideforce coefficient.
Definition CFVMFlowSolverBase.hpp:1767
su2double GetSurface_CD_Inv(unsigned short val_marker) const final
Provide the non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1397
su2double Total_MassFlowRate
Total Mass Flow Rate on monitored boundaries.
Definition CFVMFlowSolverBase.hpp:168
su2double GetSurface_CFy(unsigned short val_marker) const final
Provide the non dimensional y force coefficient.
Definition CFVMFlowSolverBase.hpp:1355
su2double GetCPressureTarget(unsigned short val_marker, unsigned long val_vertex) const final
Provide the Target Pressure coefficient.
Definition CFVMFlowSolverBase.hpp:2112
array< DummyGridColor<>, 1 > EdgeColoring
Definition CFVMFlowSolverBase.hpp:213
void SetInletPtotal(unsigned short val_marker, unsigned long val_vertex, su2double val_ptotal) final
Set the value of the total pressure at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2202
static constexpr size_t OMP_MAX_SIZE
Max chunk size for light point loops.
Definition CFVMFlowSolverBase.hpp:53
su2double GetCSF_Visc(unsigned short val_marker) const final
Get the non dimensional sideforce coefficient (viscous contribution).
Definition CFVMFlowSolverBase.hpp:2005
su2double GetSurface_CFz_Inv(unsigned short val_marker) const final
Provide the non dimensional z force coefficient.
Definition CFVMFlowSolverBase.hpp:1434
vector< su2activematrix > CSkinFriction
Skin friction coefficient for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:187
bool least_squares
True if computing gradients by least squares.
Definition CFVMFlowSolverBase.hpp:198
void UpdateJacobian(unsigned long iEdge, unsigned long iPoint, unsigned long jPoint, const CNumerics::ResidualType<> &conv, const CNumerics::ResidualType<> &visc)
Update the Jacobian for one edge with the fused convective and viscous contributions.
Definition CFVMFlowSolverBase.hpp:369
su2double GetAllBound_CEff_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1773
su2double GetTotal_CMz() const final
Provide the total (inviscid + viscous) non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1593
su2double GetSurface_CMy_Inv(unsigned short val_marker) const final
Provide the non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1448
su2double Mach_Inf
Mach number at the infinity.
Definition CFVMFlowSolverBase.hpp:69
void PrepareImplicitIteration_impl(DiagonalPrecond &preconditioner, CGeometry *geometry, CConfig *config)
Generic implementation to prepare an implicit iteration with an optional preconditioner applied to th...
Definition CFVMFlowSolverBase.hpp:964
bool space_centered
True if space centered scheme used.
Definition CFVMFlowSolverBase.hpp:196
su2double GetTotal_CoPy() const final
Provide the total (inviscid + viscous) non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1605
unsigned long ErrorCounter
Counter for number of un-physical states.
Definition CFVMFlowSolverBase.hpp:86
su2double Total_HeatFluxDiff
Total Equivalent Area coefficient for all the boundaries.
Definition CFVMFlowSolverBase.hpp:166
void SetTotal_HeatFluxDiff(su2double val_heat) final
Set the value of the Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2040
su2double GetSurface_CSF_Visc(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1848
su2double GetHeatFlux(unsigned short val_marker, unsigned long val_vertex) const final
Get the heat flux.
Definition CFVMFlowSolverBase.hpp:2416
CNumericsSIMD * edgeNumerics
Object for edge flux computation.
Definition CFVMFlowSolverBase.hpp:226
vector< su2double > Surface_MaxHF_Visc
Maximum heat flux for each monitored surface.
Definition CFVMFlowSolverBase.hpp:175
su2double GetSurface_CMx(unsigned short val_marker) const final
Provide the non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1369
su2double GetSurface_CMz(unsigned short val_marker) const final
Provide the non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1383
su2double GetAllBound_CoPz_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1731
VariableType * nodes
The highest level in the variable hierarchy the DERIVED solver can safely use.
Definition CFVMFlowSolverBase.hpp:231
void SetCharacPrimVar(unsigned short val_marker, unsigned long val_vertex, unsigned short val_var, su2double val_value) final
Value of the characteristic variables at the boundaries.
Definition CFVMFlowSolverBase.hpp:2142
su2double GetSurface_CFx_Visc(unsigned short val_marker) const final
Provide the non dimensional x force coefficient.
Definition CFVMFlowSolverBase.hpp:1866
void BC_Custom(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose a custom or verification boundary condition.
Definition CFVMFlowSolverBase.inl:1499
void SetTotal_MaxHeatFlux(su2double val_Total_MaxHeat) final
Store the total heat load.
Definition CFVMFlowSolverBase.hpp:2094
void SetConjugateHeatVariable(unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var, su2double relaxation_factor, su2double val_var) final
Set the conjugate heat variables.
Definition CFVMFlowSolverBase.hpp:2372
su2double GetSurface_CEff_Visc(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1857
su2double GetSurface_CSF(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1334
su2double GetVelocity_Inf(unsigned short val_dim) const final
Get the velocity at the infinity.
Definition CFVMFlowSolverBase.hpp:1236
vector< vector< su2double > > YPlus
Yplus for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:192
su2double GetAllBound_CMx_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1701
void SetTotal_CQ(su2double val_Total_CQ) final
Store the total (inviscid + viscous) non dimensional torque coefficient.
Definition CFVMFlowSolverBase.hpp:1653
AeroCoeffsArray SurfaceMntCoeff
Inviscid momentum contributions for each monitoring boundary.
Definition CFVMFlowSolverBase.hpp:152
su2double Energy_Inf
Energy at the infinity.
Definition CFVMFlowSolverBase.hpp:71
void SetnSlidingStates(unsigned short val_marker, unsigned long val_vertex, int value) final
Set the number of outer state for fluid interface nodes.
Definition CFVMFlowSolverBase.hpp:2339
virtual CNumerics::ResidualType Viscous_Residual(unsigned long iEdge, CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
Compute the viscous contribution for a particular edge.
Definition CFVMFlowSolverBase.hpp:351
virtual void ComputeUnderRelaxationFactor(const CConfig *config)
Compute a suitable under-relaxation parameter to limit the change in the solution variables over a no...
Definition CFVMFlowSolverBase.hpp:396
su2double GetAllBound_CMy_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1785
su2double GetAllBound_CFz_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1749
su2double DynamicPressureRef
Reference dynamic pressure.
Definition CFVMFlowSolverBase.hpp:163
void SetPressure_Inf(su2double p_inf) final
Set the freestream pressure.
Definition CFVMFlowSolverBase.hpp:1263
su2double GetAllBound_CoPx_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1797
su2double GetSurface_CSF_Inv(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1404
su2double GetSurface_CMz_Inv(unsigned short val_marker) const final
Provide the non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1455
su2double GetOmega_Max(void) const final
Get the max Omega.
Definition CFVMFlowSolverBase.hpp:1293
su2double GetCEff_Inv(unsigned short val_marker) const final
Provide the non dimensional efficiency coefficient (inviscid contribution).
Definition CFVMFlowSolverBase.hpp:1541
AeroCoeffsArray SurfaceInvCoeff
Inviscid pressure contributions for each monitoring boundary.
Definition CFVMFlowSolverBase.hpp:148
AeroCoeffsArray ViscCoeff
Viscous contributions for each boundary.
Definition CFVMFlowSolverBase.hpp:155
su2double GetAllBound_CFz_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1827
virtual void Buffet_Monitoring(const CGeometry *geometry, const CConfig *config)
Compute the buffet sensor.
Definition CFVMFlowSolverBase.hpp:2303
su2double Pressure_Inf
Pressure at the infinity.
Definition CFVMFlowSolverBase.hpp:74
void SetPrimitive_Limiter(CGeometry *geometry, const CConfig *config) final
Compute the limiter of the primitive variables.
Definition CFVMFlowSolverBase.inl:424
su2double GetSurface_CFx_Inv(unsigned short val_marker) const final
Provide the non dimensional x force coefficient.
Definition CFVMFlowSolverBase.hpp:1420
AeroCoeffs AllBoundInvCoeff
Total pressure contribution for all the boundaries.
Definition CFVMFlowSolverBase.hpp:149
su2double GetCSF_Inv(unsigned short val_marker) const final
Provide the non dimensional sideforce coefficient (inviscid contribution).
Definition CFVMFlowSolverBase.hpp:1534
su2double GetTotal_CpDiff() const final
Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2058
su2double GetSurface_CMx_Mnt(unsigned short val_marker) const final
Provide the non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1513
su2double GetAllBound_CFy_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1821
su2double GetSurface_CMy_Visc(unsigned short val_marker) const final
Provide the non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1902
void SetDensity_Inf(su2double rho_inf) final
Set the freestream temperature.
Definition CFVMFlowSolverBase.hpp:1275
su2double * GetVelocity_Inf(void) final
Get the velocity at the infinity.
Definition CFVMFlowSolverBase.hpp:1242
su2double GetSurface_CMz_Visc(unsigned short val_marker) const final
Provide the non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1911
AeroCoeffsArray MntCoeff
Inviscid momentum contributions for each boundary.
Definition CFVMFlowSolverBase.hpp:151
void Momentum_Forces(const CGeometry *geometry, const CConfig *config) final
Compute the pressure forces and all the adimensional coefficients.
Definition CFVMFlowSolverBase.inl:2338
su2double GetAllBound_CFx_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1737
su2double GetSurface_HF_Visc(unsigned short val_marker) const final
Get the total heat flux.
Definition CFVMFlowSolverBase.hpp:2019
void LoadRestart_impl(CGeometry **geometry, CSolver ***solver, CConfig *config, int iter, bool update_geo, su2double *RestartSolution=nullptr, unsigned short nVar_Restart=0)
General implementation to load a flow solution from a restart file.
Definition CFVMFlowSolverBase.inl:854
virtual void PrintVerificationError(const CConfig *config) const =0
Print verification error to screen, derived solvers must define this.
su2double GetTke_Inf(void) const final
Get the turbulent kinetic energy at the infinity.
Definition CFVMFlowSolverBase.hpp:1287
su2double GetSurface_CFz_Mnt(unsigned short val_marker) const final
Provide the non dimensional z force coefficient.
Definition CFVMFlowSolverBase.hpp:1506
vector< su2double > Surface_HF_Visc
Total (integrated) heat flux for each monitored surface.
Definition CFVMFlowSolverBase.hpp:174
su2double GetHeatFluxTarget(unsigned short val_marker, unsigned long val_vertex) const final
Get the skin friction coefficient.
Definition CFVMFlowSolverBase.hpp:2426
su2double Enthalpy_Inf
Enthalpy at the infinity.
Definition CFVMFlowSolverBase.hpp:73
su2double GetSurface_CMz_Mnt(unsigned short val_marker) const final
Provide the non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1527
su2double GetTotal_CT() const final
Provide the total (inviscid + viscous) non dimensional thrust coefficient.
Definition CFVMFlowSolverBase.hpp:1635
su2double Global_Delta_Time
Time-step for TIME_STEPPING time marching strategy.
Definition CFVMFlowSolverBase.hpp:83
void EdgeFluxResidual(const CGeometry *geometry, const CSolver *const *solvers, CConfig *config)
Method to compute convective and viscous residual contribution using vectorized numerics.
Definition CFVMFlowSolverBase.inl:1563
su2double GetAllBound_CSF_Visc() const final
Get the inviscid contribution to the sideforce coefficient.
Definition CFVMFlowSolverBase.hpp:1931
void PushSolutionBackInTime(unsigned long TimeIter, bool restart, bool rans, CSolver ***solver_container, CGeometry **geometry, CConfig *config)
Move solution to previous time levels (for restarts).
Definition CFVMFlowSolverBase.inl:1100
su2double AeroCoeffForceRef
Reference force for aerodynamic coefficients.
Definition CFVMFlowSolverBase.hpp:162
vector< vector< int > > SlidingStateNodes
Definition CFVMFlowSolverBase.hpp:205
su2double GetSurface_CMy_Mnt(unsigned short val_marker) const final
Provide the non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1520
su2double GetAllBound_CFz_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1991
vector< su2double > CNearFieldOF_Inv
Near field pressure (inviscid) for each boundary.
Definition CFVMFlowSolverBase.hpp:173
su2double GetSurface_MaxHF_Visc(unsigned short val_marker) const final
Get the maximum (per surface) heat flux.
Definition CFVMFlowSolverBase.hpp:2026
su2double GetTotal_CFx() const final
Provide the total (inviscid + viscous) non dimensional x force coefficient.
Definition CFVMFlowSolverBase.hpp:1617
CNumerics::ResidualType Viscous_Residual_impl(unsigned long iEdge, CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
Definition CFVMFlowSolverBase.inl:440
su2activevector EdgeMassFluxes
Mass fluxes across each edge, for discretization of transported scalars.
Definition CFVMFlowSolverBase.hpp:58
su2double GetSurface_CL_Mnt(unsigned short val_marker) const final
Provide the non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1462
su2double GetAllBound_CMz_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1791
void SetTotal_CpDiff(su2double val_pressure) final
Set the value of the Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2034
void SetInletTtotal(unsigned short val_marker, unsigned long val_vertex, su2double val_ttotal) final
Set the value of the total temperature at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2185
su2double Total_CpDiff
Total Equivalent Area coefficient for all the boundaries.
Definition CFVMFlowSolverBase.hpp:165
su2double GetTotal_HeatFlux() const final
Provide the total heat load.
Definition CFVMFlowSolverBase.hpp:2076
AeroCoeffs AllBoundViscCoeff
Total pressure contribution for all the boundaries.
Definition CFVMFlowSolverBase.hpp:157
void Allocate(const CConfig &config)
Allocate member variables.
Definition CFVMFlowSolverBase.inl:78
su2double GetDensity_Energy_Inf(void) const final
Compute the density multiply by energy at the infinity.
Definition CFVMFlowSolverBase.hpp:1257
void MultigridProjectEulerWall(CGeometry *geometry, const CConfig *config, bool use_solution_old) override
Enforce Euler wall BC on a restricted or prolongated multigrid solution by projecting the momentum to...
Definition CFVMFlowSolverBase.inl:2973
su2double GetAllBound_CMx_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1943
virtual void SetReferenceValues(const CConfig &config)=0
Set reference values for pressure, forces, etc., e.g. "AeroCoeffForceRef".
void SetPrimitive_Gradient_LS(CGeometry *geometry, const CConfig *config, bool reconstruction=false) final
Compute the gradient of the primitive variables using a Least-Squares method, and stores the result i...
Definition CFVMFlowSolverBase.inl:397
su2double GetAllBound_CoPz_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1809
void SetTotal_CD(su2double val_Total_CD) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1665
su2double GetInletFlowDir(unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const final
A component of the unit vector representing the flow direction at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2174
void SetTotal_HeatFlux(su2double val_Total_Heat) final
Store the total heat load.
Definition CFVMFlowSolverBase.hpp:2088
su2double GetAllBound_CFx_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1979
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.
Definition CFVMFlowSolverBase.hpp:2328
su2double GetAllBound_CSF_Inv() const final
Get the inviscid contribution to the sideforce coefficient.
Definition CFVMFlowSolverBase.hpp:1689
vector< vector< su2double > > HeatFlux
Heat transfer coefficient for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:184
vector< su2matrix< su2double * > > SlidingState
Definition CFVMFlowSolverBase.hpp:204
su2double GetAllBound_CoPy_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1967
vector< vector< su2double > > UTau
UTau for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:193
su2double * GetCharacPrimVar(unsigned short val_marker, unsigned long val_vertex) final
Value of the characteristic variables at the boundaries.
Definition CFVMFlowSolverBase.hpp:2132
su2double GetSurface_CEff_Inv(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1411
void ComputeVerificationError(CGeometry *geometry, CConfig *config) final
Compute the global error measures (L2, Linf) for verification cases.
Definition CFVMFlowSolverBase.inl:524
vector< vector< su2double > > Inlet_Ptotal
Value of the Total P.
Definition CFVMFlowSolverBase.hpp:181
su2double GetTotal_CoPz() const final
Provide the total (inviscid + viscous) non dimensional z moment coefficient.
Definition CFVMFlowSolverBase.hpp:1611
su2double GetSurface_CFx_Mnt(unsigned short val_marker) const final
Provide the non dimensional x force coefficient.
Definition CFVMFlowSolverBase.hpp:1492
su2double GetAllBound_CoPx_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1719
vector< su2activematrix > CharacPrimVar
Value of the characteristic variables at each boundary.
Definition CFVMFlowSolverBase.hpp:186
su2double GetAllBound_CoPz_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1973
su2double GetTotal_CFz() const final
Provide the total (inviscid + viscous) non dimensional z force coefficient.
Definition CFVMFlowSolverBase.hpp:1629
su2double GetEddyViscWall(unsigned short val_marker, unsigned long val_vertex) const final
Get the eddy viscosity at the wall (wall functions).
Definition CFVMFlowSolverBase.hpp:2466
su2double GetSurface_CMx_Visc(unsigned short val_marker) const final
Provide the non dimensional x moment coefficient.
Definition CFVMFlowSolverBase.hpp:1893
su2double GetSurface_CFz_Visc(unsigned short val_marker) const final
Provide the non dimensional z force coefficient.
Definition CFVMFlowSolverBase.hpp:1884
su2double GetTotal_CEff() const final
Provide the total (inviscid + viscous) non dimensional efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1553
su2double GetSurface_CFx(unsigned short val_marker) const final
Provide the non dimensional x force coefficient.
Definition CFVMFlowSolverBase.hpp:1348
void BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) final
Impose the interface state across sliding meshes.
Definition CFVMFlowSolverBase.inl:1335
su2double GetAllBound_CMx_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1779
void BC_Sym_Plane(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose the symmetry boundary condition using the residual.
Definition CFVMFlowSolverBase.inl:1150
su2double Tke_Inf
Turbulent kinetic energy at the infinity.
Definition CFVMFlowSolverBase.hpp:78
su2double GetSurface_CSF_Mnt(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1476
su2double EvaluateCommonObjFunc(const CConfig &config) const
Evaluate common part of objective function to all solvers.
Definition CFVMFlowSolverBase.inl:2811
void ComputeAxisymmetricAuxGradients(CGeometry *geometry, const CConfig *config)
Computes and sets the required auxilliary vars (and gradients) for axisymmetric flow.
Definition CFVMFlowSolverBase.inl:2933
void SumEdgeFluxes(const CGeometry *geometry)
Sum the edge fluxes for each cell to populate the residual vector, only used on coarse grids.
Definition CFVMFlowSolverBase.inl:1626
su2double GetAllBound_CMz_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1955
void SetInletFlowDir(unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_flowdir) final
Set a component of the unit vector representing the flow direction at an inlet boundary.
Definition CFVMFlowSolverBase.hpp:2220
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.
Definition CFVMFlowSolverBase.hpp:1154
su2double GetUTau(unsigned short val_marker, unsigned long val_vertex) const final
Get the u_tau .
Definition CFVMFlowSolverBase.hpp:2456
void Explicit_Iteration_impl(ResidualPrecond &preconditioner, CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
Generic implementation of explicit iterations with a preconditioner.
Definition CFVMFlowSolverBase.hpp:853
su2double GetModVelocity_Inf(void) const final
Compute 2-norm of the velocity at the infinity.
Definition CFVMFlowSolverBase.hpp:1217
~CFVMFlowSolverBase()
Destructor.
Definition CFVMFlowSolverBase.inl:372
unsigned long omp_chunk_size
Chunk size used in light point loops.
Definition CFVMFlowSolverBase.hpp:56
su2double GetAllBound_CD_Mnt() const final
Get the inviscid contribution to the drag coefficient.
Definition CFVMFlowSolverBase.hpp:1761
su2double GetTotal_CL() const final
Provide the total (inviscid + viscous) non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1569
su2double GetSurface_CL_Inv(unsigned short val_marker) const final
Provide the non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1390
su2double GetSurface_CFz(unsigned short val_marker) const final
Provide the non dimensional z force coefficient.
Definition CFVMFlowSolverBase.hpp:1362
AeroCoeffsArray InvCoeff
Inviscid pressure contributions for each boundary.
Definition CFVMFlowSolverBase.hpp:147
su2double GetAllBound_CMy_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1707
const su2activevector * GetEdgeMassFluxes() const final
Get the mass fluxes across the edges (computed and stored during the discretization of convective flu...
Definition CFVMFlowSolverBase.hpp:2473
su2double GetSurface_CL(unsigned short val_marker) const final
Provide the non dimensional lift coefficient.
Definition CFVMFlowSolverBase.hpp:1320
static constexpr bool ReducerStrategy
Definition CFVMFlowSolverBase.hpp:215
void SetTotal_CT(su2double val_Total_CT) final
Store the total (inviscid + viscous) non dimensional thrust coefficient.
Definition CFVMFlowSolverBase.hpp:1641
su2double GetSurface_CD_Mnt(unsigned short val_marker) const final
Provide the non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1469
void SetVelocity_Inf(unsigned short val_dim, su2double val_velocity) final
Set the velocity at infinity.
Definition CFVMFlowSolverBase.hpp:1249
void SetHeatFluxTarget(unsigned short val_marker, unsigned long val_vertex, su2double val_heat) final
Set the value of the target Pressure coefficient.
Definition CFVMFlowSolverBase.hpp:2436
void SetTime_Step_impl(const SoundSpeedFunc &soundSpeed, const LambdaViscFunc &lambdaVisc, CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration)
Generic implementation to compute the time step based on CFL and conv/visc eigenvalues.
Definition CFVMFlowSolverBase.hpp:426
su2double Temperature_Inf
Temperature at the infinity.
Definition CFVMFlowSolverBase.hpp:72
su2double GetTotal_CSF() const final
Provide the total (inviscid + viscous) non dimensional sideforce coefficient.
Definition CFVMFlowSolverBase.hpp:1547
su2double GetAllBound_CoPy_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1725
su2double GetTotal_CQ() const final
Provide the total (inviscid + viscous) non dimensional torque coefficient.
Definition CFVMFlowSolverBase.hpp:1647
su2double GetAllBound_CFx_Mnt() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1815
su2double AllBound_HF_Visc
Heat load (viscous contribution) for all the boundaries.
Definition CFVMFlowSolverBase.hpp:178
bool euler_implicit
True if euler implicit scheme used.
Definition CFVMFlowSolverBase.hpp:197
su2double GetDensity_Inf(void) const final
Compute the density at the infinity.
Definition CFVMFlowSolverBase.hpp:1211
su2double GetSurface_CEff_Mnt(unsigned short val_marker) const final
Provide the non dimensional side-force coefficient.
Definition CFVMFlowSolverBase.hpp:1483
vector< vector< su2double > > WallShearStress
Wall Shear Stress for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:188
su2double GetAllBound_CEff_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1695
void SetTemperature_Inf(su2double t_inf) final
Set the freestream temperature.
Definition CFVMFlowSolverBase.hpp:1269
su2double GetCSkinFriction(unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const final
Get the skin friction coefficient.
Definition CFVMFlowSolverBase.hpp:2395
void UpdateCustomBoundaryConditions(CGeometry **geometry_container, CSolver ***solver_container, CConfig *config) final
Update the multi-grid structure for the customized boundary conditions.
Definition CFVMFlowSolverBase.inl:809
CFVMFlowSolverBase(const CGeometry &geometry, const CConfig &config)
Protected constructor, this class is not directly instantiable.
Definition CFVMFlowSolverBase.hpp:241
void SetMax_Eigenvalue_impl(const SoundSpeedFunc &soundSpeed, CGeometry *geometry, const CConfig *config)
Compute the max eigenvalue, gemeric implementation.
Definition CFVMFlowSolverBase.hpp:672
su2double GetAllBound_CFy_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1743
void HybridParallelInitialization(const CConfig &config, CGeometry &geometry)
Initialize thread parallel variables.
Definition CFVMFlowSolverBase.inl:283
static constexpr size_t MAXNVAR
Max number of variables, for static arrays.
Definition CFVMFlowSolverBase.hpp:51
CVariable * GetBaseClassPointerToNodes() final
Return nodes to allow CSolver::base_nodes to be set.
Definition CFVMFlowSolverBase.hpp:236
su2double GetSurface_CMy(unsigned short val_marker) const final
Provide the non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1376
void CommunicateInitialState(CGeometry *geometry, const CConfig *config)
Communicate the initial solver state.
Definition CFVMFlowSolverBase.inl:245
su2double GetAllBound_CMz_Inv() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1713
static constexpr size_t OMP_MIN_SIZE
Min chunk size for edge loops (max is color group size).
Definition CFVMFlowSolverBase.hpp:54
su2double GetAllBound_CoPx_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1961
void SetPrimitive_Gradient_GG(CGeometry *geometry, const CConfig *config, bool reconstruction=false) override
Compute the gradient of the primitive variables using Green-Gauss method, and stores the result in th...
Definition CFVMFlowSolverBase.inl:384
su2double GetTotal_CMerit() const final
Provide the total (inviscid + viscous) non dimensional rotor Figure of Merit.
Definition CFVMFlowSolverBase.hpp:1659
void ImplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Implementation of implicit Euler iteration.
Definition CFVMFlowSolverBase.inl:618
su2double GetSurface_CFy_Visc(unsigned short val_marker) const final
Provide the non dimensional y force coefficient.
Definition CFVMFlowSolverBase.hpp:1875
void Explicit_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
Generic implementation of explicit iterations without preconditioner.
Definition CFVMFlowSolverBase.hpp:945
static constexpr size_t MAXNDIM
Max number of space dimensions, used in some static arrays.
Definition CFVMFlowSolverBase.hpp:50
vector< vector< su2double > > EddyViscWall
Eddy viscosuty at the wall for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:194
su2double GetTotal_MaxHeatFlux() const final
Provide the total heat load.
Definition CFVMFlowSolverBase.hpp:2082
su2double GetSurface_CD(unsigned short val_marker) const final
Provide the non dimensional drag coefficient.
Definition CFVMFlowSolverBase.hpp:1327
su2double Total_CNearFieldOF
Total Near-Field Pressure coefficient for all the boundaries.
Definition CFVMFlowSolverBase.hpp:169
vector< vector< su2double > > CPressure
Pressure coefficient for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:190
su2double Density_Inf
Density at the infinity.
Definition CFVMFlowSolverBase.hpp:70
su2double GetViscosity_Inf(void) const final
Compute the viscosity at the infinity.
Definition CFVMFlowSolverBase.hpp:1281
su2double GetSurface_CFy_Inv(unsigned short val_marker) const final
Provide the non dimensional y force coefficient.
Definition CFVMFlowSolverBase.hpp:1427
su2double AllBound_CNearFieldOF_Inv
Near-Field press coeff (inviscid) for all the boundaries.
Definition CFVMFlowSolverBase.hpp:172
CSysVector< su2double > EdgeFluxes
Flux across each edge.
Definition CFVMFlowSolverBase.hpp:224
const VariableType::template CIndices< unsigned short > prim_idx
Object with indices of primitive variables.
Definition CFVMFlowSolverBase.hpp:48
vector< su2double > MaxHF_Visc
Maximum heat flux (viscous contribution) for each boundary.
Definition CFVMFlowSolverBase.hpp:177
void Friction_Forces(const CGeometry *geometry, const CConfig *config) final
Compute the viscous forces and all the addimensional coefficients.
Definition CFVMFlowSolverBase.inl:2456
su2double GetAllBound_CMy_Visc() const final
Get the inviscid contribution to the efficiency coefficient.
Definition CFVMFlowSolverBase.hpp:1949
virtual void InstantiateEdgeNumerics(const CSolver *const *solvers, const CConfig *config)
Instantiate a SIMD numerics object.
Definition CFVMFlowSolverBase.hpp:336
su2double StrainMag_Max
Maximum Strain Rate magnitude.
Definition CFVMFlowSolverBase.hpp:80
vector< su2double > HF_Visc
Heat load (viscous contribution) for each boundary.
Definition CFVMFlowSolverBase.hpp:176
su2double Gamma
Fluid's Gamma constant (ratio of specific heats).
Definition CFVMFlowSolverBase.hpp:199
su2double GetTotal_HeatFluxDiff() const final
Provide the total (inviscid + viscous) non dimensional Equivalent Area coefficient.
Definition CFVMFlowSolverBase.hpp:2064
su2double GetCL_Visc(unsigned short val_marker) const final
Get the non dimensional lift coefficient (viscous contribution).
Definition CFVMFlowSolverBase.hpp:1998
void ComputeVorticityAndStrainMag(const CConfig &config, const CGeometry *geometry, unsigned short iMesh)
Evaluate the vorticity and strain rate magnitude.
Definition CFVMFlowSolverBase.inl:644
su2double GetTemperature_Inf(void) const
Get the temperature value at infinity.
Definition CFVMFlowSolverBase.hpp:1229
su2double GetAeroCoeffsReferenceForce() const final
Get the reference force used to compute CL, CD, etc.
Definition CFVMFlowSolverBase.hpp:1558
su2double Omega_Max
Maximum Omega.
Definition CFVMFlowSolverBase.hpp:81
su2double Global_Delta_UnstTimeND
Unsteady time step for the dual time strategy.
Definition CFVMFlowSolverBase.hpp:84
vector< vector< su2double > > HeatFluxTarget
Heat transfer coefficient for each boundary and vertex.
Definition CFVMFlowSolverBase.hpp:185
void SetResidual_DualTime(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) override
Set the total residual adding the term that comes from the Dual Time Strategy.
Definition CFVMFlowSolverBase.inl:1645
void SetCentered_Dissipation_Sensor_impl(const SensVarFunc &sensVar, CGeometry *geometry, const CConfig *config)
Compute the dissipation sensor for centered schemes.
Definition CFVMFlowSolverBase.hpp:773
su2double GetTotal_CMy() const final
Provide the total (inviscid + viscous) non dimensional y moment coefficient.
Definition CFVMFlowSolverBase.hpp:1587
void SetInletAtVertex(const su2double *val_inlet, unsigned short iMarker, unsigned long iVertex) final
Store of a set of provided inlet profile values at a vertex.
Definition CFVMFlowSolverBase.inl:728
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
unsigned long GetnVertex(unsigned short val_marker) const
Get number of vertices.
Definition CGeometry.hpp:637
CPoint * nodes
Node vector (dual grid information).
Definition CGeometry.hpp:253
CVertex *** vertex
Boundary Vertex vector (dual grid information).
Definition CGeometry.hpp:255
unsigned short GetnMarker() const
Get number of markers.
Definition CGeometry.hpp:623
CEdge * edges
Edge vector (dual grid information).
Definition CGeometry.hpp:254
Base class to define the interface.
Definition CNumericsSIMD.hpp:50
Class for defining the numerical methods.
Definition CNumerics.hpp:48
const CCompressedSparsePatternUL & GetPoints() const
Get the entire point adjacency information in compressed format (CSR).
Definition CPoint.hpp:241
su2double & GetPeriodicVolume(unsigned long iPoint)
Get the missing component of area or volume for a control volume on a periodic marker.
Definition CPoint.hpp:579
unsigned long GetPoint(unsigned long iPoint, unsigned long npoint) const
Get all the points that compose the control volume.
Definition CPoint.hpp:264
long GetEdge(unsigned long iPoint, unsigned long nedge) const
Get all the edges that compose the control volume.
Definition CPoint.hpp:291
bool GetDomain(unsigned long iPoint) const
For parallel computation, its indicates if a point must be computed or not.
Definition CPoint.hpp:423
bool GetPhysicalBoundary(unsigned long iPoint) const
Provides information about if a point belong to the physical boundaries (without MPI).
Definition CPoint.hpp:367
su2double & GetVolume(unsigned long iPoint)
Get area or volume of the control volume.
Definition CPoint.hpp:557
unsigned short GetnPoint(unsigned long iPoint) const
Get the number of points that compose the control volume.
Definition CPoint.hpp:256
su2double * GetGridVel(unsigned long iPoint)
Get the value of the grid velocity at the point.
Definition CPoint.hpp:816
Definition CSolver.hpp:71
CSysMatrix< su2mixedfloat > Jacobian
Complete sparse Jacobian structure for implicit computations.
Definition CSolver.hpp:201
vector< unsigned long > nVertex
Store nVertex at each marker for deallocation.
Definition CSolver.hpp:146
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 laun...
Definition CSolver.cpp:368
unsigned short nDim
Number of dimensions of the problem.
Definition CSolver.hpp:90
su2double Min_Delta_Time
Minimum value of the delta time for all the control volumes.
Definition CSolver.hpp:94
void CompleteComms(CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType)
Routine to complete the set of non-blocking communications launched by InitiateComms() and unpacking ...
Definition CSolver.cpp:1724
int size
MPI Size.
Definition CSolver.hpp:76
CSysVector< su2double > LinSysSol
vector to store iterative solution of implicit linear system.
Definition CSolver.hpp:199
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.
Definition CSolver.hpp:4439
unsigned short MGLevel
Multigrid level of this solver object.
Definition CSolver.hpp:78
virtual void Viscous_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep)
A virtual member.
Definition CSolver.hpp:1641
unsigned short nVar
Number of variables of the problem.
Definition CSolver.hpp:85
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...
Definition CSolver.cpp:1113
CSysVector< su2double > LinSysRes
vector to store iterative residual of implicit linear system.
Definition CSolver.hpp:200
su2double Max_Delta_Time
Maximum value of the delta time for all the control volumes.
Definition CSolver.hpp:93
unsigned long nPointDomain
Number of points of the computational grid.
Definition CSolver.hpp:92
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 t...
Definition CSolver.cpp:1563
su2activevector iPoint_UndLapl
Auxiliary variable for the undivided Laplacians.
Definition CSolver.hpp:137
unsigned short nPrimVar
Number of primitive variables of the problem.
Definition CSolver.hpp:86
bool dynamic_grid
Flag that determines whether the grid is dynamic (moving or deforming + grid velocities).
Definition CSolver.hpp:153
su2activevector jPoint_UndLapl
Auxiliary variable for the undivided Laplacians.
Definition CSolver.hpp:138
su2double * Residual
Auxiliary nVar vector.
Definition CSolver.hpp:112
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.
Definition CSolver.hpp:4452
unsigned long nMarker
Total number of markers using the grid information.
Definition CSolver.hpp:145
bool adjoint
Boolean to determine whether solver is initialized as a direct or an adjoint solver.
Definition CSolver.hpp:77
void SetVal2Diag(unsigned long block_i, OtherType val_matrix)
Sets the specified value to the diagonal of the (i, i) subblock of the matrix-by-blocks structure.
Definition CSysMatrix.hpp:1261
void SetDiagonalAsColumnSum()
Sets the diagonal entries of the matrix as the sum of the blocks in the corresponding column.
Definition CSysMatrix.cpp:1677
void AddBlock2Diag(unsigned long block_i, const OtherType &val_block, T alpha=1.0)
Non overwrite version of SetBlock2Diag, also with scaling.
Definition CSysMatrix.hpp:1218
void UpdateBlocks(unsigned long iEdge, unsigned long iPoint, unsigned long jPoint, const MatrixType &block_i, const MatrixType &block_j, OtherType scale=1)
Update 4 blocks ii, ij, ji, jj (add to i* sub from j*).
Definition CSysMatrix.hpp:903
void SetBlocks(simd::Array< I, N > iEdge, simd::Array< I, N > iPoint, simd::Array< I, N > jPoint, const MatTypeSIMD &block_i, const MatTypeSIMD &block_j, simd::Array< F, N > mask=1)
SIMD version, does the update for multiple edges and points.
Definition CSysMatrix.hpp:960
void AddVal2Diag(unsigned long block_i, OtherType val_matrix)
Adds the specified value to the diagonal of the (i, i) subblock of the matrix-by-blocks structure.
Definition CSysMatrix.hpp:1237
Class for holding and manipulating vectors needed by linear solvers.
Definition CSysVector.hpp:195
ScalarType * GetBlock(unsigned long iPoint)
Get pointer to a block.
Definition CSysVector.hpp:600
Main class for defining the variables.
Definition CVariable.hpp:50
void GetNormal(su2double *val_normal) const override
Copy the the normal vector of a face.
Definition CVertex.hpp:94
unsigned long GetNode() const
Get the node of the vertex.
Definition CVertex.hpp:70
#define FORCEINLINE
Definition code_config.hpp:44
passivedouble su2double
Definition code_config.hpp:181
FORCEINLINE ARRAY_T sqrt(const ARRAY_T &x)
Definition special_vectorization.hpp:116
#define MPI_MAX
Definition mpi_structure.hpp:490
#define CURRENT_FUNCTION
Definition mpi_structure.hpp:59
#define MPI_UNSIGNED_LONG
Definition mpi_structure.hpp:480
#define MPI_SUM
Definition mpi_structure.hpp:486
#define MPI_MIN
Definition mpi_structure.hpp:489
#define MPI_DOUBLE
Definition mpi_structure.hpp:484
void ResumePreaccumulation(bool wasActive)
Resume the use of preaccumulation.
Definition ad_structure.hpp:399
void EndNoSharedReading()
End the "no shared reading" adjoint evaluation mode.
Definition ad_structure.hpp:409
#define BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS
Definition omp_structure.hpp:187
#define END_SU2_OMP_FOR
Definition omp_structure.hpp:158
#define SU2_OMP_FOR_(ARGS)
Definition omp_structure.hpp:149
#define SU2_NOWAIT
Definition omp_structure.hpp:153
#define END_SU2_OMP_SAFE_GLOBAL_ACCESS
Definition omp_structure.hpp:192
void atomicMin(const T &local, T &shared)
Definition omp_structure.hpp:322
#define SU2_OMP_FOR_DYN(CHUNK)
Definition omp_structure.hpp:150
void atomicAdd(T rhs, T &lhs)
Atomically update a (shared) lhs value with a (local) rhs value.
Definition omp_structure.hpp:263
#define SU2_OMP_SAFE_GLOBAL_ACCESS(...)
Definition omp_structure.hpp:197
void atomicMax(const T &local, T &shared)
Definition omp_structure.hpp:305
#define SU2_OMP_FOR_STAT(CHUNK)
Definition omp_structure.hpp:151
const int MASTER_NODE
Master node for MPI parallelization.
Definition option_structure.hpp:112
@ EULER_IMPLICIT
Implicit Euler time integration definition.
Definition option_structure.hpp:1711
@ CLASSICAL_RK4_EXPLICIT
Classical RK4 time integration definition.
Definition option_structure.hpp:1712
@ RUNGE_KUTTA_EXPLICIT
Explicit Runge-Kutta time integration definition.
Definition option_structure.hpp:1709
@ EULER_EXPLICIT
Explicit Euler time integration definition.
Definition option_structure.hpp:1710
@ MSW
Modified Steger-Warming method.
const unsigned int MESH_0
Definition of the finest grid level.
Definition option_structure.hpp:88
@ V
Menter k-w SST model with vorticity production terms.
constexpr passivedouble PI_NUMBER
Pi number (not using M_PI to avoid Windows issues).
Definition option_structure.hpp:108
@ DT_STEPPING_1ST
Use a dual time stepping strategy for unsteady computations (1st order).
@ DT_STEPPING_2ND
Use a dual time stepping strategy for unsteady computations (2nd order).
@ TIME_STEPPING
Use a time stepping strategy for unsteady computations.
@ COMM_FULL
Perform all MPI communications.
Definition option_structure.hpp:2912
@ INTERNAL_BOUNDARY
Internal Boundary definition.
Definition option_structure.hpp:1840
@ EULER_WALL
Boundary Euler wall definition.
Definition option_structure.hpp:1815
@ SYMMETRY_PLANE
Boundary symmetry plane definition.
Definition option_structure.hpp:1817
@ NEARFIELD_BOUNDARY
Near-Field boundary definition.
Definition option_structure.hpp:1821
@ PERIODIC_BOUNDARY
Periodic boundary definition.
Definition option_structure.hpp:1820
@ PERIODIC_SENSOR
Dissipation sensor communication (periodic only).
Definition option_structure.hpp:2850
@ PERIODIC_MAX_EIG
Maximum eigenvalue communication (periodic only).
Definition option_structure.hpp:2849
@ MAX_EIGENVALUE
Maximum eigenvalue communication.
@ SENSOR
Dissipation sensor communication.
@ SOLUTION
Conservative solution communication.
Auxilary types to store common aero coefficients (avoids repeating oneself so much).
Definition CFVMFlowSolverBase.hpp:91
su2double * CQ
Torque coefficient.
Definition CFVMFlowSolverBase.hpp:106
AeroCoeffsArray(int size=0)
Definition CFVMFlowSolverBase.hpp:127
su2double * CMz
z Moment coefficient.
Definition CFVMFlowSolverBase.hpp:101
su2double * CT
Thrust coefficient.
Definition CFVMFlowSolverBase.hpp:105
su2double * CoPz
z Moment coefficient.
Definition CFVMFlowSolverBase.hpp:104
su2double * CMy
y Moment coefficient.
Definition CFVMFlowSolverBase.hpp:100
su2double * CoPy
y Moment coefficient.
Definition CFVMFlowSolverBase.hpp:103
su2double * CFy
y Force coefficient.
Definition CFVMFlowSolverBase.hpp:97
su2double * CMx
x Moment coefficient.
Definition CFVMFlowSolverBase.hpp:99
void allocate(int size)
Allocates arrays.
Definition CFVMFlowSolverBase.inl:36
su2double * CD
Drag coefficient.
Definition CFVMFlowSolverBase.hpp:92
void setZero()
Definition CFVMFlowSolverBase.hpp:121
su2double * CMerit
Rotor Figure of Merit.
Definition CFVMFlowSolverBase.hpp:107
su2double * CoPx
x Moment coefficient.
Definition CFVMFlowSolverBase.hpp:102
su2double * CSF
Sideforce coefficient.
Definition CFVMFlowSolverBase.hpp:94
su2double * CEff
Efficiency (Cl/Cd).
Definition CFVMFlowSolverBase.hpp:95
su2double * CFz
z Force coefficient.
Definition CFVMFlowSolverBase.hpp:98
~AeroCoeffsArray()
Definition CFVMFlowSolverBase.inl:58
int _size
Array size.
Definition CFVMFlowSolverBase.hpp:108
su2double * CL
Lift coefficient.
Definition CFVMFlowSolverBase.hpp:93
su2double * CFx
x Force coefficient.
Definition CFVMFlowSolverBase.hpp:96
void setZero(int i)
Sets all values to zero for all indices.
Definition CFVMFlowSolverBase.hpp:113
Scalar version of the coefficients type.
Definition CFVMFlowSolverBase.hpp:137
su2double CFz
Definition CFVMFlowSolverBase.hpp:138
su2double CFx
Definition CFVMFlowSolverBase.hpp:138
su2double CMerit
Definition CFVMFlowSolverBase.hpp:138
su2double CMy
Definition CFVMFlowSolverBase.hpp:138
su2double CMx
Definition CFVMFlowSolverBase.hpp:138
su2double CoPx
Definition CFVMFlowSolverBase.hpp:138
su2double CEff
Definition CFVMFlowSolverBase.hpp:138
su2double CT
Definition CFVMFlowSolverBase.hpp:138
su2double CQ
Definition CFVMFlowSolverBase.hpp:138
su2double CSF
Definition CFVMFlowSolverBase.hpp:138
su2double CD
Definition CFVMFlowSolverBase.hpp:138
su2double CoPz
Definition CFVMFlowSolverBase.hpp:138
AeroCoeffs()
Definition CFVMFlowSolverBase.hpp:144
void setZero()
Definition CFVMFlowSolverBase.hpp:140
su2double CFy
Definition CFVMFlowSolverBase.hpp:138
su2double CoPy
Definition CFVMFlowSolverBase.hpp:138
su2double CMz
Definition CFVMFlowSolverBase.hpp:138
su2double CL
Definition CFVMFlowSolverBase.hpp:138
Return type used in some "ComputeResidual" overloads to give a const-view of the internally stored fl...
Definition CNumerics.hpp:218
const Matrix_t jacobian_i
Definition CNumerics.hpp:220
const Matrix_t jacobian_j
Definition CNumerics.hpp:221
#define SU2_ZONE_SCOPED
Definition tracy_structure.hpp:39