31#include "../variables/CEulerVariable.hpp"
32#include "../output/CTurboOutput.hpp"
182 unsigned long val_span,
183 unsigned short val_state
186 return MixingState[val_marker][val_span][val_state];
197 unsigned long val_span,
198 unsigned short val_state,
201 MixingState[val_marker][val_span][val_state] = component;
214 unsigned short iRKStep,
unsigned short RunTime_EqSystem,
bool Output);
225 CConfig *config,
unsigned short iMesh,
bool Output);
241 unsigned short iMesh,
bool Output);
259 CConfig *config,
unsigned short iMesh,
bool Output);
270 CConfig *config,
unsigned short iMesh,
bool Output);
282 CConfig *config,
unsigned short iMesh,
bool Output);
380 unsigned short iMesh,
381 unsigned long Iteration)
final;
396 unsigned short iMesh,
397 unsigned short iRKStep)
final;
411 unsigned short iMesh)
final;
455 unsigned short iMesh)
override;
469 unsigned short iMesh)
final;
483 unsigned short iMesh,
484 unsigned short iRKStep,
485 unsigned short RunTime_EqSystem,
486 bool Output)
override;
520 unsigned short val_marker)
final;
536 unsigned short val_marker)
final;
552 unsigned short val_marker)
final;
569 unsigned short val_marker,
570 bool val_inlet_surface)
final;
587 unsigned short val_marker,
588 bool val_inlet_surface);
606 unsigned short val_marker)
final;
622 unsigned short val_marker)
final;
634 unsigned short marker_flag)
final;
652 unsigned short val_marker)
final;
668 unsigned short val_marker)
final;
684 unsigned short val_marker)
final;
700 unsigned short val_marker)
final;
716 unsigned short val_marker)
final;
732 unsigned short val_marker)
final;
748 unsigned short val_marker)
final;
760 unsigned short iRKStep)
final;
772 unsigned short iRKStep)
final;
1051 unsigned long val_vertex)
const final {
1062 unsigned long val_vertex,
1063 unsigned long val_index)
final {
1077 unsigned long TimeIter)
final;
1097 inline vector<su2double>
GetTurboPrimitive(
unsigned short iBlade,
unsigned short iSpan,
bool INLET)
override {
1098 vector<su2double> TurboPrimitive;
1099 TurboPrimitive.reserve(5);
1101 TurboPrimitive.push_back(
DensityIn[iBlade][iSpan]);
1102 TurboPrimitive.push_back(
PressureIn[iBlade][iSpan]);
1109 TurboPrimitive.push_back(
DensityOut[iBlade][iSpan]);
1110 TurboPrimitive.push_back(
PressureOut[iBlade][iSpan]);
1116 return TurboPrimitive;
1133 unsigned short marker_flag)
final;
1145 unsigned short marker_flag)
final;
1180 unsigned short marker_flag,
1186 turboVelocity[2] = turboNormal[0]*cartesianVelocity[0] + cartesianVelocity[1]*turboNormal[1];
1187 turboVelocity[1] = turboNormal[0]*cartesianVelocity[1] - turboNormal[1]*cartesianVelocity[0];
1188 turboVelocity[0] = cartesianVelocity[2];
1190 turboVelocity[0] = turboNormal[0]*cartesianVelocity[0] + cartesianVelocity[1]*turboNormal[1];
1191 turboVelocity[1] = turboNormal[0]*cartesianVelocity[1] - turboNormal[1]*cartesianVelocity[0];
1193 if (marker_flag ==
INFLOW) {
1194 turboVelocity[0] *= -1.0;
1195 turboVelocity[1] *= -1.0;
1197 if (
nDim == 3) turboVelocity[2] = cartesianVelocity[2];
1212 unsigned short marker_flag,
1218 cartesianVelocity[0] = turboVelocity[2]*turboNormal[0] - turboVelocity[1]*turboNormal[1];
1219 cartesianVelocity[1] = turboVelocity[2]*turboNormal[1] + turboVelocity[1]*turboNormal[0];
1220 cartesianVelocity[2] = turboVelocity[0];
1222 cartesianVelocity[0] = turboVelocity[0]*turboNormal[0] - turboVelocity[1]*turboNormal[1];
1223 cartesianVelocity[1] = turboVelocity[0]*turboNormal[1] + turboVelocity[1]*turboNormal[0];
1225 if (marker_flag ==
INFLOW) {
1226 cartesianVelocity[0] *= -1.0;
1227 cartesianVelocity[1] *= -1.0;
1229 if (
nDim == 3) cartesianVelocity[2] = turboVelocity[2];
1347 return KineIn[inMarkerTP][valSpan];
1356 return OmegaIn[inMarkerTP][valSpan];
1365 return NuIn[inMarkerTP][valSpan];
1374 return KineOut[inMarkerTP][valSpan];
1383 return OmegaOut[inMarkerTP][valSpan];
1392 return NuOut[inMarkerTP][valSpan];
1401 unsigned short inMarkerTP,
1402 unsigned short valSpan)
final {
1412 unsigned short inMarkerTP,
1413 unsigned short valSpan)
final {
1423 unsigned short inMarkerTP,
1424 unsigned short valSpan)
final {
1425 for(
unsigned short iDim = 0; iDim <
nDim; iDim++)
1435 unsigned short inMarkerTP,
1436 unsigned short valSpan)
final {
1446 unsigned short inMarkerTP,
1447 unsigned short valSpan)
final {
1457 unsigned short inMarkerTP,
1458 unsigned short valSpan)
final {
1459 for(
unsigned short iDim = 0; iDim <
nDim; iDim++)
1469 unsigned short inMarkerTP,
1470 unsigned short valSpan)
final {
1471 KineIn[inMarkerTP][valSpan] = value;
1479 unsigned short inMarkerTP,
1480 unsigned short valSpan)
final {
1481 OmegaIn[inMarkerTP][valSpan] = value;
1490 unsigned short inMarkerTP,
1491 unsigned short valSpan)
final {
1492 NuIn[inMarkerTP][valSpan] = value;
1501 unsigned short inMarkerTP,
1502 unsigned short valSpan)
final {
1503 KineOut[inMarkerTP][valSpan] = value;
1512 unsigned short inMarkerTP,
1513 unsigned short valSpan)
final {
1514 OmegaOut[inMarkerTP][valSpan] = value;
1523 unsigned short inMarkerTP,
1524 unsigned short valSpan)
final {
1525 NuOut[inMarkerTP][valSpan] = value;
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
Class for compressible inviscid flow problems, serves as base for Navier-Stokes/RANS.
Definition CEulerSolver.hpp:40
su2activematrix RelTangVelocityOut
Definition CEulerSolver.hpp:154
vector< su2double > Inflow_MassFlow
Mass flow rate for each boundary.
Definition CEulerSolver.hpp:51
su2double GetExhaust_MassFlow(unsigned short val_marker) const final
Provide the mass flow rate.
Definition CEulerSolver.hpp:854
su2double Total_CD_Prev
Total drag coefficient for all the boundaries (fixed lift mode).
Definition CEulerSolver.hpp:90
vector< su2double > Exhaust_Temperature
Fan face mach number for each boundary.
Definition CEulerSolver.hpp:58
su2activematrix AveragePressure
Definition CEulerSolver.hpp:130
vector< su2activematrix > MixingState
Definition CEulerSolver.hpp:163
su2double GetMixingState(unsigned short val_marker, unsigned long val_span, unsigned short val_state) const final
Get a component of the donor-side averaged state at a mixing plane interface.
Definition CEulerSolver.hpp:181
void SetPreconditioner(const CConfig *config, unsigned long iPoint, su2double delta, su2activematrix &preconditioner) const
Compute the preconditioner for convergence acceleration by Roe-Turkel method.
Definition CEulerSolver.cpp:2704
su2double InverseDesign
Inverse design functional for each boundary.
Definition CEulerSolver.hpp:64
su2double AoA_Prev
Old value of the angle of attack (monitored).
Definition CEulerSolver.hpp:109
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 CEulerSolver.cpp:1606
su2double MeanTemperature
Definition CEulerSolver.hpp:121
CFluidModel * GetFluidModel(void) const final
Compute the pressure at the infinity.
Definition CEulerSolver.hpp:367
const su2double * GetTurboVelocityIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet normal velocity to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1310
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 CEulerSolver.cpp:5001
su2double Total_Poly_Eff
Total Mass Flow Ratio for all the boundaries.
Definition CEulerSolver.hpp:102
void SetActDisk_BCThrust(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
Update the AoA and freestream velocity at the farfield.
Definition CEulerSolver.cpp:3692
vector< su2activematrix > DonorPrimVar
Value of the donor variables at each boundary.
Definition CEulerSolver.hpp:66
su2double GetTotal_SolidCD() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:904
void SetTotal_IDC_Mach(su2double val_Total_IDC_Mach) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1030
su2activematrix DensityIn
Definition CEulerSolver.hpp:141
su2double Total_CMz_Prev
Total drag coefficient for all the boundaries (fixed lift mode).
Definition CEulerSolver.hpp:105
su2double Total_CMx_Prev
Total drag coefficient for all the boundaries (fixed lift mode).
Definition CEulerSolver.hpp:103
su2double Inflow_Pressure_Total
Fan face pressure for each boundary.
Definition CEulerSolver.hpp:62
su2double GetTotal_ReverseFlow() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:910
su2double GetTotal_MFR() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:916
void SetNondimensionalization(CConfig *config, unsigned short iMesh)
Set the solver nondimensionalization.
Definition CEulerSolver.cpp:806
su2double Total_MFR
Total Mass Flow Ratio for all the boundaries.
Definition CEulerSolver.hpp:98
su2activematrix NuIn
Definition CEulerSolver.hpp:149
void IdentifySolutionOutliers(const CConfig *config, unsigned long iter) final
Identify points where the static temperature is an outlier to treat them as non-physical,...
Definition CEulerSolver.cpp:2577
bool GetHasHybridParallel() const final
The Euler and NS solvers support MPI+OpenMP.
Definition CEulerSolver.hpp:1537
static void ComputeConsistentExtrapolation(CFluidModel *fluidModel, unsigned short nDim, su2double *primitive, su2double *secondary)
Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consis...
Definition CEulerSolver.cpp:2038
su2double GetInflow_Mach(unsigned short val_marker) const final
Provide the mass flow rate.
Definition CEulerSolver.hpp:868
void BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the nacelle inflow boundary condition.
Definition CEulerSolver.cpp:7839
void SetTotal_AeroCD(su2double val_aerocd) final
Set the value of the Aero drag.
Definition CEulerSolver.hpp:886
su2double GetTotal_Adiab_Eff() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:934
void PreprocessAverage(CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag) final
It computes average quantities along the span for turbomachinery analysis.
Definition CEulerSolver.cpp:9090
void SetKineOut(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set outlet turbulent kei.
Definition CEulerSolver.hpp:1500
vector< su2activematrix > AverageFlux
Definition CEulerSolver.hpp:125
su2double GetTotal_AeroCD() const final
Provide the total (inviscid + viscous) non dimensional aero CD.
Definition CEulerSolver.hpp:874
su2double Total_AeroCD
Total aero drag coefficient for all the boundaries.
Definition CEulerSolver.hpp:106
su2activematrix AverageOmega
Definition CEulerSolver.hpp:137
void SetPressureOut(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set outlet pressure.
Definition CEulerSolver.hpp:1445
su2double GetDensityOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet density to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1319
vector< vector< su2double > > ActDisk_Thrust_r
Value of the Thrust_r.
Definition CEulerSolver.hpp:69
su2activematrix RelTangVelocityIn
Definition CEulerSolver.hpp:153
su2double GetOmegaIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet turbulent omega to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1355
void ComputeTurboBladePerformance(CGeometry *geometry, CConfig *config, unsigned short iBlade) final
Definition CEulerSolver.cpp:9920
su2double GetPressureOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet pressure to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1328
vector< su2double > CEquivArea_Mnt
Equivalent area (inviscid contribution) for each boundary.
Definition CEulerSolver.hpp:48
vector< vector< su2double > > ActDisk_Fy
Value of the actuator disk Y component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:80
su2activematrix ActDisk_Axis
Value of the actuator disk Axis.
Definition CEulerSolver.hpp:77
su2double GetInflow_MassFlow(unsigned short val_marker) const final
Provide the mass flow rate.
Definition CEulerSolver.hpp:847
su2double Total_IDR
Total IDC coefficient for all the boundaries.
Definition CEulerSolver.hpp:96
su2double GetTotal_Prop_Eff() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:922
void SetDensityIn(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet density.
Definition CEulerSolver.hpp:1400
void Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) override
Source term integration.
Definition CEulerSolver.cpp:2095
void BC_ActDisk_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the engine exhaust boundary condition.
Definition CEulerSolver.cpp:8337
void SetPressureIn(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet pressure.
Definition CEulerSolver.hpp:1411
void ComputeBackVelocity(const su2double *turboVelocity, const su2double *turboNormal, su2double *cartesianVelocity, unsigned short marker_flag, TURBOMACHINERY_TYPE kind_turb)
it take a velocity in the cartesian reference of framework and transform into the turbomachinery fram...
Definition CEulerSolver.hpp:1209
su2double GetTotal_IDC() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:946
su2double Total_IDC_Mach
Total IDC coefficient for all the boundaries.
Definition CEulerSolver.hpp:95
void ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Update the solution using the explicit Euler scheme.
Definition CEulerSolver.cpp:2512
su2double GetAveragePressure(unsigned short valMarker, unsigned short valSpan) const final
Provide the average pressure at the boundary of interest.
Definition CEulerSolver.hpp:1247
void BC_Giles(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the boundary condition using characteristic recostruction.
Definition CEulerSolver.cpp:6388
vector< su2double > GetTurboPrimitive(unsigned short iBlade, unsigned short iSpan, bool INLET) override
Get Primal variables for turbo performance computation iteration can be executed by multiple threads.
Definition CEulerSolver.hpp:1097
void SetCentered_Dissipation_Sensor(CGeometry *geometry, const CConfig *config)
Compute the dissipation sensor for centered schemes.
Definition CEulerSolver.cpp:2432
void BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose a supersonic inlet boundary condition.
Definition CEulerSolver.cpp:7626
su2double Total_DC60
Total IDC coefficient for all the boundaries.
Definition CEulerSolver.hpp:97
vector< su2matrix< complex< su2double > > > CkOutflow1
Definition CEulerSolver.hpp:160
su2double AoA_inc
Definition CEulerSolver.hpp:110
void SetTotal_Prop_Eff(su2double val_Total_Prop_Eff) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1000
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.
Definition CEulerSolver.cpp:5258
su2double GetAverageOmega(unsigned short valMarker, unsigned short valSpan) const final
Provide the average density at the boundary of interest.
Definition CEulerSolver.hpp:1283
su2double GetDensityIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet density to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1292
su2activematrix DensityOut
Definition CEulerSolver.hpp:144
su2activematrix RadialEquilibriumPressure
Definition CEulerSolver.hpp:132
vector< vector< su2double > > ActDisk_Fx_BEM
Value of the actuator disk X component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:83
static constexpr unsigned short nMixingStateVars
Number of averaged variables transferred across mixing plane interfaces.
Definition CEulerSolver.hpp:162
void PreprocessBC_Giles(CGeometry *geometry, CConfig *config, CNumerics *conv_numerics, unsigned short marker_flag) final
It computes Fourier transformation for the needed quantities along the pitch for each span in turboma...
Definition CEulerSolver.cpp:6222
vector< vector< su2double > > ActDisk_Fa_BEM
Value of the actuator disk Axial Force per Unit Area.
Definition CEulerSolver.hpp:82
su2activematrix PressureOut
Definition CEulerSolver.hpp:145
void SetOmegaOut(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set Outlet turbulent omega.
Definition CEulerSolver.hpp:1511
unsigned long GetIter_Update_AoA(void) const final
Get the iteration of the last AoA update (Fixed CL Mode)
Definition CEulerSolver.hpp:798
su2double GetPressureIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet pressure to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1301
void SetTotal_ReverseFlow(su2double val_Total_ReverseFlow) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:988
vector< vector< unsigned long > > DonorGlobalIndex
Value of the donor global index.
Definition CEulerSolver.hpp:65
void ReadActDisk_InputFile(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
Read the actuator disk input file for the VARIABLE_LOAD type.
Definition CEulerSolver.cpp:4140
su2double GetAverageDensity(unsigned short valMarker, unsigned short valSpan) const final
Provide the average density at the boundary of interest.
Definition CEulerSolver.hpp:1238
su2double StdDevTemperature
Definition CEulerSolver.hpp:121
su2double GetAverageNu(unsigned short valMarker, unsigned short valSpan) const final
Provide the average density at the boundary of interest.
Definition CEulerSolver.hpp:1265
bool End_AoA_FD
Boolean for end of finite differencing for FixedCL mode.
Definition CEulerSolver.hpp:112
void SetTotal_MFR(su2double val_Total_MFR) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:994
void SetReferenceValues(const CConfig &config) final
Set reference values for pressure, forces, etc.
Definition CEulerSolver.cpp:1452
vector< su2matrix< complex< su2double > > > CkOutflow2
Definition CEulerSolver.hpp:160
su2double Total_CMy_Prev
Total drag coefficient for all the boundaries (fixed lift mode).
Definition CEulerSolver.hpp:104
void SetDensityOut(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set outlet density.
Definition CEulerSolver.hpp:1434
virtual unsigned long SetPrimitive_Variables(CSolver **solver_container, const CConfig *config)
Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.
Definition CEulerSolver.cpp:1730
void ComputeTurboVelocity(const su2double *cartesianVelocity, const su2double *turboNormal, su2double *turboVelocity, unsigned short marker_flag, TURBOMACHINERY_TYPE kind_turb)
it take a velocity in the cartesian reference of framework and transform into the turbomachinery fram...
Definition CEulerSolver.hpp:1177
su2double ExtAveragePressure
Definition CEulerSolver.hpp:157
void SetTotal_NetThrust(su2double val_Total_NetThrust) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:970
su2double Inflow_MassFlow_Total
Mass flow rate for each boundary.
Definition CEulerSolver.hpp:60
su2double GetKineOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet turbulent kei to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1373
su2double GetKineIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet turbulent kei to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1346
su2double GetTotal_DC60() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:964
su2activevector AverageMassFlowRate
Definition CEulerSolver.hpp:138
vector< vector< su2double > > ActDisk_Fx
Value of the actuator disk X component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:79
su2double dCL_dAlpha
Value of dCL_dAlpha used to control CL in fixed CL mode.
Definition CEulerSolver.hpp:115
vector< vector< su2double > > ActDisk_Fa
Value of the actuator disk Axial Force per Unit Area.
Definition CEulerSolver.hpp:78
su2double Total_Prop_Eff
Total Mass Flow Ratio for all the boundaries.
Definition CEulerSolver.hpp:99
void InstantiateEdgeNumerics(const CSolver *const *solvers, const CConfig *config) final
Instantiate a SIMD numerics object.
Definition CEulerSolver.cpp:371
vector< su2activematrix > TurboVelocityOut
Definition CEulerSolver.hpp:146
su2double AllBound_CEquivArea_Inv
equivalent area coefficient (inviscid contribution) for all the boundaries.
Definition CEulerSolver.hpp:47
su2activematrix NuOut
Definition CEulerSolver.hpp:152
vector< su2matrix< complex< su2double > > > CkInflow
Definition CEulerSolver.hpp:160
void SetActDisk_BEM_VLAD(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
Read and update the variable load actuator disk from input file for the BLADE_ELEMENT type.
Definition CEulerSolver.cpp:4341
su2double Exhaust_MassFlow_Total
Mass flow rate for each boundary.
Definition CEulerSolver.hpp:61
void Source_Template(CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh) final
Source term integration.
Definition CEulerSolver.cpp:2348
void Set_MPI_ActDisk(CSolver **solver_container, CGeometry *geometry, CConfig *config)
Parallelization of Undivided Laplacian.
Definition CEulerSolver.cpp:481
vector< su2activematrix > TurboVelocityIn
Definition CEulerSolver.hpp:143
su2double GetOmegaOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet turbulent omega to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1382
bool GetEnd_AoA_FD(void) const final
Checking whether fixed CL mode in finite-differencing mode.
Definition CEulerSolver.hpp:792
void SetFreeStream_Solution(const CConfig *config) final
Set the solution using the Freestream values.
Definition CEulerSolver.cpp:9045
void SetTurboVelocityOut(const su2double *value, unsigned short inMarkerTP, unsigned short valSpan) final
Set outlet normal velocity.
Definition CEulerSolver.hpp:1456
void SetTotal_Adiab_Eff(su2double val_Total_Adiab_Eff) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1012
su2double GetNuOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet turbulent nu to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1391
vector< su2activematrix > AverageVelocity
Definition CEulerSolver.hpp:127
su2activematrix PressureIn
Definition CEulerSolver.hpp:142
void SetOmegaIn(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet turbulent omega.
Definition CEulerSolver.hpp:1478
su2double GetNuIn(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the inlet turbulent nu to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1364
su2double Total_ByPassProp_Eff
Total Mass Flow Ratio for all the boundaries.
Definition CEulerSolver.hpp:100
su2double GetTotal_Poly_Eff() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:940
vector< su2double > Exhaust_Area
Boundary total area.
Definition CEulerSolver.hpp:56
void SetUndivided_Laplacian(CGeometry *geometry, const CConfig *config)
Compute the undivided laplacian for the solution.
Definition CEulerSolver.cpp:2384
void ClassicalRK4_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using the classical fourth-order Runge-Kutta scheme.
Definition CEulerSolver.cpp:2505
su2double Total_Adiab_Eff
Total Mass Flow Ratio for all the boundaries.
Definition CEulerSolver.hpp:101
su2activematrix AverageKine
Definition CEulerSolver.hpp:136
su2double GetInflow_Pressure(unsigned short val_marker) const final
Provide the mass flow rate.
Definition CEulerSolver.hpp:861
~CEulerSolver(void) override
Destructor of the class.
Definition CEulerSolver.cpp:367
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 CEulerSolver.cpp:1758
void SetTotal_Poly_Eff(su2double val_Total_Poly_Eff) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1018
su2double GetAverageKine(unsigned short valMarker, unsigned short valSpan) const final
Provide the average density at the boundary of interest.
Definition CEulerSolver.hpp:1274
su2activematrix OmegaIn
Definition CEulerSolver.hpp:148
void SetTotal_SolidCD(su2double val_Total_SolidCD) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:982
su2double Total_CL_Prev
Total lift coefficient for all the boundaries (fixed lift mode).
Definition CEulerSolver.hpp:88
void BC_TurboRiemann(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the boundary condition using characteristic recostruction.
Definition CEulerSolver.cpp:5689
vector< su2double > Inflow_Mach
Fan face mach number for each boundary.
Definition CEulerSolver.hpp:54
void SetKineIn(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet turbulent kei.
Definition CEulerSolver.hpp:1468
vector< su2activematrix > SpanTotalFlux
Definition CEulerSolver.hpp:126
vector< vector< su2double > > ActDisk_Torque_r
Value of the Torque_r.
Definition CEulerSolver.hpp:70
su2activematrix AverageNu
Definition CEulerSolver.hpp:135
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 CEulerSolver.cpp:7161
void BC_ActDisk_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the engine inflow boundary condition.
Definition CEulerSolver.cpp:8322
su2double GetTangGridVelOut(unsigned short val_blade, unsigned long val_span)
Definition CEulerSolver.hpp:171
su2activematrix ActDisk_C
Value of the actuator disk Center.
Definition CEulerSolver.hpp:76
vector< su2double > Exhaust_Pressure
Fan face pressure for each boundary.
Definition CEulerSolver.hpp:57
void BC_ActDisk(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface) final
Impose an actuator disk inlet boundary condition.
Definition CEulerSolver.cpp:8352
void SetMixingState(unsigned short val_marker, unsigned long val_span, unsigned short val_state, su2double component) final
Set a component of the donor-side averaged state at a mixing plane interface nodes.
Definition CEulerSolver.hpp:196
vector< su2activematrix > AverageTurboVelocity
Definition CEulerSolver.hpp:128
su2double ExtAverageDensity
Definition CEulerSolver.hpp:156
virtual void SetRoe_Dissipation(CGeometry *geometry, CConfig *config)
A virtual member.
Definition CEulerSolver.hpp:310
std::shared_ptr< CTurboOutput > GetTurboBladePerformance() const final
Definition CEulerSolver.hpp:1201
su2activematrix OmegaOut
Definition CEulerSolver.hpp:151
su2double Total_ReverseFlow
Total drag coefficient for all the boundaries.
Definition CEulerSolver.hpp:93
vector< su2double > CEquivArea_Inv
Equivalent area (inviscid contribution) for each boundary.
Definition CEulerSolver.hpp:49
su2activematrix KineOut
Definition CEulerSolver.hpp:150
void SetTurboVelocityIn(const su2double *value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet normal velocity.
Definition CEulerSolver.hpp:1422
const su2double * GetAverageTurboVelocity(unsigned short valMarker, unsigned short valSpan) const final
Provide the average turbo velocity average at the boundary of interest.
Definition CEulerSolver.hpp:1256
void SetTotal_Power(su2double val_Total_Power) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:976
vector< vector< su2double > > ActDisk_Fy_BEM
Value of the actuator disk Y component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:84
vector< vector< su2double > > ActDisk_Fz
Value of the actuator disk Z component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:81
vector< su2activematrix > OldAverageTurboVelocity
Definition CEulerSolver.hpp:129
void SetTotal_ByPassProp_Eff(su2double val_Total_ByPassProp_Eff) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1006
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 CEulerSolver.cpp:1821
void BC_ActDisk_VariableLoad(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface)
Impose an actuator disk with variable load boundary condition.
Definition CEulerSolver.cpp:8764
su2activematrix KineIn
Definition CEulerSolver.hpp:147
void InitTurboContainers(CGeometry *geometry, CConfig **config, unsigned short iZone) final
Initilize turbo containers.
Definition CEulerSolver.cpp:393
void SetUpwind_Ducros_Sensor(CGeometry *geometry, CConfig *config)
Compute Ducros Sensor for Roe Dissipation.
Definition CEulerSolver.cpp:2446
su2double GetTotal_ByPassProp_Eff() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:928
void SetTotal_IDC(su2double val_Total_IDC) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1024
void BC_Engine_Exhaust(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the ancelle exhaust boundary condition.
Definition CEulerSolver.cpp:8070
vector< vector< su2double > > ActDisk_DeltaP
Value of the Delta P.
Definition CEulerSolver.hpp:67
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 CEulerSolver.cpp:1696
su2activevector ExtAverageTurboVelocity
Definition CEulerSolver.hpp:158
void SetMax_Eigenvalue(CGeometry *geometry, const CConfig *config)
Compute the max eigenvalue.
Definition CEulerSolver.cpp:2363
void SetCoefficient_Gradients(CConfig *config) const
Set gradients of coefficients for fixed CL mode.
Definition CEulerSolver.cpp:4917
su2double GetAoA_inc(void) const final
Get the CL Driver's control command.
Definition CEulerSolver.hpp:810
void BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose a supersonic outlet boundary condition.
Definition CEulerSolver.cpp:7715
bool Start_AoA_FD
Boolean for start of finite differencing for FixedCL mode.
Definition CEulerSolver.hpp:111
su2double Total_SolidCD
Total drag coefficient for all the boundaries.
Definition CEulerSolver.hpp:89
bool GetStart_AoA_FD(void) const final
Checking whether fixed CL mode in finite-differencing mode.
Definition CEulerSolver.hpp:786
void SetFreeStream_TurboSolution(CConfig *config) final
Set the solution using the Freestream values.
Definition CEulerSolver.cpp:9058
su2double GetTotal_NetThrust() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:892
su2double Prandtl_Turb
Turbulent Prandtl number.
Definition CEulerSolver.hpp:45
vector< vector< su2double > > ActDisk_DeltaT
Value of the Delta T.
Definition CEulerSolver.hpp:71
void PrintVerificationError(const CConfig *config) const final
Print verification error to screen.
Definition CEulerSolver.cpp:9006
su2double Inflow_Mach_Total
Fan face mach number for each boundary.
Definition CEulerSolver.hpp:63
void Evaluate_ObjFunc(const CConfig *config, CSolver **solver) override
Compute weighted-sum "combo" objective output.
Definition CEulerSolver.cpp:4942
vector< su2double > Inflow_Pressure
Fan face pressure for each boundary.
Definition CEulerSolver.hpp:53
vector< su2double > Exhaust_MassFlow
Mass flow rate for each boundary.
Definition CEulerSolver.hpp:52
su2double GetPrevious_AoA(void) const final
Get the AoA before the most recent update.
Definition CEulerSolver.hpp:804
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 CEulerSolver.cpp:1814
unsigned long BCThrust_Counter
Definition CEulerSolver.hpp:116
su2double Total_NetThrust
Total drag coefficient for all the boundaries.
Definition CEulerSolver.hpp:91
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 CEulerSolver.cpp:7451
void SetInitialCondition(CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) final
Set the initial condition for the Euler Equations.
Definition CEulerSolver.cpp:1481
void ComputeUnderRelaxationFactor(const CConfig *config) final
Compute a suitable under-relaxation parameter to limit the change in the solution variables over a no...
Definition CEulerSolver.cpp:2540
void MixedOut_Average(CConfig *config, su2double val_init_pressure, const su2double *val_Averaged_Flux, const su2double *val_normal, su2double &pressure_mix, su2double &density_mix)
it performs a mixed out average of the nodes of a boundary.
Definition CEulerSolver.cpp:9679
static void LowMachPrimitiveCorrection(CFluidModel *fluidModel, unsigned short nDim, su2double *primitive_i, su2double *primitive_j)
Apply low Mach number correction to the primitives at two points, usually connected by an edge.
Definition CEulerSolver.cpp:2056
su2double GetTotal_IDR() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:958
void GetPower_Properties(CGeometry *geometry, CConfig *config, unsigned short iMesh, bool Output)
Compute the Fan face Mach number.
Definition CEulerSolver.cpp:2762
void SetTotal_IDR(su2double val_Total_IDR) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1036
void SetNuIn(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set inlet turbulent Nu.
Definition CEulerSolver.hpp:1489
vector< su2double > Inflow_Area
Boundary total area.
Definition CEulerSolver.hpp:55
su2activematrix AverageRelTangVelocity
Definition CEulerSolver.hpp:139
su2activevector ActDisk_R
Value of the actuator disk Radius.
Definition CEulerSolver.hpp:74
su2double GetTangGridVelIn(unsigned short val_blade, unsigned long val_span)
Definition CEulerSolver.hpp:167
bool FixedCL_Convergence(CConfig *config, bool convergence) final
Check for convergence of the Fixed CL mode to the target CL.
Definition CEulerSolver.cpp:4815
unsigned long Iter_Update_AoA
Iteration at which AoA was updated last.
Definition CEulerSolver.hpp:114
const su2double * GetTurboVelocityOut(unsigned short inMarkerTP, unsigned short valSpan) const final
Provide the outlet normal velocity to check convergence of conservative mixing-plane.
Definition CEulerSolver.hpp:1337
void SetFarfield_AoA(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, bool Output)
Update the AoA and freestream velocity at the farfield.
Definition CEulerSolver.cpp:4768
su2activematrix AverageDensity
Definition CEulerSolver.hpp:133
bool Update_AoA
Boolean to signal Angle of Attack Update.
Definition CEulerSolver.hpp:113
vector< vector< su2double > > ActDisk_Fz_BEM
Value of the actuator disk Z component of the radial and tangential forces per Unit Area resultant.
Definition CEulerSolver.hpp:85
void SetNuOut(su2double value, unsigned short inMarkerTP, unsigned short valSpan) final
Set outlet turbulent Nu.
Definition CEulerSolver.hpp:1522
su2activematrix OldAveragePressure
Definition CEulerSolver.hpp:131
void GatherInOutAverageValues(CConfig *config, CGeometry *geometry) final
It gathers into the master node average quantities at inflow and outflow needed for turbomachinery an...
Definition CEulerSolver.cpp:9725
su2activematrix OldAverageDensity
Definition CEulerSolver.hpp:134
void SetDonorGlobalIndex(unsigned short val_marker, unsigned long val_vertex, unsigned long val_index) final
Value of the characteristic global index at the boundaries.
Definition CEulerSolver.hpp:1061
su2double GetTotal_Power() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:898
vector< CFluidModel * > FluidModel
fluid model used in the solver.
Definition CEulerSolver.hpp:118
void ExplicitRK_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using a Runge-Kutta scheme.
Definition CEulerSolver.cpp:2498
su2double Total_Power
Total drag coefficient for all the boundaries.
Definition CEulerSolver.hpp:92
void SetTotal_DC60(su2double val_Total_DC60) final
Store the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:1042
su2double GetTotal_IDC_Mach() const final
Provide the total (inviscid + viscous) non dimensional drag coefficient.
Definition CEulerSolver.hpp:952
unsigned long GetDonorGlobalIndex(unsigned short val_marker, unsigned long val_vertex) const final
Value of the characteristic global index at the boundaries.
Definition CEulerSolver.hpp:1050
vector< vector< su2double > > ActDisk_DeltaP_r
Value of the DeltaP_r.
Definition CEulerSolver.hpp:68
su2double GetTotal_CNearFieldOF() const final
Provide the total (inviscid + viscous) non dimensional Near-Field pressure coefficient.
Definition CEulerSolver.hpp:880
su2double Total_CEquivArea
Total Equivalent Area coefficient for all the boundaries.
Definition CEulerSolver.hpp:107
void PrepareImplicitIteration(CGeometry *geometry, CSolver **, CConfig *config) final
Prepare an implicit iteration.
Definition CEulerSolver.cpp:2518
su2double Total_IDC
Total IDC coefficient for all the boundaries.
Definition CEulerSolver.hpp:94
void TurboAverageProcess(CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag) final
It computes average quantities along the span for turbomachinery analysis.
Definition CEulerSolver.cpp:9259
Definition CFVMFlowSolverBase.hpp:36
su2double Total_CNearFieldOF
Total Near-Field Pressure coefficient for all the boundaries.
Definition CFVMFlowSolverBase.hpp:169
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
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
std::shared_ptr< CTurboOutput > TurbomachineryPerformance
turbo performance calculator.
Definition CSolver.hpp:158
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
TURBOMACHINERY_TYPE
Types of mixing process for averaging quantities at the boundaries.
Definition option_structure.hpp:2071
@ AXIAL
axial turbomachinery.
@ AXIAL_CENTRIFUGAL
mixed flow turbine.
@ CENTRIPETAL_AXIAL
mixed flow turbine.
@ INFLOW
flag for inflow marker for compute turboperformance.
Definition option_structure.hpp:2116
@ OUTFLOW
flag for outflow marker for compute turboperformance.
Definition option_structure.hpp:2117