Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix marker engine inflow #2278

Merged
merged 23 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
868a724
fix for MARKER_ENGINE_INFLOW with FAN_FACE_MACH option
BerkeCan97 May 10, 2024
258b89a
Defining the option BC_EVAL_FREQ
BerkeCan97 May 10, 2024
01d6832
Defining option BC_EVAL_FREQ
BerkeCan97 May 10, 2024
51b33e2
Create inv_channel_engine_inflow.cfg
BerkeCan97 May 11, 2024
0690c04
Update and rename TestCases/engine/inv_channel_engine_inflow.cfg to T…
BerkeCan97 May 11, 2024
0e24b04
Update config_template.cfg
BerkeCan97 May 11, 2024
a17c9df
Update config_template.cfg
BerkeCan97 May 13, 2024
1af50ba
Update Common/include/CConfig.hpp
BerkeCan97 May 13, 2024
c4e240a
Update Common/include/CConfig.hpp
BerkeCan97 May 13, 2024
851f7a7
Update inv_channel_engine_inflow.cfg
BerkeCan97 May 13, 2024
44da0b5
Update inv_channel_engine_inflow.cfg
BerkeCan97 May 13, 2024
1826a6a
Merge branch 'develop' into fix_marker_engine_inflow
bigfooted May 14, 2024
8c62546
Update config_template.cfg
BerkeCan97 May 14, 2024
ff22bc9
Update Common/src/CConfig.cpp
BerkeCan97 May 14, 2024
1d98452
Update Common/include/CConfig.hpp
BerkeCan97 May 14, 2024
a3d87ed
Merge branch 'develop' into fix_marker_engine_inflow
BerkeCan97 May 15, 2024
8f487e7
Merge branch 'develop' into fix_marker_engine_inflow
BerkeCan97 May 20, 2024
ca0278f
Updated header of the config file
BerkeCan97 May 28, 2024
7c05703
Merge branch 'develop' into fix_marker_engine_inflow
bigfooted Jun 12, 2024
a68160c
Merge branch 'develop' into fix_marker_engine_inflow
bigfooted Aug 10, 2024
df7cfce
pre-commit fixes
BerkeCan97 Aug 12, 2024
0ef7a50
Merge branch 'develop' into fix_marker_engine_inflow
BerkeCan97 Aug 12, 2024
da83afd
Update Common/src/CConfig.cpp
BerkeCan97 Aug 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Common/include/CConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ class CConfig {
su2double Buffet_lambda; /*!< \brief Offset parameter for buffet sensor.*/
su2double Damp_Engine_Inflow; /*!< \brief Damping factor for the engine inlet. */
su2double Damp_Engine_Exhaust; /*!< \brief Damping factor for the engine exhaust. */
unsigned long Bc_Eval_Freq; /*!< \brief Evaluation frequency for Engine and Actuator disk markers. */
su2double Damp_Res_Restric, /*!< \brief Damping factor for the residual restriction. */
Damp_Correc_Prolong; /*!< \brief Damping factor for the correction prolongation. */
su2double Position_Plane; /*!< \brief Position of the Near-Field (y coordinate 2D, and z coordinate 3D). */
Expand Down Expand Up @@ -6492,6 +6493,12 @@ class CConfig {
*/
su2double GetMinLogResidual(void) const { return MinLogResidual; }

/*!
* \brief Evaluation frequency for Engine and Actuator disk markers.
* \return Value Evaluation frequency .
*/
unsigned long GetBc_Eval_Freq(void) const { return Bc_Eval_Freq; }

/*!
* \brief Value of the damping factor for the engine inlet bc.
* \return Value of the damping factor.
Expand Down
4 changes: 3 additions & 1 deletion Common/src/CConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1729,7 +1729,9 @@ void CConfig::SetConfig_Options() {
addDoubleArrayOption("SINE_LOAD_COEFF", 3, sineload_coeff);
/*!\brief RAMP_AND_RELEASE\n DESCRIPTION: release the load after applying the ramp*/
addBoolOption("RAMP_AND_RELEASE_LOAD", RampAndRelease, false);


/* DESCRIPTION: Evaluation frequency for Engine and Actuator disk markers. */
addUnsignedLongOption("BC_EVAL_FREQ",Bc_Eval_Freq,40);
BerkeCan97 marked this conversation as resolved.
Show resolved Hide resolved
/* DESCRIPTION: Damping factor for engine inlet condition */
addDoubleOption("DAMP_ENGINE_INFLOW", Damp_Engine_Inflow, 0.95);
/* DESCRIPTION: Damping factor for engine exhaust condition */
Expand Down
3 changes: 2 additions & 1 deletion SU2_CFD/src/solvers/CEulerSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2541,7 +2541,7 @@ void CEulerSolver::GetPower_Properties(CGeometry *geometry, CConfig *config, uns
su2double Alpha = config->GetAoA()*PI_NUMBER/180.0;
su2double Beta = config->GetAoS()*PI_NUMBER/180.0;
bool write_heads = ((((config->GetInnerIter() % (config->GetScreen_Wrt_Freq(2)*40)) == 0) && (config->GetInnerIter()!= 0)) || (config->GetInnerIter() == 1));
bool Evaluate_BC = ((((config->GetInnerIter() % (config->GetScreen_Wrt_Freq(2)*40)) == 0)) || (config->GetInnerIter() == 1) || (config->GetDiscrete_Adjoint()));
bool Evaluate_BC = ((((config->GetInnerIter() % (config->GetBc_Eval_Freq())) == 0)) || (config->GetInnerIter() == 1) || (config->GetDiscrete_Adjoint()));

if ((config->GetnMarker_EngineInflow() != 0) || (config->GetnMarker_EngineExhaust() != 0)) Engine = true;
if ((config->GetnMarker_ActDiskInlet() != 0) || (config->GetnMarker_ActDiskOutlet() != 0)) Engine = false;
Expand Down Expand Up @@ -2930,6 +2930,7 @@ void CEulerSolver::GetPower_Properties(CGeometry *geometry, CConfig *config, uns
config->SetInflow_RamDrag(iMarker_Inlet, Inlet_RamDrag_Total[iMarker_Inlet]);
config->SetInflow_Force(iMarker_Inlet, Inlet_Force_Total[iMarker_Inlet]);
config->SetInflow_Power(iMarker_Inlet, Inlet_Power_Total[iMarker_Inlet]);
config->SetInflow_Mach(iMarker_Inlet, Inlet_Mach_Total[iMarker_Inlet]);
}
else {
config->SetActDiskInlet_MassFlow(iMarker_Inlet, Inlet_MassFlow_Total[iMarker_Inlet]);
Expand Down
221 changes: 221 additions & 0 deletions TestCases/engine/marker_engine_inflow/inv_channel_engine_inflow.cfg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this file is not used in one of the *_regression.py files we should remove it.

Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% SU2 configuration file %
% Case description: Inviscid, internal flow over a bump in a channel %
% Author: Thomas D. Economon %
% Institution: Stanford University %
% Date: 2012.09.29 %
% File Version 4.0.2 "Cardinal" %
BerkeCan97 marked this conversation as resolved.
Show resolved Hide resolved
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
%
% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA)
%
SOLVER= EULER
%
% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT)
MATH_PROBLEM= DIRECT
%
% Restart solution (NO, YES)
RESTART_SOL= NO

% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------%
%
% Mach number (non-dimensional, based on the free-stream values)
MACH_NUMBER= 0.1
%
% Angle of attack (degrees, only for compressible flows)
AOA= 0.0
%
% Side-slip angle (degrees, only for compressible flows)
SIDESLIP_ANGLE= 0.0
%
% Free-stream pressure (101325.0 N/m^2 by default)
FREESTREAM_PRESSURE= 101300.0
%
% Free-stream temperature (288.15 K by default)
FREESTREAM_TEMPERATURE= 288.0

% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
%
% Reference origin for moment computation
REF_ORIGIN_MOMENT_X = 0.25
REF_ORIGIN_MOMENT_Y = 0.00
REF_ORIGIN_MOMENT_Z = 0.00
%
% Reference length for pitching, rolling, and yawing non-dimensional moment
REF_LENGTH= 1.0
%
% Reference area for force coefficients (0 implies automatic calculation)
REF_AREA= 1.0

% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
%
% Euler wall boundary marker(s) (NONE = no marker)
MARKER_EULER= ( upper_wall, lower_wall )
%
% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW)
INLET_TYPE= TOTAL_CONDITIONS
%
% Inlet boundary marker(s) (NONE = no marker)
% Format: ( inlet marker, total temperature, total pressure, flow_direction_x,
% flow_direction_y, flow_direction_z, ... ) where flow_direction is
% a unit vector.
% Default: Mach ~ 0.1
MARKER_INLET= ( inlet, 288.6, 102010.0, 1.0, 0.0, 0.0 )
% Comment above line and uncomment next for Mach ~ 0.7 (transonic)
%MARKER_INLET= ( inlet, 316.224, 140513.23, 1.0, 0.0, 0.0 )
%
% Engine inflow boundary marker(s) (NONE = no marker)
% Format: (engine inflow marker, fan face Mach, ... )
MARKER_ENGINE_INFLOW= ( outlet, 0.1)
ENGINE_INFLOW_TYPE= FAN_FACE_MACH
% Damping factor for the engine inflow.
DAMP_ENGINE_INFLOW= 0.2
% Evaluation frequency for engine marker values
BC_EVAL_FREQ = 1

% ------------------------ SURFACES IDENTIFICATION ----------------------------%
%
% Marker(s) of the surface to be plotted or designed
MARKER_PLOTTING= ( lower_wall )
%
% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated
MARKER_MONITORING= ( upper_wall, lower_wall )

% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
%
% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES)
NUM_METHOD_GRAD= GREEN_GAUSS
%
% Courant-Friedrichs-Lewy condition of the finest grid
CFL_NUMBER= 50.0
%
% Adaptive CFL number (NO, YES)
CFL_ADAPT= YES
%
% Parameters of the adaptive CFL number (factor down, factor up, CFL min value,
% CFL max value )
CFL_ADAPT_PARAM= ( 0.1, 2.0, 50.0, 1e10 )
%
% Runge-Kutta alpha coefficients
RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 )
%
% Number of total iterations
ITER= 999999

