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

Addition of preferential diffusion model for flamelet solver #48

Merged
merged 7 commits into from
Apr 27, 2024
144 changes: 144 additions & 0 deletions incompressible_flow/Inc_Combustion/1__premixed_hydrogen/H2_burner.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SU2 configuration file %
% Case description: Laminar premixed flame stabilized on isothermal burner %
% Author: Evert Bunschoten %
% Institution: Delft University of Technology %
% Date: 16/06/2023 %
% File Version 7.5.1 "Blackbird" %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------%
%
SOLVER = INC_NAVIER_STOKES
KIND_TURB_MODEL= NONE
%
% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------%
%
INC_DENSITY_MODEL= VARIABLE
INC_ENERGY_EQUATION = YES
INC_DENSITY_INIT= 1.00
INC_VELOCITY_INIT= (0.575, 0.0, 0.0)
INC_TEMPERATURE_INIT= 300.0
INC_NONDIM= DIMENSIONAL
%
CUSTOM_OUTPUTS= 'outlet_YNO : AreaAvg{SPECIES[3]}[outlet];\
outlet_T : AreaAvg{TEMPERATURE}[outlet];\
inlet_P : AreaAvg{PRESSURE}[inlet];'
OBJECTIVE_FUNCTION= CUSTOM_OBJFUNC
CUSTOM_OBJFUNC= outlet_YNO
% -------------------- FLUID MODEL --------------------------------------- %
%
FLUID_MODEL= FLUID_FLAMELET

% List the MLP files describing the respective architectures.
INTERPOLATION_METHOD= MLP
FILENAMES_INTERPOLATOR= (MLP_TD1.mlp, MLP_TD2.mlp, MLP_PD.mlp, MLP_SPV.mlp, MLP_PNO.mlp, MLP_null.mlp)

% FGM controlling variable names (must include mixture fraction for partial
% premixed cases)
PREFERENTIAL_DIFFUSION=YES
CONTROLLING_VARIABLE_NAMES=(ProgressVariable,EnthalpyTot,MixtureFraction)

CONTROLLING_VARIABLE_SOURCE_NAMES=(ProdRateTot_PV,NULL,NULL)

USER_SCALAR_NAMES= (Y_NO)
USER_SOURCE_NAMES = ( \
Y_dot_net-NO, NULL \
)

LOOKUP_NAMES=(Heat_Release)
% -------------------- SCALAR TRANSPORT ---------------------------------------%
%
KIND_SCALAR_MODEL= FLAMELET
DIFFUSIVITY_MODEL= FLAMELET
VISCOSITY_MODEL= FLAMELET
CONDUCTIVITY_MODEL= FLAMELET

FLAME_INIT_METHOD= SPARK
SPARK_INIT= (0.001, 0.0004, 0.00, 1e-4, 100, 5)
SPARK_REACTION_RATES=(1000, 0, 0)

CONV_NUM_METHOD_SPECIES= BOUNDED_SCALAR

MUSCL_SPECIES= YES
SLOPE_LIMITER_SPECIES= NONE
TIME_DISCRE_SPECIES= EULER_IMPLICIT
% SCALAR CLIPPING
SPECIES_CLIPPING= YES
SPECIES_CLIPPING_MIN= -1.5064702033996582e+00 -3.4190245000000000e+06 +5.0012799911201000e-03 0
SPECIES_CLIPPING_MAX= +4.6642374992370605e-01 +2.1569957500000000e+06 +1.4977467060089111e-01 1
%
% Inlet and initial condition corresponding to mixture at T=300K, eq ratio 0.5
SPECIES_INIT=(-0.575, 2.227e3, 1.447e-2, 0)
MARKER_INLET_SPECIES = (inlet, -0.575, 2.227e3, 1.447e-2, 0)

INC_INLET_TYPE= VELOCITY_INLET
MARKER_INLET=(inlet, 300.0, 0.575,1,0,0)
CFL_REDUCTION_SPECIES= 1.0

MARKER_ISOTHERMAL=(burner_wall, 350, \
cylinder_wall, 400)
MARKER_SPECIES_STRONG_BC=(burner_wall,cylinder_wall)
MARKER_INTERNAL=(fluid)
% ---------------------- REFERENCE VALUE DEFINITION ---------------------------%
%
REF_ORIGIN_MOMENT_X = 0.25
REF_ORIGIN_MOMENT_Y = 0.00
REF_ORIGIN_MOMENT_Z = 0.00
REF_LENGTH= 1.0
REF_AREA= 1.0
%
% -------------------- BOUNDARY CONDITION DEFINITION --------------------------%
%

MARKER_SYM= (sides)
INC_OUTLET_TYPE= PRESSURE_OUTLET
INC_INLET_DAMPING = 0.05
INC_OUTLET_DAMPING = 0.05
MARKER_OUTLET= (outlet, 0.0)

% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------%
%
NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES
CFL_NUMBER= 150
CFL_ADAPT= NO
ITER= 5
%
% ------------------------ LINEAR SOLVER DEFINITION ---------------------------%
%
LINEAR_SOLVER= FGMRES
LINEAR_SOLVER_PREC= LU_SGS
LINEAR_SOLVER_ERROR= 1E-04
LINEAR_SOLVER_ITER= 5
%
% -------------------------- MULTIGRID PARAMETERS -----------------------------%
%
MGLEVEL= 0
%
% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------%
%
CONV_NUM_METHOD_FLOW= FDS
MUSCL_FLOW= YES
SLOPE_LIMITER_FLOW = NONE
TIME_DISCRE_FLOW= EULER_IMPLICIT
%
% --------------------------- CONVERGENCE PARAMETERS --------------------------%
%
CONV_RESIDUAL_MINVAL= -15
CONV_STARTITER= 10
CONV_CAUCHY_ELEMS= 100
CONV_CAUCHY_EPS= 1E-6
SCREEN_OUTPUT = INNER_ITER RMS_VELOCITY-X RMS_PRESSURE RMS_ProgressVariable RMS_EnthalpyTot RMS_MixtureFraction
HISTORY_OUTPUT = RMS_RES
VOLUME_OUTPUT = SOLUTION
CONV_FIELD = RMS_PRESSURE, RMS_VELOCITY-Z, RMS_VELOCITY-Y, RMS_MixtureFraction
WRT_ZONE_HIST= YES
%
% ------------------------- INPUT/OUTPUT INFORMATION --------------------------%
%
RESTART_SOL=YES
OUTPUT_PRECISION= 16
TABULAR_FORMAT = CSV
MESH_FILENAME=H2_burner.su2
OUTPUT_FILES=(RESTART, PARAVIEW_MULTIBLOCK)
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
domain_width=0.0008;
hex_center=0.002;
hex_radius=0.0003;

//+
Point(1) = {-0.003, 0, 0, 1.0};
//+
Point(2) = {-0.003, domain_width, 0, 1.0};
//+
Point(3) = {-0.001, domain_width, 0, 1.0};
//+
Point(4) = {-0.001, 0.5*domain_width, 0, 1.0};
//+
Point(5) = {-0.00, 0.5*domain_width, 0, 1.0};
//+
Point(6) = {-0.00, domain_width, 0, 1.0};
//+
Point(7) = {0.005, domain_width, 0, 1.0};
//+
Point(8) = {0.005, 0.000, 0, 1.0};
//+
Point(9) = {hex_center, 0.000, 0, 1.0};
//+
Point(10) = {hex_center+hex_radius, 0.000, 0, 1.0};
//+
Point(11) = {hex_center-hex_radius, 0.000, 0, 1.0};
//+
Line(1) = {2, 1};
//+
Line(2) = {2, 3};
//+
Line(3) = {3, 4};
//+
Line(4) = {4, 5};
//+
Line(5) = {5, 6};
//+
Line(6) = {6, 7};
//+
Line(7) = {7, 8};
//+
Line(8) = {10, 8};
//+
Line(9) = {1, 11};
//+
Circle(10) = {10, 9, 11};
//+
Curve Loop(1) = {1, 9, -10, 8, -7, -6, -5, -4, -3, -2};
//+
Plane Surface(1) = {1};
//+
//Physical Curve("inlet", 11) = {1};
//+
//Physical Curve("outlet", 12) = {7};
//+
//Physical Curve("burner_wall", 13) = {3, 4, 5};
//+
//Physical Curve("cylinder_wall", 14) = {10};
//+
//Physical Curve("sides", 15) = {2, 9, 6, 8};
//+
//Physical Surface("fluid", 16) = {1};
//+
Transfinite Curve {1, 7} = 30 Using Progression 1;
//+
Transfinite Curve {3, 5} = 30 Using Progression 1;
//+
Transfinite Curve {4} = 80 Using Progression 1;
//+
Transfinite Curve {2} = 100 Using Progression 1;
//+
Transfinite Curve {6} = 300 Using Progression 1;
//+
Transfinite Curve {8} = 200 Using Progression 1;
//+
Transfinite Curve {9} = 350 Using Progression 1;
//+
Transfinite Curve {10} = 100 Using Progression 1;

//Mesh 2;

//Save "H2_burner.su2";//+
Extrude {{1, 0, 0}, {0, -0.001, 0}, Pi/8} {
Surface{1}; Layers{10}; Recombine;
}
//+
Physical Surface("inlet", 63) = {25};
//+
Physical Surface("outlet", 64) = {41};
//+
Physical Surface("sides", 65) = {62, 29, 61, 1, 45, 37};
//+
Physical Surface("burner_wall", 66) = {57, 53, 49};
//+
Physical Surface("cylinder_wall", 67) = {33};
//+
Physical Volume("fluid", 68) = {1};
Loading