% ------------------------ LINEAR SOLVER DEFINITION ---------------------------%
%
% Linear solver for implicit formulations (BCGSTAB, FGMRES)
LINEAR_SOLVER= FGMRES
%
% Preconditioner of the Krylov linear solver (ILU, JACOBI, LINELET, LU_SGS)
LINEAR_SOLVER_PREC= ILU
%
% Minimum error of the linear solver for implicit formulations
LINEAR_SOLVER_ERROR= 1E-10
%
% Max number of iterations of the linear solver for the implicit formulation
LINEAR_SOLVER_ITER= 20

% -------------------------- MULTIGRID PARAMETERS -----------------------------%
%
% Multi-Grid Levels (0 = no multi-grid)
MGLEVEL= 3
%
% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE)
MGCYCLE= W_CYCLE
%
% Multi-grid pre-smoothing level
MG_PRE_SMOOTH= ( 1, 2, 3, 3 )
%
% Multi-grid post-smoothing level
MG_POST_SMOOTH= ( 0, 0, 0, 0 )
%
% Jacobi implicit smoothing of the correction
MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 )
%
% Damping factor for the residual restriction
MG_DAMP_RESTRICTION= 1.0
%
% Damping factor for the correction prolongation
MG_DAMP_PROLONGATION= 1.0

% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
%
% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC,
% TURKEL_PREC, MSW)
CONV_NUM_METHOD_FLOW= JST
%
% 2nd and 4th order artificial dissipation coefficients
JST_SENSOR_COEFF= ( 0.5, 0.02 )
%
% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT)
TIME_DISCRE_FLOW= EULER_IMPLICIT

% --------------------------- CONVERGENCE PARAMETERS --------------------------%
%
% Convergence criteria (CAUCHY, RESIDUAL)
CONV_FIELD= RMS_DENSITY
%
% Min value of the residual (log10 of the residual)
CONV_RESIDUAL_MINVAL= -10
%
% Start convergence criteria at iteration number
CONV_STARTITER= 10
%
% Number of elements to apply the criteria
CONV_CAUCHY_ELEMS= 100
%
% Epsilon to control the series convergence
CONV_CAUCHY_EPS= 1E-10

% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
%
% Mesh input file
MESH_FILENAME= ../../euler/channel/mesh_channel_256x128.su2
%
% Mesh input file format (SU2, CGNS, NETCDF_ASCII)
MESH_FORMAT= SU2
%
% Mesh output file
MESH_OUT_FILENAME= mesh_out.su2
%
% Restart flow input file
SOLUTION_FILENAME= solution_flow.dat
%
% Restart adjoint input file
SOLUTION_ADJ_FILENAME= solution_adj.dat
%
% Output file format (PARAVIEW, TECPLOT, STL)
TABULAR_FORMAT= CSV
%
% Output file convergence history (w/o extension)
CONV_FILENAME= history
%
% Output file restart flow
RESTART_FILENAME= restart_flow.dat
%
% Output file restart adjoint
RESTART_ADJ_FILENAME= restart_adj.dat
%
% Output file flow (w/o extension) variables
VOLUME_FILENAME= flow
%
% Output file adjoint (w/o extension) variables
VOLUME_ADJ_FILENAME= adjoint
%
% Output objective function gradient (using continuous adjoint)
GRAD_OBJFUNC_FILENAME= of_grad.dat
%
% Output file surface flow coefficient (w/o extension)
SURFACE_FILENAME= surface_flow
%
% Output file surface adjoint coefficient (w/o extension)
SURFACE_ADJ_FILENAME= surface_adjoint
%
%
% Screen output
SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG)
3 changes: 3 additions & 0 deletions config_template.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -672,6 +672,9 @@ FAN_POLY_EFF= 1.0
% Only half engine is in the computational grid (NO, YES)
ENGINE_HALF_MODEL= NO
%
% Evaluation Frequency for Engine and Actuator Disk Markers
BC_EVAL_FREQ = 40
%
% Damping factor for the engine inflow.
DAMP_ENGINE_INFLOW= 0.95
%
Expand Down