Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4
CONVERGECFD MANUAL SERIES
CONVERGE MANUAL
Table of Contents
Chapter 1 Introduction 19
1.1 Proprietary Notices
.................................................................................................................................................................................... 21
1.2 Units in CONVERGE
.................................................................................................................................................................................... 22
1.3 Release Notes
.................................................................................................................................................................................... 22
2.4.13 .......................................................................................................................................................... 22
2.4.12 .......................................................................................................................................................... 25
2.4.11 .......................................................................................................................................................... 27
2.4.10 .......................................................................................................................................................... 28
2.4.9 .......................................................................................................................................................... 31
2.4.8 .......................................................................................................................................................... 32
Major Changes from CONVERGE 2.3 to 2.4
.......................................................................................................................................................... 35
Solver ......................................................................................................................................................... 36
......................................................................................................................................................... 36
Efficiency
Input ......................................................................................................................................................... 36
......................................................................................................................................................... 36
Output/Post-Processing
......................................................................................................................................................... 37
Boundaries
......................................................................................................................................................... 37
Materials
Sources ......................................................................................................................................................... 37
.........................................................................................................................................................
Combustion and Emissions 37
.........................................................................................................................................................
Chemistry Tools 38
Spray ......................................................................................................................................................... 38
......................................................................................................................................................... 38
Turbulence
FSI ......................................................................................................................................................... 38
CHT ......................................................................................................................................................... 39
UDF ......................................................................................................................................................... 39
.........................................................................................................................................................
make_seals Utility 76
.........................................................................................................................................................
Seal in CONVERGE Studio 77
.........................................................................................................................................................
Sealing Test Utility 86
.........................................................................................................................................................
Three Body Reaction Option 236
.........................................................................................................................................................
Pressure-Dependent Reaction Option 237
.........................................................................................................................................................
Duplicate Reaction Option 240
.........................................................................................................................................................
Isomer Lumping Reaction Option 240
.........................................................................................................................................................
Fractional Order (FORD) Reaction Option 243
.........................................................................................................................................................
User-Defined Reaction Rate 244
Ionization..........................................................................................................................................................
Reactions 244
Mechanism Merge
.......................................................................................................................................................... 245
......................................................................................................................................................... 245
mechspec
......................................................................................................................................................... 247
mechreac
......................................................................................................................................................... 250
mechmerge
Mechanism Tune
.......................................................................................................................................................... 251
9.2 Liquid Properties
.................................................................................................................................................................................... 253
Compressible Liquid Data
.......................................................................................................................................................... 253
Non-Newtonian Liquids
.......................................................................................................................................................... 253
.........................................................................................................................................................
Film Momentum Equation 338
.........................................................................................................................................................
Drop/Film Rebounding 340
.........................................................................................................................................................
Drop/Film Splashing: O'Rourke Model 341
.........................................................................................................................................................
Drop/Film Splashing: Kuhnke Model 345
.........................................................................................................................................................
Drop/Film Splashing: Bai-Gosman Model 353
.........................................................................................................................................................
Spray-Wall Heat Transfer: Wruck Model 355
......................................................................................................................................................... 358
Film Separation
......................................................................................................................................................... 359
Film Stripping
.........................................................................................................................................................
Adaptive Film Mesh 360
Droplet.........................................................................................................................................................
Radius Change - Chiang Correlation 363
Droplet.........................................................................................................................................................
Boiling Model 364
Uniform.........................................................................................................................................................
Temperature Model 364
.........................................................................................................................................................
Discretized Temperature Model 366
Sticking.........................................................................................................................................................
Reaction (STICK) Option 454
Reverse.........................................................................................................................................................
Reaction Rate 454
Effectiveness Factor
.......................................................................................................................................................... 455
13.7 Adaptive Zoning
.................................................................................................................................................................................... 456
13.8 Combustion-Related Output
.................................................................................................................................................................................... 461
13.9 Combustion Time-Step Control
.................................................................................................................................................................................... 462
13.10 Chemistry Tools
.................................................................................................................................................................................... 462
Zero-Dimensional Combustion Utilities
.......................................................................................................................................................... 462
.........................................................................................................................................................
Autoignition (Zero-Dimensional Calculations) 463
.........................................................................................................................................................
Zero-Dimensional Adjoint Sensitivity Analysis 465
.........................................................................................................................................................
Zero-Dimensional Sensitivity Analysis 466
Post-Processing
.........................................................................................................................................
Senstivity Output 467
Mechanism Reduction
.......................................................................................................................................................... 473
.........................................................................................................................................................
DRG (Directed Relation Graph) 474
DRGEP.........................................................................................................................................................
(Directed Relation Graph Error Propagation) 475
.........................................................................................................................................................
Sensitivity Analysis) 477
......................................................................................................................................................... 495
Dalian Model
Waseda.........................................................................................................................................................
Model 496
Particulate..........................................................................................................................................................
Mimic Soot Model 498
.........................................................................................................................................................
Stages of the PM Model 499
Particulate..........................................................................................................................................................
Size Mimic Soot Model 503
.........................................................................................................................................................
Stages of the PSM Model 505
......................................................................................................................................................... 509
Soot Precursors
-f Model
......................................................................................................................................................... 522
k- Models
.......................................................................................................................................................... 523
RANS Boundary Conditions
.......................................................................................................................................................... 528
k- Boundary
.........................................................................................................................................................
Conditions 529
k- Boundary
.........................................................................................................................................................
Conditions 532
.........................................................................................................................................................
CONGO Output Files 636
.........................................................................................................................................................
Running CONVERGE with a UDF 636
Run Directories
.......................................................................................................................................................... 637
CONGO Scripts
.......................................................................................................................................................... 637
Running and Restarting CONGO
.......................................................................................................................................................... 638
.........................................................................................................................................................
Non-Transport Passives for Turbulence Statistics 665
Composite..........................................................................................................................................................
Species - composite.in 666
Skip Species - skip_species.in
.......................................................................................................................................................... 668
Thermodynamic Properties - therm.dat
.......................................................................................................................................................... 670
Thermodynamic Properties - tabular_therm.dat
.......................................................................................................................................................... 672
Lower Heating Value - lhv.in
.......................................................................................................................................................... 673
22.4 General Simulation Input Files
.................................................................................................................................................................................... 674
Surface Geometry File
.......................................................................................................................................................... 674
Inputs File..........................................................................................................................................................
- inputs.in 675
Reread .........................................................................................................................................................
Inputs 688
.........................................................................................................................................................
Schmidt Number - schmidt_turb.in 689
Prandtl .........................................................................................................................................................
Number - prandtl_turb.in 690
.........................................................................................................................................................
Wall Output - wall_output.in 691
.........................................................................................................................................................
Urea-Water Depletion - urea.in 739
.........................................................................................................................................................
Injection Distribution - injdist.in 739
Injector .........................................................................................................................................................
Rate-Shape Files 740
.........................................................................................................................................................
Eulerian-Lagrangian Spray Atomization - elsa.in 743
.........................................................................................................................................................
CTC Initialization - ctc_init_time.in 760
.........................................................................................................................................................
Region-Based G-Equation Initialization - g_eqn_init.in 761
......................................................................................................................................................... 761
ISSIM - issim.in
.........................................................................................................................................................
ECFM3Z Reinitialization - ecfm3z_reinit.in 763
CE Q Species
.........................................................................................................................................................
- ceq_species.in 763
.........................................................................................................................................................
FGM Lookup Table - fgm.in 764
Ignition.........................................................................................................................................................
Delay Data - ignition_delay.dat 767
Emissions..........................................................................................................................................................
Modeling - emissions.in 768
NO x
rate - passive_no _rate.dat x
Passive......................................................................................................................................................... 772
.........................................................................................................................................................
FSI Spring Model - spring.in 797
.........................................................................................................................................................
FSI Stiction Model - stiction.in 798
.........................................................................................................................................................
FSI Events - fsi_events.in 799
......................................................................................................................................................... 803
surface_chemistry_region.in
......................................................................................................................................................... 804
surface_therm.dat
Surface .........................................................................................................................................................
Species Reaction Information -surface_mech.dat 804
Radiation ..........................................................................................................................................................
Modeling Setup - radiation.in 806
Nucleate Boiling Model - nucleate_boiling.in
.......................................................................................................................................................... 809
22.8 Grid Control Input Files
.................................................................................................................................................................................... 809
Grid Scaling - gridscale.in
.......................................................................................................................................................... 810
Adaptive Mesh Refinement - amr.in
.......................................................................................................................................................... 810
Embedded..........................................................................................................................................................
Grids - embedded.in 820
22.9 Output/Post-Processing Input Files
.................................................................................................................................................................................... 825
Post-Processing - post.in
.......................................................................................................................................................... 825
Flow Between Regions - regions_flow.in
.......................................................................................................................................................... 833
Swirl, Tumble , and Angular Momentum Calculations - dynamic.in
.......................................................................................................................................................... 834
.........................................................................................................................................................
Zero-Dimensional Simulation Setup - zero_d_cases.in 850
.........................................................................................................................................................
One-Dimensional Solver Simulation Setup 856
.........................................................................................................................................................
Dynamic Mechanism Reduction - sage_dmr.in 859
Targets .........................................................................................................................................................
for Mechanism Tune - mechanism_tune_targets.in 862
1 Introduction
eliminates the grid generation bottleneck from the simulation process. CONVERGE was
developed by engine simulation e xperts and is straightforward to use for both engine and
grid control parameters. This grid generation method completely eliminates the need to
manually generate a grid. In addition , CONVERGE offers many other features to e xpedite
the setup process and to ensure that your simulations are as computationally efficient as
possible.
calculations with any number of species and chemical reactions , as well as transient liquid
domain to conform to the shape of the geometry. There are two significant disadvantages
turn eliminates the benefits of numerical accuracy and computational efficiency associated
with orthogonal grids. Second , generating a traditional boundary-fitted grid for a comple x
moving geometry can be time consuming and difficult. Often the grid generation
eliminates the need for the computational grid to coincide with the geometry of interest.
This method has two significant advantages. First , the type of grid used is chosen for
computational efficiency instead of geometry. This allows the use of simple orthogonal
grids , which simplifies the numerics of the solver. Second , the grid generation comple xity
and the time required are greatly reduced , as the comple x geometry only needs to be
mapped onto the underlying orthogonal grid. You are required to provide only a file
containing the surface geometry represented as a closed triangulated surface. This file is
easily written in Stereo Lithography (STL) format in most CAD packages. Given a proper
STL file for the geometry of interest , it will take mere minutes to prepare a surface for even
comple x geometries. Note that this user time is not spent creating a grid , as CONVERGE
performs the grid generation internally at runtime. Your time is spent uniquely identifying
various portions of the surface so that you can specify mesh motion and boundary
conditions.
At runtime , CONVERGE uses the given triangulated surface to cut the cells that are
intersected by the surface. There are many benefits of generating the grid internally by the
code at runtime rather than requiring you to generate the grid as an input to the code.
Runtime grid generation allows the grid to be changed during the simulation. Possible
changes include scaling the cell size of the entire domain , locally refining or coarsening
during the simulation , and adaptively refining the mesh. Another major advantage of
runtime grid generation is the ability of CONVERGE to regenerate the grid near moving
boundaries during the simulation without any input from you. This means that setting up
a case with a moving boundary is no more difficult than setting up a stationary case.
processes including turbulence , spray , combustion , conjugate heat transfer , and cavitation.
With these models , CONVERGE can simulate a wide variety of flow problems. The models
in CONVERGE have been e xtensively validated for internal combustion engine cases.
Limitation of Warranty
The licensed software is provided as is and as available and without representations ,
warranties or conditions of any kind either statutory , xpress
e or implied , including the
implied warranties of merchantability , fitness for a particular purpose , title and non-
infringement.
Licensee s sole remedy for any dissatisfaction with licensed software is to stop using the
licensed software.
To the fullest e xtent permitted by applicable law , under no circumstances shall licensor or
its officers , employees , successor and assigns be liable for direct damages or any incidental ,
special , consequential , e xemplary, punitive , or other indirect damages whatsoever
(including damages for loss of profits , goodwill , use , data , or other intangibles) arising out
of or in any way connected with licensed software provided hereunder whether based on
contract , tort , negligence , strict liability or otherwise , even if licensor or its related parties
Contact
support , please email support @convergecfd.com. For general assistance , please contact
Citations
CONVERGE should be cited as: Richards , K. J. , Senecal , P. K. , and Pomraning , E. ,
CONVERGE (2.4) , Convergent Science , Inc. , Madison , WI (2017).
Licenses
Adaptive zoning is included under license agreement with Lawrence Livermore National
The CE Q equilibrium solver is included under license agreement with Ithaca Combustion
Enterprise , LLC.
CONVERGE uses MKS units ( meters, kilograms, seconds, Kelvin ) almost e xclusively.
Deviations from MKS units are noted in this manual.
Note that , unless otherwise specified in the reaction mechanism file , the chemistry inputs
in that file and some of the inputs in combust.in contain reaction rate information with
units of calories for energy and gram-moles for quantity of atoms. The reason for this
exception is that the reaction mechanism file conforms to the CHEMKIN file format , which
New builds of CONVERGE are released regularly. When a new build is released , the
1.3.1 2.4.13
CONVERGE 2.4.13 is a minor release that includes enhancements and bug fi xes.
Solver
Bug fix: Fi xed a bug that caused some restarted steady-state simulations to crash.
Input
Bug fix: Fi xed a bug in reading cone_noz spray.in
in .
Boundaries
Enhancement: CONVERGE now allows a non-zero-gradient Neumann pressure boundary
Enhancement: CONVERGE now includes a sealing test utility. This tool allows you to
Enhancement: CONVERGE now gives a warning if the sealing motion type is different
Bug fix: Fi xed bugs related to sealing. The sealing feature did not work correctly when the
Spray
Enhancement: CONVERGE 2.4.6 through 2.4.12 contained a spray evaporation process
that differed slightly from the evaporation process in CONVERGE 2.3. These modifications
were put in place to improve results for high-CFL cases. These modifications caused results
from some engine cases (those with very small spray parcels) to differ between 2.3 and 2.4.
To resolve this issue , as of CONVERGE 2.4.13 , the spray evaporation process has been
changed so that the results from 2.4.13 more closely match results from 2.3 for engine
cases with small-diameter parcels. Results from other engine cases should be unaffected by
Bug fix: Fi xed a bug that caused some cases with the TAB breakup model to crash.
Bug fix : Fi xed bugs that cased errors in simulations that included the detailed
decomposition of urea model. When this model is active , CONVERGE now writes urea
mapping (or restart mapping) can take this information into account.
Bug fix: Fixed an inde xing error in restart mapping for multi-component spray parcels.
This bug caused incorrect mass fractions of spray components after mapping.
Bug fix: Fi xed a mass conservation error and a parcel radius calculation error in the Bai-
Bug fix: Fi xed a bug in the ELSA model. CONVERGE did not correctly initialize some
Chemistry
Bug fix: x Fi ed a problem in the G-Equation spark kernel initialization. Previously incorrect
Bug fix: In a simulation with adaptive zoning , the mechanism must contain N2 , O2 , and
H2O. CONVERGE now checks for these species and issues an error if any of them are
missing.
Previously CONVERGE did not always obey these start and end times for combustion
modeling. (Note that the RIF model does not use these parameters.)
Chemistry Tools
Enhancement: Added thermal diffusion into the 1D flamespeed solver.
the target species. Previously the only option was to include both the target species and
their connected species. To invoke this new option , add a minus sign in front of the weight
Bug fix: Fixed a bug in isomer lumping that caused an error in the thermal data written by
this option.
VOF
Bug fix: Fixed some bugs that caused some VOF-spray one-way coupling cases to crash on
Windows machines.
FSI
Enhancement: The applied_force fsi.in
parameter in now can vary temporally. To set up
Directory.
Output/Post-Processing
Enhancement: Y ou can now control for which boundaries CONVERGE writes wall output
and/or wall stress data. To set up this option , specify a file name in quotation marks ( e.g.,
" wall_output.in" ) for wall_output_flag in inputs.in and then include that file in the Case
Enhancement: Added a new option , reac_ratio, for monitor points. This option is not yet
Bug fix: x Fi ed a bug related to sensible_sie in post.in . Previously if this variable were
Bug fix: Fi xed a bug that affected the soot mass data in soot_pm_model.out and
soot_psm_model.out .
UDF
Enhancement: Updated the user_g_eqn_src.c. and user_spray_evap.c routines for
1.3.2 2.4.12
CONVERGE 2.4.12 is a minor release that includes enhancements and bug fi xes.
Solver
Bug fix: In rare cases that included both the MUSCL scheme and a physical model based
on one or more passives ( e.g., the G-Equation model) , CONVERGE crashed. These
cases in which a boundary moved only a small amount (typically due to user or dependent
being identical for restarted steady-state cases in which steady_auto_flag = 1. This bug has
been fi xed (CONVERGE imposes the requirement that initial and final tolerances cannot
Bug fix : Fi xed some code that caused unpredictable crashes on Windows.
Bug fix : Fi xed a bug that caused the steady-state monitor to sometimes monitor the wrong
variable.
Input
Enhancement : CONVERGE now permits comments at the end of any row in the
monitor_points.in file.
Bug fix : Added more robust error checking of dynamic.in . Previously CONVERGE did not
Materials
Bug fix: CONVERGE now reads all of the data in gas.dat
the file. Previously , if the
Boundaries
Enhancement: CONVERGE can now accommodate a coupled boundary for a fluid-fluid
interface.
Bug fix : Fi xed a bug related to the FLOW_THROUGH boundaries that led to mass
Bug fix : Fi xed a bug that caused incorrect calculations (that appeared to be a core
dependency) in some cases with both nucleate boiling and a solid-solid INTERFACE. To
solve this problem , CONVERGE now no longer calculates nucleate boiling at the solid-solid
interface.
Spray
Enhancement : The Weber number written to the post*.out files is now based on relative
Enhancement : CONVERGE now allows a profile for several nozzle parameters (nozzle
discharge coefficient , nozzle diameter , and injection radius). Previously only a constant
value was allowed. Note that the profile option for these parameters is not yet available in
CONVERGE Studio.
Bug fix: Fi xed a bug that caused a mass conservation problem in the Bai-Gosman film
splash model.
Bug fix: CONVERGE now allows detailed decomposition of urea when water is present in
the parcel.
Bug fix: CONVERGE was not calculating heat flu x when the evaporation model was
an erroneous check that showed the parcels to be outside the domain. This bug has been
fixed.
Chemistry Tools
Enhancement : CONVERGE now allows you to restart a 1D flamespeed simulation using a
restart file of any size. Moreover , the data in the restart file does not have to be of the same
fuel as in the present simulation. In some cases this option may accelerate your simulation.
Turbulence
Bug fix: x Fi ed the clipping criterion of TKE for the one-equation LES models. This bug
CHT
Enhancement: Improved the error messages that CONVERGE writes when it finds
Bug fix : For some super-cycle mapping cases , CONVERGE incorrectly identified the
boundary inde x of the master boundary. This bug has been fi xed.
Radiation
Bug fix : A bug related to radiation coupling with the energy balance equation caused
specified minimum and ma ximum temperatures. Cases with high wall temperatures were
Grid
Bug fix: Fi xed a bug that caused parcels near PERIODIC boundaries to be deleted in rare
cases. This bug did not affect cases that were run in serial.
Output/Post-Processing
Enhancement: Added a new post.in variable , bound_t_ref, which is the boundary reference
temperature for the convection boundary condition. Note that this option is not yet
Note that these options are not yet available in CONVERGE Studio.
Bug fix : Fi xed the calculation of heat release rate (in thermo.out ) for steady-state cases.
Bug fix : Fi xed a bug that caused the integrated heat release to be computed incorrectly for
UDF
Enhancement: Updated the user_restart.c UDF.
1.3.3 2.4.11
CONVERGE 2.4.11 is a minor release that includes enhancements and bug fi xes.
Solver
Enhancement: The turbulent Prandtl ( prandtl_turb ) and turbulent Schmidt ( schmidt_turb )
Bug fix : Fi xed bugs in the MUSCL scheme that caused its order of accuracy to be lower
Bug fix : Fi xed a bug that caused simulations on Windows machines to crash when the
Bug fix: A bug that occurred after load balancing caused rare cases (especially those run
Boundaries
Bug fix x : Fi ed a bug in PERIODIC boundaries that caused some sector cases to crash.
Bug fix : Occasionally CONVERGE would display a " wrong boundary motion type " error
message and , on some occasions , the simulation would crash. This error message was
Materials
Bug fix: Cases that invoked the option to manually specify lower heating values for
Spray
Enhancement: Previously CONVERGE would e xit if a spray hit a moving boundary with
of these motion types , CONVERGE now uses a general method to calculate if parcels will
Turbulence
Enhancement: Added the GruMo-UniMORE heat model ( heat_model = 3 in turbulence.in ).
occurred before ISSIM was active. CONVERGE now imposes a ma ximum spark duration
of 100 CAD for the ISSIM (only for engine cases) to avoid this problem.
Output/Post-Processing
Enhancement: Added a new post.in variable , q_criterion, which is the second invariant of
the velocity gradient tensor. This option is useful for viewing vorte x structures.
Bug fix : Fi xed a bug that incorrectly allowed pid, node_xx, triangle
and to be included in
the <cells> list in post.in . (These variables can be included in the <parcels> list.)
Radiation
Bug fix x : Fi ed a bug in radiation/spray coupling. Previously this feature did not account
UDF
Enhancement: Added user_mixing_output.c to the UDF library.
Bug fix : Simulations with UDFs did not run correctly when there was a porous media
GT-SUITE
Bug fix: x Fi ed a bug that caused some CONVERGE + GT-SUITE coupled cases to hang.
1.3.4 2.4.10
CONVERGE 2.4.10 is a minor release that includes enhancements and bug fi xes.
Solver
metis_map_frozen.out files when a simulation begins. Previously , these files were appended ,
which caused confusion for non-restart simulations.
Enhancement: CONVERGE now allows H YPRE to solve the momentum equation for
Bug fix: CONVERGE did not correctly write restart files during steady-state cases with
moving boundaries , and a restart from one of these incorrectly written files would crash.
fixed.
Bug fix: CONVERGE gave an incorrect warning message when pstar_iterations exceeded
pres_itmax . This bug has been fi xed.
Bug fix: For cases with multiple periodic boundaries , the mass flow at the inlet and outlet
varied for serial and parallel cases. This bug has been fi xed.
Input
Bug fix: Previously a problem occurred on Windows machines when reading map files of
Boundaries
Enhancement: Added a check to ensure that the coupled temperature boundary condition
Bug fix: Fi xed a bug that caused an inconsistency between the total pressure written to
regions_flow.out and that written to the post*.out files for MRF cases.
Materials
Enhancement: When skip species is active , CONVERGE now writes data for only non-
skipped species to map.out . This change could save considerable disk space for some
simulations.
Spray
Bug fix: Fi xed bugs that caused CONVERGE to incorrectly give a flux scaling factor
Bug fix: Fi xed a bug in the calculation of the total injected mass. Previously the mass
Bug fix: Fi xed a bug that caused a crash for some spray modeling cases that contained
moving boundaries.
Bug fix: Fixed a bug in the drop collision model that caused some cases in debug mode to
crash.
Bug fix: Fi xed a parcel transfer bug that caused random crashes in some spray modeling
cases.
Chemistry Tools
Enhancement: Added transport lumping of isomers if transport.dat exists and lumping is
Bug fix: Fi xed a bug that caused a crash when running hundreds of 0D cases with ASENS
in parallel.
Turbulence
Enhancement: The Generalized RNG k-epsilon turbulence model is now available. Set
FSI
Bug fix: Fi xed a bug that caused crashes in some FSI cases ( e.g., spring model cases).
VOF
Enhancement: Previously vof_spray_flag
if = 1 in vof.in, CONVERGE required
vof_spray_flag = 1 , CONVERGE will write the vof_spray.out file regardless of the value of
region_flow_flag .
Enhancement: Previously VOF-spray one-way coupling worked only with turbulent flow.
Now this feature works with both laminar and turbulent flow.
Bug fix: Previously a bug caused the injected mass to be incorrect for the spray simulation
Grid
Bug fix: Previously CONVERGE crashed when boundary AMR was set for boundaries
that do not e xist. CONVERGE now ignores such boundary AMR settings instead of
crashing.
Output/Post-Processing
Enhancement: CONVERGE can now write convective heat transfer coefficient data to the
Bug fix: The lhv.echo file did not list species names and mass fractions. This file now
would crash).
GT-SUITE
Bug fix: x Fi ed a bug that caused CONVERGE +GT-SUITE cases to crash on Windows
machines.
1.3.5 2.4.9
CONVERGE 2.4.9 is a minor release that includes enhancements and bug fi xes.
Solver
Enhancement: Two new options have been added to the steady_min_num_amr check for
Bug fix : Fi xed a bug that prevented a restart when the value of parallel_scale inputs.in in
Bug fix x
: Fi ed a bug in the variable_name
steady-state monitor: if you specified a in
Input
Bug fix : Previous versions of 2.4 did not correctly parse the post.in file when that file
bug applied only when CONVERGE was run on a Windows machine , and the bug has
been fi xed.
Output/Post-Processing
Enhancement screen_print_level
: When is at least 2 , CONVERGE now writes information
to the log file about the time taken to update boundary conditions.
Bug fix : For cases in which there was reverse flow through at least one OUTFLOW
boundary , the data in the output files varied slightly depending on the value of twrite_files
in inputs.in . This bug has been fi xed.
Bug fix : For some cases , CONVERGE saved more restart files than specified by
results for all cases in which G_PRIME was included as a passive in species.in .
Bug fix : Some ECFM/ECFM3Z cases that included CHT modeling crashed because of an
Chemistry Tools
one_d_case#.log .
Bug fix : For OD and 1D simulations , previously the equivalence ratio calculation was
Turbulence
Bug fix : For cases that included a k-omega turbulence model and the total energy solver ,
there was an inconsistency in the TKE production term between the TKE equation and the
CHT
Bug fix : Fixed a bug that caused a crash for CHT cases that were started from a restart.
Bug fix : Fixed a bug that caused a crash for some CHT cases with moving boundaries.
Radiation
Bug fix : A bug related to radiation coupling with the energy balance equation caused
some cases with radiation modeling to exhibit extreme temperatures outside of the
specified minimum and ma ximum temperatures. Cases with high wall temperatures were
1.3.6 2.4.8
CONVERGE 2.4.8 is the official release of version 2.4. These release notes describe
enhancements and bug fi xes between 2.4.6 (the beta release) and 2.4.8. (Note that 2.4.7
Solver
Enhancement: The strict conservation options ( strict_conserve_flag in solver.in ) have been
to solve all quantities (sie , enthalpy , density , scalars , species , and passives) with a final
Jacobi iteration. As of 2.4.8 , that option (solve all quantities with a final Jacobi iteration)
CONVERGE to solve all quantities e xcept passives with a final Jacobi iteration.
Enhancement: All solvers are now built against the Intel Math Kernel Library (MKL)
instead of the netlib LAPACK/BLAS implementation. This change removes the FORTRAN
runtime requirement.
Bug fix: The rela xation factor cutting mechanism was not working properly , which
caused unnecessary recovers for some cases. This mechanism has been fi xed.
Bug fix: Some simulations that included the total energy solver crashed due to NaN errors.
Bug fix: Previously the residual calculations for Jacobi and SOR solvers were not consistent
Input
Bug fix: Previously CONVERGE did not correctly read the species indices in transport.dat,
and thus warning messages about missing species were confusing. This bug has been fi xed,
and now CONVERGE writes a warning message that includes all missing species indices
Output/Post-Processing
Enhancement: CONVERGE can now write wall stress force data to the post*.out files. The
mag_wall_stress .
Enhancement: You can now direct CONVERGE to save restart files that are written at
Bug fix: When end_time in inputs.in had the same value as turb_stat_end_time in
turbulence.in, CONVERGE wrote incorrect root mean square values to the post*.out and
Boundaries
Bug fix: x Fi ed a bug related to the user option (user-defined function) for the pressure
Materials
Enhancement: Revised the error message that CONVERGE writes if skip species and
SAGE are active simultaneously (which is not permitted). The error message now suggests
Bug fix: For incompressible liquid simulations , CONVERGE wrote incorrect mass flow
simulation included combustion modeling , and thus calculations related to these species
( e.g., equivalence and react ratios) were not always correct. CONVERGE now sets species
detailed chemical kinetics model. The new option , sage_ode_solver = 2 in combust.in, is the
recommended for very large mechanisms (more than appro ximately 500 species).
Enhancement: A new option allows the G-Equation model to invoke the SAGE solver
Enhancement: CONVERGE now gives a warning when you activate both the 1D diffusion
FGM model ( fgm_flamelet_type = fgm.in 2 in ) and the FGM turbulent flamespeed model
(st_model combust.in
in , is non-zero) since this combination is not recommended.
calculation was not clipped , which in some cases led passives to become negative and
caused the cases to crash. CONVERGE now clips the unburned temperature in the
Bug fix: Fi xed a bug that caused incorrect NO x mole fraction data to be written to
emissions.out .
Bug fix: Fixed bugs in the G-Equation combustion model related to the passive source term
for ignition.
Chemistry Tools
Enhancement: For 1D simulations , you specify one_d_anchor_temp in one_d_solver.in .
Previously CONVERGE would exit if this anchor temperature was not between the
unburned temperature and the equilibrium temperature. Now if the temperature is outside
either the unburned or the equilibrium temperature , CONVERGE will automatically reset
Bug fix: Fi xed a bug in species reduction that may have caused a small error in the
sensitivity analysis.
Spray
Bug fix: Fixed a bug in the calculation of film velocities.
Bug fix: Some Windows simulations that included the detailed decomposition of urea
CHT
Bug fix: Fi xed a bug that caused some incorrect values in the super-cycling post output
files.
Bug fix: Fixed an interpolation error in super-cycling that yielded incorrect flu x data in
solid embedding level (since this situation causes a significant interpolation error). We
VOF
Enhancement: When vof_flag = 1 in inputs.in, CONVERGE writes a new output file ,
volumes.out, which contains liquid and gas volume data for the simulation. CONVERGE
species_vol_region<region ID>.out files. If you specify the file name species_output.in for
species_output_flag vof_flag
(and if = 1) , CONVERGE will write species_vol.out and
Radiation
Enhancement: For the Weighted Sum of Gray Gases model , CONVERGE previously
calculated the absorptivity coefficients with the assumption that the total pressure was 1
atm . CONVERGE now scales these calculations based on the actual total pressure.
The input and data files for CONVERGE 2.4 are significantly different from previous
update your old input and data files. Open CONVERGE Studio 2.4 and go to File > Import
to import input and data files from a previous version. Then go to File > Export x to e port
2.4 input and data files , which can be used to run a CONVERGE 2.4 simulation.
Please see the CONVERGE documentation for additional information about 2.4. The
CONVERGE Manual)
Solver
Steady-state solver : CONVERGE 2.4 contains a new steady-state solver , which is much
CONVERGE allows you to simplify a simulation that includes moving geometry. While
CONVERGE can easily simulate moving geometries , the MRF approach further reduces
computational time by eliminating the need to regenerate the mesh at each time-step to
Time-step limiter based on surface motion : A new time-step limiter prevents a moving
Efficiency
Load balancing : The load balancing algorithm has been modified to avoid scenarios
cases , is now supported. You can enable threading via the command line argument -T.
Threading is disabled by default.
Input
New parameter and file names : The input and data files for CONVERGE 2.4 are
recommend using CONVERGE Studio to update your old input and data files. Open
CONVERGE Studio 2.4 and go to File > Import to import input and data files from a
previous version. Then go to File > Export x to e port 2.4 input and data files , which can
reorganized and the emissions-related parameters have been moved to the new
emissions.in file.
Non-engine applications : Set crank_flag = 2 for non-engine , crank angle degree -based
simulations.
Mechanism and thermodynamic property file names : You can specify names for the
mechanism and thermodynamic property files rather than being restricted to mech.dat
and therm.dat .
Output/Post-Processing
Tumble ratio output : CONVERGE writes the positive and negative tumble ratios , in
Post convert frequency : You can specify the frequency with which files are post
WALL boundary output : CONVERGE writes the minimum and ma ximum yplus values ,
in addition to the average yplus values , to bound<ID>-wall.out .
Accumulated film mass : The film that summarizes the accumulated film mass has
Monitor points : A new monitor point option allows you to specify the variables to be
Parallel write option for output files : CONVERGE can write output files via a serial or
a parallel write function. The parallel write option , which is faster , is available only if
your file system supports MPI I/O. If your file system does not support MPI I/O , your
Boundaries
Tangential velocity : For velocity on a translating FI XED WALL boundary , you can
Materials
Lower heating value : You can manually specify lower heating values for individual
species by setting lhv_flag = 1 in inputs.in and including this lhv.in input file. (If lhv_flag =
0 , CONVERGE calculates the LHV from species data in the thermodynamic data file.)
Thermodynamic data file format : The thermodynamic data file can now accommodate
Fluid property calculator : CONVERGE includes a utility that serves as an interface for
the CoolProp fluid property library. You can use this utility to compute custom tabulated
Mechanism tuning : CONVERGE includes a mechanism tuning feature that allows for
automatic mechanism tuning using 0D (ignition delay and speciation) and 1D (laminar
flamespeed) cases based on 1D sensitivity. This option can be coupled with the genetic
algorithm.
Sources
Turbulence sources : Turbulence sources have been reformulated so you can directly
Steady-state sources : For steady-state simulations , source values are given as total
amount per time (previously they were given as the total amount).
reactor model , the SAGE solver now includes a new constant pressure reactor model.
G-Equation model : A new option allows CONVERGE to invoke the SAGE solver inside ,
outside , and at the flame front.
FGM model : The NO x model in the Flamelet Generated Manifold model has been
removed.
Surface chemistry : CONVERGE can model surface chemistry between a solid surface
and gas phase species. Surface chemistry can be activated on stationary wall boundaries
or in porous regions.
Soot models : The phenomenological soot models have been moved from user-defined
Chemistry Tools
0D solver : Improvements have been made to the 0D solver. This solver now contains the
CE Q model , and both CO2 and H2O have been added as EGR species (previously only
N2 could be an EGR species). In addition , the 0D solver now includes adjoint sensitivity
analysis.
1D solver : Improvements have been made to the 1D solver. The 1D solver has an
improved laminar flamespeed solver , a new PISO solver , and a new hybrid option.
Spray
ELSA : The Eulerian-Lagrangian Spray Atomization (ELSA) model is a spray injection
model that combines Eulerian multi-phase modeling and Lagrangian particle tracking
methods.
Detailed decomposition of urea model : CONVERGE includes a model for the detailed
Science and IFP Energies nouvelles. This model provides more detailed kinetics than the
Adaptive film mesh approach : CONVERGE includes an adaptive film mesh model to
Turbulence
DES models : CONVERGE contains two detached eddy simulation (DES) turbulence
models: the Delayed DES and the Improved Delayed DES models.
turbulence.in contains all of these options. Now you use heat_model to specify the desired
FSI
Spring and stiction modeling : Fluid-structure interaction modeling now contains spring
CHT
Surface duplication feature : In CHT simulations , you may want to predict heat transfer
between portions of the geometry ( e.g., in a multi-cylinder CHT engine simulation , you
may want to determine heat transfer between each of the cylinders and the solid
cylinder head). The surface duplication feature allows you to solve combustion in one
portion of the geometry ( e.g., a single cylinder) and then use heat transfer mapping for
UDF
Boundary condition UDF : Updates have been made to user_bc.c .
UDF development package : The UDF development package has been redesigned. The
header and source code tarballs have been combined into a single UDF development
package , and the UDF build environment uses CMake. Refer to the UDF Manual for
details.
This chapter gives an overview of the file types in CONVERGE. Figure 2.1 below shows
the CONVERGE workflow and where in the workflow you will encounter the various file
types.
Figure 2.1: CONVERGE workflow and file types. A denotes ASCII files. B denotes binary files.
input ( *.in ) and data ( *.dat ) files. The input files contain numerical inputs , model
parameters , and boundary and initial conditions. The data files contain thermodynamic
properties , chemical reaction data , and surface geometry information. You can create or
modify the input and data files via a simple te xt editor or you can work through the Case
Setup process in the CONVERGE Studio graphical user interface and then e xport the input
and data files. To ensure that the input and data files are formatted correctly , we
All of the input and data files must be saved to the Case Directory , which is the location
from which you will e xecute CONVERGE. If you start a simulation and a required file is
missing , CONVERGE will e xit and indicate which file is needed. At minimum , the Case
combustion model , the skip species feature , a temporally or spatially varying parameter ,
initialization via mapping) may require additional input files. Chapter 22 - Input File
Reference contains detailed information about all of the input and data files.
CONVERGE recognizes an optional hidden.in input file. You can use this file to set up
parameters for features that are in the e xperimental phase. If a feature is moved out of the
e xperimental phase , the relevant parameters are moved to other input files and
documented in this manual. The hidden.in file does not have a fi xed format, but the general
format for this file is that each line consists of the value of a parameter followed by the
There are four types of output files: echo ( *.echo , ) restart ( restart*.rst , ) cell-averaged output
( * .out ,
) and cell-by-cell post ( post*.out ).
Echo Files
CONVERGE writes a *.echo file for each *.in file ( e.g., the echo file for combust.in is
combust.echo ). Echo files give you the ability to review the input parameters and identify
problems with the case setup. For e xample, if a *.in file contains a parameter that does not
CONVERGE does not write *.echo files for *.dat files or au xiliary input files.
The *.echo files are saved to the Case Directory. Note that write permissions for the
directory must be set such that these files can be created. When re-running CONVERGE
from the same directory , the *.echo files will be overwritten without warning.
Restart Files
During a simulation , CONVERGE writes restart files ( *.rst ) and saves them to the Case
Directory. These files allow you to restart a stopped simulation from a specific simulation
time. Chapter 7 - Initialization and Regions contains more information about how to
control the frequency with which restart files are written and how to start a simulation
formatted , ASCII *.out files and saves these files in the Case Directory. CONVERGE
generates certain *.out files only if the corresponding model has been activated ( e.g.,
spray.out will not be generated if the simulation does not include spray).
Each line of data in the cell-averaged output files represents the values at a single cycle or
time-step. Through twrite_files inputs.in,in you control the frequency with which data are
Every cell-averaged output file begins with a header composed of five rows that each begin
with the character #. The header specifies the quantity and units for each column as well
as the CONVERGE version (version number and release date). The first column in each of
CONVERGE saves the *.out files to the Case Directory. If you rerun a simulation from the
same Case Directory , CONVERGE will automatically overwrite the e xisting *.out files.
If a simulation has more than one region , CONVERGE will generate *.out files for the
entire domain as well as for each region. For the entire domain , the file name format for
most output files is < file name><restart number> out . . For an individual region , the file name
format for most files is <file name><restart number>_region<region id > out . . Note that , if the
simulation is not a restart , the restart number is not included in the output file name.
For example, for data from the entire domain in a simulation with no restart , the
thermodynamic output file will be thermo.out . The region 1 thermo output file will be
inputs.in , )thermo
the output files will be thermo1.out (for the entire domain) and
Chapter 23 - Output File Reference contains detailed information about each *.out file.
The CONVERGE Studio Manual describes how to use the Line Plotting module to create
format files one file for each dump at a user-specified frequency. These cells are
converted for use in post-processors such as EnSight , GMC , Tecplot , and Fieldview. A
Because many files may be generated in this process , CONVERGE saves these cell-by-cell
output files to output, which is a sub-directory of the Case Directory. CONVERGE creates
this directory automatically when you start a simulation. If CONVERGE cannot create this
directory (likely because of restrictive permissions) , it will e xit and alert you that it was
The file names for the cell-by-cell output files are descriptive in nature. Each name contains
the output number as well as the time or crank angle at which it was written. The output
number appears first in the file name , so an alphabetical listing of the directory contents
will be chronologically correct. The file names are formatted as follows: post<output
post000001_-2.500000e+00.out
post000002_-5.783817e-01.out
post000003_1.424717e+00.out
post000004_3.432804e+00.out
post000005_5.444896e+00.out
The first output time from a run is always the initialized field , whether it is a normal run , a
This chapter describes the pre- and post-processing tasks that may be necessary before or
after running a CONVERGE simulation. This chapter also includes a brief overview
Before you run a simulation in CONVERGE , you must ensure that all necessary input and
data files reside in the Case Directory , which is the directory from which you will run
CONVERGE. The input and data files are in ASCII te xt format. You can edit these files in
a text editor or via the Case Setup module in CONVERGE Studio , which is the graphical
user interface that accompanies CONVERGE. Although you can edit the surface geometry
by manually editing the surface geometry file ( e.g., surface.dat ) in a te xt editor , CONVERGE
Studio is the most efficient and reliable way to modify the geometry.
Please refer to the Getting Started Guide for information regarding installing and licensing
CONVERGE and CONVERGE Studio. Refer to the CONVERGE Studio Manual for
Grid generation traditionally has been a major bottleneck for widespread use of CFD.
Many CFD solvers require a manually-generated grid , which is so time consuming that
generates the grid at runtime. To make this possible , CONVERGE uses a modified cut-cell
Cartesian grid generation method. The geometry surface is immersed within a Cartesian
block. CONVERGE trims the cells at the intersecting surface , after which the intersection
information (surface areas , normal vectors , etc.) is reduced before being stored for each
cell. This allows for comple x surface intersections to be represented more easily. Figure 3.1
shows a post-processing visualization of the cutting process and what a cut-cell looks like
in CONVERGE. For this cutting process to be done properly , the surface must meet a
certain set of criteria. These cell-cutting surface criteria are described later in this chapter.
(a) (b)
(c) (d)
CONVERGE generates the grid internally at runtime. This process involves moving the
surface to the proper location (if the geometry includes moving components) , trimming the
boundary cells , refining any embedding areas , and then removing the refinement from the
embedding. For stationary geometries , CONVERGE performs this process once at the start
of the simulation and again whenever the geometry is refined or coarsened. For moving
geometries , CONVERGE performs the grid generation process at each time-step. The
You must provide a surface geometry file as an input to CONVERGE. You also have the
option to supply additional files to control fi xed embedding , Adaptive Mesh Refinement ,
and grid scaling. CONVERGE does not require these additional grid control files , but they
connectivity information for the surface triangles). If you have an STL file , you can import
it into CONVERGE Studio , edit the geometry as needed , and e xport the geometry as a
properly formatted .dat file ( e.g., surface.dat ). Alternatively , you can use the make_surface
utility to generate a surface geometry file for a simple surface.
Table 3.1 below describes the format of the surface geometry file.
the verte x.
Row (2 +numverts) to vert1 vert2 vert3 Identifiers of the vertices making up the
Row (1 +numverts +numtriangles) bound_id corners of the surface triangle and the
triangle.
CONVERGE allocates an array the size of the numverts_tot value to store the verte x
information. As CONVERGE reads each of the following rows , it uses the verte x ID as an
array inde x for storing the verte x information. The numverts is simply the number of
vertices defined in the file , i.e., the number of rows that are used to define vertices in the
are sequentially listed from 1 through numverts, though this is not necessary ( i.e., the verte x
IDs do not need to be sequential).
Immediately following the rows of verte x identification information are numtriangles rows
of surface triangle definitions. Each surface triangle must have three verte x IDs to define
its three corners and a bound_id that corresponds to a boundary identification number in
the boundary.in file. The order in which the three defining vertices are given is critical: the
order of the vertices defines which side of the surface triangle points to the inside of the
The triangulated surface must be closed ( i.e., no gaps between the triangles) in order for
CONVERGE to process the surface properly. If the surface is not closed , CONVERGE will
not run. Use CONVERGE Studio to check the surface for closure and triangle orientation
The computational e xpense of trimming the Cartesian fluid cells by the surface depends on
the number of triangles constituting the surface. This may not be critical for a stationary
surface ; however , for a moving surface , where CONVERGE regenerates the grid at each
time-step , trimming the Cartesian fluid cells can be somewhat costly. Therefore , for a case
with moving geometry , ensure that only necessary triangles are included in the surface.
CONVERGE does not limit the number of triangles that can cut a single fluid cell.
This section and the subsequent subsections describe the criteria that need to be met by a
that your surface is properly configured before running a CONVERGE simulation , and
you should never assume that an STL file generated by a CAD program does not contain
any of these problems. We recommend using CONVERGE Studio to identify and eliminate
While the surface geometry needs to accurately represent the shape of the object(s) to be
simulated , CONVERGE does not place restrictions on the size or skewness of the triangles
that constitute the surface. Skewed triangles will not affect the numerical stability of the
fluid mesh.
Any solid immersed within the fluid geometry must have a finite thickness so that the
normal vectors of the triangles constituting the solid point to the fluid (inside) on one side
The subsections that follow describe the types of surface defects (open edges , nonmanifold
In a closed triangulated surface , each triangle shares each of its three edges with e xactly
one other triangle (e xcept in special Conjugate Heat Transfer simulations). If an edge is
part of only one triangle , this creates what is called a open edge.
Figure 3.2 shows e xamples of open edges. In (a) , a series of open edges looks like a hole. In
(b) , open edges make the surface appear incomplete. CONVERGE will not run if there are
You can often repair open edges by compressing vertices or by adding triangles to fill any
gaps. You can simulate multiple independent , closed regions in one simulation , for
example, simulating flow over a sphere immersed in a bo x. Both the bo x and sphere must
(b)
(a)
Figure 3.2: Two examples of open edges. The edges highlighted in red indicate edges that are part
of only one triangle, resulting in a surface that is not closed.
With the e xception of special conjugate heat transfer cases , every edge in the geometry
needs to be shared by e xactly two triangles. If more than two triangles share a common
It is impossible to have distinct inside and outside directions when a surface contains
with line segments instead of triangles. Note that in Figure 3.3 (a) the geometry has a
distinct inside and outside ( i.e., all normal vectors point inside). In Figure 3.3 (b) , however ,
the presence of the red segment precludes any proper orientation of the geometry ( i.e.,
there is no proper inside/outside orientation of the red segment that will be consistent
with the inside/outside orientation of the rest of the geometry). In this two-dimensional
example, the points where the red segment intersects the original closed geometry create T-
three-dimensional case.
(b)
(a)
Figure 3.3: 2D example of the multiple edge sharing problems. (a) A properly defined
2D geometry with a single inside/outside orientation. Each segment shares an
intersection point with exactly one other segment. (b) The original surface plus an
additional segment that makes it impossible to define a proper inside/outside
orientation. This new geometry has two improper 3-way intersections.
Figure 3.4: A cut-away, three-dimensional view of nonmanifold (or T-junction) triangles as they
appear in CONVERGE Studio. The blue-green triangles have been rendered semi-transparent for
clarity. Some brown and tan triangles have been hidden to show the T-junction.
surface. This type of problem can be difficult to detect in a surface. Figure 3.5 shows a two-
dimensional e xample. Figure 3.6 shows how CONVERGE Studio graphically represents
parallel triangles that have been moved too close together and thus are considered
intersecting.
At a minimum , visually inspect the surface to ensure that there are no surface
intersections. For e xample, when modeling valves , verify that the valves are not closed too
far , so that the valve angle overlaps the valve seat , as shown in Figure 3.6.
(a) (b)
Figure 3.5: (a) All points in space are either inside the surface or outside the surface. (b)
Intersecting surfaces cause some volumes to violate the above criteria.
Figure 3.6: CONVERGE Studio depicts parallel triangles that are too close with inconsistent
coloration. In CONVERGE Studio, go to Geometry > Transform > Translate to move these intersecting
triangles.
Overlapping and sliver (distorted aspect ratio) triangles are some of the most common
problems found in triangulated surfaces generated from CAD packages , and they cannot
be easily seen. These problem triangles do not result in open edges or nonmanifold edges
The figures below illustrate the concept of overlapping triangles and sliver triangles.
Figures 3.7 (a) and (b) show two acceptable two-dimensional ( i.e., all vertices are co-
planar) triangle configurations. The triangles in the e xample are AEC , ABE , ACB, and
BCD , with all of their normal vectors pointing out of the page. Both surfaces are
considered properly triangulated (with respect to overlapping triangles) and could be part
E E
A
A B
C B C
D D
(a) (b)
Figure 3.7: Four triangles formed by coplanar vertices A, B, C, D, and E. Both (a) and (b) are
acceptable surface triangulations.
If verte x A is located on segment BC , as shown in Fig. 3.8 (a) , then vertices A , B, and C are
collinear and thus triangle ABC has zero area. This zero-area (distorted aspect ratio)
triangle will have a random normal vector and will cause errors in CONVERGE.
Figure 3.8 (b) shows the same set of triangles with verte x A located below segment BC. In
this case , triangle ABC has flipped and now its normal vector points into the page instead
of out of the page. In essence , the entirety of triangle ACB and small portions of triangles
AEC , ABE , and BCD are all occupying the same space , generating a triangle intersection ,
which CONVERGE does not allow.
E E
A
C
B C B
A
D D
(a) (b)
Figure 3.8: The same triangles as in Figure 3.7, but in case (a), vertex A is collinear with segment BC,
resulting in a zero-volume (distorted aspect ratio) triangle ACB, which will have an undefined
normal vector. For case (b), triangle ACB is flipped and has a normal vector pointing opposite those
of the other three triangles. Neither example is permitted in the CONVERGE surface geometry file.
In Figure 3.7 (a) and (b) , all segments between triangles have edge angles of 180 . In Figure
3.8 (a) , the edge angle associated with segments AB , BC ,
and AC is 0 . An edge angle of
less than 60 usually indicates a problem area in the surface. However , many geometries
will have sharp features consisting of triangles that will be highlighted by a 60 feature
angle. Examine areas with a highlighted feature angle to determine if the geometry
actually has a sharp feature in the surface , or if the geometry is flat and the triangulation
of the surface has resulted in an inappropriate situation such as in Figure 3.8 (b). You can
retriangulating the system as shown below in Figure 3.9. The retriangulation creates
C
B
A
D
Figure 3.9: A retriangulation of Figure 3.8 (b) yields an
acceptable triangulation of the surface.
CONVERGE requires the surface to have a properly defined inside (solved fluid side) and
outside (non-fluid side). The normal vectors of all triangles (as defined by the right-hand
One e xtra normal orientation step is required when a surface consists of multiple
domain , such as a sphere immersed in (but not connected to) a bo x. For the immersed
sphere , the normal vectors of the triangles must point away from the center of the sphere ,
since the solved fluid portion of the domain is outside of the sphere. The normal vectors of
To use the periodic surfaces option , CONVERGE requires that the two surfaces must have
exactly the same geometry and must both be designated as PERIODIC boundary types in
boundary.in .
On curved surfaces , vertices must match e xactly on both sides of the periodic surfaces ( i.e.,
there is a one-to-one correspondence of vertices on both faces) otherwise the geometry on
the matched periodic surfaces will not be exactly the same. Always verify that the
geometry of the matched periodic surfaces is e xactly the same before starting a simulation.
For engine sector cases , using the make_surface utility is the best way to ensure these
The make_surface utility in CONVERGE (also available as the Make Surface tool in
CONVERGE Studio) will automatically configure the surface geometry file ( e.g.,
surface.dat) for engine sector cases. You may wish to simulate an a xi-symmetric engine
sector , xample
an e of which is shown below in Figure 3.10 , rather than a full engine to
In sector cases , you need to specify values for the velocity and turbulence fields at the start
of the calculation. To determine accurate velocity and turbulence field values , run
CONVERGE with intake ports and valves included in the geometry from the intake valve
opening time until all valves are closed. This will simulate the complete induction event
and give you accurate velocity and turbulence fields. Then use these velocity and
turbulence values to create a map.dat file to initialize by mapping for the sector case.
CONVERGE Studio ( i.e., without using the Make Surface tool) , the make_surface utility of
the Make Surface tool will yield an engine sector geometry that is defect-free , boundary-
It is important to note that the periodic face of a sector geometry must be symmetric about
the XZ plane and the piston motion must be along the z -a xis, as shown below in Figure
3.11. When you use the make_surface utility to create a sector geometry , this configuration
will be generated automatically. If you do not use this utility (or the corresponding tool) to
prepare the geometry , you must prepare the periodic faces so that they are symmetric
The make_surface utility requires the makesurface.in file. Table 3.2 lists the parameters in
makesurface.in . Figure 3.12 shows an e x ample makesurface.in file. Once you have prepared
themakesurface.in file, save it to the Case Directory. From the command line , go to the Case
make_surface
wrist_pin_offset Engine wrist pin offset ( m ). This parameter can be negative as the
target_crevice_depth . The other three parameters must be assigned a fi xed value (or set to
NO_USE if no crevice is to be generated). Note that both crevice parameters must be set to
0.13716 bore
0.1651 stroke
0.1 conrod
0 wrist_pin_offset
ADJUST target_comp_ratio
0.01 target_squish_height
NO_USE target_crevice_width
NO_USE target_crevice_depth
60.00 theta
0.005 dx
0.005 dy
0.005 dz
0 create_profile
6 nforces
2.0 kspring
6.0 xmax
-4.0 ymin
0.001 minsquish
Figure 3.12: An example of makesurface.in for make_surface utility.
You can let the make_surface utility create a method of forces or flat surface head and/or
bowl profiles , or you can provide non-flat profiles using the head_profile and bowl_profile
input files.
To use the method of forces to have the make_surface utility create the piston bowl and
head profiles , set create_profile = . 1 Then enter values for nforces, kspring, xmax, ymin, and
minsquish . The method of forces calculates displacements due to the number of forces
nforces
( ) acting on a flat spring that has a stiffness kspring . CONVERGE generates the head
and bowl profiles due to the displacements from these forces. You must also include in the
Case Directory a forces.in input file that specifies the magnitude of each force. Note that
nforces must be equal to the number of forces specified in the forces.in input file.
To use a flat surface for the head and/or bowl profiles , set create_profile = 0. If you do not
provide a bowl_profile file , the make_surface utility will create a flat profile for the piston
bowl. This profile will be based on the value of the bore parameter in makesurface.in . If you
do not provide a head_profile file , the make_surface utility will create a flat profile for the
head. Again , this profile will be based on the value of the bore parameter in makesurface.in .
To provide your own head and/or bowl profile information , set create_profile = 0. Save the
files containing basic x, z coordinate information for the head and bowl as head_profile and
bowl_profile, respectively. The file format is shown below in Figure 3.13. The first point in
each profile must be at the a xis (x = 0.0). If the last point in the profile is not at the cylinder
radius , the make_surface utility will create an additional point with the x value equal to the
cylinder radius and the z value equal to the last point specified in the profile. The x
coordinates are absolute , while the z coordinates are relative and will be adjusted based on
stroke and squish. The units of all values must be in meters . With these head_profile and/or
bowl_profile files present , the make_surface utility will generate a surface geometry file that
0.000000e+00 -1.741080e-01
5.700000e-03 -1.762060e-01
8.400000e-03 -1.772170e-01
1.110000e-02 -1.781950e-01
1.380000e-02 -1.791890e-01
1.659200e-02 -1.802050e-01
1.940700e-02 -1.812610e-01
2.160000e-02 -1.820600e-01
2.375000e-02 -1.828310e-01
2.575000e-02 -1.836180e-01
2.810000e-02 -1.844820e-01
3.000000e-02 -1.851750e-01
3.233300e-02 -1.860120e-01
3.410000e-02 -1.866530e-01
3.733800e-02 -1.872210e-01
4.000000e-02 -1.868740e-01
4.216700e-02 -1.859010e-01
4.413300e-02 -1.844430e-01
4.568300e-02 -1.824290e-01
4.663900e-02 -1.801370e-01
4.699000e-02 -1.775690e-01
4.699000e-02 -1.693210e-01
6.858000e-02 -1.693210e-01
Figure 3.13: A sample bowl_profile.
Extract Profile
The extract_profile utility can e xtract a bowl or head profile from almost any geometry.
This utility is useful for a geometry in which the bowl or head does not have straight radial
To use the extract_profile utility, supply a surface.dat file. The geometry must be centered at
z = 0 and any cut-plane through the geometry must form a closed loop. You will have to
remove ports and valves from the geometry to form a closed loop.
When you e xecute extract_profile, it will obtain the x and z coordinate data from points
along a straight line in the bowl or head , as shown below in Figure 3.14.
Figure 3.14: The bottom green line shows the line along which extract_profile obtains the x
and z coordinate data for the profile.
Once you have obtained the x and z coordinates of the bowl or head profile , follow the
instructions for running the make_surface utility to construct the complete geometry. Figure
3.15 shows a view of the e xtracted bowl profile in the xz plane. Figure 3.16 shows the
Figure 3.16: The complete geometry including the bowl shape rendered in
CONVERGE Studio.
Once the surface has been checked for problems and corrected , the last step is to flag the
conditions is not part of the surface preparation (although you can prepare the boundary
input file using CONVERGE Studio) , but is instead a separate input file , boundary.in . All
that is required in the surface preparation is to flag the triangles according to the
the Surface Geometry File Format section , each triangle in the surface geometry file is
It is often useful to divide up a single boundary type into multiple boundaries to allow for
more control and fle xibility when specifying grid refinement. For e xample, even though a
valve could be represented as a single boundary type , additional embedding near the valve
angle may improve the precision of the results in this area. To achieve this , flag the valve
angle as a separate boundary type from the rest of the valve. Then , when defining
embedded regions , you can dictate additional layers of embedding on this portion of the
valve.
The boundary IDs used do not need to be sequential and there is no limit on the number of
boundary IDs that can be specified. Any boundary IDs assigned to triangles in the surface
geometry file that do not have a corresponding entry in the boundary.in file will cause the
Moving boundaries are flagged in the same manner as stationary boundaries on the
surface. You will define the actual motion of the boundary in boundary.in, but before
e xecuting the simulation , you must also follow a few other boundary motion-preparation
CONVERGE allows you to define boundary motion using three different techniques:
When specifying the boundary velocity , the surface data file ( e.g., surface.dat ) imported to
CONVERGE represents the surface at time = 0.0. If the you start the simulation at any
other time , CONVERGE will adjust the moving surface to the appropriate position , based
on the specified velocity and the initial grid position. To specify a velocity for a boundary ,
enter a velocity vector after the keywords velocity and la, sl, or di for that boundary in
boundary.in . The boundary will move at the speed and direction specified by this velocity
If you use the piston motion option , CONVERGE will automatically generate position-
versus-time data for a piston based on the bore, stroke, connecting_rod, crank_offset, and rpm
parameters specified in engine.in . This option is allowed crank_flag
only when = 1 in
inputs.in and when an engine.in file is in the Case Directory. The surface geometry file must
be e xported with the piston in Bottom Dead Center (BDC) position when using the piston
For the position-versus-time boundary motion option , supply a separate *.in position file
These three-dimensional position values are the offsets (not velocities) relative to the
original position of the boundary , which is defined in the surface geometry file ( e.g.,
surface.dat ) that you e xported from CONVERGE Studio into the Case Directory.
For e xample, if the geometry is an engine and the valves are in a closed position when you
e xport the surface geometry file , the position information you specify in the *.in position
file dictates how the valve moves away from its closed position during the simulation. For
a vertical valve engine with the valves initially closed , the x and y position would be 0.0 for
all times ( i.e., there is no motion in the x and y directions because the valves move
vertically). The z position should be specified as 0.0 for all simulation times when the valve
is closed and open up to ma ximum lift over time and then back to 0.0 to close the valve.
If a periodic boundary is adjacent to a moving boundary , such as the green periodic face is
adjacent to blue moving piston boundary shown in Figure 3.17 below , and if this periodic
boundary has interior triangles ( i.e., triangles that do not share a verte x with another
boundary) , you must apply a Translating velocity boundary condition to this periodic
Periodic translating boundaries move differently than wall translating boundaries. Only
the interior vertices (vertices not shared by triangles on other boundaries) will translate on
a periodic boundary. The vertices shared by triangles on neighboring boundaries will move
(or remain stationary) according to the velocity boundary condition of these neighboring
boundaries.
Consider the engine sector e xample shown in Figure 3.17 below. The blue boundary is the
piston face which is defined as Translating (moving). The red boundary is the cylinder
wall and the green boundary is the front periodic boundary . Notice that many of the
triangles that constitute the periodic boundary are defined by vertices that will not move
For the simulation to e xecute properly, you must specify that these interior triangle vertices
translate in conjunction with the piston. By defining this periodic boundary as translating ,
the interior triangle vertices will be translated. The triangle vertices on the periphery of the
periodic face will move according to the boundary type they are shared with , ( e.g., vertices
shared with the piston will move according to the piston motion , vertices shared with the
The direction of translation of the vertices on the periodic face must be tangential to the
triangle face , so that each triangle will maintain the same normal vector. If there are no
triangle vertices wholly contained within the periodic face (interior vertices) , it makes no
Three of the surface defects described earlier , surface intersection , overlapping triangles ,
and zero-area/sliver triangles , can also occur while the simulation is e xecuting, when the
boundaries in the surface move. The boundary locations as they appear in the e xported
surface geometry file only represent the actual geometry at one instant in time. During the
simulation , CONVERGE will move the vertices on moving boundaries according to the
motion defined in the boundary.in file. Therefore , you must ensure that no surface defects
To avoid zero-area triangles and overlapping triangle defects , verify that no stationary
vertices will be in the path of a moving surface. This problem can often occur on
For e xample, in the case of an engine , you must define the cylinder liner boundary as a
ring of vertices around the periphery of the head connected by a single row of triangles to
an identical , parallel ring of vertices on the periphery of the piston face. An e xample of this
(a) (b)
Figure 3.18: An example of a properly configured surface geometry for piston cylinder in
CONVERGE Studio, showing the surface when the piston is at BDC (a) and at TDC (b). For
both positions, the cylinder liner surface consists of only one row of triangles.
A triangle configuration that will cause errors during boundary motion is shown in Figure
3.19 below. Notice in Figure 3.19 (a) the triangulation of the planar (green) periodic face
of the sector is valid for the boundary position shown. This triangle configuration ,
however , causes a problem as the piston nears Top Dead Center (TDC) position because
the verte x on the lip of the piston bowl crosses over the segment connecting the center of
the bowl to the outer radius of the head. This causes the triangle to flip , creating an invalid
surface as seen in Figure 3.19 (b). An allowable triangulation of the periodic face is shown
(a) (b)
Figure 3.19: An example of a moving piston sector case showing improper triangulation of a
surface. The problem triangle is shown outlined in yellow. The surface in (a) is valid, but when
the piston moves upward, the triangle flips as shown in (b), causing a surface defect.
(a) (b)
Figure 3.20 A modified and allowable triangulation of the piston cylinder sector case. The
surface is valid both in (a) and (b).
You must also be aware of intersecting triangles. At no time during the simulation can
triangles overlap or intersect. At any location where two surfaces come in contact with
each other in the actual , physical object being modeled , you should prepare the surface
geometry with a minimum separation between these two portions of the surface.
the actual , physical cylinder , the valves close tight against their seats. In the CFD
simulation , the triangles on the valve boundary should never actually contact the triangles
on the seat boundary this would cause intersecting triangles. There is no minimum
distance required between two triangles. As long as the triangles do not intersect , the
geometry is valid.
Typically , the reason for bringing two surfaces together is to close off flow between two
regions. Since CONVERGE does not allow triangles to actually overlap or intersect , the
regions up and downstream of this area is never completely separated. Use the events.in
input file to configure events that will allow or discontinue flow between two regions.
Boundary motion results in three different types of triangle motion: moving, non-moving,
and intermediate . A triangle's motion type depends on how each verte x in the triangle
Vertices are shared by multiple triangles. If any of the triangles attached to a verte x are
moving , the verte x also moves.Moving triangles consist of vertices that are all moving
along the same vector. Non-moving triangles consist of vertices that are all stationary.
A triangle with intermediate motion is one that is composed of both moving and non-
moving vertices. This type of triangle is flagged to a non-moving boundary , but it shares
Inspect these intermediate triangles carefully when preparing the surface. The normal
vector on an intermediate triangle must not change as the boundaries move during the
simulation. To keep the normal vector constant during boundary motion , the moving
vertices of the intermediate triangle must move within the plane of the triangle. That is , the
An e xample of intermediate triangles are on a cylinder liner in an engine. The piston moves
in the z direction only and the head is stationary. Figure 3.18 in the previous section shows
how the triangles on a cylinder liner deform (stretch and shrink) during the piston motion
(the triangles on the cylinder liner move with intermediate -type motion). To keep the
normal vector constant during the geometry motion , the vertices on the periphery of the
head and the piston (the vertices that make up the intermediate triangles on the cylinder
liner) must be aligned in the x and y directions. Ensuring proper verte x alignment will
prevent the triangles from becoming skewed as the piston moves in the z-direction and
This type of surface defect can result in two problems. First , if the verte x misalignment is
slight , mass may not be perfectly conserved. Second , if the misalignment is severe ( i.e., if
new fluid cells will be created due to the non-planar effects of the intermediate triangles) ,
this could lead to problems initializing the new cells. CONVERGE will check alignment
when the simulation starts and will output a warning if alignment e xceeds a
predetermined tolerance.
Use the boundary sealing feature to control/prevent fluid flow within a region. Boundary
sealing is somewhat similar to using OPEN and CLOSE events , but instead of controlling
the flow between regions , you can specify boundary sealing to prevent flow between
different parts of the same region. Another difference between boundary sealing and
OPEN/CLOSE events is that you can specify a very specific location in which to place the
seal , such as around the edges of a port or between the top of the piston and the liner.
One common use for boundary sealing is to prevent flow between the combustion
chamber and the intake or e xhaust ports in a two-stroke engine cylinder. In an actual two-
stroke engine cylinder , the body of the piston is positioned tightly against the cylinder wall ,
thereby preventing flow through the ports attached to the cylinder wall when the piston
nears top dead center. In CONVERGE , however , intersecting triangles are prohibited and
thus two parts of the geometry cannot touch (refer to the previous Surface Defects Caused
One way to prevent triangle intersections in a two-stroke engine geometry is to scale down
( i.e., make it smaller) the piston geometry. However , this method will create an unrealistic
cylinder volume during the simulation. After scaling down the piston geometry (or just the
vertices on the perimeter of the piston) , use CONVERGE Studio's Seal tool (or
CONVERGE's make_seals utility) to disconnect the volume (and the flow) from the cylinder
In a two-stroke engine case as shown in Figure 3.21 , without using CONVERGE's sealing
feature , significant crevice volumes between the liner (Boundary 2) and the piston skirt
(Boundary 3) will produce computational inaccuracies. The solid lines for the piston
(Boundary 1) and the piston skirt (Boundary 3) represent the piston at Bottom Dead
Center (BDC) in Figure 3.21. The dashed lines represent the piston boundary as it is
compressing the air-fuel mi xture. With no seal specified , CONVERGE will include the
unrealistic crevice volume in the flow and volume calculations and will not close the flow
between the cylinder and the exhaust port , create a seal between the cylinder liner
boundary and the piston boundary. In the two-stroke engine e xample below , seals must be
created in two different locations in order to separate the cylinder volume from the crevice
Use one of the two available methods to create seals for your simulation:
Use the seal_tol parameter in inputs.in to specify tolerance for any seals. The value for
seal_tol determines how far the sealing algorithm will search when projecting a seal verte x
onto a boundary. We recommended that this value is at least two times the distance
between the parts to allow for a safety factor. For e xample, if you create a piston that is
0.1 mm from the liner , it is recommended that you use a seal_tol of at least 0.2 mm .
The two options to create seals are described in the following two sections.
Figure 3.21: A two-dimensional schematic that describes the logic of boundary sealing for a two-
stroke engine geometry.
the seals in addition to the regular surface geometry file information. The summary of the
Row (2 +numverts) vert1 vert2 Identifiers of the vertices making up the corners of the surface
(1 +numverts +numt
riangles)
Row vert1 vert2 vert1 : vertex identifier for the sealed edge.
(2 +numverts +numt direction vert2 : vertex identifier for the sealed edge.
riangles) bound_id direction : Flag for direction of sealing.
to
moving 0 = Direction of the seal edge is the average of the normal
One difference between the new sealed surface geometry file ( surface_new.dat ) and the
non-sealed geometry file (see Table 3.2) is that the sealed geometry file has the additional
column numseals in Row 1. This file will also have e xtra rows (for the seals) appended to
make_seals Utility
To seal the boundaries of a surface geometry file , change the name of the surface geometry
called surface_new.dat that uses the surface.dat file as a seed file. surface_new.dat will contain
To initiate the make_seals utility from the terminal , change to the directory containing all
input , data files , and the CONVERGE e xecutable, and type make_seals. CONVERGE will
1. The boundary IDs of the two boundaries between which the seal will be created.
Type 0 to use the average angle of the two normal vectors of the triangles that belong to
the two respective boundaries , specified in (1) as the direction of the plane of the seal
triangles.
Type 1 to make the plane of the seal triangles parallel to the normal vector of the
Type 2 to make the plane of the seal triangles perpendicular to the normal vector of the
3. The boundary ID of the direction triangles that will bet used to determine the direction
Type 0 to make the boundary you assign in the which boundary will it be sealing
up against step (see Figure 3.22 below) stretch as needed to create a seal. The seal
edges will not move with this option , but the boundary it is sealing up against will
deform to create the seal. This option is recommended only when the seal edge and the
boundary it is sealing up against are very close to each other (typically within 1e-6
meters ).
Type 1 to move the seal edges to the boundary to create a seal. The boundary to which
these seal edges will be moved is the one you assign in the which boundary will it
be sealing up against step. This option is often useful for specifying a seal edge on a
Figure 3.22 below shows sample input for the make_seals utility scenario shown in Figure
3.21 above.
make_seals
The sample inputs in Figure 3.22 correspond to the creation of seal triangles between the
boundaries as shown in Figure 3.21. For the first seal , moving = 1 , so CONVERGE will
move the seal edges (the set of edges between the piston and the piston skirt Boundaries
1 and 3 , respectively) to Boundary 2. These seal edges will move as needed toward
For the second seal in Figure 3.22 , the seal between the liner and the port (Boundaries 2
and 4 , respectively) is not moving ( moving = 0). For this seal , Boundary 3 will be stretched
as needed to create a seal against the seal edges specified between Boundaries 2 and 4.
connection between two boundaries that are not actually connected in the surface
geometry.
The screenshots below show a seal that creates a seal between the outer ring of edges
around a piston and the liner. The steps below summarize the process of creating a seal
1. Create a new seal row in the Seal section of the Geometry dock by clicking Add Seal.
2. Select the boundary to which the section of edges will be sealed from the To Boundary
pull-down list.
3. Select the section of edges from which the seal will e xtend. Each edge in this section of
edges must be shared by e xactly two triangles. This is the reason the Piston Skirt is used
triangles must be part of the seal edge section. If you select some triangles that do not
share an edge with the seal edge section , these are simply ignored by CONVERGE
Studio. Only triangles with one edge in the seal edge section will be used to determine
5. Click Assign at the bottom of the Geometry Dock and the seal edge section , as well as
the triangles that define the direction of the seal , will be highlighted.
6. Choose from the three options for seal direction: Average, Parallel, or Orthogonal .
Double-click on the pull-down menu in the Direction column to select one of these
options. Parallel causes the seal to e xtend in the direction of the plane created by the
adjacent triangle chosen for seal direction. Orthogonal causes the seal to extend
orthogonal to the direction of the plane created by the adjacent triangle chosen for seal
Average
direction. makes the seal direction point halfway between the Parallel and
for this seal will be move towards the To Boundary in order to create the seal. If you do
not check the Move checkbo x, the boundary selected as the To Boundary will stretch or
deform as needed to create the seal. This option is available only when the seal edges
7. CONVERGE Studio shows light blue arrows indicating the direction the seal.
8. Use the Transform > Translate tool to move the boundary (piston boundary in this
example) in its direction of motion to confirm the seal moves with the boundary as
expected.
Figure 3.23: Creating a SEAL: Step 1 - Click the Seal button in the Geometry dock and then click
Add Seal to begin the seal configuration process. These screenshots hide portions of the Liner
and Piston Skirt boundaries for clarity.
Figure 3.24: Creating a SEAL: Step 2 - Double-click on the To Boundary drop-down menu and
select the name of the boundary to which the edge section will be sealed. This example creates
a seal between the Piston and the Liner, so Liner is selected from the To Boundary list.
Figure 3.25: Creating a SEAL: Step 3 - Check the Select seal edges checkbox and, with the By
Boundary Fence selection criterion, click on a fence that is around the edge of the piston. Refer to
the Geometry Dock > Boundary section of the CONVERGE Studio Manual for more details
regarding the use of boundary fences.
Figure 3.26: Creating a SEAL: Step 4 - Check the Select triangles for defining seal direction
checkbox and, with the By Boundary selection criterion, click on any triangle in the Piston Skirt
boundary.
Figure 3.27: Creating a SEAL: Step 5 - Click the Assign button at the bottom of the Geometry
Dock and CONVERGE Studio will display light blue arrows where the seal has been created.
CONVERGE Studio also highlights the seal direction triangles. Note that all triangles selected
in the last step that did not share an edge with the seal edge set are simply ignored by
CONVERGE Studio, and not highlighted.
Figure 3.28: Creating a SEAL: Step 6 - Double-click the pull-down menu in the Direction column
to choose between Average, Parallel, and Orthogonal for the seal direction. You may change this
seal direction at any time.
Figure 3.29 - Creating a SEAL: Step 7 - CONVERGE Studio will display the light blue seal
arrows after the seal creation process is complete. If you select the row containing the seal
information in the Geometry Dock, CONVERGE Studio highlights either the seal edge section
or the seal direction triangles in the Graphical Window. Check the box in the Move column if
the seal edge section will move during the simulation.
Figure 3.30 - Creating a SEAL: Step 8 - Use the Transform > Translate tool to move the boundary
in its direction of motion to confirm the seal moves with the boundary as expected.
The seal(s) created using CONVERGE Studio will be saved in the main *.cvg file. This
seal information becomes part of the surface.dat file when you e xport all of the input
sealing setup.
converge -l
check_grid_motion_flag = 1 in inputs.in . There is only a single level of cells , and most options
(including AMR , embedding , sources , mapping , events, etc.) are automatically turned off.
Using the multiple reference frame (MRF) approach in CONVERGE requires three steps.
2. Special treatment for the flow_through boundaries and WALL boundaries in the moving
reference frame(s)
3. Configuration of mrf.in
To separate the local reference frame(s) from the inertial frame , you must create additional
boundaries in the geometry. These boundaries must be situated in such a way that the
interface between the local and inertial reference frames is smooth. This way , numerical
Typically , you create two additional boundaries as interfaces between the inertial and local
reference frames. These reference frame boundaries must be a shape such that the cross
product of the rotation vector and the position vector from the rotation origin to a point on
the interface surface is tangential to the interface boundary at that point. For WALL
boundaries within this local reference frame , specify the boundary conditions in the
inertial frame (see Multiple Reference Frame Approach). This way , you can easily convert
You can use CONVERGE Studio to create the additional boundaries that delineate the
boundary is situated between the inflow and pump impeller (in solid gray). The second
INTERFACE is a band around the circumference of the impeller (in solid red) that
separates the impeller blades from the volute chamber. In this e xample, the local reference
3.9 Post-Processing
You can specify which quantities will be written to the post*.out files by designating them
in the post.in file. CONVERGE contains utilities to assist in post-processing simulation data.
Post Convert
To prepare the output files for three-dimensional visualization , use the post_convert utility
to convert the cell-by-cell output data (located in the output directory within the Case
Directory) into an appropriate format for EnSight , FieldView , Tecplot , or GMV. You can
also use this utility to create cell-by-cell data in column format in te xt files for selected
variables. (Note that CONVERGE Studio contains an analogous Post Convert tool. Refer to
In the command line , go to the output directory and then type post_convert. CONVERGE
1. Specify a case name , which will replace post in the file name for each of the output files
that are written to the output directory. The original post*.out files will remain
unchanged.
EnSight Format
Tecplot Format
Column Format
Select Yes for boundary surface output. EnSight requires boundary surface output
In EnSight , the list of constants includes both RPM and crank angle degrees .
Use this option to generate averaged values for velocity , pressure , temperature ,
vorticity , and other parameters. This option can also produce average values for
Before running a simulation , you must include the following parameters in the
The averaged information will be written to post*.avg.out . The time and run
number in the averaged file name will match the first file selected.
We recommend averaging data from simulations in which the geometries are the
same. The cells in the averaged file will be based on the cells from the first file
selected , so , if the geometries in the selected files are not the same , you should
verify that the first file selected contains data from the largest geometry.
3. Select which output files to convert. The utility lists all post* files in a numbered list , an
[1]: post000061_-6.483057e+01.out
[2]: post000062_-6.379913e+01.out
[3]: post000063_-6.281712e+01.out
[4]: post000064_-6.191693e+01.out
[5]: post000065_-6.085729e+01.out
The utility will prompt you for the files to convert. To select specific file(s) , enter the file
number(s) ( e.g., in the e xample above , enter 1,3-5 to convert all files e xcept [2 ]). To
select files at a specified frequency , enter the number of the first file in the range , the
selection frequency , and the number of the last file in the range , separated by colons ,
( e.g., in the e xample 1:2:5 above , enter to convert files [1 ], [3 ], and [5 ]). You can also
4. Select which variables to convert. The post_convert utility will list all of the variables
in the first file to be converted and prompt you to select the variable(s) to be included in
5. Select which parcel variables to convert. If the simulation contained parcels , the
post_convert utility will prompt you to select the parcel variable(s) to be included in
The post_convert utility automatically saves a convert.in file in the output directory. This
te xt file contains the conversion information that you just entered. You can use this file to
expedite your ne xt post_convert process. For e xample, you may wish to repeatedly
examine the latest output of a simulation that is currently running. Work through the
prompts the first time that you use post_convert (and be sure to select the last file to
process.
CONVERGE offers a limited capability to run post_convert in parallel from the command
line. A parallel post-processing computation requires the same memory per core as a serial
computation , but it runs much faster. The speed improvement is dependent on your
network's speed and file system performance. You can e xpect to see good parallel
Passing Interface (MPI) package. See Chapter 11 - Parallel Processing for more information
on this package. See the Getting Started Guide for information on running CONVERGE
transfer.out, htc_inputs.in, surface.dat (surface file geometry for finite element analysis , FEA) ,
and the htc_map executable.
The two primary output files for heat transfer mapping are htc_triangles.map and
htc_vertices.map.
, htc_triangles.map
For each triangle in the Finite Element Analysis (FEA) surface file lists
Wall Temp [K], eat Flux [W m2], TC [W m2-K], Fluid Temp [K],
the following quantities: H / H /
time only when the boundary is not e xposed for the entire engine cycle , such as the
cyclic averages of heat transfer data that are spatially resolved for the FEA surface file.
The htc_vertices.map file lists each of the values listed in the htc_triangles.map file (wall
temp , heat flu x, etc.) for each verte x. CONVERGE uses the average of all the values at the
center of each neighboring triangle to calculate the verte x value of each of these
conditions. This file also lists the sum of the angles sharing that verte x. This sum may be
less than 360 degrees if the verte x is located at the edge of a geometry or at one or more
boundaries. This sum may also vary for vertices at contoured intersections of triangles.
transfer.out .
primarily to separate the large-scale and small-scale elements of turbulent flow ( e.g., in a
Large Eddy Simulation). CONVERGE contains a utility that calculates the POD of the time
series of the velocity at a set of tracking points (Chen et al. , 2013). The singular value
functions (UDFs). In udf.in, set user_point_flag = num_points,1 and which is the number of
tracking points , to at least 1. When you set user_point_flag = , 1 CONVERGE looks to the
user_points.c file to define the tracking points. By default , user_points.c directs CONVERGE
are written in columns 6 , 7 , and 8 , respectively. If you have edited user_points.c, note that
the pod_compute utility will not work if the tracking point output files have different names
or if the velocity components are located in different columns. In addition , the pod_compute
utility requires that all tracking point output files be present and that all of these files
contain the same number of time-steps. There is no limit on the number of points that can
be processed (aside from the capability of your machine) , and there is no requirement on
The pod_compute utility will write its output to *.pod te xt files. Table 3.4 below summarizes
point_num<point_ID>.out files.
The dynamics of fluid flow are governed by equations that describe the conservation of
mass , momentum , and energy. Additional equations describe turbulence and the transport
of passive scalars and species. This chapter describes the governing equations used in
CONVERGE and the associated parameters and input files. The inputs.in, species.in, and
You can specify which equations CONVERGE will solve in the inputs.in file. Each
equations. In addition , you can specify if the fluid (liquid or gas) in the simulation is
compressible or incompressible and you can select the phase (gas , liquid , or gas-liquid
[VOF]). CONVERGE will solve for solids if you define one or more solid species.
Table 4.1 below summarizes the CONVERGE solver options and their associated
parameters. Note that there is no inputs.in flag in for the solution of the passive
conservation equation. CONVERGE will solve the passive conservation equation if you
together for the proper calculation of the pressure gradient in the momentum equation.
The interaction between the mass and momentum equations is discussed in more detail in
The compressible equations for mass transport and momentum transport are given by
u S
i
t x
i
(4.1)
and
u
i i uu P i S ,
j j
t x j
xi x
i
j
(4.2)
i
ui u j 2
k u
i .
x
xi x (4.3)
k
j j
j
3
that if a turbulence model ( e.g., k-e ) is activated , the viscosity is replaced by the total
tot mol C
k 2
, (4.4)
where
mol is the molecular viscosity , C
is a turbulence model constant , k is the turbulent
Equations 4.1 and 4.2 both allow for source terms. For the momentum equation , the source
sources. For the mass conservation equation , the source term may arise from evaporation
or other submodels.
CONVERGE solves the momentum equation in finite volume form. When solving the
momentum equation , conserved values at the face must be e xpressed in terms of primitive
values at the cell center. CONVERGE offers two ways to evaluate these face-centered
conserved values. The first method is to project primitive values to the face , and calculate
face-centered conserved values from these face-valued primitives. The second method is to
calculate the cell-centered conserved value from cell-centered primitives , then project this
You can solve the momentum equation using any weighted average of these two
iuu
ui unorm A f
x V
1
j
j nbrs
cons u u A cons u u A ,
(4.5)
V V
1
i norm f f f i f norm f f , ,
nbrs nbrs
where the cons term represents the fraction of the equation using the form calculated from
face-valued primitives ( conserve in solver.in ). The form of Equation 4.5 can be derived by
Table 4.2 below summarizes the inputs.in parameters for the momentum equation.
Using the multiple reference frame (MRF) approach in CONVERGE requires three steps.
2. Special treatment for the flow_through boundaries and WALL boundaries in the moving
reference frame(s)
3. Configuration of mrf.in
The MRF approach in CONVERGE allows you to simplify a simulation that includes
moving geometry. While CONVERGE can easily simulate moving geometries , the MRF
approach further reduces computational time by eliminating the need to regenerate the
With the MRF approach , the moving geometry is instead modeled as stationary. You
specify a region that encompasses this portion of the geometry and CONVERGE treats this
region as a different (local) reference frame. The local reference frame moves relative to the
stationary (inertial) reference frame , so the geometry does not have to move to represent
For e xample, consider a pump impeller. With the typical moving geometry approach , the
impeller is designated as a moving boundary and CONVERGE rotates the impeller the
appropriate amount each time-step and regenerates the mesh around the new geometry
configuration. With the MRF approach , CONVERGE considers the region around the
impeller as a local reference frame fi xed in the impeller blades. In this way , the geometry
does not have to move in the simulation and instead , the local reference frame moves
Within this local reference frame , CONVERGE solves modified continuity and momentum
equations that represent the motion of the stationary geometry. In the continuity equation ,
ur is the velocity in the local reference frame. The source term in the momentum equations
includes additional body force terms to account for the velocity in the local frame.
Equation <% CH-GOV_EQNS%>.6 below shows the modified continuity and momentum
equations.
u
r 0
t
u r
u r u r p I u r R
(4.6)
t
2
u ur R
In the equations above , is the rotation vector and R is the position vector with respect to
At the interfaces between the local and the inertial reference frames , CONVERGE
transforms the cell face flu xes such that they are in the appropriate reference frame.
Use this approach for simulations in which you e xpect a steady-state result. You can use
results may not be time-accurate. One strategy is to use the MRF approach to calculate a
developed flow field to use as an initial condition for a transient simulation with moving
geometry.
To activate the multiple reference frame approach , set mrf_flag = 1 in inputs.in and supply
boundaries within a local reference frame , you must supply boundary conditions in the
inertial frame.
For e xample, for a pump impeller within a local reference frame , the frame is fi xed in the
impeller. Thus , the boundary motion type for the impeller WALL boundary should be
fi xed stationary.
The shroud (the wall surrounding the impeller blades) would appear to move around the
pump impeller because the frame is fi xed in the impeller. Again , no geometry actually
CONVERGE e xpects the boundary condition rotation in the inertial frame , which allows
Output
Note that the cell-specific output ( e.g., velocity , pressure , etc) for all regions (including the
moving local reference frames) is in the inertial reference frame in the post*.out files.
Momentum and mass transport can be solved for compressible or incompressible flows.
For compressible flows , an equation of state is required to couple density , pressure , and
temperature.
CONVERGE contains several equation of state options: ideal gas , Redlich-Kwong , Redlich-
P R T ,
W
(4.7)
Soave (RKS) , and Peng-Robinson (PR). These equations can be written in a generalized
form:
P RT a ,
v b v ubv wb
2 2
(4.8)
and Table 4.3 summarizes the coefficients for the RK , RKW , and RP equations of state.
Table 4.3: Coefficients for the RK, RKS, and PR equations of state.
Equation of u w b a
State
Redlich- 1 0 rk vc pc vc
2
Kwong rk
Tr
Redlich- 1 0 rk vc rk pc vc2 1 f rk 1 Tr
1/2
2
Kwong-Soave
Peng-Robinson 2 -1 pr vc pr pc vc2 1 f rk 1 Tr
1/2
2
Equation 4.9 gives several additional definitions needed to understand the coefficients in
Table 4.3:
vc RTc ,
pc
rk 0.42748 , rk 0.08664 ; f rk 0.48 1.574 0.176 , 2
(4.9)
where vc is the critical volume , Tc is the critical temperature , Pc is the critical pressure , a
represents the attractive forces between molecules , b represents the volume of the
molecules , and w is the acentric factor. The subscripts rk and pr represents the RK/RKS
The Redlich-Kwong equation performs poorly with liquid phase , the Redlich-Kwong-
Soave equation performs well for hydrocarbons , and the Peng-Robinson equation performs
Table 4.4 below summarizes the input parameters for the equations of state.
pressure.
max_reduced_pres The ma ximum reduced pressure for the departure function tables
,
species you can include species-specific crit_temp values by listing
,
species you can include species-specific crit_pres values by listing
,
with multiple gas species you can include species-specific
Note that the pressure is not calculated directly from the equation of state but instead is
used indirectly in the PISO algorithm to ensure that the equation of state is satisfied.
CONVERGE solves the energy equation when energy_solver_flag = 1 in inputs.in . You can
choose to solve the energy equation for incompressible or compressible flows. The energy
equation can be solved independently or together with the momentum and mass
equations. If the energy equation is solved without momentum and mass , convection will
not be included in the energy equation ( i.e., the energy transport equation will only contain
e u e P u
j j
i
u
i
K T
D hm Ym S ,
t x x x x x x x
(4.10)
j
j j j j
j j
m j
where is density ,Ym is the mass fraction of species m, D is the mass diffusion coefficient , S
is the source term ,P is the pressure , e is the specific internal energy , K is the conductivity ,
hm is the species enthalpy ,
i j
is the stress tensor , and T is temperature. Note that , if a
t
Kt K c p , (4.11)
Pr
t
where Pr is the turbulent Prandtl number and is the turbulent viscosity. In CONVERGE
t t ,
the formulation for the turbulent Prandtl number is
c p t
t ,
kt
Pr (4.12)
conductivity.
In addition to the convection and diffusion terms , the energy equation contains four e xtra
terms. First , a source term is added to account for user-specified energy sources and
u
, P j
x
turbulent dissipation. A pressure work term , accounts for compression and
j
expansion. For incompressible flows this term is always 0 because the field is divergence
u
i
, i
free. A viscous dissipation term j
x
, j
accounts for kinetic energy viscously dissipating
D hm Ym ,
into heat. Finally , a species diffusion term ,
x j m x j
accounts for energy
For solids (in conjugate heat transfer applications) , the energy transport equation retains
e K T S
t x x
. (4.13)
j j
Simulating high-speed flows that include discontinuities ( e.g., shock waves) may prevent
energy conservation if you choose to solve for specific internal energy (given by Equation
4.10). To enforce energy conservation in these simulations , you can set energy_solver_flag =
2 in inputs.in to solve for total energy instead of specific internal energy. Equation 4.14
below gives the form of the total energy equation used in CONVERGE:
e1
k u
2
u e uk
1 2
t
2 x j
j
2
K T D h Y
(4.14)
m
u P u
i i S
x x x x x x m .
j j
j j j j j
m j
There are some important differences between the specific internal equation and the total
energy equation. On the left hand side of Equation 4.14 , both the transient term and the
convection term include the total energy. The total energy is the sum of the internal energy
u P ui i
work term
x j
j and the viscous dissipation term
x j
j written in conservative
form. In the specific internal energy equation , the pressure work term is in non-
conservative form with the pressure P outside of the derivative. For the total energy
equation , the diffusion , species diffusion , and source terms are the same as those in the
The species transport equation solves for the mass fraction of all the species in the domain.
Ym Mm m ,
Mtot tot (4.15)
where Mm is the mass of species m in the cell , Mtot is the total mass in the cell ,
m is the
alone or together with any of the other transport equations. If momentum is not solved ,
convection will not be considered in the species transport equation ( i.e., the species
u
D Ym Sm ,
m m
j
t x j
x
j
x j
(4.16)
where
m Ym (4.17)
D ,
Sc (4.18)
where Sc is the Schmidt number. If a turbulence model has been activated , the turbulent
Dt t ,
Sct (4.19)
where Sct is the turbulent Schmidt number. The source term in the species equation
coefficients independently of the species. We recommend this setting for all cases that do
not include laminar flame applications. In this case , you must include a gas.dat file in the
Case Directory. If your case is a multi-component system that includes a laminar flame
internal reference table prior to running the simulation. CONVERGE calculates the binary
diffusion coefficients , Dm ,
j
as
N
ln Dm dn m
j , j
(ln Tn )
1
, (4.20)
n 1
transport.dat .
diffusion coefficient as
Xm
Dm mix
,
1
,
Xj
(4.21)
, m
j j
D
m j
where X
m is the mole fraction of species m .
CONVERGE uses the mi xture-average diffusion coefficient to calculate the total diffusion
coefficient as
Di Dm mix Dt ,
.
(4.22)
In turbulent flows , Dm,mix is very small compared to the turbulent mass diffusion coefficient ,
D t, and thus it is not necessary to set species_diffusion_model = 1 for turbulent cases. For
laminar flame applications , however , Dm,mix will be significant and we recommend setting
For mass conservation , CONVERGE constrains the net diffusion flu x to be zero in multi-
Note that , even if the species are not solved , it is still necessary to initialize the species so
that their properties can be evaluated. Also note that if the species are not solved , then the
species must not vary in space. Table 4.6 below summarizes the species equation inputs.
,
turbulence model is on then this parameter gives the
gas.dat
( file required),
drawn due to the form of the convergence criterion for the PISO algorithm. A passive
scalar is a calculated quantity that does not directly affect the calculation of the
temperature or the gas constant of the gas. These may be non-transport passives ( e.g.,
TEMP_SGS, the local subgrid scale temperature) or transport passives ( e.g., tke ).
Passives have several different uses in CONVERGE. Some passives ( e.g., G_E N Q in the G-
Equation combustion model) may indirectly affect the other transport equations through a
parameter in a source term. Some features in CONVERGE ( e.g., soot models) require
passives. You can also use completely neutral passives to track fluid flow. For e xample, in
an engine case , you can add a passive to an intake port to track the fresh intake charge as
it enters the combustion cylinder. Unlike the other transport equations , the solution of the
CONVERGE solves the passive transport equation only when one or more passives are
defined in species.in .
u
i
D S ,
t
xi x
i xi
(4.23)
where u is velocity , is density, D is the diffusion coefficient , S is the source term , and
is
D ,
Sc (4.24)
where Sc is the Schmidt number , which can be defined for each passive individually in
species.in . Table 4.7 below summarizes the passive equation parameters in species.in .
Eddy Simulation (LES) turbulence models , and you can use the turb_model parameter in
inputs.in to select the desired model. Chapter 15- Turbulence Modeling describes the
5 Numerics
This chapter describes the numerical options available in CONVERGE and e xplains the
relevant parameters , which are located in the solver.in and inputs.in files. This chapter
describes selected parameters from these files. Chapter 22 - Input File Reference describes
Finite volume methods can be used to numerically solve the integral form of the
transported quantities for regularly or irregularly shaped cells. To understand the inputs
for finite volume , consider the simple three cell computational domain shown below in
Figure 5.1.
u
0.
t x
(5.1)
d dV u n dS
dt V 0 , (5.2)
S
where V is the cell volume , S is the surface area , and n is the surface normal. As discussed
earlier , finite volume methods solve the integral form of the conservation equations instead
of the differential form. The integral form of the equation is solved by summing flu xes on
the faces of the cells. In CONVERGE , all values are colocated and stored at the center of
the cell as shown in Figure 5.1. Thus , to solve the integral form of the equation , the velocity
and f must be interpolated to the cell surface. There are several options for obtaining the
cell surface value. One option is to average the two adjacent cell values and place them on
1 1
i 1/2
i i , 1
(5.3)
2 2
and
1 1
i 1/2
i i 1
. (5.4)
2 2
i 1/2
i , (5.5)
and
i 1/2
i 1
. (5.6)
and 5.4) , while a value of 1.0 means that the value will be entirely upwinded (Equations
5.5 and 5.6). A value between 0.5 and 1.0 will result in a blended scheme.
Understanding the order in which the transport equations are solved is important for
appropriately configuring your simulation parameters. Figure 5.2 below summarizes the
Figure 5.2: Solution order of the transport equations. The turbulence equations are outside of the
PISO loop for efficiency reasons.
At the start of each time-step , the previous values (the time-step minus 1 [ tm1 in Figure
]
5.2 ) are stored for all transported quantities. Ne xt, explicit sources are calculated for each
submodel that is currently activated and radiation is solved if energy and radiation are
decoupled. At the beginning of the PISO loop ( i.e., the first PISO iteration) , CONVERGE
solves for momentum and pressure , which sets the velocity for the other transport
equations. After each PISO iteration , it is necessary to check for PISO loop convergence.
tol piso,
_ (5.7)
where is the density correction error. For incompressible cases , CONVERGE considers
where P is the pressure correction error. Note that , if the PISO iteration has converged
but the PISO iteration number is less than piso_itmin, the PISO iterations will continue
until the minimum number of PISO iterations has been e xceeded. If the PISO iteration did
After the PISO loop has ended , CONVERGE may perform an additional Jacobi iteration to
In flows in which the temperature or species vary greatly , it may aid convergence to
under-rela x the calculation of the pressure ratio ( omega_presrat ). After updating the
pressure ratio , the PISO convergence is checked again. CONVERGE continues this process
until a PISO iteration converges or until it has completed twice the ma ximum number of
Implicit with Splitting of Operators (PISO) method of Issa (1986). The PISO algorithm as
implemented in CONVERGE starts with a predictor step where the momentum equation is
solved. After the predictor , a pressure equation is derived and solved , which leads to a
correction , which is applied to the momentum equation. This process of correcting the
momentum equation and re-solving can be repeated as many times as necessary to achieve
the desired accuracy. After the momentum predictor and first corrector step have been
The PISO method was chosen for use in CONVERGE for various reasons. With only minor
variations , this method can be used for solving either compressible or incompressible flows.
and sinks: the sources and sinks can be updated at each corrector step. PISO has the
advantage of respecting the hyperbolic nature of the transport equations , while using the
through the domain. A detailed summary of the PISO algorithm is given below.
The PISO algorithm starts with a predictor step where the momentum equation is solved
n ui* n uin P
n
H i* predictor ,
dt dt xi
( ) (5.9)
where H * represents the convection , diffusion , and source terms and * represents the
intermediate most up-to-date field values. Each additional * level denotes a higher level of
temporal accuracy. The superscript n represents the previous field values. The first
* ui** n uin P *
H i* first corrector
dt dt xi
( ). (5.10)
* ui** n ui*
P Pn
*
dt dt x
( ). (5.11)
i
* ui** dt P Pn
*
u
n i* .
x
( ) (5.12)
i
* n
u
* i**
, S
dt i x (5.13)
where S accounts for implicit and e xplicit sources. Substituting Equation 5.12 into
* n
dt 2
P P
* n
)
n i* u S
dt x x x
( . (5.14)
i i i
* P * n , (5.15)
n
1
n n n,
Z RT (5.16)
where Z is the compressibility factor , R is the ideal gas constant , and T is the cell
temperature. For the ideal gas law the compressibility factor is always 1.0.
P Pn
*
( P P n n nui S
*
)
*
1
x x dt xi dt
( ) . (5.17)
i i 2
Equation 5.17 is the derived pressure equation. Once the pressure is solved , the velocity
can be updated according to Equation 5.11. After the velocity is updated , the other
transport equations are solved and the pressure ratio is updated accordingly. If necessary ,
based on the convergence criteria , the correction processes can be repeated.
If a second correction is required , the process starts by writing the first and second
* ui** n uin P *
H i* first corrector
dt dt xi
( ) (5.18)
and
** ui*** n uin P **
H i* second corrector
dt dt xi
( ). (5.19)
** ui*** * ui**
P **
P *
dt dt x
( ). (5.20)
i
** ui*** dt P **
P *
u
* i** .
x
( ) (5.21)
i
** n
** i*** u
S
dt x
. (5.22)
i
** n
dt 2
P **
P *
u
* i**
S
dt x x x
( ) . (5.23)
i i i
** P ** * , (5.24)
1
*
RT
. (5.25)
* * *
Z
P **
P *
( P **
P *
)*
( * n )P *
( * n)
u
* **
S 1
x x dt dt dt x dt
( ) . (5.26)
i i 2 2 2
The above equation is the second corrector pressure equation. After this equation is solved ,
the momentum is updated according to Equation 5.21. Again , this process can be
repeated , if necessary , to add another corrector. If another corrector is added , the other
You can specify a tolerance value for each equation via the *_tol parameters (transient ,
steady-state) in solver.in . At each PISO loop , if
* t 1
_ tol , (5.27)
*
where Y* is the current correction for the Y transport equation and Y t-1
is the previous
value of the correction for that transport equation , then CONVERGE will not resolve that
particular transport equation (with the e xception of pressure , which is always solved).
In order to limit the PISO corrections , you can enter the minimum and ma ximum number
of PISO corrections allowed. If the ma ximum number of PISO iterations is e xceeded and
the solution has not converged , the following time-step will be reduced.
All transported quantities in CONVERGE are colocated at the center of the cell. The use of
colocated quantities can result in a decoupling of the pressure and velocity. This
decoupling can produce fluctuations in the pressure and velocity solution that appear in a
checkerboard pattern. In the past , many CFD codes used a staggered grid approach to
eliminate the checkerboarding ( i.e., velocity located at the cell face and pressure at the cell
center). However , the Rhie-Chow interpolation scheme can be used to maintain colocated
The Rhie-Chow scheme works by appro ximating the beneficial effects of the staggered grid
approach but leaving the variables colocated. For a colocated set of variables , a velocity at
ui i
u u
i
, 1
(5.28)
1/2
2
ui*
u
i
dt Pi 1 iP
,
1/2 1/2
dx
(5.29)
ui ui dt Pi
* 1 P
i
,
1
2 dx
(5.30)
where * indicates a velocity that has been updated for pressure. For a face velocity using a
ui * u
i
dt Pi P
i i u
i i dt P P
1
,
1 1 2
1/2
2 2 2 dx 2 2 2 dx (5.31)
or , equivalently ,
ui
*
i
u u
i
1
dt Pi 1 P
i
i
i
1
P 2
P
.
1/2
2 2 2 dx 2 dx (5.32)
For the Rhie-Chow scheme , a pressure gradient term is added to cancel the colocated
pressure update (Equation 5.32) and a pressure term is added. This additional pressure
term is equivalent to the staggered pressure update (Equation 5.29). This process results in
ui
*
i
*
u u
i*
dt Pi iP i idt P
i
i P P P
1 1 1 1 2
.
1/2
2 dx 2 2 2 dx dx (5.33)
The Rhie-Chow scheme reduces the checkerboarding effect in the pressure and velocity ,
but it also adds a small error to the solution , similar to the error introduced in staggered
approach. Although it adds a small error , it is recommended that most simulations be run
with the Rhie-Chow scheme activated. To activate the Rhie-Chow scheme , set the rc_flag =
1 in solver.in .
The Courant Friedrichs Lewy (CFL) numbers estimate the number of cells through which
the related quantity will move in a single time-step. A higher CFL number generally yields
a less computationally e xpensive simulation. The convective CFL number , the speed of
sound CFL number , and the diffusive CFL number are given respectively as
cflu u t ,
x
(5.34)
cflmach c t
x
(5.35)
and
cflv t ,
x 2
(5.36)
where t is the time-step , x is the grid spacing , u is the cell velocity , c is the speed of
sound , and is the viscosity. Under-rela xation may be required if cflu is greater than 1.0 or
if cflv is greater than 0.5 when CONVERGE is run in an implicit mode. A cflu greater than
1.0 or a cflv number greater than 0.5 may not be stable when CONVERGE is run in an
e xplicit mode.
Each CFL number parameter can be a fi xed value or can vary temporally. For a temporally
varying parameter , specify a file name instead of a value in inputs.in and include that file
CONVERGE allows you to specify one of two methods for setting the time-step. You can
specify a fi xed time-step or a variable time-step that is calculated internally. For a fi xed
time-step , set time_flag = 0 in inputs.in and set the time-step ( dt_fixed ) to the desired value.
For a variable time-step , set time_flag = 1 and provide additional inputs to guide the
selection of the time-step. When choosing variable time-step control , the first time-step of
number of checks and calculations to determine the ne xt time-step. These checks and
CONVERGE will first try to increase the time-step by 25 % and then check the other time-
the governing equations did not converge in the specified number of iterations , the time-
step will be reduced. The parameters that control this are itmax
*_ (ma ximum number of
iterations for the specified governing equation) and piso_itmax x (ma imum number of PISO
iterations). When using a variable time-step , it is also important to consider the ma ximum
CFL numbers , since CONVERGE selects the time-step so as to not e xceed the user-specified
spray modeling , then the ma ximum time-step for the spray is calculated by
dt spray x
* mult dt spray ,
parcel velocity
_ min _ _ (5.37)
_
the number of cells a parcel can travel through in one time-step. For example, if
mult_dt_spray = 1.0 , a parcel cannot travel more than one cell in a single time-step.
If a simulation includes combustion modeling , then the time-step will also be controlled by
where T is the initial cell temperature , T is the change in temperature due to combustion ,
and mult_dt_chem is a parameter in inputs.in . Thus mult_dt_chem can be used to control the
the cell temperature. Note that some of the other submodels may also restrict the time-step ,
but you do not specify time-step control inputs for these submodels.
If the simulation includes sources , use the parameter mult_dt_source to control the time-
step. This parameter limits the increase in magnitude of a source during a single time-step.
For e xample, mult_dt_source = 0.5 will adjust the time-step so that the source magnitude
If the simulation includes moving surfaces , these impose a time-step limitation controlled
by the parameter mult_dt_move in inputs.in . This multiplier limits the global time-step
based on a cell size and surface speed calculated at each cell , given as
where the constant multiplier 0.3 is taken as the cell pairing factor discussed in Chapter 10
- Grid Control.
Finally , if the time-step is not restricted by any of the above , CONVERGE performs a check
to see that it is not above the ma ximum allowable time-step ( dt_max in inputs.in ). If it is
reduced by one of the above criteria , CONVERGE performs another check to ensure that it
CONVERGE includes several different spatial discretization methods for the convective
term. In addition to specifying a desired order of accuracy , the convective flu x schemes
allow you to control flu x limiters to maintain stability. The following subsections describe
van Leer (van Leer , 1979) provides second-order spatial accuracy for the convection term.
To do so , MUSCL calculates the value of a scalar f at a cell face using a blend of second-
For a scalar quantity f , CONVERGE approximates the value at a cell face ( f f ) with a linear
reconstruction method. This method calculates ff using a Taylor Series e xpansion from the
center of cell i to its face. Values for f f on either side of the cell face are given as
f ,i i i di
1 1 1 1
,
f ,i i i di
(5.40)
where di is the vector from the center of cell i to the cell face. The first xpression
e
reconstructs ff from the center of cell i-1 while the second e xpression reconstructs ff from
upwind of cell i
.
represent f f. We can appro ximate the value of f at a cell face using the reconstructed
f ,ru f ,i 1
. (5.41)
The other half of the MUSCL scheme is to take a central difference appro ximation of the
two reconstructions listed in Equation 5.40. This method averages the two adjacent cell
quantities as
1
f ,rcd f ,i f ,i .
1
(5.42)
2
To reach higher-order accuracy , the MUSCL scheme blends the second-order upwind
discretization (Equation 5.41) and the central difference discretization (Equation 5.42) as
flux_scheme_turb =solver.in Y
1 in ). ou can specify different blending factors for the
( muscl_blend_factor_turb ).
Gradient limiter
Higher-order methods such as the MUSCL scheme outlined above can introduce
dispersion error into a CONVERGE solution. To prevent this error from polluting results ,
CONVERGE employs the gradient (or slope) limiter of Venkatakrishnan
(Venkatakrishnan , 2013). This slope limiter ensures that the gradient f is smooth and
f ,u f uu du , (5.44)
where
u is the gradient limiter for cell u . To activate the MUSCL scheme with the gradient
limiter outlined above , enter 2 for a particular flux scheme in solver.in i.e., (
flux_scheme_mom = , flux_scheme_global =
2 2 , or flux_scheme_turb = 2). Note that the slope
limiter described in this section imposes a limit on a cell face quantity f f. The ne xt section
Another method to ensure physically realistic results with the high-resolution schemes in
CONVERGE is to employ a flu x limiter. A flu x limiter is a function that restricts flu xes
(represented by f ) to meaningful values near discontinuities in the domain. Near these
spurious oscillations in the solution. In the rest of the domain , however , the flu x limiter
f H
f
O ,limited up ( r f
)
H O up ,f (5.45)
where f
O,limited is the limited higher-order
H
flu x, up f is the lower-order flu x, (r) is the limiter
r i i 1
, (5.46)
i i
1
CONVERGE includes several flu x limiter functions listed along with their formulations in
Table 5.1 below. To enable a flu x limiter , enter one of the parameter names from column 1
solver.in to specify the set of equations to which the flu x limiter applies.
Note that when you choose the step flu x limiter , use monotone_tolerance in solver.in to
upwind spatial discretization when the ratio of gradients on either side of a cell face
e xceeds the value you specify for monotone_tolerance . CONVERGE can list whether the
solver used the specified numerical scheme or first-order upwind scheme if you include
Sign i 1 i
Sign i i 1
,
xi x xi x i
(5.47)
1 i 1
and x is the spatial location. If either the density or velocity field becomes non-monotonic ,
it is likely that there is a discontinuity in the field. In this event , first-order upwind is the
(i i 1 ) (i 1 i ) monotone _ tolerance
mc monotonized central
mc (r ) max 0, min 2r , 0.5(1 r ), 2
,
(van Leer 1977)
Before running a CONVERGE simulation , you need to select a linear solver for each
governing equation. CONVERGE contains the point-wise successive over-rela xation (SOR)
BiCGSTAB is not available for some of the governing equations. Table 5.2 below
In general , you should use the SOR algorithm for simulations in which the number of
pressure iterations per PISO step is , on average , fewer than 15. This algorithm is ideal for
cases with compressible flows and small time-steps , such as engine simulations. You can
After discretizing the governing equations , we can write each equation as a linear system
Ax b . (5.48)
The solvers in CONVERGE are iterative , i.e., each solver starts with an initial guess x0 and
finds subsequent values that increasingly approach the given value of x . This process can
n n
lim x
x .
(5.49)
rn ro
1
,
ro tol scale
_
(5.50)
where
Ax b
r 2
b 2
(5.51)
and tol_scale is a parameter in solver.in . If Equation 5.50 is satisfied or if *_itmax has been
reached , the solver stops. If not , the solver will perform another iteration.
The following subsections (SOR Algorithm and BiCGSTAB Method) contain solver-specific
information.
The SOR algorithm is an iterative scheme with a rela xation factor , , for accelerating
Ax b , (5.52)
xik 1
x b ax
(1 ) ik i i k i k , 1
ax
a
ii i i
j
j j
j
j j (5.53)
where i= 1 , 2, ... , n.
under-rela x the solution to aid in the convergence. Under-rela xing means that the ne xt
iteration is set to a value based on the previous value and a scaled corrector term , as
** * under relaxation ( ),
_
(5.54)
where f ** is the new iteration value , f* is the old iteration value , under _ relaxation is the
under-rela xation parameter (usually less than 1.0) , and Df is the calculated change in the
iteration value.
For the SOR algorithm , CONVERGE calculates an optimal under-rela xation parameter
(
opt) for each transport equation in order to speed up convergence and ensure stability.
The values that you specify for the under-rela xation parameters in solver.in (see Table 5.3)
are the ma ximum under-rela xation values for the simulation. That is , if the value
e xceed
input, CONVERGE will use
opt to ensure stability. At each time-step , CONVERGE
determines the optimal value of the under-rela xation parameter for each transport
opt
aii ,
ai j
(5.55)
i
j , j
where ai j
is the value of entry ( i, j) in the coefficient matrix of the discretized transport
field of
equation. The result is a
opt values that CONVERGE uses in conjunction with
Equation 5.54 to determine the new iteration values. Note that Equation 5.55 does not
apply to pressure under-rela xation. In CONVERGE , there is no dynamic rela xation for
pressure , and you can enter a rela xation factor for pressure using pres_omega in solver.in .
temporally varying parameter , specify a file name instead of a value in inputs.in and
National Laboratory. Refer to the H YPRE 2.9 Reference Manual for additional information
on this solver. BiCGSTAB is useful for cases with comple x geometry that take a long time
Note that the BiCGSTAB solver is not available for a particular governing equation if you
Preconditioners
When using the H YPRE BiCGSTAB solver ( i.e., when *_solver_type = 1) , you can apply a
preconditioner in order to improve the speed of convergence for that particular governing
equation. Preconditioners modify the linear system described in Equation 5.52 above in
order to improve the condition of the system. CONVERGE contains two preconditioners:
Euclid/ILU and algebraic multigrid. Both of these preconditioners are from the H YPRE
library , and you can refer to the H YPRE 2.9 Reference Manual for additional information.
solver.in (replacing * with the desired equation name). Table 5.4 below describes the
parameters that control the preconditioner for each of the governing equations.
Turbulent kinetic tke_preconditioner Currently must be set to 0. This parameter will be used in a
(Epsilon)
(Omega)
future release.
There are two types of solvers available in CONVERGE: transient and steady-state. The
following subsections describe the different solvers and include recommendations for
recommended parameters for different types of cases ( e.g., compressible gas transient case ,
incompressible gas steady-state case).
In order to solve a transient case , the governing equations described earlier are
appro ximated using numerical techniques. CONVERGE internally generates a grid , which
is then used to discretize the governing equations. By discretizing the domain via a grid ,
the governing equations can be appro ximated by a system of algebraic equations. If solving
implicitly , an iterative (multi-step) technique will be required for the system of algebraic
equations. If solving e xplicitly, only a single iteration will be required to solve the algebraic
When solving the equations implicitly , a convergence criterion (or tolerance) is required. A
solution is considered converged when the iteration error in the solution is at or below the
error ,
Norm (5.56)
where Norm is the normalization. Table 5.5 below summarizes the tolerance parameter
Each tolerance parameter can be a fi xed value or can vary temporally. For a temporally
varying parameter , specify a file name instead of a value in inputs.in and include that file
Table 5.6 below summarizes typical values for the PISO parameters for a transient
simulation.
tol_scale 20
piso_itmin 2
piso_itmax 9
pres_itmax 200
piso_tol 1e-3
Table 5.7 below summarizes typical values for the CFL parameters for a transient
simulation.
max_cfl_u ,
0.5 - 3.0 (in VOF cases 0.03 to 0.10).
Table 5.8 below summarizes typical values for the time-step control parameters for a
transient simulation.
,
Stability in the code has been improved thus eliminating the need for
mut_dt_coll_mesh 0.5 - 1.5 (Similar to mult_dt_spray but the collision mesh is also used to determine
mult_dt_move 0.5
which an accurate time history of transient behavior is not desired. While it is possible to
solve steady-state problems using the transient solver , this method is not efficient and not
recommended. This section e xplains notable differences between the steady-state and
Note that in previous versions of CONVERGE , there were multiple steady-state solvers
solver.
u
i
D S ,
t xi x
i xi
(5.57)
where f is any transported quantity. For a steady-state case , by definition , the solution
does not change with time. Thus the transport equation for a steady-state case contains no
u
i
D S
x x xi
. (5.58)
i i
Although the transport equation does not include the time derivative term , CONVERGE
uses a pseudo time-step to aid in numerically solving Equation 5.58. Because the steady-
state solver uses a pseudo time-step , this solver works in a conceptually similar manner to
the transient solver shown in Figure 5.2. The steady-state solver , however , is not required
the size of the pseudo time-step for each cycle. A larger convection CFL number decreases
the number of cycles required by the momentum solver to attain a steady-state value.
Larger local pseudo time-steps permit the momentum information to traverse the domain
Because the steady solver does not include time terms , specify time-based inputs in cycles
instead of seconds (remember that a cycle is the completion of the algorithm shown in
Figure 5.2). For e xample, replace the start time ( start_time inputs.in in ) with the starting
cycle number and end time ( end_time in inputs.in ) with the ending cycle number.
Parameters that directly control the pseudo time-step ( e.g., dtstart, dt_min, dt_max ) are still
hundreds of cycles.
Since the steady-state solver employs a pseudo time-step , CONVERGE still needs to solve
each transport equation until the residual falls below the specified solution tolerances at
each cycle.
The steady-state solver is density-based and includes density transport in the solution
algorithm shown previously in Figure 5.2. You can use this solver for all Mach numbers.
initial transient phase. Generally , the fidelity of the final steady-state solution is
independent of the initial transients that are present. In CONVERGE 2.4 , the steady solver
When steady_auto_tol = 1 , the solver works in an automated manner , and the simulation
(specified in gridscale.in ). This configuration allows the fluid flow to quickly propagate
through the domain. During this process , CONVERGE continuously monitors solution
variables that you designate in the steady-state monitor. When the mean and standard
considers the solution locally converged for the current tolerance , CFL , and grid settings.
CONVERGE progressively refines the grid and tightens the tolerances so that the solution
accuracy improves to the specified target tolerances. The information below describes the
1. The grid scaling stage begins and CONVERGE refines the mesh until reaching the
target grid scale value specified in gridscale.in (the solution tolerances do not change).
Again , the mean and standard deviation of the solution variables specified in
scale value.
2. The tolerance tightening stage begins and CONVERGE tightens only the solver
solver.in, CONVERGE will switch the pressure solver between BiCGSTAB and SOR to
determine which method is faster and use the faster solver for the remainder of the
simulation. If there is a recovery within 100 cycles of the pressure solver switch ,
CONVERGE will revert the pressure solver to its original setting.
In order to maintain stability , however , CONVERGE begins each " grid stage " ( i.e., a
solution at a particular grid scale value) with a ma ximum convection CFL number of 1
and doubles this value at the frequency you specify ( steady_tol_update_freq ) until reaching
max_cfl_u . If the PISO algorithm or any transport equations fail to converge , the ma ximum
CFL number is halved. After the number of cycles given by steady_tol_update_freq pass , the
rela xation parameters ( omega_presrat, tke_omega, eps_omega, etc.) to ensure a smooth and
solver.in is used for the ma ximum convection CFL number. During this stage , decrease the
AMR
To control Adaptive Mesh Refinement (AMR) in conjunction with the steady-state solver ,
specify GRIDSCALE, PERMANENT, SE ENTIAL or QU for the temporal type in amr.in . If
you select GRIDSCALE, CONVERGE activates AMR when the simulation reaches the grid
ignores the time to end AMR ( amr_vel_end ) and chooses to deactivate AMR based on other
criteria.
While CONVERGE can activate AMR automatically at any grid scale value , once the
tolerance tightening stage begins , the solver records the number of applications of AMR.
The number of applications of AMR must reach the value specified for
solver.in , ) the change in cell count between mesh refinements is less than 10 % of the total
steady level , CONVERGE considers the simulation converged. If the change in cell count
e xceeds 10 % of the total cell count , CONVERGE refines the mesh until this criterion is met.
Figure 5.59 provides a sample amr.in file with the GRIDSCALE temporal type.
Note that this grid scale AMR temporal type is available for all AMR types ( i.e., velocity ,
temperature , etc).
1 amr_vel_flag
4 amr_vel_embed
0.1 amr_vel_sgs_embed
GRIDSCALE
0 amr_vel_start
0.2 amr_vel_end
50 amr_parcel_embed
Figure 5.59: Sample gridscale AMR input file.
Numerical Schemes
When first-order upwinding is used ( e.g., when fv_upwind_factor_mom = 1.0) for the
numerical scheme , it adds numerical viscosity , which tends to help achieve convergence.
In some cases , however , you may wish to use higher-order numerics. In these cases , it may
be best to start with first-order upwinding and run the simulation until it converges. Then
you can initialize the field with the first-order solution (via mapping) and restart the
simulation with higher-order numerics. This process will make the higher-order simulation
inputs.in steady_auto_flag =
). If 1 , the steady-state solver may stop before end_time if the
1. The grid scaling stage ends (grid_scale reaches its final value if you specified multiple
values) ,
2. The tolerance tightening stage ends. That is , the solution reaches a steady-state with
max_cfl_u , )
4. If AMR is active , CONVERGE has applied AMR at least equal to the value specified for
steady_min_num_amr and the change in total cell count from one AMR application
Table 5.9 lists some parameters in solver.in that are relevant for controlling the steady-state
solver.
monitoring configuration.
,
Ideally provide both the initial (rela xed) and final (target) settings for the
, ,
CFL number tolerances and grid scale settings. Tables 5.10 and 5.11 below
,
provide recommended values but settings depend on the problem type and
steady_switch_solver_flag 0 = Do not automatically switch the pressure solver type during the
optimal solver during the tolerance tightening stage (allowed only for cases
steady_tol_update_freq 20. The frequency (in cycles ) with which CONVERGE updates settings ( e.g.,
doubles the ma ximum CFL number) and monitors the solution variables to
steady_piso_tol_init Usually 10 times piso_tol . The initial value of piso_tol used until the
steady_tol_scale_init Usually 0.5 times tol_scale . The initial value of tol_scale used until the
stage.
Recommended Inputs
No single set of input parameters can be used for all cases , but this section provides some
guidelines that can be used when setting up a new case. Table 5.10 below summarizes
recommended parameter values for steady-state cases and in some cases provides
information that may help you determine how to adjust the parameters for your particular
case.
piso_itmax solver.in 20
dtstart inputs.in The starting pseudo time-step allowed for each cycle. This
value should be set such that the CFL numbers are equal
the input.
dt_max inputs.in The ma ximum pseudo time-step allowed for each cycle.
dt_min inputs.in The minimum pseudo time-step allowed for each cycle.
least 10.0 K .)
max_visc inputs.in 10.0 (This is the ma ximum turbulent viscosity that will be
allowed during a steady simulation.)
grid_scale inputs.in Integer or file name ( e.g., gridscale.in ). If you specify a file
,
name (recommended) you must include that file in the
,
simulation start with a coarse mesh ( grid_scale = -2 or -1)
auto_gridscale_flag = monitor_steady_state.in
1 in ) and the
A TO
U gridscale.in
flag in .
Table 5.11 below provides recommended minimum and ma ximum iteration numbers for
Table 5.11: Recommended iteration limits (in solver.in) for transport equations solved during a steady-
state simulation.
Transport Equation Minimum Maximum Iterations
Iterations
Momentum mom_itmin = mom_itmax =
2 500
(tke)
(eps)
(omega)
This chapter describes the options in CONVERGE for sources and sinks of energy ,
momentum , turbulent kinetic energy , turbulent dissipation rate , specific dissipation rate ,
species , passive scalars , or porous media. To activate source/sink modeling , set source_flag
= 1 in inputs.in and specify the relevant parameters in source.in . The source/sink volumes
are defined by specifying the shape of the source ( i.e., bo x, sphere , cylinder , line , ,
circle or
region). The source.in file also contains information regarding the strength of the source
and the start and end times of the source. CONVERGE can displace the source from its
original location if you specify velocities , but this displacement is restricted to a ma ximum
value as specified by max_displace .
Table 6.1 below summarizes the time- , shape- , and displacement-related parameters for all
types of sources. These parameters are described in detail in the sections that follow. The
additional parameters required for porous media sources are discussed in the last section
of this chapter.
Table 6.1: Time, volume, and displacement parameters in source.in for all types of sources.
Parameter Description, Values, and Units
temporal type of source SE QUENTIAL, PERMANENT or CYCLIC. For CYCLIC, the period must
follow.
,
an entire region) LINE CIRCLE C , , YLINDER, or SPHERE.
line source.
circle source.
velocity Prescribed x, y, and z components of the velocity vector ( ms/ ). Used only if
moving = 1.
along the line or around the circumference of the circle , respectively. For LINE and
source_unit_volume ). The volume of the cell encompassing the point source determines the
local strength of the source. You do not have to consider the local grid refinements (due to
embedding and AMR) while specifying the magnitude for source_value because the total
strength of the source is equally divided by the number of points in a LINE or CIRCLE
source. This is useful when specifying multiple sources of the same type with the same
values.
For a LINE source , the first and the last point sources are located at x1_center and
x2_center respectively , while the remaining point sources are equidistantly spaced between
the first and last points. For a CIRCLE source , the point sources are equidistantly spaced
around the circumference of the circle , with a randomly selected starting point. The
coordinates for each point source on the CIRCLE are not definite.
Note that in the case of moving LINE and CIRCLE sources , with option 2 (moving with the
flow) each point can attain a different velocity due to the spatial variation of fluid velocity.
A point source moving with the flow is useful for simulating the e xpanding arc of a spark
You can reset the source to its original coordinates in one of two ways , depending on the
value of reset_source (1 or 2). When reset_source = 1 , if all the points on the line or circle
e xceed the max_displace value , CONVERGE resets the whole line or circle to its original
location. When reset_source = 2 , if any point on the line or circle e xceeds the max_displace
value , CONVERGE resets the whole line or the circle to its original location.
Use the parameter mult_dt_source to control the time-step size. This parameter limits the
CONVERGE solves for energy sources when energy_solver_flag = 1 or 2 in inputs.in and the
e u e P u
j j
i
u
i
K T
D hm Ym S ,
t x x x x x x
x
(6.1)
j
j j j j
j j
m j
where is density , Ym is the mass fraction of species m, D is the mass diffusion coefficient ,
P is the pressure , e is the specific internal energy , K is the conductivity hm
, is the species
enthalpy ,
i j
is the stress tensor T , is the temperature , and S is the energy source term
1
e
k u
2
u e uk
1 2
t
2 x j
j
2
K T D h Y
(6.2)
m
u P u
i i S
x x x x x x m .
j j
j j j j j
m j
Table 6.2 below describes the relevant inputs for energy sources that were not previously
source_type = 0.
Ifsource_type = 1 and steady_solver = 1 , total energy value per unit time (J/ s).
max_value Ma ximum temperature ( K ) that the solution variable associated with an energy
source can attain. Note that this value must be less than max_temp inputs.in.
in
*When source_type = 2 , you must include a pressure trace file. The pressure trace
represents the pressure change due to combustion. You can obtain the pressure trace data
**When source_type = 3 , you must include a file that contains heat release rate data. You
can obtain these data from a single cycle of a CFD simulation that includes combustion ,
experimental data , or a 1D simulation. The heat release data file must contain the keyword
or J/ deg crank_flag =
(if 1 or 2). This option allows you to avoid the computationally
expensive chemistry calculations for simulations in which the details of the combustion are
already known.
equation is given by
u
i i uu P i S
j j
t x xi x
i . (6.3)
j j
ui
In Equation 6.3 , is velocity , is density, P is pressure , i j
is the stress tensor , and Siis the
momentum source term. Depending on the direction of the momentum source , ( i.e., x, y,
and z vector components) , the momentum source will be U -EQ, V-E Q, or W-E ,Q
respectively. Note that the max_value for a momentum source is specified in terms of the
Table 6.3 below describes the relevant inputs for momentum sources that were not
source_type = 0.
max_value Ma ximum (absolute) value of velocity ( ms/ ) that the source can attain.
You can specify turbulent kinetic energy sources for simulations that use a RANS
solves for the turbulent kinetic energy source when turbulence_solver_flag = 1 in inputs.in
and the source equation is TKE in source.in . The general form of the turbulent kinetic
k ui k P D S ,
t xi
(6.4)
where P is the production term , D is the diffusion term , is the dissipation term, and S is
the source term. See Chapter 15 - Turbulence Modeling for details about these terms. Note
that the diffusion and dissipation terms vary depending on the type of turbulence model
Table 6.4 below describes the relevant inputs for turbulent kinetic energy sources that were
source_unit_volume Source value per unit volume per time ( m2 s3/ ). Used only when source_type = 0.
You can specify turbulent dissipation sources for simulations that use a RANS k-epsilon
turbulence model. CONVERGE solves for the turbulent dissipation source when
i
u
c
u
i
t i x x j
Pr
x j
3
x
i
c xui i c
(6.5)
1 j 2
c S k S R,
s s
j
discrete phase (spray). Note that S and Ss are distinct from one another. In Equation 6.5 , R
depends on which k-e model you are using. If you are using the Standard k-e model , R= 0.
If you are using the RNG k-e model , then R is defined by Equation 15.14.
Table 6.5 below describes the relevant inputs for turbulent dissipation sources that were
equation
t_volume
source_val If steady_solver = 0 in inputs.in, total source value ( kg-m2 s3
/ ).
You can specify specific dissipation sources for simulations that use a RANS k-omega
turbulence model. CONVERGE solves for the specific dissipation source when
u
j
P 2
t , S
t x j
k x
j
x j
(6.6)
Table 6.6 below describes the relevant inputs for specific dissipation sources that were not
source_unit_volume Source value per unit volume per time (1 / s2 ). Used only when source_type = 0.
u
D Ym Sm ,
m m
j
t x j
x
j
x j
(6.7)
where
m Ym , (6.8)
fraction of species m, D is the mass diffusion coefficient , and Sm is the species source term of
species m . Table 6.7 below describes the relevant inputs for species sources that were not
Parameter Description
source_value If steady_solver = 0 in inputs.in, total source value ( kg ).
*NOTE: This velocity is not relative to the velocity of the source shape that
CONVERGE solves for passive sources when passives are specified in species.in and the
source equation is given by the name of the passive in source.in . The passive transport
equation is given by
i u
D S ,
t xi x
i xi
(6.9)
the passive source term. Table 6.8 below describes the relevant inputs for passive sources
1 = Total source.
source_unit_volume Source strength per unit volume per time (1/ m3-s ). Used only if source_type = 0.
CONVERGE solves for porous media when the source equation is PORO S source.in
U in . In
porous media , the flow occurs through a region of fine-scale geometrical structures whose
effects are too small to be numerically resolved within the overall simulation. Porous media
resistances. Porous media modeling is performed with the assumption that , within the
volume containing the distributed resistance , a local balance between pressure and
Ku
i i
p (no summation on i,
) (6.10)
i
where
i i
( =1 2 3 , , ) represents the mutually orthogonal orthotropic directions , Ki is the
velocity at any cross section through the porous medium is defined as the volume flow rate
divided by the total cross-sectional area ( i.e., the area occupied by both fluid and solid).
magnitude v
| | of
j
the form
Ki i v j
i , (6.11)
where i and
i are user-supplied coefficients. The units of the permeability coefficient
are kg m
/
4
and the units of are kg m s /
3- . Depending on the nature of the resistances ,
permeability coefficients can be isotropic ( i.e., uniform in all three directions) or orthotropic
CONVERGE includes two options for determining the thermal conductivity of the porous
conductivity of the porous region is equal to the thermal conductivity of the fluid in the
porous region. If you set eff_conductivity_flag = 1 , CONVERGE will calculate the effective
thermal conductivity of the porous region as a function of the fluid and solid thermal
k kS
2
1
1
,
(6.12)
2 kS kF 3 kS
is_directional_flag 0 = Isotropic (only alpha_coeff and beta_coeff are used for calculating
velocity) ,
1 = Orthrotropic ( alpha_coeff, alpha_cross_coeff, beta_coeff, and
direction The i, , k
j components of the direction vector of the main flow.
conductive_porosity The porosity used to calculate effective thermal conductivity (used only
This chapter describes the different methods by which CONVERGE can initialize physical
variables ( e.g., velocity , pressure , temperature , and species). This chapter also describes
regions , which are used by CONVERGE both to allow fle xibility in initialization and to
connect or disconnect specific parts of the domain. The parameters discussed in this
1. Specify uniform values for the entire geometry , or specify different values for different
regions of the domain (assuming you have divided the domain into regions).
2. Map field values from a file , which allows each cell to be initialized individually.
3. Initialize the domain from the values of the field variables in a restart file.
The most common initialization method is simply to specify initial values for
thermodynamic quantities ( e.g., pressure , temperature , etc.) for the entire domain or for
individual regions (if the domain has been divided into regions) via initialize.in. Two special
cases configuration of solid regions and velocity initialization in an internal combustion
engine are described below.
#!csi_version=2.4
#=======================
1 num_regions
1 region_id
1 stream_id
1 solid_flag
0.01 vel_init
413.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init
112.602 omega_init
1 num_species_init
metal 1.0
0 num_passive_init
Figure 7.1: A sample initialize.in file that describes a single solid region.
If your simulation has one or more solid regions , you must define one or more species as
#!csi_version=2.4
#=======================
SOLID
iron
Figure 7.2 : Sample species.in file that defines a SOLID species.
CONVERGE looks in solid.dat for properties of any species specified as SOLID species.in
in .
An e xcerpt of a solid.dat file is shown below in Figure 7.3. The first uncommented row is
the name of the solid species (in this e xample, iron ,) and the ne xt row is the melting point
of the solid (in K ). The subsequent rows specify the temperature-specific density , specific
boundaries that are associated with the SOLID regions ( solid_flag = 1).
Note that a non-zero velocity field can be specified by mapping velocity from a file as
For engine cases , the engine parameters specified in engine.in are used to conveniently
whose directions of piston motion vary , the cylinder a xis must be aligned with the z -a xis
and there must be piston motion from BDC to TDC in the positive z direction for proper
velocity initialization. The w component of velocity ( i.e., velocity in the z direction) is set to
the piston speed for all points on the piston face. The remaining cells in the cylinder are
given an initial w velocity consistent with a field whose velocity drops linearly from the
piston speed at the piston face to zero velocity at the head , as given by Equation 7.1:
w z wpiston zhead z ,
zhead zpiston
( ) (7.1)
where zhead and zpiston are the z coordinates of the head and piston , respectively , and wpiston
is the speed of the piston.
The u v
and components of velocity are set by the swirl_ratio and swirl_profile values in the
engine.in file. The swirl_ratio is the ratio of the angular speed of the flow , flow , to the
angular speed of the crankshaft , crankshaft, with the direction of swirl consistent with the
flow
swirl ratio
_ . (7.2)
crankshaft
The simplest approach to initializing swirl is to assume wheel flow. Assuming the cylinder
a xis is aligned with the z a xis (as it should be for all single-cylinder simulations) , the u and
u flow y and
v flow x .
(7.3)
The wheel-flow assumption is not usually realistic because the velocity should diminish
significantly near the cylinder wall. A Bessel function more accurately represents the
velocity profile in an engine (Amsden et al. , 1989). The swirl_profile parameter in engine.in
is a dimensionless constant used in the Bessel function calculation. This parameter has a
minimum value of 0.0 for wheel flow and a ma ximum value of 3.83 for zero velocity at the
7.1.2 Mapping
another way to initialize the domain. The mapping options in CONVERGE are describe
below. For all of the mapping options , restart_flag in inputs.in must be set to 0. If
restart_flag = 1 , CONVERGE will override the mapping option that you have selected in
map_flag = 1
For the first option , set map_flag = 1 in inputs.in . CONVERGE allows you to initialize any
number of field variables as well as parcel data via mapping. In addition , CONVERGE
allows you to set up mapping on a region-by-region basis. This mapping option is useful if
you wish to begin a simulation with the output from a different CFD solver , experimental
data ( e.g., LDV or PIV data) , or spatially varying initial values that cannot be initialized
via initialize.in .
For this mapping option , you must include the map.in file , which describes what and
where to map , and at least one file that contains the data to be mapped ( e.g., map.dat ). The
variables that are not mapped from map.dat will be initialized by initialize.in . The regions
that are not listed in map.in will be initialized via initialize.in . Note that you must include a
value in initialize.in for each of the variables being mapped , although mapping will take
precedent over these initialize.in values (when map_flag = 1) for the specified variables in
All cells in the new grid are initialized with the value of the nearest point of the original
grid. When creating your own region-by-region mapping data files from other codes or
experimental data , you need to be aware of the locations of the points in the mapping data
file. The mapping algorithm interpolates from the nearest neighboring point , regardless of
whether or not that point lies within the same region that is mapped.
You cannot map density values from one grid to the other. Density is determined by the
temperature , pressure , and species mass fractions for compressible flow ( i.e., from the
equation of state). For incompressible liquids , the density is determined by the species mass
fractions , i.e., density for incompressible liquids is only a function of the species that is
being transported.
map_flag = 2
The second type of mapping is restart mapping. To activate this option , set map_flag = 2 in
inputs.in . CONVERGE will select a restart file in the Case Directory to use as the mapping
data file. CONVERGE first looks for restart.rst. If that file is not present in the Case
Directory , CONVERGE will select the restart####.rst file with the highest number. For this
useful if , for e xample, the base grid size for a simulation was inappropriate (either too
coarse or too fine). You can initialize a new simulation with the data from the restart file
map_flag = 3
The third mapping option is restart mapping with transformation (scaling , rotation , etc.)
of the data. To activate this option , set map_flag = 3 in inputs.in . You must include a map.in
file and for map_name in map.in you must specify a restart file. This restart file must be
7.1.3 Restart
CONVERGE can restart a simulation from a restart file. This section describes how to
configure CONVERGE to write restart files and how to restart a case using a restart file.
The parameters for writing and restarting are located in inputs.in . Figure 7.4 shows an
#!csi_version=2.4
#=======================
...
1 restart_flag
2 restart_number
...
# output control
5e-05 twrite_post
10.0 twrite_transfer
1e-10 twrite_files
1e-05 twrite_restart
5 num_restart_files
0 write_map_flag
...
Figure 7.4: Excerpt of inputs.in.
many of these files CONVERGE will store in the Case Directory. It may be useful to set this
parameter greater than one. For e xample, if CONVERGE writes a restart file after a
simulation has started to diverge , then you can go back to an earlier restart.
These restart files are named restart<restart number>.rst, and CONVERGE creates the
CONVERGE has written num_restart_files , restart files it will remove the lowest numbered
restart file when it writes another restart file. If CONVERGE writes 9 999 restart files , , the
In addition to these restart files , CONVERGE provides the option to save other restart files ,
written at specified times , to the Case Directory. These additional files are named
according to the times at which they are written: restart_<simulation time or CAD>.rst .
These additional restart files do not count toward the user-specified number of restart files
CONVERGE.
All of the restart files are in binary format , e xcept for the first line , which is in ASCII
format. The first line contains the simulation time of the restart file (in seconds crank_flag if
and the version number of CONVERGE. To determine the simulation restart time , use one
of the following commands (replace restart0001.rst with the relevant file name) to display
file to restart.rst
. If you do not copy a file to restart.rst, CONVERGE will use the highest-
Upon completion of a restarted simulation , CONVERGE creates a new set of domain- and
region-averaged output files (*.out, *_region#.out ). Rather than overwriting the *.out files
write thermo2.out instead of thermo.out . This process allows you to save output files from a
If you edit the post.in file and then restart a simulation , CONVERGE will create a new
output directory , output<restart_number>, to store the post* output files. For e xample, if
restart_number = 3 and if you edit the post.in file and then restart the simulation ,
CONVERGE will write the new post* files to the output3 directory.
When restarting a CONVERGE simulation , the restarted results may not match e xactly the
results from a case without a restart. Some of the physical models incorporate random
number elements that are not replicated in a restart case. These variations will be
consistent with using a different random number seed for the same set of inputs. Also ,
CONVERGE recreates the AMR embedding at the beginning of a restart. To ensure that
the new AMR embedding matches e xactly the AMR embedding from before the restart ,
CONVERGE saves the AMR embedding information to the restart file.
Parameter Description
restart_number Number that is added to .out files to prevent overwriting the e xisting
*.out files ( e.g., CONVERGE will write thermo2.out instead of thermo.out ).
num_restart_files Number of restart files to be stored. Once this number of restart files has
,
been written CONVERGE will remove the oldest restart file before
7.2 Regions
one or more boundaries. (We recommend using CONVERGE Studio to assign surface
results.
Note that the concept of regions in CONVERGE is slightly different than in other CFD
solvers. In other CFD codes , you must manually create a grid and assign each cell in the
grid to a region before running a simulation. When you create a grid in other CFD codes ,
you must shape the cells so that the cell faces align perfectly with the region boundaries.
automatically creates the grid (and controls the location and orientation of each cell in the
grid) at runtime.
single region. If you have a portion of the geometry with one set of boundary conditions
but you wish to assign half of that geometry to one region and half to another region , you
must create two boundaries (with identical boundary conditions). Then you can assign one
Figure 7.5 below shows an e xcerpt of a boundary.in file. In this e xcerpt, which defines a
single boundary , the last row assigns this boundary to Region 2. Each boundary definition
section of boundary.in assigns that boundary to a region. Based on the region assignment of
each boundary , CONVERGE determines where in the interior of the domain to draw
1
WALL ST
roughness 0.0 0.0
velocity di 0.0 0.0 0.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 2
Figure 7.5: Excerpt of a boundary.in file. The last line assigns this boundary to Region 2.
7.2.1 Undefined/Dependent Region
simulations that use the sealing feature ( e.g., 2-stroke or Wankel engines) , however , some
boundaries should not be associated with any single region. Instead CONVERGE will
In previous versions of CONVERGE , boundaries not associated with a specific region were
assigned a region value of -1 in boundary.in . Now CONVERGE uses the dependent keyword
Figure 7.6 below shows a Wankel engine and identifies the boundaries that are not
assigned to a specific region. Figure 7.7 shows an e xcerpt of the boundary.in file for this
engine. You can see that the boundaries not assigned to a specific region have a region
keyword of dependent .
Figure 7.6: Sample Wankel engine geometry. The boundaries noted are dependent region boundaries.
#!csi_version=2.4
#=======================
-
-
#-----------------------------------------------
2 rotor side 2
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 2
#-----------------------------------------------
3 rotor side 3
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 3
#-----------------------------------------------
4 rotor top
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
5 rotor bottom
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
6 housing sides
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
7 housing top
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
8 housing bottom
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
9 exhaust port
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 6
#-----------------------------------------------
10 exhaust outlet
OUTFLOW
velocity ne 0.0 0.0 0.0
pressure di 108800.0 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps ne 0.0
temperature backflow di 925.0
species backflow di 4
O2 0.082
N2 0.736
CO2 0.125
H2O 0.057
passive backflow di 0
At no time during a simulation are the surface triangles allowed to intersect each other.
For example, in an engine , there must always be a minimum lift between a valve and the
corresponding valve seat. Because of this restriction , you cannot cut off the flow between
regions by having one surface come in contact with another. Instead CONVERGE create
disconnect triangles to close the gaps (and thus cut off the flow) between regions. This
section describes the different types of disconnect triangles that CONVERGE creates. The
following section describes how to activate or deactivate the disconnect triangles to control
Consider a shock tube as an e xample. Figures 7.8 and 7.9 below show the geometry , which
is separated into two regions: the red region has a low initial pressure and the blue regions
has a high initial pressure. (The boundaries for this geometry are not shown , but in this
case the red region consists of one or more boundaries and the blue region consists of one
Figure 7.8: Shock tube geometry. The red region has a low initial pressure. The blue region has a
high initial pressure.
Figure 7.9: Clip plane of the shock tube. From this view you can see that there are no triangles
between the two regions in the triangulated surface.
At the start of a simulation , CONVERGE identifies continuous loops of edges that form
boundaries between regions. For example, to delineate the red and blue regions
Figure 7.10: The edges highlighted in orange mark the border between the red and blue regions.
At the beginning of the simulation , CONVERGE will activate disconnect triangles to patch
the orange loop , as shown below in Figure 7.11. When active , these disconnect triangles
prohibit flow between the two regions. Throughout the simulation CONVERGE will
activate or deactivate the disconnect triangles to control the flow between these two
regions. Note that the disconnect triangles are strictly for numerical purposes and they are
Figure 7.11: Clip plane of the shock tube and green disconnect triangles. Note that these triangles are
not part of the surface geometry and will not appear in CONVERGE Studio.
In this shock tube e xample, CONVERGE creates disconnect triangles within the circular
loop that delineates the two regions. CONVERGE can properly triangulate any planar
loop , even non-conve x or ring-shaped loops. CONVERGE can triangulate most non-planar
This e xample illustrates an important point: the surface must be triangulated such that
each boundary (collection of triangles) can be assigned to a single region. In the case of the
shock tube , the same geometry could have been represented as shown below in Figure
7.12. However , it would be impossible to flag separate boundaries , and thus separate
Figure 7.12: The same shock tube geometry but with a surface triangulation that does not allow for
separation into two boundaries (and thus two regions).
The type of disconnection illustrated with the shock tube is called a single loop
disconnection. For e xample, in the poppet valves in an engine , there is a concentric circle
disconnection between the valve (a circular loop) and the valve seat (another circular
loop). Figure 7.13 below shows a cross section of a valve and a valve seat in an engine. In
this e xample, the purple lines represent boundaries assigned to Region 1 , while the red
At the start of the simulation , CONVERGE will detect two circular loops where Regions 1
and 2 meet: one loop around the base of the valve (point A in Figure 7.13) and one loop
around the base of the valve seat (point B). Because there are two loops , CONVERGE will
create a ring of disconnect triangles between the two loops ( i.e., between the valve and the
valve seat). You can activate or deactivate these disconnect triangles to control the flow
between regions. Note that in this valve e xample, the top and bottom of the valve must be
the top and bottom of the valve) so that they can be assigned to different regions.
7.2.3 Events
CONVERGE uses events to active or deactivate the disconnect triangles , which control
when and where flow between regions is allowed. An OPEN event deactivates the
disconnect triangles and thus allow flow between the specified regions. A CLOSE event
activates the disconnect triangles and thus prohibits flow between the specified regions.
When disconnect triangles are activated , they act as a S YMMETRY boundary condition.
If a case includes at least two adjacent fluid regions , you must setevents_flag = 1 in
inputs.in and include an events.in file in the Case Directory. The events.in file must contain
at least one event for each pair of adjacent regions. If there is a time period for which
events.in does not contain an event for a pair of adjacent fluid regions , CONVERGE
Figure 7.14 below shows an e xampleevents.in file. The first line must be CYCLIC,
SE QU ENTIAL, PERMANENT, or NO_DIS_TRIANGLES CYCLIC, . If it must be followed by
the period of the cycle. Each subsequent row describes a single event. (Remember that you
must include at least one event for each pair of adjacent fluid regions.) For CYCLIC or
SE ENTIAL,
QU list the two region IDs , the OPEN CLOSE ,
event ( or ) and the time (in
seconds crank_flag =
if 0 or in crank angle degrees crank_flag =
if 1 or 2). For PERMANENT,
list the two regions IDs and the event. After NO_DIS_TRIANGLES, list the number of
events. On the following lines , enter the region ID followed by the keyword region_id .
CONVERGE does not create disconnect triangles between each listed region and the
dependent region for the duration of the simulation. Use this event type in conjunction with
#!csi_version=2.4
#=======================
CYCLIC 720.0
0 1 OPEN -363.0
0 1 CLOSE -121.0
0 2 OPEN -566.0
0 2 CLOSE -315.0
Figure 7.14: An example events.in file.
The region IDs can be specified in either order , and the events do not need to be specified
in chronological order.
Initialization of Events
IfSE ENTIAL,
QU you must specify an event at the start_time specified in inputs.in . If
CYCLIC, at the beginning of the simulation CONVERGE disconnects all adjacent regions
and then processes the events for one full cycle and then up until the simulation start time.
This action is necessary because , in a CYCLIC case , the initial region connection status
depends on the region connection status at the end of the previous cycle.
CONVERGE does not alter the time-step to make an event coincide with the start of a
time-step. Instead , at the end of each time-step , CONVERGE e xecutes any events that
occurred during that time-step ( i.e., the actual event will occur at the end of the time-step
in which that event is specified to occur). Following an event , the time-step will be reduced
by a factor of ten to more accurately simulate the shock introduced in the domain by
CLOSE events based on specified valve lift profiles. To implement this option , use the
the valve lift profile in quotes after the VALVE keyword. Figure 7.15 below shows an
example events.in file with automatic valve events. This file will use the intake_lift.in file to
determine the OPEN and CLOSE events between Region 0 (the cylinder) and Region 1 (the
intake ports). It will use the exhaust_lift.in file to create the OPEN and CLOSE events
#!csi_version=2.4
#=======================
CYCLIC 720
0 1 VALVE "intake_lift.in"
0 2 VALVE "exhaust_lift.in"
Figure 7.15: Sample events.in file with automatic valve events.
Refer to the Chapter 20 - Internal Combustion Engine Applications for more information
the second region ID. For contact resistance OPEN and CLOSE events ( i.e., CONVERGE
allows or prohibits flow through the contact resistance region) , you must specify the region
start time of the event. For VALVE events , you must specify the region ID of the contact
resistance region as described previously and the keyword VALVE. Figure 7.16 below
shows an e xample events.in file with all three types of contact resistance events.
#!csi_version=2.4
#=======================
CYCLIC 720.0
0 CONTACT_RESIST OPEN -410.7
0 CONTACT_RESIST CLOSE -100.5
1 CONTACT_RESIST VALVE
Figure 7.16: Sample events.in file with contact resistance events.
Moving Triangles
It is important to note that disconnect triangles cannot be activated when the triangles to
which the disconnect triangles are attached are moving. For e xample, in the case of a valve
and valve seat , the valve must not be moving when the regions above and below the valve
are disconnected. CONVERGE checks all events at the start of the simulation to ensure
that no disconnect triangles are activated ( i.e., no CLOSE events are scheduled) while any
CONVERGE generates output files containing averages (or sums) of results for the entire
domain and each region. Output file names for the entire domain are formatted as <file
name><restart_number>.out . Output file names for a region are formatted as <file
name><restart_number>_region<region number>.out .
If the simulation is not started from a restart , the restart number is not included in the
output file name. For e xample, for a two-region case with no restart , CONVERGE writes
For the same case started from a restart file with a restart number of 1 ( restart_number
specified in inputs.in ,
) CONVERGE writes the three thermodynamic output files:
thermo1.out (thermodynamic output for the entire domain and restart number 1)
8 Boundary Conditions
you to assign each boundary to one of the boundary types: INFLOW , OUTFLOW , WALL ,
PERIODIC , S YMMETRY, TWO_D , INTERFACE , or GT-SUITE. You must also set a
boundary condition for each partial differential conservation equation at each boundary.
f, (8.1)
f
,
x (8.2)
where f is a solved quantity ( e.g., pressure , energy , velocity , or species) and f is the
zero. Note that in some cases , you can specify other boundary conditions ( e.g., slip or law-
This section describes INFLOW and OUTFLOW boundaries and how to configure
boundary conditions for them. INFLOW and OUTFLOW boundaries are similar , but there
are some boundary conditions and options available only for INFLOW or OUTFLOW
boundaries. At OUTFLOW boundaries , you must also set boundary conditions for
Table 8.1 lists the options for boundary conditions at INFLOW and OUTFLOW
boundaries.
Pressure ,
Dirichlet Neumann Transonic ( , tr
)
Species ,
Dirichlet Neumann
Passive ,
Dirichlet Neumann
Turbulent kinetic , ,
Dirichlet Neumann Intensity ( in)
energy
Turbulent dissipation , ,
Dirichlet Neumann Length Scale ( le
)
Certain combinations of boundary conditions may not be stable and should be avoided.
Neumann pressure boundary condition may result in the drifting of the mean domain
Figure 8.1 is an e xcerpt of a boundary.in file that shows the configuration of an INFLOW
5
INFLOW
velocity di 0.0 0.0 10.0
pressure ne 0.0
temperature di 300.0
species di 2
n2 0.77
o2 0.23
passive di 1
soot 0.001
tke in 0.01
eps le 0.013
region 0
6
OUTFLOW
velocity ma 10.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps ne 0.0
temperature backflow di 400.0
species backflow di 2
n2 0.77
o2 0.23
passive backflow di 0.0
tke backflow di 10.0
eps backflow di 10000.0
region 0
Figure 8.1: Configuration of INFLOW and OUTFLOW boundaries in boundary.in.
Dirichlet , mass flow , average velocity , and Neumann velocity boundary conditions are
available to solve the momentum equation at INFLOW and OUTFLOW boundaries. Two
additional boundary conditions Normal Neumann and pump are available for
Some velocity and pressure boundary condition combinations are not allowed in
CONVERGE. If the boundary conditions you specify are not allowed , CONVERGE will not
run.
Dirichlet
To set up a constant Dirichlet velocity boundary condition , enter the keyword di followed
by the three components of the velocity (in ms / ) at the boundary. To set up a spatially
keyword di followed by the file name ( e.g., velocity.in ) in quotation marks. To set up a non-
constant Dirichlet velocity boundary condition via UDF ( user_bc.c , ) enter the keyword di
followed by the keyword user.
Note that you can set both the INFLOW and OUTFLOW velocity boundary conditions to
Mass Flow
The mass flow velocity boundary condition is a special case of the Dirichlet velocity
boundary condition. For a mass flow boundary condition , the velocity at the boundary is
calculated from
ui mass flow ni ,
_
ave A
(8.3)
where mass_flow is the mass flow into or out of the boundary , ave is the average density at
the boundary , A is the total area of the INFLOW or OUTFLOW boundary , andni is the
For an OUTFLOW boundary , a positive mass_flow indicates flow out of the domain and a
For a steady-state simulation , CONVERGE updates the OUTFLOW pressure via a two-step
process , first calculating the pressure differential via the Bernoulli equation
avg
p AVcalc AVspec
(8.4)
2
,
where AVcalc is the calculated average velocity and AVspec is the target average velocity
Note that if reverse flow occurs through an OUTFLOW boundary with a mass flow
boundary condition , CONVERGE sets the reverse flow value to zero ( i.e., no backflow can
occur).
To set up a constant mass flow velocity boundary condition , enter the keyword ma
followed by the mass flow (in kg s
/ ). To set up a spatially and/or temporally varying mass
flow velocity boundary condition via a file, enter the keyword ma followed by the file
name in quotation marks. To set up a non-constant mass flow velocity boundary condition
via UDF ( user_bc.c , ) enter the keyword ma followed by the keyword user.
Average Velocity
For the average velocity boundary condition , CONVERGE assumes the average velocity is
a scalar normal to the INFLOW or OUTFLOW boundary. The average velocity follows the
same sign convention as mass_flow . CONVERGE scales the velocities at the cell centers
adjacent to the boundary to produce a fully developed profile so that the average velocity
Note that if reverse flow occurs through an OUTFLOW with an average velocity boundary
condition , CONVERGE sets the reverse flow value to zero ( i.e., no backflow can occur).
To set up a constant average velocity boundary condition , enter the keyword av followed
velocity boundary condition via a file , enter the keyword di followed by the file name in
quotation marks.
Neumann
To set up a zero-gradient Neumann velocity boundary condition , enter the keyword ne
followed by a value of 0.0 for each velocity component ( i.e., 0.0 0.0 0.0).
Note that if you set a Neumann velocity boundary condition and a Dirichlet pressure
boundary condition , CONVERGE will adjust the magnitude and direction of the velocity
Normal Neumann
The Normal Neumann velocity boundary condition constrains the direction of the velocity
to the normal of the INFLOW boundary. This boundary condition is allowed only for
INFLOW boundaries set up with a Dirichlet pressure boundary condition. The Normal
value of 0.0 for each velocity component ( i.e., 0.0 0.0 0.0).
Pump
For this boundary condition , which is available for INFLOW boundaries only , CONVERGE
Pa ).
To set up a pump velocity boundary condition , enter the keyword pu followed by a file
name ( e.g., pump_massflow.in ) in quotation marks. An e xample input file for the pump
temporal
sequential
pressure pump_massflow
92220.0 0.11986
92726.0 0.11317
93480.0 0.103326
94830.0 0.08555
96490.0 0.06357
98771.0 0.033416
100403.0 0.011857
101300.0 0.0
Figure 8.2: Example of a file (e.g., pump_massflow.in) for a pump mass flow boundary condition for an
INFLOW boundary.
turbulent fluctuations , which are then superimposed on the INFLOW velocity profile.
These fluctuations are created using a two-point correlation function as described by Klein
rm 0 rm rm 1
et al. (2003). Starting from a white noise signal rm such that and , a filtered
signal is given by
um br n mn
, (8.6)
n N
where bn are the one-dimensional filter coefficients and N is connected to the support of
rm rn 0
the filter. The autocorrelation function for white noise is for m n,
so
um um k
b j b j k
j N k
N (8.7)
b
um um 2
j
j N
gives the autocorrelation function for the filtered signal in terms of the one-dimensional
where Ruu is the autocorrelation function and L is the user-specified length scale. The
autocorrelation function for late stage homogenous turbulence takes the form
r2
Ruu ( r , 0, 0) exp 2
, (8.9)
4 L
L L(t ) 2 (t t0 )
where . For late stage homogeneous turbulent cases , assuming the
velocity of one eddy is not correlated to the velocity of any other eddy , L appro ximately
corresponds to the size of a turbulent eddy. Small values for L result in small , high-
To activate the fluctuating INFLOW boundary option , do not enter the boundary type
intensity and fluctuation length scale (in m ). The fluctuation intensity , which determines
the magnitude of the fluctuations scaled by the velocity , is a dimensionless parameter and
can take values between 0 and 1. Physically realistic values range from 0.02 to 0.1.
Figure 8.3 shows an e xcerpt of a boundary.in file with the fluctuating INFLOW option
activated.
#!csi_version=2.4
#=======================
#-----------------------------------------------
inflow_fluctuating 0.07 0.1
velocity di 15.0 0.0 0.0
pressure ne 0.0
temperature di 300.0
species di 2
O2 0.23
N2 0.77
passive di 0
tke in 0.02
eps le 0.003
omega le 0.003
region 0
Figure 8.3: Excerpt of boundary.in that includes the fluctuating INFLOW boundary option.
Dirichlet and Neumann boundary conditions are available to solve the pressure equation
Dirichlet
To set up a constant Dirichlet pressure boundary condition , enter the keyword di followed
by the pressure (in Pa ) at the boundary. To set up a spatially and/or temporally varying
pressure Dirichlet boundary condition via a file , enter the keyword di followed by the file
You can specify a static or a total (stagnation) pressure. To specify a total pressure , place
square brackets around the pressure value. For spatially and/or temporally varying
pressure boundary conditions , place a set of square brackets around the file name in
quotation marks ( e.g., ["pressure.in"] ). You can instead use a CONVERGE UDF to up a
non-constant Dirichlet pressure boundary condition. To set up this boundary condition via
UDF ( user_bc.c ,
) enter the keyword di followed by the keyword user . You can use the UDF
If you specify a total pressure , CONVERGE calculates the corresponding static pressure to
set as the boundary condition. For incompressible flows , the static pressure is given by
Pstatic Ptotal ui
2
(8.10)
2
.
For compressible flows , the relationship between the total and static pressures is
Ptotal Pstatic
1 ui
2
1
,
RT
1.0 (8.11)
For subsonic INFLOW boundaries with the Dirichlet pressure boundary condition , we
recommend specifying total pressure and setting a Neumann velocity boundary condition.
For OUTFLOW boundaries with the Dirichlet pressure boundary condition , you can
specify presdist, which is the number of cells from the boundary to the ambient pressure.
Specifying presdist dampens reflecting pressure waves in the domain and can improve
To specify presdist, enter its value after the pressure in boundary.in . We do not recommend
When pressure waves propagate throughout the computational domain and encounter an
outlet in the geometry , the waves may reflect into the domain. This phenomenon is
unphysical because in reality , pressure waves e xit the domain at the outlet. To reduce the
effect of these spurious reflected waves , CONVERGE includes a sponge layer for Dirichlet
pressure boundary conditions at OUTFLOW boundaries. The sponge layer , which is based
length that you specify. Within this zone , CONVERGE attempts to detect and damp
pressure waves.
To activate the sponge layer for an OUTFLOW , enter the keyword SPONGE after the
pressure value for a Dirichlet pressure boundary condition in boundary.in . On the same
line , specify the x, y, and z coordinates of the center of the sponger layer. This point must
be in the plane of the OUTFLOW boundary. Then , specify the x, y, and z coordinates of a
direction vector that is orthogonal to the OUTFLOW plane and points into the domain
from the center that you previously specified. Finally , enter a distance (in m ). CONVERGE
creates a sponge layer from the center point in the direction you specified with thickness
equal to the distance value. Figure 8.4 shows a sample sponge layer configuration.
7 Exhaust outflow
OUTFLOW
velocity Neumann 0.0 0.0 0.0
pressure Dirichlet 101325 SPONGE -0.1258 -0.0066 0.03813 1.0 0.0 0.0 0.03
Figure 8.4: Example of a sponge layer at an OUTFLOW boundary.
Neumann
To set up a zero-gradient Neumann pressure boundary condition , enter the keyword ne
followed by 0.0. For subsonic INFLOW boundaries with the Neumann pressure boundary
ne followed by the value of the pressure gradient. This option is available for INFLOW but
Transonic
The transonic pressure boundary condition is suitable for cases in which the flow
accelerates from subsonic to supersonic at the outlet. The transonic pressure boundary
conditions. You can specify the minimum and ma ximum Mach numbers ( Mmin and Mmax in
Equation 8.13 below) between which the flow is considered transonic. Equation 8.13
pstatic M Mmin
p Mmax M p M p M M M
bound ,
Mmax static Mmax node min max (8.13)
pnode M Mmax
where pstatic is the calculated Dirichlet pressure and pnode is the static pressure at the cell
follows:
pstatic 1
p x p
specified node ,
1 x 1 x (8.14)
where pspecified is the static pressure that you enter and x is the distance to the ambient
pressure.
To set up a transonic pressure boundary condition , enter the keyword tr followed by the
number , and the ma ximum Mach number. If you do not specify a minimum and
ma ximum Mach number , CONVERGE will use 0.9 and 1.1 , respectively.
Dirichlet and Neumann temperature boundary conditions are available to solve the energy
boundary condition.
For OUTFLOW boundaries , you must also specify a backflow temperature boundary
condition.
Dirichlet
To set up a constant Dirichlet temperature boundary condition , enter the keyword di
followed by the temperature (in K ) at the boundary. To set up a spatially and/or
temporally varying Dirichlet temperature boundary condition via a file , enter the keyword
temperature boundary condition via UDF ( user_bc.c , ) enter the keyword di followed by the
keyword user .
If you specify a total pressure for the pressure boundary condition , CONVERGE will
assume the specified temperature is the total temperature and calculate the static
temperature as
T T 1 i u
2
1
Neumann
To set up a zero-gradient Neumann temperature boundary condition , enter the keyword
ne followed by 0.0.
Dirichlet and Neumann boundary conditions are available to solve the species equation at
For OUTFLOW boundaries , CONVERGE Studio allows only a Neumann species boundary
condition. CONVERGE , however , will run with a Dirichlet species boundary condition.
For OUTFLOW boundaries , you must also specify a backflow species boundary condition.
Dirichlet
To set up a constant Dirichlet species boundary condition , enter the keyword di followed
by the number of species to specify. The following rows should each contain the name of a
species , followed by its mass fraction. The sum of species mass fractions should be 1.0.
Note that if the sum is not 1.0 , CONVERGE will not normalize the values at runtime.
To set up a spatially and/or temporally varying Dirichlet species boundary condition via a
file , enter the keyword di followed by the file name in quotation marks. You can instead
keyword user.
Neumann
To set up a zero-gradient Neumann species boundary condition , enter the keyword ne
followed by 0.0.
Dirichlet and Neumann boundary conditions are available to solve the passive equation at
For OUTFLOW boundaries , CONVERGE Studio allows only a Neumann passive boundary
condition. CONVERGE , however , will run with a Dirichlet passive boundary condition.
For OUTFLOW boundaries , you must also specify a backflow passive boundary condition.
Dirichlet
To set up a constant Dirichlet passive boundary condition , enter the keyword di followed
by the number of passives to specify. The following rows should each contain the name of
To set up a spatially and/or temporally varying Dirichlet passive boundary condition via a
file , enter the keyword di followed by the file name in quotation marks. You can instead
up this boundary condition via UDF ( user_bc.c , ) enter the keyword di followed by the
keyword user.
Neumann
To set up a zero-gradient Neumann passive boundary condition , enter the keyword ne
followed by 0.0.
You must specify a boundary condition for the turbulent kinetic energy (tke) equation
Several types of boundary conditions Dirichlet, Neumann , and intensity are available to
solve the tke equation at INFLOW and OUTFLOW boundaries.
For OUTFLOW boundaries , you must also specify a backflow turbulent kinetic energy
boundary condition.
If your simulation includes a RANS k- model , you can appro ximate the far field tke at
k
2 2
10 U 0.1U
far field
ReL ReL .
(8.16)
Dirichlet
To set up a constant Dirichlet tke boundary condition , enter the keyword di followed by
Dirichlet tke boundary condition via a file , enter the keyword di followed by the file name
in quotation marks.
Neumann
To set up a zero-gradient Neumann tke boundary condition , enter the keyword ne
followed by 0.0.
Intensity
The intensity tke boundary condition is a special case of the Dirichlet tke boundary
k ui I
3 2 2
, (8.17)
2
To set up an intensity tke boundary condition , enter the keyword in followed by the
tke boundary condition. To set up this boundary condition via UDF ( user_bc.c , ) enter the
You must specify a boundary condition for the turbulent dissipation rate (eps) equation
For OUTFLOW boundaries , CONVERGE Studio allows only a Neumann eps boundary
condition. CONVERGE , however , will run with a Dirichlet eps boundary condition.
For OUTFLOW boundaries , you must also specify a backflow turbulent dissipation
boundary condition.
Dirichlet
To set up a constant Dirichlet eps boundary condition , enter the keyword di followed by
varying Dirichlet eps boundary condition via a file , enter the keyword di followed by the
Neumann
To set up a zero-gradient Neumann eps boundary condition , enter the keyword ne
followed by 0.0.
Length Scale
The length scale eps boundary condition is a special case of the Dirichlet eps boundary
condition. For the length scale boundary condition , the turbulent dissipation at the
boundary is given by
c k3/4
3/2
,
le
(8.18)
energy , and le is the length scale. The length scale can be estimated from a physical
dimension in the domain ( e.g., you can set the length scale to a fraction of the intake port
diameter).
To set up a length scale eps boundary condition , enter the keyword le followed by the
Scale eps boundary condition. To set up this boundary condition via UDF ( user_bc.c , ) enter
You must specify a boundary condition for the specific dissipation rate (omega) equation
Several types of boundary conditions Dirichlet, Neumann , and length scale are
available to solve the omega equation at INFLOW and OUTFLOW boundaries.
For OUTFLOW boundaries , you must also specify a backflow specific dissipation rate
boundary condition.
turbulence.in , ) you can appro ximate the far field omega at INFLOW or OUTFLOW
boundaries as
U U
far field 10 ,
L L (8.19)
Dirichlet
To set up a constant Dirichlet omega boundary condition , enter the keyword di followed
temporally varying Dirichlet eps boundary condition via a file , enter the keyword di
followed by the file name in quotation marks.
Neumann
To set up a zero-gradient Neumann omega boundary condition , enter the keyword ne
followed by 0.0.
Length Scale
To set up a length scale omega boundary condition , enter the keyword le followed by the
Scale omega boundary condition. To set up this boundary condition via UDF ( user_bc.c ,
)
For an OUTFLOW boundary , you must define backflow boundary conditions , which will
apply if flow comes into the OUTFLOW boundary. You can define backflow boundary
conditions for the temperature , species, passive , turbulent kinetic energy (tke) , turbulent
dissipation (eps) , and specific dissipation rate (omega) equations. Specifying realistic
When reverse flow occurs at an OUTFLOW boundary , CONVERGE does not immediately
initiate backflow. For e xample, suppose O2 is flowing out of an OUTFLOW boundary for
which N2 is specified as the backflow species. If backflow occurs , CONVERGE does not
have a way to ensure that the backflow species is all N2 and thus backflow does not begin
immediately. If reverse flow occurs for longer than 2.5 * cell size*flow velocity, CONVERGE
To set up backflow boundary conditions , include a block of additional rows (one row for
each parameter that requires a backflow boundary condition) after the non-backflow
OUTFLOW parameters. In each additional row , enter the parameter name ( e.g., tke , ) the
keyword backflow, the boundary condition keyword ( e.g., le ) and the boundary condition
value. Note that not all boundary conditions are allowed for backflow. Table 8.2 shows
models)
models)
4
OUTFLOW
velocity ne 0.0 0.0 0.0
pressure di 100000.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps ne 0.0
temperature backflow di 400.0
species backflow di 2
n2 0.77
o2 0.23
passive backflow di 2
HIROY_SOOT 0.001
NOX 0.001
tke backflow di 10.0
eps backflow di 10000.0
region 0
Figure 8.5: Excerpt of boundary.in showing the configuration of an OUTFLOW boundary.
You can specify spatially and/or temporally varying velocity , pressure , temperature ,
species , passive , tke , ,
eps omega , and backflow boundary conditions at INFLOW and
OUTFLOW boundaries via a file. Note that temporally varying boundary conditions are
available only for transient simulations ( i.e., steady_solver = 0 in inputs.in ). This section
describes the format of spatially and/or temporally varying boundary condition input files.
To set up a spatially and/or temporally varying boundary condition , enter the name of the
input file (in quotation marks) after the boundary condition keyword in boundary.in . The
For a temporally (but not spatially) varying boundary condition input file , enter the
keyword TEMPORAL in the first row of the *.in file. In the second row , enter the keyword
If the data are sequential , CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data , CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.
In the third row , enter the keyword second (if crank_flag = 0 in inputs.in ) or the keyword
crank (if crank_flag = 1 or 2) , followed by the keyword(s) for the variable ( e.g., passive ).
Starting from the fourth row , enter a time followed by the value of the variable (of values
of the components of the variable) at that time. Figure 8.6 shows an excerpt of a
Table 8.3: Keywords for spatially and/or temporally varying boundary conditions.
Variable Keyword(s) Notes
Velocity U , V, W
Mass Flow massflow
Pressure pressure Specify either static or total pressure.
Temperature temperature
Species Species name(s) CONVERGE sets the mass flow of
passives to 0.0.
Turbulent eps
Dissipation Rate
TEMPORAL
CYCLIC 20
crank U V W
0 0.0 1.7 -1.0
0.1 1.0 2.0 -3.0
.
.
10.0 5.5 3.7 -2.2
.
.
20.0 0.2 1.6 -1.1
Figure 8.6: Excerpt of a temporally varying velocity file.
For a spatially or spatially and temporally varying input file , enter the keyword SPATIAL
in the first line of the *.in file. In the ne xt x
si rows , enter the scaling value ( scale_xyz ; )
If the data are outside the range of simulation , CONVERGE will use the first or last value
specified in the spatially varying boundary condition file. Note that for spatially varying
boundary condition data , CONVERGE will not interpolate values. Instead , the boundary
condition value at any point between entries will be equal to the value at the closest point.
You can specify spatially and temporally varying boundary conditions by entering a new
value of time , as shown in Figure 8.7. Note that for spatially and temporally varying
boundary condition data , CONVERGE will not interpolate values in space or time.
Instead , the boundary condition value at any point between entries , or outside the range of
SPATIAL
1.0 scale_xyz
-0.2001 trans_x
0.1001 trans_y
0.0 trans_z
z rot_axis
0.0 rot_angle
0.0 second
x y z pressure
0.0 0.0 0.0 1.01324e5
10.0 10.0 10.0 1.00000e5
0.2 second
x y z pressure
0.0 0.0 0.0 1.11524e5
10.0 10.0 10.0 1.01100e5
Figure 8.7: Excerpt of a spatially and temporally varying pressure file.
This section describes WALL boundaries and how to configure boundary conditions for
them. WALL boundaries in CONVERGE can be FI XED ( i.e., the surface geometry does not
You can configure a sliding WALL to apply non-zero velocity boundary conditions to the
Table 8.4 shows the options for boundary conditions at WALL boundaries.
Pressure Neumann ( ne )
Temperature , ,
Dirichlet Neumann Law-of-the-Wall Convection (, co ,
) Flu x( fl )
Species Neumann
Passive Neumann
Kinetic Energy
Rate
Figure 8.8 is an e xcerpt of a boundary.in file that shows the configuration of two WALL
boundaries.
1
WALL FIXED ST
roughness 0.0 0.0
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
2
WALL MOVING AR
roughness 0.0 0.0
velocity sl moving_arb.in
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
Figure 8.8: Configuration of two WALL boundaries in boundary.in.
CONVERGE allows you to set up a sliding WALL boundary to apply a non-zero velocity
boundary condition to the fluid while keeping the surface geometry FI XED ( i.e., the WALL
surface triangles do not move during the simulation). The velocity at a sliding WALL
boundary is parallel to the boundary. Sliding WALL boundaries may be useful for
boundary.
Rotating
A rotating sliding WALL boundary means that the surface triangles themselves will not
move during the simulation , but the fluid adjacent to the boundary will be affected by a
rotating velocity boundary condition. To set up a rotating sliding WALL boundary with a
RO . In the velocity row , enter a velocity boundary condition keyword followed by the x, ,
y
and z coordinates of the center of rotation ; the vector about which the wall will rotate ;
and the rate of rotation (in CAD s / ). The right-hand rule is used to determine the direction
To set up a rotating sliding WALL boundary with a temporally varying rotation rate via a
file , enter the keyword FI ED X followed by the keyword RO . In the velocity row , enter the
file name ( e.g., rot_belt.in ) in quotation marks. To set a non-constant velocity boundary
condition via UDF ( user_bc.c , ) enter the keyword di followed by the keyword user. The
Translating
A translating sliding WALL boundary means that the surface triangles themselves will not
move during the simulation , but the fluid adjacent to the boundary will be affected by a
Constant Velocity
To set up a translating sliding WALL boundary with a constant translational velocity ,
enter the keyword FI ED
X followed by the keyword TR . In the velocity row , enter a velocity
boundary condition keyword followed by the x, y, and z coordinates of the velocity vector
(in ms / ).
To set up a tangential sliding WALL boundary , enter the keyword FI ED X followed by the
keyword STATIONARY . In the velocity row , enter the keyword TRANSLATING followed
by the x, y, and z coordinates of the a xis of rotation and the velocity magnitude (in ms
/ ).
CONVERGE determines the direction of the a xis via the right-hand rule and the direction
of translation by computing the cross product of the boundary normal and the rotation
a xis.
Non-Constant Velocity
To set up a translating sliding WALL boundary with a temporally varying translational
velocity via a file , enter the keyword FI ED X followed by the keyword TR . In the velocity
row , enter the file name ( e.g., trans_belt.in ) in quotation marks. To set a non-constant
keyword user. The UDF option is only allowed for Dirichlet boundary conditions.
Note that non-constant velocity boundary conditions are not allowed for tangential sliding
WALL boundaries.
Figure 8.9 below is an e xcerpt of boundary.in that shows the configuration of a rotating
1
WALL FIXED RO
roughness 0.0 0.0
velocity la 0.0 0.0 0.0 0.0 -1.0 0.0 275.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
#
2
WALL FIXED TR
roughness 0.0 0.0
velocity la 0.02 0.0 0.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
#
3
WALL FIXED STATIONARY
roughness 0.0 0.5
velocity TRANSLATING -1.0 0.0 0.0 5.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Neumann 0.0
omega Neumann 0.0
region 0
Figure 8.9: Configuration of rotating, translating, and tangential sliding WALL boundaries in
boundary.in.
CONVERGE allows you to set up MOVING WALL boundaries. Several types of WALL
structure interaction (FSI) , user-defined , and dependent are available. Figure 8.10 is an
excerpt of a boundary.in file that shows the configuration of a MOVING WALL with
you to include motion files. We recommend creating these files in CONVERGE Studio.
1
WALL MOVING AR
roughness 0.0 0.0
velocity sl moving_arb.in
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
Figure 8.11: Configuration of a MOVING WALL boundary in boundary.in.
Translating
The translating WALL motion type allows you to specify translating motion with either a
constant or a temporally varying velocity. There are several special cases of temporally
For constant velocity translating motion , the surface geometry file (e.g., surface.dat ) will
represent the wall locations at 0 seconds or 0 crank angle degrees (CAD), depending on the
value of crank_flag in inputs.in ). If the simulation does not start at 0 , CONVERGE will
adjust the translating boundaries as though they had moved from 0 seconds or 0 CAD to
the start_time specified in inputs.in . If start_time is negative , CONVERGE will move the
WALL backwards , so that when the simulation time is 0 the boundary returns to the
location specified in the surface file. Because the grid must encompass the entire geometry
throughout the simulation and the grid size is based on the size of the geometry in the
surface file , you must configure the surface file so that each boundary is at its ma ximum
extent at 0 seconds or 0 CAD . Then you can start the simulation at a negative start_time.
Note that CONVERGE does not allow surfaces to intersect and will terminate the internal
grid generation if they do. You can verify that translating WALL boundaries do not cross
To set up a WALL boundary with constant velocity translating motion , enter the keywords
MOVING and TR . In the velocity row , enter a boundary condition keyword followed by
For translating WALL boundaries with temporally varying velocities , motion involves two
steps. First , CONVERGE applies the velocity as the boundary condition when solving the
flow in the cells on the moving boundary. Ne xt CONVERGE changes the geometry to
account for the WALL motion. Because CONVERGE determines the velocity by
differentiating the distance , the velocity applied as a boundary in the first step and
distance moved in the second step must be consistent to prevent distance errors from
happening. To ensure this consistency , CONVERGE divides the distance the WALL has to
move in the second step by the time-step size and applies the result as the velocity in the
first step.
Pistons are a special case of translating WALL boundaries. Figure 8.12 below shows the
wrist pin offset sign convention for engine applications in CONVERGE. A non-zero wrist
pin offset occurs when the a xes of the piston and the crankshaft are different. When the
wrist pin offset is positive , the piston reaches TDC before 0 CAD. When the wrist pin offset
Figure 8.12: The geometry of the moving piston for engine applications and the sign convention for
wrist pin offset.
Since the connecting rod length , L, remains constant , the piston will reach a lower TDC
when the wrist pin offset is non-zero , as shown below in Figure 8.13.
Figure 8.14: In-cylinder volume versus crank angle for no offset, positive offset, and negative offset.
z
a l
2 1 cos sin
a sin wrist _ pin _ offset
a cos ),
1
l
(1 (8.20)
piston
To have CONVERGE generate the position table for the piston in a single-cylinder engine ,
enter a boundary condition keyword followed by $ . Ensure that the surface geometry file
( e.g., surface.dat ) is configured with the piston at bottom dead center. CONVERGE
determines the piston position table from the engine parameters specified in engine.in,
using a crank-slider motion with options for the wrist pin offset. CONVERGE calculates
the piston profile every 0.1 CAD . To direct CONVERGE to generate a piston displacement
output file ( piston_profile#.out, where # is the piston boundary ID) , enter $$ in place of $ .
Note that CONVERGE measures piston displacement relative to its original position in
surface.dat .
If you have a position table for the piston , enter a boundary condition keyword followed
by the name of a general motion file in quotation marks ( e.g., "piston.in" ) that contains the
For multi-cylinder engines , enter a boundary condition keyword followed by the phase lag
angle ( f ) and the inclination angle ( q) relative to the crank-a xis in each velocity row. Note
that the inclination angle ( q) specified follows the right-hand rule of rotation with respect
to the crank a xis vector specified in the first row of boundary.in . The phase lag angle in
different cylinders represents the firing order. For e xample, for a four-cylinder engine with
firing order 1-3-4-2 , the phase lag angles would be 0.0 for the first cylinder , +180.0 for the
third cylinder , +360.0 for the fourth cylinder , and +540.0 for the second cylinder.
To have CONVERGE generate the position table for the piston in a non-engine application ,
enter a boundary condition keyword followed by the name of a piston motion file ( e.g.,
piston_motion.in ). Ensure that the surface geometry file ( e.g., surface.dat ) is configured with
the piston at bottom dead center. CONVERGE determines the piston position table from
the parameters specified in the piston motion file. CONVERGE calculates the piston profile
every CAD
0.1 and will generate a piston displacement output file
followed by the name of a general motion file in quotation marks ( e.g., "intake_lift.in" ). For
a multi-cylinder engine simulation , enter the phase lag angle ( f) and the inclination angle
General motion files allow you to describe the motion of any boundary. To create a general
motion file , enter the keyword TEMPORAL in the first row of the *.in file. In the second
row , enter the keyword SE ENTIALQU if the data are non-repeating , or the keyword
CYCLIC followed by the period in seconds (if crank_flag = 0 in inputs.in ) or crank angle
degrees crank_flag =
(if 1 or 2).
In the third row , enter the keyword second (if crank_flag = 0 in inputs.in ) or the keyword
crank (if crank_flag = 1 or 2) , followed by x, y, andz . The first column specifies the
simulation time and the ne xt three columns specify the boundary displacement in the x, y,
and z directions.
If the data are sequential , CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data , CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.
Figure 8.15 below gives an e xcerpt of a sample general motion file. In this e xample, the
motion is for a piston boundary in a single-cylinder engine model. Therefore , the surface
file has the piston in its BDC location and the piston motion is along the Z-a xis. The z
column values are all positive , indicating upward displacement of the piston towards top
dead center (TDC) position. The values in the x and y columns are zeros because the
TEMPORAL
CYCLIC 720
crank x y z
-360 0 0 0.106040316
-359.5 0 0 0.10602925
-359 0 0 0.106014713
-358.5 0 0 0.105996867
-358 0 0 0.105975426
Figure 8.15: Excerpt of a sample general motion file specifying piston motion along the z axis.
You can specify valve motion via valve lift files. CONVERGE can automatically create
OPEN and CLOSE events between regions separated by valves based on the valve lift
To set up a valve lift file , enter the keyword TEMPORAL in the first row and the keyword
valve in the second row of the *.in file. In the third row , you can enter direction followed by
a vector to specify the direction of motion of the valve as measured when the cylinder is
aligned to the z a xis, or you can enter rotate followed by a vector and a rotation angle to
define the angle of inclination of the valve motion relative to the cylinder a xis. Note that
the right-hand rule is used when determining the direction of the rotation about the a xis.
In the fourth row , enter the keyword min_lift followed by the minimum lift (in m ).
In the fifth row , enter the keyword SE QU ENTIAL if the data are non-repeating , or the
keyword CYCLIC followed by the period in seconds (if crank_flag = 0 in inputs.in crank
) or
crank_flag = inputs.in
0 in ) or the keyword crank crank_flag =
(if 1 or 2) , followed by lift . The
first column specifies the simulation time and the second column specifies the vale lift
distance in the direction specified in the third row. Note that the lift values specified in the
valve lift file are relative to the fully seated ( i.e., zero-lift) position , not relative to the
minimum lift position. CONVERGE internally reduces the distance it moves the valve by
the minimum lift distance to account for the fact that the valve is already at 0.0002 m lift in
the surface geometry. Do not correct the lift data to account for the specified minimum lift
value .
If the data are sequential , CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data , CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.
TEMPORAL
valve
direction -3.08949E-1 0.0 -9.510785E-1
min_lift 0.0002
CYCLIC 720
crank lift
0 0
350 0
353 0.000036
.
.
605 0.00003
608 0.00002
611 0.00002
614 0
617 0
720 0
Figure 8.16: Excerpt of a sample valve motion file.
Note that when you specify the valve motion direction in V-engines or other simulations in
which the cylinder is inclined relative to the z a xis, CONVERGE rotates the valve motion
direction vector (or angle) specified for that piston's velocity boundary condition in
boundary.in . If you have already measured the valve motion direction with the cylinder
aligned with the z-a xis, you do not need to calculate the new direction vector (or angle) of
To change the surface geometry from a straight engine (piston moves along the z a xis) to a
V-engine (pistons are inclined relative to the z a xis), enter the ROTATION_A IS X keyword
Rotating
To set up a WALL boundary with constant velocity rotating motion , enter the keyword
RO after the keyword MOVING . In the velocity row , enter a boundary condition keyword
followed by the center of rotation ( xyz coordinates) , the vector about which the wall
used when determining the direction of the rotation about the a xis.
To set up a WALL boundary with temporally varying velocity rotating motion , enter the
keyword RO after the keyword MOVING . In the velocity row , enter a boundary condition
keyword followed by the center of rotation ( xyz coordinates) , the vector about which the
wall rotates (uvw) , and the name of a file ( e.g., rotate.in ) with a rotation profile. Figure
TEMPORAL
CYCLIC 360
crank angle
0.0 0
0.5 10
1.0 20
1.5 30
2.5 40
2.5 50
3.0 60
3.5 70
4.0 80
4.5 90
5.0 100
Figure 8.17: Excerpt of a rotate.in file.
To set up a WALL boundary with rotating and translating motion , specify the keyword RT
after the keyword MOVING . In the velocity row , enter a boundary condition keyword
followed by a velocity vector (uvw) indicating the direction in and speed with which the
boundary moves , the center of rotation ( xyz coordinates) , the vector about which the wall
hand rule is used when determining the direction of the rotation about the a xis. Figure
8.18 is an e xcerpt of a boundary.in file that shows the configuration of a MOVING WALL
1
WALL MOVING RT
roughness 0.0 0.0
velocity sl 0.0 1.0 0.6 0.0 -1.0 0.0 0.0 0.0 0.6 275.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
Figure 8.18: Configuration of a MOVING WALL boundary with rotating and translating motion in
boundary.in.
Arbitrary
The arbitrary WALL motion type allows you to specify the position and orientation of a
To set up a WALL boundary with arbitrary motion , enter the keyword AR after the
keyword MOVING . In the velocity boundary condition row , enter a boundary condition
keyword followed by the name of an arbitrary motion file in the *.in format ( e.g.,
moving_arb.in ).
In the *.in ,
file enter the keyword TEMPORAL in the first row of the *.in file. In the second
row , enter the keyword SE QU ENTIAL if the data are non-repeating , or the keyword
value when the simulation time is outside the range of specified data.
crank crank_flag =
(if 1 or 2) , followed by x, y, z, v1x, v1y, v1z, v2x, v2y v2z and . Begin the
temporally varying origin of the local coordinate system. CONVERGE will use the
coordinate system origin as a reference to move the boundary. After the origin coordinates ,
specify two sets of xyz vectors. The first vector ( v1x, v1y, v1z ) define the initial direction of
the x a xis for the local coordinate system ; the second vector ( v2x, v2y, v2z ) defines the
initial direction of the y a xis for the local coordinate system. The orientation vectors must
be orthogonal to each other. The location and vectors you specify in the supplied_position
row correspond to the position and orientation of the MOVING WALL with arbitrary
or crank angle degrees (if crank_flag = 1 or 2) , followed by the location of the origin of the
local coordinate system and two orthogonal vectors to define the orientation of the
TEMPORAL
CYCLIC 720
crank x y z v1x v1y v1z v2x v2y v2z
supplied_position 0.25 1.40 1.21 1.0 0.0 0.0 0.0 0.7 -0.7
0.0e-05 0.25 1.40 1.20 1.0 0.0 0.0 0.0 0.7 -0.7
2.3e-05 -0.99 0.87 0.00 0.99 -2.9 0.0 2.9 0.99 0.0
4.6e-05 -0.98 1.73 0.00 0.99 -5.81 0.0 5.81 0.99 0.0
6.9e-05 -0.96 2.58 0.00 0.99 -8.71 0.0 8.71 0.99 0.0
Figure 8.19: Excerpt of a sample arbitrary moving wall position file (e.g., moving_arb.in).
Fluid-Structure Interaction
The fluid-structure interaction (FSI) WALL motion type allows you to specify that the
To set up a WALL boundary with FSI-determined motion , enter the keyword FSI after the
keyword MOVING . Note that CONVERGE ignores velocity boundary conditions specified
User-Defined
The user-defined WALL motion type allows you to specify the motion of a MOVING
To set up a WALL boundary with user-defined motion , enter the keyword U S after the
keyword MOVING . Note that CONVERGE ignores velocity boundary conditions specified
Dependent
The dependent WALL motion type allows you to specify the motion of a MOVING WALL
boundary whose motion depends on the motion of an adjacent boundary ( e.g., lateral
piston motion). When the adjacent boundary moves , the shared vertices move with it , and
triangles that make up the WALL boundary with dependent motion deform (stretch or
compress). WALL boundaries with dependent motion must not contain internal triangles.
An internal verte x ( i.e., one not shared with any other boundary) would remain stationary
a) b)
Figure 8.20 The underside of a piston a) before, and b) after lateral movement. The orange boundary
is a WALL boundary with dependent motion. The blue ring of triangles moves with the piston along
the z axis, but does not move laterally. When the piston moves, the inner vertices of the orange
boundary move laterally with the piston, but the outer vertices remain stationary in the xy plane.
The triangles stretch or compress to accommodate the lateral piston movement.
To set up a WALL boundary with dependent motion , enter the keyword DE after the
keyword MOVING . Note that CONVERGE ignores velocity boundary conditions specified
how to set up boundary conditions for FI XED STATIONAR Y WALL boundaries ( i.e., non-
For WALL boundaries associated with solid regions ( solid_flag = 1) , only the Dirichlet
Note that if you set a law-of-the-wall temperature boundary condition , you must also set
Dirichlet
To set up a Dirichlet velocity boundary condition for a FI XED WALL , enter the keyword di
followed by the three components of the velocity set to 0.0 ( i.e., 0.0 0.0 0.0). This boundary
The Dirichlet velocity boundary condition is available for sliding and MOVING WALL
boundaries.
Slip
A slip boundary condition is a special case of the Neumann boundary condition. For this
boundary condition , CONVERGE sets the components of the stress tensor that are tangent
The slip velocity boundary condition is available for sliding and MOVING WALL
boundaries.
Law-of-the-Wall
For high Reynolds number turbulent flows , it may not be possible to resolve the viscous
sub-layer of the flow (Warsi , 1993). The law-of-the-wall boundary condition is suitable for
these cases , in which the turbulent boundary layer resolution is not sufficient ( i.e., the
turbulent boundary layer. In practice , the law-of-the-wall profile is used to determine the
For the velocity law-of-the-wall boundary condition , CONVERGE includes two options for
simulations with an LES turbulence model (the standard law-of-the-wall model and the
simulations with a k- turbulence model (the Launder and Spalding [Launder and
Spalding , 1974 ] wall model). The standard law-of-the-wall model requires iterations. The
Werner and Wengle model is more complicated than the standard law-of-the-wall model ,
but it does not require iterations. We recommend using the Werner and Wengle model
U i , tang
u
E u y
1 (8.21)
ln
for y +
greater than 11.05 and
U i ,
u 2
tang
y
(8.22)
for y +
less than 11.05. The above equation is solved iteratively. The tangential components
u n
U i , tang
i 2
(8.23)
j j
U i , tang
.
For the Werner and Wengle model , if the magnitude of the tangential velocity satisfies
A
2
B,
2y
1
U i , tang (8.24)
Ui ,
u
tang
,
y
(8.25)
where A is 8.3 and B is 1/7. If the inequality is not satisfied then the shear speed is given
by
B B
1 BA B
B B
1
1
1
u
1
B
.
y A y
1
U i , tang (8.26)
2
Once the shear speed is calculated , Equation 8.23 is used to determine the stress tensor.
The Launder and Spalding model (Launder and Spalding , 1974) for simulations with a k-
turbulence model is given as
1
ln Ey
y
11.2
u *
(8.27)
y y
11.2 ,
where E is 9.8 ,
u n
u
U i , tan g
*
j
,
i j
(8.28)
and
y
yu
.
(8.29)
u c k
1/4
1/2
, (8.30)
where is the Von Karman constant (0.4187) , k is the turbulent kinetic energy , and c
is
the model constant from the k- model. The tangential relative velocity is given as
U i , tan g U i U j
n ni
j
. (8.31)
Rearranging Equation 8.28 , an e xpression for the law-of-the-wall stress tensor can be
derived as
U i , tang u n
i
j
Ey
.
j (8.32)
ln
If law-of-the-wall is specified , then you must specify an absolute wall roughness for each
wall boundary. If you specify a wall roughness , the law-of-the-wall is modified to account
for the user-specified roughness as shown in Cebeci and Coustei x (2005). The law-of-the-
wall for mean velocity modified for roughness has the form
u *
1
ln Ey ,
(8.33)
where
1
ln fr . (8.34)
uniform roughness elements , has been found to be well-correlated with the non-
Ks u*
k
, (8.35)
where Ks is the physical roughness height. There are three distinct roughness regimes and
the values of for each regime are given by the following set of equations.
0. (8.36)
1 k
2.25
rk
k
sin 0.4258 ln 0.811 ,
ln
s
(8.37)
87.75
1 rs k .
1
ln
(8.38)
Depending on the regime of roughness , the corresponding Equations 8.36 , 8.37 , and 8.38
are used for modified law-of-the-wall in Equation 8.33. The results of these equations are
then used to evaluate the shear stress at the wall and the wall functions for the mean
To model the wall roughness effects , specify two roughness parameters: the absolute
roughness ( i.e., the roughness height , given in meters ) and the roughness constant
(unitless). The default value for absolute roughness is zero , which corresponds to a
perfectly smooth wall. If the wall is not smooth , you can use a sand-grain absolute
roughness value. These values are available in many fluid mechanics xtbooks.
te For
example, the absolute roughness is 0.00026 m for cast iron , 0.0009 m for riveted steel , and
0.000045 m for commercial steel. CONVERGE assumes that the absolute roughness is
Choosing a proper roughness constant depends mainly on the type of roughness. The
default roughness constant is 0.5. When 0.5 is used with k-e turbulence models , it
reproduces Nikuradse s resistance data for pipes with tightly-packed , uniform sand-grain
roughness. For non-uniform sand-grains , ribs, or wire-mesh roughness , a larger value (0.5
Note that wall-adjacent cells that are smaller than the absolute roughness will not improve
To specify a law-of-the-wall boundary condition , enter the keyword la followed by 0.0 0.0
0.0.
INTERFACE boundaries , which are a special type of WALL boundaries). For WALL
boundaries associated with solid regions ( solid_flag = 1) , only the Dirichlet boundary
condition is allowed.
Dirichlet
The Dirichlet boundary condition is suitable for cases in which the viscous sub-layer is
resolved. If the near-wall resolution is inadequate ( i.e., if the viscous sub-layer is not
For the Dirichlet boundary condition , heat transfer at the wall occurs by conduction and is
given by
q k T k T Tw ni
xi x x w
.
(8.39)
temporally varying temperature Dirichlet boundary condition via a file , enter the keyword
Dirichlet boundary condition via UDF ( user_bc.c , ) enter the keyword di followed by the
keyword user.
Neumann (Adiabatic)
CONVERGE allows a zero-gradient Neumann boundary condition. For this boundary
condition , there is no heat transfer between the wall and the fluid ( i.e., the boundary is
adiabatic).
Law-of-the-Wall
The law-of-the-wall temperature boundary condition is suitable for cases in which the
turbulent boundary layer resolution is not sufficient ( i.e., the viscous sub-layer is not
resolved).
model and the wall distance calculation scheme via wall_dist_flag in turbulence.in . The
CONVERGE includes heat transfer models for the temperature law-of-the-wall boundary
condition: O'Rourke and Amsden (Amsden , 1997) , Han and Reitz (Han and Reitz , 1997) ,
Angelberger (Angelberger et al. , 1997) , and GruMo-UniMORE (Berni et al. , 1993). The
Han and Reitz model accounts for compressible effects. The Angelberger model accounts
for quasi-isothermal flow ( e.g., in intake pipes or compression during engine simulations)
and for non-isothermal wall flow ( e.g., in the combustion chamber during combustion or
in e xhaust pipes). The Angelberger model consistently predicts lower wall heat flu xes than
the Han and Reitz model. The GruMo-UniMORE model is recommended for simulating
estimation of the wall heat transfer as predicted by the Angelberger and Han and Reitz
models.
For the O'Rourke and Amsden model , the wall heat transfer is given by
mc p F T f Tw
k T ni ,
xi y (8.40)
Pr
m
where
1.0 y
11.05
F
(8.41)
y
Pr
m
Pr
t y
11.05 ,
Pr
1 ln(
y
) B 11.05 m 1
Prt
u y
y
,
m (8.42)
k is the molecular conductivity , is the Von Karman constant (0.4187), B is given by law_b
in turbulence.in, Prm is the molecular Prandtl number , Prt is the turbulent Prandtl number ,
Tf is the fluid temperature , Tw is the wall temperature , and u
is the shear speed (taken from
For the Han and Reitz model , wall heat transfer is given by
c T T n
p f w i
y
11.05
y m
k dT
Pr
(8.43)
dxi
f T
c uT
p f ln i n
w T y
11.05.
2.1 ln
y
2.513
T
f
wc p u Tw ln n i
k dT T
w , (8.44)
dxi
where
Pr
y y
13.2
2.075 ln( y
) 3.9 y
13.2.
(8.45)
dT c p u (T f Tw )
k , (8.46)
dxi
where
Pr y , y + 13.2
(8.47)
2.075 ln( y ) 13.2 Pr 5.34 y + 13.2.
Different wall distance ( y ) calculation schemes are available. For the first scheme ,
CONVERGE calculates the distance to a moving boundary as
y Vfullcellsize
1/3
0.5 (14.1)
,
where Vfullcellsize refers to the volume of a full size cell at the same embedding scale. For a
stationary boundary , y is equal to the distance from the effective boundary cell center to
the boundary itself. If the boundary cell is not part of a cell pair , the effective boundary cell
center is the center of the cell adjacent to the boundary. If the boundary cell is part of a cell
pair , the effective boundary cell center is the center of the cell pair.
To set up a heat model with this wall distance calculation scheme , set wall_dist_flag = 0.
For the second wall distance calculation scheme , CONVERGE calculates the distance to
y Vfullcellsize
1/3
0.3 (14.2)
,
where Vfullcellsize refers to the volume of a full size cell at the same embedding scale and 0.3
is an empirical value.
To set up a heat model with this wall distance calculation scheme , set wall_dist_flag = 1.
Convection
For the convection boundary condition , heat transfer at the wall occurs by convection and
is given by
qconvection k T ,
x w
(8.48)
For solid walls and laminar fluids , CONVERGE discretizes the temperature gradient to
obtain a relation between the wall temperature Tw (in K) and the first wall-normal cell
qconvection k Ti Tw h Tw T ,
x
(8.49)
where T is the ambient temperature (in K,h ) is heat transfer coefficient (in W m2-K ,
/ ) and
Tsolid is the temperature at the boundary of the solid (in K ). The wall temperature Tw is then
solved as
Tw f Ti , T
(
). (8.50)
For turbulent fluids , CONVERGE uses a wall function to calculate the heat flu x at the
wall. A wall temperature is specified , and the wall function is used to calculate the heat
q w f w Ti , Tw
( ). (8.51)
From this calculated heat flux, CONVERGE re-calculates the wall temperature.
CONVERGE iterates this solution procedure to calculate the temperature at the wall. For
To set up a convection boundary condition , enter the keyword co, followed by the ambient
Radiation Convection
For the radiation convection boundary condition , heat transfer at the wall occurs by
where T is the ambient temperature for convection , is the emissivity of the surface , is
the Stefan-Boltzmann constant , and Trad is the ambient temperature for radiation.
W m2-K ,
/ ) the ambient temperature for radiation (in K,
) and the emissivity of the surface.
To model a pure radiation case , set the ambient temperature for convection and the heat
transfer coefficient to 0.0. You can also specify spatially and/or temporally varying
Flux
For the flu x boundary condition , heat transfer occurs at a user-specified rate.
To set up a flu x temperature boundary condition valid across the entire surface area of the
heat transfer in thin solid layers between a fluid and a solid. When the thermal penetration
depth is small , a 1D model can produce accurate results for heat transfer through the thin
solid layers. CONVERGE uses a flu x-forward, temperature-back scheme to couple the fluid
and solid regions. With this scheme , the solid conduction solver uses the solid bulk
temperature ( solid_bulk_temp in cht1d.in ) and the heat flu x from the fluid (computed by
CONVERGE) to determine the temperature in the thin solid layers. Because the scheme
assumes that the problem is one-dimensional , the system of equations to solve is tri-
diagonal and can be solved efficiently with the Thomas algorithm. The 1D CHT model is
available to resolve temperature solutions for solids with either dirichlet or law-of-the-wall
boundary conditions.
You can enable the 1D CHT model for WALL boundary type temperature boundary
conditions. Enter the keyword cht1d after the la or di keyword to enable the 1D CHT
boundary condition and include the cht1d.in file in the Case Directory.
under specific conditions. If the temperature of the solid exceeds the saturation
temperature of the liquid by a certain liquid-specific amount and the heat flu x from the
wall is below the critical heat flu x, nucleate boiling will occur. Formation of vapor bubbles
at the solid surface and subsequent separation of these vapor bubbles characterizes this
boiling regime. Nucleate boiling is a particularly efficient mode of heat transfer because the
separation of vapor bubbles causes rapid mi xing and enhances convective heat transfer.
CONVERGE accounts for the additional heat transfer from nucleate boiling by computing
the heat flu x through a wall as the sum of single-phase heat flu x and heat flu x due to
nucleate boiling:
where qbw is the additional heat flu x due to boiling. To represent the additional heat flu x,
CONVERGE uses the Rohsenow correlation (Rohsenow , 1952):
qbw h g l v c pl Tw Tsat
3
( )
,
A l lat C h
sf lat l
m
Pr
1
(8.54)
where
l is the liquid viscosity , hlat is the latent heat of vaporization , g is gravitational
tension c
, pl is the specific heat capacity of the liquid , Csf is a constant that varies with the
surface-liquid combination , and Prl is the Prandtl number. The quantity Tw Tsat
is the
difference between the wall temperature and the saturation temperature. The e xponent m
is 0.0 when the liquid is water and 0.7 in all other cases. In nucleate_boiling.in, use the
parameter nb_exponent to specify the e xponent m . Table 8.6 lists Csf mand values for some
CONVERGE allows a zero-gradient Neumann boundary condition to solve the species and
You must specify a boundary condition for the turbulent kinetic energy (tke) equation
when your simulation includes a RANS or 1-Equation LES turbulence model. CONVERGE
allows a zero-gradient Neumann boundary condition to solve the tke equation at WALL
boundaries. To set up a Neumann tke boundary condition , enter the keyword ne followed
by 0.0.
You must specify a boundary condition for the turbulent dissipation rate (eps) equation
Wall model (Dirichlet) and Neumann boundary conditions are available to solve the eps
center of the cell adjacent to the wall via the wall model:
c k0.75
1.5
,
y
(8.55)
in which e is the turbulent dissipation , k is the turbulent kinetic energy , y is the distance
Karman s constant of 0.4187.
To set up a constant Dirichlet turbulent dissipation boundary condition , enter the keyword
di followed by 0.0.
Neumann
To set up a zero-gradient Neumann eps boundary condition , enter the keyword ne
followed by 0.0.
You must specify a boundary condition for the specific dissipation rate (omega) equation
Wall model (Dirichlet) and Neumann boundary conditions are available to solve the
center of the cell adjacent to the wall via the wall model.
To set up a constant Dirichlet turbulent dissipation boundary condition , enter the keyword
di followed by 0.0.
Neumann
To set up a zero-gradient Neumann eps boundary condition , enter the keyword ne
followed by 0.0.
You can specify spatially and/or temporally varying , convection or heat flu x temperature
boundary conditions at WALL boundaries via a file. Note that temporally varying
boundary conditions are available only for transient simulations ( i.e., steady_solver = 0 in
inputs.in ). This section describes the format of spatially and/or temporally varying
boundary condition input files. We recommend creating these files in CONVERGE Studio.
To set up a spatially and/or temporally varying boundary condition , enter the name of the
input file (in quotation marks) after the boundary condition keyword in boundary.in . The
For a temporally (but not spatially) varying boundary condition input file , enter the
keyword TEMPORAL in the first row of the *.in file. In the second row , enter the keyword
If the data are sequential , CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data , CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.
In the third row , enter the keyword second (if crank_flag = 0 in inputs.in ) or the keyword
convection boundary condition or the keyword heat_flux for the flu x boundary condition.
Figure 8.21 shows an e xcerpt of a temporally varying convection boundary condition file.
TEMPORAL
SEQUENTIAL
second ref_temp conv_htc
0 534.481 -0.000
20.000 534.481 -3.412
Figure 8.21: Excerpt of a temporally varying convection boundary condition file.
For a spatially or spatially and temporally varying input file , enter the keyword SPATIAL
in the first line of the *.in file. In the ne xt six rows , enter the scaling value ( scale_xyz ; )
the following rows , specify a spatial location and the value(s) of the variable(s) at that
location.
If the data are outside the range of simulation , CONVERGE will use the first or last value
specified in the spatially varying boundary condition file. Note that for spatially varying
boundary condition data , CONVERGE will not interpolate values. Instead , the boundary
condition value at any point between entries will be equal to the value at the nearest point.
You can specify spatially and temporally varying boundary conditions by entering a new
value of time , as shown below in Figure 8.22. Note that for spatially and temporally
varying boundary condition data , CONVERGE will not interpolate values in space or time.
Instead , the boundary condition value at any point between entries , or outside the range of
Note that the coordinates correspond to the surface as it is specified in the surface
SPATIAL
1.0 scale_xyz
-0.0 trans_x
-0.0 trans_y
-0.0 trans_z
z rot_axis
0.0 rot_angle
0.0 second
x y z heat_flux
0.0 0.0 0.0 0.03
0.1 0.0 0.0 0.06
10.0 second
x y z heat_flux
0.0 0.0 0.0 -0
0.0 0.01 0.0 -0
Figure 8.22: Excerpt of a spatially and temporally varying heat flux boundary condition file.
PERIODIC boundaries allow you to simulate only a portion of a geometry ( e.g., an engine
sector) to save computational resources. Sector (pie-shaped) and planar (bo x-shaped)
PERIODIC boundaries are available in CONVERGE. You must specify PERIODIC
boundaries in pairs.
You can specify MOVING PERIODIC boundaries. The only type of motion allowed is
move according to the velocity you specify. For a stationary PERIODIC boundary , you
must specify a velocity , although CONVERGE will not use this value.
on the first PERIODIC boundary to its matching boundary. To ensure physical results ,
verify that the boundary faces on both PERIODIC boundaries match e xactly.
Figure 8.23 gives an e xcerpt of boundary.in that shows the configuration of sector and
planar PERIODIC boundary pairs. Note that you must enter the keywords rotate (for
sector PERIODIC boundaries) or translate (for planar PERIODIC boundaries) only for the
first boundary of each PERIODIC pair. The four values that follow rotate are the angle of
rotation and the vector about which CONVERGE rotates the PERIODIC boundary to
produce its matching boundary. CONVERGE determines the a xis vector and the sign of
the angle of rotation from the right-hand rule. The three values that follow translate are the
# Periodic -Y (sector)
4
PERIODIC ST
velocity 0. 0. 0.
rotate 45.0 0. 0. 1
match 5
region 0
# Periodic +Y (sector)
5
PERIODIC ST
velocity 0. 0. 0.
match 4
region 0
# Periodic -Z (planar)
6
PERIODIC ST
velocity 0. 0. 0.
translate 0.0 0. 0.1
match 7
region 0
# Periodic +Z (planar)
7
PERIODIC ST
velocity 0. 0. 0.
match 6
region 0
Figure 8.23: Configuration of sector and planar PERIODIC boundaries in boundary.in. The sector
boundaries (4 and 5) represent a 45-degree slice. The planar boundaries (6 and 7) are separated by
0.1 meters in the z direction.
At S YMMETRY boundaries , CONVERGE sets the velocity boundary condition to slip and
all other boundary conditions to Neumann. If a spray parcel interacts with a S YMMETRY
boundary , the spray parcel is perfectly reflected ( i.e., not affected by friction at the wall) as
if it had entered the domain from the opposite side of the boundary. Figure 8.24 gives an
14
SYMMETRY
region 0
Figure 8.24: Configuration of a SYMMETRY boundary in boundary.in.
The TWO_D boundary allows you to specify two-dimensional cases in CONVERGE. The
including two identical , parallel boundaries and set their boundary type to TWO_D. Note
that corresponding TWO_D boundaries must be aligned along the z a xis ( i.e., the flow
An INTERFACE boundary allows you to set up a WALL boundary that will separate
regions. CONVERGE creates independent grids for each phase , and the INTERFACE
boundary , you must specify boundary conditions for each side of the INTERFACE in
boundary.in .
In addition to the applications described below , you can use an INTERFACE boundary as
a baffle to separate two fluid regions. If you wish to enforce thermal continuity across the
INTERFACE such that the temperatures and heat flu xes of the regions on either side of the
baffle are the same , use the coupled temperature boundary condition.
regions containing two phases ( e.g., solid and fluid phases). Figure 8.26 shows the
#!csi_version=2.4
#=======================
.
.
# Interface triangles on the piston surface
1
INTERFACE
forward 2
reverse 3
disconnect 0
.
.
# Piston Surface-fluid side
2
WALL MOVING TR
roughness 0 0
velocity law_of_wall $
pressure neumann 0
temperature law_of_wall coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 0
.
.
# Piston Metal-solid side
3
WALL MOVING TR
roughness 0 0
velocity dirichlet $
pressure neumann 0
temperature dirichlet coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 1
Figure 8.26: Configuration of an INTERFACE boundary in boundary.in. In this example, the
INTERFACE boundary is between two existing boundaries.
As shown in the figure above , the lines after INTERFACE include the keywords forward
and reverse, which define the direction of interaction between the boundaries on either
side of the interface. The boundary ID following forward should indicate the boundary that
is in the direction of the normal vectors. The boundary ID following reverse should indicate
If you specify e xisting boundaries as the forward and reverse boundaries, CONVERGE will
use the boundary conditions already assigned for these e xisting boundaries as the
boundary conditions for the two sides of the INTERFACE boundary. Note that
CONVERGE will not use the actual triangles from the boundaries specified in the surface
geometry file , but it will use the boundary conditions from these e xisting boundaries.
Alternatively , instead of e xisting boundaries , the forward and reverse boundaries can be
so-called virtual boundaries. Virtual boundaries are not composed of any triangles in the
surface geometry file , and CONVERGE considers their boundary conditions to be a part of
additional boundaries , with their temperature boundary condition set to coupled . The
coupled boundary condition implies a thermal continuity across the INTERFACE , so that
the temperatures and heat flu xes of the solid and fluid phases are the same.
To model thermal contact resistance between two solids or a solid and a fluid , enter the
contact resistance (in K-m W 2/ ) after the keyword coupled . You must enter the same contact
resistance value for both the forward and reverse boundaries. Figure 8.27 below gives an
#!csi_version=2.4
#=======================
.
.
# Interface triangles on the piston surface
1
INTERFACE
forward 2
reverse 3
disconnect 0
.
.
# Piston Surface-fluid side
2
WALL MOVING TR
roughness 0 0
velocity law_of_wall $
pressure neumann 0
temperature law_of_wall coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 0
.
.
# Piston Metal-solid side
3
WALL MOVING TR
roughness 0 0
velocity dirichlet $
pressure neumann 0
temperature dirichlet coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 1
Figure 8.27: Configuration of a pair of virtual WALL boundaries.
wall between boundaries. Heat transfer is allowed between the boundaries on either side
of the INTERFACE boundary. This is the typical configuration for a conjugate heat
transfer simulation that models the heat transfer between the fluid and the solid piston.
When disconnect = 0 , you must configure both the forward and reverse virtual boundaries
as WALL boundaries.
OPEN and CLOSE events in events.in to control the flow across the interface. OPEN
events will allow both mass and heat to move across the boundary. CLOSE events will
prohibit mass and heat flow across the boundary. When disconnect = 1 , you must configure
local (moving) reference frame from the inertial reference frame. Each INTERFACE
For MRF simulations , use the FLOW_THROUGH boundary condition for the virtual
boundaries associated with each INTERFACE that delineates the MRF region. These
boundary conditions do not affect the flow in any way , but separate the local reference
frame from the inertial reference frame. Flow can pass through this boundary type
without a change in behavior. For example, if you were to perform a channel flow
simulation and then place a FLOW_THROUGH boundary in the channel cross section
normal to the a xial direction , the results will not change. Figure 8.28 below gives an
boundary , specify the region ID associated with the given side of the INTERFACE.
#!CONVERGE_VERSION=2.4
#=======================
.
.
#-----------------------------------------------
8 mrf_imp_diff_interface
INTERFACE
forward 28
reverse 29
disconnect 0
.
.
#-----------------------------------------------
28 mrf_imp_diff_interface - propeller
FLOW_THROUGH
region 1
#-----------------------------------------------
29 mrf_imp_diff_interface - outflow
FLOW_THROUGH
region 2
.
.
Figure 8.28: Configuration of a pair of FLOW_THROUGH boundaries.
The GT-SUITE boundary allows you to set up CONVERGE + GT-SUITE coupling through
boundary.in . Table 8.7 describes the parameters that you must include in the header of
boundary.in in order to set up coupling with GT-SUITE. You can set end_time (in inputs.in)
specified in GT-SUITE.
CONVERGE + GT-SUITE developments are based on this option. You must set
gti_flag = 6 for GT-SUITE/FSI coupling.
gti_file_name Name of the file that contains the GT-SUITE model parameters. Used only when
gti_flag is non-zero.
gti_code_name Name of the GT-SUITE e xecutable (e.g., GTPOWER, GTS ITE, GTS ITEmp
U or U ) that
gti_version Version number for GT-SUITE that enables CONVERGE to find the server files of GT-
compatible with GT-SUITE versions 7.3 , 7.4 , 7.5 , 2016 , and newer.
To set up GT-SUITE boundaries in boundary.in, enter the keyword GT . The number that
follows the keyword GT refers to the part ID in the GT-SUITE file. You must set boundary
passives you are not coupling with GT-SUITE ( e.g.,the passives for which you are
specifying values). CONVERGE will automatically couple with GT-SUITE any passives
species.in
listed in for which you do not specify a value. Figure 8.29 below is an e xcerpt of a
boundary.in file that includes a GT-SUITE boundary. In this simulation , all passives are
#!csi_version=2.4
#=======================
#####################
# Exhaust Outflow 1
#####################
7
GT 2
passive dirichlet 0
tke intensity 0.02
eps length_scale 0.003
region 2
Figure 8.29: Configuration of a GT-SUITE boundary in boundary.in.
CONVERGE obtains thermodynamic information from the data ( *.dat ) files , which are
CONVERGE generates the gas properties from the polynomial coefficients located in the
thermodynamic data file ( e.g., therm.dat and/or tabular_therm.dat ). The gas.dat file contains
additional gas properties , and the reaction mechanism file ( e.g., mech.dat ) contains
information about the chemical reactions that occur in the gaseous phase. The liquid and
solid properties are specified in liquid.dat and solid.dat, respectively. This chapter also
describes the species.in file , in which you can define several different types of species , and
the skip species feature , which can reduce the computational e xpense of your simulation.
For custom fluid properties , CONVERGE includes an interface utility for calculating fluid
Gas properties are specified gas.dat, in as well as in the thermodynamic data ( e.g.,
therm.dat and/or tabular_therm.dat ) and reaction mechanism ( e.g., mech.dat ) files.
CONVERGE assumes that ideal gas mi xture assumptions are valid when determining the
properties of gas mi xtures, and thus CONVERGE evaluates gas mi xture properties as
M M M M
e emYm , h hmYm , s smYm , c p c p mYm ,
m 1 m m 1 m 1 1
(9.1)
M M M
c v c v mYm , W Wm
,
Xm , and m ,
m 1 m 1 m 1
where the summation is over all M species , h is the enthalpy , s is the entropy , X
m is the
species mole fraction , Ym is the species mass fraction c , p is the specific heat at constant
pressure , vc is the specific heat at constant volume ,W is the molecular weight , and r m is the
species density.
File Reference.
NASA 7 Format
CONVERGE supports the NASA 7 format for the thermodynamic data file. For each gas
phase species in this file , it must contain the species name , the elemental composition of
the species , the phase of the species , and temperature ranges over which a polynomial is fit
to thermodynamic data. Briefly , NASA 7 therm.dat file contains the keyword thermo in the
first row. The second row specifies three temperatures: a low temperature , a common
temperature , and a high temperature. These temperatures define the two ranges over
C po m
a m a mTm a mTm a mTm a mTm
, 2 3 4
R
(9.2)
1 2 3 4 5
a m a m Tm a m Tm a m Tm a m Tm a m
o
Hm
2 3 2 4 3 5 4 6
RTm 1
2 3Tm 4 5
(9.3)
Smo a T a T a m T a m T a m T a 3 2 4 3 5 4
R m m mm m m m m
ln . (9.4)
1 2 7
2 3 4
The third row specifies the species information , and the ne xt three rows contain
coefficients for the polynomial fits for the standard state molar heat capacity at constant
The heat of formation is calculated by evaluating Equation 9.3 at 298.15 K . Therefore , the
, H
s ,
sensible enthalpy
m is given by
S
T
m
a m a m Tm a m Tm a m Tm a m Tm a m RTm
2 3 2 4 3 5 4 6 o
298.15 .
Tm
Hm 1
Hm (9.5)
2 3 4 5
The fourth row of the thermodynamic data file specifies the coefficients a 1
though a 5
for
the upper temperature interval , followed by the integer 2. The fifth row contains the
coefficients a 6
and a7 for the upper temperature interval and a,a,
1 2
and a 3
for the lower
temperature interval , followed by the integer 3. The si xth row contains the coefficients a 4
through a 7
for the lower temperature interval , followed by the integer 4. The file repeats
rows three through si x for each species , followed by an end statement. For a detailed
NASA 9 Format
CONVERGE supports the NASA 9 format for the thermodynamic data file , as specified in
McBride and Gordon , 1996 . Briefly , the NASA 9 format for therm.dat contains the
keyword thermo nasa 9 in the first row. The second row specifies the temperature ranges
over which a polynomial is fit to the thermodynamic data. Note that the NASA 7 format
only has three temperatures listed on this line , so if CONVERGE detects a fourth
temperature , it will e xpect the NASA 9 format. The ne xt set of rows repeat for each species
The first row for each species specifies the species name , the second line specifies the
number of temperature ranges for which data will be provided , the atomic symbols and
number of each atom type , the phase , and the heat of formation. The third row begins
with the first temperature range , and is followed by the number of coefficients for the
polynomial fits for the standard state molar heat capacity at constant pressure Cop,m, the
exponents for temperature in the empirical equation for C p,m, o the standard state molar
enthalpy H
o
m . Equations 9.6 to 9.8 (from Gordon and McBride , 1994) specify how the
enthalpy H
o
m . standard state molar entropy Som, are calculated:
C po m
a mTm a mTm a m a mTm a mTm a mTm a mTm
, 2 1 2 3 4
R
(9.6)
1 2 3 4 5 6 7
Tm a m a m Tm a m Tm a m Tm a m Tm b m
o
Hm
a T
m m 2
a mTm 1 4 5 2 6 3 7 4 1
RTm Tm
ln( ) (9.7)
1 2 3
2 3 4 5
Smo a m T a T a T a T a m T a m T a m T b
1 2 1 5 2 6 3 7 4
R m m m m m m m m m m m
ln( ) . (9.8)
2 3 4 2
2 2 3 4
Thus , the second row for each temperature range for each species in the thermodynamic
a 6
and a7 . as well as the integration constants b1 and b2 .
For a complete description of therm.dat in the NASA 9 format , consult Chapter 22 - Input
File Reference.
CONVERGE also accepts coefficients for the general form of the equations for the NASA 9
format if you do not have composite species or if you do not intend to use the CE Q solver.
In the general form , Equations 9.6 to 9.8 become Equations 9.9 to 9.11:
C po m n 8
ai mT ci
R
,
, (9.9)
i 1
Hm
o
n 8
1
T
ai mT i dt c bm
1
RTm i 1
T 0
Tm
,
1
T
a T i dt c ai m T ci
T im
,
T
where ln( ) if 1
, (9.10)
0
T
a T ci dt i m T ci
1 a
T im
,
ci
else
,
1
0
Smo n T a T ci dt b
8
R im
1
, 2 , m
i 1 0
T T ai m c (9.11)
ai mT dt ai m T ci ai mT dt ci T i
ci 1 ci 1 ,
where ln( ) if 0 else .
, , ,
0 0
Gmo Hm
o
m mo ,TS (9.12)
and
Um
o
H mo RTm , (9.14)
respectively , where G om is the specific (per unit mass) Gibbs free energy and U
o
m is the
tabular_therm.dat
CONVERGE supports species-specific thermodynamic data saved in a tabular format. If
both a thermodynamic data file and a tabular thermodynamic data file are saved to the
Case Directory and if both of these files contain data for the same species , CONVERGE
will use the data from the tabular thermodynamic data file. If you have a file that contains
thermodynamic properties in tabular format , name this file tabular_therm.dat and save it in
the Case Directory. For a detailed description of this file , consult Chapter 22 - Input File
tabular_therm.dat
Reference. The file contains thermodynamic properties in 10 K intervals
from 0 K K.
to 5000 Although CONVERGE will e xtrapolate these physical properties to
max_temp inputs.in,
in which may be greater than 5000 K, it it important to note that these
Cleaning Utility
Use the cleantherm utility to condense your thermodynamic data file so that it lists only the
species contained in the reaction mechanism file. To run this utility , go to your Case
converge cleantherm
CONVERGE will read the thermodynamic data and reaction mechanism files in the Case
Directory and generate a therm_cleaned.dat file that contains only the species listed in the
For a simulation with gases , CONVERGE requires a gas.dat file (if species_diffusion_model =
0 in inputs.in ) or a transport.dat file (if species_diffusion_model = 1).
gas.dat
The gas.dat file contains gas viscosity and conductivity data in 10 K increments starting
from 0 K. The gas.dat data must go at least to the max_temp (specified in inputs.in ) or to
data only to 5000 K, CONVERGE will perform a zero-order e xtrapolation to obtain gas
For a detailed description of this file , consult Chapter 22 - Input File Reference.
transport.dat
The transport.dat file is CHEMKIN-formatted. For a detailed description of this file , consult
For a simulation with multiple gas species , you can include species-dependent critical
temperatures , critical pressures , and/or acentric factors. These data are used only when
For a simulation that includes composite species , CONVERGE will calculate the critical
Figure 9.1 shows an e xcerpt of an inputs.in file. In this e xample, crit_temp, crit_pres, and
acentric_factor each specify a file name ( crit_cond.dat ) instead of a value. The crit_cond.dat
file will contain the species-dependent gas property data. For a detailed description of
.
# properties
1 gas_compressible_flag
0 liquid_compressible_flag
0 lhv_flag
0 tabular_fluid_prop_flag
0 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
crit_cond.dat crit_temp
crit_cond.dat crit_pres
crit_cond.dat acentric_factor
.
Figure 9.1: An excerpt of inputs.in in which species-dependent gas properties (crit_temp, crit_pres,
acentric_factor) are specified via crit_cond.dat.
The reaction mechanism file ( e.g., mech.dat ) lists the gas-phase elements and species used in
the simulation. If your simulation invokes the SAGE detailed chemistry solver , mech.dat
must also include reaction data. Note that the species names and information defined in
the reaction mechanism file must be consistent with the species names specified in
Reference.
Each reaction specified in mech.dat lists the pre-e xponential factor Ai (in centimeters, grams,
or seconds, depending on the reaction) , the temperature e xponent bi (dimensionless) , and
k fi AT i i
xp
E
i
RT
e (9.15)
u
energyEi K mole to J/ instead of the default cal gm-mole/ by including the keyword
K O LE MOLE
J U / in the same line as the reactions keyword. Only the forward rate constant
is typically defined in mech.dat and CONVERGE will calculate the reverse rate constant kri
as
k fi
kri , (9.16)
K ci
where Kci is the equilibrium constant determined from thermodynamic properties. You can
activate other reaction options , including the reverse reaction , as described in the following
sections. For a sample mech.dat with reaction options activated , refer to Chapter 22 - Input
File Reference.
after the reaction with the keyword REV and values for Ai, bi, and Ei, in that order.
H O M O M
2
H 2
. (9.17)
In such a reaction involving K chemical species , the rate of progress for the ith
reaction is
given by
K K K ki
qi ki Xk k ki
fi X k ri X k , k (9.18)
k 1 k 1 k 1
where nki are integers representing stoichiometric coefficients , the superscript ' indicates
constants , respectively. If all of the species in the mi xture contribute equally as third
bodies , then a ki = 1 for all ki and the first factor in Equation 9.18 is the total concentration
of the mi xture:
K
M
Xk . (9.19)
k 1
In reality , some species act more efficiently as third bodies than others , and thus you need
to specify the non-unity values of a ki in the reaction mechanism file. You must specify the
species that enhances the efficiency of the reaction and enhancement factor. CONVERGE
rate expressions may apply. During pressure and temperature conditions between the two
limits (low and high pressure) , the rate e xpressions become complicated. To denote a
C H3 C H3 M C 2
H6 M . (9.20)
In reaction mechanism files , CONVERGE allows the Lindemann , Troe , SRI, P-Log , and
Lindemann Format
For pressure-dependent reactions , Arrhenius rate parameters are required for both the
high- and low-pressure-limiting cases. The Lindemann form (Lindemann et al. , 1922) of
the rate coefficient blends these two sets of parameters to produce a single pressure-
k AT 0
xp
E ,
RcT
0
e (9.21)
0 0
and
k AT
xp
E
RcT
e . (9.22)
kk P
r , F
1 r P (9.23)
Pr k M ,
0
k
(9.24)
and [ M] is the concentration of the mi xture, which may include enhanced third-body
Troe Format
In the Troe form (Gilbert et al. , 1983) , F in Equation 9.23 is given by
1
P c
2
r
F 1
log
Fcent
n d P c
log log . (9.25)
log r
d 0.14 , (9.28)
and
Fcent 1 exp T T /
***
exp T / T exp T
* **
/ T . (9.29)
SRI Format
The blending function F in Equation 9.-6 in SRI format (Kee et al. , 1989) is given by
F d a
b T X
Te,
exp
exp
T c (9.30)
where
1
Pr
X . (9.31)
1 log 2
discrete pressures within the pressure range of interest. When computing the actual
reaction rate CONVERGE will determine the rate parameters using logarithmic
interpolation of the specified rate constants , at the current pressure from the simulation.
The set of pressure points for which you specify rate parameters must include at least two
different pressures. During a simulation , if the current pressure is within 1 % of one of the
pressures for which you provided rate constants , then CONVERGE will use that set of rate
parameters directly. However , if the current pressure is between the pressure points
k ki ki ln k ln P Pi ln
Pi P
ln ln ln
1 (9.32)
ln ln
1
To calculate the rate of the reaction for a pressure lower than any of those provided ,
CONVERGE uses the rate parameters you specified for the lowest pressure. Likewise , in
calculating the rate of the reaction for a pressure higher than any of those you specified ,
CONVERGE will use the rate parameters provided for the highest pressure.
NT N P
log k T , P tpt
( ) (T)
p ( P ), (9.33)
t p 1 1
where a tp are the constants defining the rate , f n( x ) is the Chebyshev polynomial of the
T
2T 1
T 1
min
Tma
1
x
T 1
ma x
T 1
min
(9.34)
P 2 log P P log
min
log Pma x
logP ma x
log P min
(9.35)
are reduced temperature and reduced pressures which map the ranges ( Tmin,Tmax ) and
( Pmin,Pmax ) to (-1 , 1). Note that the Chebyshev polynomials are not defined outside the
interval ,
(-1 1). Therefore , you should not e xtrapolate rates outside the range of
through distinctly different processes. To include reactions with the same reactants and
products but different Arrhenius parameters , include a row with the keyword
D PLICATE D P
U (or U ) after each line (including the first) that contains the reaction.
In the species section of the reaction mechanism file , use the prefi x ism- to indicate a
lumped isomer species. In the reactions section of the reaction mechanism file , include the
L MPU keyword in the row below any reaction that includes a lumped isomer species. (The
L MPU keyword is necessary because the presence of a lumped isomer species requires a
with a lumped reaction (Lu and Law , 2008) , and rest of the symbols and notations have
Type 1:
The reaction has a lumped isomeric species ism X and Y as reactants to form Z as
ismX + Y =Z
/LUMP/alphaX/
Figure 9.2: An excerpt of a reaction mechanism file showing TYPE 1 lumped reaction.
q
The reaction rates ( ) for the lumped reactions are calculated as given by Equations
qf
qf lumped (9.36)
_
qr _ lumped r q (9.37)
where
q f cism cY AT
xp
Ea
RT
e (9.38)
X
and
qr c ArevT
xp
Ea
RT
e (9.39)
Z
Type 2:
The reaction has lumped isomeric species ism X Y
and ism as reactants to form Z as
ismX+ismY = Z
/LUMP/alphaX/alphaY
Figure 9.3: An excerpt of a reaction mechanism file showing TYPE 2 lumped reaction.
q
The reaction rates ( ) for the lumped reactions are calculated as given by Equations
qf
qf lumped (9.40)
Y
_
qr _ lumped r q (9.41)
where
q f cism cismY AT
xp
Ea
RT
e (9.42)
X
and
qr c ArevT
xp
Ea
RT
e (9.43)
Z
Type 3:
The reaction has X and Y as reactants to form an isomeric species Z as shown in Figure
9.4.
X+Y = ismZ
/LUMP/alphaZ/
Figure 9.4: An excerpt of a reaction mechanism file showing TYPE 3 lumped reaction.
q
The reaction rates ( ) for the lumped reactions are calculated as given by Equations
qf _ lumped f q (9.44)
qr qr
lumped (9.45)
_
where
q f c cY AT
xp
Ea
RT
e (9.46)
X
and
qr cism ArevT
xp
Ea
RT
e (9.47)
Z
Type 4:
The reaction has an isomeric species X and Y as reactants to form an isomeric species Z
ismX+Y = ismZ
/LUMP/alphaX/alphaZ/
Figure 9.5: An excerpt of a reaction mechanism file showing TYPE 4 lumped reaction.
q
The reaction rates ( ) for the lumped reactions are calculated as given by Equations
qf
qf lumped (9.48)
_
qr qr
lumped (9.49)
_
where
q f cism cY AT
xp
Ea
RT
e (9.50)
X
and
qr cism ArevT
xp
Ea
RT
e (9.51)
Z
coefficients to account for fractional order reactions. The non-integer FORD value
M M
qr k fr Xm
m
,r
k
rr X m m ,r ,
9.52
m 1 m 1
where
m ,r and
m ,r are the stoichiometric coefficients for the reactants and products ,
respectively , for species m ; [Xm] is the molar concentration of species m kfr
; and krr are the
forward and reverse rate coefficients , respectively ; and qr is the rate of progress for the r th
reaction.
reaction parameters that are not necessarily in Arrhenius format. For user-defined reaction
rate reactions , you still need to include values for the three Arrhenius rate parameters
immediately following the reaction itself , but CONVERGE will not use these values.
Ionization occurs during combustion in gasoline and diesel engines. CONVERGE can
simulate gas ionization reactions when you add electron constants to the reaction
In the elements section of the reaction mechanism file , you must include the electron
species name with the electron mass , e/5.447e-4/ , in atomic mass units . In the species
section , you must also include the electron species name , e, and in the reactions section ,
you must include any ionization reactions. Figure 9.6 below shows a reaction mechanism
elements
h c o n e/5.447E-4/
end
specie
c7h16 o2 n2 co2 h2o
co h2
h2o2 ho2 oh
h o
no n ch
e hco+ h3o+
end
reactions
hco+ + h2o = h3o+ + co 1E+16 -0.09 0
h3o+ + e = h2o + h 2.291E+18 -0.5 0
end
Figure 9.6: A sample reaction mechanism file for an ionization reaction.
In the thermodynamic data file, you must list the thermodynamic coefficients for the
electron (e) , which is a massless gas , as well as any ionized species ( e.g., H3O +) that are
part of a ionization reaction. Figure 9.7 below shows an e xample thermodynamic data file.
thermo
300.000 1000.000 5000.000
e GAS L 6/88e 1 0 0 0g 200.000
5000.000 1000. 1
0.25000000E+01 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
-0.74537500E+03-0.11720813E+02 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
0.00000000E+00 0.00000000E+00-0.74537500E+03-0.11720813E+02 0.00000000E+00 4
h3o+ ATcT Ah 3o 1e -1 0g 298.150
5000.000 1000. 1
2.49647765E+00 5.72844840E-03 -1.83953239E-06 2.73577348E-10 -1.54093917E-14 2
7.16244227E+04 7.45850493E+00 3.79295251E+00 -9.10852723E-04 1.16363521E-05 3
-1.21364865E-08 4.26159624E-12 7.14027518E+04 1.47156927E+00 7.25739701E+04 4
end
Figure 9.7: Sample thermodynamic data file for an ionization reaction.
Because most mechanisms are developed for specific fuels , it can be difficult to find a
mechanism that includes all of the required fuel species. It may be convenient to merge
two reactions or to develop a surrogate fuel and add e xtra species and reactions to a
mechanism. The mechmerge utility can be used for either of these tasks.
It is important to use the mechmerge utility with care. The reaction path of the resulting
mechanism may deviate from the original , and merging mechanisms can change quantities
such as flamespeed and ignition delay. Due to the comple xity of the mechanism merge
utility , we recommend using CONVERGE Studio to run it. Refer to the Chemistry chapter
Running mechmerge
The mechmerge utility requires two mechanism files ( mech1.dat and mech2.dat ) and two
thermodynamic files ( therm1.dat and therm2.dat , ) all of which must be saved in the Case
Directory. The mechanism files should be in the format specified in the Reaction
Mechanism Input File section , and both the thermodynamic files should be in the same
format (either NASA 7 or NASA 9 , as specified in the Thermodynamic Data Input File
You must follow a three-step process to merge mechanisms via mechmerge . In the first two
steps , CONVERGE searches the mech*.dat and therm*.dat files for conflicts. After you
resolve any conflicts , in the third step CONVERGE writes the final reaction mechanism
mechspec
From the Case Directory , enter
converge mechspec
or
converge mechspec2
conflicts1.dat . CONVERGE lists each species and reaction mechanism for the corresponding
conflicts1.dat contains a list of elements that are found in only one of the two mech*.dat
files. The SPECIES section of conflicts1.dat differs based on which command you use. The
mechspec command populates conflicts1.dat with conflicts due to species that contain the
same elements but have different names or species that have the same name but contain
different elements. The mechspec2 command populates conflicts1.dat with species that are
found in only one of the mech*.dat files in addition to the previously listed conflicts.
the SPECIES section. ( You do not need to make any changes to the ELEMENTS section.) If
you do not resolve SPECIES conflicts , CONVERGE will write conflicting species to the final
reaction mechanism file in the third step of mechmerge, which may lead to incorrect
simulation results. Figure 9.8 below shows an e xample conflicts1.dat file with corrections.
descriptions. After the conflict description , there is a list of each species that is part of the
conflict. A 1/ (for mech1.dat ) or a 2/ (for mech2.dat ) and a number that matches the
species number found in the corresponding mech_check*.out file precede the species name.
For e xample , if 1/51/C12H25O2 is the species description , C12H25O2 is the species found
in mech1.dat and is listed as 51 in mech1_check.out . If two species have the same name , one
species must either be deleted or renamed because the final reaction mechanism file in
To delete a species in conflicts1.dat, type /0 without any spaces after the species name , e.g.,
2/175/C12H25/0. To rename a species , type a new name between / symbols , e.g.,
2/16/T-CH2/CH2/.
ELEMENTS
HE
G
END
.
.
.
SPECIES
! mech1 species not found in mech2 and are not conflicting
1/51/C12H25O2
1/52/C12OOH
1/53/O2C12H24OOH
! mech2 species not found in mech1 and are not conflicting
2/14/C
2/15/CH
2/158/C7H13/0
2/180/HE/0
! ELEMENTS are the same between mech1 and mech2 species
1/11/CH2 2/16/T-CH2/CH2/
1/11/CH2 2/23/S-CH2
1/12/CH2* 2/16/T-CH2
1/12/CH2* 2/23/S-CH2/CH2*/
1/26/AC3H5 2/44/S-C3H5
1/26/AC3H5 2/47/A-C3H5/AC3H5/
1/26/AC3H5 2/54/T-C3H5
1/49/S3XC12H25 2/175/C12H25/0
! NAMES are the same between mech1 and mech2 species
END
Figure 9.8: Sample of conflicts and edits in the SPECIES section of conflicts1.dat.
mechreac
Once you have edited the conflicts1.dat file, enter
converge mechreac
or
converge mechreac2
With either command , CONVERGE writes the conflicts2.dat file. If you use mechreac,
conflicts2.dat lists thermodynamic and reaction conflicts based on edits from conflicts1.dat .
mech1.dat therm1.dat
/ information as a default unless mech2.dat has new species and
corresponding reactions. Since no conflicts are listed when using the mechreac2 command ,
the remaining information in this section will refer to the conflicts2.dat file generated from
mechreac .
reaction conflicts due to the species having the same names but have differences in the
reaction coefficients for FORWARD , DUPLICATE , REVERSE , LOW , TROE , PLOG , FORD ,
LUMP , and THIRD-BOD Y reaction types. The conflicts2.dat file groups the reaction
same species and forward rate coefficients but different REVERSE rate coefficients
same species and forward rate coefficients but different LOW rate coefficients
same species and forward rate coefficients but different TROE coefficients
same species and forward rate coefficients but different PLOG pressures and rate
coefficients
same species and forward rate coefficients but different FORD species and
coefficients
same species and forward rate coefficients but different LUMP rate coefficients
same species and forward rate coefficients but different THIRD-BOD Y species and
coefficients
same species but different FORWARD rate coefficients but where one mech has a
nonreversible (forward only , =>) reactions choose the single or group of reactions to
be merged
same species but different FORWARD rate coefficients and are designated
DUPLICATE
please delete which DUPLICATE group not wanted , the first reaction of each
group is listed
Figure 9.9 shows an e xample conflict in the THERMO section. The conflict arises because
the species CO , which has the same elements and number of elements in both
mechanisms , is found to have different LOW and HIGH coefficients. Because the
therm1.dat file lists the species as number 16 , and the therm2.dat file lists the species as
A species requires exactly one set of thermodynamic data. The mechmerge utility
automatically uses therm1.dat data unless the first number in brackets has / added
afterwards , instead of the second number. For e xample, to choose the thermodynamic
data from therm2.dat, you must edit the species numbers in conflicts2.dat in Figure 9.9 as
[16/][15 ].
There should be no thermodynamic data conflicts for species with only the same elements.
If there is a conflict listed , the mechmerge utility is not reliable. If this occurs , please contact
THERMO
!
! species with the same NAME and ELEMENTS
!
[16][15/]
CO C 1O 1 G 300.00 5000.00 1000.00 1
3.02507800E+00 1.44268900E-03-5.63082800E-07 1.01858100E-10-6.91095200E-15 2
-1.42683500E+04 6.10821800E+00 3.26245200E+00 1.51194100E-03-3.88175500E-06 3
5.58194400E-09-2.47495100E-12-1.43105400E+04 4.84889700E+00 4
CO C 1O 1 G 200.00 3500.00 1000.00 1
2.71518561E+00 2.06252743E-03-9.98825771E-07 2.30053008E-10-2.03647716E-14 2
-1.41518724E+04 7.81868772E+00 3.57953347E+00-6.10353680E-04 1.01681433E-06 3
9.07005884E-10-9.04424499E-13-1.43440860E+04 3.50840928E+00 4
!
! species with only the same ELEMENTS, ERROR if any are listed
!
END
Figure 9.9: Sample conflict in the THERMO section of conflicts2.dat.
You edit the REACTIONS conflicts , as shown in Figure 9.10 , with the same procedure as
the THERMO section. Each reaction conflict has numbers in brackets that correspond to
the reaction number found in the mech_check*.out files. Similar to the THERMO section , the
mechmerge utility automatically uses the rate coefficients from mech1.dat unless the first
number in brackets has / after it. Then , the mechmerge utility uses the mech2.dat rate
REACTIONS
!
! same species but different FORWARD rate coefficients
!
! same species and forward rate coefficients but different REVERSE rate coefficients
!
[71][112/]
C2H2+OH=CH2CO+H 2.19000E-04 4.500 -
1.00000E+03
REV/ 2.16100E-03 4.500 1.96600E+04 /
C2H2+OH=CH2CO+H 2.19000E-04 4.500 -
1.00000E+03
!
! ...different LOW rate coefficients
!
! ...different TROE coefficients
!
! ...different PLOG pressures and rate coefficients
!
! ...different FORD species and coefficients
!
! ...different LUMP rate coefficients
!
! ...different THIRD BODY species and coefficients
!
[87][44/]
H+O2(+M)=HO2(+M) 1.47500E+12 0.600
0.00000E+00
LOW/ 6.36600E+20 -1.720 5.24800E+02 /
TROE/ 8.00000E-01 1.00000E-30 1.00000E+30 /
H2/2.00/H2O/11.00/O2/0.78/CO/1.90/CO2/3.80/
H+O2(+M)=HO2(+M) 1.47500E+12 0.600
0.00000E+00
LOW/ 3.50000E+16 -0.410 -1.11600E+03 /
TROE/ 5.00000E-01 1.00000E-30 1.00000E+30 /
H2/2.00/H2O/12.00/CO/1.90/CO2/3.80/
!
! same species but different FORWARD rate coefficients but
! where one mech has a group of DUPLICATE reactions or
! where one mech has a group of only nonreversible (forward only, =>) reactions
! choose the single or group of reactions to be merged
!
[92][51/]
!mech1 [92][93]
HO2+HO2=H2O2+O2 4.20000E+14 0.000
1.19820E+04
DUPLICATE
HO2+HO2=H2O2+O2 1.30000E+11 0.000 -
1.62930E+03
DUPLICATE
HO2+HO2=H2O2+O2 3.00000E+12 0.000
0.00000E+00
!
! same species but different FORWARD rate coefficients and are designated DUPLICATE
! please delete which DUPLICATE group not wanted, the first reaction of each group is
listed
!
END
Figure 9.10: Sample of conflicts in the REACTIONS section of conflicts2.dat.
mechmerge
Finally , enter
converge mechmerge
or
converge mechmerge2
all of the original information along with the edits. The mechreac2 mechmerge2 / commands
join together all of the duplicate reactions and all of the new reactions with new species
fround in mech2.dat . Both commands yield the final reaction mechanism and
The mechanism tune utility modifies the reaction A factors in reaction mechanism files
based on target ignition delays and/or laminar flamespeeds using CONGO genetic
algorithm (GA) optimization. This utility runs the zero-dimensional solver with adjoint
sensitivity analysis (ASENS) and/or the 1D premi xed laminar flame speed solver (based on
pre-processor for running GA using CONGO as it automates the repetitive tasks associated
with GA setup. After the utility has run , you must run the CONGO e xecutable. Note that
congo.in, execute.in, and all of the secondary CONGO files are required in the Case
Directory.
you can modify the reactions in the reaction mechanism file based on 0D solver's ASENS ,
1D Newton solver's sensitivity analysis , or both. Table 9.1 below shows the different
combinations by which reaction mechanism files can be tuned using the mechanism tune
utility.
Table 9.1: Compatibility of targets with solvers within the mechanism tune utility.
Target/Sensitivity 0D solver with ASENS 1D Newton solver 0D solver with ASENS
with sensitivity +
analysis 1D solver with
sensitivity analysis
Ignition Delay Targets Yes No No
Targets
The required input files are dependent on your choices above. You will need:
a reaction mechanism file
transport.dat
CONGO files ( congo.in, execute.in, the CONGO e xecutable, and any system files listed in
execute.in )
mechanism_tune.in
mechanism_tune_targets.in
solver files (for the 0D solver zero_d_cases.in
, and zero_d_solver.in and for the 1D Newton
The mechanism_tune.in file specifies the information required to run the utility , while
mechanism_tune_targets.in lists the targets toward which the reaction mechanism will be
tuned. Note that if you use the 0D solver , you must specify ignitiondelay targets in
mechanism_tune_targets.in . If you use the 1D Newton solver , you must specify flamespeed
mechanism_tune_targets.in
targets in .
Please refer to Chapter 22 - Input File Reference for more information on the input files
used here and to Chapter 23 - Output File Reference for more information on
mechanism_tune.out .
converge mechtune
When this utility is finished , it will write mechanism_tune.out, which specifies the reaction
numbers of the reactions that will be modified during the GA as well as setup files for a
CONGO run. You must run the CONGO e xecutable. Note that you can open and edit the
generated CONGO input files ( case.in and merit.in ) in CONVERGE Studio or in an editor
prior to running CONGO if you wish to change target ( merit.in ) or reaction ( case.in
)
parameters.
The liquid.dat file specifies liquid properties: critical temperature , viscosity , surface tension ,
latent heat of vaporization , vapor pressure , conductivity , density , and specific heat , all in
SI units.
The liquid properties are specified in 10- K intervals from 0 K to the critical temperature. If
liquid properties are independent of temperature , simply specify the same properties for
each temperature in the list. For a detailed description of this file , consult Chapter 22 -
Input File Reference. In CONVERGE Studio , you can check the Constant liquid properties
bo x in the Materials > Liquid simulation dialog bo x to use only the first row of liquid
load the liquid.dat data for this surrogate. We do not recommend specifying these four
inputs.in , ) the liquid.dat file must contain compressibility data , namely , a reference pressure
(Pa ,) reference density ( kg m3 ,/ ) and bulk modulus ( Pa ). After the liquid name , include a line
with the keyword compressible followed by the reference pressure , reference density , and
bulk modulus. CONVERGE calculates the density of the compressible liquid according to
P Pref
B
ref e
, (9.53)
where r ref is the reference density , Pref is the reference pressure , and B is the bulk modulus
To simulate non-Newtonian liquids in CONVERGE , use the liquid.dat file to configure the
function of shear rate and that the liquid will not flow until it e xperiences a certain yield
temperature.) Equation 9.54 below gives the e xpression for shear stress used in this model:
K n ,
0
1
(9.54)
where
0 is the yield stress , K is the consistency inde x, is the shear rate, and n is the
power inde x. If the shear stress applied to the fluid is less than the yield stress ,
CONVERGE assigns the fluid a high viscosity equivalent to the solid viscosity.
species.in .
CONVERGE includes a utility that serves as an interface for the CoolProp fluid property
library. Use this utility to compute custom tabulated properties to use as inputs for a
CONVERGE simulation. Because the interface utility connects to the online CoolProp
library , you must have a working internet connection.
In the fluid_properties.in file specify the fluid name and ranges of temperature (in K ) and
pressure (in MPa ) for which to calculate fluid properties such as enthalpy , entropy , specific
internal energy , and compressibility. Enter steps for temperature and pressure ( temp_step
and pres_step, respectively). The CoolProp interface utility will calculate the desired
properties at intervals equal to the value for the step within the specified range.
To run the utility , execute the command coolprop from the directory that contains your
fluid_properties.in file. The utility will access CoolProp, determine the fluid properties for the
properties to fluid_properties.dat .
You can use fluid_properties.dat in place of liquid.dat for a liquid simulation or in place of
from fluid_properties.dat instead of calculating fluid properties via the equation of state.
of the target fuel can be mi xed to create a surrogate , and the composition of the mi xture
may vary depending on which properties you want to appro ximate. To help you
determine the optimal mi xture composition for your problem , CONVERGE Studio includes
The surrogate blender assumes that mi xture properties are a function of its components'
s i xi , (9.55)
i
where fs is any property of the mi xture, f i is the same property of component i, and xi is
f w R2 , j j (9.56)
j
where w j
is the importance (or weight) of property j and R j
is the error , defined as
R j Tj ij
xi ,
(9.57)
j
where T j
is the value of property j for the target fuel T . The problem is subject to two
constraints: xi must be greater than zero and the sum of xi must equal 1. The blender
eliminates the equality constraint via a Lagrange multiplier and solves the optimization
For instructions on how to run the blender , please refer to the CONVERGE Studio 2.4
Manual. After running , you must convert the resultant mole fractions to mass fractions for
The surrogate blender can import and e xport blender.in files and can e xport blender.out
files.
Specify values for properties of solids in the simulation in the solid.dat data file. This file
includes data for melting point , density , specific heat capacity , and conductivity , all in SI
units. For a detailed description of this file , consult Chapter 22 - Input File Reference.
You can define species that are not already defined in the reaction mechanism file by using
the species.in input file. Thespecies.in file introduces species of various types and phases by
Any gas-phase species that is defined in the reaction mechanism file does not need to be
defined in species.in .
For GAS species , the thermodynamic properties for the corresponding species must be
available in the thermodynamic data file. The transport properties for gas-phase species
are gas.dat
defined in . The liquid properties for any PARCEL, LI QU ID, and/or
LI ID_NON_NEWTONIAN
QU species that appear in species.in must be available in
liquid.dat , . Likewise the solid properties for SOLID species in species.in must be available in
solid.dat .
To see how to generate total mass , mass fraction , and other output for each species , refer
For PASSIVE species , you must also specify the Schmidt number of the species.
Non-Transport Passives
Specify non-transport passives by include the name of each non-transport passive after the
store conserved scalars in the domain. You can create custom names for passives and
manually initialize the values of these passives , or you can include pre-defined names of
passives (including non-transport passives for turbulence statistics) that CONVERGE can
Some of these pre-defined passives are described in the Non-Transport Passives section of
Chapter 22 - Input File Reference. You can also specify user-defined global variables as
non-transport passives.
keywords in the form of massfrac(<species name>) and passive(<passive name>) in the post.in
file.
For example, to generate output for the tur_flamethickness passive , you must include
tur_flamethickness PASSIVE_NT
under in species.in, and you must include the term
passive(tur_flamethickness) post.in in . Then CONVERGE will write output for this passive in
Refer to the post.in section in Chapter 22 - Input File Reference for information about how
species that are present only in very small amounts (and by invoking this feature only at
certain times in the simulation) , CONVERGE reduces the time required for the species
transport calculations without compromising the accuracy of the simulation results. Skip
not allow the time periods during which skip species is active to overlap with the time
At the skip species start time , CONVERGE sorts the species in descending order by mass.
Beginning at the top of the list , CONVERGE retains species until the cumulative mass
equals or e xceeds the user-specified percentage of the total mass. You can force
CONVERGE to keep specific species ( e.g., the fuel and o xidizer in an engine simulation)
regardless of mass. In this case , CONVERGE sums the mass of the " keep" species and then
adds species from the mass-ordered list until the sum equals or e xceeds the user-specified
percentage of total mass.
CONVERGE converts the discarded hydrocarbons into retained hydrocarbons. There are
two options for the conversion process. You can specify the species and mass fraction(s) to
which the discarded hydrocarbons will be converted. Alternatively , if you do not specify
species and mass fractions , CONVERGE will convert the discarded hydrocarbons into the
important to note that the conversions do not conserve the number of atoms in the
simulation. Also , to avoid changes to total enthalpy due to the conversions , CONVERGE
adjusts the cell temperatures and thus the post-conversion mass may be slightly different.
To activate skip species , set skip_species_flag = 1 in inputs.in and include the skip_species.in
file in the Case Directory.
10 Grid Control
CONVERGE includes several tools for controlling the grid size before and during a
simulation. Grid scaling coarsens or refines the base grid size. Fi xed embedding refines the
grid at specified locations and times. Adaptive Mesh Refinement (AMR) automatically
Grid scaling refers to changing the base grid size at specified times during a simulation.
Grid scaling can greatly reduce runtimes by coarsening the grid during non-critical
simulation times and can help capture critical flow phenomena by refining the grid at
other times. For e xample, for an in-cylinder diesel engine simulation that includes spray
and combustion modeling , the grid needs a higher resolution to ensure accurate results
during spray and combustion but lower grid resolution may be sufficient during
compression. Thus you direct CONVERGE to coarsen the grid during compression and
Specify the original base grid size via dx_base, dy_base, and dz_base in inputs.in .
according to
where grid_scale is the scaling factor (must be an integer) and scaled grid is the new base
grid size. A grid_scale value of 0 will leave the base cells unchanged , a negative value will
coarsen the base grid , and a positive value will refine the base grid. CONVERGE also
To determine the grid sensitivity of your case , run multiple simulations with different
values of grid_scale .
You can direct CONVERGE to scale the grid at specified times during a simulation. Specify
Use fi xed embedding to refine the grid at specific locations in the domain where a finer
resolution is critical to the accuracy of the solution. For e xample, when simulating sprays ,
you can add an area of fi xed embedding by the nozzle to resolve the comple x flow
behavior. Fi xed embedding allows the rest of the grid to remain coarse to minimize
CONVERGE will refine the grid in that location. The embed_scale parameter , which must
be a positive integer , scales the base grid sizes ( dx_base, dy_base, dz_base and ) according to
dx embed dx base
_ _ /2
embed scale
_
. (10.2)
Note that CONVERGE requires two-to-one connectivity between cells , i.e., a cell with an
the required connectivity , CONVERGE provides cells with intermediate embed_scale values
as necessary. For e xample, in Figure 10.1 below , the fi xed embedding is two levels higher
than the base grid and thus CONVERGE places cells with an embed_scale of 1 between
cells with an embed_scale of 2 (adjacent to the boundary) and cells with an embed_scale of
0.
You can specify a specific time period for each fi xed embedding, which can further reduce
your computational time by refining the grid only for a portion of the simulation.
The specific types of fi xed embedding are described below. It is important to note that the
shape embedding options ( e.g., sphere) may slightly affect the cell count.
Boundary Embedding
Use the BO ND U keyword to specify fi xed embedding near a boundary. For example,
when simulating flow around a valve , you may want xtra
e resolution near the valve
surface to more accurately model the flow in this section of the domain (see Figure 10.1
below). For a moving surface ( e.g., a valve) , the embedding will move with the surface
automatically. Identify the boundary by its boundary_id, which must match the value given
in boundary.in . The num_embed parameter , which must be a positive integer , specifies the
Sphere Embedding
Use the SP ERE
H keyword to specify a spherical area of fi xed embedding. The sphere is
Cylinder Embedding
Use the CYLINDER keyword to specify a cylindrical or truncated conical area of fixed
embedding. The cylinder is defined by the center ( x_center ) and radius of one base of the
an injector. (If you specify a nozzle or injector embedding in embedded.in and if spray_flag
=0 in inputs.in, CONVERGE will give a warning message and ignore the nozzle or injector
need to include the nozzle_no for injector embedding.) The first injector listed in spray.in,
and the first nozzle listed for a particular injector , will have in ector_no
j or nozzle_no = 0.
Additional injectors and nozzles will be incremented sequentially by 1. For either nozzle or
injector embedding , you must specify two radii. The first value is the radius of the circular
nozzle opening , which is centered on the nozzle e xit and has a normal vector pointing in
the direction of the spray injection. The second value is the radius of the other circular area
of the cone ( i.e., the wider base of the cone). The length is the length of the cone.
Figure 10.2 shows a post-processing visualization of the grid generated from a nozzle
embedding.
Region Embedding
Use the REGION keyword to specify fi xed embedding for an entire region. For e xample,
you could use a region embedding to refine the grid in the cylinder of an engine. Identify
the region by its region_id, which must match the value given in initialize.in .
Use Adaptive Mesh Refinement (AMR) to automatically refine the grid based on
fluctuating and moving conditions such as temperature or velocity. This option is useful
for using a highly refined grid to accurately simulate comple x phenomena such as flame
Ideally , a good AMR algorithm will add higher grid resolution (embedding) where the
flow field is most under-resolved or where the sub-grid field is the largest ( i.e., where the
curvature [gradient] of a specified field variable is the highest). The AMR method in
To include AMR in a simulation , set amr_flag = 1 in in inputs.in and include an amr.in file.
AMR Theory
For a scalar , the sub-grid field is defined as the difference between the actual field and the
resolved field or
, (10.3)
where f is the actual scalar field ,`f is the resolved scalar field , and f ' is the sub-grid scalar
field. The sub-grid for any scalar can be e xpressed as an infinite series (Bedford and Yeo
(1993) , and Pomraning (2000) given by
2
1 4
k k l ,
x x
k k 2 ! x x x x
k k l l
(10.4)
1
6
k lm ...
3 ! x x x x x x
k k l l m m
where a [k ] is dxk 2
/24 for a rectangular cell and the brackets , [ ], indicate no summation.
Since it is not possible to evaluate the entire series , only the first term (the second-order
term) in the series is used to appro ximate the scale of the sub-grid or
k
x x
. (10.5)
k k
Note that the above equations can be easily generalized for a vector field , such as velocity.
A cell is embedded if the absolute value of the sub-grid field is above a user-specified value.
Conversely , a cell is released ( i.e., the embedding is removed) if the absolute value of the
To limit the number of embedded cells , you can specify a ma ximum overall number of cells
with the amr_max_cells parameter in amr.in . If the number of cells in the grid reaches the
ma ximum number , CONVERGE uses the AMR routine to determine where to put the
embedding in a manner that best resolves the flow field and meets the ma ximum number
of cells. To make optimal use of all of the cells when the cell limit is reached , CONVERGE
will adjust the user-specified sub-grid value criteria as needed. That is , if there are too
many cells , CONVERGE will increase the value of the user-specified sub-grid criteria.
You can also specify a minimum number of cells with the amr_min_cells parameter. If the
pre-AMR cell count is less than the value you specify for amr_min_cells, CONVERGE will
will lower the user-specified sub-grid value until the grid consists of the minimum number
of cells. You can maintain a target range of cells using the amr_max_cells and
amr_min_cells parameters.
To control the cell size , specify a ma ximum level of embedding with the
condition to which AMR is applied. CONVERGE will apply the ma ximum embed scale to
the base grid after applying any grid-scaling specified with the grid_scale inputs.in
parameter or the gridscale.in file.
You can enable AMR for any or as many of the following fields as you wish: velocity ,
number of parcels per cell , temperature , void fraction , species , passives , or boundary (y +).
You can specify AMR with a different embedding scale and different sub-grid criterion for
each condition. In addition to the field control , you can specify the time when the AMR
will start and when it will end for each field , similar to fi xed and boundary embedding
timing control.
y+ AMR Restriction
In some simulations , the flow conditions may be such that sub-grid scale quantities near
solid walls trigger AMR. The flow features near the wall , however , may not be of interest.
When CONVERGE refines the grid near a wall , the total cell count will increase , which
may prevent additional refinement near relevant flow features. Also , excessive refinement
near the wall may cause the cell count to e xceed amr_max_cells, preventing further
refinement. Another problem with AMR refinement near walls is that , if the y+ value of a
cell adjacent to a wall falls outside of the range for the chosen model , law-of-the-wall
To avoid these problems , CONVERGE includes an option for y + AMR restriction. You can
specify a target value for y + (on a boundary-by-boundary basis) , and CONVERGE will
remove refinement from AMR in an effort to maintain the desired target value. Even if the
new y+ value does not meet the target , CONVERGE will not release more than one level of
AMR refinement at a time. If the y + value is still below the target value the ne xt time
CONVERGE evaluates AMR , it will again try to release one level of AMR refinement to
achieve the target value. The parameters used to set up y + AMR restriction are at the end
AMR Example
Figure 10.3 shows post-processing visualizations of a grid generated by AMR for a time-
evolving spray bomb case. In this case , the velocity is allowed to embed three levels while
the temperature is allowed to embed only two levels. The figure shows that cells are only
added when and where they are needed , which significantly reduces the computational
time as compared to a simulation with fi xed embedding or with a finer base mesh size.
(a)
(b)
(c)
Figure 10.3: Evolution of a combusting spray bomb. This grid was generated by AMR (a) 0.5, (b) 1.0,
and (c) 2.0 milliseconds after the start of the simulation. The left column shows the grid only, while
the right column shows the grid and temperature values (black represents a temperature of
approximately 2800 K) for corresponding times. This case has an ambient temperature of 1000 K, an
ambient density of 14.8 kg/m3, an orifice diameter of 0.180 mm, and an injection pressure of 136
MPa.
CONVERGE uses a modified cut-cell Cartesian grid generation method. The geometry
surface is immersed within a Cartesian block. CONVERGE trims the cells at the
intersecting surface , after which the intersection information ( e.g., surface areas , normal
vectors , etc.) is reduced before being stored for each cell. This allows for comple x surface
intersection to be more easily represented for the simulation. Figure 10.4 shows a post-
processing visualization of the cutting process and what a cut-cell looks like in
CONVERGE.
(a)
(b)
If CONVERGE finds a cut-cell whose volume is less than 30 % of the adjacent regular cell ,
then the cut-cell and the regular cell are paired together to form a single node. This is
known as cell pairing. The center of the paired cell is at the volumetric center of the
combined cell. The values of the transport entities (velocity , temperature , pressure) are
shared by the regular cell and the cut-cell. Figure 10.5 is a schematic of cell-pairing.
If you include volume in the cell section of post.in, you will see the combined volume of the
Cell pairing is an iterative process , and a set of paired cells need not be a set of two.
Rather , a set might include five or ten cells all paired together. Too much cell pairing along
one direction can lead to the formation of slender cells with a high aspect ratio. This most
frequently occurs along the boundaries. Too many cells with a high aspect ratio can lead to
numerical dispersion errors and a less robust simulation. In order to avoid this problem ,
you can adopt one of the following strategies:
2. Use fi xed embedding in the tight areas of the geometry so that the regular cell size is
Although the use of smaller cells often increases the cell count , the increased
There are two non-transport passives that can be used to monitor cell pairing information.
Add N M_CELLS_IN_PAIR
U to species.in to track the number of cells that are paired with
one another , which allows you to visualize which cells are paired during the simulation.
Add CELL_PAIR_ID to species.in to give a unique inde x to cells that are part of the same
cell pair.
11 Parallel Processing
a cluster of distributed memory machines. The parallelization is written using the Message
Passing Interface (MPI) libraries (MPI version 1.2). CONVERGE performs all
CONVERGE parallelizes the solution of the mass , momentum , and energy transport
equations independently from the SAGE detailed chemistry solver. The former requires
depends on the specifics of the setup. The detailed chemistry solution does not require
CONVERGE. This information is part of the job submission process that is dependent on
which MPI libraries are being used. CONVERGE performs a function call after starting to
In parallel CONVERGE simulations , a single processor performs all file read and write
operations. This processor broadcasts and receives data from the rest of the processors
using MPI. The time required for file read and write operations is not affected by the
The first step in the parallelization process is to break up the computational domain and
distribute each subsection of it to the processors used for the simulation. CONVERGE first
coarsens the base grid according to the parallel_scale parameter in inputs.in . This parameter
is a negative integer with a default value of -1. If the initial grid consists of 32 768 cells and ,
you set parallel_scale = -1 , the initial grid will be coarsened one level to yield a parallel grid
of 4096 parallel blocks. A parallel_scale value of -2 would result in a parallel grid of 512
blocks. This coarsening is performed because each processor stores the entire geometry and
the entire parallel grid in memory during computation. If you set a non-negative
After CONVERGE has formed the coarser parallel grid , it partitions this grid into as many
computational regions as there are processors. CONVERGE distributes the parallel blocks
to the processors and then performs a load balance. The load balancing procedure makes
Once the parallel blocks are distributed , the load balancing procedure (Som et al. , 2013)
1. Balance the number of parallel blocks so that each processor has the same number
of cells.
processors by minimizing the block interface area ( i.e., group neighboring parallel
These two items are evaluated simultaneously , with weighting factors applied to achieve a
suitable balance between them. Placing too much importance on one goal can yield poor
performance for the other. Figure 11.1 below shows an e xample of a load-balanced four-
(b) (c)
(a)
Figure 11.1: An example of automatic parallel domain decomposition of a duct: (a) duct surface
geometry; (b) parallel blocks from user-specified parallel_scale, where each blue or red section
represent a single parallel block; (c) assigned domain for four processors, where each color
represents the computational region for a single processor (which is made up of several parallel
blocks).
The load balance algorithm assumes that your computer is homogeneous , and that each
processor used in the simulation has the same speed. As a result , the overall job speed of a
perfectly balanced case will be limited by the speed of the slowest processor.
If you use the grid_scale parameter (in inputs.in ) to coarsen the grid at the start of a
simulation , the scaling will force a larger parallel block size and may lead to an initial poor
load balance since the ma ximum parallel_scale is reduced ( i.e., the parallel blocks are
larger). By turning off or reducing the value of grid_scale, CONVERGE will allow smaller
parallel blocks.
The load balancing algorithm in CONVERGE places highest priority on lowering the cell
count on the processors with the highest cell count. If there is a single processor with a cell
count much higher than the average , the load balancing algorithm will not consider the
relative sizes of the remaining computational regions. However , it will still attempt to
make those regions compact ( i.e., have a low surface area to volume ratio).
Neglecting communication cost , one processor with a cell count much higher than the
average is much worse than having one processor with a cell count much lower than the
average. For e xample, let us consider two scenarios with 4 processors and their cell counts
Table 11.1: Cell count in four processors during a load balance cycle.
Processor Number Scenario 1 Scenario 2
Processor 1 ,
1 0000 cells ,
1 0000 cells
Processor 2 ,
1 000 cells ,
2 000 cells
Processor 3 ,
1 000 cells 0 cells
Processor 4 ,
1 000 cells ,
1 000 cells
Although it appears that Scenario 1 has much better load balance , both will give the same
CONVERGE load balances the parallel grid , not the grid on which it solves the fluid
dynamics. It cannot split a parallel block between two processors. This means that
parallel_scale = -1 will always give the best load balancing. You should only use a different
value if you are running out of memory at the beginning of your simulation. Because the
parallel grid cannot be split , high levels of embedding within those blocks will also tend to
result in poorer load balancing. This is a case-dependent factor , and there is no strict
prescription for how many levels of embedding you can use before you should reduce the
base grid size. Large regions of embedding may hinder load balancing , but small regions of
embedding may not. For larger regions of embedding , a grid with three levels usually
Cell pairing is not limited by the parallel block setting , and cells can pair across a parallel
block boundary. In some cases , METIS will partition the grid such that a set of paired cells
may be located on different processors. For performance reasons , CONVERGE does not
allow a set of paired cells to be located on more than two processors. If the initial partition
locates a set of paired cells on three or more processors , CONVERGE performs a block
freezing step. For a set of N processors associated with a set of paired cells , the parallel
blocks associated with the first (N-1) processors are frozen together.
Contiguous sets of frozen blocks are termed islands. Islands cannot be split between
multiple processors. After forming islands , CONVERGE re-partitions the grid and checks
again for sets of paired cells on three or more processors. The block freezing and
repartitioning process is performed iteratively until there are no sets of paired cells in the
Because islands cannot be split between multiple processors , a very large island will tend
to limit load balancing and thus simulation speed , for the same reason that a large region
of embedding will limit load load balancing. You can monitor frozen block islands with
metis_map_frozen.out .
improve load balancing when running CONVERGE in parallel. This is especially true in
Here are some key items to note when looking at the load balancing e xample in the
following figure:
The smallest allowable block of cells that can be assigned to one processor is double the
dimension of the largest cell. (If the base grid size is 8 mm, the smallest parallel block size
is 16 mm .)
The criterion that determines the overall runtime of the simulation is the cell count in the
(a)
(b)
Figure 11.2: Load balancing for two different base grid sizes. Red lines demarcate parallel blocks,
which can be assigned to different processors. Processor distributions are indicated by heavy
dashed lines. Because the base grid size of (b) is half that of (a), parallel blocks can be more evenly
distributed. In (a), note the bottleneck in Processor I, which has more than three times more cells
than any other processor. Due to the large amount of cells in this processor, (a) has a longer runtime
than (b).
In the example above, even though the total cell count for the configuration on the left (91
cells) is lower than the total cell count for the configuration on the right (103 cells) , the
simulation with the smaller base grid [Figure 11.2(b) ] will run faster. This is because the
most heavily-loaded processor in Figure 11.2(b) (31 cells) has fewer cells than the most
You can use the metis_map.out file to see how well your simulation is balanced between
processors. This file lists the number of blocks and cells that were assigned to each
processor. If you see a disproportionate number of cells assigned to one processor , consider
decreasing your base grid size. This will likely allow cells to be more evenly distributed
between processors.
Aside from the load balance operation performed at start-up , CONVERGE performs a load
balancing operation based on several other criteria. CONVERGE will load balance when
the grid moves or when embedding is set. It will also perform load balancing operations on
a xed
fi interval. You can control the frequency of load balancing with the load_cyc
parameter in inputs.in . If you set load_cyc to 100 , CONVERGE will load balance every 100
iterations. Note this interval is based on iterations since start-up , not since the last load
balancing operation. Each load balance takes appro ximately as long as one simulation
time-step.
In order to solve the transport equations in a given cell , CONVERGE needs information
from adjacent cells. In some cases , the adjacent cell will be on another processor , and that
information will need to be communicated across the network. This communication can be
slow relative to a processor clock , and this is why METIS attempts to minimize the
interface area between computational regions. If you run on more processors , you
inevitably increase this interface area and increase the amount of network traffic. Because
of this , the computation time does not scale linearly with the number of processors , and in
fact there is a crossover point at which running on more processors can actually slow
You should run your calculation on enough processors to have some free system memory
on each processor , but not so many that your processors are spending all of their time
communicating with each other. Where this happens depends on your specific system ,
and on the sort of calculation you are performing. For a no-chemistry simulation , if you
same case , if you have a slower interconnect , about 100 000, cells per processor is
reasonable.
The METIS load balance used to load balance the transport equations generally would not
evenly divide the detailed chemistry solver's computational load among the processors. If
the SAGE detailed chemistry solver is used , the SAGE portion of the simulation is load
balanced independently of the fluid cells. To reduce the computational e xpense, SAGE
only solves cells that meet fuel and temperature criteria. Frequently , only a portion of the
For a SAGE simulation that does not include adaptive zoning , CONVERGE uses stiffness-
based load balancing for the SAGE solver (note that you must include the non-transport
code calculates the number of SAGE cells on each processor. The processors then
intercommunicate to determine how to best share the load for that time-step. Cells are
weighted by the computational cost of the SAGE calculation on the previous time-step ,
and these weighted cell values are distributed evenly. Keep in mind that when solving
chemistry , only relevant node information is passed between processors for the parallel
chemistry (the node itself is not reassigned in the process). The SAGE computations are
local , and the solver does not impose strict communications requirements.
If a SAGE simulation includes adaptive zoning , the chemistry cells are grouped into zones
and CONVERGE solves chemistry once per zone rather than once per cell. For SAGE
simulations that include adaptive zoning , stiffness-based load balancing (described in the
The SAGE solver is often more computationally expensive than the solution of the
given above do not apply if you are running SAGE. You can run efficiently on as many
This difference in scaling between non-reacting simulations and simulations using SAGE
means that some cases are best run partly on a small number of processors and partly on a
large number. This is a good application of the mapping capability described in Chapter 7
Parallelization inevitably brings potential hardware issues. First and foremost , you should
interconnects (regular network cables) it is important to ensure that all machines are
plugged into the same physical switch. Running on multiple switches results in a severe
network bottleneck. Even a single machine on a different switch will be very detrimental to
the overall speed of the calculation. If at all possible , avoid running a parallel computation
CONVERGE does not utilize graphical processing units (GPUs) or other heterogeneous
computing architectures. The load balancer assumes that each processor used in the
simulation has the same speed. If a simulation is run on processors of several speeds , the
overall calculation time will be driven by the speed of the slowest machine.
communication. With threading , multiple processor cores on the same compute node share
the local system memory , and they can access it directly. This sharing prevents
unnecessary duplication of simulation data. CONVERGE also does not need to use MPI as
extensively because there is less block interface area between processors that do not share
local memory.
Your exact hardware configuration and the details of your simulation will dictate how
much performance improvement you will see from running CONVERGE with threading
enabled. Generally , systems with many processor cores per node will see larger
performance gains than systems with only a few cores per node. Simulations dominated
by spray or chemistry tend to see the best performance with threading enabled. To
evaluate performance gains , run CONVERGE with threading enabled from the command
line argument -T (see the Getting Started Guide for more information about command line
arguments).
A single transient hardware issue on a single processor can cause an entire job to
terminate. When running a large calculation , it is good practice to increase the frequency
This chapter describes the models included in CONVERGE for the discrete phase. The
discrete phase modeling parameters are located in the inputs.in and spray.in files.
To calculate the spray in a simulation , CONVERGE introduces drop parcels into the
identical drops ( i.e., same radius , velocity , temperature , etc.) and are used to statistically
represent the entire spray field. By using the concept of drop parcels , CONVERGE
Spray droplets are subject to several processes from the time of injection until the time of
vaporization. Table 12.1 below summarizes the main physical droplet processes available
processes.
Spray , ,
KH modified RT modified KH-RT models KH-ACT LISA TAB , , ,
breakup
Drop drag ,
Spherical drag dynamic drag models
Collision
O Rourke model NTC model ,
model
Collision
O Rourke Post ,
outcomes
model
Drop ,
O Rourke model TKE preserving model LES model ,
turbulent
dispersion
Drop/wall ,
Rebound/slide model Wall film model Vanish model ,
interaction
model
CONVERGE offers two categories of liquid injection mechanisms: injectors and nozzles.
An injector is a group of nozzles that have some of the same characteristics , as described
below. Each injector can have any number of nozzles , each with its own hole size , cone
angle , position , and orientation. The following subsections describe three sets of spray-
related inputs common inputs for all injectors and nozzles , inputs for injectors , and
inputs for nozzles. This section focuses specifically on liquid in ectionj parameters. Discrete
Several user inputs apply to all liquid injections defined in a simulation. Choose an option
For solid cone sprays , use the cone_dist_flag to choose to have the parcels ( i.e., liquid
mass) more heavily weighted in the center of the cone, or to have them evenly
distributed.
If the Rosin-Rammler injection distribution is selected , you must specify the value of the
spray for the current injector. In the rows below num_parcelspeciesinit, specify the name
and mass fraction for each liquid species. For e xample, for an injection comprised of 25 %
n-heptane and 75 % isooctane , use the following inputs in spray. in as shown in Figure 12.1
below.
2 num_parcelspeciesinit
c7h16 0.25
ic8h18 0.75
Figure 12.1: Sample injector inputs for parcel species.
Each liquid species that you specify in spray.in must also be defined as a PARCEL in
Specify values for each of the following parameters , for each injector:
Specify the start and duration of injection in either seconds or crank angle degrees,
depending on whether a time-based or crank angle-based simulation is specified by the
Specify one of two options for injection timing control before the start_in ectj parameter:
SE QU ENTIAL or CYCLIC . To make the injection start at one simulation time and end at
another simulation time , without repeating , enter the keyword SEQU ENTIAL followed by
To make the injection cycle on and off over a fi xed time period, enter the keyword CYCLIC
and the cyclic time period in the same row. Cyclic spray injections greatly reduce the
number of inputs required for multi-cycle spray simulations. Enter the start_in ectj and
dur_in ectj parameters in the row below the CYCLIC keyword and cyclic time period. The
cyclic time period must be longer than the injection duration ( dur_in ect j ). if a simulation
starts during a C YCLIC injection period , CONVERGE will ignore the amount of fuel that
Specify the total mass of the injection for one injector with the mass_in ect j input parameter.
CONVERGE will split this injected mass equally between each nozzle hole for that injector
Important Sector Simulation Note: In a sector simulation , the mass_in ect j parameter
represents the total mass of the injection from the nozzle(s) located in the simulated
sector only. In a sector simulation , the mass_in ect j parameter does NOT represent the
Specify a rate-shape for each injector by entering values for a number of entries equal to
numvel_in ect j . Each entry represents the velocity of in ection j at each time interval. The rate-
shape is defined over the injection duration specified by the dur_in ect j parameter. Only the
shape (and not the magnitudes) of the rate-shape entries are relevant. CONVERGE
normalizes the rate-shape entries so that all of the liquid mass is injected through the total
nozzle area in the specified injection duration. If the simulation starts in the middle of
You can specify the injection rate-shapes in either evenly or unevenly spaced time intervals
For equal time intervals , specify the velocity magnitude , followed by the keyword vel,
on a number of rows equal to the value specified for numvel_in ect j . CONVERGE
For unequal time intervals of numvel_in ect, j for each injector , provide a
rateshape_in <num>.in
j file specifying the entries in unequal times. Enter the name of
this file in quotes as the value for the numvel_in ect j parameter in spray.in as shown
below:
rateshape_inj1.in numvel_inject
shown in Figure 12.2. This file must have two columns. The first column specifies
time ( seconds or crank ) and the second column specifies the rate_shape, or relative
NOTE: The times specified in the crank column of a spray rate-shape input file are
(as shown in Figure 12.3 below) will ensure that the entire spray rate
TEMPORAL
SEQUENTIAL
crank rate_shape
0.0000000 0.00000000
2.0000000 0.19000000
5.0000000 0.36000001
6.3000000 0.50999999
7.1000000 0.63999999
11.000000 0.75000000
11.500000 0.83999997
13.300000 0.91000003
13.700000 0.95999998
14.000000 0.99000001
15.000000 1.00000000
15.800000 0.99000001
16.400000 0.95999998
17.600000 0.91000003
18.100000 0.83999997
19.700000 0.75000000
22.000000 0.63999999
23.100000 0.50999999
26.000000 0.36000001
27.000000 0.19000000
27.300000 0.00000000
Figure 12.2: A sample spray_rate.in file (can be any *.in file name) showing rate-shape inputs at
various simulation times.
You can run engine cases ( crank_flag = 1 in inputs.in) with a variable RPM. For variable
rateshape_in <num>.in
j file for each injector. For variable RPM calculations , you can specify
file names containing tabular profiles for the following three spray injection parameters:
In order to specify profiles for mass_in ect j and/or dur_in ect, j you must also specify a profile
An e xcerpt of spray.in specifying profiles for these parameters for a variable RPM engine
0.0 angle_xy_inj
0.0 angle_xz_inj
0 cone_flag
SEQUENTIAL
start_inject.in start_inject
dur_inject.in dur_inject
50000 tot_parcels
mass_inject.in mass_inject
Figure 12.3: An excerpt of spray.in for variable RPM cases.
below. You must begin the file with the keyword TAB LAR, U followed by the keyword
SE QU ENTIAL in the ne xt row. The heading of the first column is the keyword value ; this
column represents an inde x of the injection. Each injector would have a different file. The
TABULAR
SEQUENTIAL
value start_inject
1 -240
2 480
3 1200
4 1920
5 2640
6 3360
Figure 12.4: A sample start_inject.in file (can be any *.in file name) showing start_inject times for a
variable RPM engine simulation.
If you have specified a profile for the start_in ect j parameter , you can also specify tabular
TABULAR
SEQUENTIAL
value dur_inject
1 50
2 40
3 30
4 20
5 10
6 60
Figure 12.5: Sample of dur_inject.in for variable RPM cases.
TABULAR
SEQUENTIAL
value mass_inject
1 5.1615507e-5
2 4.1615507e-5
3 3.1615507e-5
4 2.1615507e-5
5 1.1615507e-5
6 6.1615507e-5
Figure 12.6: Sample of mass_inject.in for variable RPM cases.
CONVERGE accounts for the contraction effects of the nozzles in each injector , depending
on the user inputs for discharge_coeff Cd , ( ) nozzle diameter diam_noz, liquid density ,
injection rate-shape , mass_in ect
j dur_in ect
and j .
coefficient ( Cv ) based on the injection pressure at that time. CONVERGE then calculates
Ca Cd
Cv
. (12.1)
The effective area of the nozzle is reduced and the drop velocity magnitude is
increased proportionally.
You can configure nozzle locations and orientations using either a polar or a Cartesian
coordinate system. Control this option with the noz_init_flag parameter as described in
Table 12.2 below. If you choose a polar coordinate system ( noz_init_flag = 0 or 2), you can
also choose to copy the attributes of the first nozzle to all the remaining nozzles
( noz_init_flag = 2). In this case , CONVERGE will evenly space the nozzles around the
injector a xis. This nozzle copy option is very convenient for multi-hole injectors.
If you select the polar coordinate system option to specify the nozzle locations , you must
specify the location and orientation of each injector. Use the parameters x_cen, y_cen, and
angle_xy_in j and angle_xz_in j determine the orientation of the injector, as shown below in
Figures 12.7 , 12.8 , and 12.9. If you select the Cartesian coordinate system option , then
CONVERGE does not use these injector position parameters. Instead , you must specify the
Figure 12.7 - Parameters for placement and Figure 12.8 - Parameters for placement and
orientation of injectors. orientation of injectors..
Use the swirl_fraction parameter to control how much of the spray will move in a swirling
direction. This parameter can be used for hollow cone sprays only ( cone_flag = 0).
swirl_fraction can vary from -1 to 1. When looking from the top of the nozzle , positive
swirl_fraction leads to clockwise rotational velocity and negative swirl_fraction leads to
counter-clockwise velocity. Figure 12.10 and the equations below it show the vectors used
to define swirl_fraction, relative to the injector a xis, and how the swirl_fraction is defined in
j
2 2
(12.3)
VAxial / 2) * VCone
cos( (12.4)
VRadial / 2) * VCone
sin( (12.5)
The injector section lists the relevant parameters in the spray.in input file.
You can specify any number of nozzles for each of the injectors you define. Each nozzle
has an associated geometric diameter ( diam_noz ) and Sauter mean diameter ( smd_dist ) of
the injected spray. Each nozzle , whether it has solid cone spray or hollow cone spray , has
a cone angle ( cone_noz ) that specifies the full angle of the spray. Each nozzle with a hollow
If noz_init_flag = 0 or 2 , you must define the location and orientation of the nozzles using
The nozzle locations and orientations are relative to the injector center and a xis. Figures
12.11 and 12.12 below are drawn with the assumption that the injector center is at the
origin and its a xis is lined up with the z -a xis, with the injector a xis in the negative Z
direction.
If you set noz_init_flag = 1 , the nozzle locations are unrelated to each other and not linked
to an injector center or a xis. You must then define the location of a nozzle with a
Cartesian coordinate ( xx_noz, yy_noz, zz_noz ) and define its orientation with a unit vector
If the spray is a hollow cone ( cone_flag=0) , use the input parameter radius_in ect j to define a
radius for the circumference of the hollow circle. If the spray is a solid cone ( cone_flag= 1) ,
use the radius_in ect
j parameter to define the circular base of the spray cone ( i.e., an injected
parcel is randomly initialized at a point inside of the circle so that if enough parcels are
injected , the circle would appear filled in). Finally , use the parameter amp_distort to set an
initial drop distortion amplitude if you are using the TAB breakup model.
polar coordinate system option is selected. Use the nozzle inputs ( axi_noz, rad_noz, and
theta_noz ) to define the position and use the parameters angle_xy_noz and angle_yz_noz to
orient the nozzles as if the injector center is located at (0 , 0 , 0) and its a xis is aligned with
the z-a xis. Positive values of the axi_noz parameter displace nozzle hole locations in the
negative z -direction.
This section provides details of the four injection size distributions that are currently
in spray.in. In addition to the three standard options (blob , chi squared , Rosin-Rammler ,
and constant injected radius distributions) , you can also enter a file name ( e.g., in dist.in
j )
instead of a number to specify an injection profile in an input file. The file name must be in
quotation marks.
2).
Cr
1
xp
r ,
r r
( ) e (12.7)
where r is the drop radius and r is the number-averaged drop radius given by
r r 1
32
, (12.8)
3
Ntot
N i ri 3
r 32
Ni
tot
1
, (12.9)
N i ri 2
i 1
where Ntot is the total number of drops , Ni is the number of drops of size i, and ri is the
radius of size i
.
Following the approach of Amsden et al. (1989) , to obtain the best resolution of the size
distribution where the most mass is located , the distribution should be proportional to the
mass distribution given by r 3 C(r). In order to create a probability density function of this
mass distribution , the normalizing constant Nc must be found. This constant can be
determined via:
Nc r C r dr r r dr r
3
xp ,
3 3
r r
( ) e 6 (12.10)
0 0
M r r C r r r
3 3
( )
xp
Nc r r
e . (12.11)
4
6
M r 1
1 1
1 exp ,
2 3
0 12 (12.12)
2 6
where
r
r
. (12.13)
r r
1
r 32
, (12.14)
3
where r32 is the Sauter Mean Radius (SMR) , which is one-half of the input parameter
smd_dist .
Rosin-Rammler Distribution
Set in ect_distribution_flag =
j 2 to use the Rosin-Rammler distribution to obtain injected drop
sizes. The cumulative probability function for the Rosin-Rammler distribution is given by
R r 1
q
exp , 0 max (12.15)
where
r,
r (12.16)
r q r 1
1
32
, (12.17)
where is the gamma function and r32 is the Sauter mean radius (one-half of the input
parameter smd_dist) . Once a value of is selected , the injected drop radius is determined
from
r r 1 q r
1
32
. (12.18)
in ect_distribution_flag =
j 3. This allows for a constant injected radius that is independent of
In CONVERGE ,
a drop s velocity v
, i, is obtained from its equation of motion:
lVd
dvi F ,
dt d i , (12.19)
g
Fd i Fdrag i Fg i CD A f Vg
Ui
, , ,
Ui l d i . (12.20)
2
In Equation 12.20 , Af r2
=
is the drop s frontal area , g is the gas density , U is the drop-gas
i
relative velocity given by
Ui u u v
i i i , (12.21)
where ui and ui' are the local mean and turbulent fluctuating gas velocities , respectively ,
and gi is the gravitational acceleration. You can specify gravity_x, gravity_y, and gravity_z
in inputs.in as inputs for gi . Equation 12.19 can be rewritten as:
dvi 3 g
CD Ui
g
i,
dt r
Ui (12.22)
8 l
which is used in CONVERGE to update drop velocities at any given time-step. Models for
Accurate determination of drop drag coefficients is critical for accurate spray modeling.
CONVERGE currently includes two models for drop drag (in addition to the option of no
drag , which is activated by setting the drag_flag = 0). The first model calculates the drag
coefficient with the assumption that the drops are perfect spheres ( drag_flag = 1). The
second model , called here the dynamic drag model ( drag_flag = 2) , determines the droplet
drag coefficient dynamically , accounting for variations in the drop shape through a drop
distortion parameter y . Since values of the drop distortion parameter are determined from
method for calculating drop distortion and breakup. This method is based on Taylor s
analogy between an oscillating and distorting droplet and a spring-mass system. Table
of Spring
F kx dx mx, (12.23)
where x is the displacement of the drop equator from its spherical (undisturbed) position.
The coefficients of this equation are taken from Taylor s analogy as:
F C g i
2
m F l ro
k C ,
m k l ro
(12.24)
3
d C l
m d l ro 2
where
l and are the discrete (liquid) phase and continuous (gas) phase densities
g , U
i is
the relative velocity of the droplet , r0 is the undisturbed droplet radius , is the drop
y CF
g U
2
C k y Cd l dy
Cb l ro l ro l ro dt
. (12.25)
2 3 2
For under-damped drops , the equation governing y can be determined from Equation
t
y t Wec e
td
y Wec t )
1 dy y (0) Wec t
sin( ) ,
dt td
( ) (0) cos( (0) (12.26)
where
gU rel ro 2
Weg , (12.27)
Wec CF Weg ,
C kC b (12.28)
1
Cd l
,
td 2 l ro 2 (12.29)
and
Ck
1
2
l ro td
. (12.30)
3 2
In Equation 12.26 , is the droplet oscillation frequency. In Equation 12.27 , Weg is the drop
surface tension forces. Note the aerodynamic forces are calculated with U
rel , the parcel's
velocity relative to the local Eulerian flow. Finally , the constants have been chosen to
Ck 8
Cd 5
CF 1
. (12.31)
3
Cb 1
In CONVERGE , csubk, csubd, cfocbck in spray.in specify the constants from the Equation
above. Equation 12.26 can be solved for each droplet to yield its distortion parameter y .
Many droplet drag models assume that a drop remains spherical throughout its lifetime.
With this assumption , the drag of a spherical object is determined by the following (Liu et
al. , 1993):
0.424 Re 1000
C
D ,sphere , (12.32)
24
1
1 Re 1000
2 /3
Re
Re 6
where Re is the drop Reynolds number based on the drop s spherical diameter , the fluid-
phase density and laminar viscosity , and the relative velocity between the drop and the
gas. However , as an initially spherical droplet moves through a gas , its shape will distort
significantly when the Weber number is large. In the e xtreme case, the drop shape will
approach that of a disk. The drag on a disk is significantly higher than that of a sphere.
Since the drop drag coefficient is highly dependent on the drop shape , a drag model that
assumes the drop is spherical can under-predict drag. The dynamic drag model accounts
for the effects of drop distortion by linearly varying the drag between that of a sphere ,
(Equation 12.32) and a value corresponding to a disk (Liu et al. , 1993). The drag coefficient
is given by
CD CD sphere
,
1 2.632 , y (12.33)
where y is the drop distortion , as determined from the TAB model described above. Note
that in the limit of no distortion ( y 0, = ) the drag coefficient of a sphere will be obtained
obtained.
CONVERGE uses a nearest node approach to e xchange mass, momentum , energy terms of
a parcel (Lagrangian particle) with the fluid-phase (Eulerian field) values of the
computational node that it is closest to. A Taylor series e xpansion is used to calculate the
gas velocity (Eulerian field) at the point of the parcel (Lagrangian particle). The use of the
CONVERGE includes several spray breakup mechanisms , including models based on the
Kelvin-Helmholtz (KH) and Rayleigh-Taylor (RT) instability mechanisms , the LISA sheet
breakup model , and the Taylor Analogy Breakup (TAB) drop breakup model. It also
spray breakup. This section describes the theory behind the models used to predict liquid
All of the spray breakup parameters (with the e xception of break_flag, cfocbck, csubd, and
csubk ) are inputs for each injector. This allows you to run different spray breakup models
and constants for different injector/nozzle configurations. The values of the TAB model
parameters cfocbck, csubd, and csubk are the same values as those used in the dynamic drag
model.
The Kelvin-Helmholtz instability is based on a liquid jet stability analysis that is described
in detail by Reitz and Bracco (1986) and is only briefly described here. The analysis
considers the stability of a cylindrical , viscous , liquid jet of radius r0 issuing from a circular
orifice at a velocity U into a stagnant , incompressible , inviscid gas of density . The liquid
g
has a density and viscosity
l l and a cylindrical polar coordinate system is used which
moves with the jet. An arbitrary infinitesimal a xisymmetric surface displacement of the
form
o e ikz t , (12.34)
is imposed on the initially steady motion and it is thus desired to find the dispersion
relation
K
H
=
K H
(kK H
) , which relates the real part of the growth rate
K
H
to its
wavenumber kK H
= 2 /
K H
.
In order to determine the dispersion relation , the linearized hydrodynamic equations for
l C I o kK r e ikK z K t
1 H
H H
l C rI Lr e ikK z K t
(12.35)
H H
2 1
where l and l are the velocity potential and stream function , respectively , C1 and C2
are integration constants , I 0
and I 1
are modified Bessel functions of the first kind ,
L2 = k2
K
H
+
K H l,
/ and is the liquid kinematic viscosity (Reitz
l ,1987). The liquid pressure is
obtained from the inviscid part of the liquid equations. In addition , the inviscid gas
K
2
K o kK rp
p i kK
( )
g g U
H
H
,
K k H
H
K kK rp
1 H
(12.36)
where K0
and K 1
are modified Bessel functions of the second kind and U is the relative
velocity between the liquid and the gas. The linearized boundary conditions are
l ,
t (12.37)
l u
l
v
r z (12.38)
and
p
l 2 l
v
l
r
2
p
p g 0,
2
r r p
2
z 2 (12.39)
which are mathematical statements of the liquid kinematic free surface condition ,
continuity of shear stress , and continuity of normal stress , respectively. Note that ul is the
a xial perturbation liquid velocity , vl is the radial perturbation liquid velocity , and is the
surface tension. Also note that Equation 12.38 was obtained under the assumption that vg
= 0.
As described by Reitz (1987) , Equations 12.37 and 12.38 can be used to eliminate the
integration constants C 1
and C 2
in Equation 12.35. Thus , when the pressure and velocity
solutions are substituted into Equation 12.39 , the desired dispersion relation is obtained:
I k r kK L I kK rp I Lrp
K p
K 2 l kK K
H 2 H
1 1 1
2 2 H
I kK rp kK L I kK rp I Lrp
H H H 2 2
0
H H 0 H 1
kK L rp I kK rp 2 2
kK rp
H
1
H 2 2
l rp L r I k r
1 (12.40)
p K p
2 H 2 2
0 H
g K L rp I kK rp K kK rp
2 2 2
i
1 H 0 H
kK L rp I kK rp K kK rp
H
U
l H
2 2
0 H 1 H
As shown by Reitz (1987) , Equation 12.40 predicts that a ma ximum growth rate (or most
unstable wave) e xists for a given set of flow conditions. Curve fits of numerical solutions to
wavelength ,
K , H
and are given by Reitz (1987) as
1 0.45Zl 1 0.4T
0.5 0.7
K H
9.02 ,
rp 1 0.87 We g
1.67
0.6 (12.41)
and
l p r 0.34 0.38We g
0.5
3 1.5
K ,
T
(12.42)
1 Zl 1 1.4
H 0.6
where Z l Wel Rel / is the Ohnesorge number and T Zl Weg is the Taylor number.
Furthermore , Wel l rp
2 = U / and Weg = U
g
2 r /
p are the liquid and gas Weber numbers ,
respectively , Rel rp
and = U / is the Reynolds number. Note that U = |
l ui-vi | where ui is the
In the KH model , the initial parcel diameters are set equal to the nozzle hole diameter d 0
and the atomization process of the relatively large injected blobs is modeled using the
stability analysis for liquid jets as described above. The breakup of the parcels and resulting
drops is calculated by assuming that the breakup drop radius rc is proportional to the
wavelength of the fastest growing unstable surface wave given by Equation 12.41. In other
words ,
rc Bo K H
, (12.43)
where B
0
is a model constant typically set to 0.61 based on the work of Reitz (1987).
Although B 0
in Equation 12.43 is typically set to 0.61 , it has been included in the input files
( balpha spray.in
in ) to allow adjustment if necessary. A smaller value of B0
will result in
smaller drops from breakup , while a larger value will result in larger drops.
drp rp rc
, rc rp
dt
(12.44)
K H
3.726 B rp
K ,
1
(12.45)
K K
H
H H
and K H
and K H
are obtained from Equations 12.41 and 12.42 , respectively. The breakup
jet and has been found to vary from one injector to another (Kong et al. ,1995). Note that
rp n r rp r
n
1
pn c
1
dt
. (12.46)
K H
You can run the KH model with or without the creation of new child parcels. When
droplet breakup occurs , pieces of the original droplet fragment away. CONVERGE
considers these fragmented masses of liquid to be child parcels when they accumulate a
sN n l rp n rp n ,
4 3
1
3
n 3 (12.47)
where s is the shed_factor, which represents the fraction of the parent parcel mass that
contributes to the child parcel mass. When the mass of the fragmented liquid e xceeds the
value of newparcel_cutoff, CONVERGE creates a child parcel with a drop size of radius r c
.
mass ( i.e., the total injected liquid mass divided by the total number of injected parcels).
Note that CONVERGE conserves the liquid mass during the breakup mass accumulation
process as the number of drops in a parent parcel is adjusted to a value N such that
N n rpn N rp
n n
3 3
1 1 .
When breakup occurs and it is determined that child droplets should be added to the
computation , they are given a velocity component normal to the path of the parent drop.
n C K K ,
1 H H (12.48)
where C 1
is a model constant.
Alternatively , a similar model to that of Reitz and Diwakar (1987) can be used if you
choose to not create new parcels from the KH breakup model. In the Reitz and Diwakar
model , Equation 12.44 was used to model the size change of an unstable droplet with the
KH breakup time given by Equation 12.79. As described above , Equation 12.45 reduces to
Weg / Re
g 0.5
0.5
(12.49)
to determine the breakup drop size. Equation 12.49 predicts the breakup size given by
rc
2
. (12.50)
2 gU g
2 3
Alternatively , in the limit of very high gas Weber numbers and an inviscid liquid , Equation
12.43 reduces to
rc Bo9.8 , (12.51)
gU 2
for a B 0
value of appro ximately 0.61. It has been noted by Reitz (1987) that very similar
drop sizes are obtained if Equation 12.51 is always used to determine the breakup drop
size. As a result , running the present KH model without the addition of new child parcels
is consistent with the Reitz and Diwakar (1987) model for high-speed , inviscid sprays. It it
important to verify that rt_flag = 0 if you wish to use the CONVERGE model that is similar
The KH-ACT model (Som and Aggarwal , 2010) is a modification of the KH model that
Aerodynamic-Induced Breakup
CONVERGE uses the KH model described previously to calculate the instantaneous length
3.276 B1r
KH (12.54)
KH KH
CONVERGE calculates the ratio of length and time scales for each process. As seen in
dr
Equations 12.53 and 12.56 , the rate of decrease in droplet radius
dt is proportional to
L
A
the ratio of length to time scale . Thus the largest ratio determines the dominant
A
breakup process.
LA L (t ) L L (t )
max KH ; CAV ; T (12.55)
A KH (t ) CAV T (t )
cavitation or turbulence processes dominate , then the following breakup law is used:
dr LA
CT ,CAV (12.56)
dt A
to 1.0.
Cavitation-Induced Breakup
Cavitation patterns generated inside the injector nozzle can reach the nozzle e xit. These
patterns decrease the radius of the injected parcels from the orifice radius , thereby
enhancing jet atomization. The underlying assumption is that cavitation patterns are
transported to the jet periphery by the turbulence velocity inside the liquid , and either
burst at the periphery or collapse before reaching it. For both of these cases, a
characteristic time-scale is calculated , the smaller one causing breakup. Following Bianchi
and Pelloni (1999) and Arcoumanis and Gavaises (1998) , the characteristic cavitation time-
All of the cavitation bubbles formed inside the orifice that reach the orifice e xit are lumped
together into a single artificial bubble that occupies the cumulative area of the smaller
ones.
RCAV rhole C
1 a (12.58)
where RCAV is the effective radius of an equivalent bubble from the nozzle. The area
reduction coefficient ( Ca ) is calculated from flow simulations inside the injector and rhole is
Bubble collapse depends on the size of the bubble. This approach of lumping together to
form an effective bubble may marginally effect the breakup process. The bubble collapse
l
collapse 0.9145 RCAV
pv (12.59)
Cavitation bubbles are located along the walls of the orifice ; however , the effective bubble
is placed on the center of the liquid spray as it is injected. The average time required for a
cavitation bubble to reach the periphery of the jet can be estimated as:
r RCAV
burst hole
uturb
(12.60)
simulations. The length scale for the cavitation-induced breakup is calculated as:
CONVERGE will determine the length and time-scales for cavitation-induced breakup in
this manner. Each cavitation bubble influences the breakup only once. In other words ,
after the bubble collapses , it does not affect parcels during subsequent time-steps.
Turbulence-Induced Breakup
According to Huh and Gosman (1991) , turbulent fluctuations in the liquid jet are
responsible for the initial perturbations on the jet surface. These waves grow according to
KH instabilities until they breakup from the surface. The relevant length and time
scales ( LT t
( ) and tt(t), respectively) for turbulence-induced breakup are calculated as
follows:
1.5
C K (t )
LT (t ) , (12.62)
(t )
and
C K (t )
T (t ) , (12.63)
(t )
where K(t) and e (t) are , respectively , the instantaneous turbulent kinetic energy and
dissipation rate , and C m and Ce are turbulence model constants. Assuming isotropic
turbulence for the liquid phase and neglecting the diffusion , convection , and production
terms in the k-e equation , the decay of K(t) and e (t) for a parcel can be estimated as:
1/ C 1
K 0
C
K (t ) , (12.64)
K 0 0t C 1
C
K (t )
(t ) 0 , (12.65)
K0
where K0 and e0 are the initial values at the nozzle e xit at start of injection (SOI) ,
determined from nozzle flow simulations. In the absence of detailed nozzle flow
simulations and measurements , the values of of K0 and e0 are estimated from a force
balance in a control volume , not accounting for the decay in turbulence levels.
CONVERGE allows two methods for determining the values of turbulent kinetic energy ,
turbulent dissipation , and the area reduction factor for use in KH-ACT computations. To
use the first method , where CONVERGE calculates the values of these three values , set
noz_flow_flag= 0. The second method ( noz_flow_flag= 1) is to provide a *.in file that specifies
For the control volume along the nozzle downstream length , the turbulent stress and force
on the nozzle orifice are estimated to be of the same order of magnitude , i.e.,
D2
l ul2 DL pnoz , (12.66)
4
The total pressure drop , which is composed of three components , is obtained as follows:
1 lU inj
2
ptot 2
. (12.68)
Cd 2
lU inj
2
p form K c . (12.69)
2
lU inj
2
pacc 1 s
2
. (12.70)
2
The initial turbulent kinetic energy and turbulent dissipation rate can be readily estimated
1 2
2
U inj
K0 2 K c 1 s
L C
8 d (12.71)
U inj 2
3
1
0 K 2 K c 1 s (12.72)
2 L Cd
literature. You can change these values by specifying tur_kc, tur_ke and tur_s respectively
in spray.in . Once the initial turbulence levels K0 and e at the nozzle e xit are known , the
length and time-scales can be estimated based on the Equations 12.62 and 12.63 for a k-e
turbulence model.
believed to be responsible for droplet breakup. The unstable RT waves are thought to occur
due to the rapid deceleration of the drops from the magnitude of the drag force ,
F
| D,i |, which is given as
g
2
FD i Md ai Md CD 3 Ui
,
l ro
(12.73)
,
8
where a
| i| is the deceleration of the drop , md is the mass of the drop , and CD is the drag
coefficient. Typical implementations of the RT breakup model ignore both gas and liquid
viscosity (Ricart et al. , 1997). If viscosity is neglected , the fastest growing wavelength for
3
RT 2 ,
a l g (12.74)
a
3/2
l g
RT
2 . (12.75)
3 3 l g
As described by Senecal et al. (2007) , the CONVERGE spray models e xtend the standard
RT model to include viscosity , which can have a large effect for the high decelerations
typical of spray droplets. When viscosity is included , it can be shown ( e.g., J oseph et al. ,
1999) that the RT growth rate can be written as
a k
2
l g l g l g
k k k
3
RT RT RT RT RT ,
2 4
(12.76)
l g l g l g l g
RT ) is solved for numerically using a bisection method with Equation 12.76. The value of
KRT is then substituted into Equation 12.76 to find the ma ximum growth rate , RT .
It is straightforward to show that Equation 12.76 reduces to the standard RT model in the
a k
l g
kRT
3
RT RT .
(12.77)
l g l g
It can be shown that the values of kRT and RT corresponding to Equation 12.77 are
with
RT defined by Equation 12.77 and substituting the resulting e xpression for kRT back
As in the study of Xin et al. (1998) , if the scaled wavelength given by CRT
RT is calculated
to be smaller than the droplet diameter , RT waves are assumed to be growing on the
surface of the drop. When the RT waves have been growing for a sufficient time ( i.e., CI /
that the RT size constant CRT can be increased or decreased to change the size of the
predicted RT breakup radius by changing the value of cnst3t in spray.in . Similarly , the RT
The previous sections described two breakup models based on fundamental liquid/gas
commonly done. One option for running them together is to use the so-called KH-RT
breakup length model. If the KH-RT breakup length model is activated , an intact core or
l
Lb Cbl d . (12.78)
g
0
As shown in Fig. 12.13 , this model assumes that only KH instabilities are responsible for
drop breakup inside of the characteristic breakup distance , Lb, while both KH and RT
mechanisms are activated beyond the breakup length. In this case , CONVERGE first
checks if the RT mechanism can break up the droplet. If not , the KH mechanism is
result in faster breakup. In addition , the breakup length constant Cbl in Equation 12.78 can
spray.in. A methodology for tuning Cbl has been described by Senecal (2000) , which
showed that for very high gas Weber numbers Weg (typical of Diesel sprays) and
l = 0, the
K
B 1
l
ro , (12.79)
g
H
U
l
LK B r . (12.80)
g
H 1 0
If Equation 12.80 is compared with Equation 12.78 , it is clear that Cbl must equal B1
/2 in
above has been shown to result in accurate predictions of vaporizing spray penetration
when compared to e xperiments (Beale , 1999). The breakup length can be removed from
the model by setting Cbl = 0 in Equation 12.78. This results in both the KH and RT
An alternative to the KH-RT breakup length model allows you to run a simulation with
both breakup mechanisms without the use of an ad hoc breakup length definition. In this
modified KH-RT model , aerodynamic instabilities ( i.e., KH waves) are responsible for the
primary breakup of the injected liquid blobs (also known as parents). Child drops are
created during this process , and the secondary breakup of these drops is modeled by
This modified KH-RT model can be used only when the creation of child parcels is
The TAB model was previously briefly described in the Drop Drag Models section. That
method for calculating drop distortion and breakup. This method is based on Taylor s
analogy between an oscillating and distorting droplet and a spring-mass system.
F kx dx mx, (12.81)
where x is the displacement of the drop equator from its spherical (undisturbed) position.
The coefficients of this equation are taken from Taylor s analogy as:
F C g i
2
U
,
m F l ro
k C ,
m k l ro
(12.82)
3
d C l ,
m d l ro 2
where
l and
g are the discrete (liquid) phase and continuous (gas) phase densities , U is
y CF
g U
2
C k y Cd l dy
Cb l ro l ro l ro dt
. (12.83)
2 3 2
For under-damped drops , the equation governing y can be determined from Equation
t
y t Wec e td y Wec
t )
1 dy y (0) Wec t
sin( )
dt td
( ) ( ) cos( (0) (12.84)
where
U r 2
Weg g o , (12.85)
Wec CF Weg ,
C kC b (12.86)
1
Cd l
,
td 2 l ro 2 (12.87)
and
Ck
1
2
l ro td
. (12.88)
3 2
In Equation 12.84 , is the droplet oscillation frequency. In Equation 12.85 , Weg is the drop
forces to surface tension forces. Finally , the constants have been chosen to match
Ck 8
Cd 5
CF 1
(12.89)
3
Cb 1
.
2
The numerical implementation of the TAB model for breakup calculations follows the
description presented by O Rourke and Amsden (1987). The drop parameters Weg , td and
2
are first calculated. If
2
is less than or equal to zero (implying that the drop s
oscillations are negligible) , y and
y
are both set to zero and no further breakup
calculations are performed for the drop during the current time-step. If
2
is positive , the
A y Wec 2
y /
2
. (12.90)
IfA Wec + 1.0 , breakup does not occur for the drop for the current time-step. In this case ,
y y
and are updated and no further breakup calculations are performed for the drop
during the current time-step. The distortion parameters are then updated with the
following e xpressions:
dt
y n
Wec e
td
y We
n n
t
n
1
y y Wec t )
( c ) cos( )
1
t
sin( (12.91)
dt
y n 1
Wec y n 1
e td
1 n
n
y y Wec t ) ( y n Wec ) sin(t )
t
td
cos( (12.92)
where the superscript n+ 1 refers to the updated values and the superscript n refers to the
previous values.
period (O Rourke and Amsden , 1987). Breakup is predicted to occur if the computational
time-step is larger than the breakup time or if y 1. If breakup occurs , y is set to 1 , y is set
to that of an undamped oscillation at the breakup time, and a normal drop velocity
Vn 0.5 ro y , (12.93)
where r 0
is the drop radius prior to breakup. The direction of Vn is randomly chosen in a
plane normal to the drop s relative velocity. The normal velocity component is added to
The breakup drop radius r is calculated with the following e xpression derived by O Rourke
and Amsden (1987):
r ro ,
8 K y l ro y
2
3
2
K
6 5 (12.94)
1
20 120
where K= 10/3. If a drop size distribution is not used with the TAB breakup model , the
If a drop size distribution is used , the radius calculated from Equation 12.94 is the Sauter
Mean Radius (SMR) of the distribution. Once the new radius is calculated , the number of
drops for the parcel is updated to conserve mass. Once the drop s breakup properties have
been updated , it is assumed that the drop is no longer oscillating and hence both y and
y
are set to zero.
The Linearized Instability Sheet Atomization (LISA) model of Senecal et al. (1999) is
included in CONVERGE to model liquid sheet breakup. The model includes two parts a
general liquid sheet breakup mechanism and a liquid injection methodology specifically for
pressure-swirl atomizers. In this section , the breakup model is first described , followed by a
Senecal et al. (1999) derived the following dispersion relation for the sinuous mode for a
tanh( kh ) Q 4 l k
2 2
tanh( kh ) 2 i k
Q U 4 l 2
k 4
tanh( kh )
k
kL Lh k
3
(12.95)
4 l 2 3
tanh( ) QU 2 2
0
l
where =
r + i
i is the comple x growth rate , k is the wave number ,
l is the liquid
density , g is the gas density , l is the liquid kinematic viscosity , is the surface tension , Q
=
g / , and
l = L 2
k 2
+ / . The sinuous mode solution was shown to have the property
l
that its ma ximum growth rate will always be greater than or equal to the ma ximum
growth rate of varicose waves for high velocity flows with values of Q significantly less
In order to simplify Equation 12.95 for use in multi-dimensional simulations , Senecal et al.
(1999) performed an order of magnitude analysis using typical values from the inviscid
solutions and showed that the terms of second-order in viscosity can be neglected in
comparison to the other terms. With this simplification , the real part of the growth rate
can be written as
2 lk 2
tanh( kh )
r
tanh( kh ) Q
k kh k kh k k
(12.96)
4 l2 4
tanh (
2
) Q U
2 2 2
tanh( ) Q QU 2 2
3
/ l
kh
.
tanh( ) Q
Furthermore , if short waves are assumed ( i.e., tanh( kh ) = 1) and Q 1 , Equation 12.96
reduces to
r 2 l k 2
l
4
2
k 4
QU 2
k 2
k 3
/ l . (12.97)
Senecal et al
. analytically derived a critical Weber number of Weg = U
g
2
h / = 27/16 ,
below which long waves dominate the breakup process , and above which short waves
dominate breakup. As the Weber number is typically well above 27/16 for sheet breakup
short waves are responsible for breakup. As a result , Equation 12.97 is used in
and Johns (1963) is adopted in order to predict the drop sizes produced by the primary
breakup process. In this process , disintegration occurs due to the growth of waves on the
surfaces caused by the aerodynamic forces acting on the sheet. Once the waves reach a
critical amplitude , fragments of the liquid are broken off which contract to form cylindrical
ligaments that are believed to move normal to the ligament a xis. As a result , capillary
In order to determine the onset of ligament formation , Senecal et al. (1999) made an
analogy with the prediction of the breakup length of cylindrical liquid jets ( e.g., Reitz and
b e xp s ln b (12.98)
0
where s is the ma ximum growth rate obtained from Equation 12.97. Thus , the sheet will
L V V ln
b
(12.99)
s
0
Hooper (1962). Here , V is the absolute velocity of the liquid sheet , while U in Equation
12.97 is the relative velocity between the liquid and the gas. Note that you can alter the set
Once the sheet breakup length predicted by Equation 12.99 is reached , ligaments with a
diameter given by
dL Clisa 2
Ks (12.100)
As in the work of Senecal et al. (1999) , the resulting drop diameter is found from the
expression
dD 1.88 dL 1 3 Oh
1/6
(12.101)
where Oh =
l / ( l dL)
1 /2
is the Ohnesorge number. Equation 12.101 is based on the
In CONVERGE , the parcels representing the liquid sheet do not directly interact with the
gas phase and do not undergo collision , drag , evaporation , or turbulent dispersion. Once
the sheet parcels travel a distance from the injector given by Equation 12.99 , the parcels
are given a size predicted by Equation 12.101 and are treated as normal parcels that
undergo collision , drag , evaporation , turbulent dispersion , and are coupled to the gas.
If a drop size distribution is used with the LISA model , Equation 12.101 represents the
If a drop size distribution is not used , Equation 12.101 is the actual diameter of the drop.
Finally , the TAB model is used to predict secondary drop breakup in the LISA model.
A methodology following the work of Schmidt et al. (1999) is used to initialize the size and
velocity of injected sheet parcels when the LISA model is activated. This model assumes
that the injector e xit velocity profile is uniform and that the total velocity is related to the
Vk 2 p
(12.102)
l
k
max 0.7 ,
4 m l
.
d0
2
l cos 2 p
(12.103)
In Equation 12.103 , m and are the measured mass flow rate and spray angle ( i.e., half
diam_noz input parameter. Equation 12.102 is used to initialize the velocity of the sheet
parcels.
It can be shown (Schmidt et al. , 1999) that the sheet thickness at the nozzle e xit h 0
is
m lV cos h 0
( d h
0 0
). (12.104)
Equation 12.104 is used to calculate the initial sheet thickness (note that h 0
is the full
nozzle e xit thickness while h is the sheet half-thickness). The sheet parcel s radius is
r0
0.5 h 0
. (12.105)
This section provides an overview of both the numerical schemes and physical outcomes
The collision and coalescence input parameters are included in the spray.in file , except for
mult_dt_coll_mesh inputs.in
in .
The widely-used O Rourke (1981) collision and coalescence model is implemented in the
CONVERGE code. The collision and coalescence model is designed to estimate the number
see that for N drops , each having N -1 possible collision partners , the number of possible
would render the collision calculation computationally prohibitive for the millions of drops
Because a parcel can represent hundreds or thousands of drops , the cost of the collision
calculation is significantly reduced. In order to reduce the computational cost even further ,
the algorithm of O Rourke (1981) uses a stochastic (randomly determined) estimate of
collisions and assumes that parcels can collide only if they are located in the same fluid-
phase cell.
of parcels. The parcel containing drops of larger radius is known as the collector , while the
parcel containing drops of smaller radius is known as the droplet. In the following
description , a subscript of 1 is used for the collector parcel , while a subscript of 2 is used
The collision frequency of a collector drop with all of the droplets is given by O Rourke
(1981):
coll
N r r V
2 1 2
2
12
,
V
(12.106)
where N 2
is the number of drops in the droplet parcel , V 12
= | vi - vi
1 2
| is the relative
and droplet , respectively , and V is the volume of the fluid-phase cell that includes the two
parcels. The probability that the collector collides n times with drops is assumed to follow a
Pn e n n ,
n
n! (12.107)
n coll dt N r r V dt
2
( )
2 1 2 12
V (12.108)
12
is
traveled by a droplet in one time-step. Since there is a uniform probability that a droplet
will be anywhere in the fluid-phase cell , then the probability of the droplet being in the
collision volume is the ratio of the collision volume to the fluid-phase cell volume.
P e n
0
. (12.109)
In the event that a collision occurs , the ne xt step is to determine the outcome of the
bcrit r r 2.4 f
1.0 , ,
We
min (12.110)
1 2
coll
where f is given by
f
r
3
r
2
r
2.4 2.7 ,
1 1 1
r
2 r 2 r 2
(12.111)
Wecoll lV r
2
12 2
. (12.112)
number between zero and one. If the O Rourke collision outcomes are used (see below) ,
the collision outcome is coalescence if b < bcrit, otherwise the outcome is grazing collision. If
the Post collision outcomes are used (these are described in the Post Collision Outcomes
section below) , the collision outcome can be bouncing , stretching separation , refle xive
separation , or coalescence.
An alternative to the O Rourke numerical collision scheme is the No Time Counter (NTC)
method of Schmidt and Rutland (2000). The NTC method is based on techniques used in
gas dynamics for Direct Simulation Monte Carlo (DSMC) calculations. This model has
conditions.
The NTC method involves stochastic (randomly determined) sub-sampling of the parcels
within each cell. This potentially results in much faster collision calculations. Unlike
O'Rourke's method , which incurs an additional computational cost that increases with the
square of the number of parcels , the NTC method has a linear cost. O'Rourke's method
assumes that multiple collisions can occur between parcels and that this process is
governed by a Poisson distribution. However , the Poisson distribution is not correct unless
collision has no consequences for the parcels. Since collisions change parcels velocities ,
size, and number , the method of repeated sampling used by the NTC method generates
The NTC method is derived , without assumptions , from the basic probability model for
stochastic collision. The basic probability model requires that the cell size is sufficiently
small such that spatial variations in spray quantities can be neglected. These assumptions
are a subset of those required for deriving the O Rourke collision model. For a detailed
derivation , see Schmidt and Rutland (2000). Only a simple description of the actual
The NTC method first sorts the parcels into groups that reside in the same cell. This
requires only 2N operations , where N is the number of droplets in a cell. Ne x t, the NTC
method picks a stochastic subsample from all of the possible pairs in a cell. The number of
picked pairs does not affect the final average answer , as long as the number meets
constraints derived in Schmidt and Rutland (2000). The probabilities for the sub-sample
pairs are multiplied by the reciprocal of this fraction , increasing the probability of collision.
Sampling is done with replacement so that multiple collisions for a pair can be correctly
calculated. The resulting method incurs a cost that is linearly proportional to the number
then the e xpected number of collisions in the cell over a time interval of t is given by
N N Vi i , t
Mcoll 1 ,j j
V
. (12.113)
i 2 1 j 1
The factor of one-half is a result of symmetry. If we group the individual droplets into
Np Np Vi i , t
Mcoll qi q
1 ,j j
,
i 2 1 j 1
j
V (12.114)
where Np is the number of parcels in the cell and q is the number of droplets in a parcel.
qV Np t Np q Vi i
Mcoll ma x
qi
j ,j ,j
V qV
. (12.115)
2 i 1 j 1 ma x
The value of ( qV )
ma x
is used for scaling the selection probability of a collision. The value
q Vi i ,j ,j
1.
j
qV
(12.116)
ma x
aN p Np
xi a xi , (12.117)
i 1 i 1
where a<1 and xi is a characteristic of each parcel. Hence , a subset of parcels is used to
represent the larger population. This statistical appro ximation allows a constant multiplier
to reduce the limits of summation. Using this relationship , the limits of the summations in
qV t qV t
Np Np
q Vi i
x
ma ma x
V V
Mcoll qi
2 2
j ,j ,j
, (12.118)
i 1 j 1 qV max
N qV t
Mcand p
2
ma x
V
. (12.119)
2
Mcand Mcand q V
Mcoll qi i i j ,j ,j
qV
. (12.120)
i 1 j 1 ma x
This equation is the final e xpression of the NTC method for application to parcels
representing varying numbers of drops. In the limit of constant cross section and constant
q, this equation reduces to the e xpression of Ale xander and Garcia (1997). The overall cost
will be proportional to the product of the limits of the summation , namely Mcand . The value
of Mcand is linearly proportional to Np , because q goes as 1/ Np . When using this model , you
scheme. The number of candidate pairs given by Mcand is selected with replacement from
the cell population. Because the parcels are selected with replacement , multiple collisions
multiple collisions is required for accurate results with large time-steps in dense sprays.
After a pair has been selected , a uniform deviate from [0 ,1) is used to determine if the
candidate pair actually collides. A collision takes place between parcel i and j if the
deviate , ,r satisfies
q gVi i
r ,j ,j
qV
. (12.121)
max
collision is accepted , then ql , the lesser number of droplets , actually participate in the
collision. This distinction is important in the case of droplet coalescence , where one parcel
of drops absorbs the other. The differentiation of the parcels by the larger and smaller
In the case of a grazing collision , the new droplet velocities are calculated based on
conservation of momentum and kinetic energy. It is assumed that some fraction of the
kinetic energy of the drops is lost to viscous dissipation and angular momentum
generation. Using assumed forms for the energy and angular momentum losses , O'Rourke
(1981) derived the following e xpressions for the new velocities of the collector and droplet:
m vi m vi m vi v
i,
vi f
*
,1 ,2 ,1
E,
1 2 2 2
m m
,1 1 (12.122)
1 2
m vi m vi m vi v
i,
vi f
*
,1 ,2 ,2
E,
1 2 1 1
m m
,2 1 (12.123)
1 2
where the * superscript indicates the post-grazing collision velocity values and
fE
b b crit
2
,
r r bcrit
1 (12.124)
2
1 2
In addition , grazing collisions only take place between the smaller number of drops
between parcel 1 and parcel 2. For e xample, if parcel 1 has fewer drops than parcel 2 , the
vin1
,1
v
i*, , 1 (12.125)
and
vin 1
N vi
1
*
,2
N N vin
2 1 ,2
,
,2
N 2
(12.126)
where the superscript n refers to the previous time-step value and the superscript n
+1
In the event that the outcome is coalescence , Equation 12.107 determines the number of
droplets that coalesce with a collector drop. The properties of the coalesced drops are
In addition to the grazing collision and coalescence outcomes , Post and Abraham (2002)
included both stretching separation and refle xive separation in their model based on
In this model , the collision Weber number based on diameter ( i.e., Wecoll ,
2 ) is first compared
p 1 p 4 12
2 '
WeBounce ,
cos(arcsin B)
2
(12.127)
where
p
r
1
,
r
2
(12.128)
with r >r ,
2 1
a /
2 /3
,
' '
0 0
(12.129)
1 0.25 2 1 1.0
2
, (12.130)
0.25 3
1
2
1.0
where
1 B .
1 p (12.131)
B b
r r
. (12.132)
1 2
If 2 Wecoll<Webounce, it is assumed that the two drops bounce. As in the work of Hou (2005) , it
is assumed that the post bounce velocities are given by Equations 12.122 and 12.123 with
fE =0 :
m vi m vi m vi v
i,
vi
*
,1 ,2 ,1
,
1 2 2 2
,1
m m 1 2
(12.133)
m vi m vi m vi v
i,
vi
*
,1 ,2 ,2
1 2 1 1
m m
,2 . (12.134)
1 2
If 2 Wecoll Webounce,
then either permanent coalescence , stretching separation , or refle xive
separation take place. To determine if a separation has occurred , CONVERGE checks two
p 1 p 3
We 4 1 p
2 /3
coll 3 7 1 p ,
3 2
2 (12.135)
6
p 1 2
there is also a possibility of refle xive separation. Equation 12.135 is the refle xive separation
1/2
2 1 1 1,
2
2
1
(12.136)
2 1/2
2 p p
2
2 2
p , 3
(12.137)
and
0.5B 1 p , (12.138)
where B b r r
= / (
1
+
2
).
If only stretching separation is possible , the post-collision velocities are calculated using
1
crit
f b b 2
E
b
. (12.139)
1 crit
p 1 p
3
7 1 2 /3
4 1 p
p
3 2
3
p 6
f
(12.140)
E 1 ,
1 2
Wecoll
1
2
It is well known that collision calculations can be highly grid-sensitive when an under-
resolved fluid-phase mesh is used. To help alleviate this issue , an adaptive collision mesh
option has been implemented in CONVERGE , based on the concept of a collision mesh
In a simulation without collision mesh , parcels collide only with parcels in the same grid
cell. This can lead to artifacts in the spray , since parcels do not collide across cell walls.
This can also slow down computational time because there can be many parcels in larger
cells.
Using a collision mesh can eliminate both these problems. Simulations with collision mesh
can much more accurately represent the spray dispersion by eliminating grid effects.
Figures 12.14 and 12.15 illustrate the spray results from a simulation without collision
Figure 12.14: Spray parcels from a 4-nozzle spray simulation without collision mesh. Notice the split
in the spray plumes along the X and Y axes in the left-hand image. The right-hand image shows how
this split propagates along the Z axis.
Figure 12.15: Spray parcels from a 4-nozzle spray simulation with collision mesh. There is NO grid-
effects-induced split along the horizontal and vertical axes in the left-hand image. The right-hand
image shows the spray waves that more accurately mimic a physical spray.
The collision mesh is a uniform grid , used only for parcel collision , that rotates about a
random a xis at every time-step. The embed level of the collision mesh (set by the coll_scale
parameter) is the number of levels below the base mesh size , as shown in Equation 12.141
below.
This mesh is completely independent of the fluid-phase mesh and is used only for collision
calculations. The algorithm for creating the collision mesh is based on randomly selecting a
coordinate system and creating a collision mesh at each time-step. The collision mesh cell
where dx_base is the base cell size specified in inputs.in . Once the mesh is created , the
parcels are placed in the appropriate collision mesh cell and the collision calculation
proceeds as usual.
The cost of calculating the collisions grows proportional to the square of the number of
droplets in a cell , so assigning the typical value of 3 to 5 for coll_scale may significantly
reduce overall computational time of the simulation. Values in this range for coll_scale
results in 512 to ,
32 768 collision mesh cells for every fluid base mesh cell , and thus
drastically decreases the number of spray parcels per collision mesh cell. For this reason ,
using collision mesh is recommended to increase both the accuracy and the computational
However , you should use caution when decreasing the collision mesh cell size: parcels can
pass right through a collision mesh cell without having the chance to collide if the collision
mesh to too refined. To alleviate this issue , you can activate the following time-step
constraint:
In Equation 12.142 , dxcoll is the collision mesh cell size , Vdrop,max is the ma ximum drop
constant.
CONVERGE models the effects of the turbulent flow on spray drops by adding a
fluctuating velocity ui' to the gas velocity ui . The following sections describe how ui' is
You can turn on turbulent dispersion input parameters via turbdis_flag spray.in
the in .
source terms to account for the depletion of turbulent kinetic energy due to work done by
turbulent eddies to disperse the liquid spray droplets. The source terms Ss include the
N p Fdrag
i ui
p
,
Ss p (12.143)
where the summation is over all parcels in the cell , Np is the number of drops in a parcel , V
is the cell volume and
Fdrag i
Fdrag
i
,
ui ,
ui ui vi
, (12.144)
where Fdrag,i is the drag force on a drop. Note that cs is a model constant that appears in
front of Ss
in the transport equation. You can specify a value for cs through the parameter
c_s in turbulence.in input file. Setting cs to zero in the input files actually deactivates the
In the O Rourke turbulent dispersion model , it is assumed that each component of ui '
Gu 1
u 2
i exp ,
2
(12.145)
2
2
with a variance
2 given by 2/3 k where k is the turbulent kinetic energy (Amsden et al. ,
1989). It can be shown that the cumulative distribution function for Equation 12.145 is
given by
G ui erf ui
erf 0 2, (12.146)
2
2
where
ui
k
.
(12.147)
4 / 3
Equation 12.146 is inverted numerically , using Newton s method , to obtain values of for
specific values of G . These values are calculated once at the start of the simulation and
random number YY between zero and one is selected which represents the chosen value of
is selected u
, i ' is calculated using Equation 12.147. The sign of ui ' is determined based on
the parameter XX = 1-2 YY . Note that this process is conducted for each of the three
components of ui '.
CONVERGE chooses new values of ui ' according to the above procedure once every
turbulence correlation time td , which is the lesser of the eddy breakup time and the time
td
k c k 3/2
1
, ps ,
u u v
min (12.148)
i i
where cps is an empirical constant and is the dissipation of turbulent kinetic energy. You
can set the value for cps via the c_ps parameter in turbulence.in input file. The drop needs to
c k
3/4 3/2
le
. (12.149)
CONVERGE also includes a TKE preserving dispersion model. This model chooses each
component of ui such that ui 2 k . Three random numbers YYi are first chosen and
normalized such that they sum up to unity. Three additional random numbers XX
i are
ne xt chosen to determine the sign of each component. The components of the fluctuating
ui sign (1 2 XX i ) YYi k
2 (12.150)
where k is the cell turbulent kinetic energy. CONVERGE chooses new values of ui after a
When LES (Large Eddy Simulation) turbulence is used , the sub-grid velocity is derived
from the first term of a Taylor series e xpansion given by (see Chapter 15 - Turbulence
Modeling)
usub i Cles dx
2
ui 2
,
x x
, (12.151)
24
j j
where dx is a characteristic cell size given by the cube-root of the cell volume ,
i is the
resolved velocity field , and Cles is a scaling constant. You can specify a value for Cles via the
c_tke_les parameter in the turbulence.in input file. A random number YY between zero and
one is chosen for each of the three components , and the applied sub-grid velocity is given
by
ui 2 XX usub i ,
, (12.152)
where XX = 1 - 2 YY gives the sign of the velocity component. The factor of two is included
in Equation 12.152 so that the applied sub-grid velocity of a given component is can be
As in the RANS turbulent dispersion model , new values of ui ' are chosen once every
td k
sub
c k
, ps sub
3/2
1
,
u u v
min (12.153)
sub sub i i i
words ,
and
k
sub sub
3/2
dx
. (12.155)
Note that the form of Equations 12.153 - 12.155 is used so that the time-scales can be
written similarly to those in a RANS case. It can be shown that with the definitions given
by Equations 12.154 and 12.155 , the time-scales are proportional to the grid size over a
ksub dx ,
sub usub i ,
(12.156)
and
c ps k dx
3/2
1
ui u vi ui u vi
. (12.157)
Thus , xpressions on
the e the right-hand-sides of Equations 12.156 and 12.157 could also be
used to define the two time-scales. Note that cps is specified by the parameter c_ps in the
turbulence.in file.
CONVERGE offers three options for modeling drop/wall interaction , as described in the
following sections:
Rebound/Slide Model
You can use the wall impingement model of Naber and Reitz (1988) , which was later
improved by Gonzalez et al. , (1991) , to model the interaction of the spray droplets with
solid surfaces. This model includes two impingement regimes , rebound and slide , based on
Wei Vn d
2
1 0
, (12.158)
of the incoming drop at impact , where Vn is the velocity component normal to the surface.
If Wei is less than 80 (rebound regime) , the drop rebounds elastically with a normal
Vn o Vn i Weo ,
,
Wei , (12.159)
where the Weber number of the outgoing drop Weo is obtained from the e xpression
If Wei is greater than 80 , the jet model of Naber and Reitz (1988) is used to update the drop
velocity. In this model , the sheet thickness produced from an impinging liquid jet is
assumed to be given by
H H exp 1 / , (12.161)
where H is the sheet height at = and is a parameter that can be determined from
mass and momentum conservation. It was shown by Naber and Reitz that can be
exp 1 1
sin , (12.162)
exp 1 1 /
2
where is the jet (or in this case drop) inclination angle. If it is assumed that
[(exp +1)/(exp -1)] 1 , which is true for values of greater than approx imately 3 ,
sin
. (12.163)
1 sin
Naber and Reitz also showed that the angle at which an impinging drop leaves the
surface is given by
ln 1 YY 1 exp , (12.164)
CONVERGE offers a particle-based wall film for modeling the interaction of liquid drops
with solid surfaces. The model uses a hybrid approach to film modeling: some calculations
quantities. For e xample, the thickness of the film on wall face , which is used throughout
Vp
h
p
,
A
(12.165)
,i
summation is over all particles located on face . Details of the various aspects of the film
Film Initialization
When init_film_flag = 1 in spray.in, CONVERGE reads in an input file called film_init.in .
This file defines how the wall film is to be initialized. A wall film can be initialized on an
rectangular shapes are taken on wall boundaries as shown in Figure 12.16 (a) and Figure
12.16 (b). A description of the film_init.in input file can be found in Chapter 22.
(a) (b)
Figure 12.16: (a) Circular wall-film initialization, (b) Rectangular wall-film initialization.
transport. Using this equation , solution of the updated film particle velocity upn i1
, is given
as (O Rourke and Amsden , 2000)
l h n
up ,i w , t ,i 2 l uwall ,i S ,i n ,i
upn i
1
dt h
,
,
l h l (12.166)
2
Mimp
dt h
,
where
l h
up ,i uwall ,i n ,i S ,i n ,i M imp , uwall ,i n ,i ,
n
dt (12.167)
where is the wall face on which the particle is located , is the liquid density,
l h
is the
film thickness , u n
p ,i
is the film particle s velocity at the previous time-step , w, is the shear
is the liquid viscosity (calculated at the local mass-averaged film temperature) , uwall,i is the
boundary velocity , n ,i
is the unit vector normal to the boundary , and M imp , is the mass
lVp
Mimp
p
,
A i dt
(12.168)
,
,
where the summation is only over particles that stick to the face in the current time-step.
p
f
S P
imp , ,i h l h gi ,
,i
x
s ,i
(12.169)
where / s x is used to denote the surface gradient operator , Pimp , , i is the momentum
Pimp
i
p
, (12.170)
, ,
A i dt
,
gi is acceleration due to gravity , and the film pressure gradient is appro ximated by
p
f
p f m tm i xm x
Ai
1
i m ,i ,
x
s ,i m
,
, 1, (12.171)
m, and tm,i is the unit tangent to the surface in the direction normal to edge m which is
i k xm ,i xm ,i Am ,
tm i j 1
,
j
i k xm ,i xm ,i Am ,
, (12.172)
j 1 j
where Am,
j
is the average of the area projection vectors of the two faces on either side of
edge m
(O Rourke and Amsden , 2000) , and:
1
if i k ,
j or
132 213 321
Note that the summation in Equation 12.171 is only over particles that impinge on the face
p f a M imp uwall i n
, , , ,i P
imp , ,i n
,i . (12.174)
Equation 12.166 is used to update velocities of particles that impinged on a solid surface in
a previous time-step. If a particle has just impinged on a wall in the current time-step ,
CONVERGE calculates its velocity with the jet model described in the Rebound/Slide
Drop/Film Rebounding
Drops with low Weber numbers may rebound off of a solid surface. In the present model ,
if
then the drop is assumed to rebound. Werebound is specified in spray.in as the parameter
Wei lVn d ,
2
(12.176)
film_splash_model = 0 in spray.in . Within the O'Rourke splash model , there are two options
splash_crit_flag = 0) , or
based on the critical value of the Weber number , We (set splash_crit_flag = 1).
When you set splash_crit_flag = 0 , the O'Rourke film splash technique follows the approach
of O Rourke and Amsden (2000). In this approach , the criterion for splash is given by
E 2
Wei Ecrit , 2
h bl
(12.177)
,
d d
min 1
d , (12.178)
Re
d
where
lVn d
Re
d . (12.179)
l
In Equation 12.179 ,
l is the liquid density ,
l is the liquid viscosity , and Vn is the drop
velocity component normal to the surface. O Rourke and Amsden (2000) suggest a value
of 3330 for Ecrit ,
2
When you set splash_crit_flag = 1 , CONVERGE will employ the second (and simpler)
approach for determining if a drop splashes by comparing the impinging drop Weber
number , given by Equation 12.176 , to a critical splash Weber number. In other words , if
If it is determined that splashing is possible , a fraction of the impinging drop s mass , given
by fsplash rmspalsh1
( in spray.in ) is used to create a new parcel that splashes. The remaining
The splashed parcel properties are initialized following the approach of O Rourke and
Amsden (2000). The drop velocity is calculated with the e xpression
up splash i wni
, ,
0.12 Vn v cos et ,i sin ep ,i 0.8Vt et ,i , (12.181)
and in the plane of both ni and the incident drop velocity , and ep,i = i kniet, .
j j
In addition , Vn
is the normal component of the incident velocity and Vt is the component of the incident
velocity that is tangent to the surface. Furthermore , w' is the normal component of the
secondary droplet velocity which is chosen from the distribution (O Rourke and Amsden ,
2000)
P w
4 (w )
2
exp
w
2
,
w w
( ) (12.182)
3
ma x ma x
where
w ma x
V
0.2 n . (12.183)
The cumulative probability function for the above distribution can be obtained by
P w erf -
2
exp , 2
0 3 (12.184)
where
w
w
. (12.185)
ma x
Equation 12.184 is inverted numerically , using Newton s method , to obtain values of for
specific values of P . These values are calculated once at the start of the simulation and
number YY between zero and one is selected which represents the chosen value of P . The
The fluctuating component of the secondary droplet tangential velocity , v', is chosen from
G v
1
exp
v 2
( ) , (12.186)
2 2
2
where
2
= 0.01 Vn
2
is the variance. It can be shown that the cumulative probability
G ui erf v
erf 0 2, (12.187)
2
2
where
v
Vn
.
(12.188)
0.02
Equation 12.187 is inverted numerically , using Newton s method , to obtain values of for
specific values of G . These values are calculated once at the start of the simulation and
stored in a table. When a value of is needed for a velocity calculation , a random number
YY between zero and one is selected which represents the chosen value of G . The
XX = 1 - 2 YY .
The final parameter needed in the splashed drop velocity e xpression, Equation 12.181 , is
the random angle . This is calculated in a similar way as in the jet model described in the
Splashed drop radii are obtained from the following distribution (O Rourke and Amsden ,
2000):
r r
2
F r
2
4
exp .
r3
ma x r
ma x
(12.189)
Following the approach of Amsden et al. (1989) , in order to obtain the best resolution of
the size distribution where the most mass is located , the distribution should be
density function of this mass distribution , the normalizing constant Nc must be found. This
r r
2
Nc r F r dr dr r
5
4 4
exp ,
3 3
0 0
r3
ma x r
ma x
ma x (12.190)
M r r F r Nc r r
5
2
exp .
3
r r
/ (12.191)
6
ma x ma x
M r 1
1
1 exp ,
2 4 2
0 3 (12.192)
2
where
r
r
. (12.193)
ma x
r E
x crit ,
2
,
6.4
r
E Wei
ma 0.06 (12.194)
2 0 ,
where r 0
is the incident drop radius.
film_splash_model = 1 in spray.in . The Kuhnke splash model considers the temperature and
the wetness (wall film thickness) of the wall to determine the xtent
e of drop/film
splashing.
The Kuhnke film splash model operates by comparing the K number of the liquid parcel --
as defined in Equations 12.195 and 12.196 below (to the splash critical K number) as
d)
3 5
K
4 4
( U
1 1
(12.195)
2 4
Or ,
K We La
5 1
8 8
, (12.196)
where We is the Weber number and La is the Laplace number , defined as:
La L , (12.197)
2
where
is the surface tension , is the density , L is the diameter of the parcel , and
is
the liquid viscosity. The K number accounts for the effects of both the kinematic condition
When the K number of the liquid parcel is higher than the splash critical K number for the
specific conditions of wall (based on T*, which is the ratio of Twall to Tboil ) the drop will
splash , thermally break up , or some combination of the two. Figure 12.17 below offers a
conceptual scheme of the conditions under which the parcel will undergo each type of
drop/wall interaction.
Figure 12.17: A conceptual representation of the four parcel/wall interaction outcomes for a dry wall
available in the Kuhnke film splashing model.
When the K value of the parcel and wall temperature are both low , wall film will be
created.
When the K value is low but the wall temperature is high , the parcel will rebound.
When the K value is high but the wall temperature is low , the parcel will splash.
When the K value is high and the wall temperature is high , the parcel will thermally
break up.
Kcrit T (
*
) K
(1 ) cold hot K (12.198)
where
Kcold T *
54 76
)
e 13( T* 1.0 )
T *
1.0
T
( (12.199)
*
130 1.0 1.1
and
K hot T
(
*
) unif ,
(20 40) T *
1.1 6 (12.200)
is a uniform distribution between 20 and 40. l is a transition function that connects Kcold
and Khot, and is defined by
(T * ) arctan
T *
1.13 1
(12.201)
0.06 2
Here , w = 100 is a tuned parameter that yields smooth transition within region
T
*
(1.1 ,1.16).
Figure 12.18 below shows critical K values versus the ratio of the wall temperature to the
liquid boiling temperature for a dry wall condition , defined by Equation 12.198.
Figure 12.18: Critical K number values used in the Kuhnke film splash model for a dry wall at
different (T wall / T boil) temperature ratios.
As shown in Figure 12.18 above , spray droplets splash/break up easily on dry walls when
wall temperatures are significantly higher than the boiling temperature of the liquid.
Figure 12.19: Data used in the Kuhnke film splashing model: K number values for a wet wall at
different dimensionless wall film thicknesses.
Figure 12.19 above shows critical K values versus the relative thickness of e xisting wall
film. For wet walls , the critical K value does not depend on the wall temperature , and is
given by
Kcrit , La
( ) ( , , 125 , 58.7 , 100) ( 408.4 283.6)
0 0
Weibull ,
(
0
, 3) (12.202)
y yl
( x , x , yl , yr , s) r
s x x yr yl
0
yr yl
arctan (12.203)
0
and d is defined by d =f (La,600 ,0.85 ,1.08 ,0.003); Weibull() is the Weibull (Rosin-Rammler)
x q
Weibull x x q
, , )
x q q e
1
x
x x
( (12.204)
Figure 12.19 above shows that in the Kuhnke model , spray droplets will deposit into the
existing film when the wall film is thin and they will splash into secondary droplets when
the wall film thickness , d, is thick (relative to the droplet diameter , d).
Secondary Droplet Properties
The Kuhnke model will automatically determine the properties of secondary droplets
12.205 below. Note that this model also allows e xisting wall film to be splashed into
secondary droplets.
T * 0.8
B B , B 0.6 p
min 1, 0.8
(1 ) 0.2 dry
1.1
m
mwf T * p rand ,
(0 1) (12.205)
min 1+ ,
0.8
(1 )
B B B 0.9 p
,
md
0.2 wet
1.1 0.8
d e
We
3.6
3.3
0.65
dry
10
10
d
2
(12.206)
e
We
0 3.6
0.36
2.2 wet
Then CONVERGE can determine the number of secondary droplets based on mass
conservation.
droplets , Wea 1
. Equation 12.207 below is an estimate of Wea , 1
and is derived with energy
conservation in consideration.
We
a 1 0.85 sin 12
12 2
dry
10 0
We a
32
max 51 7.1 ,
1
e We
3.4
(12.207)
Wea
1
d
Ua1
10
The directions of the splashed velocity are described using an ejection angle , b, and a
deviation angle , y, which are calculated using Equations 12.208 and 12.210 , respectively.
In Equation 12.208 , it is assumed that the ejection angle follows a logistic distribution with
4 log , rand(0 , 1) (12.208)
1
where
0.225
e ( 0.017
2
0.937 )
cold wet (12.209)
0.96
e We0.0045
hot
Deviation angle:
ln 1 p 1 e
(12.210)
where
1 8.872 cos(1.152 )
80
1 cos
p rand ,
(0 1) (12.211)
cos 80
2
spray/wall interaction , multiple drop effects need to be taken into account. It is observed
in experiments that for dense spray the critical K value is much lower than for single drop
interaction. The ejection angles of the secondary droplets in dense spray are generally
larger than for single drop interaction. The dense spray splashed droplet diameter is more
uniform. Good estimates of the critical K and secondary droplet diameter , g, and ejection
K MD 25 (12.212)
0.5 dry
MD
1.0 wet , (12.213)
and
MD 1.5 SD (12.214)
Kuhnke introduces a blending function to allow smooth transition between single and
SD MD ( MD SD ) (12.215)
SD MD ( MD SD )
D *
MD max l* , 0 , 1
D
l 1
(12.216)
where Dl *
(02.8 We 1)
0.39
MD e cmd (12.217)
In Equations 12.216 and 12.217 , represents the average distance between spray drops
relative to the drop diameter. =1 means that the drops are ne xt to each other in the
spray ; = 100 means that the distance between drops is 100 x the drop diameter. cannot
A dt
1
ref 2
Nd
(12.218)
i i i
2
e xpi
where Aref is a reference area upon which the wall film spreads , dt ,
is the time-step Ni is
the number of drop that impact area Aref within dt, di is the diameter of the impinging
drop , and tx
e pi
is the lamella spreading time , which is estimated as
d 3
xp
0.4 . (12.219)
16
e
As with the Kuhnke model , the Bai-Gosman model considers the wall temperature , the
Weber numbers of the impinging drops , and the wall condition ( i.e., wet or dry) to
determine the e xtent of drop/film splashing. The Bai-Gosman model in CONVERGE has
been customized for simulations that involve urea selective catalytic reduction ( i.e.,
urea_flag is non-zero). This model should be used with caution for non-urea applications.
The Bai-Gosman model operates by comparing the Weber number of an impinging droplet
to a set of splash critical Weber numbers. These critical limits are slightly different for dry
wall and wet wall conditions. In addition , the specific non-dimensional temperature ( T*,
where T* Twall Tboil
= / ) and wall condition ( i.e., wet or dry) will determine the eventual
outcome of the impingement event (whether the drop deposits , splashes , rebounds , or goes
When the Weber number and the wall temperature are both low , the parcel will deposit
When the Weber number is low and the wall temperature is high , the parcel will
rebound.
When the Weber number is high and the wall temperature is low , the parcel will
When the Weber number and the wall temperature are both high , the parcel will splash ,
and , under certain conditions , slide just above the wall.
The outcomes for the wet walls are similar to those for dry walls , e xcept that the critical
Weber numbers for the regime boundaries are different , and an additional rebound regime
is observed when both the Weber number and wall temperature are low. (Figures 1 and 8
in Smith et al. (2015) give an overview of the various outcomes for the different wall
conditions.)
In the rebound regime , the rebound angle of the parcel equals the incident angle , and it
undergoes no other changes in its physical properties. In the splash regime , each incident
parcel breaks up into two outgoing parcels , and the criteria used for determining the mass
ratios , radii , and velocities of the secondary droplets is below. CONVERGE closely follow
mass ( m s
/2). The secondary-to-incident mass ratios for dry and wet walls are given by
ms 0.6
mI
0.2 for dry walls
ms 0.9 ,
(12.220)
mI
0.2 for wet walls
where is a random number distributed uniformly in the interval (0 1). Note that , , for wet
walls , the ratio on the left side of Equation 12.220 can be greater than 1 , since a part of the
N d N d 3 3
ms d ,3
1 1 2 2
mI I (12.221)
where N1 and N2 are the number of droplets of diameters d1 and d2, respectively. The total
Na We
Wecrit
1 (12.222)
0
where a0 is appro ximately 5 , We is the Weber number , and Wecrit is the critical Weber
Nd 3
ms dI 3
Nd 3
ms dI 3
,
mI mI
and (12.223)
1 1 2 2
2 2
The velocity magnitudes (U and U ) of the secondary droplets must satisfy the overall
1 2
energy conservation equation
ms mI V m
U U N d N d I ,n s We dI ,
2 2 2 2 2 2
4
1 2 1 1 2 2
2 12
mI (12.224)
where s is the surface tension and VI, n is the incident normal velocity.
The kinetic energy of the incident parcel should be large enough to overcome the critical
splashing energy (which is the final term in Equation 12.224) , and the e xcess energy is
then used for the creation and motion of the secondary droplets. An additional equation
for the two secondary velocity magnitudes is obtained from the size-velocity correlation
U1
ln d dI
1
d dI
. (12.225)
U2 ln
2
The ejection angles of the secondary droplets are assumed to fall within a cone for both
normal and oblique impingement. The angle for one secondary parcel is randomly selected
in the range from 5 to 50 degrees, and the second angle can then be determined using the
For the special case in which the drop slides just above the wall (described in #4 in the list
of outcomes above) , CONVERGE determines the parcel velocities from the slide regime in
The Wruck model accounts for the thermal energy transfer from heated walls to the spray
droplets that rebound or splash off of the walls (Wruck and Renz , 2000). The resultant
heating of the droplets (and cooling of the walls) is an important phenomenon in many
industrial applications ( e.g., urea aftertreatment systems). In CONVERGE , the model has
been augmented to allow for the Liedenfrost effect , which effectively shields droplets from
direct contact with the wall (for at least a part of the total duration of contact) , thus
reducing the energy e xchanged (Birkhold , 2007). Note that the Wruck model is active only
The model considers both the wall and the impinging parcel to be semi-infinite bodies with
the e xchange of energy taking place across an effective area and over an effective time of
contact. The droplet deforms during its interaction with the wall (thus affecting the
effective area of contact) , which is also taken into account. When a droplet (at temperature
Td) is in direct contact (over a duration of direct contact tdc ) with a wall (at temperature
Tw ,
) the model appro ximates the total heat transfer Q
w-d as
where bd and bw are the thermal effusivities of the droplet and the wall , respectively. Each
effusivity is a function of its thermal conductivity and heat capacity cp . Equation 12.227
below describes the equation for the effusivities , where i represents either d (droplet) or w
(wall):
bi c p i . (12.227)
The effective area of contact between the droplet and the wall ( Acont ) is evaluated as
tdc
Acont 1
D t dt ,
2
tdc
( ) (12.228)
4
0
where D(t) represents the droplet diameter as it deforms during the duration of direct
contact tdc . An assumption for this formulation is that D(t) is sinusoidal in nature , and its
value depends on the kinetics of the impact ( i.e., whether the droplet rebounds or splashes ,
which is determined by the selected film splash model).
D t Dmax t
.
t
( ) sin (12.229)
cont
D t Dmax t
.
t
( ) sin (12.230)
cont 2
The variable tcont is the total duration of contact between the droplet and the wall. In
Equations 12.229 and 12.230 above , Dmax is the diameter of the droplet at the point of
ma ximum deformation, which is obtained from the Akao correlation. This correlation is
Dmax We 0.38
,
D
0.61 (12.231)
where D is the diameter of the impinging droplet. The total duration of contact depends
also on the kinetics of the impact. For rebounding droplets , the total duration of contact is
D
tcont
3
. (12.232)
4
tcont D
0.25
5
,
un
(12.233)
2
2
where u represents the wall normal component of the impinging droplet's velocity.
Note that the action of the Leidenfrost effect can cause the total duration of contact ( tcont )
contact between the droplet and the wall. Figure 12.20 below offers a schematic of this
effect.
Figure 12.20: Timelapse schematic of a rebounding droplet that demonstrates the initiation of the
Liedenfrost effect.
Experimental observations show that droplets need to be in direct contact with the wall for
a certain minimum duration ( ts ) before the Leidenfrost vapor lifts the droplet and breaks
minimum duration:
ts 1.687 10 7
Tw 1.376 10
4
. (12.234)
tdc min t t
cont , s . (12.235)
To activate the Wruck model , first verify that either the Kuhnke or the Bai-Gosman film
splash model has been activated and then set splash_wruck_model_flag = 1 in spray.in
.
Film Separation
Film separation can occur if wall film particles flow over a sharp corner. The separation
criterion of O Rourke and Amsden (2000) is used to determine if film separation takes
l up ,i uwall ,i ti
2
sin
csep p
gas , (12.236)
1 cos
If Equation 12.236 is satisfied , the film parcels are converted to spray parcels with a
ti
film
Film Stripping
CONVERGE accounts for wall film stripping by setting film_strip_flag = 1 in spray.in . The
mechanism of wall film stripping is the same as the LISA breakup model of liquid sheet
parcels , as discussed in the LISA Breakup Model section earlier in this chapter. Film
stripping takes place due to the growth of waves on the surfaces caused by the
aerodynamic forces acting on the film. Once the waves reach a critical amplitude ,
fragments of the liquid are broken off which contract to form cylindrical ligaments that are
believed to move normal to the ligament a xis. As a result , capillary forces cause the
The ma ximum growth rate of the waves , s is obtained from the Equation 12.237.
r 2 l k 2
4 l
2
k 4
QU 2
k 2
k 3
/ l . (12.237)
C
film strip time , (12.238)
s
_
where Ctime is the film strip time constant and is the strip_time_cnst parameter , an input in
spray.in .
dL Csize 2
,
Ks (12.239)
where Csize is the film strip size constant and Ksis the wave number corresponding to the
ma ximum growth rate s . Csize (the parameter strip_size_cnst) is also an input in spray.in.
Adaptive Film Mesh
Parcel-based wall films are sensitive to grid alignment , and film error can concentrate on
grid boundaries. CONVERGE includes an adaptive film mesh model to minimize these
grid effects. By introducing randomized grid boundary motion , film error is prevented
from accumulating on a static grid face. This approach is analogous to the Adaptive
The film mesh is completely independent of the fluid-phase mesh and is used only for film
calculations. The algorithm for creating the film mesh is based on randomly selecting a
coordinate system and creating a film mesh at each time-step. To activate the adaptive film
mesh model , set film_mesh_flag = 1 in spray.in . The film mesh cell size is based on the
dx base ,
dx film film _
mesh scale
_ _
(12.240)
2
where dx_base is the base cell size specified in inputs.in . Once the mesh is created , the
parcels are placed in the appropriate film mesh cell and the film calculation proceeds as
usual. There is no runtime difference when using the adaptive film mesh model.
To use the drop vanish model , set spray_wall_flag= 2 in spray.in . With this model activated
the spray droplets vanish as they impinge on the wall boundary. The mass of drops
disappear from the simulation in such an instance. This is not the same as drop
vaporization , which is discussed later in this chapter in the Drop Vaporization Model
section.
12.8 Vaporization
You can find a detailed description of how CONVERGE determines drop or film
CONVERGE contains vaporization models to determine how the radius of a drop changes
over time. The Frossling correlation and the Chiang correlation are described below.
CONVERGE also contains different methods for computing thermal transfer to a drop.
The Uniform Temperature Model and the Discretized Temperature Model are described
below.
1. The droplet temperature is assumed to be uniform and temperature is solved using two
solved using a partial differential equation (the 1D spherical heat equation) for the
droplet temperature. This temperature solution is coupled with either the Frossling or
For all droplets whose radii are larger than the user-specified model_transition_radius,
CONVERGE will use the droplet thermal transfer using a PDE. For all droplets whose radii
are smaller than or equal to the model_transition_radius, CONVERGE will use an ODE.
If you specify a value larger than any possible droplet for model_transition_radius,
CONVERGE will use only ODEs for determining droplet temperature. Using the heat
equation can be computationally e xpensive, but is useful for generating accurate spray
temperature results , as the ODE tends to under-predict the temperature and evaporation
Values for some of the vaporization model input parameters are functions of the
evaporating species (fuel) used in the simulation. Table 12.3 provides recommended values
of d0_diffuse and n_diffuse for different species , since the corresponding model parameters
convert the liquid into gaseous vapor. To use the Frossling correlation to determine the
time rate of change of droplet size , set parcel_evap_model = 1. The Frossling correlation
dr spray g D
0
BdShd ,
dt 2 l r 0
(12.241)
where is the user-specified scaling factor for the mass transfer coefficient
Bd Y Y
*
1 1
,
Y * (12.242)
1
1
where Y*1
is the vapor mass fraction at the drop s surface , Y
1
is the vapor mass fraction ,
and ShD is the Sherwood number given by
Shd Sc ln(1 d) B
0.6 Re d ,
1/2 1/3
Bd
2.0 (12.243)
where
gas ui ui vi d
Re
d . (12.244)
air
,
the temperature T given by (Amsden et al. 1989)
Tgas Td
T
2
, (12.245)
3
where Tgas is the gas temperature and Td is the drop temperature. Furthermore , Sc =
air / gas D is the Schmidt number of air and D is determined from the correlation:
n
gas D 1.293D T / 273
1
,
0
0
(12.246)
MCn
Y *
H2 m
p ,
gas
1
MCn M mix 1
(12.247)
H2 m
v p
where Mmix is the molecular weight of the mi xture (not including vapor from the liquid
species) , p gas is the gas pressure , and pv is the vapor pressure at the current droplet
temperature.
droplet size , set parcel_evap_model = 2. This option will use alternative correlations for Nud
and Shd as follows:
d Pr
0.619
d , (12.248)
and
d Scd 0.492
. (12.249)
With this model , the rate of heat conduction is still given by the Ranz-Marshall correlation
(refer to Equation 12.252 below) , however the rate of change of droplet radius is given by
dr spray g D
0
BdShd Y Y , *
dt 2 l r 0
1 1 (12.250)
where is the user-specified scaling factor for the mass transfer coefficient
scale_mass_trans_coeff_spray
( ).
boiling regime. Equation 12.251 below gives the formula for calculating the time rate of
change of the droplet radius when the droplet temperature e xceeds the boiling point:
dr kair c T T
p , air d
(
0
)
1 0.23 Red 1
dt dc p r h
ln (12.251)
, 0 fg
where kair is the thermal conductivity and cp,air is the specific heat capacity. Once the
droplet temperature reaches the boiling temperature , this model considers the droplet
You can use this droplet boiling model in conjunction with either the Frossling or the
Chiang correlation for droplet radius change. CONVERGE models droplet radius change
with the correlation you select until the droplet temperature reaches the boiling point. At
the boiling point , CONVERGE uses Equation 12.251 to model droplet radius change. To
model droplet boiling in conjunction with the Frossling correlation , set parcel_evap_model =
11. To model droplet boiling in conjunction with the Chiang correlation , set
parcel_evap_model = 12.
temperature for all droplets whose radii are smaller than the user-specified
Ad c m dTd dmd
l d* H vap ,
dt dt
Qd (12.252)
which states that energy conducted to a drop will either heat up the drop or supply heat
evaluated at the drop temperature. In addition , the rate of heat conduction to the drop
surface per unit area is given by the Ranz-Marshall correlation (Faeth , 1977)
where is the user-specified scaling factor for the heat transfer coefficient
( scale_heat_trans_coeff_spray ).
d
Bd
2.0 Pr (12.254)
number. Furthermore , in the above e xpressions Ad and d0 are the average drop area and
diameter , respectively , and md * is an intermediate value of the drop mass. These quantities
are given by
r * r 2 2
Ad 0 0
d
2 r
0
*
2 r0
, (12.255)
0
2
md l * 4
r 0
3
where r*
0
is an intermediate value of the drop radius , calculated from Equation 12.242
Once the updated value of Td is obtained , Equation 12.242 or Equation 12.251 is used to
solve for the updated drop radius. This change in radius is used to determine the amount
for all droplets whose radii are larger than the user-specified model_transition_radius. This
Governing Equations
The heat conduction model (Sazhin et al. , 2011) for a spherically symmetric , evaporating
cp
T kr T
1 2
t r r r
2
(12.256)
k T h Tg T R , t L dR ,
r r R dt
( ) (12.257)
where = k (r cp)
/ is the thermal diffusivity of the droplet , r is the distance from the center ,
h is the convection coefficient between the droplet and the surrounding gas , Tg is the
temperature of the gas , R(t) is the radius of the droplet , cp is the droplet specific heat
capacity , L is the specific heat of evaporation ,r is the droplet density , and k is the droplet
thermal conductivity.
Because the pure conduction assumption is generally not accurate , the effects of
recirculation can be simulated by replacing k with keff (Sazhin , 2006). Equations 12.258 and
keff (12.258)
where Ped is the droplet Peclet number. This is known as the effective thermal conductivity
V c p tT V kT ( )
S kT n (12.260)
r r
4 ( rk T
2
r )
r r
2
1
.
Because the volume is changing , the time derivative cannot be passed out of the integral.
We assume that only the outermost boundary can change and apply both the fundamental
V c p tT c p V tT
r t
c
4 p Tr dr
( )
t
2
2
r1
Tr dr r T r , t dr
r t
c r
(12.261)
( )
4 p t t
2
2 2 2
dt
( )
2 2
1
c1
4 p t r r T r T r , t
3
dr
3 2
dt
2
( ) ( ) .
3
2 1 2 2
(
t
r r T k r T r T
3 3
) 2 2
r T r , t dr
2
2 1 2
c p r r r r r r dt
( ) .
2 1 2 2 (12.262)
3 2
1
Time discretization is fully implicit and uses the same t as the flow solver.
The droplet domain is discretized into a number of shells of equal volume specified by
the width of the outermost shell. This is resolved by merging all shells such that r 2 < R t2
( ).
When a parcel breaks up into two or more parcels , both parcels' temperatures are
uniformly set to those corresponding to the average internal energy of the original
parcel. Similarly , a drop formed from two coagulating parcels is assigned an energy-
averaged temperature.
You can specify the number of FV cells in the droplet , whether to use keff (set use_k_eff =
0 or 1) , and a threshold radius ( model_transition_radius ) below which the evaporation
energy terms: convection to the gas , vaporization of the film mass , conduction from the
wall , and boiling of the film. A schematic of the model is shown in Figure 12.22.
The thickness h
of the film on the wall face is calculated as
Vp
h
p
, (12.263)
A
where Vp is the volume of parcel p and the summation is over all parcels located on face ,
A
is the area of face .
The modeled film parcel temperature Tfilm is represented at the film half-height , as seen in
Figure 12.22. It is solved by the following energy balance on the film mass:
A film t n 1
t n
4)
step , and t is the time. Area and heat capacity of the film are denoted by Afilm and Cp,film,
respectively. Heat flu xes due to convection , vaporization , conduction , and boiling are
denoted by qConvection
, qVaporization
, qConduction
, and qBoiling , respectively. The film mass mfilm is
obtained by summing over the masses for each drop in the parcel. Cp,film is calculated by
summing the specific heat capacities for each component in the film multiplied by their
corresponding mass fractions. The functional forms of the heat flu x terms are e xplained in
The convective heat transfer coefficient h is based on the cell and film temperatures and
the thermal conductivity of the gas. The heat flu x due to convection is given by
qConvection
film h Tgas T film , (12.265)
where is the scaling factor for the heat transfer coefficient ( scale_heat_trans_coeff_film , )
Tgas is the temperature of the gas and Tfilm is the film temperature.
mA film hm Y
1 A ,
,
Y
ln (12.266)
1 A ,i
the mass fraction of component A in the gas above the film. The model assumes
equilibrium conditions at the gas-film interface , so the mass fraction at the interface YA,i is
given by
where Psat,A is the saturation vapor pressure of component A evaluated at the film
temperature Tfilm, P is the gas pressure , MWA is the molecular weight of component A, and
MWmix is the molecular weight of the mi xture (not including vapor from the liquid species)
at the liquid/gas interface. Equation 12.267 also assumes that vapor A is an ideal gas and
that the liquid mi xture is ideal. hm in Equation 12.266 is calculated with the Reynolds-
hm h
2 /3
Pr
,
C p Sc
(12.268)
where Cp is the specific heat capacity of the fuel mi xture, Pr is the Prandtl number and Sc
is the Schmidt number. The heat flu x due to vaporization of component A is given by
qA Vaporization h fg A Tfilm mA ,
, , (12.269)
where hfg,A is the heat of vaporization of component A at the film temperature Tfilm. This is
summed over all the liquid components to get the total heat flu x due to vaporization ,
qVaporization
qA Vaporization ,
.
(12.270)
components
Twall Tfilm T
qConduction
k
h k ,
y (12.271)
where k is the thermal conductivity of the liquid mi xture and wall T is the wall temperature.
Each time-step , CONVERGE compares the boiling points of every component in the liquid
mi xture and identifies the lowest boiling point , TBoil,min . If the film temperature Tfilm is found
to be greater than TBoil,min, then the component associated with that boiling point is
considered to be boiling in that time-step. Only the component with the lowest boiling
point is allowed to boil. If Tfilm is found to be less than TBoil,min, boiling does not occur and
qA Boiling A h fg A
,
,
,
h
(12.272)
, ,
A fg A A
0.006
,
Pr
where A is the viscosity , hfg,A is the heat of vaporization , A is the density , A is the surface
tension , Cp,A is the specific heat capacity , Tboil,A is the boiling point , PrA is the Prandtl
number for component A, and gas is the density of the gas. The parameters , A, hfg,A, A,
gas , A , and Cp,A are evaluated at the wall temperature , Twall qBoiling
. does not decrease in
g
1/4
A A gas
qBoil , max
0.149 h fg , A gas . (12.273)
gas2
within wall films. This model accounts for temperature gradients within the film during
specify a film height (in meters ) above which CONVERGE employs the discretized
temperature model. Below this film height , CONVERGE employs the previously described
uniform temperature model. Also , specify the number of finite volume cells in the wall film
for evap_layers_per_film .
Governing Equations
The governing equation for the temperature across the film is
cp
T k T , (12.27
t x x 4)
boundary conditions at the boundaries of the film. At x= H ( i.e., the ma ximum height of
the film in the direction normal to the wall) , the boundary condition is
k T h Tgas Tsurf L d H
,
(12.27
t dt 5)
where Tgas is the gas temperature , Tsurf is the surface temperature of the film , and L is the
latent heat of the film. At the wall ( x= 0) , the boundary condition is T Twall
= . If the boiling
model is active , a boiling flu x is added to the conduction flu x in a manner similar to that
procedure , the derivation for film vaporization integrates the governing equation over the
film volume and applies the divergence theorem to convert the volume integral to a surface
spherical coordinates.
Applying Reynold's transport theorem allows the time derivative to be removed from the
d t T dx T
H( )
d
H k T k T
dt x
(12.27
x
dt c x c x
.
H
p x p x
0 H 0
6)
Numerical Details
Currently , density is a constant and cp is computed using c p T .
Time discretization is fully implicit and uses the same t as the flow solver.
parcel temperature such that the energy of the splashed mass in the film and spray
remains constant.
CONVERGE can simulate multi-component vaporization. You can have multiple parcel
species evaporate into their corresponding gaseous state , or you can have multiple parcel
species evaporate into a different number of gas species. Alternately , you can have
multiple parcel species evaporate into a single gas species. In the latter two cases , you may
have a simulation that involves liquid species for which you do not have a combustion
1. Ifevap_source_flag = spray.in, 0 in all of the parcels will evaporate to the species listed as
evap_species spray.in Y
in . ou can list only one species as the evap_species. For e xample, a
parcel consists of two liquid components , C4H8 and C14H30. C14H30 is listed as
evap_species . In this e xample, both C4H8 and C14H30 will evaporate to C14H30.
composite species if composite species are used. If composite species are not used , the
liquid species will evaporate into the corresponding base gas species.
For e xample, a parcel consists of two liquid components , C4H8 and C14H30 , and these
named mixture . Another parcel species , C7H16 , is defined in species.in . In this e xample,
the composite named mixture will evaporate into a gas phase species named mixture
and C7H16 will evaporate to C7H16. All three of these parcel species must be present
The figures below present e xample composite.in and species.in files , and an e xcerpt from
#!csi_version=2.4
#================
1 num_composites
mixture composite_name
PARCEL_PHASE phase
2 num_base_species
C4H8 0.50000
C14H30 0.50000
Figure 12.1: Sample composite.in file.
#!csi_version=2.4
#================
PARCEL
C14H30
C4H8
C7H16
GAS
C7H16
mixture
Figure 12.2: Sample species.in file.
#!csi_version=2.4
#================
...
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
4.5e-12 vof_spray_mass_per_parcel
0.4 vof_spray_liq_vof_threshold
2 num_parcelspeciesinit
C7H16 0.7
mixture 0.3
...
Figure 12.3: Sample spray.in file excerpt.
For e xample, a parcel consists of two liquid components , C4H8 and C14H30. These two
portion of mixture will evaporate into C4H8 , the C14H30 portion of mixture will
evaporate into C14H30 , and C7H16 will evaporate into C7H16. All three of these
parcel species must be present in liquid.dat, and the three gas species must be present in
#!csi_version=2.4
#================
1 num_composites
mixture composite_name
PARCEL_PHASE phase
2 num_base_species
C4H8 0.50000
C14H30 0.50000
Figure 12.4: Sample composite.in file.
#!csi_version=2.4
#================
PARCEL
C4H8
C14H30
C7H16
GAS
C4H8
C14H30
C7H16
Figure 12.5: Sample species.in file.
#!csi_version=2.4
#================
...
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
4.5e-12 vof_spray_mass_per_parcel
0.4 vof_spray_liq_vof_threshold
2 num_parcelspeciesinit
C7H16 0.7
mixture 0.3
...
Figure 12.6: Sample spray.in file excerpt.
CONVERGE monitors each component of a multi-component fuel using the discrete multi-
component model and does not operate with the assumption of a continuous blend of
component. CONVERGE must assume , however , that all components are well mi xed.
CONVERGE uses Raoult's law to correlate between the vapor mass fraction of the
component over the surface and its mole fraction in the condensed phase. Properties ( e.g.,
viscosity) of the multi-component are mass-weighted average values. The only e xception to
For cases with the FGM combustion model , evap_source_flag must be 0. Species will
evaporate to the mi xture fraction and thus CONVERGE ignores the evap_species, but the
The Eulerian-Lagrangian Spray Atomization (ELSA) model is a spray injection model that
combines Eulerian multi-phase modeling and Lagrangian particle tracking methods. The
Eulerian multi-phase technique is used to model the liquid fuel within the fuel injector.
This approach accounts for the effects of nozzle geometry on the injector flow field.
CONVERGE tracks the density of the injected fluid as it enters the combustion chamber.
When the liquid fuel is sufficiently dilute , it is converted into Lagrangian parcels , which
are then subject to the spray modeling techniques described within this chapter. Figure
The Eulerian liquid fuel is transported according to the methods detailed in Chapter 17 -
Volume of Fluid (VOF) modeling. You can use any of the advanced modeling techniques
available for VOF calculations , such as wall adhesion and cavitation modeling.
For ELSA , in the Eulerian calculation , CONVERGE solves an additional transport equation
for liquid surface area density. CONVERGE uses this surface area density to determine the
size of the droplets formed when the fuel is converted to Lagrangian parcels. Transition is
controlled by two criteria. The first criterion is the gas volume fraction in a cell , controlled
criterion is the fluid surface area in a cell , controlled using the elsa_transition_area_ratio
parameter in elsa.in . If the liquid surface area in a cell is greater than the cell minimum
If both transition criteria in a cell are satisfied , the liquid mass in that cell is converted to
parcels. CONVERGE treats these parcel droplets identically to those generated directly
from an injector nozzle , and you can use all of the advanced physical models described in
this chapter.
The model formulation is taken from Pandal Blanco (2016). The liquid surface area density
u
1
j
D C S evap S init ,
t x x x
0
(12.277)
j j j
eq
3Y
eq ,
l req (12.278)
S evap 2
Sevap ,
3Y (12.279)
C ,
k
1
(12.280)
Y
)
req
3/5 2 /15
(
, (12.281)
l
2
2 /5 11/15
T
D ,
Sc
(12.282)
Y
D S
where is the diffusion coefficient , is the liquid volume fraction , evap
is the
n D 2
, (12.283)
4
ml n D 3
, (12.284)
l 6
where n is the number of droplets and D is the droplet diameter. The model compares the
liquid surface area density to a nominal minimum fluid surface area density
min, defined
as
min
(1 ) V 1
3
, (12.285)
S
value init
is calculated from the minimum fluid surface area in the cell ,
1 0
pos
if
( ) . (12.287)
0 if 0
To activate ELSA , set spray_flag = 1 and vof_flag = 1 in inputs.in and include an elsa.in file
If the spray model is active , the ma ximum time-step based on drop motion is given by
dt spray x
* mult dt spray ,
parcel velocity
_ min _ _ (12.288)
_
where mult_dt_spray is a user-specified multiplier given in the inputs.in file , x is the local
to limit the time-step based on drop evaporation. Recent improvements to the stability of
the code have made the use of the mult_dt_evap multiplier unnecessary. Future versions of
the code will have this parameter eliminated from the code.
If the collision mesh option is active , you may want to limit the time-step to prevent drops
from travelling through more than one collision mesh cell in a time-step. The ma ximum
allowable time-step for the collision mesh is given by
where min_coll_size is the smallest collision mesh cell , max_parcel_velocity is the ma ximum
drop velocity in the domain , and mult_dt_coll_mesh is a multiplier specified in the inputs.in
file.
The liquid and vapor penetration lengths (LPL and VPL) are two of the properties that
characterize a spray. CONVERGE calculates both quantities for each nozzle at each time-
step.
To measure the LPL , CONVERGE first calculates the total mass of the liquid parcels from
the nozzle and then multiplies this mass by the liquid penetration fraction to yield the
penetrated spray mass. Starting from the center of the nozzle hole , CONVERGE sums the
mass of the liquid parcels until it reaches the penetrated spray mass. This distance is the
LPL. CONVERGE reports the LPL for penetration fractions of 0.90 , 0.95 , 0.97 , and 0.99 in
Figure 12.24 shows a schematic of the LPL with penet_frac set to 0.98.
To measure the VPL , CONVERGE requires two parameters in spray.in : the vapor
penetration fraction , vapor_penet_frac, and the penetration bin size , penet_bin_size . For
each cell inside the spray cone , if the mass fraction of fuel vapor in the cell e xceeds the
vapor_penet_frac and if the cell size does not exceed the penet_bin_size, CONVERGE
calculates the distance from the center of the nozzle hole to the center of the cell. The
recommend a penet_bin_size of at least twice the size of the cells in the spray cone.
modeling.
Set urea_flag = 2 and include the urea.in file in the Case Directory to activate molten solid
urea decomposition.
included as a species in the reaction mechanism file. In addition , the properties for NH2_2-
CO and H2O must be included in the thermodynamic data file and liquid.dat, respectively.
(Urea has the species name NH2_2-CO , representing the chemical symbol (NH ) CO.)
2 2
A chemical mechanism can be used with the SAGE detailed chemistry solver to model the
If urea_flag = 1 , the urea injection model will apply to all injectors and nozzles in the
simulation.
CONVERGE includes the molten solid approach to model the decomposition of a urea-
water solution (UWS). The Frossling correlation models the evaporation of the water in the
UWS , while an Arrhenius correlation models the decomposition of the urea in the UWS.
Set urea_flag = 2 in spray.in to activate this model. After activating the model , supply a
urea.in file containing the prefactor A and the activation energy Ea from the Arrhenius
correlation (Equation 12.291 and the change in enthalpy due to urea decomposition H
dcmp
from the droplet heat transfer equation (Equation 12.292).
In the molten solid approach , urea decomposes to gaseous ammonia and isocyanic acid.
( N H 2 )2 CO N H3 H NCO . (12.290)
computing the time rate of change of droplet radius as a function of a prefactor , the
activation energy , the droplet temperature , and the density of urea. The correlation is
dmd r A Ea RTd
/
,
dt d 2 e (12.291)
Where rd is the droplet radius , A is the prefactor , Ea is the activation energy , Td is the
equivalent to the urea density. Because the urea decomposition is significant when the
droplet temperature exceeds 425 K , most of the water has evaporated and the urea
remains.
The molten solid approach uses two methods to calculate droplet temperature change. For
large droplets (droplet diameter greater than several hundred micrometers) , CONVERGE
uses the spherically symmetric heat equation with the following boundary condition for
kd T h Tg T R , t d drd drd
r r R dt vap d dt dcmp
H vap H dcmp (12.292)
where kd is the thermal conductivity of the droplet , r is the distance from the droplet
centroid , h is the convection coefficient between the droplet and the surrounding gas , and
H
dcmp is the change in enthalpy due to urea decomposition. Refer to the Spherically
For small droplets (droplet diameter less than several hundred micrometers) , Equation
12.293 below gives the formulation for droplet temperature change due to heat transfer:
Where Cd is specific heat capacity of the droplet and kg is the thermal conductivity of the
gas. In this case , the model assumes that the droplet temperature instantaneously increases
to a uniform temperature. Note that CONVERGE uses the mass change due to urea
decomposition to determine the heat loss from thermal decomposition and mass change
CONVERGE includes a detailed decomposition of urea for deposition model , which was
implemented jointly by Convergent Science and IFP Energies nouvelles. This model directly
UWS droplets and a thermal decomposition model of urea valid for automotive e xhausts
using SCR systems (Ebrahimian et al. , 2012).
Because the vapor pressure of urea is low at atmospheric pressures , the UWS evaporation
model is based on the assumption that only water evaporates from the solution. To
account for the interactions between urea and water in solution , activity coefficients are
calculated via the non-random two-liquid (NRTL) equation. At high urea concentrations ,
the effects of these interactions may be significant.
The thermal decomposition model is based on semi-detailed kinetics. It accounts for the
decomposition of urea in both the solid and aqueous phases , and it can predict the
urea N NCO
H4
(R1)
N N g
H4 H3 ( ) H
(R2)
NCO NCO g
H
H ( ) (R3)
(N CO NCO biuret
H 2 )2
H
(R4)
cya NCO 3
3H
(R7)
(12.294)
ammelide NCO CN g N g 2
2H
H ( ) H( ) (R9)
urea aq N NCO
( ) H4
(R10)
NCO O aq N CO g
H
H2 ( ) H3 2
( ) (R11)
where cya is cyanuric acid. Reactions R1 through R9 describe the thermal decomposition
of urea in dry media , while reactions R10 through R12 describe the thermal hydrolysis in
Activation
To activate this model , set urea_flag = 3 in spray.in . This model also requires
The liquid reactions for the detailed decomposition model are activated by urea_flag = 3
and do not appear in the reaction mechanism file. The hydrolysis of HNCO is the only gas
phase mechanism that is in the reaction mechanism file. All of the species listed in the
species.in . You must include CN in species.in. Some of the urea properties in liquid.dat are
not used in a simulation with the detailed decomposition model. All of the water
Output
CONVERGE will write spray information to spray_urea_file.out spray_wall_flag =
. If 1 in
urea_deposit in the parcel section of post.in . CONVERGE will write the mass fractions of
urea_solid ,
solid urea ( ) urea in solution ( urea_aqueous , biuret,
) cyanuric acid ( cya , ammelide,
)
13 Chemistry Modeling
This chapter describes the com bustion models and zero- and one-dimensional chemistry
For general combustion modeling , CONVERGE contains the SAGE Detailed Chemical
CONVERGE contains the SAGE detailed chemical kinetics solver (Senecal et al. , 2003) ,
which models detailed chemical kinetics via a set of CHEMKIN-formatted input files. The
SAGE solver has two options to solve the systems of ordinary differential equations
(ODEs): the CVODE solver , which is a part of the SUNDIALS (SUite of Nonlinear and
necessary routines have been incorporated into CONVERGE , and thus you do not need to
chemical reaction. The combustion of different fuels can be modeled by changing the
mechanism ( e.g., there are mechanisms for isooctane , gasoline , n-heptane , natural gas ,
etc.). SAGE calculates the reaction rates for each elementary reaction while the CFD solver
solves the transport equations. Given an accurate mechanism , SAGE (in addition to AMR)
can be used for modeling many combustion regimes (ignition , premi xed, mi xing-
controlled). You can use SAGE to model either constant-volume or constant-pressure
combustion. Note that SAGE consistently uses CGS units for all calculations.
M M
m ,r m m ,r m for r= , ,
1 2 ....R (13.1)
m 1 m 1
where
m ,r and
m ,r are the stoichiometric coefficients for the reactants and products ,
respectively , for species m and reaction r; R is the total number of reactions ; and cm is the
chemical symbol for species m . The net production rate of species m is given by
R
m m ,r qr for m= , ,
1 2 .... M (13.2)
r 1
m ,r m ,r m ,r . (13.3)
M M
qr k fr Xm
m
,r
k
rr X m m ,r .
(13.4)
m 1 m 1
In Equation 13.4 , [Xm] is the molar concentration of species m, and kfr and krr are the
forward and reverse rate coefficients for reaction r . In SAGE , the forward rate coefficient is
k fr ArT br e Er RuT
, (13.5)
where Ar is the pre-e xponential factor , r b is the temperature e xponent, Er is the activation
energy , and Ru is the universal gas constant. In addition , the reverse rate coefficient can
k fr
krr
Kcr
. (13.6)
The equilibrium coefficient Kcr is determined from the thermodynamic properties and is
given by
Kcr K pr Patm
m mr
1
,
RT
(13.7)
where Patm is the atmospheric pressure , R is the gas constant , and T is the temperature.
K pr xp
S
r H r 0 0
.
R RT
e (13.8)
The refers to the change that occurs in passing completely from reactants to products in
S
r 0M
mr m
S 0
R m 1
R (13.9)
and
H r 0 M Hm
0
mr ,
RT m 1
RT (13.10)
It should also be noted that SAGE allows for third-body reactions with the capability of
specifying different third body efficiencies for different species. SAGE also allows for the
form.
With the above information , the governing equations for mass and energy conservation
can be solved for a given computational cell. The governing equation for mass is
d m
X
dt m . (13.11)
V dP h
dT dt m
m m
dt m cp m
(13.12)
X ,
m
Q
hm m
dT V
m
dt m cp m
(13.13)
X ,
m
Q
for constant-pressure combustion. In the previously equations , is the heat release rate ,
V is volume , T is temperature , P is pressure , m is determined by Equation 13.7 , and hm
and
cp m, are the molar specific enthalpy and molar constant-pressure specific heat of
species m, respectively. The above equations are solved at each computational time-step
and the species are updated appropriately. It is important to note that the temperature
obtained from Equation 13.13 is used to update only the rate coefficients as SAGE is
solving the system of rate equations and is not used to update the CONVERGE cell
temperature. The cell temperature is updated after the detailed chemistry calculation has
In order to e xpedite the detailed chemistry calculations, kinetics are not solved in cells that
fall below a minimum cell temperature ( Tcut ) and a minimum mole fraction (H Cmin ). The
minimum mole fraction is the total mole fraction of CO , H2 , and the hydrocarbon species.
The minimum mole fraction includes more than just the hydrocarbon species to allow
carbon mono xide chemistry to take place in computational cells that do not include
hydrocarbon species.
detailed chemistry solver. The first option is to not solve for the temperature given by
Equation 13.13 unless the change in cell temperature from combustion from the previous
time-step e xceeds a specified value. This options allows CONVERGE to avoid recalculating
the rate coefficients given in Equation 13.10 , which can result in significant time savings.
This option can be activated by setting the sage_solve_temp = 0 (a value of 1 indicates that
magnitude of the temperature change (above which temperature will be re-solved when
However , for certain mechanisms it may be possible to e xceed a value of 2 K . You can run
test cases for your particular application and kinetic mechanism if you want to e xceed a
value of 2 K .
A second option , related to the Jacobian matri x calculation , may also speed up the SAGE
which can potentially speed up the calculation. A case where using the analytically
calculated Jacobian matri x does not speed up the solution has not been found. Therefore , it
The tolerance in the detailed chemistry solver can also affect the runtime. Two tolerances
are included in the combust.in input file. The first , sage_abs_tol, is the iteration error for
each species. The second , sage_rel_tol, is the iteration error for each species divided by the
thermodynamic data files , respectively. The SAGE parameters are contained in the
combust.in file.
invokes stiffness-based load balancing for the SAGE solver. For a SAGE simulation that
CONVERGE simply distributes the combustion cells amongst all available processors.
used for the chemistry model. CONVERGE uses the CE Q (Pope , 2003) chemical
equilibrium solver licensed from Ithaca Combustion Enterprise. Unlike many equilibrium
solvers , the CE Q solver is guaranteed to converge for any combination of gas species.
ceq_flag = 1
Since CE Q uses data provided in the thermodynamic data and reaction mechanism files ,
these files must be accurately provided in order for the solver to calculate the correct
temperature below which the CE Q equilibrium solver will not be used. The input
which the CE Q equilibrium solver will not be used. The hydrocarbon mole fraction also
includes the mole fraction of CO . The mole fraction of CO is included to allow carbon
mono xide chemistry to take place in computational cells that do not include hydrocarbon
species.
ceq_flag = 2
In many cases , the mi xing zone between the fuel and o xidizer is not sufficiently resolved.
In this case , you can slow the progress to equilibrium by using a mi xing time-scale. Similar
to the Characteristic Time Combustion model , the combustion progress may be slowed
m m m*
t mix
(13.14)
where m is the species inde x, r m is the species density , r m* is the instantaneous equilibrium
mix C
k (13.15)
2
where C2
is a constant , k is the turbulent kinetic energy , and e is the turbulent dissipation.
Species Limitation
You can reduce the computational time of a CE Q simulation by limiting the number of
species that are solved as part of the CE Q equilibrium solver. Activate this feature by
ceq_species.in file that lists a species name followed by ceq_species . Repeat this row as
desired. The species name must match the names in the reaction mechanism and
CE Q solver , the data file must be specified according to the standard equations rather than
the general form of the equations. For more information , please see the NASA 9
low temperatures where the chain-breaking mechanism that drives the reaction chain in
hydrogen and hydrocarbon o xidation is unable to compete with the effect of three-body
chain-breaking reactions.
Under such low-temperature conditions , combustion reactions are considered frozen. The
frozen state is metastable because a sufficiently strong heat source , a spark for e xample,
can raise the temperature above the threshold and initiate combustion. Once the fuel and
oxidizer species have been homogeneously mi xed and a heat source is supplied , a flame
Typically , the gas behind the flame front rapidly approaches the burned gas state close to
chemical equilibrium. The mi xture in front of the flame typically remains in the unburned
state. Therefore , the combustion system contains two stable states: the unburned (inde x u
)
and the burned gas state (inde x b ) as shown below in Figure 13.1. In premi xed
combustion , both states concurrently e xist in the system. They are spatially separated by
the flame front , where the transition from one to the other takes place.
Figure 13.1: A schematic illustrating the mean flame front and the turbulent flame brush
superimposed on the computational mesh.
CONVERGE includes the level set G-Equation model (Peters , 2000) , which you can use to
simulate premi xed combustion. Because the derivation of this model includes several
passive source ( G_E N Q ) in source.in . As shown below in Figure 13.2 , the source begins at -
10 CAD (the spark timing) and has a duration of 3.0 CAD . Specify the location of the
source (for a spark) at the electrode. The ma ximum value ( max_value ) of the G_E N
Q
passive allowed is set to 0.35e-3 and is proportional to the grid size (typically , twice the
To use this method for sourcing the G-Equation directly , add embedding around the spark
region such that the cells around the source (spark) are appro ximately 0.125-0.250 mm .
Rather than sourcing G directly, you can alternatively add heat directly via a heat source
to simulate spark energy. In this case , when the temperature e xceeds g_eqn_g_temp_cutoff
in a cell, G will be initialized in the cell and the G-Equation model will propagate the flame
#!csi_version=2.4
#=======================
G_EQN
0 source_type
8.0e11 source_unit_volume
20.0e-3 source_value
SEQUENTIAL
-10.0 source_start_time
-7.0 source_end_time
0.35e-3 max_value
SPHERE source_shape
-1.99674e-003 -2.178939E-007 0.0068 x_center
2.5e-4 radius
2 moving_flag
1.0 2.0 3.0 velocity
0.002 max_displace
0 reset_source_flag
1.0 mult_dt_source
Figure 13.2: Sample source.in when sourcing G directly to simulate a spark.
Initialization of G
The G-Equation model tracks the location of the flame front via the transport of the
G_E NQ passive scalar. The parameter G indicates the distance to the flame front. A value
of zero for G indicates that the flame is at that location. A negative value indicates the
region is unburned and a positive value indicates that the region is burned (see Figure 13.3
below). Initialize G via g_eqn_init_value in combust.in. You can specify a single numerical
Transport of G
The G-Equation model is based on the assumption that the premi xed turbulent combustion
occurs in either the corrugated flamelet or the thin reaction zone regime (Peters , 2000).
With this assumption , the turbulent flame front can be tracked by solving for the mean
(and possibly the variance) of a non-reacting scalar , G (Ewald and Peters , 2005) , as
G ui G D G s G
'
t xi xi xi
t u t (13.16)
and
G '' 2
uG
i '' 2
tD G
'' 2
2 t D G G c G ,
s '' 2
t xi x x x x k (13.17)
i i i i
where st is the turbulent flamespeed, r u is the unburned density, is the turbulent kinetic k
energy, e is the turbulent dissipation , and c
s is a user-supplied constant. It should be noted
that there are two versions of the G-Equation model. In one version , the variance of is G
solved (see Equation 13.17 above). In the other version , the variance of G is not solved. The
parameter st_model combust.inin allows you to specify whether CONVERGE solves for the
variance of G .
The last term on the right-hand side of Equation 13.16 is attributed to the averaged
turbulent mass burn rate. The first term of Equation 13.16 accounts for the influence of
curvature on the flame front. For this term , the mean flame front curvature can be found
from
G G.
x
i i x x
i
(13.18)
c k
Dt
2
Sc
. (13.19)
When the variance of G is solved ( i.e., when st_model is non-zero) (Ewald and Peters ,
2005) ,
Dt cs k
'
2
c
Sc
G '' 2
. (13.20)
c k
Dt
2
'
Sc
. (13.21)
The level set approach is used to solve Equation 13.16. The level set method is a numerical
method designed to track and maintain a sharp interface. The level set method is well-
suited for the G-Equation model (in which the flame front must be maintained and
tracked). With this implementation , the mean flame front position is defined as the
location where G x ,t
( ) = 0.0 in the solution of Equation 13.16. The interface divides the flow
field into two regions: (1) an unburned region ( G< 0.0) and a burned region ( G> 0.0) (Tan
and Reitz , 2003). Outside the flame surface , the scalar is required to satisfy
G
1.
xi
(13.22)
a b Da a b Da a b Da
1/2
2
s s u
2 2
t l ,
2
4 3 4 3
2 b b 2
4 3
(13.23)
1 1
where u' is the root mean square of the turbulent fluctuating velocity ; sl is the laminar
flamespeed ; a,b,
4 1
and b 3
are modeling constants ; and Da is the Damkohler number. The
Da sl lt ,
u lF (13.24)
where
/ c p o
lF
s
(13.25)
l u
and
lt c k
3/2
3/4
. (13.26)
In Equation 13.25 , l is the molecular conductivity , the subscript o indicates a cell value ,
and the subscript u indicates the unburned region value. If the variance of G is solved
a b l Da a b l Da a b l Da
1/2
2
s s u
2 2
t l
* * *
,
2
4 3 4 3
2 b b 2
4 3
(13.27)
1 1
where
l ft
l *
k 3/2
c
2
(13.28)
csSc
and
l ft G
'' 2
G xi
. (13.29)
For LES turbulence models , the turbulent flamespeed is calculated (Pitsch , 2002) as
b Cs dynamic b Cs dynamic b Dt
2 2
2
s s
2
1 ,
t l
b Sc lF b Sc lF sl lF
3 3
3
(13.30)
2 2
1 1
dynamic Smagorinsky number , Sc is the turbulent Schmidt number , is the filter width l
, F
is the length scale , and Dt is the turbulent diffusion.
sl _
B B
ref m 2
( m ) , 2
(13.31)
sl _ ref
e xp 1.075 ,
2
(13.32)
where w, h, and x are user-supplied constants appropriate for the fuel and o xidizer used in
the simulation.
For both the Metghalchi and Gulder methods , once the reference laminar flamespeed is
calculated at the reference pressure and temperature , the laminar flamespeed is adjusted
for the actual pressure and temperature using the following equation:
s s
Tu
P
Y
l l ref 1 2.1 dil ,
_
T
u ref
_
Pref
(13.33)
the pressure , Pref is the reference pressure , Ydil is the mass fraction of dilution species.
a m 1 (13.34)
and
a m 1 , (13.35)
respectively. In CONVERGE , you specify the values of a m and in the previous equations
The third method for calculating the laminar flamespeed makes use of user-supplied data
tables. These data tables must have laminar flamespeed tabulated as a function of mi xture
fraction , temperature , pressure , and dilution fraction.
Combustion Module
In principle , the G-Equation model does not need a combustion solver to track the flame
front. Hence the G-Equation model typically runs faster than detailed chemistry. However ,
SAGE detailed chemistry (used in conjunction with a RANS turbulence model and AMR)
If g_eqn_flag = 1 , then the CE Q equilibrium solver is used at the flame front and inside of
the flame (inside the burned region) as shown below in Figure 13.4. This is a typical G-
Equation model run that runs faster than the subsequent options. The species for the CE Q
equilibrium solver can be defined either in the reaction mechanism file or in species.in .
If g_eqn_flag = 2 , then the CE Q equilibrium solver is used at the flame front and inside the
burned region. The SAGE detailed chemistry solver is used outside the flame (in the
unburned portion) as shown below in Figure 13.5. This option requires a reaction
If g_eqn_flag = 3 , then the CE Q equilibrium solver is used at the flame front and the SAGE
detailed chemistry solver is used inside and outside the flame as shown below in Figure
13.6. This option requires a reaction mechanism file. This option helps to predict knock.
If g_eqn_flag = 4 , then the SAGE detailed chemistry solver is used at the flame front and
inside and outside the flame as shown below in Figure 13.7. This option requires a reaction
mechanism file. Use this option to couple the G-Equation model with the PM and PSM
If g_eqn_flag = 5 , then the SAGE detailed chemistry solver is used at the flame front and
inside the flame as shown below in Figure 13.8. This option requires a reaction mechanism
file. Use this option to couple the G-Equation model with the PM and PSM detailed soot
models.
Acceleration Options
If you have activated the G-Equation model , you can invoke adaptive zoning to accelerate
a m( 1) .
a m( 1) .
o
sl_gulder_omega Gulder coefficient for calculating laminar Equation 13.32
flamespeed.
flamespeed.
flamespeed.
2 = Zimont (FGM),
Another premi xed combustion model available in CONVERGE is the E xtended Coherent
Flame Model (ECFM) , which is an e xtension of the Coherent Flame Model proposed by
Marble and Broadwell (1977). The ECFM (Colin et al. , 2003) can be used to accurately
model the combustion process , especially in spark-ignited engines. This section describes
the theory of the ECFM and optional spark model. The following section describes how to
To determine the flame surface density , the ECFM uses the fuel/air equivalence ratio in
fresh gases , the composition (including residual gases) , and the temperature near the
flame. The resulting flame surface density is used to describe large scale burned/unburned
stratification.
ui ( / )
( ) ( P1 P2 P3 ) D Pk , (13.36)
t xi xi Sc xi
P 2 u
i
production by turbulent stretch , 2
P sl 2 1 c
is
expansion and curvature , 3
3 c
the production by the mean flow dilation ,
D sl 2
, Pk
1 c is a destruction due to consumption is the source term (such as a spark
plug) , sl is the laminar flamespeed , c is the mass progress variable , and c is the volume
ecfm_destruct_beta, respectively , in combust.in . The mass progress variable for the CFD
simulation is given by
c
YF ,
YFT
1 (13.37)
where
YF is the unburned fuel mass fraction and
FT
Y is the fuel tracer , which tracks the
c c , (13.38)
b
turbulence affects the distribution of stretch along the flame front. The ITNFS model is a
library of the net flame stretch constructed by Meneveau and Poinsot (1991). A curve fit
Kt u' L
ITNFS factor * f , , (13.39)
/k sL lF
cfm_itnfs_factor combust.in
in . We recommend not changing this value from its default of
1.0.
coupled with the ECFM. The ISSIM uses the same electrical circuit description as the
AKTIM spark ignition model from Duclos and Colin (2001). The ISSIM was first developed
for LES and later adapted to RANS. In CONVERGE 2.4 , ISSIM can be used only with
RANS.
The main purpose of the ISSIM is to simulate the reaction rate due to the flame surface
density (FSD) starting at the moment of ignition. This model simultaneously represents
both the electrical circuit energy deposition and the flame surface and mass deposition.
Electric circuit model: Figure 13.9 below shows a simplified electrical diagram of the
The primary circuit includes the battery and the primary inductance. When the switch is
open , the energy is stored in the primary inductance. Appro ximately 60 % of the energy is
transferred to the spark plug (Verhoeven , 1997) , while the remaining energy is dissipated
by the secondary inductance. The ISSIM considers only the secondary part of the inductive
ignition system. The amount of energy transferred to the secondary circuit at the beginning
The life of the spark is generally divided into three phases. The breakdown and arc phases ,
which last typically less than a microsecond , are taken into account by considering an
instantaneous energy deposit in the gas , Ebd, which is given as (Duclos and Colin , 2001)
2
Vbd
Ebd 2
, (13.40)
Cbd d ie
where Vbd is the breakdown voltage (appro ximated by Paschen s law [Reinmann, 1998 )],
Cbd is a constant , (1.5e6) and dis is the inter-electrode distance specified via
issim_electrode_distance issim.inin .
The glow phase , which can last a few milliseconds , is modeled by solving the electrical
circuit ODEs. During this phase , the spark voltage Vie is equal to
where Vcf is the cathode fall voltage , Vaf is the anode fall voltage , and Vgc is the gas column
voltage. The gas column voltage (Kim and Anderson , 1995) is given by
suggest that the cathode fall voltage is 7.6 V during the arc phase and the anode fall
2 Es
is , (13.43)
Ls
where the energy Es and the inductance Ls are user-specified parameters. The electrical
Es (t )
Rs is2 (t ) Vieis (t ). (13.44)
t
When the spark voltage reaches the breakdown voltage ( i.e., when Vie > Vbd ,
) the gas
breaks down and becomes conductive. At breakdown , the spark length is initially equal to
lspk (t 0) d ie . (13.45)
Then the spark is stretched by convection and turbulent motion of the flow. The total
mean
dlspk
2uconv , (13.47)
dt
in which uconv is the mean convection , and the spark wrinkling is given by
d spk
Kt , (13.48)
dt
where Kt considers the turbulence wrinkling effect , which is similar to the ITNFS function
The total energy received by the gas , Eign, is the sum of the energy received at breakdown
( Ebd ) and the energy received during the glow phase and can be e xpressed as
t
Eign 0.6 Ebd
tspk
Vgc is dt. (13.49)
If Eign is larger than the critical energy Ecrit, ignition will occur. The critical energy
Ecrit lspk p L ,
2
4 (13.50)
1
where
L is the local flame thickness and is the gas heat capacity ratio.
Initial burned gas kernel phase: When ignition begins , a mass of burning gases ,
mbgign , is
e xperimental observation that the initial kernel size does not depend on the mi xture
composition but rather scales with the deposited electrical energy , the following
formulation is used:
Eign
mbg Cbg
ign
, (13.51)
C p Tign
where Tign Tu + is a characteristic temperature of the plasma in the early instants. As this
value of ,
20 000 K is chosen arbitrarily. The user-specified correction factor Cbg
( issim_c_ignition_mass in issim.in ) allows to correct this initially deposited mass. The
brackets denote an average in the cells within a sphere of radius of twice the spark gap.
xx
2
cign ( x, tign ) c0 exp ,
spk
(13.52)
0.5die
where x gives the cell coordinates , xspk gives the spark plug location , die is the spark gap
c dV mbg
ign
b ign
. (13.53)
In order to impose the volume fraction on the 3D CFD domain , CONVERGE calculates the
The ignition flame surface density (FSD) source is introduced at the start of ignition. As
suggested by e xperiments, the initial flame kernel is assumed to be a sphere and its radius
rb
ign
can be defined as
1/3
3
ign
rb cign dV . (13.55)
4
3c
ign Csurf ign
, (13.56)
rb
an initial wrinkling value , allowing to account for the non-perfect sphericity of the flame
kernel.
Benkenida , 2004)
y y
(1 rCO ) Cx H y x O2 xCO2 H 2O
4 2
x y y
rCO Cx H y O2 xCO H 2O (13.58)
2 4 2
x y
(1 ) Cx H y O2 xCO H2
2 2
where rc = 0.01 and the value of is determined by which is the average equivalence
1: 1
4( x y / 4)
2x
1 crit : (13.59)
2x y
crit : 0,
Post-Flame Stage
CONVERGE includes two methods for calculating the post-flame kinetics and post-fuel
these methods.
The first method follows equilibrium reactions to solve the chemistry as described in Colin
et al. , 2003.
The second method is to use the CE Q solver for the post-flame stage. The CE Q solver
N2 2N
O2 2O
H2 2H (13.60)
2OH O2 H 2
2 H 2O O2 2 H 2 ,
CO OH CO2 H . (13.61)
thermodynamic data file , combust.in, species.in, and initialize.in, all of which are described
below. Additional ECFM-related files may be required depending on other settings. These
additional files are described below as well. It is important to note that , when running a
simulation with the ECFM , the reaction mechanism file must be removed from the Case
Directory.
combust.in
The combust.in file is described in Chapter 22 - Input File Reference.
issim.in
If ecfm_spark_flag = 2 , issim.in is required. Table 13.2 below describes the parameters in
issim_correc_surfbgign Initial flame surface wrinkling. Set to 1 for laminar spherical ignition. Set
issim_nplug The number of the spark plug associated with the ignition. The spark
=1 or 2) of the ignition.
#!csi_version=2.4
#=======================
1 issim_correc_mbgign
1 issim_correc_surfbgign
2 issim_nplug
0.0 issim_spark_locate_x
0.0 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.e-3 issim_dintel
0.5e-3 issim_diaelec
1.e4 issim_sec_res
30. issim_sec_ind
0.05 issim_spark_locate_x
0.05 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.1e-3 issim_dintel
0.6e-3 issim_diaelec
1.e4 issim_sec_res
30. issim_sec_ind
2 issim_ncirc
0 issim_numplug
SEQUENTIAL
-25. issim_spark_tstart
38.9e-3 issim_initial_sec_energ
1 issim_numplug
SEQUENTIAL
-27. issim_spark_tstart
38.9e-3 issim_initial_sec_energ
Figure 13.10: Example issim.in file.
ecfm3z_reinit.in
CONVERGE to reinitialize the combustion domain in specific regions at specific times. For
example, for a multi-cycle or multi-cylinder engine case , the combustion regions must be
reinitialized for the ne xt spark or auto-ignition event to occur. Table 13.3 below describes
Table 13.3: Parameters in ecfm3z_reinit.in. Repeat these parameters as desired to reinitialize different
regions at different times.
Parameter Description
ecfm3z_num_region Number of regions to be reinitialized at the same time.
reinitialized.
#!csi_version=2.4
#=======================
2 ecfm3z_num_region
0 ecfm3z_region
1 ecfm3z_region
50.0 ecfm3z_init_time
1 ecfm3z_num_region
4 ecfm3z_region
100.0 ecfm3z_init_time
Figure 13.11: An example ecfm3z_reinit.in file.
species.in
Table 13.4 below lists the gases , passives , and non-transport passives that must be included
in species.in for a premi xed combustion case. Table 13.5 lists optional non-transport
passives that may be useful for an ECFM simulation. CONVERGE Studio automatically
adds the passives and non-transport passives listed below for a simulation that includes
ECFM.
O2
N2
CO2
H 20
H
H2
O
N
O H
CO
UNMI F EL X U
UNMI O2 X
Passives
T_F ELU Fuel tracer.
T_O2 O2 tracer.
T_CO CO tracer.
NT H
Non-Transport Passives
PROG_VAR Mass progress variable.
R
IGNITE_FLAG Flag to indicate combustion.
B RNED_TEMP
U Temperature in burned area.
U NB RNED_TE
U Temperature in unburned area.
MP
T_ 2H H2 tracer.
T_N2 N2 tracer.
T_ 2O
H H2O tracer.
NC
WALL_DIST Wall distance.
Table 13.5: Optional non-transport passives that may be useful for ECFM simulations.
P1 Flame surface production by turbulent stretch.
T ICKNESS
H Laminar flame thickness.
TIME_FSD_COR Correction of the FSD turbulent stretch factor to account for the finite
OR
outflow gas species. For species tracers , you must initialize passives ( t_fuel, t_CO, and
T_O2 ) with the same names and values as their corresponding species (mi xed fuel , CO ,
and O2 , respectively). Do not list the intermediate species (O , H, N , and OH) in initialize.in
and boundary.in.
You need to make two copies of the thermodynamic properties of fuel species in the
thermodynamic data file and rename the fuel species as unmixfuel and bfuel. Also , you
need to copy the O2 properties and rename the species as unmixo2 . Complete this task
In diesel engines , the fuel-air mi xture undergoes chemical reactions that lead to ignition as
shown in Figure 13.62 below. Ignition may not occur until several crank angles after the
start of injection (SOI). Once ignition occurs , the fuel that has been injected and mi xed
with air undergoes the premi xed combustion phase. When the premi xed fuel-air mi xture
has been consumed , xing-controlled
mi combustion occurs. As the name suggests , burning
Figure 13.12: Schematic of a typical diesel engine heat release rate showing ignition delay, premixed
combustion, and the mixing-controlled combustion phases (Heywood, 1988).
CONVERGE offers two different methods for modeling the ignition and combustion
processes. The first method uses separate models for ignition and combustion. These
models are based on the Shell ignition model and the Characteristic Time Combustion
The second approach , described previously (SAGE Detailed Chemical Kinetics Model) ,
considers much of the chemistry taking place in combustion applications. Although the
runtime using detailed chemistry can be significantly longer than with the first approach ,
the accuracy of the simulation may be greatly enhanced with the inclusion of detailed
chemistry. Nonetheless , there is still often a need for the rapid turnaround time that can be
achieved when the simpler models are used. The simpler ignition and combustion models
To model diesel ignition delay , a multistep kinetics model based on the Shell model has
been implemented in CONVERGE. The original Shell model (Halstead et al. , 1977) , which
was developed to predict knock in gasoline engines , uses a simplified reaction mechanism
to simulate autoignition in diesel engines. The eight reactions in this model are given by
1. Cn m O R
H2 2
2
*
2. R R P eat
* *
H
3. R R B
* *
4. R R
* *
Q
5. R R B
*
Q
*
(13.62)
6. B R 2
*
7. R Termination
*
8. 2R Termination,
*
where Cn H
2 m is the hydrocarbon fuel , R* is a radical formed from the ,
fuel Bis the
Schapertons and Lee (1985) noted that the use of the above reaction scheme can violate
mass conservation if used after the local onset of ignition due to the propagation steps R*
R* B
+ and R* R* +Q (steps 3 and 4 in Equation 13.62 above). They modified the reactions
1. Cn m O R
H2 2
2
*
R Cn
* 1
pO
qP f B f R heat
*
m
2. 1 H2m Q
2 1 4
3. R R B
*
Q
*
4. B R 2
*
(13.63)
W
R R N,* *
WN
5.
2
W
2
R R N * *
WN
6. 2 2
2
where L is given by
f MB f M
1 4 Q
MCn m m pMO
. (13.64)
H2 2
Furthermore ,
pn (2 ) m
2 m (13.65)
and
q 1 n m, (13.66)
where g is a stoichiometric factor set equal to 0.67 (Halstead et al. , 1977). The reaction
scheme given in Equation 13.63 is commonly used to model the diesel engine ignition
process ( e.g., Kong and Reitz , 1993). In Equation 13.63 , the molecular weights associated
W W
WR C n m O
*
H2 2
2
WB WCn m WO H2 2
(13.67)
W WCn m WO
Q H2 2
.
In order to accurately interface the ignition model with a combustion model based on
equilibrium ( e.g., the CTC model described below) , it is critical that the C, , O, H and N
atoms are conserved in the ignition process. In order to modify the reaction scheme in
Equation 13.63 to conserve atoms , R*, B, and Q are assigned atoms based on their
molecular weights given in Equation 13.67 above. For e xample, R * has n/2 carbon atoms ,
m hydrogen atoms , and one o xygen atom. While the second reaction in Equation 13.63 has
been formulated to conserve mass , it must be modified to also conserve atoms. The
R *
f f C
1 n H m f f
n m O nCO m O f B f H2 Q R *
.
(13.6
1 4 2 1 4 2 2 1 4
2 8)
In addition to Reaction 2 , Reactions 5 and 6 also violate atom conservation and lead to a
net production of N 2
from the ignition event. Clearly , this can lead to inaccuracies because
this process removes potentially combustible atoms and converts them to inert nitrogen.
possibility is to keep Reactions 5 and 6 as is in Equation 13.63 and then put the nitrogen
WR
Rf R* *
N
*
,
1 6
WN 2
2 (13.69)
where R
1
*
6 is the final value of R* from the reaction scheme and D N 2
is the change
(increase) in nitrogen from the termination reactions. This final amount of R*, Rf *
is then
R f Bf
*
Qf
2.5 n m O 1 2.5 n CO m
2.5 H O, (13.70)
2 2 2
2
which was formulated to conserve atoms. The conversion of the radical species to products
requires some additional o xygen from the gas mi xture. Also note that Equations 13.69 and
13.70 are applied only once when the ignition process is complete. The final reaction
scheme with the above improvements is shown in Table 13.6. This mechanism conserves
atoms (and mass) between the pre- and post-ignition gas mi xture.
Table 13.6: Modified Shell ignition reaction mechanism as implemented in CONVERGE.
Number Modified Shell Ignition Reaction Process Rate
1.
Cn H2m O 2 R * Initiation kq
2
kp
R f f
C f f
n m O
2. Propagation
*
1 n H m
1 4 2 1 4 2
nCO m O f B f
2
H2 1 4
Q R *
f kp
R R B
3. Propagation
* *
Q
2
4.
B R 2
* Branching kb
5.
M Linear f kp
R R N
3
*
*
MN
termination
2
MR Quadratic kt
R N
6.
*
*
2
MN
2 termination
2
WR
Rf R N
7. This step performed only
*
* *
1 6
WN 2
once (at the end of the
ignition process).
Bf B
2
1 6
Qf Q 1 6
m
R *
f
B f
Qf 2.5
n
2
1 O 2
2.5 n CO 2
2.5 m O H
2
The rate constants in the reaction scheme shown in Table 13.7 below are similar to those
f 1
Af 01
e E f
1
RuT
O x Cn
2
1
H2m
y 1
f 2
Af 01
e E f
1
RuT
(13.71)
f 3
Af 03
e E f
3
RuT
O 2
x
nH m
3
y
C 2
3
f 4
Af 04
e E f
4
RuT
O 2
x y
nH m ,
4
C 2
4
kq Aq e Eq RuT
kb Ab e Eb RuT
(13.72)
kt At e Et RuT ,
kp Ap e Ep
1 1
1
RuT
kp Ap e Ep
2 2
2
RuT
(13.73)
kp Ap e Ep
3 3
3
RuT
,
and
kp 1 1
1
1
,
(13.74)
kp O kp
1 2 2
kp Cn 3
H2m
where [ O ],
2
xample,
for e denotes the species concentration of O 2
in gmol cm -3
.
constants. Kong and Reitz (1993) found that the formation rate of the labile intermediate
species Q is the rate-limiting step in the kinetic path. In addition , Theobald and Cheng
(1987) found that the total ignition delay is sensitive to the pre-e xponential factor Af 04
. As a
result , shell_af0 4 has been included in combust.in, while the other 25 parameters have fi xed
values in CONVERGE as shown below in Table 13.7. Note that the parameters are given in
Table 13.7: Shell model parameters from Halstead et al. (1977). Units: Ai (cm, mol, s), Ei (cal/mole), Ru
(cal/mol K).
Shell Model Value
Parameter
Af 01
7.3e-4
Af 02
180.0
Af 03
1.47
Af 04
Set via af0 4 in combust.in
.
Aq 1.2e12
Ab 4.4e17
At 3.0e12
Ap 1
1.0e12
Ap 2
1.0e11
Ap 3
1.0e13
Ef 1
/ Ru -7.55e03
Ef 2
/ Ru -3.53e03
Ef 3
/ Ru 5.04e03
Ef 4
/ Ru 1.51e04
Eq / Ru 1.76e04
Et / Ru 0.0
Ep 1
/Ru 0.0
Ep 2
/Ru 7.56e03
Ep 3
/Ru 428.0
x1
1.0
x3
0.0
x4
-1.0
y1
0.0
y3
0.0
y4
0.35
In the present implementation , reaction rates are frozen to their value at 950 K for
temperatures above 950 K as in the model from Schapertons and Lee (1985).
solve the modified Shell model reaction mechanism. Subcycling is based on the net
d B k B f k R f k R
* *
b p
dt p 1 2
Q . (13.75)
dtshell B
,
kb B f k p R f k p R
(13.76)
* *
1 2
Q
where the quantity [Xm] represents a molar concentration. The computational time-step dt
is discretized into sub-time-steps , given above by Equation 13.76 , to solve the Shell model
equations.
The above Shell model reaction scheme is solved using a reference species approach as
described in Amsden et al. (1989). This approach is valid for the following reaction
scheme:
M M
m ,r m m r m ,
for r = 1,2,...., R (13.77)
m 1 m 1
where
m ,r and
m ,r are the stoichiometric coefficients for the reactants and products ,
respectively , for species m and reaction r and c m represents the chemical symbol for species
m .
As described by Amsden et al. (1989) , the reaction rate , r , for this approach is given by
ref ,r 1
r ,
1 2
where
ref ,r
1
dt Wref r ref r fr ref r br ,
, , , (13.79)
ref ,r
2
dt Wref r ref r fr ref r br ,
, , , (13.80)
and r ref,r is the reference species with a molecular weight of Wref,r . The reference species is
the species whose density has the highest likelihood of going negative. In the above
M
k
fr fr m Wm m r
,
(13.81)
m 1
and
M
k
br br m Wm m r ,
,
(13.82)
m 1
where kfr and kbr are the forward and reverse rate constants , respectively. In addition , m ,r
and
m ,r in Equations 13.81 and 13.82 are not necessarily equal to the stoichiometric
coefficients in Equation 13.77 so that empirical reaction orders can be used (Amsden et al. ,
1989).
Each of the reactions in the current set only progress in the forward direction. As a result ,
kbr (and hence W br ) is zero for each of the reactions. With this simplification , it can be
ref ,r Wref r fr
,
r ,
Wref r ref r fr dt
(13.83)
ref ,r , ,
which is used in CONVERGE to calculate the progress rates for the Shell model.
The reference species is selected for each reaction by comparing the values of
Wm fr m r m r
(
, ,
) m for each of the species involved in that reaction. The species with
the lowest value of this quantity is called the reference species (Amsden et al. , 1989). The
rate coefficients are given in Table 13.6 above for each of the reactions. Once the reference
species ref,r has been determined , the progress rate r for reaction r is calculated via
Equation 13.83 above. The change in density in species m is then calculated from
R
m m , Wm m ,r m ,r r dt ,
0 (13.84)
r 1
where r m, 0
is the species density value before the start of the Shell model calculations for
CONVERGE includes the Characteristic Time Combustion (CTC) model (Abraham et al. ,
1985 , Xin et al. , 1997). The CTC model simulates the rate of change of the density of
species m, r m, as
m m *
m ,
t c
(13.85)
where r *m is the local and instantaneous thermodynamic equilibrium value of the species
density and tc is the characteristic time to achieve equilibrium. Following Kong et al.
Equation 13.114 below). The chemical timescale is modeled as (Kong et al. , 1995)
chem
C
[ nH m ] 2
e0.75 ( Echem RuTg
/ )
,
2 Achem [O ] 2
1.5
(13.87)
turb C
k, (13.88)
2
where C 2
is a user-specified constant ( ctc_cm2 in combust.in ). The turbulent timescale acts
as a sub-grid model that accounts for the non-uniformity of species in a cell. The sub-grid
non-uniformity of species , which cannot be accounted for directly , may act to slow the
combustion process. For this reason , the turbulent timescale is added to slow the
combustion.
If an LES model is used , the characteristic time for the CTC model is calculated as
u C dx
2
ui 2
i les
x x
. (13.90)
24
j j
In Equation 13.90 , dx is a characteristic cell size (given by the cube root of the cell volume) ,
ui is the resolved velocity field , and Cles is a scaling constant. The sub-grid timescale is then
given by
sub C
ksub ,
(13.91)
sub
2
where
ksub uiui
1
(13.92)
2
and
k
sub sub
3/2
dx
. (13.93)
In the case of the single-scale CTC model , solving Equation 13.85 for the updated species
m m* m , m* e dt c ,
0 (13.94)
where r m,
0
is the species density value at the beginning of the time-step and dt is the time-
step.
In addition to the single-scale CTC model , the multi-scale model proposed by Xin et al.
CO CO
*
CO ,
t
xCTC c (13.96)
and
*
,
H2 H2 H2
t xCTC c (13.97)
above model assumes that the timescale for CO and H2 are a fraction of the fuel
conversion time scale. Note , however , that this represents only the fastest possible
timescales for CO and H2. If there is not enough o xygen in a computational cell to perform
Solving Equations 13.95 through 13.97 yield the following updated species densities:
CO CO , CO WCO CO e
dt xCTC c
0
*
CO , CO
*
0
, (13.99)
and
H2
H 2 ,0
H 2
W H2
*
H2 H 2 ,0
*
H2
e dt
xCTC c
. (13.100)
The remaining species densities can be determined from the atom conservation equations
as
CO CO2 2
,0
CO n fuelWCO 2
, (13.101)
O O , H m fuel W O ,
H2 H2 0 2 H2 (13.102)
and
O O
2 2
,0
0.5 CO 0.5
2
n
H 0.5 m fuelWO 2
. (13.103)
The equilibrium species density values must be determined in order to solve Equation 13.94
or Equations 13.98 through 13.103. As in Kong et al. (1995) , it is assumed that seven
species are involved in the combustion process: fuel (CnH2m) , O2 , N2 , CO2 , H2O , CO ,
and H2. With these species , the combustion of an arbitrary hydrocarbon can be written as
where Nm represents the initial number of moles of species m per gram of mi xture and the
assumed that the equilibrium value of fuel is zero , and hence g= 0. Atom balances for
hydtot mNCn m N N O d e
2
H2 H2 H2
2 2
(13.105)
In order to solve for the five unknowns , two additional equations are needed. Two
equilibrium reactions are used for this purpose. The first , the so-called water-gas shift
reaction , is given by
CO O CO H2 2
H , 2 (13.106)
and accounts for the simultaneous presence of CO and H . The second reaction is
2
2 CO O 2
2 CO 2
. (13.107)
It can be shown that the equilibrium constants for Equations 13.106 and 13.107 are given
by
po H po S be
K p exp
u u R RT
cd (13.108)
and
Kc S
co H co u RT b , 2
xp tot
R RT p cf
e (13.109)
2
u u atm
respectively. In Equations 13.108 and 13.109 the change in standard state molar entropy
S SCO S SCO S O
o o o o
po
2
H2 H2
Ru Ru
(13.110)
o o o o
H po HCO H HCO H O
2
H2 H2
RuT RuT
2SCO 2SCO SO
o o o
S
co
2 2
Ru Ru
(13.111)
o o o
H co 2 HCO 2 HCO HO
,
2 2
RuT RuT
for Equation 13.107. Furthermore , in Equation 13.109 r tot is the sum of the species densities
for the seven main combustion species (CnH2m , O2 , N2 , CO2 , H2O , CO , and H2).
Equations 13.105 , 13.108 , and 13.109 include five equations and five unknowns. In order
to solve for the equilibrium coefficients , the above equations were combined to write the
hydtot 1 K p
1 K p c 1 K p oxytot 3 2K p cartot c
4 3
Kc
2
2
K
(13.112)
hydtot oxy 4 p K 3
p
car
cartot car c car c
3
6
2
2
tot 0 ,
tot 2 tot tot
2 2
2 K c
c
K
c K
13.109. These coefficients are then used to determine the equilibrium species densities r * m.
For rich conditions ( cartot > oxytot ) it is assumed that only CO , H2 , and CnH2m are products
of equilibrium. As a result ,b d f
= = = 0 , and the atom balances yield
c oxytot
g cartot c n (13.113)
e hydtot m g 2 2
13.3.3 +
Shell CTC Model
A common application of the Shell and CTC models is to implement them concurrently.
The Shell model acts on computational cells that are in the ignition phase and the CTC
model acts on cells that are in the combustion phase. As in Xin et al. (1997) , the two
phases are distinguished by the local gas temperature and a delay coefficient f given by
f 1 e
, (13.114)
0.632
(13.115)
tot N CO ,resid O ,resid
2 2
H2
where the subscript react refers to a reactive species , not including any residual or e xhaust
gas recirculation (EGR) amounts , and the subscript resid refers to a residual amount. r tot is
the sum of the species densities for the seven active Shell +CTC model species (CnH2m , O2 ,
N2 , CO2 , H2O , CO , and H2). Equation 13.115 above represents a ratio of the amount of
products to the amount of reactive species. Note that Equation 13.115 is based on the
assumption that only residual amounts of CO2 and H2O are included in the simulation.
Equation 13.114 represents a measure of combustion completeness and is used in the CTC
model to delay the effect of turbulence on combustion until combustion has proceeded to a
certain point (see Equation 13.86). The f parameter is used in conjunction with a critical
should undergo Shell or CTC calculations. Table 13.8 below presents a definition of both
ignition and combustion phases when the Shell +CTC model is used.
Table 13.8: Definition of ignition and combustion phases for the Shell+CTC model.
Model Ignition and Combustion Phase Criteria
Shell Tg < Tchop and f 0.1
When a cell is in the combustion phase , the radicals R*, B, and Q must be patched to the
products ( i.e., CO , CO2 , and H2O). This only happens once per cell as the radical species
For the non-modified Shell model , the ignition radicals are patched to products in the
proportion proposed by Schapertons and Lee (1985). This results in the following updated
n m WCO
CO rad ,
n m WCO n m WCO W
(13.116)
1
2
H2 O
1 n m WCO
CO rad ,
n m WCO n m WCO W
2
2
(13.117)
1
2
H2 O
and
W O
O rad ,
H2
where
rad R B f
*
f (13.119)
f Q
For the modified Shell model , the change in product species as a result of radical patching
can be found from Reaction 7 in Table 13.4 given above. The amount of o xygen O 2
2.5 n m WO 1
2
2
O rad ,
2
R* W WB W Q
(13.120)
where
rad R B f
*
f (13.121)
f Q
is the sum of the final radical species densities ( R*f includes the additional N 2
formed
2.5 n WCO m W 2
2.5
H2 O
(13.122)
and
2.5 m W O rad O
O
H2 2
n WCO m W O
. (13.123)
H2
2.5 2
2.5
H2
The seven species involved in the patching process are modified as follows:
O O O
2 2 2
N N N
2 2 2
CO CO CO
2 2 2
O O O
H2 H2 H2 (13.124)
R 0
*
B 0
0
Q
The Shell +CTC model parameters are located in combust.in . When using the Shell +CTC
model , you must activate turbulence modeling i.e.,
( turbulence_solver_flag
set = 1 in
inputs.in ).
For partially- or non-premi xed combustion, the ECFM is coupled with a mi xing model and
is known as the ECFM3Z (3-Zone E xtended Coherent Flame Model) (Colin and Benkenida ,
2004). This method creates a mi xed zone between the air ( + exhaust gas recirculation) and
fuel zones.
Mixing Model
The mi xing of air and fuel (as shown below in Figure 13.13) forms the mi xed zone.
and
F M A M
Mixing terms E Fu and
E O2 are a function of the turbulence time scale , which is given
as follows:
1
m , (13.127)
m k
the gaseous fuel mass production rate already presented for the unburned and burned fuel
equations.
Autoignition model
Tabulated Kinetics of Ignition ( auto_ignition_flag = 3)
The tabulated kinetics of ignition (TKI) model was first proposed by Colin et al. (2005). In
this first version autoignition was described in two steps. In the first step , an autoignition
delay was used in the intermediate species transport equation YF_i to reach the autoignition
time. Once the delay was reached , the progress of reaction was advanced in time using the
following recent developments of the model (Robert et al. , 2015) and thus the entire
autoignition process is described by the fuel mass fraction burned by autoignition YF_ai .
In order to tabulate the autoignition , the TKI model solves the 0D constant pressure
reactors at different initial conditions. These initial conditions reproduce the in-cylinder
conditions that occur in the engine. This method uses four parameters: pressure , fresh gas
temperature , equivalence ratio , and dilution rate. For each parameter , you can select a
range and discretization fidelity to match the local sensitivity of chemistry to the
parameter. Table 13.9 shows an e xample of the TKI parameter variation and
discretization.
Pressure 1 - 20 MPa 10
During tabulation , CONVERGE e xtracts the time ti at which the OD calculation reaches
The progress variable in the TKI model is an image of the amount of heat released during
xidation,
fuel o as follows:
T Tini
cai , (13.128)
Tequ Tini
dcai
c ,TKI . (13.129)
dt
c1
0 c c1 : c ,TKI
t1
(13.130)
ci 1 ci
c1 c ci 1 (for i 1) : c ,TKI
ti 1 ti
Note that t1 can be viewed as the so-called ignition delay of TKI , although the progress of
the reaction at this time , c1, needs to be set as a very small number (typically 1e-6) to
ensure a proper description of the heat release rate during the entire autoignition process ,
and thus t1 cannot be compared to a standard autoignition delay , which is typically
chosen at c close to 0.5. In the second appro ximation in Equation 13.130 , the progress
YF u jYF YF
Dl Dt YAI c ,TKI (13.132)
t x j x j x j
The ignition table can be generated with Kicgen , a Python tool. This tool tabulates the
ignition delay and reaction rates in HDF5 format. There are three steps to generate a TKI
thermodynamic data file , combust.in, species.in, initialize.in, spray.in, and liquid.dat, some of
which are described below. (All of these files are described in full in Chapter 22.)
additional files are described below as well. It is important to note that , when running a
simulation with the ECFM , the reaction mechanism file must be removed from the Case
Directory.
species.in
Table 13.10 below lists the gases , passives , and non-transport passives that must be
O2
N2
CO2
H2O
H
H2
O
N
OH
CO
BF EL
U Fuel in the burned zone.
Passives
T_F EL
U Fuel tracer.
T_O2 O2 tracer.
T_CO CO tracer.
Non-Transport Passives
PROG_VAR Progress variable.
B RNED_TEMP
U Temperature in burned area.
U NB RNED_TEMP
U Temperature in unburned area.
T_ 2H H2 tracer.
T_N2 N2 tracer.
T_ 2O
H H2O tracer.
thermodynamic data file and rename the fuel species as unmixfuel and bfuel ,
. Also you
need to make a duplicate copy of O2 properties and rename the species as unmixo2. The
two parameters that are relevant in spray.in are: evap_source_flag which should be set to 0
and evap_species must be set to unmixfuel. If EGR e xists, you must list fuel , CO , and O2
species tracers. The values of these tracers should be identical to the corresponding species
mass fractions.
mixed regions that lie within flammability limits. The interaction of the highly turbulent
flow field with the combustion process is governed by nonlinear chemistry as the
chemistry timescale is much less than the turbulence timescale. The Representative
Interactive Flamelet (RIF) model effectively decouples the solution of the turbulent flow
The RIF concept for non-premi xed combustion in CONVERGE is based on a coordinate
possible to transform the balance equations for enthalpy and species into mi xture fraction
space. This leads to resolution of the inner structure of the reaction zone in a one-
dimensional calculation.
Flamelet Equations
The mi xture fraction (Z) is defined as:
ns NC i WCYi ns N i W Yi ,
Z
_
Wi W H_ H
(13.133)
i 1 i 1 i
where i is the species , ns is the number of species , NC_i, N H_i are the number of Carbon and
Hydrogen respectively , Yi is the species mass fraction , and Wi is the molecular weight of
species i.
The first-order flamelet equations have been derived by Peters (1984) , where a local
coordinate transformation and boundary layer arguments are used. The resulting
Y
i
i
i ,
2
Y i Le i
Le
Laminar
t
2
i Z Le 2
D/ D+D Turbulent 1.0
i (13.134)
(13.135)
T T c Y
ns pi i p 1 c
ns
T
p
h
2
i i
t 2 Z
2
2 c
p i 1 Le
i Z Z Z p i c t 1
are obtained. In the Equations 13.134 and 13.135 , ns denotes the number of chemical
i, hi i, i
species is the enthalpy of the chemical species is the net chemical production
rate , Di is the diffusivity , D is the turbulent diffusivity , and Lei is the Lewis number of
species i. In CONVERGE the Lewis number is assumed to be constant for all species and
set to 1.
A characteristic of Equations 13.134 and 13.135 is that after the transformation into
mi xture fraction (Z) space , the convective terms disappear. Since all the scalars are
convected with the same velocity in physical space , no relative convective velocities e xist
between the mi xture fraction and the other scalars , such as species mass fractions or
temperature. Coupling the equations in phase space to the flow field in physical space
(13.136)
1
Yi ( xi , t ) P ( Z ; x , t )Y Z , t dZ
i i
0
described later in this section. The RIF model requires knowledge of the Favre mean
mixture fraction
Z and its variance Z
2
in space and time. The conservation equations for
the mean and the variance of the mi xture fraction are given by
Z
t
x
i
ui Z
i x
ui Z SRIF
(13.137)
where
ui Z t D Z
i x
(13.138)
and
Z 2
Z
ui Z 2
uiZ uiZx
2
(13.139)
t xi xi
2 .
i
be modeled as
c
k
Z 2
.
(13.140)
where is the turbulent dissipation , k is the turbulent kinetic energy and cc is a time
2.0. The scalar dissipation rate is calculated from the flow solver of CONVERGE and
st x , t
f Zst
,
(13.141)
f ZP Z; x , t dZ
1
where P ; x , t
Z is the probability density function and
f Z exp 2 erfc 1
2 Z
2
.
(13.142)
The surface averaged value for scalar dissipation rate at the stoichiometric mi xture fraction
can be derived as follows:
x st x P Zst dV
3/2
(13.143)
st V ,
x st x P Zst dV
1/2
where Z
st is fuel mass fraction at equivalence ratio =1.0 and V is the volume of the entire
computational domain.
conditions determine the solution of a flamelet , with the consequence that different
flamelet histories must be calculated if these parameters vary too much in the physical
domain. The scalar dissipation rate ( ) is not uniform during spray injection and droplet
vaporization process. Therefore , multiple flamelets are used for the spatial inhomogeneity
Il x x st x P Zst dV
3/2
(13.144)
st l V ,
Il x x st x P dV
1/2
Zst
V
where ,
Il x , t
( )
Zl
,
(13.145)
Zl
of flamelets.
For multiple flamelet simulations , the first flamelet is initialized at the start of the spray
( start_in ect
j in spray.in ). In engine simulations , additional flamelets are initialized at
shows how the flow solver and the flamelet code interact. From the turbulent flow and
mi xing field the domain averaged flamelet parameters , scalar dissipation rate conditioned
on stoichiometric mi xture cst and the pressure, p , are extracted. They are transferred to the
solution of the flamelet equations for the species mass fractions and the temperature as
timescales by subcycling the time-step applied by the CFD code. Weighting this solution
with a presumed probability density function as a function of the mi xture fraction and the
the mi xture fraction variance leads to turbulent mean values for the species mass fractions
in physical space. Species transport and the energy equation are then solved to get the
updated mass fractions of all the species and the cell temperature.
Figure 13.16 shows the coupling of the RIF model with the order of solution of transport
equations (Refer Figure 5.5) in CONVERGE. The species mass fractions from the flamelet
mixture fraction
and its variance ( Z and
code (RIF model) act as sources for the species equations. The transport equations for mean
Z ,
2
respectively) are solved as passives. These
are used to calculate the scalar dissipation rate and the pressure which is fed back to the
To provide the RIF model with values for the Favre mean mi xture ) and its
fraction ( Z
variance ( Z 2
) , you must define passives for both of these values. You must also define a
passive for each flamelet to be included in the RIF model. To define these passives , include
the following names , followed by a Schmidt number (0.78 is recommended) , under the
.
.
PASSIVE
RIF_ZMEAN 0.78
RIF_ZVAR 0.78
RIF_FLMT_ZMEAN# 0.78
Figure 13.16 An excerpt of species.in showing passive inputs for RIF parameters..
Include one instance of RIF_FLMT_ZMEAN# for each flamelet you are including in the RIF
model. Specify the number of flamelets using the num_rif_flamelets parameter. The # in the
Figure 13.17 below describes the coupling process between the RIF model and the PISO
loop.
Figure 13.17 A schematic of the CONVERGE PISO Loop coupling with RIF Model.
Equations for the turbulent flow field , the Reynolds stress equations (or the equation for
in advance , thereby fi
to known values of
Z
xing
the functional form of the PDF by relating the two parameters
and Z 2
at each point of the flow field.
function PDF is commonly used for the Favre PDF in non-premi xed turbulent combustion.
1 1
1 Z (13.146)
P ; x , t
Z
Z
,
where G is a
and
and variance by Z Z
gamma function. The two parameters
2
by
a and b are related to the Favre mean
Z (13.147)
1 Z ,
where
Z
Z 1
(13.148)
1 0.
Z
2
Using the presumed PDF approach , mean values of any quantity that depends only on the
mi xture fraction can be calculated. For instance , the mean value of yi can be obtained from
i ( x , t ) i Z , t P Z ; x , t dZ.
1
(13.149)
therefore the probability is finite only in the allowable range of mi xture fraction. Using a
clipped Gaussian PDF can avoid singularity which contains a Gaussian distribution for the
turbulent region 0 < Z < 1 and Dirac delta functions for the intermittent appearance of
unmi xed fluids at Z =0 and Z =1. In the Favre form , the clipped Gaussian PDF is given by
P a (1 a a G (Z )
a Z ),
(13.150)
IG
(Z ) (Z ) ) (1
1 1 2 2
IG G d
1
(13.151)
(Z ) Z.
0
a1 a2 g,
The unknown free parameters and and the variance of the Gaussian distribution ,
are a function of the mean value of Z and the variance of the mix ture fraction Z 2
. These
parameters and variance can be evaluated using the computationally ine xpensive method
A simplified general combustion model can simulate a variety of combustor systems but
Manifold model.
models that use a full chemical mechanism. The FGM model is typically used for systems
( e.g., gas turbines at full power or coal-fired furnaces). This model captures kinetic
phenomena such as ignition , flame e xtinction, and flame quenching and provides accurate
By running the FGM utility prior to the start of the simulation , CONVERGE populates a
look-up table with a range of model solutions based on the user-specified flamelet type (0D
ignition , 1D diffusion , or 1D premi xed) and other parameters. During the simulation ,
CONVERGE accesses the look-up table to quickly retrieve thermochemical information.
Species Parameters
The FGM model simplifies the chemistry to two scalars: the mi xture fraction , Z
FGM , and the
reaction progress variable , c. The look-up table these scalars in addition to other
fuel stream:
(Z Zoxidizerstream )
ZFGM (13.152)
Z fuelstream
.
The Z
FGM values range from 0 in the o xidizer stream to 1 in the fuel stream. Note that
when simulating premi xed systems , it is computationally optimal to define the system s
fuel (Z
FGM = 1) as the premixed composition of fuel and o xidizer.
The reaction progress variable , c, is defined as the sum of the product mass fractions
kYk
c (13.153)
kYk
eq
.
In Equation 13.153 , Y k
denotes species mass fraction and k
is equal to 0 for most
Flamelet Types
The FGM model in CONVERGE offers three flamelet types: 0D ignition , 1D diffusion , and
1D premi xed.
homogeneous reactor over a range of equivalence ratios , initial temperatures , and initial
pressures (Equations 13.11 and 13.12). The look-up table contains the calculated solutions
for Z
FGM , , c pressure ( P,
) and enthalpy (H ) in binary format. The 0D ignition flamelet type
best captures the combustion flame dynamics in internal combustion engines in which
opposed-flow diffusion flame setup at constant pressure (Equations 13.134 and 13.135).
CONVERGE calculates the pre-ignition regime from unsteady quenching flamelets at the
extinction strain rate and the ignition regime from steady flamelets over a range of
f (ZFGM )
(ZFGM ) st
f (Z
st ,FGM ) .
(13.154)
In 13.154 , (
X Z
FGM ) is the scalar dissipation rate profile , Z
st,FGM is the stoichiometric mi xture
fraction , and f( Z
FGM ) is defined in Equation 13.142. The FGM model assumes that heat loss
does not affect the species composition. CONVERGE calculates the non-adiabatic heat loss
Z FGM
''2
of Z
FGM . The 1D diffusion flamelet type best represents the combustion flame in
constant pressure combustors , such as a coal-fired furnace or a liquid fuel gas turbine
combustor.
CONVERGE simulates the 1D premi xed flamelet using solutions developed from an
experimental 1D freely propagating premi xed flame setup solved in physical space over
the entire range of equivalence ratios (Equations 13.198 , 13.199 , and 13.200). CONVERGE
calculates non-adiabatic effects similar to the method described for the 1D diffusion
''2
flamelet. The look-up table contains the calculated solutions for Z
FGM , , c H , and
Z FGM
. The
1D premi xed flamelet type best represents turbulent premi xed flames in constant pressure
Turbulence Closure
RANS and LES turbulence models used in conjunction with the FGM model require
additional equations to solve for the turbulence/flame interaction. The additional closure
equations are presumed shape probability density functions (PDFs). The presumed shape
PDFs are based on the theoretical distribution of each parameter in the look-up table.
The 0D ignition flamelet has a different set of presumed shape PDFs than both of the 1D
PDFs. The 1D diffusion and premi xed flamelets use a beta function for the Z
FGM PDF and
''2
delta functions for the c, E, and
Z FGM
PDFs.
Since the species details are simplified in the FGM model , CONVERGE solves the Favre
''2
mean (mass-averaged) equations of
Z FGM
and c . For RANS simulations , CONVERGE
''2
Z FGM
solves the transport equation (Equation 13.139) for , while for LES , CONVERGE
"2
ZFGM C var
ZFGM
2
2
,
(13.155)
in which C
va r
is a constant and is the LES sub-grid length scale. The transport equation
c )
u i c )
Dt
c
c
t x x xi
( ( ( )
i i (13.156)
,
in which the first term is the time-dependent term , the second term is the convection-
dependent term , the third term is the diffusion term , and the fourth term is the mean
kinetic rate model or turbulent flamespeed model. For the 1D diffusion flamelet , the model
calculates the mean source term from the kinetic rate model , in which the c PDF ,
(c c ) ,
is multiplied by the presumed shape PDF , P(Z
FGM ), as shown in:
k k
c P c c dcd
1 1
FGM ) ( )
Y
(Z ZFGM
eq
k k
(13.157)
0 0 .
k
In Equation 13.157 , is the net reaction rate of the kth species. For the 1D premi xed
flamelet type , CONVERGE calculates the mean source term from the turbulent flamespeed
model ,
c uSt c (13.158)
,
in which
u is the unburned density and St is the turbulent flamespeed. When using the
turbulent flamespeed model , you must specify how to solve for St : set st_model in
combust.in to 1 (solve using the Peters model , as given in Equation 13.23) or 2 (solve using
the Zimont model). The Zimont model (Zimont et al. , 1998) defines the turbulent
flamespeed as
St Au Da '
1/4
(13.159)
mean square of the turbulent fluctuating velocity , Daand is the Damkohler number
For the 0D ignition flamelet type , CONVERGE evaluates the mean source term with the
kinetic rate model when grad c is a small value ; otherwise , CONVERGE solves the
Input Parameters
To activate the FGM model , set fgm_flag = 1 in combust.in and include the fgm.in file in the
Case Directory. Both of these input files contain FGM-related parameters. For an FGM
CONVERGE requires all nonsolid regions to list passives in species.in . For the 0D ignition
When you enable nox_flag and/or soot_hiroy_flag in combust.in, you must list the fuel
Navigate to the Case Directory in the terminal and type the command
converge fgm
to generate the look-up table. You can run this command in parallel only for the 0D
ignition and 1D premi xed flamelet types. You only need to generate the fgm-table.dat once
unless the flamelet type , chemical mechanism , fuel/o xidizer compositions , equation of
After running the FGM simulation , CONVERGE writes all final thermodynamic and
CONVERGE has a surface chemistry model that can simulate heterogeneous reactions
between a solid surface and an adjacent gas ( e.g., adsorption or desorption). You can
simulate surface chemistry on two types of surfaces: a non-moving WALL boundary that
The surface chemistry model calculates the gas phase chemistry only with the SAGE
detailed chemistry solver (with or without adaptive zoning to accelerate the SAGE solver).
You cannot use most of the other combustion models or other physical models ( e.g.,
radiation modeling or film modeling) in conjunction with surface chemistry modeling ,
although you can use CHT with surface chemistry.
CONVERGE uses an empty site convention for surface chemistry in which the empty site
is considered a species. With adsorption , the gas species replaces the empty surface site.
With desorption , the empty site replaces the surface species as it becomes a gas. Since
addition to the solid phase coverage fraction data , are used as inputs for the solid phase
chemistry calculations. Finally , CONVERGE updates all of the mass fraction , coverage
13.6.1 Theory
Figure 13.18: The two-step surface chemistry process in which Yg is the gas phase mass fraction and
is the solid phase species coverage fraction, respectively.
CONVERGE calculates the production rate for the gas species using Equations 13.2 to 13.5
In the solid phase chemistry step , CONVERGE uses the updated gas mass fractions and
temperature values along with the solid species coverage fractions as input.
Note that surface (solid) species are considered to be negligible in the calculation of
enthalpy since surface species thermos are unknown. Thus , the governing equations for
mass and energy remain the same as for the gas phase. Similar to the caveats for while
solving for temperature during general combustion in the SAGE detailed chemistry solver ,
it is important to note that the temperature obtained from Equation 13.5 is used to update
only the rate coefficients rather than to update the CONVERGE cell temperature. The cell
temperature is updated after the detailed chemistry calculation has converged using the
as surfchem_temp_cutoff surface_chemistry.in
in ).
A g B s
( ) ( ) Cs ( )
, (13.160)
CONVERGE calculates the production rate for the solid species B(s) and C(s) as
B
d B
dt (13.161)
and
C
dC
dt ,
(13.162)
j
1 (13.163)
j 1
[ X ]
j j
, (13.164)
s
j
j
in which [X ] j
is the molar concentration of species j ( moles cm2 ,
/ ) is the number of
s
surface sites for species j , and is the surface site density ( mol cm2 / ).
For solid phase chemistry , CONVERGE calculates the production rate for the gas in the
cell as
A
d[ A ] r A F
X
A
dt V ,
(13.165)
in which rA is the reaction rate defined in Equation 13.166 , F is the user-specified washcoat
factor , is the user-specified effectiveness factor (refer to the Effectiveness Factor section
the gas phase in the cell. For boundary cases , CONVERGE computes AV/ with the cell
rA k fr [ XA ] B , (13.166)
in which kfr is the forward rate coefficient. There are two types of forward reaction rate
calculations for surface chemistry , which are shown below in the Reaction Options
section. The CVODES solver (SUNDIALS , 2015) uses Equations 13.161 , 13.162 , and 13.165
CONVERGE considers the production and consumption of gas phase species at the surface
to be a source term S
, A, given as
t t
SA 1
A MWA dt
t t (13.167)
in which MWA is the molecular weight of species A(g) . By subcycling the time-step , t,
CONVERGE appro ximates the source term as
Yg Yg
SA g
t
(13.168)
,
CONVERGE solves the species transport equation with the resulting SA value.
The surface chemistry reaction rate is a strong function of surface area or cell volume. For
most applications , the chemistry will reach steady state and thus changing the mesh
resolution inside a porous region or near the surface chemistry surface during the
simulation will introduce fluctuations to both species and temperature. You can avoid this
When calculating the forward reaction rate in the solid phase , there are two reaction
reaction option , CONVERGE calculates the activation energy to determine the reaction
rate. For the sticking reaction option , CONVERGE calculates the sticking coefficient to
determine the reaction rate. The surface_mech.dat section describes the keywords for these
options. Note that surface chemistry supports the FORD and USER options.
reaction. CONVERGE computes the forward rate coefficient in a solid phase reaction as
E
r ,i i [ n ]
k fr i AT i [ n ]
n]
J
( )
10
i ji
xp [ xp
( ) j j
j j
i
RT RT
e ( ) e
, j (13.169)
j 1 ,
ji , ji , and ji
in which are user-specified parameters. For a surface reaction i to be
coverage dependent on multiple surface species j, you must list the three coverage
parameters for each species. CONVERGE solves for the net pre-e xponential factor, Ai , via
Ai A i [ n ]
J
log log ( )
0 j j (13.170)
1
,
j
Er i E i [ n ]
J
( )
, 0 j j (13.171)
j 1
i
solid phase reactions in terms of sticking coefficients . Sticking coefficients quantify the
probability that a gas molecule adsorbs when hitting the surface. We define the sticking
i aiT bi exp
ci ,
RT (13.172)
in which a i , bi , and ci, are user-specified parameters. The sticking coefficients are
' ji
k fr i i j 1
j
RT (13.173)
y
MW
,
tot 2
j
' ji
in which is the reaction order for that surface species in reaction i and y is the sum of
Motz and Wise (1960) showed that Equation 13.173 becomes less accurate when the
sticking coefficient is close to unity. They proposed the following correction to the forward
rate coefficient:
i '
j
k
i
j
RT
fr ,i
j 1
y
MW
(13.174)
1 i tot 2
j
You may wish to activate the Motz-Wise correction factor if your simulation has a sticking
The forward and reverse rate coefficients are proportional to one another , and their
coefficient for surface reactions accounts for both solid and gas phase species with the
following relationship:
Kcr Patm m
J
mr N i
i K pr
J
so )
j
1 j
j
RT
1
( (13.175)
j
n 1 j 1
in which Patm is the atmospheric pressure , R is the gas constant , T is the temperature , and
ji
j
is the user-specified surface site occupancy of surface species j. Equation 13.14
defines the gas equilibrium constant , Kpr . In Equation 13.175 , the first summation is over
the gas phase species and the second summation over the surface species j of surface site
type n
. CONVERGE updates the surface species concentrations , gas species
Note that surface chemistry supports the FORD and USER options.
The effectiveness factor in Equation 13.165 accounts for diffusion through the washcoat
to the catalyst and can range from 0 to 1. In a thin ( i.e., a few mm ) washcoat , the gas
species diffusion into the catalyst sites may be fast , and thus you can consider the
effectiveness factor to be one. In a thick washcoat , the gas species diffusion is slower and
is less than one. The surface_chemistry.in section describes how to activate the effectiveness
factor calculation.
tanh
(13.176)
F
L
j
D eff c L
j, j
(13.177)
p
Deff D (13.178)
j
1 1 1
D Dmol Dknud
j ,j
(13.179)
To solve for the mi xed diffusion coefficient , CONVERGE calculates the Knudsen diffusion
coefficient as
p dp RT
Dknud c 8
MW
,j (13.180)
3 j
where both c is a constant and D is the molecular diffusion coefficient (specified using the
molecular diffusion coefficient using the CONVERGE-calculated viscosity of the cell and
CONVERGE includes adaptive zoning (Babajimopoulos et al. (2005) , which accelerates the
chemistry calculations by grouping together similar computational cells and then invoking
the chemistry solver once per group rather than once per cell. Adaptive zoning was
Laboratory.
General Procedure
At any given time t, each cell is at some thermodynamic state. Based on the
thermodynamic states of the cells , CONVERGE groups the cells into zones. The
thermodynamic state of each zone is based on the average temperature and composition of
all of the cells in that zone. CONVERGE invokes the chemistry solver once on each zone.
The chemical kinetic equations for a closed-volume homogeneous reactor of each zone can
be written as
k Y
k k
W 1, ..., k K
t
zone zone
(13.181)
and
T K
k Wk ek ,
1
t zone cv k
(13.182)
1 zone
weight and the specific internal energy of the species k, respectively ; and c is the constant
volume specific heat of the gas mi xture. All of these quantities are zone-based values. Each
such that temperature and composition non-uniformities are preserved. The mapping
strategy , which is described below in the Mapping Strategy section , is critical to ensure the
Zoning Strategy
When adaptive zoning is active , CONVERGE groups cells into zones (also known as bins).
Figure 13.19 below shows an e xample of the zoning process. It is important to note that
the zoning strategy in CONVERGE is similar but not identical to the strategy of
CONVERGE has a multi-dimensional zoning strategy , which means different variables can
be specified for the zoning process. Temperature and progress equivalence ratio (defined
below) are required. You can select additional variables (pressure , total equivalence ratio ,
the cube root of the mass fraction of a specified species) if desired. The number of variables
(temperature and progress equivalence ratio) zoning strategy works well for single fuel
Note that cells that belong to different regions are automatically placed in different zones.
The progress equivalence ratio ,j, and the total equivalence ratio , jt , are given as
C CO O
HH
# 2
2
2
2
O CO #
2
H 2
O
(13.183)
#
2 C #
H
t 2
,
O #
#
number of carbon atoms e xcluding CO2 , and HH
2
O is the number of hydrogen atoms
excluding H2O. Progress equivalence ratio is preferable to total equivalence ratio as the
In CONVERGE , the number of zones is not predetermined. Instead , the number of zones
varies dynamically with the stratification of the flow field parameters. The mass of each
The accuracy of SAGE with adaptive zoning depends on the user-supplied zone sizes.
Accuracy increases as the zone size is reduced , but the computational effort increases.
There are two methods to specify bin sizes. You can have some variables with one bin size
method and other variables with the other bin size method.
The first option is a fi xed bin size. For e xample, you could have a fi xed temperature bin
size of 10 K or a fi xed progress equivalence ratio bin size of 0.1. The second option is a
variable bin size , where the bin size can vary as a function of the bin variable. You can use
the second option , for e xample, to refine the zones in the temperature range in which
combustion is most important. When appropriately configured , a variable bin size saves
computational time compared to a fi xed (fine) bin size for the entire temperature range.
Mapping Strategy
For adaptive zoning , CONVERGE uses the mapping technique outlined by
Babajimopoulos et al. (2005). This mapping is based on the ch value of the individual cells
chcell C CO O
HH
#
2
2
2
, (13.184)
2
where C CO #
2
is the number of carbon atoms e xcluding CO2 and HH
#
2
O is the number of
hydrogen atoms e xcluding H2O. CONVERGE calculates the ch value for each cell and
each zone before starting the zonal chemical calculations. The sum of all the ch values of
the individual cells ( chcell ) in a zone will be equal to the ch value of the zone ( chzone ).
CONVERGE uses the following equation to calculate all the individual species e xcept CO2 ,
H2O , O2 , and N2L:
CONVERGE attempts to conserve the carbon , hydrogen , and o xygen atoms in each cell by
m mCO
Wk cell c k W C
, , cell #
2
cell , (13.186)
k k CO 2
m m
Wk cell hk W
, O ,cell #
H cell ,
H2
2 (13.187)
k k H2 O
and
m mO
Wk cell ok W Ocell ,
, , cell #
2
2
(13.188)
k k O 2
where mk,cell is the mass of species k in a cell ; ck, hk, and ok are the number of carbon ,
moles of carbon atoms , hydrogen atoms and o xygen atoms in a given cell. The total mass
Mixture Fraction
CONVERGE will calculate the mi xture fraction if mix_frac_flag = 1 in combust.in . The
ns NC i WCYi ns N i W Yi ,
Z
Wi
_
W H_ H
(21.1)
i 1 i i 1
where i is the species ; ns is the number of species ; NC_i and N H_i are the number of carbon
carbon and hydrogen , respectively ; Yi is the species mass fraction ; and Wi is the molecular
weight of species i .
t Z 2 t
Z
u
2
Z i Z .
2 2
t i x
i t i t x Sc x Sc x
i
(21.2)
c ,
2
k
Z (21.3)
Post-Processing Parameters
CONVERGE will keep track of the hydrocarbon species and CO, , H and H
2 if you include
.
.
PASSIVE
hiroy_soot 0.78 passive name, schmidt number
nox 0.78 passive name, schmidt number
PASSIVE_NT
hc
Figure 13.20 Excerpt of species.in that includes a non-transport passive for hydrocarbons (hc).
CONVERGE will write all relevant output quantities (mass , mean and standard deviation)
.
.
passive(hc)
.
.
Figure 13.21 An excerpt of post.in showing non-transport passive inputs for hydrocarbon.
In G-equation simulations , you can generate cell-by-cell information related to the value of
CONVERGE allows you to specify a variable time-step based on combustion. If the ignition
inputs.in, T is the initial cell temperature for the current time-step , and DT is the change in
3. Mechanism reduction
Unlike a typical CONVERGE simulation , these zero-dimensional utility tools do not need
boundary information , surface file geometry , or other model inputs for turbulence , spray ,
and combustion.
converge <argument>
case is:
Type the relevant argument for calculation of ignition delay ( zerod) or reduction of
reaction mechanisms ( reduction) in the command line. This is discussed in the following
two sections.
Use the Chemistry module in CONVERGE Studio to configure the input and data files that
CONVERGE will use for zero-dimensional combustion utility tools. Access the Chemistry
module by clicking the molecule button ( ) in the lower-left corner of CONVERGE
release.
In the autoignition utility , CONVERGE generates ignition delay data for different
combinations of temperature , pressure , and equivalence ratio of fuel mi xture. To use this
utility, you must first save input data in two files: zero_d_cases.in zero_d_solver.in
and .
CONVERGE will use these files to generate ignition delay data in ignition_det.dat . In this
constant-volume bomb. The time required for the temperature to increase by 400 K from its
initial value is defined in CONVERGE as ignition delay. This is shown below in Figure
13.22.
You can use a chemical equilibrium (CE Q) solver with the autoignition utility to predict
approach as that of the CE Q combustion model in CONVERGE (Pope , 2003). You can
enforce either constant enthalpy and pressure or constant temperature and pressure (via
The format for a serial e xecution of a zero-dimensional ignition delay calculation is:
converge zerod
In the zero_d_cases.in input file , specify the initial conditions of temperature , pressure , and
the species as outlined in Chapter 22. Repeat all of these parameters for each case in
zero_d_cases.in . Separate the groups of parameters for each case with an empty line.
The time for integration you specify via zero_d_end_time may not be the numerical upper
time limit for integration , especially in cases when you have specified a time much greater
than the ignition delay. CONVERGE cuts off this upper time-limit at the moment when the
fractions internally , so you do not need to ensure that the sum of mole fractions of the
reactants be unity.
The controls for the numerics to calculate the ignition delay are set in zero_d_solver.in .
Specify the nature of the solver , the tolerance values , the input and output format (mass or
internal to the CVODES code , adjoint sensitivity analysis (ASENS) provides data at the last
time step or at ignition time for the species specified. Since it captures less data , ASENS is
about an order of magnitude faster than SENS. ASENS is useful when running ignition
delay simulations , but note that ASENS cannot be run with double ignition delay.
variables for which you want to perform ASENS using zero_num_asens_variables (in
zero_d_solver.in , ) then list the variables (species and/or temperature). Note that if you set
y f (t , y ) y (t0 ) y0 g g (t , y , p )
Given that and , let be a derived function of the
solution. If we want to evaluate the sensitivity of this function with respect to the
*
f
(13.190)
y
*
g
(t f ) (13.191)
y t t f
.
tf
dg (t f )
(t0 ) s (t0 ) g p (t f ) * f p dt
*
(13.192)
dx t0
To obtain the sensitivity of temperature with respect to the parameters , the function g
becomes temperature , and Equation (13.192) = {0 ,0 ,0 ,...1 }. ,
That is the derivative of g with
respect to the species concentrations is zero , and with respect to temperature is one. When
tf
dg (t f )
*
f p dt (13.193)
dx t0
the sensitivity matri x is a zero matri x at time t = t0 and the derived function g is not a
AB C , (13.194)
r P K f c A c B K b cC
( )
, (13.195)
in which Kf and Kb are the forward and backward reaction rates , respectively ; P is the
sensitivity parameter changes. CONVERGE quantifies the rate at which this change occurs
d
Si
Zj
j
dPi (13.196)
in which Z is a matri
j
x of all concentration and temperature output values from a zero-
sensitivity coefficients for each case that is listed in zero_d_cases.in . If you know the
sensitivity coefficient for each reaction , you can quantify how each reactions affects the
resulting concentrations and temperature and adjust the reaction rates in the reaction
zero_d_solver.in . You can apply the sensitivity analysis option to either none or all of the
zero-dimensional cases and use it along with either constant pressure (CONP) or constant
volume (CONV) cases. When you run the zero-dimensional simulation (refer to the Zero-
Dimensional Combustion Utilities section) with sensitivity analysis , CONVERGE writes the
case number from zero_d_cases.in . The sensitivity analysis runs on all species and the
TEMPERATURE for each reaction in a SENS case. If the reaction mechanism is large , the
Sens Convert
Use the sens_convert utility to normalize the sensitivity coefficient matri x values (contained
simulation.
output#
The utility creates , folders each of which contains three files for each species:
sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out, and
sens<case>_var<num>_<name>_pos.out,
where # output#
in folder and <case> in the file name represents the 0D case number ,
while <num> represents the variable number from species_info.dat and <name> is the
variable name.
In the command line , go to the output directory and type sens_convert. CONVERGE will
1. Select which output files to convert. The utility lists all sens* files in a numbered list , an
[1]: sens0.out
[2]: sens1.out
[3]: sens2.out
[4]: sens3.out
[5]: sens4.out
The utility will prompt you for the files to convert. To select specific file(s) , enter the file
number(s) ( e.g., in the e xample above , enter 1,3-5 to convert all files e xcept [2 ]). To
select files at a specified frequency , enter the number of the first file in the range , the
selection frequency , and the number of the last file in the range , separated by colons ,
( e.g., in the e xample 1:2:5
above , enter to convert files [1 ], [3 ], and [5 ]). You can also
2. Select which variables to convert. The sens_convert utility will list all of the variables
in the species_info.dat file to be converted and prompt you to select the variable(s) to be
pressure. This model calculates the flamespeed of the combustion reaction using a freely
models the 1D flame in a channel with fi xed cross-sectional area. You must specify the
unburned fuel/o xidizer composition and temperature along with the channel pressure.
Note that in CONVERGE 2.3 , there was only one approach for calculating the flamespeed:
the stand-alone Newton solver. In CONVERGE 2.4 , there are three approaches for
species and energy conservation equations using Newton s method. The species
conservation equation is
M dYk d AYkVk S
( )
dx dx
0 (13.197)
in which Yk is the species mass fraction of the k th species , is the density, Vk is the
diffusion velocity of the k th species , A is the constant cross-sectional area of the channel ,
and
S is the source term. We define the mass flow rate
, M , as
M uA (13.198)
M dT d A dT A YkVkc pk dT S
1
dx c p dx dx c p dx
0
(13.199)
in which T is the temperature , is the thermal conductivity of the mix ture, cpk is the
capacity of the mi xture. We define the flamespeed calculation model to have no heat loss.
CONVERGE iteratively solves Equations 13.197 and 13.199 for values of Yk and T until the
Table 13.11 describes the parameters that control the Newton solver.
automatically by the 1D utility. That is , you supply the necessary inputs (not as many as
for a full 3D CONVERGE CFD simulation) and the 1D utility runs a one-dimensional
premi xed laminar flamespeed case in CONVERGE. This approach is more robust but more
solution variables in flamespeed.out and thermo.out and when both converge on the current
grid , CONVERGE switches to a stricter criterion for Adaptive Mesh Refinement (AMR) to
Many of the parameters that you specify in one_d_solver.in for this approach are pro xies
for inputs that you would typically supply in files such as inputs.in, solver.in, amr.in or for a
full 3D CONVERGE CFD simulation. Since the 1D solver is a theoretical model , you need
to specify only certain parameters while the 1D utility determines others from assumptions
about the 1D model. Therefore , the only necessary CONVERGE inputs are in
one_d_solver.in one_d_cases.in
and (and the reaction mechanism file , thermodynamic data
,
file transport.dat
and for reaction mechanism and thermodynamic properties).
Using the PISO solver requires a procedure for anchoring the flame at a fi xed location in
the computational domain. Otherwise , the flame would progress through the domain and
the results would not be useful. The flame location is xthe location such that the
After calculating the flame location , CONVERGE adjusts the inlet velocity U via Equation
n1
U inlet
n
U inlet 1 r rSl (13.200)
indicates the current time-step , r is the velocity rela xation factor ( piso_relax_velocity_factor
in one_d_solver.in , ) and Sl is the estimated flamespeed. To aid convergence , CONVERGE
srcx ux unburned n
U inlet , (13.201)
monitor feature to monitor the flamespeed in one_d_flamespeed.out and the heat release
rate in thermo.out . You do not have to manually configure the monitor steady-state feature
because the 1D utility automatically activates and controls this procedure. You can ,
however , control the number of samples per bin via piso_sample_size, the tolerance on the
difference between the means of two adjacent bins via piso_tol_avg, and the ma ximum
allowable standard deviation in monitored samples viapiso_max_std (all in
one_d_solver.in ).
To improve the speed of the PISO solver , it is good practice to begin the 1D simulation on a
coarse grid and specify multiple values for the AMR sub-grid scale criterion. When the
difference between the actual field and the resolved field in some part of the domain
exceeds the sub-grid scale criterion , CONVERGE refines the grid in this location. The 1D
utility monitors convergence via the steady-state monitor feature (as described above) to
sub-grid scale criterion. On the lines below , enter monotonically decreasing values for the
temperature sub-grid scale criterion for each stage followed by piso_amr_temp_sgs, with
You can optionally specify a final stage for the PISO solver. That is , after the number of
activate the final simulation stage. In addition to specifying a final set of parameters for the
steady-state monitor , you can also specify a ma ximum CFL number based on viscosity via
Hybrid Approach
This approach combines the previously-described approaches. The first portion of the
simulation employs the PISO solver on a coarse grid. After the monitored variables
converge for each value of sub-grid scale criterion in the CONVERGE CFD solver , the 1D
utility maps the results to the stand-alone steady-state Newton solver for a faster solution
on a fine mesh. Since the PISO solver approach is more robust , using the hybrid approach
assists in obtaining a stable initial solution and then obtaining a fast solution on a finer
mesh.
approach , the 1D utility generates any necessary CONVERGE inputs automatically. The
1D flame model does , however , require the Case Directory to contain a reaction
mechanism file for species and reaction details ; a thermodynamic data file for the species
thermodynamic constants ; transport.dat for a list of diffusion coefficients ; one_d_solver.in
for the tolerance and iteration frequency ; and one_d_cases.in for the flame type , fuel and
chapter 21).
from left to right are the species name , the inde x indicating if the molecular geometry is
To start the calculation for a 1D premi xed laminar flame , navigate to your Case Directory
and type
converge oned_flame
contains a list of species and reactions in the simulation. The one_d_flamespeed.out file
contains the calculated flamespeed. The transport_check.out file lists the coefficients for
diffusion calculation for each species in the same format as the transport.dat file. The
one_d_sol_case#.out file contains domain-specific output ( e.g., distance the flame front
traveled , temperature , mass flow , and species mass fraction). For e xample, the solution
that corresponds to the first case listed in one_d_cases.in would be in the file
one_d_sol_case00001.out .
determine the flamespeed sensitivity to the pre-e xponential factor A (in Equation 13.0)for
feature works with only the stand-alone 1D Newton solver and the hybrid solver
analysis , the solver first calculates a converged flamespeed and then perturbs the pre-
e xponential factor for the reactions in the mechanism to detect the flamespeed sensitivity
to this factor.
When you activate the sensitivity analysis option , the one-dimensional utility writes files
that contain the sensitivity information for each case in the form one_d_sens_case#.out . The
# corresponds to the cases listed in one_d_cases.in based on the order in which the cases
appear.
This output file contains a list of the species in the mechanism and the sensitivity factor of
each , sorted by largest absolute value to smallest absolute value. The case details are
written as comments at the top of the file. Figure 13.24 shows an example
one_d_sens_cases#.out files.
# CONVERGE 2.4
# column 1 2 3 4
# Place Reaction Sensitivity Reaction_Type
# (none) (none) (none) (none)
#
# One-D premixed flame at pressure = 1.000000e+00 bar, unburned temperature =
3.000000e+02 K, phi = 1.000000e+00, EGR ratio by volume = 0.000000e+00
# Grid Points: 148 Species: 53 Reactions: 325 Flame Speed: 3.8767397e+01
1 38 5.503337e-01 # H+O2=O+OH
2 52 -1.648043e-01 # H+CH3(+M)=CH4(+M)
3 99 1.191751e-01 # OH+CO=H+CO2
4 97 7.664641e-02 # OH+CH3=CH2(S)+H2O
thousands of reactions. These combustion models are too computationally e xpensive to use
in most simulations in which the complementary physical processes (such as heat and
mass transfer or gas motion) are also embodied in the simulations. The computational time
To make the mechanism computationally efficient , you must reduce the number of
reaction species and reactions in a way that maintains solution accuracy. Mechanism
uniform chemical reactor). You must validate the reduced mechanisms at various stages of
The precision with which quantitative agreement between the reduced and full models is
established determines the e xtent of the reduction that can be achieved. This is controlled
CONVERGE uses a basic skeletal mechanism reduction in which all species deemed
unimportant (along with their associated reactions) are removed from the original detailed
mechanism. The skeletal mechanism reduction is based on Directed Relation Graph with
Error Propagation and Sensitivity Analysis (DRGEPSA). The sections below describe the
You can run either stand-alone zero-dimensional cases (described in the previous sections)
ignition delay time for all the cases. For a mechanism reduction , CONVERGE writes the
final skeletal mechanism and the ignition delay times for both the original full mechanism
Mechanism Reduction
The format for a serial e xecution of a zero-dimensional mechanism reduction calculation
is:
converge reduction
in this chapter. The ignition_det.dat file contains the ignition delay data for the original
mechanism. The ignition_ske.dat file contains the ignition delay data for the skeletal
mechanism.
invoke the Dynamic Mechanism Reduction (DMR) option. DMR will reduce the
mechanism during the SAGE simulation based on target weight and error propagation
To activate the DMR utility , you must first activate the SAGE detailed chemistry solver by
that if you activate DMR in conjuction with adaptive zoning , each bin will have its own
Ne x t sage_dmr_flag =
set 1 in combust.in . CONVERGE will look for a file named
sage_dmr.in in the Case Directory. When using DMR , you need to declare two non-
species.in,
transport passives in as shown below in Figure 13.25.
PASSIVE_NT
DMR_NUM_SPECIES non-transport passive name
DMR_NUM_REACTIONS non-transport passive name
Figure 13.25: An excerpt of species.in.
The dmr_mech_info.out file contains statistical information about the species and reactions
theory of directed relation graph (DRG). Each verte x in a DRG as shown in Figure 13.26
represents a species in the detailed mechanism. An edge from verte x A to verte x B exists
only if the removal of species B would directly induce significant error to the production
A ii Bi
,
1 ,
rAB
th
where nA,i is the stoichiometric coefficient of species A in reaction i and wi is the net rate of
a reversible reaction i. The net rate of a reversible reaction is the difference between the
The DRG starts as a set of species specified in the reaction mechanism file , where each
species is represented by a stand-alone verte x in Figure 13.26 below. Then the DRG uses a
user-defined threshold , e, for the normalized contribution , 0 < e < 1. The DRG uses this
threshold to determine which species are retained in the reduced mechanism. The DRG is
Figure 13.26 below is a simplified representation of a DRG. In this e xample, if you set
e =0.15 , species G and J from the detailed mechanism depicted in (a) get removed to reduce
(a) (b)
Figure 13.26: (a) Original DRG, (b) DRG reduced (e=0.15).
that appear e xplicitly in reactions involving A. If species B is not in the primary dependent
necessary for A only if it is necessary for B and B is necessary for A. This indirect coupling
the product of the normalized contributions along path i between species A and B. The
rAB i r Y ,
, X
Y i
X
In the Directed Relation Graph with Error Propagation (DRGEP) method , the species
selection procedure is based on the RAB values instead of the rAB values used in the DRG
For e xample, consider the case in Figure 13.27 , for the path from species A to D:
RAD ma r r r r r
x AD ,i max ( AB BD ), ( AC CD ), ( AC CE ED ).
all paths i
r r r (13.204)
To e xplain this further , the path-dependent coefficients for each species (with respect to A)
as seen in Figure 13.26 (from the previous section) are shown in Figure 13.28.
Species RAi
A 1
B 0.5
C 0.6
D 0.12
E 0.48
F 0.3
G 0.006
H 0.036
I 0.096
J 0.01
Figure 13.28: Sample DRGEP path-dependent coefficient calculations.
If you set e = 0.1 , then the species G, H, I, and J are removed from the original mechanism.
algorithm (Raju et al. , 2012) consists of two phases: (1) DRGEP and (2) Sensitivity Analysis
To begin the DRGEPSA process in CONVERGE , set up several autoignition simulations for
the given range of initial temperature , pressure , and equivalence ratio conditions. For each
case , a set of sample points are selected along the integration curve at 10 K intervals. For
each sample point , the DRGEP coefficients are calculated based on a set of target species.
Once the overall interaction coefficients (OICs) are calculated , different cut-off tolerances
for OICs are chosen and a skeletal mechanism is generated for each cut-off value. For each
of the resulting skeletal mechanisms , autoignition simulations are performed and the
ma ximum error in the ignition time delay values as compared to the detailed chemistry is
calculated. An optimal mechanism is thus chosen as the smallest mechanism whose error
Once the optimal mechanism is obtained from the DRGEP step , sensitivity analysis is
performed to further reduce the size of the mechanism. In the sensitivity analysis phase ,
the OIC values of the species in the skeletal mechanism are arranged in ascending order
and a fi xed fraction of the species from the top of the list is chosen for sensitivity analysis.
The error induced by each of the species is calculated by removing this species from the
DRGEP-generated skeletal mechanism. The error in the ignition delay is then calculated for
the resulting skeletal mechanism. This error is an indication of the sensitivity of the species
Now the species are arranged in ascending order based on this error. In the ne xt ,
step the
optimal skeletal mechanism is determined from the sensitivity analysis. This is done by
removing the species identified from the top of the list one by one from the DRGEP-
generated mechanism until the error generated by the resulting skeletal mechanism is less
than the user-defined tolerance for ignition delay. Thus the optimal skeletal mechanism is
In CONVERGE , DRGEPSA can be e xecuted in parallel. You can expect linear scalability as
you increase the number of processors until the number of processors e xceeds the number
14 Emissions Modeling
Species of interest such as CO , CO2 , and unburned hydrocarbons are always calculated or
interpolated in CONVERGE , provided they are included in the reaction mechanism file
CONVERGE contains two NO x models: thermal NO x and prompt NO x. You must include
the passive NO X in species.in if your simulation includes either of these models. The
Another option to calculate NO x is via the SAGE detailed chemistry solver. If the SAGE
reactions in the mechanism data file ( e.g., mech.dat ) and the thermodynamic data file ( e.g.,
therm.dat ) to model NO or both NO and NO2. It is important to carefully compare the
typically only a small effect on the global combustion characteristics. In general , for
diffusion flames , as the Schmidt number increases , the predicted fuel-air mi xing decreases ,
which yields a lower NO x concentration. For premi xed flames , as the Schmidt number
ON 2
NO N ( R 1)
N O 2
NO O ( R 2) (14.205)
N O H NO H ( R 3).
kR 1 , f 7.6 10
13
e xp 38 , 000 T
kR 1 , r 1.6 10
13
kR 2 , f 6.4 10
9
T e xp 3 , 150 T
kR 2 , r 1.5 10
9
T e xp 19 , 500 T (14.206)
kR 3 , f 4.1 10
13
kR 3 , r 2.0 10
14
e xp 23 , 650 T ,
where the subscript f denotes a forward reaction and the subscript r denotes a reverse
reaction. The units of the rate constants in Equation 14.206 are cm mol s.
3
/
From the reactions in Equation 14.205 , the rate of formation of NO can be written as
d NO k O N k NO N k N O kR r NOO
R f R r R f
dt 1 , 2 1 , 2 , 2 2 ,
(14.207)
kR f N O kR r NO ,
3 ,
H 3 ,
H
14.207 can be rewritten by assuming that the steady-state appro ximation is valid for N
[ ].
The rate of formation of [ ] N can be written as
d N k O N k NON kR N O kR r NOO
R f R , r f
dt 1 , 2 1 2 , 2 2 ,
(14.208)
kR f N O
3 ,
H kR r NO
3 ,
H .
If d[N] dt
/ is set equal to 0 in Equation 14.208 ,[ ] N can be eliminated in Equation 14.207. It
d NO k O N NO K O N
1
2
R f ,
2 2
dt kR r NO kR f O kR f O
2 (14.209)
,
1 2
1
1 , 2 , 2 3 ,
H
where
K kR 1 , f kR 1 ,
k
r R , f 2
kR 2 , r . (14.210)
If equilibrium values of O O
[ ], [ H ], and [H ] are assumed (set nox_radical_model = 0 in
emissions.in ,
) Equation 14.209 can be rewritten as
d NO R NO NOe ,
2
1
2
dt
(14.211)
NO NO e R 1
where
R R 1
R R 2 3
(14.212)
and
R kR r NOe N e
1 1 ,
R kR f N e O e
2 2 , 2 (14.213)
R kR f N e O e ,
3 3 ,
H
Equations 14.211 through 14.213 require that equilibrium species concentrations are
kR NOe N e
KR
1 , f
1
kR 1 , r O e N e 2
(14.214)
and
kR NOe Oe
KR
2 , f
kR N e O e
. (14.215)
2
2 , r 2
By eliminating N
[ ]e /[ ]eO in Equations 14.214 and 14.215 , it can be shown that
NOe K R K R O e N 1 2 2 2
e . (14.216)
Similarly N
, [ ]e can be calculated from reaction R2 via
kR r NOe Oe
N
e
2 ,
,
kR 2 , f O e 2
(14.217)
which requires O
[ ]e to be known. As described by Heywood (1988) O
, [ ]e can be determined
from
O
e
KO O 1 2
,
RuT
e 1 2 2 (14.218)
1
O 2
O. (14.219)
2
31, 090
KO 10 3
xp atm
1 2
T
3.6 e (14.220)
O H e O K H
O 2
e H e , 2
1 2
(14.221)
O 2
H 2
O H O H. (14.222)
is given by
8567.17
KO 23.4936 exp .
H
T (14.223)
With the equilibrium constants calculated , Equation 14.211 can now be solved by
rewriting it as
d R , 2
1
1
2
dt NOe R 1
(14.224)
where
NO NO e . (14.225)
1 ,
2 1 2
2
(14.226)
where
2 R dt
1
,
NO e R
(14.227)
1
evaluated at the end of the computational time-step dt . Recasting Equation 14.226 in the
form of a quadratic equation leads to the following solution for the updated value of a:
1 1 4
,
1
(14.228)
2
2
where b, given by Equation 14.227 , is evaluated using a1, which is the value of a at the
start of the computational time-step. Equation 14.228 is used to calculate the updated
value of a and Equation 14.225 is then used to calculate [ NO] at the end of the time-step.
combustion reactions. Such an assumption is possible because the kinetics of the thermal
NO x formation rate are slower than the main hydrocarbon o xidation rate and thus most
valid for high temperature ( > 2200 K ) combustion. For this approach , Equations 14.218
and 14.221 give the formulations for the concentration of O and OH radicals , respectively.
describes the third-body reactions and Equations 14.230 to 14.231 describe the equations
O M OO M
2 (14.229)
O
36.64 T 1/2
O 2
1/2
e 27123/ T
. (14.230)
O H 2.129 e T 2
0.57
e 4595/ T
O
1/2
H 2
O 1/2
. (14.231)
The third approach ( nox_radical_model = 2) requires a combustion model that invokes the
SAGE detailed chemical kinetics solver ( e.g., SAGE by itself , G-Equation , FGM). Based on
reactions in mech.dat, SAGE predicts the O atom concentration and CONVERGE simply
takes the concentration of O radicals as the local O species mass fraction. Likewise ,
CONVERGE takes the concentration of OH radicals from the local OH species mass
fraction.
equilibrium assumption is made for the O/OH radical model. Refer to the emissions.in
section of Chapter 22 - Input File Reference for a complete list of parameters that you can
tune.
By default , a factor of 1.533 (the ratio of molecular weights of NO2 to NO) is used to
convert the predicted NO to NO x. You must verify that this factor reflects the
report only NO or if both NO and NO2 were measured , then this value may change and
Fenimore (1971) identifies a rapid transient formation of NO (so-called " prompt "
NO ) in
fuel-rich , low-temperature conditions. This mechanism is most useful for gas turbine ,
surface combustion , and staged combustion applications. The prompt NO mechanism is
To solve the reaction rates , CONVERGE uses the De Soete (1975) global kinetic parameter:
[
d NO ]
=r ,
dt
- r (14.232)
NOx N2
where rNOx is the overall prompt NO x formation rate and rN2 is the overall molecular
Equation 14.233). This scenario occurs during initial stages of the flame.
[ ] a
d NO
= k pr O N fuel speciese Ea / RT
dt 2 2
(14.233)
By applying a correction factor to the De Soete model , the performance of the model given
by Equation 14.233 improves for fuels with higher hydrocarbon content and in fuel-rich
conditions. This factor accounts for the effect of fuel type and air-to-fuel ratio. Applying
[ ] a
d NO
= f pr O N fuel speciese Ea / RT
dt
k . (14.234)
2 2
f 4.75 n
0.0819 23.2 32 12.2 , 2 3
(14.235)
number of carbon atoms per molecule for hydrocarbon fuel (calculated from the fuel listed
for fuel_name combust.in in ). Note that the correction factor f is valid for equivalence ratios
between 0.6 and 1.6 and f is a curve fit to e xperimental data and thus valid for aliphatic
alkane hydrocarbon fuels (Dupont et al. , 1993). For k'pr and E'a, select appropriate values
as described in Dupont et al. (1993). Currently , the prompt NO x model supports only
single-component fuels. If you use this model in a simulation that contains a multi-
component fuel or in a simulation that contains multiple fuels , CONVERGE will calculate
n only based on the fuel_name combust.in in (the single-component fuel) and the results will
be incorrect.
After applying the correction factor to Equation 14.233 , the source term due to the prompt
NO x formulation is
Sprompt NO Mw NO d NO
dt
. (14.236)
, ,
The work of De Soete (1975) asserts that the o xygen reaction order depends uniquely on
the o xygen mole fraction in each cell. Equation 14.237 describes the reaction order.
1.0 XO 4.1 3 e
e e
2
(14.237)
XO 0.03
0
2
passive NO xspecies.in
in . In order to use prompt NO X modeling , we recommend that you
( R1 R3
)-( R
) and ( 5 ) above. You must ensure that you include both O and OH reactions in
the reaction mechanism file. You can also set the the global equivalence ratio used for the
The soot models outlined in the sections below describe the comple x soot formation and
o xidation process using several global steps, including soot inception , surface growth ,
coagulation , and o xidation.
Soot inception is the formation of the smallest solid soot particles from the gas-phase
Inception serves as the link between gas-phase chemistry and soot particle dynamics and
Soot surface growth is necessary to accomplish two-way coupling with the gas phase.
Soot mass growth and heterogeneous reactions on surfaces as well as loss of soot
particles due to reactions with gas phase species must be included in a detailed
Soot coagulation is a physical process of collisions between small soot particles leading to
Soot condensation indicates the gas phase species (such as PAHs) coagulate together and
Figure 14.11 shows a summary of the models used in CONVERGE to describe the various
steps of soot formation. The reaction rates of these global steps are determined by either
empirical e xpression (you can adjust some parameters to match the e xperimental results)
Figure 14.238: A descriptive overview of soot formation, with the various models used to simulate soot
formation in CONVERGE.
Image source: http://www.ryerson.ca/~dworkin/research/research.html.
The soot models implemented in CONVERGE typically are solved with detailed PAH
chemistry.
CONVERGE offers the Hiroyasu-NSC model for empirical soot oxidation model.
models. CONVERGE contains two detailed soot models: Particulate Mimic (PM) model
and Particulate Size Mimic (PSM) model. Detailed soot models apply comprehensive
mathematical description for the soot particle size distribution function (PSDF) and solve
the comple x soot formation and oxidation with detailed chemistry. The detailed soot
models feature good capability over wide ranges of operating conditions. They are the best
models are more computationally efficient , but are not as comprehensive as the detailed
soot models. Detailed soot modeling takes into account the various steps of soot formation:
A summary of the emissions.in parameters used to configure all these soot models can be
CONVERGE offers one empirical soot model: the Hiroyasu model , which is coupled with
The production of soot mass Ms g ( ) within a computational cell can be determined from a
dMs M sf M so ,
dt (14.239)
M sf SF M form
(14.240)
and
SF Asf P 0.5
e xp( sf E RuT/ ). (14.241)
In Equations 14.240 and 14.241 , Mform is the mass of the soot formation species (typically
fuel vapor) in grams, P is the cell pressure in bar, Ru is the universal gas constant in cal K g
/(
mol , T
) is the cell temperature in K, Esf is the activation energy in cal (g mol),
/ and Asf is the
To model soot o xidation, CONVERGE uses the Nagle and Strickland-Constable model
(1962) (NSC). This model considers carbon o xidation by two mechanisms. The rates of
these mechanisms depend on surface chemistry involving more reactive A sites and less
reactive B sites. In this model , the net reaction rate Rtotal is given by
K A PO
Rtotal X B OKP X) mol cm s , 2
K PO
2
(1
2
(14.242)
1 Z 2
PO
PO KT KB
2
X . (14.243)
KA 20 e xp 30 , 000 / u RT
mol cm s atm 2 1 1
KB 4.46 10 3
e x ,
p RuT mol cm s atm
15 200 /
2 1 1
KT RuT mol cm s
(14.244)
1.51 10 5
e x ,
p 97 000 /
2 1
K
Z
21.3 e xp 4 , RuT atm
100 / 1 .
If it is assumed that the soot particles are spherical and uniform in size , the surface area S
( cm 2
) for o xidation can be written as
S N p soot Ds 2
6 Ms ,
s Ds
, (14.245)
where Np,soot is the total number of soot particles , Ds is the nominal soot particle diameter in
where MWc g mol ( / ) is the molecular weight of carbon. If a scaling factor Aso ,
is included the
s Ds
. (14.247)
M so SO Ms ,
(14.248)
with
SO Aso 6
R total MWc
s Ds
. (14.249)
Using Equations 14.240 and 14.248 , Equation 14.239 can be rewritten as a first-order
d s SO SF ,
dt s form (14.250)
which has been recast in terms of species densities , where r form is the density of the soot
formation species. Equation 14.250 can be integrated analytically with the method of
constant coefficients. The result is the following e xpression for the soot species density r sn 1
+
SF form
sn
1
C xp SO dt
SO
e . (14.251)
The constant of integration C can be determined because the soot species density is equal
to r
n
s at the start of a computational time-step. Substituting the result for C yields
SF form n SF form
sn xp SO dt ,
SO s SO
1
e (14.252)
which also can be written in terms of the difference in soot density at the start and end of
SF form n
sn sn
1
s exp SO dt
SO
1 . (14.253)
Equation 14.253 is used in CONVERGE to update the soot density in each computational
You can tune many of the parameters of the phenomenological soot models to adjust for
the SAGE detailed chemistry solver and requires a detailed mechanism to calculate
averaged soot mass and number density. The soot formation is assumed to be one-way
coupled with the gas phase chemistry ; that is , soot formation will not affect gas phase
chemistry and system parameters such as temperature and pressure. These models
In engine simulations , the soot number density and soot mass density are solved as global
DM M S , (14.254)
Dt SC
M
Table 14.11 below summarizes the model parameters employed by each of the three
phenomenological soot models. A more detailed formulation of the source terms for each
Table 14.11 Model parameters and typical application of each phenomenological soot model.
Gokul Model Dalian Model Waseda Model
Soot Precursor Pyrene (A4) C50 Acenaphthylene radical
(A2R5)
(R2) (Hydrogen-
Abstraction/Carbon-
Addition)
Soot Oxidation (R3) Revised NSC (Nagle and NSC model/OH radical NSC/OH/NO
Strickland-Constable)
model/OH radical
model model
(Homogeneous Charge
Compression Ignition)
The Gokul , Dalian , and Waseda phenomenological soot models can be used only with the
dense solver option ( sage_ode_solver = 0) and with the numerical Jacobian matri x solution
option ( sage_analyt_ ac = j ,
0). However you can set SAGE with adaptive zoning for these
soot models. Soot-related output averaged soot number density , soot mass , and the mass
for different soot sub-processes (nucleation , surface growth , oxidation, and coagulation)
will be written to phenom_soot_model.out file.
Gokul Model
The Gokul phenomenological soot model (Vishwanathan and Reitz , 2010) is best suited for
low temperature diesel engine simulations. Activate this phenomenological soot model by
You must include the soot precursor for this model , pyrene (A4) , in the gas chemistry
Soot Inception
A C s
4 16 ( ) 5H
2
(14.255)
R k [A ]
1 1
4
k 1
{s } 2000
1
R k C
2 2 2
H2
12100
k 9.0 10 4
xp S
T
e
2
S dp N 2
Y
1/3
dp c s
6
N
cs
dp is the particle size , Yc(s) is the soot mass fraction , r is the ambient density , rc(s) is the
Soot Oxidation
Oxidation through O C s 2
: 1/2 O CO ;
2
(14.257)
Oxidation through O C s O H : H CO 1 / 2H
2
;
R RO RO 3 2 H
O xidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model) , while oxidation through OH uses the Neoh model (Neoh et al. , 1984).
Soot Coagulation
nC s C s n (14.258)
M
6 c s
1/6
6 K T
1/2
Y
c s
1/6
R 2 Ca bc N 11/6
4
c s
c s
M
cs
Ca is the coagulation coefficient , Mc(s) is the carbon molecular weight (12 g-cm -3
) , Kbc is
The source terms for the soot species density and number density are calculated as follows:
S M R 16
1
R R MC s for speciesdensity
2 2 3
(14.259)
M
S M R C s R for number density
Mnuci
16
1 4
Mnuci dnuci C s 3
Mnuci is the mass of incipient soot , assumed to have a diameter , dnuci = 1.28 nm
(appro ximately equivalent to 100 carbon atoms).
Dalian Model
The Dalian phenomenological soot model J
( ia et al. , 2009) is best suited for diesel
In addition to the other passives you need to define in order to use any phenomenological
soot model , you must also include the soot precursor for this model , C , as a passive in
50
Soot Inception
C 50
n C s m (14.260)
R 1
C 50
8.0 10
10
e xp 61597 / RT
R 2
1.05 10 4
e xp( 6159.7 / RT [C )
2
H2 ] dp N
2
Soot Oxidation
Oxidation through O C s 2
: 1/2 O CO ;
2
(14.262)
Oxidation through O C s O H : H CO 1 / 2H
2
;
R RO RO 3 2 H
O xidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model) , while oxidation through OH uses the Neoh model (Neoh et al. , 1984).
Soot Coagulation
nC s m C s n m *
(14.263)
R 4
1
N 2
b is the collision coefficient , which is estimated by the Kazakov-Foster model (Kazakov and
Foster , 1998) by considering the particle collision in both the free-molecular and near-
The source terms for the soot species density and number density are calculated as follows:
S M R R R MC s for speciesdensity
50
1 2
3
(14.264)
Waseda Model
The Waseda phenomenological soot model (Kaminaga et al. , 2008) is best suited for
medium duty diesel engine simulations. Activate this phenomenological soot model by
below:
Soot Inception
A R C s
2 5 12 4H
2
(14.265)
R 1
A R
2 x
5 1000 e p 5000 / RT
Csoot Csoot H H *
H2 (14.266)
Csoot O Csoot
H H *
H2
Csoot Csoot *
H H H
Csoot C Csoot
*
H 2
H2 2 H H
SOOT
Asoot f n
*
8168
R ks PC
T N
0.5 tanh 4.57 1
2H 2
active surface site density of soot particles , Asoot is the surface area fraction of soot
particles per unit volume , and fn is the soot number density. Refer to Kaminaga et al.
Soot Oxidation
Oxidation through O C s O CO ; 2
: 1/2
2
(14.267)
Oxidation through O C s O CO H : H 1 / 2H
2
;
Oxidation through NO C s NO CO N : 1/2
2
;
R RO RO RNO 3 2 H
O xidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model). O xidation through OH uses the Neoh model (Neoh et al. , 1984). O xidation
through NO uses the reaction probability concept proposed by Gersum and Roth (1992).
Soot Coagulation
nC s m C s n m *
(14.268)
R 4
5
kcoag f v f n 1/6 11/6
kcoag is the coagulation coefficient , fv is the soot volume fraction , and fn is the soot number
density.
The source terms for the soot species density and number density are calculated as follows:
S M R R R MC s for speciesdensity
1 2
3
(14.269)
The detailed soot models available in CONVERGE solve the comple x soot formation and
oxidation with detailed chemistry. The detailed soot models feature good capability over
wide ranges of operating conditions. The properties of a soot ensemble can be described by
the particle size distribution function (PSDF). The PSDF of soot can be obtained by solving
equations for the number density of all size classes , based on the condition that the
different physical and chemical processes changing the PSDF are known. This results in an
However , even if an upper limit is set , there will still be hundreds of thousands of
today s computer power. Therefore , the size of the problem must be reduced using certain
mathematical methods. In practical simulations , most people are interested only in the
integral features of the PSDF , which provide the most important information about the
soot particle ensemble , such as mean particle number density , mean mass or volume , and
The method of moments developed by Frenklach and Wang (1991) , Kazakov et al. (1995) ,
and Kazakov and Frenklach (1998) is based on the fact that solving an infinite set of
equations for the statistical moments of the PSDF is equivalent to the direct simulations of
the PSDF. This method can be shown to have sufficient accuracy using only a few
moments for global observables , such as mean number density and soot mass. Usually a set
of equations for the first two to si x moments is applied. The accuracy of the approach
The main advantages of the method of moments is its computational efficiency and that
the major features of the PSDF , such as mean number density and soot volume fraction ,
can be e xtracted from the moments. The Particulate Mimic (PM) model in CONVERGE is
based on the method of moments introduced above. The different processes leading to the
formation and oxidation of soot particles included in the model are briefly described
The basic physical and chemical processes assumed to be important for the formation of
reactions , i.e., surface growth and o xidation by OH and O2. The dynamics of the soot
particle characteristics can be described by a set of equations for the moments of the soot
dMr M M M M (14.270)
dt r pi r con r coag
, r sr , , ,
Mr i i r N i
1
(14.271)
Where Ni is the number density of soot particles of size class i. It can be seen from the
th
definition that the zero moment is related to the mean number density , whereas the first
moment is related to the mean mass or mean volume of the soot particles.
Each moment in the particulate mimic model is solved as global transport passive:
D M r M r (14.272)
SMr
/
Dt SC
S Mr M r pi M r con M r sg M r ox M r coag
, , , , ,
SC is the Schmidt number , and S Mr represents the source term. The moment source term
is coupled with species source term and solved using SAGE solver. It is a two-way
coupling , which means that the soot formation will affect the gas phase and system heat
release.
equation:
i
N i pi N P Ni
1
1 P (14.273)
, j, i j j j ,
2 j 1
where
P
N j
denotes the number density of a PAH molecule of size j and
i, j
the frequency
K BT
ri r ,
8 2 (14.274)
i ,
i ,
j j
where
i, j
is the reduced mass and ri and r j
are the radius of particles i and j, respectively ,
and is the collision enhancement due to inter-particle forces (Balthasar et al. , 2002).
The rate of the moments of the soot size distribution can be obtained by multiplying
Equation 14.273 by ir and summing over all the size classes , leading to
r
M r pi i
,
1
j i ,
P
j
Ni P N j
.
(14.275)
i 2 1 j 1
By assuming constant density of soot particles and the size of two collided PAH molecules
are of similar order , the formulation of soot inception can be simplified. Furthermore , the
sizes i and j are appro ximated by the mean size < >, i in terms of moments
P
M 1
/
P
M 0 . It
can be shown that the mean size of PAHs does not vary significantly in test simulations. It
(Mauss 1998). By setting the mean size of PAHs to a constant value , the rate of particle
M r pi C pi T ,P M
, 0 2 i ,
r (14.276)
where Cpi is a pre-factor depending on the temperature and PAH formation rate.
reactions with gas phase species on their surface is described by a detailed growth and
(1.a) C
soot i ,
H +H
k
1a
C
*
soot i ,
+H 2
(1.b) C
soot i ,
H + OH
k
1b
C
*
soot i ,
+H 2
O
(2) C
*
soot i ,
+H k
2
C
*
soot i ,
H
(3.a) C
*
soot i ,
+C 2
H
2
k
3a
C
*
soot i ,
C H
2 2
(3.b) C
*
soot i ,
C H
2 2
k
3b
C
*
soot i , +1
H +H
(4.a) C
*
soot i ,
+O 2
k
4a
C
*
soot i-1 ,
+ 2CO
(4.b) C
*
soot i ,
C H
2 2
+O 2
k
4b
C
*
soot i ,
+ 2CHO
(5) C
soot i ,
H + OH k
5
C
*
soot i-1 ,
+ CH + CHO.
C H
,
soot i is an active site on the surface of a soot particle with terminal H-C bound and
C
*
,
soot i is an active radical site on the surface with i and i1
+ denoting the size classes.
mechanism while (4-5) is for the o xidation. The detailed discussion on HACARC
mechanism can be found in Mauss (1998). The rates of surface reactions can be formulated
as follows:
r r
f A k s Mk mr k , r , ,
1
M r sg k a f C
(14.277)
, 3 , 2
H2 a 3 2
1 2
k 0 3
r r
k a O k O A k s Mk mr k , r ,
1
M r ox
,
(
4 2 5
H )
2
1 2 ,
k 0 3
where a is the fraction of surface site ranging from 0 to 1 and m is the change of mass in
one reaction step ( i.e., m= 1 for surface growth and -1 for oxidation). A is the rate
k a f k b f k O
A
H H H (14.278)
1 , 1 , 5
k ab 1 ,
H2 k b b O k k a f C
1 ,
H2 2
H 3 , 2
H2 af 3
k O
4 2
kbf
fa 3 ,
k b f k a b k b O
.
3
3 , 3 , 4 , 2
Soot Coagulation
In general (and also in the PM model) , coagulation is described by the Smoluchowski
(1917) equation as
i
N i coag i N N i Ni N
1
(14.279)
i ,
1
.
, j, j j j j j
2 j 1 j 1
The frequency factor depends on the Knudsen number regime. For large Knudsen
M fmcoag
0 ,
0.5 0.0
M 2
0
(14.280)
M fmcoag
0 ,
0
r r
M M
1
fm
r ,coag k ,r k
2
k 1
k 0
.
reduced moment , Mr M0 / .
The rate of coagulation in the continuum regime at small Knudsen numbers takes the
following form:
M c coag K M M M
0 ,
2
M rc coag K Mk Mr k Mk Mr k
,
2
1
1
3 3
2.154 S C M k Mr k M k Mr k
1 1
M k Mr k
1/3 2 /3 M k Mr k 2 /3 1/3 ,
3
3
path.
The rate of coagulation valid for the entire regime of Knudsen numbers is then obtained by
forming the harmonic mean of the continuum and free molecular rate as
M rfmcoag M rc coag
Mr coag fm c ,r
(14.282)
, , ,
, ,
Mr coag Mr coag
0 2 3
,
, ,
Soot Condensation
In the PM model , soot condensation is modeled as the coagulation of PAH molecules with
soot particles described by the Smoluchowski (1917) equation in the following form:
r
M r con i
,
j ,i
j
P
j
N S N i i r i P N S N i
j ,j j
.
(14.283)
i 1 j 1 i 1 j 1
The first term describes the formation of particle of size i, while the second term indicates
the loss of particles of size i due to coagulation with PAHs of all size classes.
By assuming the size of soot particles is much larger than that of PAHs , constant size of
r
M r con CLib con r k Mk
1
(14.284)
1/2
, ,
j 2 /3 ,
k 0
where
C
Lib ,con is a prefactor depending on the temperature and PAH formation rate and
Mk 2 /3 is the broken moment obtained by interpolation of all the moments (Mauss , 1998).
The PM model is efficient for obtaining detailed soot information such as cell averaged soot
number density and mass , but it does not reveal the particle size distribution function
(PSDF) for each cell. The Particulate Size Mimic model (PSM) , based on the discrete
sectional method (Wen et al. , 2005 ; Kumar and Ramkrishna , 1996) , can obtain the PSDF
information in addition to the detailed soot information that can also be obtained from the
PM model.
The PSM model is based on the definition of sections containing the particles with the
v min vMIN
1 , (14.285)
v vi min vi max ,
i ,mean
, ,
where vMIN is the volume of the smallest soot particle considered. In CONVERGE , vMIN
is defined as the volume of the soot precursor (0.4e-27 m 3
for pyrene) , while the vMA X
is
defined as the volume of the biggest soot particles (appro ximately 100 nm in diameter).
Note that you can limit the size of the biggest soot particle by changing the value of the
section.
qi(v) is the distribution function of v for each section. The total volume fraction Q
i for each
section will be
vi ,
Qi
vi ,
ma
min
x
qi v dv .
(14.286)
In CONVERGE the distribution function qi(v) for v is presented in the following first-order
polynomial:
qi v qi v qi (14.287)
q ki ki ,
i
2
where ki
and ki
are the slopes of the left and right boundaries of qi(v) respectively. These
values are calculated so that the soot streams transported through different sections are
qi Qi
qv
i i ,mean .
(14.288)
vi min vi max
, ,
The ma ximum boundary is increased using the following non-linear formulation to obtain
v 1 ,
v
max MA C X
v 2
(14.289)
i
v
1
imax
v v v
1
MA
C
X
i ,max MIN
v v
.
MIN C
2
Each section in the particulate size mimic model is solved as a global transport passive , as
follows:
D i i (14.290)
S i
Q / Q
Dt SC Q
S i i pi i con i sg i ox i coag ,
Q
Q, Q, Q, Q, Q,
where SC is the Schmidt number , and S iQ represents the source term for each section.
Similar to the PM model , the section source term is coupled with the species source term
and solved using SAGE solver. It is a two-way coupling , which means that the soot
formation will affect the gas phase and system heat release. As with the PM model , in the
PSM model , soot inception , coagulation , condensation and surface reactions are taken into
account.
PAH species. By applying the same assumptions as were applied in the PM model , a
Qi , pi v
2 PA fm , pi PA PA ,
H
v H
N 2
H
(14.291)
where vPA H
is the volume of the PAH species ,
fm,pi is the collision coefficient for the
regarded as the first section , while the source term for other sections is zero.
section , in the PSM model. For each section the surface growth rate Q
i,sg and o xidation
rate Q
i,ox are calculated as (Marchal , 2008):
v k k q v v
q v v
3 3 3
(14.292)
3 3
Qi ,sg c d rev i ,min i i ,max i ,min
3 i i ,max
3 3 3 3 3
v k k qi vi max vi min qi vi max vi min ,
3 3 3
3 3
Qi ,ox c 3
O O 3 3 3 3
, , , ,
3
2 2 H
where is the fractional dimension of the soot (Marchal , 2008) and k is the reaction rate
coefficient as noted.
Soot Coagulation
In the PSM model , soot coagulation forms in a manner similar to soot condensation. The
formulations for coagulation for each section are given as follows (Marchal , 2008):
Qi ,coag vk v N k N coag vk , v
j j j vk N k N i coag vk , vi (14.293)
vi ,min vk v vi ,max
j
vk vi vi ,max
vN
i i N i coag vi , v vi N i N i coag vi , vi
j
2 .
vi v vi ,max
j
Soot Condensation
In the PSM model , soot condensation will cause the transportation of particles from one
section to the other. Formulations of conserving the concentration and soot mass are
v,
Qi ,cond PA v N PA vii
H H
ma
,min
x
fm ,cond vPA , v n v dv.
H
(14.294)
The concentration of PAHs must be evaluated in order to calculate the above equation.
The PAH volume fraction for the condensation and inception models is calculated as
iMA vi ,max
RPA v v N N PA fm ,cond vPA , v n v dv.
X (14.295)
H
2 fm , pi PA , PA PA
H H
2
H H H
i 1 v i ,min
The soot evolution by condensation of the section i results from the difference between the
exit particle before condensation of section i and the entry particle after condensation with
q
Qi ,cond i,cond i,cond , q (14.296)
where q
i,cond is the flow of soot particles leaving section i and q
i,cond is the flow of soot
particles entering the section i. The distribution between the sections is then written as
q
i,cond
1
Qi ,cond
(14.297)
q
i,cond
1
Qi ,cond .
vi ,max vi ,min ln vi ,max / vi ,min
1
1 1
Q ,cond i,cond
1
q (14.298)
q q
Qi ,cond i,cond i,cond , 2 , 3 , , 1 i i
Qimax ,cond imax q
,cond . 1
Note that these e xpressions are correct when the PAHs only jump from one section to the
ne xt. If the number of sections increases to the point that the section sizes fall below the
To activate soot modeling , you must set emissions_flag = 1 in combust.in and include both a
combust.in and an emissions.in input file. For a complete list of parameters associated with
To set up the Hiroyasu-NSU model in CONVERGE , specify values for the hiroy_* soot
emissions.out file.
You can use the Hiroyasu-NSU model along with the more detailed soot models. However ,
only one detailed or phenomenological soot model may be activated at one time when
We recommend that you couple the SAGE detailed chemistry solver with all the non-
empirical soot models for the most accurate results. You can simulate detailed soot models
combust.in ) or RIF. With the detailed soot models , you can activate the iterative solver
the calculation. Detailed soot modeling is also compatible with dynamic mechanism
While the detailed soot models are typically tightly two-way coupled with the SAGE
detailed chemistry solver , you can force detailed soot modeling calculations to run with a
different chemistry solver by setting detailed_soot_flag = 3 for the PM model and = 4 for the
PSM model.
Phenomenological models provide the soot number density , the soot mass and the soot
mass due to nucleation , surface growth , o xidation and coagulation. You can obtain
averaged soot number density , soot mass , soot size , and the mass for different soot sub-
PM and PSM detailed soot models. When using the PSM model , you can also obtain the
PSDF.
soot_psm_model.out
written to .
-
-
PASSIVE
soot_num_density 0.78
soot_mass 0.78
c50 0.78 (used for Dalian model only)
nuc_rate 0.78
sg_rate 0.78
ox_rate 0.78
coag_rate 0.78
-
-
Figure 14.31: An excerpt of a sample species.in file that contains passives used by the
phenomenological soot models.
-
-
PASSIVE
mr0 0.78
mr1 0.78
nuc_rate 0.78
sg_rate 0.78
ox_rate 0.78
fr_rate 0.78
con_rate 0.78
coag_rate 0.78
-
-
Figure 14.32: An excerpt of a sample species.in file showing passives used by the PM model.
Figure 14.33 in species.in. Include the number of sr * passives that corresponds to the
-
-
PASSIVE
sr1 0.78
sr2 0.78
sr3 0.78
sr4 0.78
nuc_rate 0.78
sg_rate 0.78
ox_rate 0.78
fr_rate 0.78
con_rate 0.78
coag_rate 0.78
-
-
Figure 14.33: An excerpt of a sample species.in file showing passives used by the PSM model.
Soot Precursors
When using the PM or PSM model , at least one of the following compounds must be
CONVERGE searches mech.dat for these compounds (in the order in which they are listed
in the previous sentence) and assigns as the soot precursor the first one of these
compounds that it finds in mech.dat . (For e xample, A4 will be the soot precursor only if
The soot precursor for each phenomenological soot model is hard-coded in CONVERGE.
For the PM , PSM , or phenomenological models , you can add other soot precursors via
additional soot precursors via num_soot_precursor, and then list each additional soot
precursor (on a separate line) with the keyword precursor species . Figure 14.34 below
1 custom_soot_precursor_flag
2 num_soot_precursor
a4 precursor species
c2h2 precursor species
Figure 14.34: Excerpt of an emissions.in file that shows C2H2 as an additional soot precursor.
15 Turbulence Modeling
Turbulence significantly increases the rate of mi xing of momentum , energy , and species.
For a wide variety of applications , it is difficult to attain accurate CFD simulation results
turbulent eddies in the flow. These turbulent eddies occur at many length scales. If a CFD
solver does not contain a discretized domain (grid) that can resolve the smallest eddy
length scales , then the solver cannot entirely account for the enhanced mi xing effects of
turbulence in the simulation. Currently it is not practical to resolve all of the length scales
in a typical CFD simulation , and thus turbulence models are used to account for the
additional mi xing.
turbulence.in file in the Case Directory. Table 15.1 below summarizes the turbulence models
CONVERGE requires turbulence modeling ( i.e., you must set turbulence_solver_flag = 1 and
include the turbulence.in file) when any of the following conditions apply:
The law-of-the-wall ( la ) boundary condition for velocity is specified for any boundary in
boundary ,
The O'Rourke or TKE-preserving model is specified for turbulent dispersion ( i.e.,
turb_dispersion_flag = 1 or 2 in spray.in , ) or
The CTC (Characteristic Time Combustion) model has been enabled ( ctc_flag = 1 in
combust.in ).
If you are using CONVERGE Studio to configure the input files , CONVERGE Studio will
automatically activate turbulence modeling when any of the above conditions are true.
v 2
f RANS_K_EPS_V2F
f RANS_K_EPS_ZETAF
Standard k-
(1998) RANS_K_OMEGA_STD_98
Standard k-
(2006) RANS_K_OMEGA_STD
k- SST RANS_K_OMEGA_SST
Smagorinsky LES_SMAG
e (Han and Reitz , 1995) , Realizable k e,- Standard k- 1998 (Wilcox, 1998), Standard k-
2006 (Wilco x, 2006) , and k- SST. These models are two-equation RANS models in which
the flow variables ( e.g., velocity) are decomposed into an ensemble mean and a fluctuating
term as follows:
i u
i u u
i .
(15.3)
instantaneous velocity ensemble mean fluctuating
To derive the RANS transport equations and averaging , substitute the RANS
decomposition (Equation 15.3) into the Navier-Stokes equations. The compressible RANS
u
0
j
t xj
(15.4)
and
u
i uu
i P
2
u u
u
i k i u
i u ,
j j
t x xi x x x x x (15.5)
i 3 k
j j
j j j
j
ui ui . (15.6)
The ensemble averaging of the equations introduces additional terms called the Reynolds
j
i ui u , j
(15.7)
which is included in the last term on the right side of Equation 15.5. The turbulence model
must model the Reynolds stress to obtain closure for Equation 15.5.
15.1.1 k- Models
Traditionally , RANS models use an effective turbulent viscosity to model the Reynolds
stress term. Thus , additional turbulent diffusion ( i.e., diffusive mixing) models the
j
i uiu 2 t Si i k t
j j
2
j
u
i
x
i
. (15.8)
3
k u
iui ,
1
(15.9)
2
t C
k 2
. (15.10)
In the previous equation , Cm is a model constant that you can tune for a particular flow
and e is the dissipation of turbulent kinetic energy. The mean strain rate tensor Si j
is given
by
u u
S i
1 i .
j
j
2
x
i
j
x (15.11)
The models use turbulent diffusion and turbulent conductivity terms to account for the
presence of turbulence in mass transport and energy transport. The turbulent diffusion
Dt 1
t
Sc t
(15.12)
and
Kt 1
t p , C (15.13)
Prt
where Sct is the turbulent Schmidt number , Prt is the turbulent Prandtl number , Dt is the
The standard k-e and RNG k-e models require additional transport equations to obtain the
turbulent viscosity given by Equation 15.10. One equation is needed for the turbulent
kinetic energy , ,k and one for the dissipation of turbulent kinetic energy , e. The turbulent
k ui k ui k
Cs S ,
t xi x x x
i s
k
j (15.14)
Pr 1.5
j j j
where the factor of 1.5 is an empirical constant. The transport equation for the dissipation
u
i
C
u
i
t xi x
Pr
j
x j
3
x
i
C u
(15.15)
i
i C CS
s s , S R
x
1
j
j 2
k
where S is the user-supplied source term and Ss is the source term that represents
interactions with discrete phase (spray). Note that these two terms are distinct. The C
i
terms are model constants that account for compression and e xpansion. In the previous
C 3
1
R
2
1
3
k (15.16)
for the RNG k-e model. In Equation 15.16 , the e xpression for is
kS k Si Si
i 2 . (15.17)
j j j
u
i
2
C C 2
C C k uk ui
t xi x
Pr 3
j
x j
1 3
3
x k
xi
u
(15.18)
C C
i i * C s s , CS
1
x j
j 2
k
where
1 /
C 0
(15.19)
1
3
and
1
i * i i kk 2 t S i i
1 u
k
.
j j
3
j
j
3
j
x
k
(15.20)
The source term , Ss, in Equations 15.14 , 15.15 , and 15.18 is included to account for the
N p Fdrag
i ui
p ,
Ss p
,
(15.21)
V
where the summation is over all parcels in the cell , Np is the number of drops in a parcel , V
is the cell volume u
, i' is the fluctuating component of the gas-phase velocity , and
Fdrag i
Fdrag
i
,
ui ,
ui ui vi
, (15.22)
where Fdrag,i is the drag force on a drop. It is important to note that although the cs model
constant only appears in front of Ss in the e transport equation , setting cs to zero in the
input files actually deactivates the source term in both the k and e equations.
take into account to the dimensionality of the flow strain rate ( i.e., unidirectional and
omnidirectional compression have closure terms with different values). These reformulated
closure parameters model the impact of bulk flow compression and e xpansion. The
D C P C u C 2
2
R C u diffusion,
Dt k 1 t
k 1 n
k 2 3
(15.23)
C a 1
2
C
1 1
3
C n b b nb n
2 0 1 2
2
(15.24)
C
n 1
2
C
2(1 aC C
)
,
n
( 1)
3 1
3 3
where C shares the Rapid Distortion RNG definition of Equation 15.19. Coefficients in
these calculations are derived from compressible and incompressible jet flows (Wang et al. ,
2013) and take the following values.
C 0.0845
k
1.39
1.39
0
4.38
B 0.012
b 2.0725
0
b -0.3865
1
b 0.083
2
produce negative values for turbulent kinetic energy. Such a result is non-realizable (non-
ensure the non-negativity of turbulent normal stresses and that the results do not violate
Schwarz s inequality (Shih et al. , 1995). As a result , the turbulent kinetic energy calculated
by the Realizable k-e model is always a physically realistic value. The Realizable k-e model
An important difference between the Realizable k-e model and the Standard and RNG k-e
models is that while the e xpressions for turbulent viscosity are the same (see Equation
C
1
,
A As k
*
U (15.25)
where A0 and As are model constants and U * is the friction velocity. The friction velocity is
Equation 15.26:
U
*
Si Si
j j
i i j j
(15.26)
The transport equation for turbulent kinetic energy , k, in the Realizable k-e model is the
same as the transport equation for the standard and RNG models (given by Equation
u
i t
C S
t x
i x
j
x j
1
(15.27)
C C Pb S
2
k k
- C
.
2 1 3
Equation 15.27 above includes additional model constants C2 and C3 e. The production
term , Pb, is the same as that for the standard k-e model. The model constants and au xiliary
functions included in Equations 15.25 and 15.27 are
A 0
As
4.0 6 cos
1
cos
1
( 6 W )
3
SS S
W i k ki S Si Si
j j (15.28)
S 3 j j
C 2
C 1.9 C 1 1.44
3 1 1.2
Analysis of e xperimental results from boundary layer and shear flows reveals that the
constant C1 is a function of the time-scale ratio of the turbulence to the mean strain.
C max 0.43 ,
5
1
Sk S S S
(15.29)
i i 2
j j
turbulence.in .
v2-f Model
The v f 2
(v2-f) model in CONVERGE is a subset of the previously described k-e models.
effective turbulent viscosity. The formulations for the Reynolds stress term and the
(described in Equation 15.10). In addition to the transport equations for k and e, the
v 2
f model solves transport equations for velocity variance normal to the streamline , v 2
, and elliptic rela xation function , f. By introducing the velocity variance , the v 2
f model
accounts for the damping of turbulence transport near walls or other impermeable
boundaries. The elliptic rela xation function f models the anisotropic wall effects.
fluctuations.
To evaluate the eddy viscosity , this model uses the velocity variance. The formulation for
turbulent viscosity mt is
t C v 2
T . (15.30)
v 2
U
v 2
k f v
2
t
v 2
.
t x k x x (15.31)
j
j j
v 2 j
L f f C 1 v C Pk
2
2
2 2 1
T k
.
3
2
(15.32)
L C
L max ,
k 3/2
C 3
1/4
.
(15.33)
The formulation for the time-scale , T, imposes an upper bound on the traceless portion of
T
k
x ,6
1/2
ma . (15.34)
C 0.22 C 2 1.9
k 1 1.3
C 1
1.4 C 2
0.3
(15.35)
CL 0.23 C 70
and
C k v
1/2
1 1.4 1 0.05 /
2
. (15.36)
This model is subject to the stagnation point anomaly when flow impinges on a surface
( e.g., near the leading edge of an airfoil) , over-prediction of turbulent kinetic energy and
uses a realizability constraint on the production of turbulent kinetic energy and turbulent
kS
(15.37)
6
Note that for this model , you do not have to e xplicitly supply boundary conditions for v 2
and f
. Instead , supply boundary conditions for k and e and CONVERGE determines the
To activate the v 2
f model , set turbulence_model = RANS_K_EPS_V2F in turbulence.in .
Additionally , include the passives RANS_V2 RANS_F and under the PASSIVE_NT section
inspecies.in .
-f Model
As with the v 2
f model , the f (zeta-f) model in CONVERGE is a subset of the
the near-wall grid fidelity. Instead of solving a transport equation for velocity variance
scale ( v 2
) , this model solves a transport equation for velocity scales ratio , .
Additionally , this turbulence model applies a quasi-linear pressure-strain model in the f
equation.
v 2
k
. (15.38)
t C kT . (15.39)
f t .
t k x
k x
k
(15.40)
The e equation , however , is modified to impose the Kolmogorov time- and length-scales as
lower bounds on turbulence dissipation. Equation 15.41 below describes the e equation
C C 1 2 t
t
x
j
x j
T
x ,
kC
1/2
ma
(15.41)
L CL ma
x
k 3/2
,
L f f
2 2
1
c C 2
.
T
1 2
3
(15.42)
Note that for this model , you do not have to e xplicitly supply boundary conditions for
and f
. Instead , supply boundary conditions for k and e and CONVERGE determines the
To activate the
f model , set turbulence_model = RANS_K_EPS_ZETAF in turbulence.in .
Additionally , include the passives RANS_ ETA Z and RANS_F under the PASSIVE_NT
section in species.in .
15.1.2 k- Models
As with the RANS k- models, each of the k- models in CONVERGE uses an effective
i t 2Si i
2 u
k 2
k
i .
j
j
3
j
x
k 3
j (15.43)
Each k- model uses a different formulation for the effective turbulent viscosity ( ). To
t
obtain the turbulent viscosity , CONVERGE must solve two additional transport equations:
one for the transport of turbulent kinetic energy k and one for the transport of specific
dissipation rate . All of the k- models in CONVERGE use the same definition of
turbulent kinetic energy as the RANS k- models (see Equation 15.24). The following
sections list the formulations of , the transport equations for k and , and the associated
Standard k- (1998)
One of the k- models available in CONVERGE is the k- model of Wilcox (1998). This
k
t . (15.44)
k u k P
j *
k
k t
k
t x x x (15.45)
j
j
j
u
j
P 2
t .
t x j
k x
j
x j
(15.46)
The equations below define the mean strain rate tensor Sij
and the production term P:
u u
Si
1
i
j
j
2
i
x j
x
(15.47)
P i u
i
x
.
j
13
k 0.5 0.5
25
* *
0
f *
0.09
0
*
0
f
0
9
125
k 0)
k
1 ( (15.48)
f 1 680 k k
1
x x
2
*
1 400 2
( k 0) 3
j j
70 i k ki S u u
f
1
j j
i
1
i
j
.
1 80
*
0
3 j
2
x
i j
x
0
.
* * 0
0
(15.49)
Note that this turbulence model uses a value of a chosen to yield an appropriate value for
Standard k- (2006)
CONVERGE also includes the k- model of Wilcox (2006). This turbulence model defines
turbulent viscosity as
k
t , (15.50)
where
Si Si
* *
max , C
2
j j
(15.51)
*
lim
and
Si Si
*
1 k
i .
u
j j
3
k x j (15.52)
The transport equation for k is the same as that in the 1998 model (given by Equation
u
d k k ,
j
P 2
t x j
k x
j
x j
x x
j j
(15.53)
where Equation 15.47 gives the e xpressions for the mean strain rate tensor and the
production term.
Finally , the model constants and au xiliary functions included in Equations 15.45 and 15.53
are
13
k 0.6 0.5
25
* 0.09 C lim
7
0
f 0.0708
0
S
(15.54)
f
1 85
i k ki
j j
S ki Ski 1 u
m
ki
1 100 0
*
3
2 x
m
d
0 ( k 0)
k
1 k
x x
.
0.125 ( k 0) 3
j j
* *
0
0
(15.55)
and the a coefficient yields an appropriate value for the K rm n constant ( 0.41) via
in turbulence.in .
k- SST
The RANS k- shear stress transport (SST) model available in CONVERGE combines the
general , the k- SST model performs well when simulating ex ternal flows but is not used
a k
t , 1
max a , SF 1 2
(15.56)
where
S Si Si 2
j j
. (15.57)
Like the k- (2006) model, the transport equation for k is the same as that in the 1998
u
k
j
P 2
t 2 1 F 2
t x x x x x
. (15.58)
t
1
j j j j j
expression for the production term P, however , differs from that used in the k- (1998)
and k- (2006) models. Equation 15.59 below defines the production term for the k- SST
model:
P
i
u
i , 10 * .
k
x
min (15.59)
Each constant in the transport equations for k and (such as ) is a blend of inner
k
(denoted by the subscript 1 ) and outer (denoted by the subscript 2 ) constants. For some
F (1 F )
1 1 1 2
. (15.60)
k k
4
500 4
F tanh min max * , ,
2
1
d d 2
CD d
kw
2
(15.61)
k
2
500
F tanh max 2 * , ,
2
d d 2
where
CDk
max 2
1 k , 10
.
x x
10
(15.62)
2
j j
Finally , Equation 15.63 below defines the inner and outer model constants used in the k-
SST model:
5
1
0.44
2
9
k 0.85 0.500
1 1
0.075
1
(15.63)
k 1.00 0.856 0.0828 .
2 2 2
in turbulence.in .
When you activate a k-e turbulence model , you must specify boundary conditions for the
turbulent kinetic energy and turbulent dissipation equations. When you activate a k-
turbulence model , you must specify boundary conditions for the turbulent kinetic energy
and specific dissipation rate equations. The following sections describe these boundary
conditions.
Note that some RANS models employ the law-of-the-wall model to calculate quantities
within the boundary layer. Refer to Chapter 8 - Boundary Conditions for more
information.
k- Boundary Conditions
Turbulent Kinetic Energy Boundary Conditions
There are three types of INFLOW/OUTFLOW boundary conditions available for the
Neumann ( ne ). The Dirichlet and Neumann boundary conditions are not unique to the
To use a turbulence intensity boundary condition , specify the keyword in followed by the
turbulence intensity value after the keyword tke for the desired boundary in boundary.in .
The turbulence intensity is a special case of a Dirichlet boundary condition. For the
k ui I
3 2 2
, (15.64)
2
where k is the turbulent kinetic energy and I is the turbulence intensity. The turbulence
For a WALL boundary type there is only one valid boundary condition for the turbulent
kinetic energy: Neumann. Thus , the WALL boundary condition for the turbulent kinetic
k ,
n
0.0 (15.65)
scale ( le ). The Dirichlet and Neumann boundary conditions are not unique to the
The turbulence length scale is a special case of a Dirichlet boundary condition. For this
c k 3 4
3 2
,
le
(15.66)
where c m is a model constant (usually 0.09), k is the turbulent kinetic energy , and le is the
turbulent length scale. The length scale can sometimes be estimated from a physical
dimension in the domain. For e xample, while simulating flow in a duct , the length scale
For a WALL boundary type , there are two types of boundary conditions available for
unique to the turbulent dissipation equation. The e Dirichlet WALL boundary condition is
c k
0.75
1.5
,
y
(15.67)
where e is the turbulent dissipation in the center of the near wall cell (not at the wall
surface) , y is the distance from the wall to the middle of the cell , c m is a turbulence model
Wall Treatments
In some simulations , the grid density required to resolve the viscous sub-layer may be
prohibitively e xpensive. CONVERGE can model the under-resolved viscous sub-layer using
wall assumption for velocity in the log-law region of a turbulent boundary layer. To
calculate the value of specific dissipation rate at the cell centroid ( e p ) of a cell adjacent to a
C kP
3/4
3/2
p ,
yP
(15.68)
where yp is the distance from the wall to the cell centroid. Note that the standard wall
function assumes that the cell adjacent to a wall lies in the log-law region of the boundary
layer.
The scalable wall function ( keps_near_wall_treatment = 1) rela xes the log-law assumption of
the standard wall function. If the cell adjacent to the wall lies in the buffer region of the
boundary layer (below the log layer) , the influence of the wall function is scaled down to
recover the proper boundary layer behavior. CONVERGE solves the same equation for e p,
but replaces the cell centroid distance yp with a scaled distance ,
C kP
3/4 3/2
p ,
yP *
(15.69)
y P MA y P , y P
*
X(
lim
,
)
where y
P
lim
= 11.05. With this formulation , if the first cell centroid distance is within the
log-law region of the boundary layer , the scalable wall function identically reproduces the
(1995) is a more comple x model that does not assume an equilibrium boundary layer. This
model is suitable for flows that have strong pressure gradients in the neighborhood of the
boundary layer. The model assumes that the wall-neighboring cells have a velocity profile
that is comprised of a viscous sublayer and a log-law turbulent layer. CONVERGE uses
this two-layer approach to compute the turbulent kinetic energy budget in the wall-
neighboring cells. Mean temperature and species mass fraction are solved with the
C 1/4
k 1/2
C 1/4
k y
1/2
ln E
U 1
, (15.70)
w /
where
U 1 dp y v ln y y y v y v , 2
dx k y v k
U
2
(15.71)
y v*
yv ,
C kP
1/4 1/2
(15.72)
where yv* is equal to 11.05. Model parameters and definitions take the forms ,
t w ,
k kP ,
k ,
(15.73)
3/2
Cl y *
Cl C
* 3/ 4
where .
k- Boundary Conditions
Turbulent Kinetic Energy Boundary Conditions
There are three types of INFLOW/OUTFLOW boundary conditions available for the
Neumann ( ne ). The Dirichlet and Neumann boundary conditions are not unique to the
To use a turbulence intensity boundary condition , specify the keyword in followed by the
turbulence intensity value after the keyword tke for the desired boundary in boundary.in .
The turbulence intensity is a special case of a Dirichlet boundary condition. For the
k ui I3 2 2
, (15.74)
2
where k is the turbulent kinetic energy and I is the turbulence intensity. The turbulence
For a WALL boundary type there is only one valid boundary condition for the turbulent
kinetic energy: Neumann. Thus , the WALL boundary condition for the turbulent kinetic
k ,
n
0.0 (15.75)
There are three types of INFLOW/OUTFLOW boundary conditions available for the
length scale ( le ). The Dirichlet and Neumann boundary conditions are not unique to the
The turbulence length scale is a special case of a Dirichlet boundary condition. For this
k 1 2
,
C le
1/4
(15.76)
where cm is a model constant (usually 0.09), k is the turbulent kinetic energy , and le is the
turbulent length scale. The length scale can sometimes be estimated from a physical
dimension in the domain. For e xample, while simulating flow in a duct , the length scale
For a WALL boundary type there is only one valid boundary condition for the specific
dissipation rate: Neumann . Thus , the WALL boundary condition for the specific dissipation
0.0 ,
n (15.77)
where is the specific dissipation rate and n is the wall normal vector.
Wall Treatments
In some simulations , the grid fidelity required to resolve the viscous sub-layer may be
prohibitively e xpensive. In these cases , use one of the wall treatments for the specific
wall assumption for velocity in the log-law region of a turbulent boundary layer. Note that
this wall function assumes that the cell adjacent to a wall lies in the log-law region. To
calculate the value of specific dissipation rate at the cell centroid ( ) of a cell adjacent to a
p
solid wall , CONVERGE uses the equation below:
kp
p
C yp C yp
(15.78)
1/4
blend of the known solutions for in the viscous sub-layer and the log-law region to
calculate the specific dissipation rate at the cell centroid ( ) in the cell adjacent to a solid
p
wall. Therefore , the near wall mesh must be fine enough such that the first cell adjacent to
the wall lies between the viscous sub-layer and the log-law region. Equation 15.79 below
gives the solution for in the viscous sub-layer and log-law regions , respectively:
6 kp
visc
y C yp
log
(15.79)
2 1/4
where yp is the distance from the wall to the cell centroid. CONVERGE blends the viscous
p 2
vis
2
log
(15.80)
To use the automatic wall treatment (described above) with Wilco x's low Reynolds number
Equations 15.80 and 15.79 , but includes low Reynolds number corrections.
If you enable the Menter's wall boundary conditions as the wall treatment
at a WALL boundary:
kwall 0
6
wall 10 (15.81)
d
.
2
1 1
Typical values for the k-e turbulence model constants differ based on which model you
choose. Table 15.3 lists typical values for each of the models.
Coefficient Parameter Standard k-e RNG k-e / Rapid Distortion Realizable k-e
RNG k-e
1/ Prt keps_rpr_eps 0.77 1.39 0.833
ce1
keps_ceps1 1.44 1.42 1.44
ce2
keps_ceps2 1.92 1.68 1.9
ce3
keps_ceps3 -1.0 -1.0 -1.0
h 0
keps_eta0 N/A 4.38 4.38
C
keps_v2f_ceta 70 85
ta
C2' keps_zetaf_c2pri N/A 0.65
me
Select appropriate values for the turbulence model constants based on which k- model
you choose. Table 15.5 lists typical values for each of the k- models.
1/ Pr
komega_rpr_omega 0.5 0.5 0.5
1/ Pr ,2
komega_rpr_omega_outer N/A N/A 0.856
a 2
komega_alpha_outer N/A N/A 0.44
2 komega_beta_outer N/A N/A 0.0828
A key difference between LES and RANS models is how the fields are decomposed for
modeling. For a RANS approach , the field is decomposed into an ensemble mean and a
fluctuating component (see Equation 15.59). In the LES approach , the field is decomposed
u
i
u
i
u
i ,
(15.82)
velocity resolved field sub grid field
where the over-bar indicates the resolved field and the prime indicates the sub-grid field.
The resolved velocity field is defined as a spatial average of the actual velocity field. This
differs from the RANS approach , where the mean velocity field is an ensemble average.
Because of these decomposition differences , the LES filter has properties , unlike RANS ,
given by
ui ui (15.83)
and
ui '
0. (15.84)
i i
u uu
i i P
j j j
t x i
j
x x j
x j
(15.85)
where
ui ui , (15.86)
and
i u
j i u ui u .
j j (15.87)
Most LES models focus on modeling the e xpression for the sub-grid stress tensor , ti ,
j
given
above. However , it is also possible to allow upwinding ( i.e., numerical viscosity) to be used
as the LES model. In this case , no additional term is added for the sub-grid stress tensor.
In CONVERGE , there are two classes of LES models: zero-equation and one-equation. For
zero-equation models , CONVERGE does not solve any additional transport equations. For
kinetic energy.
modeling the sub-grid tensor. The upwind numerical scheme serves to keep the simulation
dissipation , e. CONVERGE can compute these values by appro ximating the unresolved
sub-grid velocity. These values can be used in place of the turbulent kinetic energy and the
This model e xpresses the sub-grid velocity as an infinite Taylor series e xpansion (Bedford
ui k ui
2
1
k l
4
ui
x k x k 2 ! x k x k xl xl
1
k lm
ui 6
,
(15.88)
x k x k xl xl xm xm
...
3 !
where
dx k dx k
k (15.89)
24
for a cubic cell and the brackets indicate no summation. Since it is not possible to evaluate
all of the terms in the series , the sub-grid velocity is appro ximated by the first term:
ui Cles k
ui ,
2
x k x k
(15.90)
where Cles is a model constant. The sub-grid kinetic energy is then appro ximated as
ksubgrid ui ui ,
1
(15.91)
2
ksubgrid
1.5
subgrid , (15.92)
where D is the grid filter which is the cube root of the cell volume.
Smagorinsky Model
The Smagorinsky model is a zero-equation LES model which relates the turbulent viscosity
to the magnitude of the strain rate tensor and cell size (Deardorff (1970) , Lilly (1967) ,
Smagorinsky (1963) , Speziale (1998)). The model for the sub-grid stress tensor is:
i 2 t Si ,
j j (15.93)
t Cs 2 2
Si Si
j j
. (15.94)
Here , D is the grid filter , which is related to the cell volume by the following e xpression:
3
Vol . (15.95)
To tune the Smagorinsky model , adjust the constant Cs in the expression for turbulent
viscosity.
provides a methodology for determining the local value of the Smagorinsky coefficient
The formulation of a dynamic model requires a second filtering operation designated a test
test grid
level filter . This filter is typically twice the value of the filter , . The residual
stresses based on single ( grid ) and double filtering ( test ) operations are:
i ui u ui
j j
u j (15.96)
and
j
Ti ui u ui u
j j
. (15.97)
The Germano identity (Germano et al. , 1991) relates the grid level stress tensor and the test
level stress tensor. That is ,
Li Ti
ui u ui u ,
j j
i j j j (15.98)
where Li j
is the Leonard stress term. The Smagorinsky model of the deviatoric part of Li j
is
given by
Li j
1
Lkk i Cs dynamic Mi ,
j j
(15.99)
3
where
Mi j
2
2
S S i j
2
2
S Si j (15.100)
and Cs-dynamic in Equation 15.99 is the dynamic Smagorinsky coefficient. Recall that Si j
in
Equation 15.100 is the rate of strain tensor. The sub-grid scale stress tensor is given by:
i 2C s dynamic
j
2
S Si j
. (15.101)
By performing the least squares technique to minimize the error (Lilly , 1992) , Cs-dynamic is
specified by:
Mi Li
Cs dynamic j j
Mkl Mkl
. (15.102)
as formulated by Yoshizawa and Horiuti (1985) and Menon et al. (1996). This model uses
the sub-grid kinetic energy in modeling the turbulent viscosity. The sub-grid kinetic energy
equation is given by
k u k ui t k
t xi x xi k xi
i i j
. (15.103)
j
k ui ui ui ui
1
. (15.104)
2
i 2 t Si k i ,
2
j j j
(15.105)
3
t Ck k 1/2
. (15.106)
You can tune the turbulent viscosity by adjusting Ck (see previous equation) via
c_tke_visc_les turbulence.in
in . The sub-grid dissipation is
Ck
3/2
. (15.107)
You can also tune the sub-grid dissipation by adjusting the constant Ce in the above
expression.
turbulence.in .
tensor (Pomraning , 2000). To enforce a budget on the energy flow between the resolved
and the sub-grid scales , this model adds a transport equation (given by Equation 15.103 for
the sub-grid kinetic energy. To that end , the sub-grid stress tensor models must be a
function of the sub-grid turbulent kinetic energy. The modeled stress tensors are given by:
i ci k
j j
Ti ci K ,
j j
(15.108)
2
K ui ui ui
ui . (15.109)
The trace of the Leonard term relates the test and grid level kinetic energies so that an
K k Lii 1
. (15.110)
2
Substituting these models for the two stress tensors into the Germano identity yields the
following:
j
i
Li Kci kc j j
. (15.111)
curve over the bar. The result is a set of si x (the stress tensor is symmetric) Fredholm
integral equations of the second kind that can be solved via an iterative method.
Alternatively , in an algebraic model , we remove the tensor coefficient from the integral
and then solve for ti . Thus the model for the sub-grid tensor becomes
j
i L
i 2k
j
.
j
ii L (15.112)
turbulence.in .
model. This model is more appropriate for a rotating frame of reference (Lu et al. , 2007).
For the consistent dynamic structure model , the sub-grid stress tensor is
G
i
i 2k
j
,
j
G
ii
(15.113)
where
Gi
u u
i j
x x
. (15.114)
k k
j
Ideally , the grid resolution for an LES simulation is sufficient to resolve the flow into the
viscous sub-layer. In this case , the walls are modeled directly with no-slip boundary
conditions and Dirichlet temperature conditions. In many cases , however , it is not feasible
to add enough resolution to resolve the viscous sub-layer. Thus , you must employ wall
models.
The LES wall models are available for both the momentum equation and the energy
equation. The Werner and Wengle wall model is designed to work with LES models and
thus should be activated when running one of the LES models. The model can be activated
Many of the spray and combustion models require a turbulent kinetic energy term and a
turbulent dissipation term to complete (close) the model. In the one-equation model , the
turbulent kinetic energy term and turbulent dissipation term are simply replaced by the
sub-grid kinetic energy and the sub-grid dissipation given by the e xpressions above. For
zero-equation models , a sub-grid kinetic energy term is not readily available to close the
model. Thus , for zero-equation models the e xpression below is used to appro ximate the
k Cles ui ui
2
x x
. (15.115)
24
j j
Ck c_tke_visc_les turbulence_model =
( 0.05
C e
c_eps_les turbulence_model =
( 1.0
LES_ONE_EQN_VISC,
LES_DYN_STRUCT,
LES_CON_DY N_STRUCT)
LES_ONE_EQN_VISC, LES_SMAG,
LES_DYN_SMAG, LES_DYN_STRUCT,
LES_CON_DY N_STRUCT)
1/Pr
k
rpr_tke turbulence_model =
( 1.0
LES_ONE_E QN_VISC,
LES_DY N_STRUCT,
LES_CON_DY N_STRUCT)
Detached Eddy Simulation (DES) is a hybrid approach designed to combine the strongest
features of the RANS and LES methodologies. Near walls , DES behaves like a RANS
model. Far from a wall , where large-scale unsteady structures are detached from the
boundary layer , the DES model behaves like LES. The same sub-grid scale model functions
as the RANS turbulence model and as the LES sub-grid filter. DES was originally
formulated by Spalart et al. (1997) , using the one-equation Spalart-Allmaras RANS model
(1992) as the sub-grid closure. This original formulation uses grid cell metrics to switch
The Delayed DES (DDES , Spalart et al. , 2006) and Improved Delayed DES (IDDES , Shur
et al. , 2008) approaches are improvements on the original DES formulation. Rather than
using only grid metrics , DDES and IDDES switch modes based on several flow-based and
" "
designed to prevent ( delay ) the LES behavior from appearing in near-wall regions with
excess grid density. These formulations also use Spalart-Allmaras as the sub-grid closure.
CONVERGE incorporates variants of the DDES and IDDES models , using the k- SST
model described above. Strelets (2001) adapted the DES methodology to k- SST, and
Gritskevich et al. (2012) formulated the DDES and IDDES improvements. For e xact model
IDDES-SST , CONVERGE refers to the same k- SST parameters as when running with this
turbulence model in RANS mode. The DDES and IDDES formulations also refer to a set of
DDES parameters. Please refer to Chapter 22 - Input File Reference for information on
To generate output of turbulence statistics (mean and RMS quantities for density , pressure ,
temperature , etc.) for transient simulations , define these quantities as non-transport
passives. Refer to Chapter 22 - Input File Reference for a list of predefined turbulence
You must also set several parameters in turbulence.in to use the turbulence statistics option.
Finally , to include the turbulence statistics in the post*.out , files you must list the turbulence
statistics non-transport passives [in the form passive(<turbulence statistic name>)] in the
uses only the revised time range to calculate the updated turbulence statistics.
If CONVERGE has already calculated turbulence statistics and if you want CONVERGE
to resume turbulence statistics calculations and incorporate both the new and the old
data into the calculations , set turb_stat_end_time to a time beyond the current simulation
time.
If CONVERGE has already calculated turbulence statistics and if you wish to overwrite
It is important to verify that all of the initial transients (non-physical values of conditions
To monitor turbulence statistics , look at the post*.out files after converting them with the
post_convert utility. You can find additional information regarding the convergence of
these statistics in the log file when you set screen_print_level = 2 or higher.
The turbulence statistics calculated near moving boundaries ( e.g., volume swept by moving
You can calculate user-defined turbulence statistics with the user_turbulent_statistics.c user-
defined function.
T
fx f x , t dt
1
T T T
2
( ) ( ) (15.116)
1
2 1
T
f g 1
f x, t f x g x , t g x dt
T T T
2
( ) ( ) ( ) ( )
1
2 1
T
f x, t g x, t f x g x , t f x , t g x f x g x dt
1
T T T
2
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
(15.117)
1
2 1
f x, t g x, t f x g x g x f x f x g x
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
fg f g
Conjugate heat transfer (CHT) is when heat transfer occurs simultaneously within and
between fluid and solid regions. The predominant mode of heat transfer in fluids is
convection while the predominant mode of heat transfer in solids is conduction. Use the
CHT model in CONVERGE to solve the flow and heat transfer in both the solid and fluid
regions.
Ideally , a CHT simulation would involve simultaneous CFD calculations for the solid and
fluid phases. This approach is practical for some types of simulations but impractical for
others. For e xample, the time-scale for the solid phase heat transfer is orders of magnitude
larger than the time-scale for the fluid phase heat transfer. Thus it is not practical to run
manner. Refer to the Time Control Methods for CHT section for more details.
The conjugate heat transfer setup requires several additional inputs. Define solid and fluid
materials and their physical properties , specify the regions occupied by solids and fluids ,
and specify an INTERFACE boundary to demarcate the solid and fluid regions. You must
also take a few e xtra steps to prepare the surface geometry. Finally , if you wish to use
efficient CHT simulation. The following sections outline these additional input parameters
In species.in, you must define one or more species as SOLID in the conjugate heat transfer
#!csi_version=2.4
#=======================
LIQUID
ic14h30
SOLID
iron
Figure 16.1: Sample species.in file with SOLID species.
CONVERGE looks in solid.dat for properties of any species specified under the SOLID
keyword. The solid.dat file includes data for the melting point , density , specific heat
capacity , and conductivity for each solid species , all in SI units. Figure 16.2 shows an
excerpt of a solid.dat file. The first (uncommented) row is the name of the solid species , in
this case iron. The second row is the melting point of the solid (in K). The following rows
4 Conductivity W m-K/
In initialize.in, solid_flag must be 0 for all fluid regions and solid_flag must be 1 for all solid
regions. Figure 16.3 shows an e xample initialize.in file specifying one fluid region ( region_id
0) and one solid region ( region_id 1).
#!csi_version=2.4
#=======================
2 num_regions
0 region_id
0 stream_id
0 solid_flag
0.0 0.0 0.0 vel_init
353.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init
101.11 omega_init
2 num_species_init
o2 0.23
n2 0.77
0 num_passive_init
1 region_id
1 stream_id
1 solid_flag
0.0 0.0 0.0 vel_init
413.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init
1 num_species_init
metal 1.0
0 num_passive_init
Figure 16.3: A sample initialize.in for a conjugate heat transfer case.
INTERFACE Boundary
To calculate the heat transfer between a solid region and a fluid region , you must specify
an INTERFACE boundary (see Boundary 2 in Figure 16.4 below) that demarcates the two
boundary type is special in that it has two unique sets of boundary conditions , one for
each side of the INTERFACE. In boundary.in, however , the boundary conditions for the
INTERFACE refer to the IDs for two other boundaries: the forward boundary and the
reverse boundary.
The forward and reverse boundaries have no triangles flagged to them in the surface
geometry file , nor do their boundary IDs appear in the e xported surface.dat file. These
boundaries simply define unique boundary conditions for each side of the INTERFACE.
boundary. By convention , the boundary facing the normal vectors of the triangles assigned
to the INTERFACE is the forward boundary. The boundary facing the opposite direction of
boundary conditions for the reverse boundary (boundary 4 in Figure 16.4) are for the solid
side of the INTERFACE. To allow heat transfer through the INTERFACE , CONVERGE
couples the forward and reverse boundaries (only available for fluid-solid or solid-solid
INTERFACE boundaries). Specify coupled as the temperature boundary condition for the
CONVERGE imposes thermal continuity across the INTERFACE via the equations
T
[ b ]F [ b ]S T (16.1)
and
where the subscripts F and S denote fluid and solid, respectively , and T is the temperature.
The temperatures and heat flu xes of the solid and the fluid regions are consistent across
When CONVERGE generates the grid , it treats solid-solid and solid-fluid interfaces as if
they were in perfect contact. In reality , at the microscopic level , there are irregularities and
defects in the solid surfaces that prevent perfect thermal contact. As a result , there is a
small air gap between the two solids or the solid and fluid that restricts heat flu x. In order
to account for the small gap between solids , CONVERGE includes a thermal contact
resistance model. The equation for the heat flu x balance at the interface between two solid
q T , T i q T , T i T i T i , 2 1
1 1 1
Rc
2 2 2 (16.3)
where q j
is the heat flu x at the interface for solid j , T
j
is the temperature at the first interior
contact resistance in K-m W 2/ . To enable the contact resistance model between coupled
forward and reverse boundaries , enter the contact resistance Rc after the keyword coupled
for a temperature boundary condition.
created to disconnect fluid regions. If you set disconnect = 0 for an INTERFACE boundary ,
the INTERFACE triangles cannot be disabled and no fluid flow is allowed between the two
regions. This is a typical configuration for a CHT simulation of heat transfer between fluid
and a solid piston. If you set disconnect = 1 , CONVERGE can disable the INTERFACE
triangles at specific times and allow fluid flow between the two regions. This configuration
works only for an INTERFACE between two fluid regions and no heat transfer occurs
through the interface. Use events.in to control OPEN/CLOSE events between the two
regions.
#!csi_version=2.4
#=======================
12 # Number of boundaries defined
#-----------------------------------------------
1 Outer wall
WALL FIXED ST
roughness 0.0 0.0
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature fl -10000.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 1
#-----------------------------------------------
2 Solid fluid interface
INTERFACE
forward 3
reverse 4
disconnect 0
#-----------------------------------------------
3 Virtual boundary - Fluid side
WALL FIXED ST
roughness 0.0 0.0
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la coupled
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
#-----------------------------------------------
4 Virtual boundary - Solid side
WALL FIXED ST
roughness 0.0 0.0
velocity di 0.0 0.0 0.0
pressure ne 0.0
temperature di coupled
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 1
#-----------------------------------------------
-
-
Figure 16.4: An excerpt of boundary.in with heat flux into the outer wall, the INTERFACE boundary,
and accompanying virtual boundaries.
contact with the secondary material. There are multiple options for the WALL
condition , enter fl followed by the amount of heat per surface area (in Wm/
2
) applied
uniformly to the boundary (see Boundary 1 in Figure 16.4). A negative value indicates
energy entering the solid while a positive value indicates energy e xiting the solid.
CONVERGE offers several time control methods for CHT. If you choose transient ,
CONVERGE solves the fluid and solid together with the same time-step for the entire
domain ( e.g., to simulate natural convection from a heated bo x). If you choose steady-state ,
CONVERGE solves the fluid and solid for steady values with independent pseudo time-
steps ( e.g ,
. to simulate forced convection over a solid bo x). If you choose super-cycling
coupled transient and steady-state solution methods for the solid only and uses the
select a solver. Edit the parameters in inputs.in to control the operation of the desired
solver. Refer to Chapter 5 - Numerics for more information on these two time control
methods.
Super-Cycling
In an engine , the time-scale necessary to resolve solid heat transfer is usually much greater
than that for fluid heat transfer. It takes many engine cycles for the solid temperature to
time-dependent CHT problems to a steady-state in a solid with fewer engine cycles. Super-
cycling iterates between fully-coupled transient and steady-state solvers via the following
sequence:
1. CONVERGE solves the fluid and solid equations together using the transient solver (but
does not store the solid heat transfer data) from the start of the simulation until the
coefficient (HTC) and near-wall temperature for each cell at the solid/fluid interface ,
one value for each time-step.
3. CONVERGE continues to solve both the fluid and solid equations and stores HTCs and
solver and calculates the time-averaged HTC and temperature for each cell at the
solid/fluid interface based on the values stored in step 3. CONVERGE performs the
solid heat transfer calculation at this time using the time-averaged HTC and near-wall
fluid cell temperatures as boundary conditions at the INTERFACE. There are two solid
heat transfer calculation methods that CONVERGE can use: steady-state or transient.
negative value. CONVERGE solves the solid heat transfer until the tolerance defined
appear to take any time on an output file plot of Solid Temperature vs. Time ( e.g.,
the solid temperature will appear to immediately jump).
positive value. CONVERGE solves the solid heat transfer for the length of time set by
supercycle_length . Transient solid heat transfer calculations are not commonly used.
After performing the solid energy transfer calculations , the temperature of the solid
5. CONVERGE starts the fluid solver again after calculating the steady-state solid
temperature , and solves the fluid and solid equations for another period of time equal to
rise dramatically. The fluid temperature rise then levels off when the difference between
the solid and fluid temperatures is no longer great enough to increase the fluid
temperature at the given flow rate. CONVERGE also stores a new heat transfer
coefficient and temperature for each solid/fluid interface cell , at each time-step.
CONVERGE uses HTC and temperature values from only the current super-cycle stage
pauses the fluid solver and recalculates the time-averaged heat transfer coefficient and
temperature for each cell at the solid/fluid interface based on the values stored in step
5. With the fluid solver paused , CONVERGE again performs the solid heat transfer
7. CONVERGE repeats this super-cycling process until the end_time of the simulation as
specified in inputs.in .
simulation ( e.g., the gap between a valve and a valve seat in an internal combustion
regions , configure a contact region via contact resistance events in events.in . When the two
solids are specified as closed , CONVERGE does not allow fluid flow between the two
regions and performs solid-solid heat transfer calculations. To improve the speed of
copies the temperature and heat transfer coefficient from each solid boundary and applies
these properties as boundary conditions to the solid with which the first solid is in contact.
boundary , which results in changing boundary conditions for the stationary surface.
within a valve guide or a solid piston in contact with the solid liner.
For the piston liner contact scenario , the piston moves up and down within the liner.
Therefore , at different times during the simulation , portions of the liner may be e xposed to
the fluid in the cylinder , the solid piston surface , or the air in the crankcase. In
CONVERGE , the boundary conditions for these scenarios are a fluid-solid interface , a
solid-solid interface , and a solid wall with a convective boundary condition , respectively.
Figure 16.6: Boundary condition types for a moving solid piston within
a solid liner.
Discrete portions of the liner ( i.e., cells that are adjacent to the combustion chamber)
experience each of these three boundary conditions for a certain amount of time during
the engine cycle. To accurately calculate heat transfer information , CONVERGE weights
each of the three boundary conditions according to the fraction of an engine cycle that a
discrete portion of the liner e xperiences each boundary condition. Table 16.2 below
Solid-solid interface 10 %
Fi xed convection 50 %
calculates an effective heat transfer coefficient and temperature for the stationary solid
boundary ( e.g., the liner) based on the three boundary conditions and their weights. Then ,
CONVERGE computes a new piston contact surface temperature based on these effective
variables. This procedure helps improve the accuracy of the heat transfer calculation and
boundary group includes the solid liner interface , the solid piston interface and bottom of
the liner. If there are solid coupled boundaries that are supposed to be included in the
boundary group , you must set the velocity boundary condition as MOVING Translating or
FI ED Translating
X . Otherwise , CONVERGE cannot find the correct boundaries.
Log File
In the log file , CONVERGE creates a record of the boundary grouping. Figure 16.7 below
shows a sample log file e xcerpt for the boundary grouping created for the piston liner
example.
In the above sample , bound_group refers to the number of boundary groups matching the
criteria for this feature. On the ne xt line, the log file lists the number of boundaries in the
group. The boundary ID of the stationary solid follows grouped boundary . The boundary ID
of the solid boundary in contact with the stationary solid boundary follows boundary in
contact . Finally , the boundary ID for depend boundary corresponds to the boundary used to
Limitations
The overall length of the grouped boundaries must be constant in time. The moving
boundaries ( e.g., the piston) must move in the same direction with the same speed.
Additionally , the volume of these boundaries must be constant (they cannot deform).
For an engine case , you must simulate at least an entire engine cycle for correct averaging.
To e xpedite the solution of a conjugate heat transfer simulation , CONVERGE allows you
to update the averaged data in the storage routines with the parameter
supercycle_num_stages .
degrees . CONVERGE will average 12 blocks of data , each 60 crank angle degrees long in the
1st super-cycle. In the 2nd super-cycle , CONVERGE discards the earliest stage from the 1st
super-cycle during the averaging process and uses the latest stage generated in the storage
routine of the 2nd super-cycle to update the 12 blocks of 60 crank angle degrees data. Figure
You can prescribe monitor points in supercycle.in to obtain temperature data from specific
locations in the solid domain. (If you want to monitor more than just solid temperatures ,
use the monitor_points.in option or the UDF monitor point option).
To set up monitor points to obtain solid temperature data , specify the number of monitor
points via supercycle_num_points and then , on each subsequent line , list the x, ,
y and z
coordinates for a single monitor point. The number of lines of coordinates must correspond
In some multi-cylinder conjugate heat transfer (CHT) engine simulations , the goal is to
predict the heat transfer between each of the cylinders and the solid cylinder head.
Modeling combustion in all cylinders with a method like SAGE , however , is often
prohibitively e xpensive. The heat transfer mapping for multi-cylinder CHT feature offers a
faster alternative. Since the combustion behaves in a similar manner in all cylinders ,
CONVERGE models combustion in only one cylinder and then maps the results to the
other cylinders.
With this feature , combustion in a main cylinder is modeled while the other cylinders
(duplicate cylinders) obtain boundary condition information from the main cylinder. This
coefficients (HTC) from relevant boundaries in the main cylinder and maps this
information to the corresponding boundaries in the duplicate cylinders. Thus , the timing of
CONVERGE can map information on fluid-solid INTERFACE and solid WALL type
boundaries between main and duplicate cylinders. For mapped solid WALL boundaries ,
the temperature boundary condition for the duplicate boundary must be Neumann .
One method to appro ximate combustion in the duplicate cylinders when the full cylinder
geometry e xists is to specify a heat release source that mimics the effects of combustion
within the cylinder. In some cases , surface triangles for the cylinder may not e xist for
duplicate cylinders. In this case , no attempt is made to model in-cylinder combustion. The
cylinder head boundary is a solid WALL and thus requires a Neumann temperature
boundary condition. This requirement is because CONVERGE cannot map the data from
the main cylinder fluid-solid INTERFACE to the duplicate cylinder solid WALL if the solid
Configuration
1. Set up super-cycling as desired. Activate cylinder duplication by setting
map_surface_flag = 1 in supercycle.in .
2. Specify the total number of main cylinders for tot_num_masters . These are the cylinders
with full combustion from which data will be mapped. Then , specify the total number
of duplicate cylinders (for all of the main cylinders combined) for tot_num_slaves . These
are the cylinders (or solid WALL boundaries used to represent combustion) that do not
use a combustion model and have boundary data mapped from the main cylinder.
3. Enter the total number of main boundaries for tot_num_master_boundaries . Include the
4. Now , create a section of the input file containing the following parameters for each
main cylinder.
First , specify the number of boundaries that make up the current main cylinder that you
wish to map followed by num_boundaries . List these boundary IDs and the keyword
Enter the number of duplicate cylinders that are connected to the current main cylinder
for data mapping followed by num_slaves . Create a section of the input file containing the
Provide transformation information from the duplicate to the main. That is , enter the
transformation that would move the duplicate cylinder such that it e xactly overlaps the
main cylinder. In practice , the cylinders may not overlap perfectly (due to small differences
in the surface geometry) , but as long as they match within a tolerance , the mapping will
For any of the transformation types below , you can leave all entries as 0 which means the
transformation will not occur. If you specify non-zero values , CONVERGE will perform
If you set the elements of mirror_plane to non-zero values , CONVERGE will use a mirror
transformation. That is , reflecting the duplicate cylinder across the given plane will result
To specify a translation , enter the x, y, and z translation amounts necessary to translate the
To specify a rotation , enter a value for rot_angle (the angle with which to rotate the
direction vector about which to rotate the duplicate cylinder for vector_xyz .
Forced Pairs
At the end of the file , you can optionally supply forced pairs. Forced pairs are used if
CONVERGE cannot determine the duplicate boundary on which to map the data (possibly
due to imperfect geometries) based on the given transformation information. The two
specified boundary IDs become forced pairs and CONVERGE copies the information from
First , enter the number of forced pairs of boundaries for num_forced_pairs . On each line
below , supply four values: the main boundary ID , the duplicate boundary ID , the main
cylinder inde x, and the duplicate cylinder inde x. CONVERGE determines cylinder indices
based on the order in which you list them in supercycle_surface_map.in . That is, the first-
listed main cylinder is considered main cylinder 0. If this main cylinder has one duplicate
cylinder , it is duplicate cylinder inde x 0. The second main cylinder is main cylinder inde x 1
and any duplicate cylinders would begin with duplicate cylinder inde x 1 and so on.
provides information about the main-duplicate pairing during the initialization of the
simulation ( i.e., before the first time-step). This information will appear either on the screen
or in the log file depending on how you e xecute CONVERGE. The first section shows how
the area , geometric center , surface normal vector , and moment of inertia of each duplicate
boundary compare to those for the main boundary. The second section lists the boundary
IDs of successful boundary pairings. The third section lists the boundary IDs of any forced
CONVERGE can simulate multi-phase flows with the volume of fluid (VOF) method. The
VOF method locates and tracks the free surface in a liquid-gas flow or the interface in a
liquid-liquid flow. It is an Eulerian method that reconstructs the interface location and
orientation within each fluid cell. CONVERGE incorporates several models for interface
reconstruction , which are suitable for a range of multi-phase flows. Coupled with
Adaptive Mesh Refinement , CONVERGE tracks these interfaces accurately and efficiently.
The VOF method can be used with both compressible and incompressible fluids. In low-
pressure applications , liquids are incompressible and gases are compressible. However ,
there are some high-pressure applications for which the compressibility of engineering
fluids is important.
The two fluids share a joint momentum and energy equation. They are coupled through
the interface. As the name implies , the VOF method tracks the volume of fluid within each
cell. This is represented by the void fraction a, which is the fraction of the cell's volume
CONVERGE tracks this value throughout the domain. The value of the void fraction
represents one of the following cell compositions , as illustrated below in Figure 17.1.
Figure 17.1: Void fraction (a ) values. The blue circle represents a liquid droplet.
CONVERGE can run with the VOF method in two time-stepping modes: a steady-state
The local value of the void fraction does not contain any information about the shape or
location of any interface within the cell. These interface details must be reconstructed from
The Piecewise-Linear Interface Calculation (PLIC) method constructs a fluid interface from
a local planar interface within each cell. This interface is generated with the local void
fraction gradient as the plane normal , and the plane location is computed from the void
fraction.
curved interface using information from neighboring cells. HRIC is more stable than PLIC ,
but it is more computationally e xpensive and it cannot resolve an interface as sharply.
HRIC should be used for simulations that meet one or more of the following criteria:
The Individual Species Solution (ISS) method is a mass-fraction-based solution method for
VOF simulation. In this scheme , CONVERGE transports total mass , momentum , and
energy , recalculating the void fraction in each cell from the transported species. ISSM
reconstructs the interface with HRIC e xclusively. The method is suitable for:
Cavitation.
However , the ISS method is not suitable for immiscible fluids , and it is diffusive. If you use
the ISS method for a VOF simulation , your simulation will not be able to capture a sharp
The Void Fraction Solution (VFS) method directly transports the void fraction a, in
addition to the usual mass , momentum , and energy. This additional constraint allows the
VFS method to resolve sharp fluid interfaces. It can also be used for miscible fluids.
implies that the fluids must be incompressible. The VFS method reconstructs the interface
CONVERGE can also couple a VOF simulation to the Eulerian-Langrangian fluid parcel
simulation method.
automatically generate the necessary input files , including inputs.in and vof.in, based on
Governing Equations
In the most fundamental form of the VOF method , the void fraction is solved with a
conservation equation:
u
i 0.
t i x (17.2)
g 1 l , (17.3)
where r g
represents the gas density in the cell and rl represents the liquid density in the
cell. In the ISS method , CONVERGE follows a modified solution procedure. The void
fraction is not transported directly the same way as in Equation 17.2. CONVERGE first
u
D Ym , m=
m m
j
n
t x x x
1
(17.4)
j j j
where r m = Ymr , r m is the density of species m, Ym is the mass fraction of species m, D is the
Then CONVERGE computes the void fraction using the species mass fractions in the cell.
The solver sums the mass of gas species in the cell to calculate the total gas mass in a cell.
CONVERGE uses the remainder of the mass in a cell as the liquid mass. In other words ,
ng
mg Ym
m 1 (17.5)
ml mg , 1
where mg is the total gas mass fraction , ml is the total liquid mass fraction , and ng is the
mg
g
mg ml . (17.6)
g l
CONVERGE uses the compressible solver to solve the gas and compressible liquids (set
terms. Commonly used schemes such as upwinding and central differencing schemes
schemes cause local oscillations of the void fraction. To avoid these artificial ,
effects
The HRIC method is based on the convective boundedness criterion , which states that the
variable distribution between the centers of the neighborhood control volumes (for
this constraint , as well as information about the value of the variable in the upwind
f
f
U
(17.7)
A U
and
D D U
. (17.8)
A U
When using the equations above , the value of the void fraction at the control volume , f f .,
takes the form
f 1 D
A, (17.9)
where
f D
. (17.10)
1
D
There are three steps in the application of the HRIC scheme. First , the normalized cell face
value is estimated from a scheme that continuously connects upwind and downwind
schemes:
D : D 0 , D 1,
f 2D : 0 D 0.5 . (17.11)
1: 0.5 D 1
Second , since a downwind differencing scheme can cause unphysical alignment of the
interface with the mesh , another scheme must be used to satisfy the convective
boundedness criterion. For this process , CONVERGE uses an upwind differencing scheme.
The blending factor , gf , connected with the angle qf (shown below in Figure 17.3) , yields
f* f f 1 f D , (17.12)
where
f cos f . (17.13)
Figure 17.3:
A schematic showing the definition of the angle
qf . qf is defined as the angle between the vector
normal to the fluid-fluid interface in a cell and
the direction vector from the center of fluid-fluid
interface cell, D, to the center of the neighboring
cell, A.
Dynamic blending of the upwind and downwind differencing schemes accounts for local
distribution of the void fraction. When the CFL condition is not satisfied , the dynamic
to the local Courant number Cf . This correction also forces continuous switching between
C
f* : f 0.3
C
f** D : f 0.7 (17.14)
C
* 0.7 f :0.3 C 0.7
D
f D f
0.7 0.3
When using this scheme in multiple dimensions , the local Courant number , Cf , is replaced
To run the ISS method with HRIC , perform the following steps:
In vof.in, vof_model = .
set 1
In inputs.in, gas_compressible_flag =
set 1 and liquid_compressible_flag = 0 or 1 .
In inputs,in, max_cfl_u =
set 0.5.
In solver.in, set the convergence tolerance values shown below in Table 17.1.
The fluid properties specified in liquid.dat apply to the a=0 fluid. The properties specified
Governing Equations
The continuity equation for the incompressible two-phase system is the requirement that
0u (17.15)
In Equations 17.17 - 17.22 below ,a represents the void fraction in a cell. The momentum
conservation equation for the VOF PLIC method takes the following form:
u u u
p
( )T s u u n
t
(17.16)
u
0
t (17.17)
1 2
(1 ) (17.18)
1 2
(1 ). (17.19)
n n
t nu dA t u n dV ,
V A V V
1
( ) (17.20)
where
n n fluxes+sources.
1
(17.21)
CONVERGE geometrically calculates the flu xes and sources in Equations 17.20 and 17.21
using either the HRIC scheme described above or the Piecewise-Linear Interface
Calculation scheme.
method (Aulisa et al , 2007 , Gueyffier et al , 1999 , Rider and Kothe , 1998 , Scardovelli and
Zaleski , 1999 , and Tryggvason and Scardovelli , 2011). This method constructs the interface
separating the fluids geometrically , using a planar shape in each cell (see Figure 17.4
below). This approach maintains a sharper interface than the HRIC method.
Figure 17.4: The red dotted lines represent the planar shapes that the PLIC
method uses to construct the fluid-fluid interface geometrically.
In CONVERGE , the VOF PLIC method follows four steps to geometrically calculate the
Determine d uniquely from the void fraction , a, and the interface normal m, and
Advect the interface (estimate the flu xes).
To run the Void Fraction Solution with PLIC , perform the following steps:
inputs.in,
In
o steady_solver_flag = ,
Set 0
o gas_compressible_flag =
Set 0 and liquid_compressible_flag = 0 , and
o species_solver_flag =
Set 0.
vof.in, vof_model = .
In set 2
solver.in, conserve =
In set 0.
solver.in,
In set the convergence tolerance values shown below in Table 17.2.
In amr.in, set parameters to automatically refine the grid in order to more accurately
o Set amr_void_flag = 1,
o Set amr_void_embed_scale to the integer maximum number of levels you want the grid
to be refined in the fluid-fluid interface area ,
o Set amr_void_sgs_embed to be the sub-grid value of a that results in grid refinement,
o Set the timing control term to PERMANENT, CYCLIC (VOF AMR repeats) followed by
the period , or SEQU ENTIAL (VOF AMR does not repeat) , depending on your
simulation , and
The fluid properties specified in liquid.dat apply to the a=0 fluid. The properties specified
in gas.dat apply to the a=1 fluid , even though this fluid must be incompressible.
You may initialize the void fraction by setting udf_flag = 1 in inputs.in and customizing the
fluid interface. The HRIC scheme allows CONVERGE to stably iterate with a larger time-
step than the PLIC scheme. However , the HRIC scheme cannot resolve the fluid-fluid
interface with as much sharpness as the PLIC scheme. Refer to the HRIC section for the
To run VFSM with HRIC , perform the same steps listed for PLIC above but set vof_model =
1 in vof.in .
The VOF model accounts for the effects of surface tension along the interface between the
liquid and gas phases. You may augment the model by specifying the contact angles
between the phases and the walls. The addition of surface tension to the VOF calculation
u
i i uu P i F
j j
t x xi x
sf i . (17.22)
j j
To compute the surface tension , CONVERGE calculates the surface curvature from local
ni xi .
(17.23)
x
i
n
i
x
. (17.24)
i
In the VOF method , the interface between the liquid and gas phases is not tracked
explicitly. Therefore , CONVERGE models the surface tension with a continuum surface
force (CSF) model (Brackbill et al. , 1992). This alleviates the interface topology constraints.
To formulate the volume force , we define a modified void fraction , x , that varies
smoothly over a thickness h across the interface by convolving the characteristic function ,
x with a Gaussian filter interpolation function ,
, as
x x x x d x,
1
h v
3
3 (17.25)
where
has bounded support
x 0 for xh . (17.26)
2
lim x x .
h 0
(17.27)
CONVERGE computes the e xternal force e xerted in the cell by surface tension through a
Fsf i x ( x ( x )
x
( ) ) . (17.28)
i
You can specify a wall adhesion angle in conjunction with the surface tension model.
Rather than impose this boundary condition at the wall itself , the assumed fluid-wall
contact angle adjusts the normal vectors of the cells near the wall. This dynamic boundary
wall , then the surface normal at the live cell ne xt to the wall is
where nw i
and t w i
are the unit vectors normal and tangential to the wall , respectively. The
local curvature of the surface is determined by the combination of this contact angle and
the normally calculated normal vector one cell removed from the wall. This curvature
The vaporization process in cavitation is very similar to that of flash-boiling , with a specific
same system , with a lower pressure drop and elevated temperatures. A homogenous
rela xation model predicts the mass e xchange between the liquid and vapor. This model
describes the rate at which the instantaneous mass ( i.e., the mass fraction of vapor in a
two-phase mi xture) will approach its equilibrium value. Bilicki and Kestin (1990) proposed
a simple linearized form for this rate , shown in the following equation:
Dx xx
. (17.30)
Dt
In the above equation , x represents the instantaneous mass , x represents the equilibrium
mass and q represents the time scale over which x rela xes to x . For evaporation , the time
evaporation time scale is factored. A typical value for F is 5000 , meaning condensation
occurs 5000 times slower than evaporation under similar conditions. The value of the
Psat P
, (17.33)
Pc Psat
To use the cavitation model in CONVERGE , set vof_flag = 1 in inputs.in and set
cavitation_flag = 1 in vof.in. Refer to the vof.in section of Chapter 21 - Input File Reference
CONVERGE features one-way coupling between VOF and spray modeling. You can
initialize a spray simulation with parcel data from a VOF simulation. This option allows
you to combine a high fidelity simulation of a fuel injector and nozzle system with a
First , run a VOF simulation. In this first simulation , set vof_spray_flag = 1 invof.in and set
This file contains position , velocity , turbulence , temperature , and cell size information for
Ne x t, run a second simulation with spray modeling enabled (set spray_flag = 1 in inputs.in )
and VOF modeling disabled (set vof_flag = inputs.in 0 in ). For this simulation , select the
full circle , whether you want to translate or rotate the data , etc.). You can scale the EPS
CONVERGE uses the position , velocity , turbulence , and temperature information from the
vof_spray.dat file to initialize the parcels for the spray simulation. For each injector , specify
the mass (in kg ) that CONVERGE assigns to each liquid parcel ( vof_spray_mass_per_parcel )
volume fraction above the threshold you enter , CONVERGE injects at least one liquid
parcel using the data from vof_spray.dat . If a cell has a liquid volume fraction below the
threshold , CONVERGE does not inject liquid parcels. CONVERGE adjusts the number of
Figure 17.34 below provides an e xcerpt of a sample vof_spray.out file. The header provides
general information about the the nozzle , the two regions between which the data applies ,
and liquid parcel data from the VOF simulation. The column output contains specific data
# CONVERGE 2.4
# VOF spray data file.
VOF_Liquid_Species IC12H26 VOF_Start_Time 0.0000000e+00 (s)
Time 1.0699517e-07 (s)
Injector_ID 0 Nozzle_ID 0 Region_IDs
2 1
Injector_Center 3.7000386e-05 -9.9976097e-04 4.8516653e-07 Nozzle_Center
3.7000386e-05 -9.9976097e-04 4.8516653e-07
Injector_Axi_Vec 1.1211468e-03 -9.9999936e-01 1.2407590e-04 Nozzle_Axi_Vec
1.1211468e-03 -9.9999936e-01 1.2407590e-04
Mass_Flow_Rate -5.9717491e-04 Mass_Flow_Rate_Liquid -5.9586239e-04
Total_Mass -6.4933024e-11 Total_Mass_Liquid -6.4716588e-11 Ca
9.9401483e-01 Diameter 8.8943495e-05
TKE 5.6575370e+00 EPS 4.3258723e+06 TEMP 3.6255930e+02
Cell_Count 160
X Y Z U V
W Liquid VOF
8.6096629e-05 -1.0096207e-03 -4.9915672e-06 -8.9929365e+01 1.3409426e-01
3.3958215e+00 1.1380727e-01
8.1267619e-05 -9.9837326e-04 -2.3201992e-06 2.3183932e+00 -1.1697388e+02
1.4541175e+00 9.9174065e-01
For VOF-spray one-way coupling , if you plan to use the KH-ACT breakup model in the
spray simulation , you must use a k-epsilon turbulence model in the VOF simulation.
Under certain conditions , a gas may dissolve into a liquid such that the two fluids are in
solution. Likewise , as the pressure changes , the gas in the solution e xits the solution and
between the free gas phase and the dissolved gas/liquid solution. Equations 17.34 and
cN p
liq ,
2
,
K T
H
(17.34)
where c is the molar concentration of the gas in solution , p is the pressure , and KH
is the
Henry constant. Henry s Law specifies the amount of a gas that should be in solution at
the given pressure and temperature. By comparing this equilibrium value with the
appropriate amount of dissolved gas in solution. Equation 17.35 presents the rate equation
used to calculate mass transfer between the free gas phase and the dissolved gas phase:
dYN liq YN , ,
Y
liq N ,liq
,
dt
2 2 2
(17.35)
where YN2,liq is the mass fraction of dissolved gas in solution ( N2 in this e xample), YN 2
, liq is
the equilibrium mass fraction of dissolved gas in solution , and is the time-scale. Note that
To activate dissolved gas modeling , set dissolved_gas_flag = 1 in vof.in and specify the
18 Fluid-Structure Interaction ( )
FSI Modeling
CONVERGE computes e xternal forces, such as aerodynamic and gravitational forces , and
moments on an object to model fluid-structure interaction (FSI). These forces are computed
by numerical integration of pressure and shear stress over the surface of the object. This
technique , combined with the flow solver and Adaptive Mesh Refinement (AMR) , can be
readily applied to a variety of useful applications such as the movement of reed valves in
The flow solver calculates the force , Ffluid-i, by integrating the stress tensor over the surface
Ffluid i
( P i ij j
) n dS ,
j (18.1)
described below in the Equations of Motion section , Ffluid-i is used to calculate the
The total moment ( Mfluid-i ) is calculated from the flow solver by integrating the stress tensor
M fluid i i k
j
r (
j
P kl kl ) l n dS , (18.2)
S
where ei k
j
is the Levi-Civita symbol and r j
is the distance of the center of mass from the
surface boundary. As e xplained in Equation 18.4 in the Equations of Motion section below ,
the total moment ( Mfluid-i ) is used to calculate the angular motion of the FSI object.
CONVERGE solves the governing equation for the translational motion of the center of
where m is the mass and xi is the displacement of the center of mass in the i
th direction of
the FSI object. The Fexternal-i forces , which are summed , include the applied forces (specified
in fsi.in
) and the body forces (gravity as specified in inputs.in or other forces on the FSI
The governing equation for the rotational motion of the center of mass in the inertial
M external i M fluid i I i
j j j j
I
i k kll , (18.4)
(specified in fsi.in
) and moments due to other e xternal forces on the FSI object. The
q cos i sin j sin k sin , (18.5)
2 2 2 2
where q is the angle and (i, j, k) is the a xis vector about which the rotation occurs.
To implement FSI modeling in a CONVERGE simulation , you must prepare the surface
geometry in CONVERGE Studio and note the boundary IDs of the boundaries that define
your FSI object(s). In Figure 18.6 below , all of the boundaries that constitute part of the
bird are boundaries used to define the FSI object. There is an additional boundary (not
visible in Figure 18.6) that defines a bo x around the bird , but that boundary is not part of
After preparing the geometry , activate FSI modeling by setting fsi_flag = 1 in inputs.in. Ne xt
you need to prepare boundary.in and fsi.in as described below.
Figure 18.1: You can use FSI modeling in CONVERGE to visualize the flapping wings of the bird.
All of the example input files in this chapter pertain to this bird.
boundary.in
After preparing the geometry , you need to prepare the boundary.in file for your FSI case.
Figure 18.6 below shows an e xample boundary.in file for the flying bird shown in Figure
18.5.
Set a wall motion type of FSI for each boundary whose motion will depend solely on the
fluid-structure interaction ( i.e., solely on the parameters defined in fsi.in ). In other words ,
include the keywords WALL MOVING FSI in the row below each applicable boundary ID.
In the example below , Boundaries 1 , 2, 3 and 4 are in this category. The motion of a WALL
MOVING FSI boundary will be dictated by Equations 18.3 and 18.4. When CONVERGE
FSI
reads the keyword , it will ignore any velocity vector or motion file name on the
Note that some boundaries may be a part of an FSI object but may not have FSI as their
wall motion type. In the e xample below in Figure 18.6) , Boundaries 5 and 6 ( RightWing
and LeftWing ) are specified as WALL MOVING Rotating because these boundaries have a
rotating motion assigned to them by their respective *_ motion.in velocity profiles. The
rotation specified for these boundaries will have a moving rotation center , with the initial
rotation center as specified by the first set of coordinates following the Dirichlet keyword
[
( 0.052655 0.099025 -0.034354 ] for Boundary 5 below). CONVERGE automatically
calculates the current position of the rotation center based on how the boundary position
is affect by the FSI forces. Note that Boundaries 5 and 6 also will be affected by the fluid-
structure interaction parameters defined in fsi.in because Boundaries 5 and 6 are included
#!CONVERGE_VERSION=2.4
#=======================
fsi.in
After preparing boundary.in, you need to prepare fsi.in. The fsi.in file specifies the number
of FSI objects ; the boundaries that constitute each FSI object ; and information related to
the spatial coordinates , applied moments and forces , and translational and rotational
constraints. The file also sets flags for FSI spring , stiction , and event options.
Figure 18.3 shows an fsi.in file for the flying bird case.
#!CONVERGE_VERSION=2.4
#=======================
1 # Number of objects
#---------------------------------------------
# fsiobject_1
#---------------------------------------------
fsiobject_1 object_id Object id that corresponds
to those in boundary.in.
6 num_boundaries Number of boundaries on the
object.
1 boundary_id Boundary ids for boundaries
on the object.
2 boundary_id Boundary ids for boundaries
on the object.
3 boundary_id Boundary ids for boundaries
on the object.
4 boundary_id Boundary ids for boundaries
on the object.
5 boundary_id Boundary ids for boundaries
on the object.
7 boundary_id Boundary ids for boundaries
on the object.
0 gti_fsi_flag 0: do not use GT-SUITE; 1:
solve using GT-SUITE.
0.0 fsi_start_time The start time of fsi
computations.
0 center_of_mass_flag Center of mass flag. 0: use
geometric center (constant density), 1: displacement from geometric center, 2: Center
in space coordinates.
0.0 0.0 0.0 center_of_mass Coordinates for center of
mass.
0 mass_flag 0: use density value; 1:
use mass value.
200.0 object_mass Total mass of object.
10.0 object_density Density (or average
density) of object.
0.0 0.0 0.0 object_vel_init Initial velocity.
0.0 object_rot_vel_init Initial rotational
velocity.
1.0 0.0 0.0 rot_vel_init_axis Initial rotational velocity
axis.
0.0 0.0 0.0 applied_force Constant applied force.
0.0 applied_moment Constant applied moment.
0.0 0.0 0.0 applied_moment_axis Constant applied moment
axis.
0 moment_of_inertia_flag 0: moment of inertia is
computed (constant density assumed); 1: moment inertia tensor given on next three
lines.
1.0 0.0 0.0 moment_of_inertia
0.0 1.0 0.0 moment_of_inertia
0.0 0.0 1.0 moment_of_inertia
#---------------------------------------------
# forces and events option
#---------------------------------------------
0 spring_flag
0 stiction_flag
0 fsi_events_flag
Figure 18.3: The fsi.in file for the flying bird example. The geometry for this case is shown above in
Figure 18.1.
fsi_object_<name>.out
CONVERGE writes output data for each FSI object to an fsi_ob ect_<name>.out
j file, where
<name> ob ect_id
is the j of the FSI object. For e xample, the output file name might be
of fsi_ob ect_<name>.out
j is described in Chapter 23 - Output File Reference.
You can use the CONVERGE FSI spring option to model spring forces between objects.
The model is an appro ximation of a damped linear coil spring , with specified stiffness ,
damping coefficient , length , and preload. You specify the two endpoints of the spring ,
which defines the direction of the applied force.
If you are simulating a physical coil spring , you can add fidelity to the model using
subsprings. You specify a radius and azimuthal angle for each subspring. The total
specified stiffness and damping is distributed across the subsprings. If you use many
Set spring_flag = 1 in fsi.in to activate the FSI spring model. CONVERGE will refer to the
spring.in input file , which contains spring modeling constants for each FSI spring object.
CONVERGE includes a stiction model to appro ximate the interaction force that must be
overcome to put two static objects into relative motion. To use the stiction model , you
specify a ma ximum force, a ma ximum interaction distance , and a unit vector for the
stiction force. CONVERGE treats the stiction force as a linear decay between the ma ximum
specified force at zero distance , and zero force at the ma ximum specified distance.
To activate the stiction model , set stiction_flag = 1. CONVERGE will refer to the stiction.in
file for these parameters.
You can activate FSI events by setting fsi_events_flag = 1. CONVERGE will then look for
event definitions in fsi_events.in . These events are implemented in the same way as the
standard events described in Chapter 7 - Initialization and Regions , using OPEN and
CLOSE events to deactivate and activate disconnect triangles. In contrast to regular events ,
FSI events are defined by distances rather than times. Note that in case of conflict , FSI
For a CONVERGE + GT-SUITE simulation that includes FSI modeling , set fsi_flag = 1 in
inputs.in and then set gti_fsi_flag = 1 in fsi.in. In the boundary.in file , include the FSI
keyword as described previously and set up the GT-SUITE boundaries as described in
In a typical CONVERGE + GT-SUITE simulation , CONVERGE runs first and then passes
19 Radiation Modeling
You can model radiation and associated heat transfer in CONVERGE. For systems with
heat transfer due to radiation (not just conduction or convection) , this feature will help to
attain accurate results. Radiation modeling may be useful for gas turbine or diffusion flame
You can use the Discrete Ordinates (DO) method , which encompasses all optical
thicknesses , to solve problems with participating media. The computational cost depends
on angular discretization and pixelation. This model can be used with either gray
radiation or nongray radiation. For nongray radiation , CONVERGE includes a gray band
The DO model solves the radiative transfer equation (RTE) for a fi xed set of discrete solid
angles. Each angle is associated with a fi xed Cartesian vector direction si. The RTE for an
( I ri , si a I(ri , si ) anRI T s
I ri , si sisi d
4 4
(
i
)s )
s
2
(19.1)
xi
( ) .
4
0
In this equation , i r is the position vector (and is a function of x, y, and z), si is the direction
vector , s'
i is the scattering direction vector , a is the absorption coefficient , nRI is the
radiation intensity, T is the local temperature , F is the scattering phase function , and
is the solid angle.
19.1.2 Discretization
The spatial discretization to solve the radiative transfer equation (RTE) is two-fold.
Angular Discretization
There are two possible schemes for angular discretization.
You can set radiation_model = 0 in radiation.in to implement the standard finite volume
method (FVM). In this model the polar and azimuthal angles are subdivided uniformly in
N and
N directions , respectively , with a total number of
NN
control angles per
Alternatively , you can set radiation_model = 1 in radiation.in to use a variation of the finite
volume method called FTnFVM. In this model the polar angle in an octant is subdivided
uniformly into a pair number N, and the azimuthal angle is divided uniformly in an octant
in the following sequence 1 , 2 , ... , N in each level of the polar angle. You can control the
Figure 19.1: Angular discretization for the DO method. The image at left pertains to the FVM, while
the image at right pertains to the FTnFVM.
Pixelation
Because CONVERGE uses a Cartesian mesh , the angular discretization aligns with the
control volume face. However , control volume faces do not always align with the angular
overhang. As shown below in Figure 19.2 , this problem results in control angles that are
There are five options for the scattering phase function ( F) for the DO method. These
scatter_function = 0: No scattering
For isotropic scattering ( i.e., scattering that is equally likely in all directions) , set
scatter_function = 1.
The linear anisotropic phase function ( scatter_function = 2) is given by Equation 19.2 below ,
in which si and si ' are the two direction vectors.
si si 1 C aniso si si (19.2)
si s 2 f DE (1 si si ) 1
j
f DE (1 C ss
aniso i i ) (19.3)
gas simulation. The two options (Weighted Sum of Gray Gases model , band model) are
described below. If you set nongray_model = 0 , then CONVERGE will perform a gray gas
simulation.
I
a ,i T 1 e i ps , (19.4)
i 0
where
a ,i are the weighting factors for the fictitious gray gases , i is the absorption
coefficient of the i
-th gray gas , p, is the sum of the partial pressures of all of the absorbing
The absorption coefficient for i= 0 is assigned a value of zero to account for windows in
I
the spectrum between spectral regions of high absorption ( i a i
1 ,
1 ) , and the
I
a ,i 1 a
,i .
(19.5)
i 1
a biT
J
,i
1
,
j
(19.6)
, ,j
j 1
where
b ,i , j are the emissivity gas temperature polynomial coefficients. The polynomial
coefficients
b ,i , j and i are nearly constant with respect to ps (the pressure-path length
coefficients assuming they are constant-valued. These coefficients are calculated for
different relative pressures of the CO2 and H2O vapor , assuming that the total pressure is
For pressures higher than 1.1 atm or lower than 0.9 atm, CONVERGE locally scales the
absorption coefficients in each cell. This scaling (Edwards and Matavosian , 1984) reduces
the error associated with the constant-value assumption. The absorption coefficients are
scaled according to
i i patm m , (19.7)
where patm is the pressure in atm and the pressure e xponent m is a non-dimensional term
Band Model
If you set nongray_model = 1 , CONVERGE will use a band model. For band models , you
must provide the spectral band bounds and the absorption and scattering coefficients. The
Inputs section.
radiation.in . This option captures the effect of spray parcels on radiation. The contribution
anRI T
(Is i ) p
a a I ri , si E I ri , si si s ni n d,
4 4
p p 2
p (19.8)
x
( ) ( )
i
j j
4
0
where ap is the absorption coefficient due to the presence of particulates and is given by
N Apn
ap pn (19.9)
V
.
n 1
N Tpn 4
Ep pn Apn , (19.10)
n 1
V
N Apn
p 1 pn , (19.11)
n 1
V
where e pn, Apn, Tpn are the emissivity , projected area , and temperature , respectively , of
parcel n. In the above equations the summation is over N parcels in volume V . Specify the
include the radiation.in file in the Case Directory. You can set the numerical constraints
such as under-rela xation and tolerance values for the Discrete Ordinates method by
In addition to including the RADIATION non-transport passive , you must also include the
radiation variable in post.in. The combination of this non-transport passive and post.in
variable will prompt CONVERGE to write out the cell-by-cell values that you need to post-
process the data from a radiation simulation. The RADIATION non-transport passive is
the incident radiation , which is calculated by the integral of intensity of radiation over a
spherical surface:
I ri , si d
4
( ) . (19.12)
If you want CONVERGE to write the radiative heat flux, you must include the
I ri , si d
2
i .
( )s (19.13)
This chapter describes topics related to modeling internal combustion (IC) engines in
engine.in file in the Case Directory. You must verify that your surface geometry file ( e.g.,
surface.dat ) is prepared with the piston at bottom dead center (BDC) position to ensure that
CONVERGE initializes velocities for all regions via initilize.in. For engine cases ,
CONVERGE uses the engine parameters specified in engine.in to overwrite the velocity in
the cylinder. For a multi-cylinder case , only one cylinder will be initialized using the
velocity initialization technique described below for the Piston and the Cylinder (Non-
Piston).
The boundaries defined by pist_id, head_id, and liner_id in engine.in must all be associated
with the same region. CONVERGE sets the w component (z direction) of velocity to the
piston velocity for all points in the piston face. You can specify piston velocity in one of
three ways:
Piston motion: Specify engine parameters (including rpm and stroke) in engine.in .
CONVERGE will use the crank-slider mechanism to determine the piston velocity
boundary.in .
Piston position: Specify temporally varying position data from which CONVERGE will
calculate piston velocity. Note that this file specifies only position (not velocity) data.
Piston Motion
If you specify piston motion as the velocity boundary condition for the piston boundary ,
CONVERGE will internally generate the position tables for the piston boundary using the
crank-slider equation. If you use this option , you must verify that the surface file ( e.g.,
surface.dat ) is prepared with the piston at bottom dead center (BDC) position. (Even if you
do not use this option , you must verify that the piston is at BDC prior to running a
simulation.)
To use piston motion as the velocity boundary condition , simply enter a $ on the velocity
boundary condition row in place of the three numbers representing components of velocity
for piston in boundary.in . CONVERGE will use the engine geometry parameters you specify
in engine.in to determine the piston position table , using a crank-slider motion with options
for the crank and wrist pin offset. This option is recommended for most typical engine
cases. The piston position is calculated at every time-step , based on a piston profile
To create a piston position output file: Instead of using a $ in the piston boundary's velocity
boundary condition row , enter $$ instead. This piston position output option will still use
engine.in inputs to calculate the piston position throughout the simulation , but it will also
cause CONVERGE to generate an output file named piston_profile<ID>. This output file
will contain piston position information calculated every 0.1 crank angle degrees . The # in
Piston Position
You can enter your own piston position table by specifying a file name e.g., (
Then create a temporally varying position file consistent with the format shown in Figure
20.1 below. Save this file with the file name specified for the piston's velocity boundary
condition ( e.g., piston_position.in ) in the Case Directory , which is the directory in which all
other input and data files are saved for a simulation. Note that CONVERGE will
interpolate position values for crank angle degrees that are not specified in this file.
TEMPORAL
CYCLIC 720
crank x y z
0 0 0 0
180 0 0 .085
360 0 0 0
540 0 0 .085
720 0 0 0
Figure 20.1: An example of a piston position profile (e.g., piston_position.in).
20.1.2 Velocity Initialization in the Cylinder
CONVERGE gives the remaining grid cells in the cylinder region an initial w velocity (z
direction) consistent with a field that linearly drops from the piston speed at the piston
w z wpiston zhead z ,
zhead zpiston
( ) (20.1)
where zhead and zpiston are the z coordinates of the head and piston , respectively , and wpiston
is the speed of the piston.
CONVERGE begins velocity initialization at zero for the location specified for zhead in
engine.in . The crank-slider mechanism uses both stroke and squish values to calculate zpiston
in Equation 20.1. Figure 20.2 below shows that the values for squish will be different for
flat and non-flat cylinder heads , which results in different velocity profiles during the
initialization process. Note that CONVERGE uses the squish parameter in engine.in only for
velocity initialization. The cells in the piston bowl have the same velocity as the piston
boundary.
Figure 20.2: Initialization of w velocity for flat and non-flat cylinder heads.
direction) components of the velocity in the cylinder region. The swirl_ratio is the ratio of
flow
swirl ratio
_ . (20.2)
crankshaft
The simplest approach to initializing swirl is to assume wheel flow. Assuming the cylinder
are initialized as
The wheel-flow assumption is not usually realistic since the velocity should diminish
significantly near the cylinder wall. It has been observed that a Bessel function more
accurately represents the velocity profile in an engine (Amsden et al. , 1989). The
minimum value of 0.0 for wheel flow and a ma ximum value of 3.83 for zero velocity at the
wall. For IC engines , typically swirl_profile = 3.11. To specify swirl for a V engine , use
20.1.3 ,
Swirl Tumble , and Angular Momentum
CONVERGE can calculate the swirl and tumble based on the piston s direction of motion
or any user-specified orientation.
must set dynamic_flag = 1 in inputs.in and include the dynamic.in file in the Case Directory.
Use this dynamic output option when the cylinders are inclined with respect to the z a xis
in the surface geometry file (as in a V engine) or if you use multiple cylinders. Note that
CONVERGE calculates and can write out the positive and negative components of swirl
and tumble.
In general , if the piston motion vector is the z a xis, the calculations for swirl ratio , tumble
ratio , and angular momentum are straightforward. For cylinders aligned with the z a xis,
you do not need to use these dynamic input parameters. CONVERGE always calculates
the swirl and tumble ratio about the center of mass , except for sector cases where (0 0) is ,
used for the x and y center.
If the piston motion is not along the z a xis, CONVERGE can calculate the swirl based on
The piston s direction of motion ( bound_or_vector = 0) or
CONVERGE will calculate the tumble internally in manner consistent with the option
chosen.
The surface geometry for an engine cylinder is often drawn and e xported with the piston
at the bottom dead center (BDC) location. But to ensure the most accurate simulation
results , you may need to translate the piston slightly , depending on the results of the
calculating the compression ratio , can move the piston to a location that yields the desired
compression ratio. Access this tool via Case Setup > Applications > Engine application . Refer
You can use the heat transfer coefficient mapping utility , htc_map, to map heat transfer
data from transfer.out to a triangulated surface file and to provide cycle-averaged results
for finite element analysis (FEA). Refer to the Heat Transfer Mapping section of Chapter 3
- Pre- and Post-Processing for a detailed e xplanation for setting up and running the
htc_map utility.
the surface triangulation used in CONVERGE. The FEA surface will have higher resolution
( i.e., more triangles) in areas most relevant to the heat transfer analysis.
CONVERGE uses a search algorithm ( direct hits, grown points, neighbors ) to map the
triangles in the transfer.out file to the FEA surface file. Direct hits indicate a CONVERGE
grid point mapped directly to a FEA surface triangle. If the grid resolution in CONVERGE
is fine , there may be multiple surface triangles mapped to a single FEA surface triangle. In
this case , CONVERGE will use area-weighted averaging of the grid triangles to map onto
the FEA triangle. If small FEA triangles have no corresponding grid points , CONVERGE
initializes them by neighbors (neighboring cells). CONVERGE uses the grown points
algorithm to initialize triangles that are not initialized by direct points or neighbors . These
triangles are initialized with values that grow from neighbor triangles.
Note that the boundary IDs between the original surface triangle and the mapped FEA
triangle must be consistent. CONVERGE will not map FEA triangles with inconsistent
boundary IDs. Although it is not recommended , you can disable this requirement by
After mapping , there may be triangles in the FEA surface file that are not initialized with
CONVERGE boundary data. Uninitialized triangles may be the result of mistakes ( e.g., if
the FEA surface is not aligned with the CONVERGE surface or if boundary IDs do not
surfaces. For e xample, a moving piston will block portions of the liner , which will then
remain uninitialized.
At any time-step when the number of uninitialized triangles is greater than zero ,
CONVERGE creates uninit_triangles_complete.dat
a file. You can import both the FEA
cyclic averages of heat transfer data that are spatially resolved for the FEA surface file.
The transfer.out file includes data at the interval specified by twrite_transfer inputs.in
in . The
data from one engine cycle (e xcept the first set of data) are averaged to yield a single file
with heat transfer data spatially resolved for the FEA surface file. For a four-stroke engine ,
the cycle is 720 crank angle degrees .
CONVERGE calculates the cycle-averaged heat transfer coefficient , h , and the fluid
CA
h h / CAi (20.4)
i
and
CA
h Tg i i
/ CA
Tg i
CA
. (20.5)
h / CAi
i
In these equations , hi and Tgi are the cycle-averaged heat transfer coefficient and fluid
temperature for each point at each twrite_transfer time interval ( DCA), where CA is the
CONVERGE averages these values in this manner to ensure that the calculated heat
transfer is the same as the integration of the instantaneous values over the cycle. Note that
the average fluid temperature calculated with this method is biased toward the times
when the heat transfer coefficient is high , but , when multiplied by average heat transfer
coefficient , it gives the calculated heat transfer. In the situation in which a triangle is not
initialized during a crank angle interval (for instance , when the liner is blocked by the
physical processes at the appropriate point in the engine cycle. There are three common
plug, and
Using a measured or simulated cylinder pressure trace to represent the mean pressure of
For general information about sources , refer to Chapter 6 - Source Modeling Setup.
Use the heat release rate option ( source_type = 3) to apply a known heat release rate over
an entire region (or shape). The heat release rate option can help you avoid some of the
Note that this approach should only be used when the details of the combustion are not of
interest. The specified heat release rate can be obtained from CONVERGE ( i.e., single
To appro ximate combustion using heat release rate , specify a file ( e.g., heat_release.in ) that
contains the heat release data as the source_value source.in in . The heat release file must
have the keyword H EAT_RELEASE as shown in Figure 20.3. The units for heat release
TEMPORAL
CYCLIC
crank HEAT_RELEASE
-204.98 2.150E-03
-204.82 4.760E-03
-204.33 1.100E-02
.
.
.
119.72 1.040E+04
120.21 0.000E+00
515.02 2.150E-03
Figure 20.3: An excerpt of a heat release data file.
In a typical spark discharge , voltage rises between the two electrodes until there is an
electrical breakdown in the spark gap. In this first stage of the electrical discharge (called
the breakdown phase), the mi xture between the electrodes is ionized into plasma , which
The breakdown phase is followed by the arc phase, in which the thin cylindrical plasma
expands largely due to heat conduction and diffusion. The arc phase is followed by a glow
discharge phase, in which , depending on the details of the ignition system , the energy
storage device will dump its energy into the discharge circuit. With inflammable mi xtures,
the e xothermic reactions in the arc phase lead to a self-sustaining propagating flame
Time scales in the breakdown phase are significantly smaller than the arc/glow phase.
Since the discharge times of the arc and glow discharge phases are similar , this energy is
often combined together as one energy source. In a CONVERGE simulation , you will
therefore specify two energy sources that briefly overlap. You must ensure that the
breakdown phase occurs earlier and is of shorter duration than arc/glow phase by
correctly specifying start_source and end_source values for the two sources , with
consideration for the engine speed. Note that the two overlapping spark sources cause a
step change with respect to time in the energy release. For a spark plug , specify the
two electrodes. Typically , a SPHERE source_shape is used to simulate the spark. For an
example of a SPHERE source to simulation the spark , consult the SI8 engine SAGE PFI or
Heywood (1988). On the time scale of the breakdown phase , this fluid motion is not
important. But in the arc/glow phase , the arc between the electrodes will be advected
To more accurately simulate the arc/glow phase advection , specify the source as moving
velocity of the flow in the arc/glow phase. A LINE source may more accurately represent
an advected arc/glow phase because it is a collection of point sources , and each point in
the LINE can attain different velocities due to the spatial variation of fluid velocities. Points
close to the electrode will be affected by the boundary layer of the fluid motion while
points in between will be advected by the bulk motion of the flow. Hence , a LINE source
A typical source.in file to use a LINE source_shape to represent spark energy is shown in
Figure 20.4 below. In this e xample, the source_value m is 25 J for the breakdown phase for
0.5 crank angle degrees (700.0 to 700.5) and the source_value is 25 m J for the arc/glow phase
for 10 crank angle degrees (700.0 to 710.0). For multiple-cycle simulations of four-stroke
engines , the spark discharge repeats after 720 crank angle degrees, which is specified by the
CYCLIC 720 row. Note that the source_type can be either 0 or 1 for specifying spark energy.
#!csi_version=2.4
#=======================
#--------------breakdown phase-------------------------------------
ENERGY source eqn
1 source_type
8.0e11 source_unit_volume
25.e-3 source_value
CYCLIC 720
700.0 start_source
700.5 end_source
50000 max_value
LINE source_shape
-0.000355 0.00555 0.0522 x1_center
-0.000355 0.00555 0.0516 x2_center
10 num_points
0 moving
1.0 2.0 3.0 velocity
0.005 max_displace
0 reset_source
#----------------arc/glow phase------------------------------------
ENERGY source eqn
1 source_type
8.0e11 source_unit_volume
25.e-3 source_value
CYCLIC 720
700.0 start_source
710.0 end_source
50000 max_value
LINE source_shape
-0.000355 0.00555 0.0522 x1_center
-0.000355 0.00555 0.0516 x2_center
10 num_points
2 moving
1.0 2.0 3.0 velocity
0.005 max_displace
2 reset_source
Figure 20.4: An example source.in for spark energy input.
Similar to the specification of the heat release rate , you can provide cylinder pressure trace
data. CONVERGE will use this pressure trace data to provide an energy source that
represents the heat release due to combustion. Note that source_type must be set to 2 in
source.in file. You can obtain the pressure trace data by running one cycle of combustion
To appro ximate combustion using pressure trace data , specify a file ( e.g., pressure.in ) that
TEMPORAL
CYCLIC
crank PRESSURE_CURVE
-204.98 96823.79
-204.82 96866.36
-204.33 97002.27
.
.
118.76 92645.65
120.21 91368.29
515.2 96823.79
Figure 20.5: An example of a pressure trace data file.
20.5 Synchronizing Valve M otion
When modeling valve motion in CONVERGE , the valves are never completely closed in the
surface geometry. Completely closing the valves would require the valve surfaces to come
into contact with the corresponding valve seat surfaces on the head. This would result in
intersecting triangles. Since the surfaces are never allowed to intersect in a CONVERGE
simulation , a minimum valve lift must be maintained in the valve motion , referred to as the
minimum lift position ( Lmin ). Without a CLOSE event , flow can occur through the valve
CONVERGE can automatically calculate and implement OPEN and CLOSE events
between regions that are separated by valves. To use this feature, simply specify the
keyword VALVE, followed by the name of the valve list profile (used to specify the motion
of the valve) that is referenced in boundary.in, in the events.in file where you would
normally specify the OPEN or CLOSE keyword. Refer to the Automatic Valve Events
You can still choose to manually specify the OPEN and CLOSE events for valves. The
remainder of this section describes how to do this. The automatic valve event procedure
Activate disconnect triangles to disconnect flow between regions by following the events.in
configuration steps outlined in the Events section of Chapter 7 - Initialization and Regions.
between adjacent regions to effectively allow or stop flow , based on the OPEN/CLOSE
events specified in events.in. The boundaries between which disconnect triangles are
created must not be moving when the two regions are disconnected.
Be sure to prescribe OPEN or CLOSE events that correspond with the valve motion. The
valve must not be moving when regions are disconnected , so specify an OPEN event before
the minimum lift ( Lmin ) has been reached when the valve is opening. Similarly , specify a
CLOSE event after the valve reaches a lift distance lower than the minimum lift ( Lmin ,
)
when the valve is closing. The timing of the OPEN and CLOSE events should be such that
the real flow area is reasonably appro ximated as shown in Figure 20.6. This approach
assumes the lift profile to be nearly linear at the opening and closing ends of the valve lift
profile.
Figure 20.6: Different flow areas will be evaluated for different choice of crank angle degree for
OPEN event in events.in.
The crank angle when the valve lift is half the minimum lift is recommended for the OPEN
event timing (point 2 in Figure 20.6). This will capture the flow area between the points 2-
3-6-5-2 which appro ximates the real mass flow in magnitude , ( i.e., the area enclosed by the
points 1-6-3-2-1).
If the crank angle where the valve actually starts moving (point 1 in Figure 20.6) is chosen
as the OPEN event time , the flow area will be too large (area enclosed by the points 1-2-3-
6-5-4-1) , since the valve is at a non-zero minimum lift. This area is larger than the real flow
area , which is the area enclosed by the points 1-2-3-6-1 and for this reason this approach is
not recommended.
If the crank angle where the actual valve lift reaches the minimum lift (point 3 in Figure
20.6) is chosen as the event time and all the flow area between the seated position (1) and
minimum lift (3) is neglected (area enclosed by the points 1-2-3-6-1) therefore this
Similarly , choose the CLOSE event timing to correspond with the time at which the valve
For all multi-cylinder cases , insert the following line at the beginning of the boundary.in file:
This line specifies the vector of the engine's crank shaft a xis. For both V engines and flat
cylinder engines , this is also the vector about which each cylinder is rotated following the
right-hand rule. Figure 20.7 shows the positioning of the rotation a xis for a V engine ,
where the x a xis is pointing into the plane of the figure.
For Cylinder 1 in Figure 20.7 , the rotation angle is -45 and for Cylinder 2 the rotation
angle is +45 . The crank shaft a xis vector and the cylinder rotation angle are used to
correct both piston and valve motions from a vertical or inline orientation to the actual V-
angle of the cylinder. This allows the use of CONVERGE s default crank-slider motion
option ($ ) without having to construct comple x piston motion files. It also enables you to
use valve lift profiles for vertically inclined cylinders without any modification of the valve
lift profile itself. Note that for vertical in-line engines , the rotational angle is 0 for all
cylinders.
CONVERGE enables you to specify the crank angle offset (phase lag angle , f) and the
cylinder rotation angle (q). Depending on the method you use to define a boundary's
motion (piston or valves) , the input in the boundary.in file will be as follows:
In the above instance , -360 represents the phase lag angle ( f) and 45 represents the
cylinder rotation angle ( q ), as shown above in Figure 20.7 . If you do not specify the
rotation angle , then CONVERGE assumes a value of 0. The phase lag angle accounts for
the crank angle offset applied to the motion file listed (or $ ). This phase lag (or crank angle
offset) depends on the firing order in multi-cylinder engine cases. For e xample, in a four-
cylinder engine , if the firing order is 1-3-4-2 , then the phase lag angle ( f ) for the first, third,
fourth , and second cylinders will be 0 , +180 , +360 , and +540 , respectively. It is
important to note that the phase lag angles are with respect to the first cylinder.
Specify the valve motion through a file ( e.g., intake_lift.in ). You must list the name of this
valve motion file in the boundary.in . This file must contain the intake lift profile information
in the format shown in the Moving WALLS - Valve Lift Files section of Chapter 8 -
Boundary Conditions.
create OPEN and CLOSE events between regions separated by valves based on the valve
Since you can specify the phase angles and the rotation angles for each cylinder , you can
use the same valve lift profile for multiple cylinders. In this case , enter the direction vector
for the valve lift profiles as if the cylinder was in a vertical or in-line orientation.
CONVERGE will automatically adjust the valve motion direction vector using the cylinder
rotation angle for the corresponding cylinder. CONVERGE will calculate the actual motion
for each valve based on the supplied phase angle and the valve s motion vector.
CONVERGE will also adjust the timing of this valve motion according to the supplied
phase angle. Lift profiles must include the full period of the engine , i.e., 720 crank angle
degrees for a four-stroke engine. This means the difference between the starting and ending
times in a four-stroke engine valve lift profile file must be 720 crank angle degrees .
20.6.2 ,
Swirl Tumble for Inclined Cylinders
Use the dynamic.in file to specify the a xes for swirl and tumble calculations when cylinders
are inclined relative to the z a xis. Designate the number of cylinders in the simulation with
the num_piston_or_vector parameter and repeat the remaining parameters for each
cylinder. Details of the relevant inputs for this file are described in the Swirl , Tumble and
Angular Momentum Calculations section earlier in this chapter. Note that in multi-
cylinder cases where the cylinders are all aligned with the z a xis ( i.e., vertical inline
engines) , dynamic.in is not required because CONVERGE will calculate the swirl , tumble ,
and angular momentum about the global coordinate system for all cylinders.
Chapter 7 - Initialization and Regions for more information regarding regions. When each
cylinder is a different region , you can activate or deactivate a model or feature for a
,
in which no valves are present you need specify only an OPEN event. This will allow
flow at all times between these regions. Remember to add the phase lag while
specifying OPEN and CLOSE events for adjacent regions containing valves.
Use an energy source to model spark events by defining the source as a geometric
heat release rate if you do not directly model combustion. A REGION type of source
cylinder.
combust.in Simulate combustion in one or more cylinders and use energy sources for the rest.
,
If you use the SAGE detailed chemistry solver you can activate region-dependent
Directory). For e xample, you can turn off the SAGE solver in the intake and e xhaust
ports to save computational time. The start and end times for SAGE for each region
sage_tstart, sage_tend
( ) must correspond to the phase lag angle for each cylinder.
,
If you use the CTC model invoke region-specific reset times and periods by
,
If you use the G-Equation model invoke region-specific reinitialization times by
initialize.in If you do not specify an initial value for a passive scalar or a mass fraction of a species
embedded.in Specify the start and end times ( embed_start_time, embed_end_time ) to be consistent with
the corresponding cylinder phase lag angles for injector and spark plug embedding.
,
Since each cylinder is in a unique location you must ensure each embedding location
x_center
( ) corresponds to the location of the associated cylinder.
You can specify the regions and/or boundaries in/on which you will activate
AMR.
each parameter in amr.in is consistent with the phase lag angle for each cylinder.
CONVERGE will not process any region blocks that appear in amr.in after the
keyword amr_num_bounds .
max_cfl_u.in Specify ma ximum CFL criteria on a region-by-region basis with the file. max_cfl_u.in
For example, when the exhaust valve opens , the gas velocity in the exhaust port is very
high. The time-step calculated based on the ma x imum CFL number may be very small ,
resulting in significantly longer runtimes. If the accuracy of the results in the ex haust
port is less important, increase the ma x imum CFL criteria for the ex haust ports region
to reduce runtimes.
For multiple cycle simulations , it is important to set the temporal type to be PERMANENT
or , for periodic events , CYCLIC . If the temporal type is CYCLIC, this keyword must be
followed by the cyclic period to ensure that the events ( e.g., embedding , combustion using
Set the AMR temporal type as PERMANENT or C YCLIC to ensure that AMR is active
for each subsequent cycle. If several regions use the same AMR settings , specify these
parameters for multiple regions with a single block of AMR settings consisting of all
of AMR settings to facilitate various AMR strategies to be active for different sets of
regions simultaneously.
Reset the CTC combustion model using the parameter ctc_init_time in combust.in . The
reset times (in crank angle degrees ) and the periods can be different for different regions in
the domain. In such an instance , supply the file name ctc_init_time.in for the parameter
multiple cycle and multiple engine simulations at g_eqn_init_time after a cyclic period of
Specify the temporal type of events in events.in as C YCLIC, followed by the cyclic period
( e.g., 720 crank angle degrees ) to ensure that the events (such as opening and closing of
When you use detailed chemistry , there are typically many species. The initial mass
fractions of many radical and product species are zero. You are not required to specify
the species that have zero mass fractions as CONVERGE will assign them a zero value
by default. Similarly , if there is no initial value for a passive scalar in the initialize.in file ,
CONVERGE will assign it a zero value.
If you run a simulation with a coarse mesh for one cycle , you can then map the solution
from this coarse-mesh simulation onto a finer mesh to reduce overall computational time.
To specify the initial values of the main simulation conditions such as pressure , velocity ,
temperature , turbulence , and species mass fractions on a region-by-region basis , use the
file initialize.in . Although the initial conditions will not be representative of the actual
condition after the simulation has run for multiple cycles , more accurate initial values can
save computational time. You can also use grid scaling to increase the mesh resolution
A crevice model can simulate the flow between the piston , piston rings , and cylinder. This
model is an alternative to resolving the crevice regions in the CFD grid directly , which can
result in smaller cells and , therefore , smaller time-steps. To use the crevice model , the
cylinder a xis must be aligned with the z a xis. You can apply this model to a single cylinder
of a multi-cylinder case. Note that if you activate the crevice model , the cylinder adjacent
to the crevice must be assigned to Region 0. The crevice model requires the crevice.in file.
The crevice model in CONVERGE is based on the model of Namazian and Heywood
(1982). This model includes the gas flow passages as illustrated in Figure 20.8 below. As
shown in the figure , the model includes two rings and five crevice regions. Region 1 is at
the cylinder pressure , while region 5 , which is just above the oil ring , is at the crankcase
pressure. The crevice model will calculate the pressures in regions 2 , 3 and 4. Namazian
and Heywood (1982) show that the continuity equations for regions 2 , 3 and 4 can be
written as
mo dP m
2 2
m ,
Po dt2
12 23 (20.6)
mo dP m
3 3
m m m ,
Po dt 3
13 23 34 35 (20.7)
and
mo dP m
4 4
m ,
Po dt4
34 45 (20.8)
where Pi is the pressure in region i, Poi is the initial static pressure in region i, and moi is the
the ring gap or ring side clearances. Namazian and Heywood show that the flow rate
m Ah 2
P P
1
Wr RT i ,
ij 2
j
2
(20.9)
24
where Wr is the channel length (which is the width of the ring of interest) , h is the channel
width (which is either the height below or above the ring , depending on the mass flow rate
region temperature , R is the gas constant , m is the viscosity evaluated at the crevice region
Equation 20.9 above is used to appro ximate the mass flow rates m
12 , m23 , m 34 , and m 45 .
Combustion Chamber
Rings 3
As in Namazian and Heywood (1982) , the mass flow rates through the ring gaps are
m i Cd Ai c ,
j j (20.10)
2 P
2
P 1
P
0.52
j j j
,
P P Pi
(20.11)
1 i i
or
1
2 2 1 P
0.52
j
,
Pi
(20.12)
1.4. Equation 20.10 is used to estimate m 13 and m35 . Equations 20.6 - 20.8 are solved
uses these mass flow rates to determine the amount of mass entering and leaving the
cylinder.
You can include the motion of the rings in the crevice model calculation. If ring motion is
included , CONVERGE must determine the forces on the rings. Similar to Namazian and
Mr d h Fp Ff Fi ,
2
dt 2
(20.13)
where h is the top ring side-clearance , Fp is pressure force , Ff is friction force , Fi is inertial
force. We do not include the resistance of the squeezed oil. In Equation 20.13 above , Fp, the
Fp A P P 1
1 3
(20.14)
2
In Equation 20.13 F
, f is the friction force on the ring given by
Ff P drTr f 2 (20.15)
for ring 1 , where dr is the diameter of ring 1 and Tr is the thickness of ring 1. f is the friction
coefficient given by
f 4.8 oilU p P Tr 2
(20.16)
velocity and moil is the viscosity of the oil given by (Namazian and Heywood , 1982) ,
oil exp
1036
9.84 , Ns m 2
T
/ (20.17)
178
Fi Mr ap , (20.18)
where Mr is the mass of the ring and ap is the piston acceleration (Reitz and Kuo , 1989).
Equation 20.13 is solved using a fourth-order Runge-Kutta method. Note that if you
choose not have the ring motion calculated ( ring_motion_flag = 0) , the initial ring positions
After calculating the ring motion and crevice region pressures , CONVERGE can link the
solution to the cylinder by writing an e xpression in the form of Equations 20.6 - 20.8 for
mo dP m
1 1
m m ,
Po dt
1
01 12 13 (20.19)
where m 01 is the mass flow rate from the cylinder region (region 0) to first zone of the
m Pcyln Pcyln 1
m
01 o 1
m m ,
Po dt1
12 13
(20.20)
where Pcyln
1
is the cylinder pressure at the new time-step and Pcyln is the cylinder pressure
at the previous time-step. CONVERGE uses Equation 20.20 above to calculate the relevant
source terms for mass , momentum , and energy in the crevice cells.
Table 20.1 below compares the crevice model parameters (in the equations above) and the
File Reference.
Po2
po2
Po3
po3
Po4
po 4
P5
pcrank
T temp_crev
The Sealing feature is useful for accurately simulating piston ported engines ( e.g., z-
chamber by the motion of the piston , as shown in Figure 20.9 below. Refer to the Sealing of
Utility
Chapter 21
CONGO - Optimization and Model Interrogation Utility |
The CONVERGE Genetic Optimization (CONGO) utility allows you to run a genetic
for a CONVERGE simulation on the LINU X platform. This utility sets up CONVERGE case
directories , starts the CONVERGE simulation for each case , collects results , and calculates
CONGO will run the GA for the number of generations you define. For a DoE , it will run it
for the number of runs you specify. The workflow required to set up a CONGO GA or DoE
You can use CONGO also for non-CONVERGE optimization and model interrogation
studies , provided that the analysis tool coupled with CONGO generates output consistent
After you start the CONGO utility , it runs successive generations without requiring action
on your part. CONGO automatically parses parameter values into CONVERGE input files
have CONGO set up a few selected cases from a GA to run as a DOE automatically.
You can modify a routine for CONGO to allow you to define parameterized features , such
as piston bowl shape or fuel injection rate-shape. You can also implement comple x merit
A micro genetic algorithm (GA) can be used to optimize a model for a given set of input
parameters and a defined model output. For the purposes of this chapter , a model is
defined as a combination of surface geometry parameters ( e.g., piston bowl shape or stroke
distance) and other CONVERGE input parameters ( e.g., injection rate or valve lift position
files). The model variations generated by the GA are controlled by a merit function , which
includes the parameters to optimize , such as engine fuel consumption , and can include
population. You will define the size of the population. Each generation consists of a
population , which consists of the best (or fittest) individual from the previous generation
and new individuals (children) created from individuals in the previous generation
(parents).
Figure 21.1 illustrates this process. Individuals (A) comprise a population for each
generation. Individuals are created for subsequent generations from the parents using a
tournament methodology. The tournament shuffles the individuals into pairs (B) , selects
individuals from the pairs by comparing the merit values (C) , and pairs the winners of the
tournaments into new parents (D). Children (E) are created from the parents. The
tournament continues until enough children are created for the ne xt generation (F). The
individual in the generation with the highest merit (best-so-far) is automatically passed to
the ne xt generation.
As the GA proceeds through generations , the individuals become more and more similar to
the fittest individual. The GA applies a convergence test to determine when the parameters
of the individuals in the population have converged within a user-defined criteria. Once a
population has converged , the individual with the highest merit is retained , and a new set
population randomly after a population converges enables the GA to evaluate the entire
Depending on characteristics of the model and the number of parameters being optimized ,
the GA will converge on the optimum model configuration within a certain number of
generations.
For e xample, in a typical diesel engine case , where fuel consumption and emissions will be
optimized , the GA may converge in appro ximately 50-100 generations for typical input
parameters ( e.g., start of injection). This number depends on the comple xity of the model
response to the range of the input parameters and the number of generations that the GA
individual consists of the binary parameters in sequence This parameter sequence is the
For instance , if three parameters are represented with eight bits each , the DNA of an
The CONVERGE GA can use real number convergence checks (recommended) or a DNA
convergence check (binary evaluation). A real number convergence check means that the
DNA is converted to real parameter values before checking for parameter convergence.
The conversion from DNA to real numbers is carried out by converting the binary value
back to a decimal number. Define a convergence criteria fraction via p_conv in congo.in . A
A crossover algorithm creates individuals for the ne xt generation from parents from the
previous generation. A child inherits matching DNA from the parents and differences in
the two parents' DNA cause a random bit to be evaluated for the child. For e xample, two
parents with only three differing bits would create a child as shown below , where a , b, c
converged for these parents. Although there are only 6 possibilities for the DNA makeup
of the child , the real number values of the child's parameters will be significantly different
allowed to continue generating new populations , the individuals in the population will
become identical.
model inputs. You can also create user-defined optimization parameters based on more
comple x inputs in CONVERGE , such as a geometry object ( e.g., a piston bowl shape) or a
temporally or spatially varying parameter , such as a fuel injection rate or valve lift profile.
algorithm , which is an optimization technique. For a DoE , you generate a table containing a
in a GA. A DoE simply runs different combinations of model parameters and compares the
resulting merit. The merit function CONGO uses for a DoE is essentially the same as for a
GA.
You can use CONGO to specify which individual values for each model parameter in the
DoE , as opposed to a range of values in a GA. CONGO allows you to specify the total
numbers of runs in a DoE and each of these runs can be run concurrently , provided you
Do not mistake a DoE for an optimization technique ; it simply interrogates the specific
models and evaluates the merit of each. After the CONGO DoE is complete , you can refer
to the output.out and perform.out for the merit calculated for each model.
A DoE may be a good option if you have limited time , computing resources , and you have
a reasonably good understanding of how the variance of different model parameters (and
CONGO is a utility for use by advanced CONVERGE users who are comfortable setting up
User-Defined Function Manual for more information regarding running CONVERGE with
a UDF.
CONVERGE Studio v2.4 now has a module that allows you to set up the CONGO Input
Files required to configure a GA or DoE case , but you should still be comfortable with
description of each subsection of the CONGO case directory , and an overview of how each
Figure 21.2: Map of CONGO communication structure. Click on any portion of the map to jump
directly to the relevant section of this chapter.
21.3.2 Merit Function
A properly defined merit function is vital to the efficiency and success of a GA. By
definition , the GA works to ma ximize the merit through progressive generations. A poorly
When defining the merit function , you can define response variables . Response variables
can be performance terms (as ma ximizing, minimizing , or error) and constraint terms
(ma ximum and minimum). Performance terms are weighted and multiplied by 100 in the
default merit calculation. Constraint and error terms are then subtracted to decrease the
merit score. Formulate the merit function so that an optimized design would have a merit
of 100 and the merit score of a baseline design (or starting point) would be near 0.
Negative merit scores are permissible as are scores greater than 100.
variables , and constraint variables CV ( ). The format of the default merit function is as
follows:
Merit
100 [( MinimizePV MaximizePV ) ( Error of PV (
) MinimumCV MaximumCV )],
(21.1)
where
Valuetarget
MinimizePV weight ,
Valuecalculated (21.2)
Valuetarget
power
MinimumCV weight 1 ,
Valuecalculated
and (21.5)
power
Value
MaximumCV weight calculated
1 .
Value target
(21.6)
MinimizePV and MaximizePV are performance variables of the type minimize and
maximize, respectively. You may define multiple minimize and maximize performance
variables. As the name suggests , the lower the calculated value of the minimize
performance variable , the more it contributes to a higher merit score. Likewise , the higher
the calculated maximize performance variable , the more it contributes to merit. You must
assign a weight to each minimize and maximize PV. CONGO uses this weight to increase or
decrease the contribution of this performance variable relative to other response variables.
You can use the Error of PV term to penalize maximize and/or minimize performance
variables for being too far from the target value you define.
MinimumCV and MaximumCV are constraint variables of the type minimum and maximum,
respectively. You can use constraint variables to control the negative impact on merit
when specified variables e xceed ( maximum ) or fall short of ( minimum ) the target value you
specify. The weight CONGO uses in these subtractions from the merit score is as follows:
a merit function. The GA uses this merit function to determine which individual model
iteration is the fittest of its generation. The merit function should be normalized at a value ,
typically 1 or 100 , and should be a continuous function.
A simple e xample of a merit function for a diesel engine is one that gives a model high
merit for lower levels of Indicated Specific Fuel Consumption (ISFC). The merit function
ISFCtarget
merit
ISFCcalculated
. (21.8)
As the ISFC calculated for the model is reduced below the target level , the merit function
Similarly , a more complicated merit function could include penalties when emission levels
(such as NO x and particulate matter) e xceed a constraint value. This merit function could
be written as
less than the constraint. This function is identical to the ISFC merit function above when
these emission values are less than the constraints , but the merit score is penalized when
the emissions e xceed constraints. This function is written to be continuous when the
performance at multiple operating conditions , or modes . For instance , you can make
CONGO evaluate an engine design based on the results at idle , power , and speed load
conditions. You could set this up as a three-mode CONGO case. Using the inputs in case.in,
you can define the number of modes to evaluate , as well as the directories containing the
CONVERGE input files needed to simulate the model at different operating conditions.
specify the weight of each mode fitness. CONGO will use these fitness calculations and
merit 1 1
1
1
.
... (21.10)
create a user library to calculate the merit function (written in C coding language). The
default merit function can consist of performance terms and constraint terms , based on
variables from the CONVERGE simulation. Refer to Running CONVERGE with UDF
Library.
The congo.in, case.in, execute.in, and merit.in files are mandatory for a GA simulation. These
files are described in full in CONGO Input Files. The congo.in file defines the parameters for
the GA. The case.in file defines the parameter ranges for the e xperiment model inputs and
parsing for the CONVERGE input files. The execute.in file defines how CONVERGE will be
executed for a GA simulation. The merit.in file defines the merit function in terms of
You can use the CONGO module in CONVERGE Studio v2.4 to import , configure , and
export input files for a CONGO run with CONVERGE. The CONGO module tracks and
coordinates all of your genetic algorithm input files so you can easily design a genetic
algorithm case.
The udi.in and gatdoe.in files are optional for GA simulations. These files are described in
full in Chapter 22 - Input File Reference. The udi.in file allows you to enter a user-defined
individual (UDI) into the GA e xperiment at any generation. The gatdoe.in file can be used
Within the CONGO root directory , you must save a CONVERGE " seed" directory. The
name of this directory must be consistent with that specified as the dir_name case.in
in . You
must create the CONVERGE seed directory the same way you would a normal
CONVERGE case directory. Then , in the appropriate input file (e.g. , spray.in, as shown
below) in the CONVERGE Seed Directory , you must replace the value of each model
(e.g. , GA_START_IN J). These markers you place in the CONVERGE input files must be
CONGO automatically parses CONVERGE input files. You must set up the input files
correctly with markers in order to facilitate the search-and-replace for variables of interest.
CONGO parses these files by finding and replacing markers in the input files. For e xample,
you need to redefine the start_in ect
j variable in spray.in :
as
in spray.in before copying the CONVERGE files over to the CONGO directories.
You must create a unique name for each marker. Verify that the name of one marker does
not appear within the name of another marker. For instance , if you name two markers
an error in CONGO.
Additionally , you must also define two markers in inputs.in to identify the individual and
generation for CONVERGE. Prepare the inputs.in file as shown in Figure 21.3 below.
.
.
0 map_flag
1 ga_flag
GA_INDIVIDUAL ga_individual
GA_GENERATION ga_generation
.
.
Figure 21.3: An excerpt of inputs.in with relevant file parsing parameters.
Place the CONVERGE input files in a directory ( input_files) for use by CONGO during
the GA. CONGO copies all files from this directory into each run directory before parsing.
This input file directory should also contain an appropriate CONVERGE e xecutable, or a
link to the correct path thereto. Refer to the CONVERGE Getting Started Guide
for the GA using a user-defined function (UDF). Designate one consistent output file name
Customize the user_ga_merit_flag.c file in the UDF directory to create the variable outputs
of interest. Compile the UDF and save the library ( libconverge_udf.so ) in the directory with
CONVERGE. Compile the udf with the header files corresponding to the version of
You need to enable several flags in the CONVERGE input files inputs.in and udf.in in order
to run a GA or DoE that uses a UDF. These flags are shown in Figures 21.4 and 21.5
below.
.
.
0 map_flag
1 ga_flag
GA_INDIVIDUAL ga_individual
GA_GENERATION ga_generation
.
.
0 wallvalue_flag
1 udf_flag
0 cht_supercycle_flag
.
.
.
0 user_event_flag
1 user_ga_merit_flag
0 user_piston_position_flag
.
.
Figure 21.5: An excerpt of udf.in with relevant GA flags.
CONGO Output Files
CONGO generates output in two places: individual run directories
in the of the
CONVERGE simulations , and in the main CONGO folder . CONGO uses the data written
to the individual run directories to create the output files in the main CONGO folder.
Both types of output files are described in more detail in the CONGO Output Files section
in Chapter 23.
function (UDF) before attempting to run CONGO. Refer to the CONVERGE UDF Manual
To run CONVERGE with a UDF , set udf_flag = 1 in inputs.in and activate the relevant
flag(s) in udf.in
. Additionally , you need to set the LD_LIBRAR Y_PATH environment
variable to point to the UDF directory , which contains the libconverge_udf.so library.
This library path should be relative to the run directories for the GA , since CONVERGE is
executed from within the individual run directories. For e xample, the udf directory should
be in the base directory of the GA and you should set $LD_LIBRARY_PATH = ../udf
To set the library environment variable using the bash shell command-line interpreter ,
type:
export LD_LIBRARY_PATH=../udf
To set this variable using the c shell command line interpreter , type:
libcongo.so
You can configure the libcongo.so routine to build a library for generating parameterized
geometry (such as a piston bowl profile) or a rate-shape (such as a fuel injection profile).
CONGO uses the CONVERGE seed directory to create individual run directories for a GA
or DoE. The input files in these individual run directories will contain all of the input files
in the seed directory , but instead of the markers designated for the model parameters
CONGO will vary , CONGO has populated the values for each run (for a DoE) of the first
generation (for a GA) according to the value (DoE) and min and max (ranges in GA) you
Before running the full CONGO case , first perform a test run . A test run is useful for
resources on the actual CONGO run. To perform test run , setup CONGO as you normally
would , but set the test_run_flag = 1 in execute.in . Then run CONGO as described in the
Running and Restarting CONGO. This test run will create run folders for each run (of the
first generation , for a GA) , containing the input files with model parameters populated by
CONGO. These folders will contain sample , unpopulated CONGO output files ,
ga_output.<run#>-<gen#> and param.<run#>-<gen#>.
When you are satisfied with the CONGO setup , you can then e xecute the full CONGO
run. This will create CONVERGE output files and CONGO output files in each run
directory. For a GA , it will create these output files for each generation of each run.
CONGO uses the output from the CONGO output files in the individual run directories to
calculate the merit of each run , which it then uses to create the CONGO written to the
clean.sh will remove all files from a previous CONGO run. Use clean.sh if a run has
been stopped and you want to start the GA from the beginning. You must remove
several files before restarting CONGO , so this utility can speed up the process of starting
clean_restart.sh will remove files to allow a restart of the GA , but it also preserves the
all_kill.sh will kill all CONVERGE runs currently in progress using the mkill and
pykill commands. Contact Convergent Science , Inc. to determine the availability and
compatibility of the all_kill.sh script. You will need to edit this script based on the
status.sh will display the current status of all of the GA runs in progress.
supply a template for the output file (named replace.outdata) in the GA directory. A
flag will appear on the first line to indicate that the run crashed , followed by
performance variables that will produce a very low merit score for this individual. See a
list of runs that crashed by viewing the replace.log file. The replace.log is updated
every time a crashed run is detected. You can view the very low merit given to crashed
Starting CONGO
After defining the e xperiment in case.in and configuring the other required input files , you
can start a CONGO GA by typing the following into the command line:
./congo
To start CONGO in the background and record the log in a file , type:
Stopping CONGO
To end a CONGO run , kill the CONGO process. You must also manually kill any
CONVERGE runs in progress and any scripts that are being run by CONGO ( i.e.,
monitor_runs.sh).
Restarting CONGO
After a GA simulation has started , CONGO automatically creates the restart file restart.in .
CONGO updates this file automatically after each generation. If CONGO is stopped before
results are collected for the current generation of CONVERGE simulations , a recollect
option is available. Set recollect_data_flag execute.in in to 1 before this initial CONGO run.
Once the CONVERGE simulations are complete , you can re-run CONGO with the data
recollection option activated. With the data recollection option activated , CONGO will
collect the results of the current generation , create the ne xt generation , and updated the
restart.in file. When the data recollection option is on , CONGO will not start the
simulations for the ne xt generation ; use this option only to collect information from the last
generation of previously e xecuted simulations. After the data recollection step is complete ,
you can restart CONGO with recollect_data_flag = 0 in execute.in and with restart_flag = 1
in congo.in .
While a GA is in progress , you may decide to alter the merit function slightly. To do this ,
kill the CONGO process , then alter the merit function as needed (either in merit.in or in the
user library used to calculate the merit function) , and then restart CONGO. Because the
formulation of the merit function has changed , the merit of the best-so-far individual will
be different and you must update it in the restart.in file. You can change the elite (best-so-
far) merit in restart.in file to correspond to the new merit function before a restart. Then ,
the GA will continue with a different calculation , and CONGO will assess the best-so-far
individual based on the new merit value. Note that the merit in the ma x ( congo_max.out )
and merit ( congo_micro.out ) and bestcases ( bestcases.out ) files will not be changed , so
The restart.in file contains all the DNA of every individual in the current generation of the
GA , followed by the merit and DNA of the best-so-far individual. To find and modify the
merit of the best-so-far individual , search the restart.in file for the best-so-far merit and
change it as needed.
CONGO updates the restart.in file every generation and therefore always contains data for
only a single generation. The congo_dna.out file also contains the restart information for
necessary. For instance , you may find during a GA that the definition of the merit was not
ideal initially and the best-so-far individual at an earlier point in the GA was actually
deemed to be stronger after you correct the merit function. You can use the congo_dna.out
file to restart the GA at the earlier generation with a modified merit function. To do so ,
find the generation containing the desired best-so-far individual in congo_dna.out and copy
the contents from this generation to the restart.in file. Update the best-so-far merit in
The format of the restart information (contained for each generation in the congo_dna.out
file) is:
generation#
best individual #
dna of each individual in the population preceded by the individual number
merit of best-so-far individual
dna of best-so-far individual
eight numbers defining the current random number sequence
This chapter describes the CONVERGE input ( *.in ) and data ( *.dat ) files. The order in
which these files are described in this chapter mirrors the order in CONVERGE Studio's
Case Setup dock. The final portion of this chapter describes the input files associated with
the CONVERGE Studio Chemistry module , which contains zero- and one-dimensional
chemistry tools.
Although you can edit input files directly , we recommend that you set up your case and
e xport the input files in CONVERGE Studio. Using CONVERGE Studio helps to ensure
that all files are formatted correctly. In addition , CONVERGE Studio can provide
CONVERGE allows blank rows in all files and ignores all rows starting with #.
CONVERGE Studio may look for some information in rows beginning with # when
importing files.
CONVERGE allows many parameters to be either a fi xed value or to vary temporally. This
(Some boundary-related parameters can very spatially or spatially and temporally. See
For a temporally varying parameter , specify a file name instead of a number for the
appropriate parameter. For e xample, in inputs.in, you can define twrite_post as follows:
simulation)
or
If you use the second option , you must include the corresponding file ( e.g., twrite_post.in )
in the Case Directory. Figure 22.1 below shows an e xample twrite_post.in file. The first row
must contain the keyword TEMPORAL . The second row must specify the repetition type
temporally varying parameters ( e.g., twrite_post ). Note that CONVERGE automatically sets
unspecified species and passives to 0.0 at the boundaries. If the input is SE QU ENTIAL, the
fourth and following rows contain the time (in seconds if crank_flag = 0 or inCAD if
crank_flag = 1 or 2) followed by the value at that time. For theSE QU ENTIAL case ,
CONVERGE will use the first or last value if the simulation time does not fit into the range
given in the file ( e.g., if the last data point in twrite_post.in is for 60 CAD, and your
simulation runs until 80 CAD, CONVERGE will use the 60 CAD value through the end of
the simulation). If the input is CYCLIC, the quantity will cycle according to the period. For
both SE QU ENTIAL and CYCLIC profiles , the value at times between time entries in the file
will be the same as the value of the previous entry. The heading of the second column
( twrite_post in the e xample below) must have the same name as the parameter of interest.
TEMPORAL
CYCLIC 720
crank twrite_post
-360.0 10.0
-20.0 2.0
+150.0 10.0
+360.0 10.0
Figure 22.1: An example twrite_post.in.
writes restart files , and num_restart_files inputs.in in determines how many of these restart
files CONVERGE will save (the oldest restart file will be the first to be overwritten). These
In addition to these restart files , CONVERGE provides the option to save other restart files ,
written at specified times , to the Case Directory. These additional files are named
according to the times at which they are written: restart_<simulation time or CAD>.rst .
These additional restart files do not count toward the user-specified number of restart files
CONVERGE. To invoke the option for additional restart files , specify a file name ( e.g.,
twrite_restart.in ) for twrite_restart . The file format of twrite_restart.in is as described above
to write and save a restart file at the specified simulation time. Set tag to 0 if you do not
want CONVERGE to write and save another restart file at that simulation time. Figure
TEMPORAL
CYCLIC 720.0
crank twrite_restart tag
-147 1.0 1
-130 2.0 0
0 1.0 1
10 5.0 1
100 10.0 0
Figure 22.2: An example twrite_restart.in. CONVERGE will write and overwrite restart files
(restart<restart number>.rst) according to the frequency specified in the twrite_restart column.
CONVERGE will write and save restart file at -147 CAD (restart_-1.470000e+02.rst), 0 CAD
(restart_0.000000e+00.rst), and 10 CAD (restart_1.000000e+01.rst).
22.2 Applications Input Files
For an engine simulation , set crank_flag = 1 in inputs.in and define your engine-related
parameters in the engine.in file. Table 22.2 below lists the parameters in engine.in . Figure
variable RPM.
swirl Initial swirl ratio. Typically 0.0 when the gas e xchange is simulated.
swirl_profile Swirl profile parameter. Typically 3.11. Minimum value is 0.0 (for wheel flow).
Typically 0.0.
#!csi_version=2.4
#=======================
0.13716 bore
0.1651 stroke
0.263 connecting_rod
0.0 crank_offset
1600.0 rpm
0.98 swirl
3.11 swirl_profile
0 zhead
1 piston_id
4 liner_id
5 head_id
1 crevice_flag
Figure 22.3: An example engine.in file.
22.2.2 Crevice Model - crevice.in
crevice.in
If crevice_flag = 1 in engine.in, you must include the crevice.in file in the Case Directory.
Table 22.3 below describes the parameters in crevice.in . Figure 22.4 below shows an
example file. Figure 22.5 illustrates the geometric and thermodynamic inputs for the
Note that the location of the crevice region is determined by the parameters bound_id1 and
bound_id2 . These values identify the two boundaries whose common cells are used as
crevice cells ( i.e., the cells to which the crevice source and sink terms are applied) , as
shown below in Figure 22.6. These boundary IDs must correspond to those IDs specified
for the piston and cylinder liner in boundary.in . In the e xample shown below in Figure
22.6 , the piston is Boundary 1 and the cylinder liner is Boundary 4. In this e xample, set
simulation.
top_height Distance ( m) between the top of the piston and the top of the top ring. For this
,
parameter and subsequent parameters see Figure 22.5 below.
top_width Distance ( m) between the top of the piston and the cylinder liner.
Parameter Description
ring_thick1 Thickness ( m ) of the top ring.
ring_gap1 Distance ( m ) between the top and bottom of the top ring gap.
h1b_init Initial position ( m ) of the top ring with respect to the bottom of the top ring gap.
Typically 0.0.
ring_gap2 Distance ( m ) between the top and bottom of the of bottom ring gap.
h2b_init Initial position ( m ) of bottom ring with respect to the bottom of the bottom ring
po2 Region 2 initial pressure ( Pa ). Typically set to the intake valve closing (IVC)
pressure.
temp_crev Temperature ( K ) of the crevice region. Typically set to the cylinder liner
boundary temperature.
#!csi_version=2.4
#=======================
1 bound_id1
4 bound_id2
60.0 sector_angle
1 ring_motion_flag
0.86 cdis_crev
5.196e-4 top_height
1.55e-4 top_width
5.44e-3 ring_width1
3.175e-3 ring_thick1
5.05e-3 ring_mass1
8.2611e-4 ring_gap1
0.0 h1b_init
5.44e-3 ring_width2
2.359e-3 ring_thick2
34.51e-3 ring_mass2
8.2611e-4 ring_gap2
0.0 h2b_init
9.05e-8 area13
1.2253e-8 area35
1.8166e-8 vol2
5.0850e-8 vol3
1.2253e-8 vol4
1.9700e5 po2
1.9700e5 po3
1.9700e5 po4
101325.0 pcrank
433.0 temp_crev
Figure 22.4: An example crevice.in file.
crevice cell
piston (bound_id=1)
Figure 22.6: The definition of crevice cells.
For an engine case with a variable RPM , specify a file name (in quotation marks) for rpm in
.
0.0 crank_offset
"var_rpm.in" rpm
0.98 swirl
.
.
Figure 22.10: An excerpt of engine.in that includes activation of the variable RPM option.
For a non-engine case with a variable RPM , specify a file name (in quotation marks) for
rpm rpm.in,
in as shown below in Figure 22.11.
#!csi_version=2.4
#=======================
"var_rpm.in" rpm
Figure 22.11: An example rpm.in file that includes activation of the variable RPM option.
For both engine and non-engine cases , if you specify a file name for rpm, you must include
a file with that name in the Case Directory. Figure 22.12 shows an e xample of a file you
can use to specify different rpm values for different simulation times. The first row contains
the keyword TEMPORAL, and the second row contains the keyword SE QU ENTIAL or
CYCLIC . If CYCLIC, the period must follow , also on the second row. The third row
contains two column headings: crank and rpm . Subsequent rows should contain RPM
values at various times. You can specify RPM values for multiple cycles if desired.
TEMPORAL
SEQUENTIAL
crank rpm
-720.0 800.0
-360.0 1000.0
-180.0 1100.0
0.0 1200.0
90.0 1300.0
180.0 1400.0
270.0 1500.0
. .
. .
Figure 22.12: An example of a variable RPM file (e.g., var_rpm.in).
22.2.4 Non-Engine Applications - rpm.in
For a crank angle degree -based simulation that is not an engine simulation , set crank_flag = 2
in inputs.in and include an rpm.in file. Table 22.4 below lists the parameters in rpm.in .
#!csi_version=2.4
#=======================
3600 rpm
Figure 22.7: An example rpm.in file.
22.2.5 Piston Motion in Non-Engine Applications - piston_motion.in
Table 22.5 describes the parameters in the piston motion file for non-engine application ,
and Figure 22.4 below shows an e xample piston motion file.
Table 22.5: Parameters in piston motion files for non-engine applications (e.g., piston_motion.in).
Parameter Description
slider_axis The vector along which the piston slides.
CRANK_SLIDER
0.263 connecting_rod
0.0 crank_offset
1.0 speed_ratio
Figure 22.8: An example piston motion file (e.g., piston_motion.in) file.
22.3 M aterials Input Files
This section describes the input and data files that contain properties for the various
Specify gas viscosity and conductivity for a single gas species in the gas.dat file. This file
( Wm K
/
2
).
This file contains gas viscosity and conductivity data in 10 K increments starting from 0 K .
The gas.dat data must go at least to the max_temp (specified in inputs.in ) or to 5000 K,
whichever is lower. If the max_temp e xceeds K
5000 and if the gas.dat file contains data
CHEMKIN-formatted. For a detailed description of this file , consult Chapter 22 - Input File
Reference. Table 22.1 describes the format of transport.dat, and Figure 22.1 below shows an
3 J
Lennard- ones potential.
4 J
Lennard- ones collision diameter.
5 Dipole moment.
6 Polarizability.
For a simulation with multiple gas species , you can include species-dependent critical
temperatures , critical pressures , and acentric factors. These data are used only when
eos_flag = ,
1 2 or 3 in inputs.in . To include species-dependent data , specify a file name ( e.g.,
crit_cond.dat ) instead of a value for crit_temp, crit_pres, and/or acentric_factor in inputs.in.
For a simulation that includes composite species , CONVERGE will calculate the critical
Figure 22.10 shows an e xcerpt of an inputs.in file. Note that crit_temp, crit_pres, and
acentric_factor each specify a file name instead of a value. The crit_cond.dat file will contain
.
.
#properties
1 gas_compressible_flag
0 liquid_compressible_flag
1 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
crit_cond.dat crit_temp
crit_cond.dat crit_pres
crit_cond.dat acentric_factor
.
.
Figure 22.10: An excerpt of an inputs.in file where a filename (crit_cond.dat) is listed instead of a value
for three parameters. This file will contain species-dependent values for critical temperature,
pressure, and acentric factors.
Table 22.6 summarizes the format of the species-dependent gas property data file ( e.g.,
crit_cond.dat ,
) and Figure 22.11 shows an example crit_cond.dat file. The first
(uncommented) row of this file contains the keyword DEFA LT U followed by a critical
temperature , critical pressure , and acentric factor. Any gas not listed by name in this file
Table 22.6: Format of the species-dependent gas property data file (e.g., crit_cond.dat).
Column Number Parameter Units
1 species name N/A
2 crit_temp K
3 crit_pres N m2
/
4 acentric_factor N/A
When simulating one or more liquids in CONVERGE , you must specify liquid properties in
a data file called liquid.dat . Table 22.7 lists the required column format and units for each
quantity.
Figure 22.12 below shows the first several rows of a liquid.dat file. The first row contains
The non_newtonian section does is not required if the liquid is compressible (not non-
non_newtonian section consists of one line: the keyword non_newtonian, the power inde x,
the consistency inde x, the yield stress ( Nm ,
2 / ) m2 s
and the solid viscosity ( / ).
The compressible section is not required if the liquid is not compressible ( i.e., if
liquid_compressible_flag = 0). The compressible section consists of one line: the keyword
modulus ( Pa ).
The critical_temp section is always required. The first line of this section consists of the
keyword and the critical temperature of the liquid (in K). Each row thereafter consists of
the temperature and the corresponding viscosity , surface tension , latent heat of
vaporization , vapor pressure , conductivity , density , and specific heat. The number of
entries in this section is based on the critical temperature , Tcrit, that is specified on the
second row. The number of entries must equal int(Tcrit/10 ) + 2. In our e xample, Tcrit =
540.30 K, so CONVERGE requires 56 entries , from 0 to 550 K, in 10 K intervals. You can
specify multiple liquids in the same liquid.dat file to generate a database of liquids. Specify
all data for one liquid before specifying data for the ne xt liquid.
H2O_L
non_newtonian 1.0 1.0 5.0 100.0
compressible 101325 843 1.9e09
critical_temp 540.30
0.000000E+000 1.000 7.550000E-009 3.148000E+006 0.000000E+000 5.690000E-001
1.000000E+003 4.740000E+003
1.000000E+001 1.000 7.550000E-009 3.124300E+006 0.000000E+000 5.690000E-001
1.000000E+003 4.740000E+003
.
.
Figure 22.12: An excerpt of a liquid.dat file.
3 Surface tension Nm /
5 Vapor Pressure Pa
6 Conductivity W m-K/
7 Density kg m /
3
CONVERGE includes a utility that serves as an interface for the CoolProp fluid property
library. This utility requires the fluid_properties.in file. Table 22.8 below describes the
temp_step Temperature interval ( K) for the steps between temp_min and temp_max .
pres_step Pressure interval ( MPa) for the steps between pres_min and pres_max .
R245fa fluid_name
200.0 temp_min
500.0 temp_max
2.0 temp_step
0.0 pres_min
10.0 pres_max
0.02 pres_step
Figure 22.13: Example fluid_properties.in file.
The utility writes out the fluid_properties.dat , file which is described below in Table 22.9.
fluid_properties.dat includes the species name and molecular weight , the number of
5 Internal Energy kg
J/
10 Speed of Sound ms /
11 Viscosity Ns m2 /
12 Conductivity W m-K/
13 Compressibility Ndim
tabular_fluid_properties
# species_name molar_mass [kg/mol]
R134a 1.0203200e-01
# num_temp num_pres num_column
128 500 13
# temperature pressure density specific_vol intern_energy
enthalpy entropy
# [K] [Pa] [kg/m3] [m3/kg] [J/kg]
[J/kg] [J/kg/K]
2.00000e+02 .00000e+04 1.51048e+03 6.62026e-04 .07380e+05
1.07404e+05 .07305e+02
2.02000e+02 2.00000e+04 1.50582e+03 6.64496e-04 1.09864e+05
1.81393e+05 6.11669e+02
The surrogate blender can import and e xport blender.in files. A blender.in file contains a
table with information about component and target fuel properties and the weight given
to each property.
Table 22.10 below describes the format of blender.in, and Figure 22.15 shows a sample
blender.in file.
i+ 1
fuel.
Specify solid properties - melting point , density , specific heat capacity , and conductivity -
in the solid.dat file. Table 22.11 lists the required column format and units for each
quantity.
Table 22.11: Column format and units for solid.dat. Configure this file in CONVERGE Studio via Case
Setup > Materials > Solid simulation.
solid.dat Quantity Units
Column
Number
1 Temperature K
2 Density kg m3 /
4 Conductivity W m-K /
Figure 22.16 shows an e xample solid.dat file. Note that the first row is the name of the solid
The mech.dat file lists the elements and species used in the simulation , and , if your
simulation invokes the SAGE detailed chemistry solver , mech.dat also must include reaction
Elements
h c o n
end
specie
c7h16 o2 n2 co2 h2o
co h2 ch4 c2h2 c2h4
.
.
end
reactions
c7h16 + h = c7h15-1 + h2 5.600e+07 2.0 7667.0
c7h16 + h = c7h15-2 + h2 4.380e+07 2.0 4750.0
.
.
End
Figure 22.17: An excerpt of a mech.dat file. Note that the species names must NOT be preceded by #.
If your simulation does not use the SAGE detailed chemistry model , CONVERGE does not
require the reaction data (listed after the reactions statement). If you do not use SAGE ,
insert an end statement after the reactions statement. CONVERGE will read the end
statement and ignore everything that follows (so you do not need to delete the reaction
data). It is important to note that the species names and information defined in mech.dat
must be consistent with the species names specified in initialize.in .
The three numbers that follow a reaction define (in this order) the pre-e xponential factor
Ai (in centimeters, grams, seconds, or depending on the reaction) , the temperature e xponent
bi (dimensionless) , and the activation energy Ei (the default units are cal gm-mole
/ ) in the
Although the = symbol in the reactions in Figure 22.17 indicates that the reactions are
reversible , only the forward rate constant is defined in the e xample mech.dat . CONVERGE
will calculate the reverse rate constant. For details , refer to Chapter 9 - Physical Properties
Alternatively , you can specify different options - reversible , pressure-dependent , etc. - for
reactions. To specify these reaction options , add a row after the reaction you wish to
modify with the appropriate keyword and format , as listed in Table 22.12 below. Note the
required slash symbols delimiting values of the parameters following the reaction option
keywords. Figure 22.18 shows an e xcerpt of a mech.dat file containing e xamples for all the
reaction options. For more information the calculations underlying the reaction options ,
consult Chapter 9 - Physical Properties and Reaction Mechanisms.
Three body ,
After the reaction row add a row specifying the species acting as a third
,
body followed by the efficiency factor. You can enter up to 30 enhanced
third-bodies.
Pressure-dependent ,
After the reaction row add a row beginning with the keyword LOW followed ,
(Lindermann) by values of A0, 0,
and E0 , ,
or the keyword HIGH followed by values of A,
, and E .
Pressure-dependent Add a Lindermann format row. Begin the ne xt row with the keyword TROE ,
(Troe) followed by values for the parameters a, T***, T*, and T**.
Pressure-dependent Add a Lindermann format row. Begin the ne xt row with the keyword TROE ,
(SRI) followed by values for the parameters a, b, c, d, e.
and If you do not specify
Pressure-Dependent ,
After the reaction row add a row beginning with the keyword PLOG ,
Arrhenius Rate followed by the pressure value (in bar) and the three Arrhenius reaction rate
Polynomial-Based ,
After the reaction row add a row with the keywords TCHEB and PCHEB ,
(Chebyshev) Reaction followed by values for Tmin and Tmax and Pmin and Pmax, respectively.
Rate Begin the ne xt row with the keyword CHEB, followed by the number of
columns and rows , respectively, in the coefficient matri x a.
Duplicate ,
After the reaction row add a row with the keyword DUPLICATE for each line
Note that you can apply other reaction options to these reactions as the ,
LUMP keyword is necessary because the presence of a lumped isomer species
Fractional Order ,
After the reaction row for each species with fractional order add a row ,
(FORD) ,
beginning with the keyword FORD followed by the species and its fractional
order.
User-Defined ,
After the reaction row add a row with the keyword USER / <index> . /
following the reaction itself , but CONVERGE will not use these
values.
Elements
h c o n
end
specie
c7h16 o2 n2 co2 h2o
co h2 ch4 c2h2 c2h4
.
.
end
reactions
c7h16 + h = c7h15-2 + h2 4.380e+07 2.0 4750.0
Use the species.in file to define species that are not included in mech.dat . The species.in file
Species name , , ,
Parcel name gas species name liquid species name non-Newtonian liquid
, , ,
species name solid species name passive name non-transport passive name.
For GAS species , the thermodynamic properties for the corresponding species must be
included in therm.dat and the transport properties for gas species must be included in
properties must be included in liquid.dat . For SOLID , species the solid properties must be
available in solid.dat .
For PASSIVE species , you must specify the Schmidt number of the species.
The non-transport passives ( PASSIVE_NT ) are used to numerically store conserved scalars
in the domain. For e xample, if you want to keep track of turbulence statistics (mean or
RMS quantities for velocity , species , temperature , etc.) or sum up all of the hydrocarbons
Typically , species.in includes the PASSIVE, PARCEL, and LI QU ID species. Figure 22.19
#!csi_version=2.4
#=======================
PARCEL
ic8h18
PASSIVE
nox 0.78
LIQUID
c7h16
SOLID
metal
NT_PASSIVE
hc
u_rms
Figure 22.19: An example species.in file.
Non-Transport Passives
Specify non-transport passives by include the name of each non-transport passive after the
store conserved scalars in the domain. You can create custom names for passives and
manually initialize the values of these passives , or you can include pre-defined names of
passives that CONVERGE can use to track specific quantities related to models. Table
22.14 summarizes some of the pre-defined non-transport passives. You must include these
Table 22.14: Description of pre-defined passives specified under the keyword PASSIVE_NT in
species.in.
Pre-Defined Term Description
H C Hydrocarbons (for gas-phase-only hydrocarbons).
H C_LI QUIDF EL
U Hydrocarbons (for combined liquid- and gas-phase
hydrocarbons).
T R_FLAMET ICKNESS
U H Turbulent flame thickness.
C EM_SRC
H Chemical source energy (in J/ s-m3 ).
based AMR.
C EM_STIFF
H Invokes stiffness-based load balancing for a simulation
solver.
N M_CELLS_IN_PAIR
U Tracks the number of cells that are paired with one
,
another which allows you to visualize which cells are
CELL_PAIR_ID Tracks the unique inde x for cells that are part of the
,
mesh or is used in AMR control. LSR_PARAM is
You can also keep track of turbulence statistics for transient simulations using non-
transport passives. Refer to the Non-Transport Passives for Turbulence Statistics section
The list of definitions will refer to the list of PASSIVE_NT 's named in species.in. User-
recommended that you list the user-defined non-transport passives first. This will make it
easier to define them using the list in the user_post.c UDF. Refer to the U DF Categories >
Input Output-Based
/ U ser-Defined Functions > user_post.c section in the User-Defined
Function (UDF) Manual for more information about using user-defined non-transport
Refer to the Species and Passive Output section in Chapter 9 - Physical Properties and
Reaction Mechanisms and the post.in section in Chapter 22 - Input File Reference for
bar_ .<speciesname>
X Mean mole fraction of <speciesname> e.g., bar_ .C *
( X H4 ).
rms_ .<speciesname>
X Fluctuations (RMS mole fraction statistics) of <speciesname> e.g., (
rms_ .C *
X H4 ).
rms_rho or bar_rhop_rhop RMS density. You can specify either rms_rho bar_rhop_rhop.
or
rms_p or bar_pp_pp RMS pressure. You can specify either rms_p bar_pp_pp.
or
rms p bar pp pp pp
_ _ _
rms T bar Tp Tp T T
_ _ _
rms_u or bar_up_up RMS velocity (Reynolds stress) in the X-direction. You can specify
rms u bar up up uu
_ _ _
rms_v or bar_vp_vp RMS velocity (Reynolds stress) in the Y-direction. You can specify
rms v bar vp vp vv
_ _ _
rms_w or bar_wp_wp RMS velocity (Reynolds stress) in the Z-direction. You can specify
rms w bar wp wp ww
_ _ _
user_<udf statistic keyword> Statistic as defined in a user-defined function . The keyword must not
* Note that all species and passive names must match those specified in the reaction
In some simulations , you may wish to create composite species , which are composed of
multiple base species. By creating a composite species , you can reduce the number of
species that need to be solved. For example, you could define air as a composite of
nitrogen , xygen,
o water , and carbon dio xide. This would reduce the number of species
You can have composites for gas , liquid, and parcel phases. Note that you must include
the name of the composite species in the reaction mechanism file or in species.in . Table
22.16 below describes the parameters in composite.in, and Figure 22.20 shows an e xample
file.
below.
num_base_species Number of base species that constitute the composite. Must be greater than
or equal to 1.
base_species The name of a base species followed by the mass fraction N/A
of that base species. Repeat this row for each base species ,
for each composite species. You must include
thermodynamic data for each base species in therm.dat .
#!csi_version=2.4
#=======================
2 num_composites
fuel composite_name
liquid_phase phase
2 num_base_species
ic8h18 0.75 base_species
c7h16 0.25 base_species
air composite_name
gas_phase phase
4 num_base_species
o2 0.225 base_species
n2 0.77 base_species
h2o 0.004 base_species
co2 0.001 base_species
Figure 22.20: An example composite.in file.
For a simulation that includes composite species , CONVERGE will calculate the critical
To use the skip species feature , set skip_species_flag = 1 in inputs.in and include a
skip_species.in file in the Case Directory. Table 22.17 below summarizes the format of
percent_mass_not_skipped The percentage of total mass that will not be converted into mass of other
num_keep_species ,
This parameter followed by num_keep_species ,
species names allows you
,
listed here skip species automatically keeps species in boundary
num_convert_hc_species ,
This parameter followed by num_convert_hc_species names and mass
,
fractions specifies the hydrocarbon species to which skipped
non-skipped species.
num_convert_non_hc_species ,
This parameter followed by num_convert_non_hc_species names and
,
mass fractions specifies the non-hydrocarbon species to which skipped
#!csi_version=2.4
#=======================
CYCLIC 720.0
856.1 skip_species_start_time
890.0 skip_species_end_time
99.9 percent_mass_not_skipped
1 num_keep_species
c2h5
2 num_convert_hc_species
CH4 0.4
C2H4 0.6
3 num_convert_non_hc_species
CO2 0.2
H2O 0.4
N2 0.4
Figure 22.21: Example skip_species.in file.
You can have multiple skip species sessions in a simulation. Repeat the set of parameters
22.22 shows an e xample file that includes more than one skip species session.
#!csi_version=2.4
#=======================
CYCLIC 720
122.0 skip_species_start_time
200.0 skip_species_end_time
99.9 percent_mass_not_skipped
4 num_keep_species
OH
CH2O
CO
H
1 num_convert_hc_species
IC8H18 1.000
1 num_convert_non_hc_species
N2 1.000
300.0 skip_species_start_time
400.0 skip_species_end_time
99.9 percent_mass_not_skipped
4 num_keep_species
OH
CH2O
CO
H
1 num_convert_hc_species
IC8H18 1.000
1 num_convert_non_hc_species
N2 1.000
Figure 22.22: Example skip_species.in file that includes two skip species sessions.
tabular_therm.dat are saved to the Case Directory and if both of these files contain
thermodynamic data for the same species , CONVERGE will use the data from
tabular_therm.dat .
CONVERGE supports both the NASA 7 and NASA 9 formats for the thermodynamic data
file.
NASA 7 Format
The therm.dat file must contain the species name , the elemental composition of the species ,
the phase of the species , and temperature ranges over which a polynomial is fit to
It is important to note that all columns and numbers in this file must be separated by
thermo
300.000 1000.000 5000.000
h 120186 h 1 g 300.00 5000.00 1000.00 1
0.02500000e+02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2
0.02547163e+06 -0.04601176e+01 0.02500000e+02 0.00000000e+00 0.00000000e+00 3
0.00000000e+00 0.00000000e+00 0.02547163e+06 -0.04601176e+01 4
.
.
end
Figure 22.23: An excerpt of a therm.dat file. Note that the species names must NOT be preceded by #.
In Figure 22.23 , the first row contains the keyword thermo . The second row specifies three
temperatures define the two ranges over which a polynomial is fit to thermodynamic data
(see the NASA 7 section of Chapter 9 - Physical Properties and Reaction Mechanisms).
The third row specifies the species name ( h in this e xample), followed by a date ( 12018 6 ),
the atomic symbols and number of each atom type ( h 1) , the phase of the species ( g for
gas) , three temperatures (low , high , and common) , and the integer 1. This integer is not
required by CONVERGE but is included to help distinguish the thermodynamic data for
different species. The three temperatures in this row are optional. If species-specific
temperatures are not listed in this row , the temperatures specified on row 2 of the
therm.dat file will be used for the species. The ne xt three rows contain coefficient values for
the polynomial fits for the standard state molar heat capacity at constant pressure Cop,m,
the standard state molar enthalpy H
o ,
m and the standard state molar entropy Som,
for the upper temperature interval , followed by the integer 2. The fifth row contains the
coefficients a 6
and a7 for the upper temperature interval and a,a,
1 2
and a 3
for the lower
temperature interval , followed by the integer 3. The si xth row contains the coefficients a - 4
a 7
for the lower temperature interval , followed by the integer 4. Repeat rows three through
NASA 9 Format
CONVERGE supports the NASA 9 format for the thermodynamic data file as specified in
McBride and Gordon , 1996 . Figure 9.11 below contains a e xcerpt of a thermodynamic data
file , and the te xt below the figure e xplains the specific entries in the file.
THERMO NASA9
300.000 1000.000 5000.000 20000.000
O2
2 O 2.00 0.00 0.00 0.00 0.00 0 1.00000 0.000
300.000 1000.000 7 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 0.0 100.000
0.00000000E+00 0.00000000E+00 3.21293600e+00 1.12748600e-03 -5.75615000e-07
1.31387700e-09 -8.76855400e-13 0.00000000E+00 -1.00524900e+03 6.03473800e+00
1000.000 5000.000 7 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 0.0 100.000
0.00000000E+00 0.00000000E+00 3.69757800e+00 6.13519700e-04 -1.25884200e-07
1.77528100e-11 -1.13643500e-15 0.00000000E+00 -1.23393000e+03 3.18916600e+00
.
.
END
Figure 9.11: An excerpt of a NASA 9 thermodynamic data file. Note that the species names must NOT
be preceded by #.
In Figure 9.11 , the first row contains the keyword thermo nasa 9 . The second row specifies
the temperature ranges over which a polynomial is fit to the thermodynamic data. Each
adjacent pair of temperatures specify a range for which CONVERGE will accept data. Not
all species must have data for each range. Note that the NASA 7 format only has 3
e xpect the NASA 9 format. The ne xt set of rows repeat for each species until the end of the
The first row for each species specifies the species name ( o2 in this e xample), followed by
optional information. The second line specifies the number of temperature ranges for
which data will be provided (here , 2) , the atomic symbols and number of each atom type
( o 2.00) , 1 for a gas and 0 for a condensed phase. The line ends with 0.000 or the heat of
formation at 298.15 K in J/ mol . The third row begins with the first temperatures range , and
is followed by the number of coefficients for the polynomial fits for the standard state
molar heat capacity at constant pressure Cop,m, the exponents for temperature in the
rows contain the first five and the last three coefficients for standard state molar heat
capacity at constant pressure respectively. This last row may optionally contain the
integration constants for enthalpy and entropy. The third , fourth and fifth rows are
repeated for each temperature range , and the entire block is repeated for each species.
The Equations in the NASA 9 section of Chapter 9 - Physical Properties and Reaction
Mechanism (from Gordon and McBride , 1994) specify how the standard state molar heat
molar entropy Som, are calculated.The second row for each temperature range for each
CONVERGE also accepts coefficients for the general form of the equations for the NASA 9
format if you do not have composite species or if you do not intend to use the CE Q solver.
tabular_therm.dat are saved in the Case Directory and if both files contain thermodynamic
data for the same species , CONVERGE will use the data from tabular_therm.dat .
If you have a file that contains thermodynamic properties in tabular format , name this file
tabular_therm.dat and save it in the Case Directory. Figure 22.24 below shows an e xample
file, and the te xt below the figure e xplains the format of this file.
As shown above in Figure 22.24 , the first line of tabular_therm.dat contains the keyword
thermo_tabular and the reference temperature T_ref, which is the temperature (in K ) at
which the sensible enthalpy equals 0. The ne xt line that is read by CONVERGE must list
the keyword <species>, the chemical formula of the species , and the phase ( G for gas). The
G can be capitalized or lower case. The three temperatures ( t_low, t_high, and t_common , )
which are described in the therm.dat section , are optional. If not included , CONVERGE
will use the default values of t_low = 300 K, t_high = 5000 K, and t_common = 1000 K
. The
ne xt line read by CONVERGE breaks down the species into its elemental components ( e.g.,
for C7H16 , there are 7 carbon atoms for every 16 hydrogen atoms).
constant pressure (J/ (kg K) ,) and entropy (J/ (kg K) ) values. This list does not have to start at
0 K e.g.,
( the list could start at 20 K instead).
Thermodynamic data for subsequent species are formatted in a similar manner starting
If lhv_flag = 0 in inputs.in, CONVERGE calculates the lower heating value (LHV) from
species data in the thermodynamic data file. If lhv_flag = 1 , CONVERGE will read user-
Table 22.18 below describes the format of lhv.in, and Figure 22.25 shows a sample lhv.in
file.
Species name(s) and mass Species name(s) of the species to which the LHV applies. The species
own line).
4.351879e7 lhv
2 lhv_num_species
c7h16 0.5
ic8h18 0.5
5e7 lhv
1 lhv_num_species
ch4 1.0
Figure 22.25: An example lhv.in file.
CONVERGE will write the values used for LHV corrector calculations to lhv_info.out .
This section describes the surface geometry file , the main input file ( inputs.in ,
) the solver.in
file , and some other general input files.
CONVERGE needs the surface geometry information to be contained in a *.dat file ( e.g.,
surface.dat ). CONVERGE Studio generates this file when you e xport the simulation-ready
geometry. Table 22.19 describes the required format of the surface geometry file. Chapter 3
geometry.
the verte x.
Row (2 +numverts) to vert1 vert2 vert3 Identifiers of the vertices making up the
Row (1 +numverts +numtriangles) bound_id corners of the surface triangle and the
triangle.
The inputs.in ,
file which is required for all simulations , includes parameters that activate
models and features , control the grid , and set up output-related options. Some parameters
can be either a fi xed value or a temporally varying quantity. Table 22.20 below describes
surface.dat .
mech.dat .
degrees ).
degrees ).
required) ,
2 = CONVERGE will initialize the simulation
via restart mapping (restart file required).
mapping options.
equations ,
1 =Do not solve the spray, combustion , and
transport equations. Set to check surface
versions of CONVERGE.
step,
#grid
grid_scale Grid scaling factor applied to the d x, dy, and Typical range: -3 to 3.
events.in ).
#output control
parameter.
this parameter.
parameter.
,
Directory CONVERGE will remove the
times.
write_map_flag 0 = map_<time>.out
Do not write or N/A
spray_map_<time>.out, spray_flag = if 1) at
(requires write_map.in ).
wall_stress<outputnumber>_<output time>.out
and average near-wall quantities and heat
boundaries.
boundaries.
species_mass_frac.out, respectively ;
3 = Write total mass , mass fractions and ,
standard deviations of mass fractions for all
species to species_mass.out,
species_mass_frac.out, and
species_std_masfrac.out, ;
respectively
,
species specify species_output.in instead of an
adjacent boundaries.
dynamic.in ,
to calculate swirl tumble and ,
,
The parallel write function which is faster
,
than the serial option is available only if your
#output control
1 = Variable time-step.
time_flag = 1.
time_flag = 1.
time_flag = 1.
time_flag = 1.
the ne xt time-step.
max_cfl_u Ma ximum convective CFL number ( cflu ) 0.5 - 3.0. (0.03 - 0.10 for a
VOF case).
allowed by CONVERGE. Specify a file name
#solver flags
1 = Steady-state solver.
#properties
data in therm.dat,
1 = Manually specify LHV (requires lhv.in
).
1 = Redlich-Kwong,
2 = Redlich-Kwong Soave,
3 = Peng-Robinson.
Not used when tabular_fluid_prop_flag = 1.
of temperature,
1 = Thermodynamic quantities are functions
max_reduced_pres The ma ximum reduced pressure for the 6.0 is a typical value in
real_gas_prop_flag = 1).
crit_temp Critical temperature ( K ) for real gas equations 133 K for air
crit_pres Critical pressure ( Pa ) for real gas equations of 3.77e06 Pa for air
,
gas species specify a file name ( e.g.,
crit_cond.dat ) to include species-specific
or 3.
species ,
1 = CONVERGE calculates mixture-averaged
diffusion coefficients (requires transport.dat ).
varying values.
number.
when turbulence_solver_flag = 1.
simulation.
direction.
direction.
direction.
#features flags
file.
me properties file.
quantities ,
1 = User-defined wall boundary quantities
(requires wall_value.in ).
calculations ,
cavitation ,
1 = Volume of fluid calculations enabled
(requires vof.in ). If combined with spray_flag =
1 , ELSA model enabled (requires elsa.in ).
(requires fsi.in ).
skip_species.in ).
required).
e xperiments (DoE).
ga_individual ,
For GA or DoE cases in the CONVERGE Seed N/A
,
Case Directory set this to GA_INDIVIDUAL .
case.
ga_generation ,
For GA or DoE cases in the CONVERGE Seed N/A
,
Case Directory set this to
#!csi_version=2.4
#=======================
"surface.dat" surface_filename
"mech.dat" mechanism_filename
"therm.dat" thermodynamic_filename
0 crank_flag
0.0 start_time
0.002 end_time
0 restart_flag
1 restart_number
0 map_flag
0 check_grid_motion_flag
-2 parallel_scale
100 load_cyc
1 reread_input
0 random_seed
# grid
4e-05 dx_base
4e-05 dy_base
4e-05 dz_base
0 grid_scale
1 amr_flag
1 embedded_flag
0 events_flag
0.001 seal_tol
# output control
2 screen_print_level
5e-05 twrite_post
10.0 twrite_transfer
1e-10 twrite_files
1e-05 twrite_restart
5 num_restart_files
0 write_map_flag
0 wall_output_flag
0 transfer_flag
0 mixing_output_flag
1 species_output_flag
0 region_flow_flag
0 dynamic_flag
1 mpi_write_flag
0 monitor_points_flag
# timestep control
1 time_flag
1e-07 dt_start
0.01 dt_max
1e-10 dt_min
1e-08 dt_fixed
1.5 mult_dt_spray
9999.0 mult_dt_evap
0.5 mult_dt_chem
1.0 mult_dt_coll_mesh
0.5 mult_dt_move
0.5 max_cfl_u
5.0 max_cfl_nu
50.0 max_cfl_mach
# solver flags
1 momentum_solver_flag
1 energy_solver_flag
1 species_solver_flag
1 turbulence_solver_flag
0 steady_solver_flag
100 min_cycles_steady
0 monitor_steady_state_flag
# properties
1 gas_compressible_flag
0 liquid_compressible_flag
0 lhv_flag
0 tabular_fluid_prop_flag
0 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
100.0 crit_temp
3000000.0 crit_pres
0.035 acentric_factor
0 species_diffusion_model
0.74075 prandtl_turb
0.71429 schmidt_turb
10.0 min_temp
5000.0 max_temp
10.0 max_visc
0.0 gravity_x
0.0 gravity_y
0.0 gravity_z
# features flag
0 spray_flag
0 combustion_flag
0 surface_chemistry_flag
"surface_mech.dat" surface_mechanism_filename
"surface_therm.dat" surface_thermodynamic_filename
0 source_flag
0 composite_flag
0 wallvalue_flag
0 udf_flag
0 cht_supercycle_flag
1 vof_flag
0 fsi_flag
0 radiation_flag
0 nucleate_boiling_flag
0 skip_species_flag
0 mrf_flag
Reread Inputs
When reread_input = 1 in inputs.in, CONVERGE reads certain parameters at each time-
step. If a parameter has changed from the previous time-step , CONVERGE will update the
value of that parameter and write a message to the log file. It is important to change values
carefully , as CONVERGE does not do any error checking of the new value ( i.e.,
CONVERGE assumes that the new value is valid).
If reread_input = 1 and a file is removed from the Case Directory while the simulation is in
progress , CONVERGE will simply ignore the parameters that would be reread from that
file.
The following table lists the parameters that can be changed when reread_input = 1.
prandtl_turb schmidt_turb +
min_temp
max_temp max_visc gravity_x
gravity_y gravity_z
solver.in
tol_scale +
piso_itmin +
piso_itmax +
piso_tol +
monotone_tolerance +
upwind_all_dir_flag +
impl +
conserve +
strict_conserve_flag +
rc_flag +
omega_presrat +
omega_p_steady +
mom_* +
pres_* +
density_* +
energy_* +
species_* +
passive_* +
tke_* +
eos_*+
omega_* +
rad_* +
amr.in
inputs.in
amr_cycle_steady +
amr_max_cells +
amr_min_cells +
turbulence.in
turb_stat_start_time turb_stat_end_time turb_stat_vol
+If you initially specify a numerical value , you can change to another numerical value but
not to a file name. If you initially specify a file name , you cannot change to a different file
*CONVERGE will reread and update all parameters that begin with the given prefi x ( e.g.,
mom_*"
" indicates that CONVERGE will reread mom_solver_type, mom_tol, etc.).
varying Schmidt number values. The region-by-region option is available only when the
Use the first row of the file to specify a temporally varying type ( TEMPORAL ). The ne xt
row specifies the temporal type ( SE QU ENTIAL CYCLIC or CYCLIC,
). If you specify you
or 2). The data in the C YCLIC input file will cycle according to the period you provide.
The third row contains the headings for the two columns of data. The first heading must
column must be schmidt_turb to indicate that the turbulent Schmidt number varies.
As shown in the example below , the turbulent Schmidt number specified below the
headings row ( crank in this e xample) applies to all regions that are not specifically listed
under the num_regions and region_id keywords. After listing these default values for all of
the other regions , list the region-specific turbulent Schmidt number under rows containing
the keywords num_regions and region_id and values for these keywords as show in the
e xample below. After the default temporally turbulent Schmidt numbers , this example has
two other sets of temporally varying turbulent Schmidt numbers: one set for regions 1 and
2 and one set for regions 3 , 4 , and 5. Your file can contain as many data sets for different
regions as needed.
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 720
crank schmidt_turb
0.0 0.9
720 0.9
2 num_regions
1 region_id
2 region_id
0.0 0.78
720 0.78
3 num_regions
3 region_id
4 region_id
5 region_id
0.0 0.3
720 0.3
Figure 22.27: An example schmidt_turb.in file.
Prandtl Number - prandtl_turb.in
To set up region-by-region and/or temporally varying turbulent Prandtl number values ,
specify a file name ( e.g., prandtl_turb.in ) in quotation marks for prandtl_turb in inputs.in
and include that file in the Case Directory.
Use the first row of the file to specify a temporally varying type ( TEMPORAL ). The ne xt
row specifies the temporal type ( SE QU ENTIAL CYCLIC or CYCLIC,
). If you specify you
or 2). The data in the C YCLIC input file will cycle according to the period you provide.
The third row contains the headings for the two columns of data. The first heading must
be second (if crank_flag = 0) or crank (if crank_flag = 1 or 2). The heading of the second
column must be prandtl_turb to indicate that the turbulent Prandtl number varies.
As shown in the example below , the turbulent Prandtl number specified below the
headings row ( crank in this example) applies to all regions that are not specifically listed
under the num_regions and region_id keywords. After listing these default values for all of
the other regions , list the region-specific turbulent Prandtl number under rows containing
the keywords num_regions and region_id and values for these keywords as show in the
example below. After the default temporally turbulent Prandtl numbers , this example has
three other sets of temporally varying turbulent Prandtl numbers: one set for region 1 , one
set for region 2 , and one set for regions 3 and 4. Your file can contain as many data sets for
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 720
crank prandtl_turb
0.0 0.9
720 0.9
1 num_regions
1 region_id
0.0 0.2
720 0.2
1 num_regions
2 region_id
0.0 0.78
720 0.78
2 num_regions
3 region_id
4 region_id
0.0 0.3
720 0.3
Figure 22.28: An example prandtl_turb.in file.
Wall Output - wall_output.in
To control for which boundaries CONVERGE writes wall output and/or wall stress data ,
specify a file name in quotation marks ( e.g., "wall_output.in" ) for wall_output_flag in
Figure 22.29 shows an e xample file. In this e xample, CONVERGE will write boundary
information for boundaries 1 , 3, and 5 ; stress information for boundaries 4 and 6 ; and both
#!csi_version=2.4
#=======================
WALL_WRITE_BOUNDARY
#boundary_id
1
3
5
WALL_WRITE_STRESS
#boundary_id
4
6
WALL_WRITE_ALL
#boundary_id
2
10
Figure 22.29: An example wall_output.in file.
You can have a simulation with temporally varying ma ximum CFL numbers that vary on
a region-by-region basis. For e xample, in regions with high velocity , the time-step
calculated based on the ma ximum CFL number may be very small , resulting in
significantly longer runtimes. If the flow in one region is less important than the flow in
another , you can increase the ma ximum CFL number for the less-important region to
reduce runtimes.
In the e xample shown in Figure 22.30 below , there are three groups of regions. Each group
Use the first row of the file to specify a temporally varying boundary condition
( TEMPORAL x). The ne t row specifies the type of temporally varying boundary condition
( SE ENTIAL CYCLIC
QU or ). If you specify CYCLIC, you must also include the cyclic period
input file will cycle according to the period you provide. The third row contains the
headings for the two columns of data. The first heading must be second (if crank_flag = 0)
or crank (if crank_flag = 1 or 2). The heading of the second column must be the parameter
associated with the CFL number. Note that all three of the CFL parameters ( max_cfl_u,
max_cfl_nu, and max_cfl_mach ) can be specified in a region-dependent manner.
As shown in the e xample below , you must specify the ma ximum CFL numbers for all of
the regions that are not specifically listed under the num_regions and region_id keywords.
After listing these default values for all of the other regions , list the region-specific
ma ximum CFL numbers under rows containing the keywords num_regions and region_id
and values for these keywords as show in the e xample below. After the default temporally
varying ma ximum CFL numbers , this e xample has two other sets of temporally varying
ma ximum CFL numbers: one set for regions 2 and 5 and one set for regions 8 and 11. Your
file can contain as many data sets for different regions as needed.
TEMPORAL
CYCLIC 720
crank MAX_CFL_U
### For regions 0, 1, 3, 4, 6, 7, 9, and 10###
-20 1.1
50 1.3
350 1.7
700 1.1
700 2.0
The solver.in file contains parameters to control the numerical schemes and convergence
criteria for each governing equation in the simulation. Table 22.22 below describes the
parameters in solver.in and includes the recommended values for a transient , compressible
For each equation ( e.g., the momentum transport equation denoted by the prefi x mom , )
you choose the solver type (either SOR or BiCGSTAB) , the convergence tolerance , a
minimum and ma ximum number of iterations for CONVERGE to perform , and an under-
rela xation factor and a preconditioner to apply to the equation. You can also specify
parameters to control the flux schemes and flu x limiters for the various governing
equations.
We recommend setting up the solver.in parameters in CONVERGE Studio ( Case Setup >
Simulation Parameters > Solver parameters , ) which can provide recommended parameters
algorithm.
algorithm.
equation.
,
volume solver (0.5 is central 1.0 is first-order
upwind).
,
difference 0.0 is completely second-order
equation.
,
is central 1.0 is first-order upwind). This is
,
difference 0.0 is completely second-order
options.
equations.
0 = Lower-order scheme,
1 = MUSCL scheme,
2 = MUSCL scheme with a gradient limiter.
,
volume solver (0.5 is central 1.0 is first-order
upwind).
,
difference 0.0 is completely second-order
equations.
monotone_tolerance Tolerance for the step flu x limiter above which 1e-5
non-monotonicity is detected.
e.g., x .
( )
governing equations.
passives.
CONVERGE 2.4.
rc_flag 0 = No Rhie-Chow, 1
ratio)
0 = SOR,
1 = BiCGSTAB (not available when
steady_solver = 1 in inputs.in
).
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.
0 = SOR,
1 = BiCGSTAB.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.
0 = SOR,
1 = BiCGSTAB.
when density_solver_type= 1.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.
energy.
0 = SOR,
1 = BiCGSTAB.
energy.
internal energy.
internal energy.
energy.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.
0 = SOR.
0 = SOR.
energy.
0 = SOR.
energy.
kinetic energy.
kinetic energy.
energy.
dissipation.
0 = SOR.
dissipation.
dissipation.
dissipation.
dissipation rate.
0 = SOR.
rate.
dissipation rate.
dissipation rate.
rate.
0 = SOR.
tolerances ,
1 = Allow automatic monitoring and control of
the steady-state solver settings via the
configuration.
combustion) ,
1 = Switch between BiCGSTAB and SOR
tightening stage.
steady_tol_scale_init The initial value of tol_scale used until the 0.5 * tol_scale
tolerance tightening stage.
#!csi_version=2.4
#=======================
20 tol_scale
2 piso_itmin
9 piso_itmax
1e-07 piso_tol
0 flux_scheme_mom
0.5 fv_upwind_factor_mom
1.0 muscl_blend_factor_mom
minmod flux_limiter_mom
0 flux_scheme_global
0.5 fv_upwind_factor_global
1.0 muscl_blend_factor_global
koren flux_limiter_global
0 flux_scheme_turb
1.0 fv_upwind_factor_turb
1.0 muscl_blend_factor_turb
original flux_limiter_turb
1e-05 monotone_tolerance
0 upwind_all_dir_flag
1.0 impl
1.0 conserve
2 strict_conserve_flag
1 rc_flag
0.7 omega_presrat
#---------------------------
0 mom_solver_type
0.0001 mom_tol
0 mom_itmin
30 mom_itmax
1.0 mom_omega
0 mom_preconditioner
#---------------------------
0 pres_solver_type
1e-08 pres_tol
2 pres_itmin
500 pres_itmax
1.3 pres_omega
0 pres_preconditioner
#---------------------------
0 density_solver_type
0.0001 density_tol
0 density_itmin
2 density_itmax
1.0 density_omega
0 density_preconditioner
#---------------------------
0 energy_solver_type
0.0001 energy_tol
0 energy_itmin
2 energy_itmax
1.0 energy_omega
0 energy_preconditioner
#---------------------------
0 species_solver_type
0.0001 species_tol
0 species_itmin
2 species_itmax
1.0 species_omega
0 species_preconditioner
#---------------------------
0 passive_solver_type
0.0001 passive_tol
0 passive_itmin
30 passive_itmax
1.0 passive_omega
0 passive_preconditioner
#---------------------------
0 tke_solver_type
0.001 tke_tol
0 tke_itmin
30 tke_itmax
0.7 tke_omega
0 tke_preconditioner
#---------------------------
0 eps_solver_type
0.001 eps_tol
0 eps_itmin
30 eps_itmax
0.7 eps_omega
0 eps_preconditioner
#---------------------------
0 omega_solver_type
0.001 omega_tol
0 omega_itmin
30 omega_itmax
0.7 omega_omega
0 omega_preconditioner
#---------------------------
0 rad_solver_type
0.0001 rad_tol
0 rad_itmin
30 rad_itmax
1.0 rad_omega
0 rad_preconditioner
Figure 22.31: An example solver.in file.
22.4.5 Steady-State Monitor - monitor_steady_state.in
The steady-state monitor can track solution progress for steady-state or transient
monitor_steady_state.in file in the Case Directory to activate this feature. Specify any
number of simulation variables present in the *.out files for CONVERGE to monitor. At
each time-step , CONVERGE will read the variables that you specify and determine
whether the quantity is at a steady-state according to the tolerance type ( tol_type ) and
tolerance value ( tol_avg ) you enter. When the quantity reaches steady-state , CONVERGE
When you run with the steady-state monitor and you write restart files , CONVERGE will
write the monitored variables and grid scaling information (if auto_gridscale_flag = 1) to
the restart files. You can restart from these files with the steady-state monitor activated ,
and CONVERGE will automatically retain the monitored variable information and adopt
When monitoring for steady-state , CONVERGE evaluates the difference between two
successive samples sets of data (with a sample size of sample_size ). If you choose relative for
the tolerance type , the difference is evaluated according to Equation 22.4 below:
diff MM M2 1
M (22.4)
1 2
where M1 and M2 are the means of two successive sample sets. If you choose absolute for
the tolerance type , CONVERGE calculates the difference between two successive sample
diff M M2 1 (22.5)
If the difference in Equation 22.5 is no greater than tol_avg and if the standard deviation of
the second sample set is no greater than max_std, then CONVERGE considers that
CONVERGE will compare the standard deviations of two successive sample sets using
either Equation 22.4 or Equation 22.4 above , depending on whether you specified relative
or absolute for tol_type . CONVERGE will use the same formula , but with
1
instead of M
1
and
2
instead of M . If the difference between the standard deviations falls within the
2
value you specify for tol_std, CONVERGE will end the simulation.
You can monitor as many variables as you like , so for each variable of interest , repeat the
rows from variable_name to tol_std in Table 22.23 below. You can separate each variable
with the comment character # followed by comments of your choice , but this is not
necessary.
Note that when the steady-state monitor is enabled , CONVERGE writes te xt output to the
*.out files at each time-step regardless of the interval specified for twrite_files inputs.in
in .
variable_name Name for the variable that you wish to monitor. Note that this name does
Parameter Description
You can <VARIABLE>@REGIONS_<region
specify a name of the form
steady_state.out
switch the region IDs and write the opposite quantity to
steady_state.out steady_state.out
). The column header in will match the data
,
variable name. In this case CONVERGE does not use the column_num
specified below (although it does still use the filename specified below).
filename Name of the *.out file in which CONVERGE writes the variable to
monitor.
column_num Column number of the *.out file in which CONVERGE writes the desired
variable.
monitor_delay Number of cycles after which CONVERGE will begin monitoring the
quantities of interest.
duration_size The minimum time (or pseudo-time) over which to determine if the
#!CONVERGE_VERSION=2.4
#=====================
1 auto_gridscale_flag
# ------ var1 ------ #
mass_flow_rate_net variable_name
"mass_avg_flow1.out" filename
10 column_num
0.0 monitor_delay
40 sample_size
0.000001 duration_size
absolute tol_type
0.0001 tol_avg
0.0001 max_std
0 check_periodicity_flag
0.001 tol_std
# ------ var2 ------ #
pressure variable_name
"area_avg_flow.out" filename
4 column_num
0 monitor_delay
100 sample_size
0.0001 duration_size
relative tol_type
1e-3 tol_avg
1e-3 max_std
0 check_periodicity_flag
1e-3 tol_std
Figure 22.32: An example monitor_steady_state.in file.
When the steady-state monitor has been activated , CONVERGE writes data to the
steady_state.out file.
To use the multiple reference frame (MRF) approach , set mrf_flag = 1 in inputs.in
. Table
22.24 below describes the parameters in mrf.in . Figure 22.6 below shows an e xample mrf.in
file.
For each moving reference frame , supply the region ID and the details of the rotation with
Parameter Description
rotation_speed Rotation speed (in RPM ) of the local reference frame with
#!csi_version=2.4
#=======================
# =====================================
# Start defining MRF region properties
# =====================================
1 region_id
0 copy_from_boundary_flag
1 boundary_id
0.0 0.0 -1.0 rotation_axis
0.0 0.0 0.0 rotation_point
27000.0 rotation_speed
Figure 22.6: An example mrf.in file.
22.5 Boundary Conditions Input Files
This section describes the input files that contain boundary information for your
CONVERGE simulation.
The boundary.in file contains information about conditions for each boundary. Table 22.25
describes the general structure of boundary.in . Table 22.26 summarizes the choices for each
category.
As shown below in Figure 22.33 , the information for each boundary consists of a
mass fractions , passive values , turbulent kinetic energy , and turbulent dissipation , as well
Boundary Conditions.
Category Description
gti_flag (optional) 0 = No CONVERGE + GT-SUITE coupling,
1 = CONVERGE + GT-SUITE coupling*,
6 = CONVERGE + GT-SUITE coupling*. You must set gti_flag = 6
gti_file_name (optional) Name of the file that contains the GT-SUITE model parameters.
GTS ITEmp
U ) that couples with CONVERGE. Used only when
gti_flag is non-zero.
gti_version (optional) Version number for GT-SUITE that enables CONVERGE to find
Boundary ID bound_id
An integer that represents .
Motion type of WALL boundary FI XED or MOVING. If MOVING, include any of the following
motion type keywords:
ST (stationary) ,
TA (tangential) ,
TR (translating) ,
RO (rotating) ,
RT (rotating and translating) ,
AR (arbitrary) ,
U S (user),
DE (dependent) or ,
FSI (fluid-structure interaction)
Required conservation equation velocity, pressure, temperature, species, passive, tke (turbulent kinetic
Available boundary conditions ne (Neumann) , no (Normal Neumann only for INFLOW velocity) ,
di (Dirichlet), la (law-of-the-wall) , co , fl x , sl
(convection) (flu )
Region identification number An integer representing the region_id of the region to which the
Table 22.26: Available boundary conditions for each of the boundary parameters.
Parameter Available Boundary Available Boundary Conditions Available Boundary
Conditions for WALL for PERIODIC Conditions for
INFLOW/OUTFLOW
roughness 2 values are required: N/A N/A
absolute roughness
constant
(dimensionless).
(di ,
) law-of-the-wall vector or $ . ne ,
( ) mass flow ( ma , ) pump
(la ,
) slip (sl ,) piston pu
( ).
for non-engine
applications).
ne
( ).
temperature Dirichlet ( di ,
) N/A Dirichlet (di ,
) Neumann
Neumann ( ne , ) law-of- ne
( ).
the-wall ( la ,
)
convection ( co , ) flu fl
x( ).
ne
( ).
ne
( ).
ne ,
( ) intensity ( in ).
eps Dirichlet ( di ,
) N/A Dirichlet (di ,
) Neumann
Neumann ( ne ). ne ,
( ) length scale ( le ).
omega Dirichlet ( di ,
) N/A Dirichlet (di ,
) Neumann
Neumann ( ne ). ne ,
( ) length scale ( le ).
boundary is assigned.
#!csi_version=2.4
#=======================
####Number of boundaries
6
###########
1
WALL FIXED ST
roughness 0.0 0.0
velocity sl 0.0 0.0 0.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
omega di 0.0
region 0
2
WALL MOVING TR
roughness 0.0 0.0
velocity sl piston.in
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
omega di 0.0
region 0
3
PERIODIC TR
velocity la $
rotate 60.0 0.0 0.0 1.0
match 4
region 0
4
PERIODIC TR
velocity la $
match 3
region 0
5
OUTFLOW
velocity ne 0.0 0.0 0.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps ne 0.0
temperature backflow di 400.0
species backflow di 2
n2 0.77
o2 0.23
passive backflow di 0.0
tke backflow di 10.0
eps backflow di 10000.0
omega backflow di 10000.0
region 0
6
inflow_fluctuating 0.02 0.1
velocity di 15.0 0.0 0.0
pressure ne 0.0
temperature di 300.0
species di 2
O2 0.23
N2 0.77
passive di 0
tke in 0.02
eps le 0.003
omega le 0.003
region 0
Figure 22.33: An example boundary.in file.
The first non-commented row in Figure 22.33 above indicates the number of unique
boundaries for which boundary conditions will be specified. You can use this file to specify
a moving boundary with a constant velocity vector or prescribe its motion with a separate
file. In the e xample shown in Figure 22.33 above , the wall with an ID of 2 has a slip
velocity boundary condition and its velocity is determined from the motion file piston.in.
The file name is arbitrary , but there must be a file with this name in the Case Directory.
The motion file includes four columns: time (in seconds if crank_flag = 0 or in CAD if
each time-step. The position components are given in meters and are relative to a starting
point at (0 , 0, 0).
Alternatively , you can specify $ in place of the motion file name. If you enter $,
CONVERGE will generate a piston motion file using data from the engine.in file. Note that
The TWO_D boundary has the same boundary conditions as a SYMMETRY boundary
type.
As mentioned in Table 22.25 , if you have a multi-cylinder engine case , the first row of
boundary.in must include the keyword ROTATION_A IS, X followed by a vector that
specifies the direction of the crank shaft. You can find more information regarding the use
boundary with a GT-SUITE model, set gti_flag = 1 in boundary.in and include the
You can generate temporally or spatially varying boundary conditions by creating a file
with these data. Refer to the Moving WALLS - Temporally-Varying (Translating) and
conditions.
You can use the fluctuating INFLOW boundary option to generate turbulent fluctuations
and superimpose them on the INFLOW velocity profile , as shown in boundary 6 in Figure
The wall_value.in file defines custom quantities related to wall boundaries. Table 22.27
below describes the parameters in wall_value.in, and Figure 22.34 shows an e xample file.
following rows.
num_wallvalues Number of values that will be specified for the wall boundaries.
value and name of The value of the wall_value_name parameter , followed by the name of the
the wall_value_name parameter. Repeat this row for each wall_value_name for each
parameter
#!csi_version=2.4
#=======================
2 num_walls
2 num_wallvalues
thickness wall_value_name
radius wall_value_name
1 bound_id
1.0e-5 thickness
1.0e-4 radius
2 bound_id
wall_thick.in thickness
3.0e-4 radius
Figure 22.34: An example wall_value.in file.
You can specify spatially or temporally varying data for wall boundary values. In the
sample shown in Figure 22.34 above , a file name is specified for the thickness for Boundary
2 ( bound_id = 2). This wall_thick.in file , which contains wall thickness data versus time or
This section describes the input and data files related to initial conditions for your
CONVERGE simulation.
The mapping capability in CONVERGE allow you to initialize the domain with spatially
varying parameters. (CONVERGE will initialize all other parameters via the information in
initialize.in. ) To activate mapping , set map_flag in inputs.in . The map.in file defines the
parameters to be mapped , the name of the file containing the spatially varying data , a data
rotation angle , data scaling factors , and data translation distances. Table 22.28 below
describes the parameters in the map.in file , and Figure 22.35 shows an e xample file.
Note that the species and passive keywords in map.in include the species or passive name.
Any number of species can be supplied in the mapping data. If at least one species is
mapped , CONVERGE assumes that all non-zero species are included in the mapping ( i.e.,
all species values not specified in map.in will be set to zero). CONVERGE normalizes the
map_allregion_flag = , map_num_regions
1 and region_id still must be
,
negative integer then you must remove the region_id line from this file. If
map_num_regions
you set ,
to a positive integer then there must be
map_num_regions region_id
rows of .)
data. Scaling is done before translating so the , trans_x, trans_y, and trans_z
units should be consistent with the scaled units.
rot_axis A xis about which the coordinates and velocity will be rotated. The
rot_angle Rotation angle about the specified a xis. The right hand rule is used to
,
determine the direction of rotation. Also note that the rotation for velocity
map_filename Name of the data file containing the mapping data , e.g., map.dat .
mapall_flag 0 = CONVERGE will map (and scale, offset, or rotate, if applicable) only
the variables that follow this flag. Any variables that are in the map
data file but not listed below will be recalculated from initialize.in,
1 = CONVERGE will map (and scale, offset, or rotate, if applicable) all of
the variables in the map data file,
Parameter Description
2 = CONVERGE will scale, offset, or rotate only the variables that follow
this flag. Any variables that are in the map data file but not listed
not included in the mapping data file will be initialized using values
,
will be ignored (e.g. if TKE is included in the data file but there is no
,
turbulence model then CONVERGE will ignore TKE).
" " is
sp(species name ) Label for species mapping. ( Species name replaced with the name of
"
Label for passive mapping. ( Passive name " is replaced with the name of
the passive.)
Parameter Description
Only used when spray_map_allregion_flag = 1.
map_parcels_all_flag 0 = Do not move the parcels into the domain if the parcels are outside the
domain ,
1 = Move the parcels into the domain if the parcels are outside the
domain.
trans_x, trans_y, trans_z The trans_x, trans_y, and trans_z parameters are used to translate the x, y,
, ,
and z coordinates respectively of the mapped spray data. Note that
rot_axis A xis about which the coordinates and velocity of the mapped spray data
rot_angle Rotation angle about the specified a xis for the mapped spray data. Note
that the right hand rule is used to determine the direction of rotation.
,
Also note that the rotation for velocity is applied before the scaling and
offset on velocity.
spray_map_filename Name of data file containing the spray mapping data , e.g., spray_map.dat .
spray_mapall_flag 0 = CONVERGE will map (and scale, offset, or rotate, if applicable) only
the spray variables that follow this flag. Any spray variables that are
in the map data file but not listed below will be recalculated from
initialize.in,
1 = CONVERGE will map (and scale, offset, or rotate, if applicable) all of
2 = CONVERGE will scale, offset, or rotate only the spray variables that
follow this flag. Any variables that are in the spray map data file but
not listed below will be read in directly from the spray map data file.
spray_radius Label for mapping the radius of the drops in the parcels.
Parameter Description
spray_u_vel Label for mapping the y component of spray velocity.
spray_w_vel ,
Label for mapping the film flag of parcel (1 if it is a film 0 if it is not).
#!csi_version=2.4
#=======================
1 map_all_region_flag
1 map_num_regions
-1 region_id
1.0 scale_xyz
0.0 trans_x
0.0 trans_y
0.0 trans_z
Z rot_axis
0.0 rot_angle
map.dat map_filename
0 mapall_flag
temp
1.2 temp_scale
100.0 temp_offset
pres
1.00 pres_scale
0.0 pres_offset
tke
2.0 tke_scale
0.0 tke_offset
eps
1.0 eps_scale
0.0 eps_offset
u_vel
1.0 u_scale
0.0 u_offset
v_vel
1.0 v_scale
0.0 v_offset
w_vel
1.0 w_scale
0.0 w_offset
1 spray_map_all_region_flag
1 match_parcels_region_flag
1 match_parcels_bound_flag
1 map_parcels_all_flag
0 region_id
1.0 scale_xyz
0.0 trans_x
0.0 trans_y
0.0 trans_z
Z rot_axis
0.0 rot_angle
spray_map.dat spray_map_name
0 spray_mapall_flag
spray_temp
1.0 temp_scale
0.0 temp_offset
spray_num
1.0 num_scale
0.0 num_offset
spray_radius
1.0 radius_scale
0.0 radius_offset
spray_u_vel
1.0 u_scale
0.0 u_offset
spray_v_vel
1.0 v_scale
0.0 v_offset
spray_w_vel
1.0 w_scale
0.0 w_offset
spray_film
1.0 film_scale
0.0 film_offset
spray_sp(ic8h18)
1.0 sp_scale
0.0 sp_offset
Figure 22.35: An example map.in file.
0 map_all_region_flag
########################################################################
1 map_num_regions
3 region_id
1.0 scale_xyz
...
########################################################################
2 map_num_regions
4 region_id
5 region_id
1.1 scale_xyz
...
Figure 22.36: Excerpt of a map.in file for region-by-region mapping. In this case, there is one mapping
procedure for Region 3 and a different mapping procedure for Regions 4 and 5.
To initialize parameters via mapping , you must include a mapping data file in the Case
Directory. You can manually create this data file or change the name of a map_<time>.out
file (from a previous simulation) to map.dat .
The first row of the map.dat file must contain a keyword for each column ( i.e., the name of
each parameter). Table 22.29 below summarizes the keyword options. Each row thereafter
must contain the x, y , and z coordinates , followed by the values of each parameter. The
parameters can be in any order. Remember that CONVERGE will translate and/or rotate
the x, ,
y and z coordinates based on the scale_xyz, trans_x, trans_y, trans_z, rot_axis, and
columns must be x, y, z, and and each subsequent column must correspond to one of the
spray variables to be mapped). Table 22.30 below summarizes the variables that can be
mapped via spray_map.dat . Note that the locations of the velocity values will be translated
After reading the mapped data , CONVERGE interpolates from the nearest data point to
Temperature temp K
Pressure pres Pa
Species mass fraction species name N/A
e.g., h2o
( )
(e.g., soot )
Temperature. temp K
Number of drops. num N/A
originated.
originated.
x y z tke eps temp pres h2o soot passive1 u_vel v_vel w_vel
1.1 1.2 0.0 22.1 101.0 300.1 2.0e6 0.1 1.0e-6 22.0 1.5 -3.2 -5.3
.
.
Figure 22.37: An excerpt of an example mapping data file (e.g., map.dat ).
detail. Use the events.in file to describe OPEN events (to connect regions and thus allow
flow) and CLOSE events (to disconnect regions and thus prohibit flow).
If no events.in file is included in the Case Directory, CONVERGE will consider all
regions to be disconnected at all times .
To set up events , set events_flag = 1 in inputs.in and include an events.in file in the Case
Directory.
When disconnect triangles are activated ( i.e., regions are not connected) , they act as a
A sample events.in file is shown below in Figure 22.38. The first line in the file must be a
by a number to denote the period of the cycle. Each subsequent line describes one event , as
#!csi_version=2.4
#=======================
CYCLIC 720.0
0 1 OPEN -363.0
0 1 CLOSE -121.0
0 2 OPEN -566.0
0 2 CLOSE -315.0
Figure 22.38: Sample events.in file.
Use the initialize.in file to uniformly initialize the domain at the beginning of a CONVERGE
simulation. Table 22.32 below describes of the parameters in initialize.in . Figure 22.39
below shows an e xample initialize.in file for a case with two regions.
Parameter Description
each region.
region_id A unique integer (no greater than 61) to identify the region. All of the boundaries
basis.
stream_id ,
A unique integer identifier for a stream which is a collection of regions. All
regions with the same stream_id must be the same phase ( i.e., fluid or solid).
solid_flag 0 = Regions in this stream_id are associated with the fluid phase ,
1 = Regions in this stream_id are associated with the solid phase (conjugate heat-
transfer applications).
Regions with the same stream_id must have identical values of solid_flag .
o***
num_species_init Number of species to be initialized.
species name and Each line should consist of the name of a species and its initial mass fraction. The
passive name and Each line should consist of a name of a passive and its initial value. The number
* Specify tke_init, eps_init, and omega_init to initialize the turbulence quantities directly. All three
parameters must be included although only two of them (either tke_init and eps_init tke_init
or and
omega_init, depending on your choice of turbulence model) will be used. If you specify these parameters ,
then the parameters noted with ** or *** should not appear in initialize.in .
** Specify tke_init_visc_ratio, eps_init_length, and omega_init_length to specify the viscosity ratio and
length scale that will be used to initialize the turbulence quantities. All three parameters must be
,
parameters then the parameters noted with * or *** should not appear in initialize.in .
*** Specify tke_init_length, eps_init_visc_ratio, and omega_init_visc_ratio to specify the viscosity ratio and
length scale that will be used to initialize the turbulence quantities. All three parameters must be
,
parameters then the parameters noted with * or ** should not appear in initialize.in .
#!csi_version=2.4
#=======================
2 num_regions
# fluid region
0 region_id
0 stream_id
0 solid_flag
0.01 vel_init
300.0 temp_init
101325.0 pres_init
10.0 tke_init
1000.0 eps_init
100.0 omega_init
2 num_species_init
o2 0.23 name
n2 0.77 name
0 num_passive_init
# solid pipe
1 region_id
1 stream_id
1 solid_flag
300.0 temp_init
101325.0 pres_init
60 tke_init_visc_ratio
20000 eps_init_length
1000 omega_init_length
1 num_species_init
metal 1.0 name
0 num_passive_init
Figure 22.39: An example initialize.in file for a case with two regions.
When specifying region-specific initial values , you do not have to list the region-by-region
blocks of information in any specific order. For e xample, Region 6 can be defined before
If you initialize species or passives in initialize.in, the names in initialize.in must also appear
in the chemical reaction mechanism file ( e.g., mech.dat ) or in species.in . CONVERGE will
normalize the species mass fractions to ensure that the mass fractions add up to one.
Finally , note that you must include one set of tke_, eps_, and omega_ parameters (see the
notes after the table) even if your simulation does not include a turbulence model.
This section describes the input files that contain information about the physical models for
The spray.in file contains spray modeling parameters and information about the injectors
and nozzles in your simulation. Table 22.33 describes the parameters in spray.in, and
the cone ,
1 = Distribute injected parcels evenly throughout the cone.
penet_frac Liquid fuel mass fraction for calculating spray penetration 0.95
during post-processing.
vapor_penet_frac Fuel vapor mass fraction for calculating vapor penetration. 1e-3
0 = No breakup,
1 = Breakup.
0 = No initialization ,
1 = Initialization (requires film_init.in ).
0 = Rebound/slide model,
1 = Wall film model, with the updated evaporation model,
2 = Drops vanish when they impinge on a solid boundary.
and wetness).
weber_rebound Weber rebound number. This parameter is used only for the 5
wall_splash_model = 0).
,
Weber number film thickness and liquid viscosity ,
1 = Determine splashing based on Weber number only.
i.e.,
( when spray_wall_flag = 1 and wall_splash_model = 0).
splash_critical_value Critical value for splashing. The meaning of this value 3330.0 for
parameter is used only for the O'Rourke splash model ( i.e., splash_crit_fla
when spray_wall_flag = 1 and wall_splash_model = 0).
(
g = , 0) case
dependent for
Wesplash
splash_crit_fla
(
g= 1)
splash_fraction Fraction of drop mass splashed. This parameter is used only 0.5 - 1.0
separation_const Separation constant. This parameter is used only for the 3.0
wall_splash_model = 0).
0 = No film stripping,
1 = Film stripping.
0 = No collision model,
1 = O Rourke collision model,
2 = NTC collision model.
0 = O Rourke outcomes ,
1 = Post outcomes.
0 = No collision mesh ,
1 = Collision mesh.
collision_scale The embed level used to create the collision mesh. For N/A
film_mesh_scale The embed level used to create the adaptive film mesh. For N/A
0 = No drop drag,
1 = Spherical drop drag,
2 = Dynamic drop drag.
0 = No turbulent dispersion ,
1 = O Rourke turbulent dispersion ,
2 = TKE-preserving turbulent dispersion.
0 = No drop evaporation ,
1 = Frossling drop evaporation ,
evap_species Name of the species that will be sourced when evaporation N/A
evap_d0_diffuse Liquid species mass diffusivity variable. The parameter Value based
d0_diffuse equals D 0
in the following equation: on
evap_n_diffuse Liquid species mass diffusivity variable. The parameter Value based
n_diffuse equals n 0
in the following equation: on
disabled.
conductivity model ,
1 = CONVERGE uses the effective thermal conductivity
evap_layers_per_film Number of finite volume cells into which the film will be 10-20
required).
ray
scale_mass_trans_coeff_sp Scaling applied to the droplet mass transfer coefficient. 1
ray
scale_heat_trans_coeff_fil Scaling applied to the film heat transfer coefficient. 1
m
scale_mass_trans_coeff_fil Scaling applied to the film mass transfer coefficient. 1
num_in ectors
j Number of injectors in the simulation. Repeat the following N/A
#injector#
spray_in ect_bc_flag
j 0 = Regular spray injection ; N/A
vof_spray.dat angle_xy_in
according to j and angle_xz_in ; j
vof_spray_liq_frac_thresh If a cell has a liquid volume fraction equal to or greater than N/A
or 2.
name and mass fraction Parcel species name and mass fraction. There should be N/A
nozzles attributes are copied from the first nozzle, with the
angle_xy_in j Injector rotation angle in the xy plane. Used only when N/A
angle_xz_in j Injector rotation angle in the xz plane. Used only when N/A
0 = Hollow cone,
1 = Solid cone.
Temporal type and Specify whether the injection is SE QUENTIAL or C YCLIC. If N/A
CYCLIC .
in ect_start_time
j Start of seconds
injection crank angle degrees
( or ). This N/A
Modeling.
in ect_duration
j Duration of injection ( seconds or crank angle degrees ). This N/A
Modeling.
in ect_mass
j Total spray mass ( kg ) injected in the computational domain N/A
profile ( in ect_mass.in
j ) for variable RPM cases. See Chapter
unit time ( kg s / ).
below ) ],
1 = Read temperature values from vof_spray.dat and apply
in ect_temp
j Liquid spray temperature ( K ) at the time of injection. N/A
in ect_tke
j TKE ( m2 s2 / ) at the time of injection. N/A
scale_tke TKE scale factor. Must be between 0 and 1 , inclusive. Only N/A
in ect_eps
j EPS ( m2 s3
/ ) at the time of injection. N/A
scale_eps EPS scale factor. Must be between 0 and 1 , inclusive. Only N/A
init_cell_turb_flag 0 = At the beginning of the simulation , initialize the gas cell N/A
vof_spray.dat .
in ect_distribution_flag
j Injection drop distribution flag. N/A
0 = No distribution ,
1 = Chi-squared distribution ,
2 = Rosin-Rammler distribution ,
3 = Injected parcel radius is set to 0.5 * smd_dist . This option
be in quotation marks.
distribution).
0 = No KH model,
1 = KH model,
2 = KH-ACT model.
0 = No child parcels ,
1 = Child parcels.
kh_newparcel_cutoff Fraction of injected mass per parcel used for determining 0.03 - 0.10
new_parcel_flag = 1.
kh_shed_factor Fraction of parent parcel mass that goes into child parcels. 0.1 - 1.0
calculated by CONVERGE ,
1 = Tke, eps , and nozzle contraction coefficients are
khact_nozzle_flow_filena The name of the file that contains nozzle flow data. Only N/A
induced breakup.
0 = No RT breakup,
1 = RT breakup activated (if kh_flag = 1 and rt_flag = 1 ,
CONVERGE will use the KH-RT model) ,
2 = RT breakup activated (if new_parcel_flag = , kh_flag =
1 1 ,
and rt_flag = 2 , CONVERGE will use the modified KH-RT
model).
parameter q_rr
.
0 = No TAB breakup,
1 = TAB breakup activated.
parameter q_rr
.
0 = No LISA breakup,
1 = LISA breakup activated.
parameter q_rr
.
lisa_in ection_pres
j Injection pressure (used for LISA model parcel N/A
initialization).
coefficient,
discharge_coeff Profile of discharge coefficient rate-shape for current injector: 0.4 - 1.0
swirl_fraction The fraction of the spray that is in the azimuthal direction in 0 for a non-
inclusive. Only works for a hollow cone ( cone_flag = 0). Refer spray.
marks.
num_nozzles Number of nozzles for current injector. For each nozzle , N/A
#nozzle#
noz_diameter Nozzle diameter ( m ).: either a constant value or a file name N/A
noz_length Nozzle length ( m ). Used only when the KH-ACT model is N/A
amp_distort Initial drop distortion amplitude for TAB breakup model. N/A
radius_in ect
j Circular injection radius ( m ). For a hollow cone spray , N/A
cone_angle_in <num>.in
j ) to set up a cone angle profile.
noz_thickness Spray thickness (deg. ). Only used for hollow cone sprays N/A
(cone_flag = 0).
Modeling.
Modeling.
noz_angle_xy Nozzle tilt angle in the xy plane position ( degrees ). Used only N/A
,
origin the a xis of the injector is aligned with the z a xis , and
noz_angle_xz Nozzle tilt angle in the xz plane position ( degrees ). Used only N/A
,
origin the a xis of the injector is aligned with the z a xis , and
= 1.
= 1.
= 1.
noz_xx_vec The x component of the spray orientation unit vector. Used N/A
noz_yy_vec The y component of the spray orientation unit vector. Used N/A
noz_zz_vec The z component of the spray orientation unit vector. Used N/A
#!csi_version=2.4
#================
0 cone_distribution_flag
0.97 penet_frac
0.001 penet_bin_size
0.001 vapor_penet_frac
1 breakup_flag
0 init_film_flag
0 spray_wall_flag
0 film_splash_model
5.0 weber_rebound
0 splash_criterion_flag
3330.0 splash_critical_value
1.0 splash_fraction
1.1 splash_tstar_critical
0 splash_wruck_model_flag
3.0 separation_const
0 film_strip_flag
12.0 film_strip_time_const
0.5 film_strip_size_const
2 collision_flag
1 collision_outcome_flag
0 collision_mesh_flag
2 collision_scale
0 film_mesh_flag
0 film_mesh_scale
2 drag_flag
0.08333 tab_cfocbck
10.0 tab_csubd
8.0 tab_csubk
1 turb_dispersion_flag
1 parcel_evap_model
0 evap_source_flag
c7h16 evap_species
4.16e-06 evap_d0_diffuse
1.6 evap_n_diffuse
1000.0 evap_big_drop_radius
15 evap_layers_per_drop
0 evap_recirculation_flag
1000 evap_thick_film_height
10 evap_layers_per_film
0 urea_flag
1 scale_heat_trans_coeff_spray
1 scale_mass_trans_coeff_spray
1 scale_heat_trans_coeff_film
1 scale_mass_trans_coeff_film
1 num_injectors
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
vof_spray.dat vof_spray_filename
1e-16 vof_spray_mass_per_parcel
0.0 vof_spray_liq_frac_threshold
1 num_parcel_species
DIESEL2 1.0
0 nozzle_init_flag
0.0 x_cen_inj
0.0 y_cen_inj
-0.0032208 z_cen_inj
0.0 angle_xy_inj
0.0 angle_xz_inj
1 cone_flag
CYCLIC 720
-9.0 inject_start_time
21.0 inject_duration
50000 num_parcels_per_nozzle
2.70167e-05 inject_mass
1 temp_flag
341.0 inject_temp
1.0 scale_temp
0.0 offset_temp
1 tke_flag
3000.0 inject_tke
1.0 scale_tke
0.0 offset_tke
1 eps_flag
300.0 inject_eps
1.0 scale_eps
0.0 offset_eps
0 init_cell_turb_flag
0 inject_distribution_flag
3.5 q_rr
1 kh_flag
1 kh_new_parcel_flag
0.05 kh_new_parcel_cutoff
1.0 kh_shed_factor
0.6 kh_balpha
0.188 kh_const1
7.0 kh_const2
0 kh_no_enlarge_flag
0 khact_nozzle_flow_flag
noz_flow.in khact_nozzle_flow_filename
0.45 khact_turb_kc
0.27 khact_turb_ke
0.01 khact_turb_s
0.1 khact_c_tcav
2 rt_flag
0 rt_distribution_flag
1.0 rt_const2b
0.1 rt_const3
99999.9 rt_length_const
0 tab_flag
0 tab_distribution_flag
0 lisa_flag
12.0 lisa_length_const
0.5 lisa_size_const
0 lisa_distribution_flag
5000000.0 lisa_injection_pres
1 discharge_coeff_flag
0.7 discharge_coeff
0.0 swirl_fraction
"rateshape_inj1.in" rate_shape
1 num_nozzles
#=============================================
# Nozzle 0@Injector 0
#---------------------------------------------
0.000259 noz_diameter
2e-05 noz_length
0.000259 smd_distribution
0.0 amp_distort
0.0001295 radius_inject
9.0 noz_cone
9.0 noz_thickness
0.00097 noz_radial_dist
0.0 noz_axial_dist
0.0 noz_theta
0.0 noz_angle_xy
62.5 noz_angle_xz
0.0 noz_xx
0.0 noz_yy
0.0 noz_zz
0.0 noz_xx_vec
0.0 noz_yy_vec
0.0 noz_zz_vec
Figure 22.40: An example spray.in file.
Initialization of Wall Film - film_init.in
If init_film_flag = spray.in,
1 in you must include the film_init.in file. This file defines how to
initialize the wall film. A wall film can be initialized on an entire boundary or in a circular
or rectangular shape. Table 22.34 below describes the parameters in film_init.in. Figures
22.41 , 22.42 , and 22.43 show e xample files for the initialization of a wall film in a circle , in
fractions
x_size Two numbers that specify the side lengths of the rectangle. The
first side length should be for the side in the direction of the
tangential vector.
fractions
fractions
#!csi_version=2.4
#=======================
CIRCLE
-0.1 0.0 -0.02 x_center
0.05 radius
0.0 0.0 -1.0 normal_vector
1 film_mass_type
1.0 film_mass
100e-6 thickness
298.0 film_temp
10000 num_parcels
2.5e-5 drop_size
1 num_speciesinit
ic8h18 1.0
Figure 22.41: An example film_init.in file for a circular wall film.
#!csi_version=2.4
#=======================
RECTANGLE
-0.001 0.0 0.002 x_center
0.015 0.01 x_size
0.0 1.0 0.0 tangential_vector
0.0 0.0 -1.0 normal_vector
0 film_mass_type
1.0e-5 film_mass
2.0e-5 thickness
335.0 film_temp
5000 num_parcels
2.5e-5 drop_size
2 num_speciesinit
ic8h18 0.23
c7h16 0.77
Figure 22.42: An example film_init.in file for a rectangular wall film.
#!csi_version=2.4
#=======================
BOUNDARY
1 boundary_id
0 film_mass_type
1.0e-5 film_mass
2.0e-5 thickness
335.0 film_temp
5000 num_parcels
2.5e-5 drop_size
2 num_speciesinit
ic8h18 0.23
c7h16 0.77
Figure 22.43: An example film_init.in file for a wall film on an entire boundary.
include a urea.in file. Table 22.35 below describes the urea.in parameters , and Figure 22.7
shows a sample urea.in file. Refer to Chapter 12 - Discrete Phase Modeling for a description
correlation ( kg (m-s)
/ ).
decomposition (J/ kg ).
#!csi_version=2.4
#=======================
( in ect_distribution_flag spray.in
j in ). To specify your own injection drop distribution , specify
3 diameter Diameter ( m ).
tabular
sequential
value vol_frac diameter
1 0.0 0.0e-06
2 1.08681E-05 10.0e-06
3 0.000141233 20.0e-06
.
.
49 0.999999986 480.0e-06
50 0.999999997 490.0e-06
51 1.0 500.0e-06
Figure 22.45: An example injdist.in file.
Injector Rate-Shape Files
For each injector , the mass flow rate , discharge coefficient , nozzle diameter , injection
radius, and spray cone angle can vary in time. This variation is controlled in each case by a
Unless you have specified CONSTANT for the injector mass flow rate , you must provide a
rateshape_in <num>.in
j file. Table 22.37 below describes the required format of
rateshape_in <num>.in
j (e xcept for the header). Figure 22.7 shows a sample
rateshape_in <num>.in
j file.
The first line of the file must be TEMPORAL . The second line indicates the temporal type:
2 rate_shape Rate-shape value at this crank or time. Note that CONVERGE normalizes
#!csi_version=2.4
#=======================
TEMPORAL
SEQUENTIAL
CRANK rate_shape
1 1057.2
2 1141.0
3 3713.2
4 12518.0
5 22231.0
6 30167.0
7 36601.0
8 39283.0
9 41372.0
10 39233.0
11 37451.0
12 38671.0
13 39180.0
14 42454.0
15 42291.0
16 41575.0
17 41254.0
18 39946.0
19 40217.0
20 40845.0
21 41472.0
22 40716.0
23 40475.0
24 40944.0
25 40662.0
Figure 22.46: An example rateshape_inj<num>.in file.
If you did not specify a constant value for the discharge coefficient , you must provide a
discharge_coeff_in <num>.in
j file. Table 22.38 below describes the required format of
discharge_coeff_in <num>.in
j (e xcept for the header). Figure 22.7 shows a sample
discharge_coeff_in <num>.in
j file.
The first line of the file must be TEMPORAL . The second line indicates the temporal type:
2 discharge_co Discharge coefficient value at this crank or time. Note that this coefficient
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 0.0005
SECOND discharge_coeff
0 1e-1
0.00025 2e-1
0.00050 1e-1
Figure 22.47: An example discharge_coeff_inj<num>.in file.
If you did not specify a constant value for the nozzle diameter , you must provide a
noz_diameter_in <num>.in
j file. Table 22.39 below describes the required format of
noz_diameter_in <num>.in
j (except for the header). Figure 22.7 shows a sample
noz_diameter_in <num>.in
j file.
The first line of the file must be TEMPORAL . The second line indicates the temporal type:
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 0.0005
SECOND noz_diameter
0 1e-1
0.00025 2e-1
0.00050 1e-1
Figure 22.48: An example noz_diameter_inj<num>.in file.
If you did not specify a constant value for the injection radius , you must provide a
in _radius_in <num>.in
j j file. Table 22.40 below describes the required format of
in _radius_in <num>.in
j j (e xcept for the header). Figure 22.7 shows a sample
in _radius_in <num>.in
j j file.
The first line of the file must be TEMPORAL . The second line indicates the temporal type:
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 0.0005
SECOND inj_radius
0 1e-1
0.00025 2e-1
0.00050 1e-1
Figure 22.49: An example inj_radius_inj<num>.in file.
cone_angle_in <num>.in
j file. Table 22.41 below describes the required format of
cone_angle_in <num>.in
j (except for the header). Figure 22.7 shows a sample
cone_angle_in <num>.in
j file.
The first line of the file must be TEMPORAL . The second line indicates the temporal type:
2 cone_angle Spray cone angle value (in deg ) at this crank or time.
#!csi_version=2.4
#=======================
TEMPORAL
CYCLIC 720
crank cone_angle
101.1 10
250 20
400 30
550 40
600 50
700 40
Figure 22.50: An example cone_angle_inj<num>.in file.
Eulerian-Lagrangian Spray Atomization - elsa.in
,
To activate ELSA spray_flag =
set vof_flag = 1 and 1 in inputs.in and include an elsa.in file
in the Case Directory. Table 22.42 below describes the parameters in elsa.in, and Figure
converted to Lagrangian
conversion ( m ).
conversion ( kg ).
evaporation.
0 = No Eulerian fluid
evaporation.
activated.
2 in spray.in
.
elsa_in _id
j Injector ID number. N/A
1
elsa_region_id_ Second region for this nozzle. N/A
2
elsa_num_transi Number of regions in which N/A
uid nozzle.
#!csi_version=2.4
#================
1 elsa_transition_flag
0.80 elsa_transition_alpha
1.2 elsa_transition_area_ratio
2e-08 elsa_min_diameter
3e-8 elsa_mass_per_parcel
0 elsa_evap_flag
1 elsa_num_inj
0 elsa_inj_id
4.0 elsa_sigma_const_1
1.0 elsa_sigma_const_2
0 elsa_noz_id
0 elsa_region_id_1
1 elsa_region_id_2
1 elsa_num_transition_regions
1 elsa_transition_region_id
liquid1 elsa_passive_liquid
Figure 22.51: An example elsa.in file.
22.7.2 Combustion Modeling - combust.in
the Case Directory. Table 22.43 below describes the parameters in combust.in. Figure 22.52
shows an e xample file. Chapter 13 - Chemistry Modeling describes the combustion models
dependent ,
1 = Combustion ,
(SAGE G_E QN, or
ECFM3Z) is region dependent
(requires combust_region.in ).
PERMANENT, SE ENTIAL QU or
CYCLIC CYCLIC,
. If it must be
combustion modeling.
#Emissions
# SAGE
kinetics solver,
solver,
g_eqn_flag = 2 , 3 , 4 , or 5).
(CONSTANT_VOLUME) or constant
pressure (CONSTANT_PRESSURE).
,
species is no greater than 100)
2 = SuperLU as a preconditioner of
species).
exceeds sage_delta_temp,
1 = Always re-solve temperature.
re-solved ( K ).
numerically,
species.
species.
reduction ,
1 = Dynamic mechanism reduction
enabled (requires sage_dmr.in ).
#CEQ
(requires ceq_species.in).
CE Q model.
#Adaptive zoning
Must be at least 2.
adaptive_zone_bin_equiv_ratio for
adaptive_zone_bin_<species name>
(e.g., adaptive_zone_bin_c7h1 6 ) for
e.g.,
tolerance or a file name (
adaptive_zone_bin_temp.in ) in
computational cost.
#CTC
different times.
CTC model.
(recommended).
#FGM
(FGM) model ,
1 = FGM model enabled.
#ECFM (premixed)
Model (ECFM) ,
1 = ECFM enabled.
destruction term.
0 = No spark model,
1 = ISSIM spark model ( issim.in
required).
model.
, ,
temperatures pressures equivalence
,
ratios and EGR ratios. Required by
ecfm_auto_ignition_tc Fuel consumption characteristic time 2.0e-5 for diesel fuel cases.
CEQ method.
,
for a single-cycle engine case)
ecfm3z_reinit.in ).
require ecfm3z_reinit.in ).
#G-Equation
flame ,
5 = Use the SAGE solver at the flame
front and inside the flame.
sage_flag = 11.
g_eqn_init_value G
Initialization of . Specify a -0.1
G .
0 = Explicit method,
1 = Sussman (implicit) method,
which is slower but more accurate.
(recommended) ,
1 = Use kernel model for ignition.
when g_eqn_spark_flag = 1.
constant.
#ECFM3Z (non-premixed)
production term.
destruction term.
model enabled.
,
temperatures pressures equivalence ,
,
ratios and EGR ratios. Required by
model.
CE Q method.
,
for a single-cycle engine case)
ecfm3z_reinit.in ).
require ecfm3z_reinit.in) .
#RIF
RIF in parallel.
dissipation rate.
coordinate.
1 = Equidistant grid,
2 = Equidistant grid with refinement
fraction) to 2 xZ st _st =
(Z fuel mass
coordinate.
Gaussian PDF.
species ,
1 = CONVERGE will transport only
the species listed as
rif_transport_species.
rif_num_transport_species Number of species that will be 7 10
transported by CONVERGE. Used
Species name(s) Name(s) of the species that will be Typical transport species: fuel ,
transported by the CONVERGE flow O2, N2 , CO, CO2 , H2O, H2.
solver. Used only when Use NO for NOx emissions.
when sl_model = 0.
when sl_model = 1 or 2.
sl_model = 1 or 2.
Equation model):
a m( 1) .
Equation model):
a m( 1) .
sl_pres_a a
Constant ( ) for the pressure See below.
Equation model):
a m( 1) .
model):
a m( 1) .
EGR).
when sl_model = 1.
when sl_model = 1.
sl_model = 2.
sl_model = 2.
sl_model = 2.
#Turbulence Flamespeed
model.
2 = Zimont (FGM),
variance of G .
st_model = 2.
#Output
calculation ,
1 = Mixture fraction variance
calculation enabled.
#!csi_version=2.4
#=======================
-10.0 combust_start_time
135.0 combust_end_time
600.0 combust_temp_cutoff
1e-08 combust_hc_minimum
#Emissions
1 emissions_flag
#SAGE
1 sage_flag
constant_volume sage_option
0 sage_ode_solver
0 sage_solve_temp
2.0 sage_delta_temp
1 sage_analyt_jac
0.0001 sage_rel_tol
1e-14 sage_abs_tol
1.0 sage_reaction_multiplier
0 sage_dmr_flag
#CEQ
0 ceq_flag
0 ceq_species_subset_flag
0.1 ceq_cm2
#Adaptive Zoning
1 adaptive_zone_flag
2 adaptive_zone_bin_dim
5.0 adaptive_zone_bin_temp
0.05 adaptive_zone_bin_react_ratio
1 adaptive_zone_nox_flag
0 adaptive_zone_output_flag
0 adaptive_zone_hr_map_flag
#
c7h16 fuel_name
#CTC
0 ctc_flag
-999999.0 ctc_init_time
1 ctc_mult_scale_flag
0.2 ctc_tau_fraction
0.1 ctc_cm2
7680000000.0 ctc_denomc
1000.0 ctc_temp_cutoff
#Shell
0 shell_flag
150000.0 shell_af04
#FGM
0 fgm_flag
#ECFM (premixed)
0 ecfm_flag
1.6 ecfm_stretch_alpha
1.0 ecfm_destruct_beta
0 ecfm_spark_flag
2 ecfm_auto_ignition_flag
"ignition_delay.dat" ecfm_tki_table_filename
2e-05 ecfm_auto_ignition_tc
1 ecfm_post_ceq_flag
0 ecfm_reinit_flag
#G_EQN
0 g_eqn_flag
-0.1 g_eqn_init_value
0 g_eqn_grad_g_flag
3500.0 g_eqn_g_temp_cutoff
0 g_eqn_spark_flag
0.3 g_eqn_spark_efficiency
100 g_eqn_num_kernel_init
80.0 g_eqn_karlovitz_ignition
2.0 g_eqn_c_chi
#ECFM3Z (nonpremixed)
0 ecfm3z_flag
2.0 ecfm3z_mix_betam
1.6 ecfm3z_stretch_alpha
1.0 ecfm3z_destruct_beta
2 ecfm3z_auto_ignition_flag
"ignition_delay.dat" ecfm3z_tki_table_filename
2e-05 ecfm3z_auto_ignition_tc
1 ecfm3z_post_ceq_flag
0 ecfm3z_reinit_flag
#RIF
0 rif_flag
1 rif_nproc_flamelet
1e-05 rif_init_zmin
0.0 rif_unburned_temp_offset
2.0 rif_flamelet_c_chi
2.0 rif_cfd_c_chi
1000.0 rif_chi_clip
1 rif_num_flamelets
4 rif_grid_type
100 rif_num_zgrids
0 rif_pdf_flag
0 rif_transport_species_flag
0 rif_num_transport_species
0 rif_num_bc0
0 rif_num_bc1
700.0 rif_fuel_temp
-0.24 sl_pres_a
0.22 sl_pres_m
0.0 sl_dilution
0.2632 sl_metghalchi_bm
-0.8472 sl_metghalchi_b2
1.13 sl_metghalchi_equiv_ratio
0.4658 sl_gulder_omega
-0.326 sl_gulder_eta
4.48 sl_gulder_xi
#Output
0 mix_frac_flag
0 mix_frac_var_flag
2.0 mix_frac_c_chi
2.0 mix_frac_c_chi
Figure 22.52: An example combust.in file.
Table 22.44 provides recommended values of the Metghalchi constants for several fuels
Values for some of the G-Equation parameters are functions of the fuel used in the
simulation. Table 22.45 provides recommended values of the Gulder constants for various
-0.2 , > 1
0.5
Ethanol 0.4650 0.250 6.34 1.75
0.17 , 1
, 1
0.5
0.17
Methanol *
0.46
Isooctane/
0.4658 1 0.07V 0.35 -0.326 4.48
1.56 0.23V -0.22
Ethanol *
*For isooctane/alcohol mixtures , V is the volume fraction of alcohol. These correlations are valid for 0
V 0.2.
parameters in this file. Repeat this block of parameters for as many regions as desired.
according to the information given in the ne xt three lines. The value given
here must also be a region_id initialize.in
in .
temporal type SE QU ENTIAL, PERMANENT CYCLIC CYCLIC, or . For the period must
follow.
#!csi_version=2.4
#=======================
3 region_id
cyclic 720
176.00 combust_tstart
300 combust_tend
9 region_id
sequential
-4.00 combust_tstart
120 combust_tend
Figure 22.53: An example combust_region.in file.
CTC Initialization - ctc_init_time.in
In multi-cycle or multi-cylinder engine simulations , reset the Characteristic Time
Combustion (CTC) model via ctc_init_time in combust.in . To specify reset times (in crank
angle degrees ) and periods that vary on a region-by-region basis , specify the name of an
e.g., ctc_init_time.in
input file ( ) as the value of ctc_init_time . Table 22.47 below describes the
parameters in the CTC initialization file. Repeat this entire block of parameters as needed.
ctc_active_region The region ID value(s) of the regions in which the CTC model will be
ctc_init_time The time ( crank angle degrees ) at which the CTC model will be reset.
ctc_init_period The time period ( crank angle degrees ) after which the CTC model will be
reset.
#!csi_version=2.4
#=======================
2 ctc_num_region
0 ctc_active_region
1 ctc_active_region
120.0 ctc_init_time
720.0 ctc_init_period
1 ctc_num_region
2 ctc_active_region
240.0 ctc_init_time
360.0 ctc_init_period
Figure 22.55: An example ctc_init_time.in file. In this example, CTC is reinitialized in Regions 0 and 1
at 120 CAD and has a period of 720 CAD. CTC is reinitialized in Region 2 at 240 CAD and has a period
of 360 CAD.
,
activate region-based initialization e.g., g_eqn_init.in
specify a file name ( ) in quotation
g_eqn_init_value combust.in
marks for in and then include that file in the Case Directory.
g_eqn_init.in
Table 22.48 describes the parameters in . Figure 22.56 shows an e xample file.
In g_eqn_init.in, you must specify a value of G for each region , even if combustion does not
occur in all regions in the domain. CONVERGE will ignore the information related to
g_eqn_region Region ID of the region in which G will be initialized with the value that
2 g_eqn_num_region
0 g_eqn_region
1 g_eqn_region
-1.0 g_eqn_init_value
-1.5 g_eqn_init_time
720.0 g_eqn_init_period
1 g_eqn_num_region
2 g_eqn_region
-2.0 g_eqn_init_value
20.0 g_eqn_init_time
720.0 g_eqn_init_period
Figure 22.56: An example g_eqn_init.in file.
ISSIM - issim.in
Ifecfm_spark_flag = 2 , issim.in is required. Table 22.49 below describes the parameters in
issim_c_flame_wrinkling Initial flame surface wrinkling. Set to 1 for laminar spherical ignition. Set
issim_plug_id The number of the spark plug associated with the ignition. The spark
=1 or 2) of the ignition.
#!csi_version=2.4
#=======================
1 issim_c_ignition_mass
1 issim_c_flame_wrinkling
2 issim_num_plugs
0.0 issim_spark_locate_x
0.0 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.e-3 issim_electrode_distance
0.5e-3 issim_electrode_diameter
1.e4 issim_secondary_resistance
30. issim_secondary_inductance
0.05 issim_spark_locate_x
0.05 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.1e-3 issim_electrode_distance
0.6e-3 issim_electrode_diameter
1.e4 issim_secondary_resistance
30. issim_secondary_inductance
2 issim_num_ignitions
0 issim_plug_id
SEQUENTIAL
-25. issim_spark_start_time
38.9e-3 issim_initial_sec_energy
1 issim_plug_id
SEQUENTIAL
-27. issim_spark_start_time
38.9e-3 issim_initial_sec_energy
Figure 22.7: Example issim.in file.
ECFM3Z Reinitialization - ecfm3z_reinit.in
ecfm3z_reinit_flag = , ecfm3z_reinit.in
If 1 is required. This file allows you to direct
e xample file.
reinitialized.
#!csi_version=2.4
#=======================
2 ecfm3z_num_region
0 ecfm3z_region
1 ecfm3z_region
50.0 ecfm3z_init_time
1 ecfm3z_num_region
4 ecfm3z_region
100.0 ecfm3z_init_time
Figure 22.57 : An example ecfm3z_reinit.in file.
CEQ Species - ceq_species.in
ceq_subsp_flag =
When combust.in,
1 in the CE Q solver uses a subset of species as part of
ceq_species.in
the equilibrium solver. The file lists the subset of species to be used by the
CE Q solver. Table 22.51 below describes the format of this file. Figure 22.58 shows an
e xample file.
H2
O2
H2O
CO
CO2
N2
CH4
C2H6
C3H8
end
Figure 22.58: An example ceq_species.in file.
FGM Lookup Table - fgm.in
When fgm_flag = combust.in,
1 in CONVERGE looks for the fgm-table.dat file for solutions to
fgm.in file with the parameters in Table 22.52. Then , navigate to the Case Directory in the
converge fgm
to generate the lookup table. You can run this command in parallel only for the 0D ignition
and 1D premi xed flamelet types. You only need to generate the fgm-table.dat once unless
the flamelet type , chemical mechanism , fuel/o xidizer compositions , equation of state , gas
1 = 0D ignition ,
2 = 1D diffusion ,
3 = 1D premixed.
mi xture fraction.
enthalpy.
FGM ( K ).
K
( ).
o xidizer (Z
FGM =0 boundary
condition).
O xidizer species name O xidizer species name and mass Case dependent
fraction.
(Z
FGM =1 boundary condition).
Fuel species name Fuel species name and mass Case dependent
fraction.
be written. To be more
computationally efficient ,
species-specific data are not
be written.
0 = Default,
1 = Improves the accuracy of
computationally e xpensive.
CO2 1
fgm_temp_loss Temp (Z
FGM ) multiplier for 0.333
lower heat loss bound.
fgm_temp_gain Temp (Z
FGM ) multiplier for 2
upper heat gain bound.
ignition flamelet.
diffusion flamelet.
ignition flamelet.
diffusion flamelet.
When you enable nox_flag and/or soot_hiroy_flag in combust.in, you must list the fuel
1 fgm_flamelet_type
40 fgm_num_zmean
40 fgm_num_prog_var
40 fgm_num_enthalpy
10 fgm_num_zvar
5 fgm_num_pres
1.0 fgm_pres_low
120.0 fgm_pres_high
1.0 fgm_pres
291.0 fgm_oxid_temp
294.0 fgm_fuel_temp
1 fgm_num_species_bc0
O2 0.00000
0 fgm_num_species_bc1
2 fgm_num_species_post
CO
NO
0 fgm_nox_flag
2 fgm_num_species_alpha
CO 1.00000
CO2 1.00000
0.333 fgm_temp_loss
2.0 fgm_temp_gain
1e-08 fgm_0d_rtol
1e-20 fgm_0d_atol
1e-05 fgm_diff_rtol
1e-12 fgm_diff_atol
1e-06 fgm_premix_rtol
1e-10 fgm_premix_atol
Figure 22.59: Example fgm.in file for a diesel engine.
include this file in the Case Directory. Figure 22.60 shows an e xample file.
bin size saves computational time compared to using a fi xed fine bin size throughout the
entire range of the variable. For e xample, you can use variable bin size to refine the zones
To set up this option , specify a *.in file name ( e.g., adaptive_zone_bin_temp.in ) in quotation
marks for a adaptive_zone_bin_* parameter. You can use the variable bin size option for as
The variable bin size files must be tabular and sequential , and these two words must be the
first and second lines , respectively , of the file. The third line must list the column headings:
corresponding adaptive_zone_bin_* ,
parameter. For a species file the species name ( e.g.,
c7h1 6 ) must match the species name given incombust.in . If these two names do not match ,
CONVERGE will give an error.
Figure 13.35 below shows an example variable bin size file for temperature. This file
specifies a bin size of 10 K for all of the cells in the temperature range of 0 to 1000 K, K 5
for cells with temperatures between 1000 and 2000 K, 20 K for cells with temperatures
from 2000 to 3000 K, and 50 K for cells with temperatures greater than 3000 K.
tabular
SEQUENTIAL
temperature adaptive_zone_tol_temp
0.0 10.0
1000.0 5.0
2000.0 20.0
3000.0 50.0
Figure 22.61: A sample input file (e.g., adaptive_zone_bin_temp.in) showing variable temperature bin
sizes for adaptive zoning.
22.7.3 Emissions Modeling - emissions.in
you must include both a combust.in file and an emissions.in file. Table 22.53 below describes
the parameters in emissions.in . Figure 22.62 shows an e xample file. Chapter 13 - Emissions
NO x model,
1 = Extended Zel'dovich NOx model.
0 =Default Equilibrium,
1 =Partial Equilibirium,
required).
prompt NO x model.
NO X.
(s bar 0 .5
)).
species.
(phenom_soot_flag= 3).
solver) ,
4 = passive PSM model (soot is calculated
solver).
submodel ,
1 = Activate detailed soot condensation
submodel (required if detailed_soot_flag is
non-zero).
ag inemissions.in pm_alpha_corrector
( for the
ALP A_FACTOR_D
H is required).
pm_surface_growth_factor Soot dependence for the PM model 2.25 for diesel fuel cases
surface reactions.
pm_alpha_corrector Fraction of sites on soot surface available 3e-1 for diesel fuel cases
surface reactions.
nm psm_biggestsoot_diameter
to for the
nm
in the range of 40 to
psm_biggestsoot_diameter .
,
phenomenological PM or PSM models.
soot model
(e.g., mech.dat) .
#!csi_version=2.4
#================
1 nox_thermal_flag
0 nox_thermal_rate_flag
0 nox_radical_model
0 nox_prompt_flag
1.2 nox_prompt_equiv_ratio
1.533 nox_scaling_factor
######################################################
1 hiroy_soot_flag
500 hiroy_asf
12500 hiroy_esf
2.5e-6 hiroy_diam
3.0 hiroy_oxid_factor
2.0 hiroy_density
0 hiroy_form_flag
#######################################################
1 phenom_soot_flag
2000 phenom_inception_factor
9 phenom_coagulation_factor
0.13 phenom_oh_collision_factor
1.82 phenom_no_oxidation_factor
9e4 phenom_surface_growth_value
#######################################################
# Detailed Two-Way Coupled Soot Models
0 detailed_soot_flag
0 detailed_soot_condensation_flag
0 detailed_soot_alpha_corrector_flag
#######################################################
2 pm_num_moments
2.25 pm_surface_growth_factor
0.3 pm_alpha_corrector
#######################################################
20 psm_num_sections
5 psm_num_subsections
2.0 psm_surface_growth_factor1
2.25 psm_surface_growth_factor2
0.95 psm_alpha_corrector1
0.3 psm_alpha_corrector2
1e-7 psm_biggestsoot_diameter
#######################################################
1 custom_soot_precursor_flag
1 num_soot_precursor
a4 precursor species
c2h2 precursor species
Figure 22.62: An example emissions.in file.
Passive NOx rate - passive_nox_rate.dat
CONVERGE automatically assigns a default reaction rate for NO x formation. However ,
you can specify the reaction rates by setting nox_thermal_rate_flag = 1 in emissions.in and
including a passive_nox_rate.dat file in the Case Directory . Figure 22.63 shows an e xample
passive_nox_rate.dat file.
FOR3 4.1e13 0 0
REV3 2e14 0 23650.0
Figure 22.63: An example passive_nox_rate.dat file.
22.7.4 Turbulence Modeling - turbulence.in
Tables 22.55 and 22.56 list typical values for some parameters in k- and k- models ,
respectively. Figure 22.64 shows an example file. Chapter 15 - Turbulence Modeling
RANS_K_EPS_V2F = v2 -f model,
RANS_K_EPS_ZETAF =-f model ,
RANS_K_OMEGA_STD_98 = Standard k-omega
1998 ,
komega_clim Eddy viscosity constant limit for standard k- 2006. Typically 0.875.
komega_rpr_tke_outer Outer reciprocal tke Prandtl number for k- SST models. Typically 1.0.
komega_rpr_omega_outer Outer reciprocal omega Prandtl number for k- SST models. Typically
0.856.
ddes_komegasst_cdes Model constant for DDES and IDDES models. Typically 0.78.
ddes_komegasst_cdes_oute Model constant for DDES and IDDES models. Typically 0.61.
ddes_komegasst_cd2 Model constant for DDES and IDDES models. Typically 3.0.
les_rpr_tke Reciprocal tke Prandtl number for one-equation LES models. Typically 1.0.
les_c_tke_visc LES turbulent viscosity model constant. Typically 0.05 for the one-equation
eddy viscosity and consistent dynamic structure models 0.5 for the ,
,
dynamic structure model and 0.1 to 0.2 for the Smagorinsky model.
les_c_eps LES dissipation rate model constant. Used for one-equation LES models.
Typically 1.0.
#Wall modeling
heat_model 0 = Amsden ,
1 = Han and Reitz ,
2 = Angelberger,
3 = GruMo-UniMORE.
models.
#Turbulence statistics
turb_stat_start_time The start time ( seconds crank_flag = , crank angle degrees crank_flag =
if 0 if 1 or
turb_stat_end_time The end time ( seconds crank_flag = , crank angle degrees crank_flag =
if 0 if 1 or
#!csi_version=2.4
#=======================
RANS_K_EPS_REAL turbulence_model
0.012 keps_rng_beta
4.38 keps_rng_eta0
0 keps_near_wall_treatment
# Wall modeling
0 wall_dist_flag
0 heat_model
0.42 law_kappa
5.5 law_c
# Turbulence Statistics
0 turb_stat_flag
-999999 turb_stat_start_time
-999999 turb_stat_end_time
0.0001 turb_stat_tol
In CONVERGE , you can have sources and sinks for energy , momentum , turbulent kinetic
energy , dissipation , species , passive scalars , and porous media. To model sources , set
source_flag = 1 in inputs.in and include a source.in file. Table 22.57 describes below describes
source_unit_volume Source value per unit volume per time. Used only when source_type = 0. Not
value/ m -s
3
(passive).
source_value Total source value (when steady_solver = 0 in inputs.in ) or total source value
per unit time (when steady_solver = 1). For all non-ENERG Y sources , used
Total source value units: J (ENERG Y), kg-m s / (U-E Q, V-E Q, W-E Q), kg-m s 2
/
2
(TKE) , kg-m s 2
/
3
(EPS) , kg ,
(species) source value (passive).
Total source value per unit time units: J/ s (ENERG Y), kg-m s2 / (U-E Q, V-E Q,
W-EQ), kg-m /s kg-m s kg s s
2 3 (TKE) , 2
/
4
(EPS) , / (species) , source value/
(passive).
the name of the file that contains pressure trace data. For ENERG Y sources ,
when source_type = 3 the source_value parameter gives the name of the file
Temporal type SE QU ENTIAL, PERMANENT or CYCLIC . For CYCLIC, the period must
follow.
Parameter Description
source_start_time Start time for source/sink ( s CAD
or ).
max_value Ma ximum value that solution variable associated with a source can attain.
Not used when source equation is POROUS. Units: temperature K (ENERG Y),
absolute value of velocity ms / (U-E Q, V- EQ, W-EQ), m s 2
/
2
(TKE) , m s 2
/
3
(EPS) ,
mass fraction (species) ma, ximum passive value (passive).
line source.
circle source.
Parameter Description
moving_flag 0 = Source is not moving ,
1 = Source is moving at a specified velocity ,
2 = Source is moving with the flow.
max_displace Ma ximum distance that the source can move. Used only when moving_flag
= 1.
source_temp Temperature ( K ) for the species source. Used only for species sources.
NOTE: This velocity is not relative to the velocity of the source shape that is
POROUS sources.
POROUS sources.
POROUS sources.
POROUS sources.
is_directional_flag 0 = Isotropic (only alpha_coeff and beta_coeff are used for calculating
velocity) ,
1 = Orthrotropic ( alpha_coeff, alpha_cross_coeff, beta_coeff, and beta_cross_coeff
are used for calculating velocity).
conductive_porosity The porosity used to calculate effective thermal conductivity (used only
Parameter Description
solid_conductivity The solid conductivity used to calculate effective thermal conductivity
#!csi_version=2.4
#=======================
#######################
###Energy-Box Source###
#######################
ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-14.5
50000
BOX
-0.0038 0.0 0.0079
0.0005 0.0005 0.0012
0
1.0 2.0 3.0
0.005
0
0.5
##########################
###Energy-Region Source###
##########################
ENERGY
2
8.0e11
pressure.in
CYCLIC 720
-50.0
120.0
50000
REGION
0
########################
###Energy-Line Source###
########################
ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-5.0
50000.0
LINE
-0.00388 0.0 0.008449
-0.00388 0.0 0.007386
10
2
0.0 0.0 0.0
0.0007
2
0.5
##########################
###Energy-Circle Source###
##########################
ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-5.0
50000.0
CIRCLE
-0.00 0.0 -0.001
0.0025
0.0 0.0 -1.0
10
2
1.0 2.0 3.0
0.0007
2
0.5
#############################
###Species-Cylinder Source###
#############################
H2O2
1
8.0e11
20.e-4
CYCLIC 720
-250.0
-245.5
1.0
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0
0.5
###################################
#Source in X-Momentum (Cylinder)###
###################################
U-EQ
1
8.0e11
20.e-3
CYCLIC 720
-250.0
-245.5
50000
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0
0.5
###########################
###TKE Source-(Cylinder)###
###########################
TKE
1
8.0e11
20.e-3
CYCLIC 720
-250.0
-245.5
50000
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0
0.5
####################################
#Source in Porous Media(Cylinder)###
####################################
POROUS
300.0
10000.0
300.0
10000.0
1
1.0 0.0 0.0
0
0.7
20.0
CYCLIC 720
-250.0
-245.5
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
1
1.0 2.0 3.0
0.005
0
0.5
Figure 6.1: An example source.in file.
To activate the volume of fluid (VOF) method , set vof_flag = 1 in inputs.in and include a
vof.in file. Table 22.58 describes below describes the parameters in vof.in . Figure 22.65
shows an e xample file. Chapter 16 - Volume of Fluid Modeling describes the VOF-related
parameters in detail.
interface.
contact_angle The contact angle (in degrees ) that the fluid is assumed to 100
therm.dat ).
dissolved gas ,
Name of gas species dissolved gas passive name Henry , N/A
information ,
constant and time-scale (all on one line). Repeat this
species).
#!csi_version=2.4
#=======================
0 vof_model
300 ref_temp
100000 ref_pres
1 wall_adhesion_flag
100 contact_angle
1 cavitation_flag
3.87e-7 theta_0
5000 condensation_time_factor
1.0e-5 psi_vof_min
-0.54 power_alpha
-1.76 power_phi
ic8h18 cav_liquid
c8h18 cav_gas
0 vof_spray_flag
1 dissolved_gas_flag
C7H16 CYLINDER 0.001 0.1
Figure 22.1: An example vof.in file that includes cavitation and wall adhesion modeling.
If vof_spray_flag = , 1 you must include vof_spray.in . This file specifies how CONVERGE
will write the vof_spray.out file , which can be used for VOF-spray one-way coupling.
#!csi_version=2.4
#=======================
1e-09 twrite_vof_spray
0 1 vof_spray_regions
0 2 vof_spray_regions
Figure 22.2: An example vof_spray.in file.
include a supercycle.in file. Table 22.60 below describes the parameters in supercycle.in .
cycle model.
supercycle_cflk CFL number for solid sensible internal energy (sie) 100.0
solver.
supercycle_energy_tol Sensible internal energy tolerance for the solver in the 1.0e-07
calculation.
supercycle_length ,
If negative CONVERGE uses a steady-state solver to -1.0
,
If positive CONVERGE uses a transient solver and
time-accurate solution.
super-cycle sequence.
#!csi_version=2.4
#=======================
0.0275 supercycle_start_time
0.0025 supercycle_stage_interval
1 supercycle_num_stages
100.0 supercycle_cflk
1.0e-7 supercycle_energy_tol
1.4 supercycle_energy_omega
-1.0 supercycle_length
11 supercycle_num_points
0.0 0.0 0.5e-3
3.0e-3 0.0 0.5e-3
6.0e-3 0.0 0.5e-3
9.0e-3 0.0 0.5e-3
12.0e-3 0.0 0.5e-3
15.0e-3 0.0 0.5e-3
21.0e-3 0.0 0.5e-3
27.0e-3 0.0 0.5e-3
33.0e-3 0.0 0.5e-3
39.0e-3 0.0 0.5e-3
45.0e-3 0.0 0.5e-3
Figure 22.65: An example supercycle.in file.
Surface Duplication for CHT - supercycle_surface_map.in
To activate surface duplication for heat transfer mapping ( e.g., cylinder duplication for a
supercycle_surface_map.in file in the Case Directory. Table 22.61 describes below describes
tot_num_slaves Total number of duplicate cylinders (for all of the main cylinders
model and have boundary data mapped from the main cylinder.
bound_id The boundary IDs of the boundaries making up the current main
cylinder.
cylinder.
mirror_plane Equation for the mirror plane that reflecting the duplicate cylinder
mirror plane ( ax by cz d =
+ + + 0).
rot_angle Angle with which to rotate the duplicate cylinder in the counter-
clockwise direction.
,
main to duplicate regardless of the transformation.
forced_pairs ,
The main boundary ID the duplicate boundary ID the main ,
cylinder inde x, and the duplicate cylinder index. CONVERGE
determines cylinder indices based on the order in which you list
them in supercycle_surface_map.in .
#!csi_version=2.4
#================
# map the htc and temp for the surfaces of the slave cylinders to the master cylinder
1 tot_num_masters
1 tot_num_slaves
1 tot_num_master_boundaries
#####master cylinder 1#########################
1 num_boundaries
6 bound_id #Head #51
#####slave cylinder 1############################
1 num_slaves
#slave 1
0.0 trans_x
-2.0 trans_y
0.0 trans_z
0.0 rot_angle
0.0 0.0 0.0 orig_xyz
0.0 0.0 0.0 vector_xyz
#slave 2
#0.0 trans_x
#-2.0 trans_y
#0.0 trans_z
#0.0 rot_angle
#0.0 0.0 0.0 orig_xyx
#0.0 0.0 0.0 vector_xyz
0 num_forced_pairs
#9 303 0 0 forced_pairs
#109 209 0 0 forced_pairs
#111 210 0 0 forced_pairs
#15 305 0 0 forced_pairs
Figure 22.66: An example supercycle_surface_map.in file.
22.7.8 1D Conjugate Heat Transfer - cht1d.in
CONVERGE requires you to configure the cht1d.in file when you set up a WALL boundary
type with the 1D CHT model in conjunction with the temperature boundary condition.
Note that you can use 1D CHT only with a law-of-the-wall or Dirichlet temperature
boundary condition. Table 22.62 describes the parameters in cht1d.in . Figure 22.8 below
shows a sample cht1d.in file. Repeat the entire set of parameters in cht1d.in for any
boundary_id The boundary ID of the boundary on which CONVERGE will model 1D CHT.
htc_scale_factor Heat transfer coefficient scaling factor. The recommended value is 1.0.
num_solid_layers Number of solid layers between the fluid and the bulk solid. There should be
contact_resistance ).
solid_layer_species Species name of the solid layer between the fluid and the bulk solid. The
in num_solid_layers.
num_sub_layers Number of sub-layers into which CONVERGE divides the solid layer.
num_solid_layers.
contact_resistance Thermal contact resistance (in m2K W
/ ) between the solid layer and the solid
,
spatially varying quantities a file name in quotation marks ( e.g.
" solid_bulk_temp.in" ).
#!csi_version=2.4
#================
8 boundary_id
1.0 htc_scale_factor
2 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
metal2 solid_layer_species
5.5e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
525.0 solid_bulk_temp
9 boundary_id
1.0 htc_scale_factor
1 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
3 num_sub_layers
0.0 contact_resistance
525.0 solid_bulk_temp
10 boundary_id
1.0 htc_scale_factor
1 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
"solid_bulk_temp.in" solid_bulk_temp
Figure 22.67: An example cht1d.in file.
file in the Case Directory. Table 22.63 describes the parameters in solid_bulk_temp.in .
scale_xyz Scaling to be applied to the x, y, and z coordinates of the solid bulk temperature
,
temperature profile before translating it so the trans_x units should be
rot_axis Axis about which the coordinates and velocity of the data below will be rotated.
rot_angle Rotation angle (in degrees) about the rot_axis.Use the right hand rule to
bulk_solid_temp Specify xyz for this entry. Each subsequent line should contain a location ( x, y,
z coordinates) followed by the solid bulk temperature (in K ) at that location.
#!csi_version=2.4
#================
SPATIAL
1.0 scale_xyz
-0.0 trans_x
-0.0 trans_y
-0.0 trans_z
z rot_axis
0.0 rot_angle
0.0 second
x y z bulk_solid_temp
-2e-2 0.0 1e-2 341.54
0.0 1.0 1e-2 400.00
2e-2 1.0 1e-2 598.71
Figure 22.68: An example of a file (e.g., solid_bulk_temp.in) that contains a spatially varying solid
bulk temperature profile.
inputs.in and include an fsi.in file in the Case Directory. Table 22.64 below describes the
parameters in fsi.in
. Note that most of the parameters in this file are repeated for each FSI
ob ect_id
j A string used to identify an FSI object. For GT-SUITE/FSI coupling ,
the ob ect_id
j must match the name given in GT-SUITE.
num_boundaries Number of boundaries that belong to the FSI object identified above by
the ob ect_id
j .
simulation.
CAD crank_flag
if = 1 or 2).
center_of_mass_flag 0 = CONVERGE will use the geometric center of the FSI object as the
center of mass. Use for uniform density FSI objects. CONVERGE will
1 = CONVERGE will offset the geometric center of the FSI object by the
distance and amount specified by center_of_mass (see below) to
determine the center of mass. Use for FSI objects with non-uniform
density.
density.
0 = CONVERGE will calculate the mass of the object after reading the
ob ect_mass
j Mass ( kg ) of the FSI object. Used when mass_flag = 1.
ob ect_density
j Uniform density ( kg m3/ ) of the FSI object. Used when mass_flag = 0.
ob ect_vel_init
j , ,
Initial velocity (u v w) of the FSI object. Units are m sec/ .
ob ect_rot_vel_init
j Initial angular velocity ( rad sec / ) about the a xis given by
rot_vel_init_axis Initial a xis vector ( x, y, z) for rotation for the FSI object.
applied_moment_axis The a xis (x, y, z) about which the applied_moment (see above) is
applied.
assumed).
moment_of_inertia User-supplied input for the first row of moment of inertia tensor. Used
moment_of_inertia User-supplied input for the second row of moment of inertia tensor.
moment_of_inertia User-supplied input for the third row of moment of inertia tensor.
1dof_constraint_flag 0 = The FSI object will have six degrees of freedom (three for
axis The a xis vector ( x, y, z) for defining the rotational a xis. Used when
1dof_constraint_flag = 1 or 2.
constrained cases.
If 1dof_constraint_flag = , 1 m 1dof_constraint_flag =
units are . If 2 , units
are degrees .
inertia.
entered here.
#!CONVERGE_VERSION=2.4
#=====================
1 # Number of objects
#---------------------------------------------
# fsiobject3
#---------------------------------------------
fsiobject3 object_id
2 num_boundaries
2 boundary_id
1 boundary_id
0 gti_fsi_flag
-999999.0 fsi_start_time
0 center_of_mass_flag
0.0 0.0 0.0 center_of_mass
0 mass_flag
0.0 object_mass
8000.0 object_density
0.0 0.0 -1.0 object_vel_init
0.0 object_rot_vel_init
0.0 0.0 0.0 rot_vel_init_axis
0.0 0.0 0.0 applied_force
0.0 applied_moment
0.0 0.0 0.0 applied_moment_axis
0 moment_of_inertia_flag
0.0 0.0 0.0 moment_of_inertia
0.0 0.0 0.0 moment_of_inertia
0.0 0.0 0.0 moment_of_inertia
0 1dof_constraint_flag
0.0 0.0 0.0 axis_point
0.0 0.0 0.0 axis
-1e+38.0 min_displacement
1e+38.0 max_displacement
1.0 constrained_mom_of_inertia
#---------------------------------------------
# forces and events options
#---------------------------------------------
1 spring_flag
1 stiction_flag
1 fsi_events_flag
Figure 22.69: An example fsi.in file.
#!csi_version=2.4
#=======================
TEMPORAL
SEQUENTIAL
second fx fy fz
0 0.0 0.0 0
0.000001 0.0 0.0 0
0.000002 0.0 0.0 0
0.000003 0.0 0.0 0
0.000004 0.0 0.0 0
0.000005 0.0 0.0 0
0.000006 0.0 0.0 0
0.000007 0.0 0.0 0
0.000008 0.0 0.0 0
0.000009 0.0 0.0 0
0.00001 0.0 0.0 0
0.000011 0.0 0.0 0.000982848
0.000012 0.0 0.0 0.001281136
0.000013 0.0 0.0 0.001618892
0.000014 0.0 0.0 0.001996108
0.000015 0.0 0.0 0.002412784
.
.
.
Figure 22.70: An excerpt of an example fsi_force.in file.
FSI Spring Model - spring.in
To activate the FSI spring model , set spring_flag = 1 in fsi.in and include a spring.in file in
the Case Directory. Table 22.65 below describes the parameters in spring.in. Figure 22.71
fsi_ob ect_name
j ,
A string used to identify an FSI spring object corresponding to FSI
zero.
detachment_distance Distance from detached end of spring to FSI object (only used if
detached_flag = 1).
num_sub_springs Number of sub-spring objects used to represent the fact that the
zero_angle_direction Unit vector pointing along zero a xis for sub-spring coordinate system.
num_sub_springs ).
#!CONVERGE_VERSION=2.4
#=====================
1 num_spring_objects
#---------------------------------------------
# Spring_force_1
#---------------------------------------------
fsiobject3 fsi_object_name
1.0 spring_constant
1.0 damping_constant
1.0 initial_deformation
0 detached_flag
0.0 detachment_distance
0.0 0.0 0.0 end_position_fsi
0.0 0.0 0.0 end_position_fixed
2 num_sub_springs
0.0 0.0 0.0 zero_angle_direction
0.0 0.0 radius_angle
0.0 0.0 radius_angle
Figure 22.71: An example spring.in file.
FSI Stiction Model - stiction.in
To activate the FSI stiction model , set stiction_flag = 1 in fsi.in and include a stiction.in file in
the Case Directory. Table 22.66 below describes the parameters in stiction.in . Figure 22.72
fsi_ob ect_name
j A string used to identify an FSI object subject to this stiction force ,
corresponding to FSI object name in fsi.in
.
positive.
#!CONVERGE_VERSION=2.4
#=====================
1 num_stiction_forces
#---------------------------------------------
# Stiction_force_1
#---------------------------------------------
fsiobject3 fsi_object_name
1 stiction_model
1.0 stiction_force
1e-05 stiction_distance
1.0 0.0 0.0 stiction_direction
Figure 22.72: An example stiction.in file.
FSI Events - fsi_events.in
To activate the FSI events option , set fsi_events_flag = 1 in fsi.in and include a fsi_events.in
file in the Case Directory. Table 22.67 below describes the parameters in fsi_events.in.in .
fsi_ob ect_name
j A string used to identify the FSI object subject to this event ,
corresponding to FSI object name in fsi.in .
direction Unit vector along which motion takes place during the FSI event.
#!CONVERGE_VERSION=2.4
#=====================
1 num_fsi_events
#---------------------------------------------
# FSI_event_1
#---------------------------------------------
fsiobject3 fsi_object_name
0 region_id_a
0 region_id_b
1e-06 displacement_open
1e-06 displacement_close
1.0 0.0 0.0 direction
Figure 22.73: An example stiction.in file.
22.7.10 Surface Chemistry - surface_chemistry.in
inputs.in and include a surface_chemistry.in file in the Case Directory. Table 22.68 describes
porous medium that is specified as a region in initialize.in . Note that , for each boundary or
porous region on which surface chemistry modeling will occur , surface_chemistry.in must
Surface chemistry on a porous surface can only be performed by region and not by
boundary. For each porous region on which you wish to activate surface chemistry
type surfchem_start_time
, and
dependent and
surface_chemistry_region.in must be
CYCLIC CYCLIC,
. For the period must
follow.
not PERMANENT.
PERMANENT.
activation.
solver.
solver.
chemistry only.
occur.
is required if
num_surfchem_boundaries is greater
ions
region_id Region ID for a region included in the N/A
required if num_porous_regions is
will occur.
ratios.
volume_ratio volume ( m -1
). This value is used only
in porous media.
or_flag parameters),
1 = Constant (specify
constant_effectiveness_factor ).
,
region or boundary and all washcoat
effectiveness_factor_flag= 0.
species_diffusion_model =1 in
inputs.in .
t
washcoat_species The single gas phase species that Default: O2
calculation.
#!csi_version=2.4
#====================
0 surfchem_region_flag
SEQUENTIAL
0.0 surfchem_start_time
999.0 surfchem_end_time
300 surfchem_temp_cutoff
1e-8 surfchem_rel_tol
1e-20 surfchem_abs_tol
1.0 surfchem_reaction_multiplier
0 surfchem_porous_vol_units_flag
1 num_surfchem_boundaries
5 boundary_id
1 num_catalytic_species
RH_S1 1.0
1.0 surface_area_to_volume_ratio
70.0 catalytic_geometric_area_ratio
2 effectiveness_factor_flag
1.0 constant_effectiveness_factor
0 diffusion_model
4.0 knudsen_constant
CO washcoat_species
0.279 washcoat_porosity
3.0 washcoat_tortuosity
1e-4 washcoat_thickness
1.2e-8 washcoat_pore_diameter
Figure 22.74: An example surface_chemistry.in file.
when the surface chemistry model is region-dependent. CONVERGE reads this file when
surface_chemistry_region.in .
#!csi_version=2.4
#===================
1 region_id
SEQUENTIAL period for cyclic type
0 surfchem_tstart SURFCHEM start time
1.0 surfchem_tend SURFCHEM end time
3 region_id
SEQUENTIAL period for cyclic type
0.05 surfchem_tstart SURFCHEM start time
1.0 surfchem_tend SURFCHEM end time
Figure 22.75: Sample of a surface_chemistry_region.in file.
place holders for empty sites. The file format is similar to that described in the therm.dat
Input File section in Chapter 9 Physical Properties and Reaction Mechanisms. Figure
THERMO
300.0 1000.0 3000.0
OH_S 92491O 1H 1Pt 1 I 300.00 3000.00 1000.00
0.18249973E+01 0.32501565E-02-0.31197541E-06-0.34603206E-09 0.79171472E-13
-0.26685492E+05-0.12280891E+02-0.20340881E+01 0.93662683E-02 0.66275214E-06
-0.52074887E-08 0.17088735E-11-0.25319949E+05 0.89863186E+01
Pt Pt 1 S 300.0 3000.0 1000.0
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
.
.
.
END
Figure 13.35: Excerpt of a surface_therm.dat file.
Note that surface_therm.dat must be in NASA 7 format. In Figure 13.35 , the gas species is
OH_S and the open site species is Pt. List the number of sites each empty site occupies on
the surface in place of an element for that species. Use I to denote a gas species and S
to denote an empty site.
format. Note that the names insurface_mech.dat must be consistent with the names in
surface_therm.dat surface_mech.dat
. CONVERGE does not list elements in . List all species
,
related to surface chemistry , mech.dat
such as the empty site species in .
!MATERIAL CATALYST
SITE/1/SDEN/2.7063E-9/
C3H6_S/2/ PT_S/1/ H_S/1/ O_S/1/ OH_S/1/
H2O_S/1/ CH3_S/1/ CH2_S/1/ CH_S/1/
C_S/1/ CO_S/1/ CO2_S/1/
END
REACTIONS JOULES/MOLE
H2 + 2PT_S => 2H_S 4.4579E+10 0.5 0.0
FORD/PT_S 1/
2H_S => H2 + 2PT_S 3.70E+21 0.00 67400.0
COV/H_S 0.0 0.0 -6000.0/
O2 + 2PT_S => 2O_S 1.80E+21 -0.5 0.0
DUPLICATE
O2 + 2PT_S => 2O_S 0.023 0.00 0.00
MOTZ-WISE-STICK
DUPLICATE
H2O + PT_S => H2O_S 1.00 0.0 0.0
STICK
END
Figure 13.36: Excerpt of a surface_mech.dat file.
As shown in Figure 13.36 above , surface_mech.dat lists the surface density and species
before the reactions. In the first row , SITE/1/SDEN/2.7063E-9/ , the last number is the
surface site density ( mol cm2 / ). Note the format of this line , including the / symbols. This
line cannot contain spaces. Below the first row , list the surface species. The surface species
By default , the site occupancy for each surface species listed in surf ce_mech.dat
a is one. If
the species has a site occupancy of two or more , include / after the name of the species ,
followed by the site occupancy for that species and then /. Figure 13.36 above shows an
e xample, C3H6_S/2/ , of a species with a site occupancy of two. Specify the end of the list
The ne xt section specifies the reactions at the surface sites. The first line contains the
chemistry options by including optional keywords after the units on this line. The keyword
SURF_SP_UNIT will force the rate calculation to use coverage (a percentage , unitless )
e xpect SI units for the gaseous species (otherwise , it conforms to the CHEMKIN format).
In surface_mech.dat, you can specify several reaction option keywords: COV for coverage
dependent , STICK for sticking probability , and MOTZ-WISE for the Motz-Wise correction ,
as well as REV , FORD , USER and DUP , which are described in Chapter 9 Physical
Specify the coverage-dependent parameter after the reaction by adding a row with the
keyword COV/ , such as COV/H_S 0.0 0.0 -6000.0/ in Figure 13.36 above. After
COV/ , you must list the species name ( e.g., H_S) ; the three coverage parameters -
ji , ji , and ji
- in order ; and then close the statement with /.
To use the sticking parameter , add a row with the keyword STICK after the reaction , as
shown in Figure 13.36. To use the MOTZ-WISE correction with the sticking reaction
STICK can be used with the COV reaction option , but each keyword needs to be on a new
row.
Note that you can include only one surface_mech.dat file per simulation.
include a radiation.in file in the Case Directory. In addition , you must define two non-
Table 22.69 below describes the parameters in radiation.in . Figure 22.76 shows an e xample
file. Chapter 18 - Radiation Modeling describes the radiation-related parameters in detail.
anisotropic cases).
0 = decoupled,
1 = coupled.
Parameter Description
rad_solve_frequency CONVERGE solves radiation every rad_solve_frequency time-steps. For
,
a transient case 10 may be appropriate. For a steady-state case 50 ,
may be appropriate.
0 = No scattering,
1 = Isotropic scattering,
2 = Linear anisotropic scattering,
3 = Delta-Eddington model,
4 = UDF.
0 = Gray gas ,
1 = Weighted Sum of Gray Gases ,
2 = Band model of gray gas.
num_spectral_bands Number of spectral bands for gray gases. Only used when
nongray_model = 2.
num_rad_boundaries Number of boundaries for which you will specify bound_id through
temperature energy_solver_flag =
(if 1 or 2) or irradiance (if
energy_solver_flag = 0).
thermal radiation.
Parameter Description
irradiance Irradiance (in W m2/ ) on the boundary specified by bound_id . Only
,
domain. If this parameter is set to a non-zero value then you must
region_id If num_rad_regions ,
is non-zero then you must provide the region
region_id .
#!csi_version=2.4
#================
0 radiation_model
3 num_theta
3 num_phi
5 num_theta_pix
5 num_phi_pix
0 rad_spray_coupling_flag
1.0 parcel_emissivity
0 rad_energy_coupling_flag
10 rad_solve_frequency
0 scatter_function
1.0 aniso_constant
1.0 de_constant
0.0 scatter_coef
0.5 absorption_coef
1.0 refractive_index
0 nongray_model
1 num_gray_gases
1 num_spectral_bands
0.000001e-6 5.0e-6 0.15 0.35 band_properties
# Boundary info
3 num_rad_boundaries
1 boundary_id
0.0 emissivity
1.0 diffuse_fraction
temperature bc_type
0.0 irradiance
2 boundary_id
1.0 emissivity
1.0 diffuse_fraction
temperature bc_type
0.0 irradiance
3 boundary_id
1.0 emissivity
1.0 diffuse_fraction
temperature bc_type
0.0 irradiance
# Region info
1 num_rad_regions
0 region_id
Figure 22.76: An example radiation.in file.
22.7.12 Nucleate Boiling Model - nucleate_boiling.in
Use the nucleate_boiling.in file to specify parameters for the Rohsenow correlation used in
Enter the saturation temperature (in K ) of the liquid that will e xperience nucleate boiling.
Enter the vapor density of the same liquid when it transforms to the vapor phase. Ne x t,
specify the constant Csf . This constant depends on the surface-fluid combination at which
nucleate boiling will occur. Finally , enter the nucleate boiling e xponent (given by m in the
Table 22.70 below describes the nucleate_boiling.in file. Figure 22.8 shows an example
nucleate_boiling.in file.
vapor_density Density of the vapor phase of the liquid that e xperiences nucleate boiling.
#!csi_version=2.4
#================
381.15 saturation_temp
0.804 vapor_density
0.013 C_sf
0 nb_exponent
Figure 22.77: An example nucleate_boiling.in file.
22.8 Grid Control Input Files
This section describes the input files that contain information about controlling the grid for
To direct CONVERGE to adjust the base grid size ( dx_base, dy_base, and dz_base in
inputs.in ) as a function of time , specify a file name ( e.g., gridscale.in ) for grid_scale in
Table 22.71 describes the format of a grid scale file , and Figure 22.78 shows an e xample
file.
crank_flag = gridscale_value
1 or 2) at which the will be
applied.
gridscale_value An integer that coarsens or refines the grid via the -3 to +3.
following equation:
progresses.
#!csi_version=2.4
#=======================
3 num_gridscale
-147.1 gridscale_time
-2 gridscale_value
-15 .1 gridscale_time
-1 gridscale_value
-9.6 gridscale_time
0 gridscale_value
Figure 22.78: An example gridscale.in file.
22.8.2 Adaptive Mesh Refinement - amr.in
Adaptive Mesh Refinement (AMR) automatically refines the grid based on fluctuating and
moving conditions such as temperature and velocity. To enable AMR , set amr_flag = 1 in
inputs.in and include the amr.in file in the Case Directory. Table 22.72 describes the
You can repeat the AMR settings (the entire block of parameters from amr_num_regions
through amr_passive_end_time ) as many times as desired. After the last instance of
amr_passive_end_time, you must include the boundary AMR parameters. If you are not
using the boundary AMR feature , the last line of the file can be as follows:
0 amr_num_bounds
In this case , you do not need to include the parameters that follow amr_num_bounds .
(e.g., amr_cycle_steady.in ).
#AMRGroup
amr_num_regions rows.
#####Velocity#####
AMR.
domain.
seconds crank_flag =
(in if inputs.in 0 in
PERMANENT.
via AMR.
#####Temperature#####
temperature AMR.
Temporal type and period Specify whether the velocity AMR is N/A
seconds crank_flag =
(in if inputs.in 0 in
PERMANENT.
PERMANENT.
fraction AMR.
Temporal type and period Specify whether the velocity AMR is N/A
seconds crank_flag =
(in if inputs.in 0 in
PERMANENT.
PERMANENT.
AMR.
species_name through
NOT_ SEDU .
domain.
Temporal type and period Specify whether the velocity AMR is N/A
seconds crank_flag =
(in if inputs.in 0 in
PERMANENT.
AMR.
passive_name through
NOT_ SED.
U
Temporal type and period Specify whether the velocity AMR is N/A
seconds crank_flag =
(in if inputs.in 0 in
PERMANENT.
parameters through
amr_boundary_number through
AMR.
PERMANENT, SE ENTIAL, QU or
CYCLIC . CYCLIC,
If the period (in
amr_yplus_restrict_boundary_id through
,
than this value the AMR on that cell
will be removed.
,
and this ratio the AMR on that cell 30 - 300
near_wall_treatment_flag = 2
or = 3: ~1
CYCLIC . CYCLIC,
If the period (in
PERMANENT.
#!CONVERGE_VERSION=2.4
#=======================
100 amr_cycle_steady
1.5e+06 amr_max_cells
1 amr_min_cells
#=============================================
# AmrGroup 1
#---------------------------------------------
2 amr_num_regions
0 amr_active_region
3 amr_active_region
##### Velocity #####
1 amr_vel_flag
3 amr_vel_embed_scale
1.0 amr_vel_sgs_embed
PERMANENT
-999999.0 amr_vel_start
-999999.0 amr_vel_end
50 amr_parcel_embed
##### Temperature #####
1 amr_temp_flag
3 amr_temp_embed_scale
2.5 amr_temp_sgs_embed
CYCLIC 720
-17.0 amr_temp_start
131.0 amr_temp_end
##### Void fraction #####
0 amr_void_flag
3 amr_void_embed_scale
0.001 amr_void_sgs_embed
PERMANENT
-999999.0 amr_void_start
-999999.0 amr_void_end
############# Species data #############
1 amr_species_flag
2 amr_species_embed_scale
1 amr_num_species
N2 species_name
1.0e-6 amr_species_sgs_embed
PERMANENT
0.0 amr_species_start
10.0 amr_species_end
############# Passive data #############
1 amr_passive_flag
2 amr_passive_embed_scale
1 amr_num_passive
INTAKE passive_name
1.0e-6 amr_passive_sgs_embed
SEQUENTIAL
0.0 amr_passive_start
10.0 amr_passive_end
#=============================================
# Boundary data
#---------------------------------------------
1 amr_num_bounds
##### Amr Boundary 1 #####
0 amr_boundary_number
3 amr_boundary_embed_scale
30.0 amr_boundary_yplus
SEQUENTIAL
-999999.0 amr_boundary_start
-999999.0 amr_boundary_end
#=============================================
# No Boundary AMR data
#---------------------------------------------
1 amr_yplus_restrict_num_boundaries
##### Release Boundary 1 #####
0 amr_yplus_restrict_boundary_id
30 amr_yplus_restrict_yplus_target
0.33333 amr_yplus_restrict_yplus_ratio
SEQUENTIAL
-999999.0 amr_yplus_restrict_start
-999999.0 amr_yplus_restrict_end
anembedded.in file in the Case Directory. Table 22.73 and Figure 22.80 below describe the
embedded.in file.
boundary_id
D
Boundary ID specified in boundary.in.
embed_start Start time of boundary embedding. CONVERGE ignores this parameter if the
embed_end_t End time of boundary embedding. CONVERGE ignores this parameter if the
ON
region_id Region identifier where embedding will be applied.
embed_start Start time of region embedding. CONVERGE ignores this parameter if the
embed_end_t End time of region embedding. CONVERGE ignores this parameter if the
embed_start Start time of bo x embedding. CONVERGE ignores this parameter if the temporal
embed_end_t End time of bo x embedding. CONVERGE ignores this parameter if the temporal
x_center
DER
Center of the first end of the embedding cylinder or truncated cone.
radius Radius of the first end of the embedding cylinder or truncated cone.
x_center Center of the second end of the embedding cylinder or truncated cone.
radius Radius of the second end of the embedding cylinder or truncated cone.
embed_start Start time of cylinder embedding. CONVERGE ignores this parameter if the
embed_end_t End time of cylinder embedding. CONVERGE ignores this parameter if the
x_center
RE
Center of the sphere.
embed_start Start time of sphere embedding. CONVERGE ignores this parameter if the
embed_end_t End time of sphere embedding. CONVERGE ignores this parameter if the
J
IN EC embed_type Embedding type.
in ector_no
TOR
j Injector number.
embed_start Start time of injector embedding. CONVERGE ignores this parameter if the
embed_end_t End time of injector embedding. CONVERGE ignores this parameter if the
in ector_no
LE
j Injector number.
embed_start Start time of nozzle embedding. CONVERGE ignores this parameter if the
embed_end_t End time of nozzle embedding. CONVERGE ignores this parameter if the
#!CONVERGE_VERSION=2.4
#=======================
#---------------------------------------------
# Embedding 1
#---------------------------------------------
BOUND embed_type
15 boundary_id
3 embed_scale
2 num_embed
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 2
#---------------------------------------------
REGION embed_type
9 region_id
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 3
#---------------------------------------------
BOX embed_type
0.0 0.0 0.1 x_center
0.06 0.1 0.1 x_size
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 4
#---------------------------------------------
CYLINDER embed_type
0.0 0.0 0.1 x_center
0.06 radius
0.0 0.0 -0.2 x_center
0.06 radius
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 4
#---------------------------------------------
SPHERE embed_type
-0.0034 0.0 0.0091 x_center
0.003 radius
4 embed_scale
CYCLIC 720
-16.0 embed_start_time
0.0 embed_end_time
#---------------------------------------------
# Embedding 5
#---------------------------------------------
INJECTOR embed_type
0 injector_no
0.001 radius
0.002 radius
0.015 length
5 embed_scale
CYCLIC 720
-16.0 embed_start_time
0.0 embed_end_time
#---------------------------------------------
# Embedding 6
#---------------------------------------------
NOZZLE embed_type
0 injector_no
0 nozzle_no
0.002 radius
0.004 radius
0.015 length
4 embed_scale
CYCLIC 720
-485.0 embed_start_time
-265.0 embed_end_time
Figure 22.80: An example embedded.in file.
22.9 Output/Post-Processing Input Files
This section describes the input files that contain output and post-processing parameters
The post.in ,
file which is required for all simulations , specifies which quantities
CONVERGE writes to the binary output files for post-processing and visualization. The
post.in file contains the keywords <cells> and < parcels>, each followed by a list of variables.
Tables 22.74 through 22.83 below list the parameters that you can include in post.in . Note
CONVERGE frequently updates the list of acceptable variables in post.in (for more
information on version-to-version changes , consult the Release Notes). To ensure that you
can use all the variables listed in this section , please install the latest version of
CONVERGE.
CONVERGE saves the binary output files ( post*.out ) to a directory named output, which is
within the Case Directory. After the simulation is complete , use the post_convert utility to
convert the data in the post*.out files to a format that can be used by a visualization
program.
If you change the post.in file prior to restarting a simulation , CONVERGE will create a new
output directory for the restart post files. The new directory will be named output<number>
( e.g., output1 , ) where <number> restart_number
is from inputs.in.
To generate averaged quantities from post*.out files , you must include the following
parameters in the post.in file before starting a simulation: logic_i, logic_ , logic_k, level,
j and
volume .
Table 22.74: Cell property parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description
alpha Cell void fraction. Volume of fluid modeling must be active ( vof_flag = 1 in
inputs.in ).
cav_cond_flag = 1 in vof.in .
div u
Divergence in the cell , i.e., xi .
i
flux_limiter_mom The sum of the flu x limiter values for the momentum equation in the x, y, and
z directions. Ranges from 0-3 , where 3 indicates that flux is not limited in any
direction.
flux_limiter_global The sum of the flu x limiter values for the global equation in the x, ,
y and z
directions. Ranges from 0-3 , where 3 indicates that flu x is not limited in any
direction.
gamma Ratio of specific heats at constant pressure and constant volume in the cell.
grad_p <i>
[ ] Gradient of pressure in the cell in the i -th direction. 1 represents x, 2
,
represents y and 3 represents z.
monotone_upwind Indicates the numerical scheme used in the cell in all three directions
used the
Always 0 or 1.
Table 22.75: Cell geometry and cell location parameters in post.in. These parameters must be
preceded by the keyword <cells>.
Parameter Name Description
area i
[ ] Area of the cell side ( m2 , ) where side is any integer , i. For i, integers 0 through 5
, , , ,
correspond to left right front back bottom or top respectively. , ,
level Cell embed level (0 is for base grid size , positive integers reflect finer resolution ,
negative values reflect coarse resolution of the grid).
xcen direction
[ ] ,
Cell center where direction is any integer 0 , 1 , or 2 corresponding to the x, y, or z
direction respectively.
Table 22.76: Combustion parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description
cmean Progress variable for the ECFM , ECFM3Z , and FGM models. This value ranges
from 0 to 1.
overall_equiv_ratio Overall equivalence ratio (both gas and liquid phase) in the cell.
react_ratio Cell equivalence ratio that does not include CO2 and H2O in the calculation.
reaction_progress Normalized progress variable in the cell for the FGM model. Always 0 if FGM
(combustion_flag = 1 in inputs.in ).
zvar Mi xture fraction variance in the cell for the ECFM ECFM3Z and FGM models. , ,
Table 22.77: Turbulence parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description
cond ,
Cell thermal conductivity including the turbulent component ( W m-K
/ ).
omega s-1
Cell specific turbulence dissipation rate ( )
visc ,
Cell viscosity (dynamic) including the turbulent component ( N m2 s
/ / ).
Table 22.78: Species/passive parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description
massfrac(<species name>) Mass fraction of the species. The species name must match the
,
using the RIF model you can specify in post.in any species included
,
in the mechanism regardless of whether it is a rif_transport_species,
and CONVERGE will provide mass fraction data for that species.
molefrac(<species name>) Mole fraction of species. The species name must match the species
passive(<passive name>) The value of the passive. The passive name contained in the
surfcov(<species name>) Surface coverage fraction of the surface species. The species name
Table 22.79: Boundary/film parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description
attach Number of boundaries attached to the cell.
cell_htc Heat transfer coefficient at a wall boundary given by the heat flu , x divided by the
conv_htc Convective heat transfer coefficient ( W m2K / ) at the fluid wall boundary of the
cell.
film_mfrac(<species Mass fraction of the species. The species name matches mech.dat species.in.
or
name>)
film_temp Cell liquid film temperature ( K ).
cycling.
sc_avg_htc Time-averaged heat transfer coefficient ( W m2K/ ) used as the boundary condition
for super-cycling.
Table 22.80: Detailed soot model parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description
pm_mom0 Zeroth soot moment ( mole of soot per kg of gas) in each cell.
pm_mom1 First soot moment ( mole of soot per kg of gas) in each cell.
models).
models).
soot_mass Soot mass density ( kg m3/ ) in each cell (PM and PSM models).
soot_mf Soot mass fraction in each cell (PM and PSM models).
models).
soot_vf Soot volume fraction in each cell (PM and PSM models).
sootsect_mf PSM soot mass fraction in each section and each cell.
sootsecf_vf PSM soot volume fraction in each section and each cell.
Table 22.81: Physical properties of parcels parameters in post.in. These parameters must be preceded
by the keyword <parcels>.
Parameter Name Description
density Parcel density ( kg m3/ ).
film_area Mass weighted area of the film associated with the parcel.
from_in ector
j Identifies the injector number from which the parcel originates.
from_nozzle Identifies the nozzle number from which the parcel originates.
triangle Identifies the surface triangle(s) that the parcel is associated with.
(urea_flag = spray.in
3 in ).
Table 22.82: Model properties of parcels parameters in post.in.These parameters must be preceded
by the keyword <parcels>.
Parameter Name Description
distant Unitless RT model constant.
tbreak_rt s
Drop breakup time ( ) for the RT model.
Table 22.83: Species/user properties of parcels parameters in post.in. These parameters must be
preceded by the keyword <parcels>.
Parameter Name Description
massfrac(<species>) Mass fraction of species. Note that the species name match species.in
. Spray
#!csi_version=2.4
#================
<cells>
density
mass
massfrac(o2)
passive(CHEM_SRC)
grad_p[0]
velocity
level
logic_i
logic_j
logic_k
volume
rank
xcen[0]
react_ratio
lambda
tur_flamespeed
film_ht
user1
<parcels>
num_drop
radius
temp
velocity
film_flag
pid
parent
weber
user1
Figure 22.81: An example post.in file. Note that the keyword <cells> is followed by a list of variables
and then the keyword <parcels> is followed by another list of variables.
22.9.2 Flow Between Regions - regions_flow.in
The regions_flow.in file specifies the inter-region flow parameters when region_flow_flag = 2
in inputs.in. This file also controls the species and passive output for all INFLOW and
Use the parameters in this file to customize the output for the mass flow of different
species and passives between regions and across INFLOW and OUTFLOW boundaries.
Table 22.84 below describes the parameters in regions_flow.in, and Figure 22.82 below
region1_region2 The region identifiers for which the adjacent region mass flows are
written in regions_flow.out ,
file. Repeat this set as needed depending on
species name Name of the species for which the mass flows are written in
passive name Name of the passive for which the mass flows are written in
regions_flow.out .
#!csi_version=2.4
#================
0 output_allregions_flag
0 1 region1 region2
0 2 region1 region2
0 output_allspecies_flag
co2 species
h2o species
n2 species
o2 species
soot passive
nox passive
Figure 22.82: An example regions_flow.in file.
22.9.3 ,
Swirl Tumble , and Angular Momentum Calculations - dynamic.in
dynamic_flag = 1 in inputs.in and include the dynamic.in file in the Case Directory. Table
22.85 below describes the parameters in dynamic.in . Figure 22.83 contains an example
dynamic.in file that defines two swirl and tumble regions and two angular momentum
sections.
specified region.
bound_or_vector = 0.
vector_x The x component of the tumble calculation vector. Used only when
bound_or_vector = 1.
vector_y The y component of the tumble calculation vector. Used only when
bound_or_vector = 1.
vector_z The z component of the tumble calculation vector. Used only when
bound_or_vector = 1.
ang_mom_flux_region_to.
ang_mom_flux_region_to ID of the region (must match region_id initialize.in
in ) to which
#!csi_version=2.4
#================
2 num_piston_or_vector
0 region_id
1 bound_or_vector
0 boundary_index
1.0 0.0 0.0 vector_x
0.0 1.0 0.0 vector_y
0.0 0.0 1.0 vector_z
2 region_id
0 bound_or_vector
8 boundary_index
1.0 0.0 0.0 vector_x
0.0 1.0 0.0 vector_y
0.0 0.0 1.0 vector_z
2 num_ang_mom_flux
1 ang_mom_flux_region_from
2 ang_mom_flux_region_to
3 ang_mom_flux_region_from
4 ang_mom_flux_region_to
Figure 22.83: An example dynamic.in file.
22.9.4 Monitor Points - monitor_points.in
Monitor points are locations in the domain at which CONVERGE collects data during the
simulation. A monitor point can be a single point or a cube of specified location and size. If
the monitor point is a cube , CONVERGE will report the average value of each monitored
quantity within the cube. You can specify whether the values will be mass- or volume-
averaged.
To activate this monitor point feature , set monitor_points_flag = 1 in inputs.in and include a
monitor_points.in file. Table 22.86 below describes the parameters in monitor_points.in, and
Table 22.87 lists the keywords for the variables that can be monitored. Figure 22.84
; , ,
ID and for points located on a moving boundary boundary ID (the point
Variable(s) to monitor Variables that CONVERGE will monitor and their statistical types
averaged values).
#!csi_version=2.4
#================
4 num_mon_points
0.0618 0.06115300 -0.109856 0.002 0
-0.00090924 0.00068804 -0.176000 0.002 1 27
-0.04546193 -0.0086544 -0.183000 0.002 1 27
0.0801515 0.016419 0.045338 0.0 0
pressure MASS_AVG
pressure VOL_AVG
volume VOL_AVG
mass VOL_AVG
massfrac(O2) VOL_AVG
massfrac(CO2) VOL_AVG
massfrac(CH4) MASS_AVG
Figure 22.84: An example monitor_points.in file.
Note that CONVERGE contains two other monitor point options: a UDF monitor point
option and a super-cycle monitor point option. Unlike monitor points defined via
monitor_points.in, UDF and super-cycle monitor points do not allow you to select which
variables to monitor.
To direct CONVERGE to generate customized output files containing results for species
total mass , mass fraction , standard deviation of mass fraction , and mole fraction , specify
species_output.in file to the Case Directory. The species_output.in file can include any of the
following keywords:
<total_mass>
<mass_fraction>
<mass_fraction_std>
<mole_fraction>
After a keyword , list the name(s) of the species for which you would like CONVERGE to
record this quantity or type the word all to include output for all of the species listed in
If you do not include a keyword , or if you specify the term none after a bracketed keyword ,
CONVERGE will not write output for this quantity.
An e xample species_output.in file is shown below in Figure 22.85. This file will generate
total_mass data for N2 , standard deviation of the mass fraction for O2 , and mole fraction
data for all of the species in species.in and the reaction mechanism file. No output for
mass_fraction will be generated because this keyword does not appear in the
species_output.in file.
<total_mass>
N2
<mass_fraction_std>
O2
<mole_fraction>
all
Figure 22.85: An example species_output.in file.
CONVERGE will write the total mass , mass fraction , standard deviation of mass average ,
and mole fraction data , respectively , to the following output files:
species_mass.out
species_mass_frac.out
species_std_masfrac.out
species_mole_frac.out
A customized volume output option is available for a VOF simulations. If ( vof_flag = 1 in
inputs.in ,
) CONVERGE will write species_vol.out if the species_output.in file contains the
simulation time(s) specified in write_map.in . You can use these output files to initialize a
write_map.in x
. For e, ample if you direct CONVERGE to write file(s) at 100 crank angle
degrees, map_1.000000e 02.out
CONVERGE will write + and (for a simulation with spray
Table 22.88 summarizes the parameters in write_map.in . Figure 22.86 shows an e xample
file.
files
Temporal SE QUENTIAL or CYCLIC. If CYCLIC, the keyword must be followed by the period.
type
map_write_ Time(s) at which CONVERGE will write a map file. There should be num_map_files entries
#!csi_version=2.4
#=======================
3 num_map_files
SEQUENTIAL
100.5 map_write_time
150 map_write_time
200 map_write_time
Figure 22.87: Sample write_map.in file.
This section describes the input files that contain information about user-defined functions
This section describes how to prepare the udf.in file. Before running a simulation with a
UDF , consult the CONVERGE UDF Manual , which describes how to e xecute a simulation
You can use UDFs to add models or features to CONVERGE. To enable UDFs , set user_flag
=1 in inputs.in and include the udf.in file in the Case Directory. To activate most UDFs , set
the appropriate flag to 1 in udf.in . Note that some flags activate the same UDF ( e.g., several
Note that some UDFs are not activated via a flag in udf.in . For these UDFs , add the
user_bc.c
The user_bc.c UDF allows you to set spatially and temporally varying velocity and
user_reaction_rate.c
The user_reaction_rate.c UDF allows you to define your own chemical reaction rate
function. Activate user_reaction_rate.c by entering U SER in the row below any reaction
row in mech.dat.
user_motion.c
The user_motion.c UDF allows you to specify the motion of a boundary. This UDF may
be especially useful for cases in which the motion of the boundary depends on
conditions such as temperature or pressure that are calculated during the simulation.
Refer to the Moving WALLS - (User) section in Chapter 8 - Boundary Conditions for
Table 22.89 below lists the udf.in flags and the associated UDF subroutines. Figure 22.88
cases.
,
magnitude nozzle diameter and cone ,
angle.
user_in ect_flag
j user_in ect_custom.c
j Injector velocity components injected ,
,
drop spatial position and drop radius.
user_spray_main.c
user_parcel_flag user_parcel_prop.c, Custom parcel properties in spray.
user_film_splash.c,
user_film_strip.c
user_distort_flag user_drop_distort.c, Distortion of drops in spray.
user_spray_main.c
user_evap_flag user_spray_evap.c, Evaporation of drops in spray.
user_spray_main.c
user_coalesce_flag user_spray_colide.c, Drop coalescence.
user_spray_main.c
user_collide_flag user_spray_colide.c, Drop collision.
user_spray_main.c
user_gas_couple_flag user_spray_gas_couple.c, Coupling the spray and gas phase.
user_spray_main.c
user_combust_main_flag user_combust_main.c Combustion modeling main driver
routine.
user_combust_main.c
user_combust_sage_flag user_combust_sage.c, Enable an e xact copy of SAGE
user_combust_sage_setup.c, configured for use with the soot models
previous row).
user_combust_main.c model.
user_combust_main.c
user_combust_rif_flag user_combust_rif.c, Custom RIF combustion model.
user_combust_main.c
user_combust_adaptive_zone_flag user_combust_adaptive_zoni Adaptive zoning chemistry in
ng.c combustion.
chemistry.
user_combust_sage.c,
user_combust_sage_setup.c,
user_combust_main.c,
user_outputs.c,
user_soot_outputs.c
user_soot_model_flag user_soot_model.c, Choose from three soot models to use
user_outputs.c 1 = Gokul
2 = Dalian
4 = Waseda
user_combust_main.c
user_laminar_flamespeed_flag user_laminar_flamespeed.c User-specified subroutine for laminar
flame speed.
mixture.
user_mixing_output.c Mi x ing output data. To activate
user_equiv_ratio_flag = 1 and
mixing_output_flag = inputs.in
1 in .
user_film_splash.c model.
user_film_ et_flag
j user_film.c Film jets in the wall film model.
film model.
user_film_splash_velocity.c
user_splash_crit_flag user_film.c, Determine when an impinging drop
model.
equations.
between regions).
experiments.
user_bound.c
user_wallvalue_flag user_wallvalue.c Custom wall values.
parameters.
variables.
user_soot_outputs.c, data.
user_spray_evap.c
user_transfer_flag user_write_transfer.c Customized output files of heat
transfer data.
region to another.
user_set_properties.c
user_fsi_flag user_fsi_dynamics.c ,
Applied forces moments and ,
constraints for fluid-structure
or fluid-structure interaction.
velocity.
boundaries.
terminates.
spray.
c spray.
films.
films.
(previous row).
#!CONVERGE_VERSION=2.4
#=====================
location and radius. If the monitor point is a sphere , CONVERGE will report the average
CONVERGE includes a non-UDF monitor point option via monitor_points.in . With this
CONVERGE also includes a super-cycle monitor point option. With this option ,
CONVERGE monitors the solid temperature in a CHT simulation.
In addition to monitor points you specify in CONVERGE , you can set up monitor points
through the Probe/ Query option in EnSight after you run a simulation. Please refer to the
zero_d_solver.in . You have to specify the nature of solver and the tolerance values as
1e-8.
1e-20.
mi xture.
zero_d_asens_rel_tol Backward relative iteration error for each species for adjoint
zero_d_asens_abs_tol Backward absolute iteration error for each species for adjoint
0 zero_d_ode_solver
1 zero_d_analyt_jac
1e-08 zero_d_rel_tol
1e-20 zero_d_abs_tol
1.0 zero_d_reaction_multiplier
0 zero_d_output_file_flag
1 zero_d_mole_frac_input_flag
0 zero_d_mole_frac_output_flag
0 zero_d_egr_ceq_species_subset_flag
0 zero_d_num_egr_ceq_species
1 zero_d_end_time_flag
0 zero_d_double_ignition_delay_flag
1 zero_d_sensitivity_flag
1e-6 zero_d_asens_rel_tol
1e-18 zero_d_asens_abs_tol
0 zero_d_num_asens_variables
0 zero_d_ga_flag
0 zero_d_kicgen_output_flag
Figure 22.90: Sample input for zero_d_solver.in.
Zero-Dimensional Simulation Setup - zero_d_cases.in
CONVERGE generates ignition delay data for different conditions of temperature , pressure
and equivalence ratio of fuel mi xture and it needs the file zero_d_cases.in . The inputs in the
file , zero_d_cases.in are described in Table 22.91. An e xample zero_d_cases.in file is shown
in Figure 22.91.
with CE Q,
ceq_constant_temp_pres = Constant temperature and pressure 0D
simulation with CE Q,
constant_volume = Constant volume 0D simulation ,
constant_pressure = Constant pressure 0D simulation ,
constant_temperature = Constant temperature 0D simulation.
zero_d_temperature K
Initial temperature ( ).
zero_d_pressure Pa
Initial pressure ( ).
zero_d_end_time Final time for integration ( seconds). The solver will only integrate up to the
num_fuel_species Number of fuel species. Enter the species and their mass or mole fractions
,
on the following lines with one species per line.
num_oxidizer_species Number of o xidizer species. Enter the species and their mass or mole
egr_ratio_definition_flag 0 = Do not include the fuel charge term in the EGR calculation ,
1 = Include the fuel charge term in the EGR calculation.
num_egr_species Number of species in the custom EGR mi xture. Enter the species and their
,
mass or mole fractions on the following lines with one species per line.
constant_volume zero_d_case_type
800 zero_d_temperature
20e5 zero_d_pressure
1 zero_d_end_time
0 custom_species_flag
0 num_custom_species
1.0 fuel_oxidizer_equiv_ratio
1 num_fuel_species
IC8H18 1
2 num_oxidizer_species
O2 0.21
N2 0.79
0.1 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
1 num_egr_species
N2 1.0
Figure 22.91: Sample input for zero_d_cases.in.
22.11.2 One-Dimensional Chemistry Tools
one_d_cases.in and one_d_solver.in. The one_d_solver.in file contains the required solver
inputs , as shown in Table 22.92. Figure 22.92 shows an e xample input file.
one_d_output_file_flag 0 one_d_flamespeed*.out
= Write only (and thermo.out and
i.e.,
scale with the number of cases (
one_d_newton_restart_case#.rst one_d_sol_case#.out
and ).
EGR mi xture.
each case.
0 = Upwind scheme,
1 = Central difference scheme after the upwind scheme
converges.
value.
newton_ ac_iteration_ss
j Number of iterations between Jacobian evaluation for
newton_ ac_iterations_pts
j Number of iterations between Jacobian evaluations for
(seconds).
fluctuation.
(ODE) solvers:
species).
solver.
solver.
monitored samples.
samples.
,
below enter a temperature sub-grid scale value and the
AMR stage.
stage.
20 newton_jac_iterations_ss
1e-08 newton_rel_tol_ss
1e-20 newton_abs_tol_ss
20 newton_jac_iterations_pts
1e-08 newton_rel_tol_pts
1e-20 newton_abs_tol_pts
0.0002 newton_dt_start_pts
10 newton_num_time_steps_pts
0.1 newton_grid_max_slope
0.001 newton_grid_min_slope
0.1 newton_grid_max_curve
0.001 newton_grid_min_curve
1e+07 newton_grid_max_ratio
0 newton_ga_flag
0.1 piso_end_time
1 piso_species_diffusion_model
0.01 piso_sponge_length
0.001 piso_dx_base
0.1 piso_massflowrate_damp_factor
0.5 piso_relax_velocity_factor
2 piso_num_prog_variables
CO
CO2
0 piso_sage_ode_solver
0.0001 piso_sage_rel_tol
1e-14 piso_sage_abs_tol
50 piso_sample_size
0.001 piso_tol_avg
0.01 piso_max_std
3 piso_num_amr_temp_stages
5 piso_amr_temp_sgs
1.0 piso_amr_temp_sgs
0.1 piso_amr_temp_sgs
1 piso_final_flag
5 piso_final_max_cfl_nu
500 piso_final_sample_size
0.0001 piso_final_tol_avg
0.01 piso_final_max_std
Figure 22.92: Sample input for one_d_solver.in.
One-Dimensional Solver Simulation Setup
To run the 1D premi xed laminar flamespeed model utility , CONVERGE needs two files:
num_custom_species Number of custom species. Enter the species and their mass of
,
mole fractions on the following lines with one species per line.
num_fuel_species Number of fuel species. Enter the species and their mass of mole
,
fractions on the following lines with one species per line.
num_oxidizer_species Number of o xidizer species. Enter the species and their mass of
,
mole fractions on the following lines with one species per line.
egr_ratio_definition_flag 0 = Do not include the fuel charge term in the EGR calculation ,
1 = Include the fuel charge term in the EGR calculation.
num_egr_species Number of species in the custom EGR mi xture. Enter the species
and their mass or mole fractions on the following lines with one ,
species per line.
300.0 one_d_unburned_temp
1.0e5 one_d_unburned_pres
0.3 one_d_init_velocity
0.0 one_d_cutoff_temp
0 custom_species_flag
0 num_custom_species
1.100 fuel_oxidizer_equiv_ratio
1 num_fuel_species
IC8H18 1.0
2 num_oxidizer_species
O2 0.2329175
N2 0.7670825
0.2 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
2 num_egr_species
N2 0.8
CO2 0.2
300.0 unburned_temperature
1.0e5 unburned_pressure
0.3 initial_velocity
0.0 cutoff_temperature
0 custom_species_flag
0 num_custom_species
1.200 fuel_oxidizer_equiv_ratio
1 num_fuel_species
IC8H18 1.0
2 num_oxidizer_species
O2 0.2329175
N2 0.7670825
0.2 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
2 num_egr_species
N2 0.8
CO2 0.2
Figure 22.93: Example one_d_cases.in file.
22.11.3 Mechanism Reduction Input Files
,
generate the reduced reaction mechanism mech_ske.dat
which it writes to .
generate the reduced mechanism of chemical reactions in mech_ske.dat . The inputs for the
files zero_d_cases.in, and zero_d_solver.in are described in previous sections. The inputs for
22.94.
isomer_ignition_delay_error Error tolerance for automatic isomer lumping. A larger 0.2 - 0.3.
lumping).
target_species ,
Name of the target species followed by the weight. Use
and 1 ( e.g., 0.05) for species that are not target species but
1 drgep_flag
0.2 drgep_ignition_delay_error
2 drgep_search_iter
1 sensitivity_analysis_flag
0.2 sensitivity_fraction
1 isomer_lumping_flag
0.5 isomer_ignition_delay_error
8 num_targets
c7h16 1.0 target_species
ic8h18 1.0 target_species
n2 1.0 target_species
o2 1.0 target_species
oh 0.01 target_species
ho2 0.01 target_species
co 0.01 target_species
co2 0.01 target_species
Figure 22.94: Sample input for drgepsa.in.
Dynamic Mechanism Reduction - sage_dmr.in
The DMR option will reduce the mechanism during the SAGE simulation , based on target
weight and error propagation tolerance values you specify. To activate the Dynamic
Mechanism Reduction utility , you must first activate the SAGE detailed chemistry solver
DMR may be used in conjunction with the SAGE adaptive zoning option.
Then , sage_dmr_flag
set = 1 in combust.in . CONVERGE will look for a file named
sage_dmr.in in the Case Directory. The inputs for the file are shown in Table 22.95. Since
DMR automatically removes species based on local thermo-chemical conditions , you may
lose species that are important to your simulation , such as soot precursors for emission
modeling. You can save species information by setting sage_dmr_species_flag = 1 for no-
target species and its weight in a separate line following this parameter. The
weight is a value from 0 to 1.0. Target species typically have a weight of 1.0.
sage_dmr_species_flag Flag to save non-target species from being lost due to DMR. If = 1 , list species in
8 num_target_species
nc7h16 1.0
o2 1.0
n2 1.0
co2 1.0
h2o 1.0
co 1.0
h2 1.0
ch3 1.0
0.005 drgep_tol
1 sage_dmr_species_flag
h o oh
end
Figure 22.37: A sample sage_dmr.in file.
22.11.4 Mechanism Tune Input Files
utility. This includes the number of reactions to modify in mech.dat, the directory name
where the genetic algorithm optimizations files will be set up , flags to indicate if the utility
will be run with the zero-dimensional solver , 1D premi xed laminar flame speed solver , or
both , and some required parameters for setting up case.in andmerit.in . Table 22.1 describes
1 = Run 1D sensitivity.
Directory).
merit.in ,
. Accepts error ma ximize, or minimize.
in merit.in
.
,
real_variation log_variation or , 1.0 ordersofmag
real_plus_minus.
gafolder directory_name
10 zero_d_num_to_modify
0 zero_d_read_sens_cases_flag
1 zero_d_run_sens_flag
10 one_d_num_to_modify
0 one_d_read_sens_cases_flag
0 one_d_run_sens_flag
# merit.in
0 merit_lib_flag
error merit_performancetype
maximum merit_constrainttype
1.0 merit_constraintpowerfactor
# case.in
log_variation case_type
1.0 ordersofmag
Figure 9.12: An example mechanism_tune.in file.
Targets for Mechanism Tune - mechanism_tune_targets.in
mechanism_tune.in
The mechanism tune utility requires mechanism_tune_targets.in
and .
For this input file , first specify the number of targets ( numtargets ) to tune against. The
number of targets must match the total number of ignition delay and laminar flame speed
targets. Then specify the targets according to the column format listed in Table 22.2 below.
A sample mechanism_tune_targets.in file is shown in Figure 9.13 follows. Note that you
must list the ignition delay targets before the laminar flame speed targets. For more
8 numtargets
9.8792105e-02 1.0 0 ignitiondelay1
4.4829933e-02 1.0 0 ignitiondelay2
2.1610038e-02 1.0 0 ignitiondelay3
1.1022426e-02 1.0 0 ignitiondelay4
12.685 1.0 0 flamespeed1
42.420 1.0 0 flamespeed2
79.410 1.0 0 flamespeed3
113.662 1.0 0 flamespeed4
Figure 9.13: An extract from mechanism_tune_targets.in file.
22.12 Heat T ransfer M apping Input Files
This section describes the input file for the heat transfer mapping utility.
The htc_inputs.in file is required to run the htc_map utility. Table 22.97 below describes the
units.
translation.
direction of rotation.
,
Also note that the rotation for velocity is applied before the
,
uninitialized triangles and separate files listing the
an engine
cycle.
an engine
cycle.
moving valves.
<boundary ID 1> <boundary Boundary 1 is typically the valve stem and Boundary 2 is N/A
num_valve_entries.
#!CONVERGE_VERSION=2.4
#=====================
2.000000e-03 tolerance
1.000000e+00 scale_xyz
0.0 trans_x
0.0 trans_y
0.0 trans_z
Z rot_axis
0.0 rot_angle
1 enforce_boundID_match
0 hit_location_output_files
0 ensight_outputfiles
1 gmv_outputfiles
-9.999000e+03 start_time
9.999000e+03 end_time
1 num_valve_entries
2 6
Figure 22.95: Sample htc_inputs.in file.
22.12.2 Heat Transfer Output Control - transfer.in
The transfer.in file specifies the fluid WALL boundaries for which CONVERGE writes wall
heat transfer data. Enter this file name (typically transfer.in ) for transfer_flag in inputs.in .
You can also supply keywords to append e xtra output variables related to heat transfer to
transfer.out . Table 22.98 below describes the parameters in transfer.in . Figure 22.96 below
Table 22.98 below describes the parameters in transfer.in . Figure 22.96 below shows an
boundary for which you would like wall heat transfer output.
information.
sie Include cell specific internal energy (J/ kg ) in transfer.out . This variable
#!CONVERGE_VERSION=2.4
#=====================
#----------------------------------
# Boundary ID used for transfer.out
#----------------------------------
2 transfer_num_bounds
12 boundary_id
17 boundary_id
#----------------------------------
# Extra variables to add to transfer.out
#----------------------------------
sie Cell specific internal energy (J/Kg). Includes formation energy of
species.
velocity All three components of cell velocity (m/s).
eps Cell turbulence dissipation rate (m^2/s^3).
cond Cell thermal conductivity, including the turbulent component (W/m-
K).
tke Cell turbulent kinetic energy (m^2/s^2).
Figure 22.96: Example transfer.in file.
22.13 CONGO (
Optimization and M odel Interrogation Utility ) Input
Files
This section describes the input files for CONVERGE's optimization and model
interrogation utility.
The congo.in ,
file which is mandatory for all CONGO cases , defines the parameters for the
genetic algorithm (GA) or design of e xperiments (DoE). Table 22.99 below describes the
simulations ,
4 s for mechanism
tuning simulations
gen_timeout_minutes
to 5minutes.
For cases with a 16-
hour ,
runtime set
gen_timeout_minutes
to 20hours .
, ,
rows as shown here if you're copying all of the
,
Otherwise enter the name of the CONVERGE
value ,
1 = Use the system time as the seed for the random
number.
0 = Design of experiments ,
1 = Genetic algorithm,
0 restart_flag
0 run_individual
0 run_generation
0 delay_between_runs
5 pause_to_check_for_results
20 gen_timeout_minutes
0 monitor_runs_lib_flag
0 new_dir_flag
2 num_copy_templates
* copy_template
*.* copy_template
1 input_files
inputs.in file_name
100 max_gen
1 random_seed_flag
0.00 mutation_frac
0.97 p_conv
0 convergence_flag
1 elite_ind_flag
30 dna_length
1 exp_type
Figure 22.97: A sample congo.in file.
22.13.2 CONGO - case.in
The case.in ,
file which is mandatory for all CONGO cases , defines the parameter ranges for
the e xperiment model inputs and parsing for the CONVERGE input files. The name of this
file is defined by the file_name parameter in congo.in . Table 22.100 below describes the
most common.
cases.
,
simulation create just one
dir_name row.
only.
names.
shape.
e.g.,
( an injection rate-shape)
user routine.
library in CONVERGE to ,
generate the values of the
dynamic parameters.
i.e.,
( the first parameter name
,
CONGO so a descriptive string
is helpful.
real_variation .
modes.
each independent or common
0 = Independent,
parameter.
1 = Common.
GA cases only.
independent or common
marker
optimized by the GA for the
independent or common
information.
name above.
GA cases only.
name above.
GA cases only.
parameter.
generated by CONGO so a ,
descriptive string is helpful.
Repeat each of these rows for marker The string of te xt that you N/A
more information.
dependent_param_num parameters.
gen#
[ ] output files generated by
,
CONGO so a descriptive string
is helpful.
based.
marker
each dependent parameter.
The string of te xt that you N/A
more information.
#!CONVERGE_VERSION=2.4
#=======================
1 num_modes
1 weight
input_files dir_name
9 pop_size
2 num_param
1 num_common_param
0 num_dependent_param
0 num_dependent_file_names
3 num_dyn_params
0 num_dyn_profiles
1 dyn_lib_flag
0 param_number
NozzleScaling name
real type
1 common_param
none marker
0.8 min
1.2 max
1 param_number
SOI name
real type
0 common_param
GA_INJECTION_START marker
-12.0 min
-8.0 max
0 dyn_param_num
nozzledia name
GA_NOZZLEDIA marker
1 dyn_param_num
nozzleRadius name
GA_NOZZLERAD marker
2 dyn_param_num
duration name
GA_DURATION marker
Figure 22.98: A sample case.in file for a GA case.
#!CONVERGE_VERSION=2.4
#=======================
1 num_modes
input_files dir_name
4 num_runs
2 num_param
0 num_dependent_param
0 num_dependent_file_names
3 num_dyn_params
0 num_dyn_profiles
1 dyn_lib_flag
0 param_number
NozzleScaling@ name
real type
none marker
0.8 value
1 value
1.2 value
1 value
1 param_number
SOI@ name
real type
DOE_INJECTION_START marker
-12 value
-12 value
-12 value
-9 value
0 dyn_param_num
nozzledia name
GA_NOZZLEDIA marker
1 dyn_param_num
nozzleRadius name
GA_NOZZLERAD marker
2 dyn_param_num
duration name
GA_DURATION marker
The execute.in ,
file which is mandatory for all CONGO cases , defines how CONVERGE
will be e xecuted for a GA or DoE simulation. Table 22.101 below describes the parameters
input files ,
1 = Prepare input files only (does not start
CONVERGE).
script_machine Specify the machine name on which to run scripts. <machine name>
start_script Number of scripts to run at the start of CONGO run. <number of scripts>
,
For each start script the script name and
script_name Name of script to run at the start of CONGO run. < name of script>
run_background_flag 0 = Do not run in the background, N/A
end_script Number of scripts to run at the end of CONGO run. <number of scripts>
script_name Name of script to run at the end of the CONGO run. <name of script>
machine_names File that lists all of the machine names on which to run mpd.hosts
CONGO.
machines_per_run Number of machines used per run folder for parallel N/A
directory).
commands.
0 test_run_flag
0 recollect_data_flag
1 script_ssh_flag
duo1 script_machine
1 start_script
example script_name
0 run_background_flag
0 before_script
0 after_script
0 end_script
8 run_concurrent_cases
0 ssh_flag
mpd.hosts machine_names
1 machines_per_run
0 create_batch_file_flag
example batch_file_name
1 run_batch_file_flag
exe batch_command
1 num_execute_commands
$path$/stalagmite </dev/null > logfile-$rundir$-$generation$ &
Figure 22.100: A sample execute.in file.
The merit.in ,
file which is mandatory for all CONGO cases , defines the merit function in
below describes the parameters in merit.in. Figure 22.101 shows an e xample merit.in file.
e.g., ga_output.#-#
writes to the output file ( ). This
output_var_name
of rows of immediately below
this row.
ignored.)
merit_lib_flag = ,
below include rows for the
performance_var_name to the merit score. This name must match the name in
num_performance_vars line.
For a maximize ,
type of performance variable CONGO will divide
variable. function.
(Used only between the value of the variable and the target value in the
0.) 21.10.
value The target value for the performance parameter listed above. For
parameter.
,
In the rows below include rows for the
constraint variable.
constraint_var_name subtract from the merit score. This name must match the name in
merit_lib_flag =
variable in the CONVERGE GA or DoE output file (followed by
(Used only when 0.)
the keyword constraint_var_name ) on a separate row below the
num_constraint_vars line.
Repeat these type The type of constraint variable for the constraint_var_name listed
21.10.
when
will use the value you specify here for the weight of this maximum
merit_lib_flag = constraint variable contribution to merit.
will use the value you specify here for the weight of this minimum
constraint variable contribution to merit.
value The target value for the constraint parameter listed above. For
#!CONVERGE_VERSION=2.4
#=======================
ga_output output_file_name
4 num_output_vars
GISFC output_var_name
NOX output_var_name
PM output_var_name
PCP output_var_name
0 merit_lib_flag
1 num_performance_vars
GISFC performance_var_name
minimize type
120 value
1 weight
3 num_constraint_vars
NOX constraint_var_name
maximum type
0 weighting_greater
0 weighting_less
1 power_factor
5 value
PM constraint_var_name
maximum type
1 weighting_greater
0 weighting_less
1 power_factor
1 value
PCP constraint_var_name
maximum type
5 weighting_greater
0 weighting_less
1 power_factor
15 value
The udi.in ,
file which is optional for CONGO cases , allows you to enter a user-defined
individual (UDI) into the genetic algorithm e xperiment at any generation. You could use
this UDI as a baseline case , for example. You can load more than one individual from a
single file if required. Table 22.103 below describes the parameters in udi.in. Figure 22.102
rows).
< parameter name> The first of these rows must be the name (not the marker) of N/A
,
below 2 parameters are specified for 8 individuals ,
0 loadindividual
8 number
0.170000 x
1.170000 y
0.170000 x
2.170000 y
0.170000 x
3.170000 y
1.170000 x
4.170000 y
0.170000 x
5.170000 y
2.170000 x
6.170000 y
2.170000 x
7.170000 y
3.170000 x
8.170000 y
Figure 22.103: A sample udi.in file that specifies eight unique individuals, with two parameters being
varied: one parameter named x and one parameter named y.
22.13.6 CONGO - gatdoe.in
The gatdoe.in file , which is optional for CONGO cases , allows you to automatically set up a
set of cases -- on which you can then run a design of e xperiments -- from the genetic
algorithm e xperiment. Typically , cases with high merit in the GA may be re-run to obtain
detailed output files or re-run for validation with higher accuracy (higher grid resolution).
average values (or sums) for the entire domain as well as for individual regions. Output file
names for the entire domain are formatted as file name> out (e.g., thermo.out)
< . . Region-
specific output file names are formatted as <file name>_region<region number>.out (e.g.,
thermo_region0.out) .
If your simulation is from a restart , CONVERGE includes the restart number ( i.e., the value
of rstrtnum in inputs.in ) in the output file names. File names for the entire domain are
For a periodic engine sector case , CONVERGE automatically calculates the parameter
mult out
_
360
, (23.1)
angle of rotation
where the angle of rotation in degrees is specified after the rotate keyword in boundary.in .
CONVERGE multiplies e xtensive variables ( e.g., total system mass) , which are listed below
in Table 23.2 , by mult_out to provide the value of the quantity as if the entire cylinder had
been simulated.
23.1 amr.out
To perform AMR , CONVERGE calculates sub-grid variables and compares them to user-
specified values. The amr.out file lists these computed sub-grid values requested by the
user. Data are written for each AMR region at the frequency prescribed by twrite_files in
inputs.in. CONVERGE only writes sub-grid values if they are actively being used by the
AMR calculation.
Table 23.3 describes the format of amr.out . This file includes a header that indicates the
scale ( K )
(ms / )
4 <species name> e.g., ( CO2) Sub-grid value of species mass fraction (if used).
sub-grid scale
5 < passive name> e.g., ( soot) Sub-grid value of passive mass fraction (if used).
sub-grid scale
23.2 area_avg_flow.out
The area_avg_flow.out file tabulates mass flow and area-weighted average thermodynamic
data at INFLOW and OUTFLOW boundaries. Table 23.4 describes the format of
area_avg_flow.out .
If there is more than one INFLOW or OUTFLOW boundary , CONVERGE tabulates mass
additional columns. The area_avg_flow.out file includes a header that indicates the region
2 Cycle_Number i.e.,
Simulation cycle number ( number of time-steps).
flow out of the domain while a negative value indicates flow into
the domain.
(dimensionless)
10 * Tot_Parcel_In Total number of parcels that have entered the domain through
11 * Tot_Parcel_Out Total number of parcels that have e xited the domain through this
The az_info<dump_number> <dump_time>.out _ file provides the output for adaptive zoning
chemistry in the domain. This file is generated when adaptive zoning chemistry is
Because the dump number appears first in the file name , an alphabetical listing of the
directory contents is chronologically consistent. Since many files may be generated in this
process , the files are stored in a sub-directory of the main e xecution directory called output .
This directory is automatically created when the simulation is started ; CONVERGE will
23.4 blender.out
The surrogate blender writes the optimal mi xture composition , target fuel properties , and
e xport these data to blender.out . Table 23.6 summarizes the output in blender.out. Figure
Remember that you must convert the mole fractions in blender.out to mass fractions for use
Table 23.6: Description of blender.out. The two types of rows (fuel and property/target/surrogate) are
repeated as necessary.
#Composition mole_fraction
Property j Property j for the target fuel. Property j for the surrogate mi xture.
# Composition mole_fraction
FUEL1 4.665115e-01
FUEL2 2.620310e-01
FUEL3 2.183703e-01
FUEL4 5.308723e-02
inputs.in ). The <ID> represents the boundary ID as specified in boundary.in . This output file
will contain piston displacement information calculated every 0.1 crank angle degrees . Table
23.7 describes the format of this output file. Note that CONVERGE measures the piston
The bound<ID>-wall.out file contains average near-wall quantities and heat transfer data
for WALL boundaries. CONVERGE writes this file when you set wall_output_flag = 1 in
inputs.in. The <ID> represents the WALL boundary ID as specified in boundary.in . Table
boundary.
3 TKE ( m2 s2
/ ) The average turbulent kinetic energy in the cells adjacent to this
boundary.
4 EPS ( m2 s3
/ ) The average turbulent dissipation in the cells adjacent to this
boundary.
5 OMEGA ( 1s / ) The average specific dissipation rate in the cells adjacent to this
boundary.
boundary.
boundary.
14 Avg_HTC ( W m2 K/ ) The average heat transfer coefficient in the cells adjacent to this
,
boundary. Avg_HTC is 0 for solid cells the value defined in
,
condition and given by the heat flu x divided by the temperature
difference in all other cases.
15 HT_ xfer_Rate (J/ s ) The integrated heat transfer rate in the cells adjacent to this
,
domain into the boundary while a negative value indicates
17 * Tot_HT_ xfer (J) The total heat transfer to the boundary. The total heat transfer is
boundary.
boundary.
boundary.
21 * Visc_Force_ X(N ) Total shear force ( x component) exerted on the WALL boundary.
24 * Pres_Torque_ X N-m ( ) Total pressure torque about x a xis exerted on the WALL
25 * Pres_Torque_ Y( N-m ) Total pressure torque about y a xis exerted on the WALL
26 * Pres_Torque_Z ( N-m ) Total pressure torque about z a xis exerted on the WALL
27 * Visc_Torque_ X( N-m ) Total viscous torque about x a xis exerted on the WALL
28 * Visc_Torque_ Y( N-m ) Total viscous torque about y a xis exerted on the WALL
29 * Visc_Torque_Z ( N-m ) Total viscous torque about z a xis exerted on the WALL
23.7 cell_count_ranks.out
The cell_count_ranks.out file lists the number of cells in the domain. The cell count is written
Table 23.9 below summarizes the contents of the file cell_count_ranks.out . The cells-per-
processor data should be used to check load balancing. If the load balancing is poor ,
parallel_scale inputs.in
in should be adjusted.
3 and Rank <> i The total number of cells on rank (processor) i . One column will
23.8 cell_count_regions.out
The cell_count_regions.out file writes out information on the number of cells in each region
in the domain. The cell count data is written out as a function of time. Table 23.10 below
3 and Region <> i The total number of cells in region_id = i . One column will be
CONVERGE simulations , and in the main CONGO folder . CONGO uses the data written
to the individual run directories to create the output files in the main CONGO folder.
The output files CONGO generates in the individual run directories contain information
regarding the values of the parameters selected by the GA or the DoE , as well as the
param.<run#>-<generation#>
This file contains the parameter values CONGO selects for each run. You can specify the
ga_output.<run#>-<generation#>
This file contains the values of the response variables (both performance and constraint ) for
each run. CONGO uses a UDF to generate this output. Refer to The details for activating
this UDF are The name of this file will be consistent with the name you enter as the
output_file_name merit.in,
in but it is recommended to enter ga_output for consistency.
In the main CONGO folder , CONGO writes ASCII output files that summarize the results
of the CONGO GA or DoE , based in information it reads from the ga_output and param
output files it writes to the individual run directories.
Output files from CONGO record the results of the GA or DoE. These output files are
saved in the main CONGO directory and serve to indicate the progress and eventual
conclusions of the CONGO run. Some of these files include information regarding the
each individual. Other contain only the fitness and merit of select individual runs
( congo_max.out, congo_micro.out ).
congo_max.out lists the ma ximum merit (merit for the best-so-far individual) of each
generation.
You can plot the congo_max.out and congo_micro.out files together to show the ma ximum
merit vs. the generation number , with markers indicating micro-convergence events. Here
output.out lists model parameters selected by CONGO for all individuals in all
generations in the GA or DoE. This file also lists the merit (and fitness , for multi-mode
perform.out lists the values CONGO calculated for the response variables (performance
and constraint) for all individuals in all generations in the GA or DoE. This file also lists
the merit (and fitness , for multi-mode CONGO cases) for each individual.
bestcases.out lists model parameters selected by CONGO for each best-so-far run in the
GA. This file also lists the merit (and fitness , for multi-mode CONGO cases) for each
best-so-far individual.
bestcases_perform.out lists the values CONGO calculated for the response variables
(performance and constraint) for each best-so-far run in the GA. This file also lists the
merit (and fitness , for multi-mode CONGO cases) for each best-so-far individual.
convergance.out lists the convergence criteria for each of the model parameters for each
generation in the GA. These are not the actual values for the model parameters selected
by CONGO , they are simply indicators of how close a generation came to a micro
convergence event. The last column in this file also indicates if the generation reached a
micro convergence event. The generations marked as "1" in the Converged column are
congo_dna.out lists the binary string of each individual's DNA (for every generation) ,
typically 30 bits for each parameter. The DNA of each individual is followed by the merit
and DNA of the best-so-far individual. The end of this file contains sequencing
information to define the random number generator used by CONGO. You can use this
file to restart the GA at any generation (this is described in detail in Restarting CONGO).
Alternatively , you may use the restart.in file generated automatically by CONGO.
genetics.out lists detailed information about the GA. It shows the process of the
23.10 crevice.out
The crevice.out file will be written if the crevice model has been activated ( i.e., crevice_flag
if
=1 inengine.in ). The file contains the predicted pressures in the various crevice volumes in
addition to the total mass in the crevice. Table 23.11 describes the data contained in the
crevice.out file.
2 MPa
P2 (ring 1) ( ) Pressure in section 2 of the crevice region.
4 MPa
P4 (ring2) ( ) Pressure in section 4 of the crevice region.
6 and Species name ( e.g., O2) Mass fraction of named species in the crevice region. Columns
23.11 crevice_rings.out
The crevice_rings.out file will be written if the crevice model has been activated ( i.e., if
crevice_flag = engine.in
1 in ). The file contains information about the motion of the two
rings. Table 23.12 below describes the data in the crevice_rings.out file.
2 m
hb (ring 1) ( ) Ring 1 position relative to the bottom of the ring region.
4 m
hb (ring 2) ( ) Ring 2 position relative to the bottom of the ring region.
23.12 dmr_mech_info.out
The dmr_mech_info.out file records the species and reaction statistics (average , minimum ,
and ma ximum values) as the simulation progresses. CONVERGE writes this file when
dmr_mech_info.out .
,
23.13 dynamic.out dynamic_region < >
ID .out
The dynamic.out anddynamic_region<ID>.out files contain swirl ratio , tumble ratio , angular
momentum , dynamic.out
and vorticity data. The data in apply to the entire domain , while
2
- Angular_Vel_ X(rad s / ) Average angular velocity in the x direction.
3
- Angular_Vel_ X+ rad s ( / ) Positive angular velocity in the x direction.
4
- Angular_Vel_ X rad s
- ( / ) Negative angular velocity in the x direction.
5
- Angular_Vel_ Y rad s
( / ) Average angular velocity in y direction.
6
- Angular_Vel_ Y+ rad s ( / ) Positive angular velocity in the y direction.
7
- Angular_Vel_ Y rad s
- ( / ) Negative angular velocity in the y direction.
8
- Angular_Vel_Z ( rad s / ) Angular velocity in the z direction.
9 Ang_Mom_ X kg m2 s
( / ) Angular momentum about the x a xis.
10 Ang_Mom_ Y kg m2 s
( / ) Angular momentum about the y a xis.
13 Ang_Mom_Flu x X kg
_ ( Angular momentum flu x in the x direction between two specified
m2 s2
/ ) regions.
m2/s2) regions.
15 Ang_Mom_Flu x_Z ( kg Angular momentum flu x in the z direction between two specified
m2/s2) regions.
*crank_flag is 1 in inputs.in .
crank_flag is 0 in inputs.in .
The swirl ratio is defined as the ratio of the angular speed of the flow about the center of
Equation 23.3 ,
swirl ratio
_
3
.
crankshaft (23.3)
The tumble ratio in x direction is defined as the ratio of the angular speed of the flow
tumble ratiox
_
1
.
crankshaft (23.4)
Similarly , the tumble ratio in the y direction is calculated by evaluating the ratio of the
angular speed of the flow about the center of mass in the y direction ,w, 1
to the angular
The components of wi are calculated from the angular momentum , Li, and the moment of
inertia I
, i, as
L
i i .
Ii (23.5)
Lk x i u i k ,
j j (23.6)
where u j
represents the velocity fields and xi represents the coordinate system with the a xis
of rotation at xi= 0 and the Levi-Civita symbol
i k, expressed as
j
1
if i k , , or
j 132 213 321.
For a discrete system of cells , the angular momentum about the x, y, and z a xis, L,L,
1 2
and
L, 3
respectively , can be calculated as
numcells
L 1
mn yn ycm wn zn zcm vn
(( ) ( ) )
n 1
numcells
L 2
mn zn zcm un xn xcm wn
(( ) ( ) ) (23.8)
n 1
numcells
L 3
mn xn xcm vn yn ycm un
(( ) ( ) ,
)
n 1
where mn is the mass of each cell ; xn, yn, and zn are the coordinates of each cell ; un, vn, and
wn are components of velocity for each cell ; and xcm, ycm, and zcm are the center of mass.
CONVERGE uses the center of mass as the rotation center when calculating rotational
quantities such as swirl and tumble. For sector cases , xcm = 0 and ycm = 0 ( i.e., the z a xis is
numcells
I 1
mn yn ycm ( )
2
z z
( n cm ) 2
n 0
numcells
I 2
mn zn zcm ( )
2
x x
( n cm ) 2
(23.9)
n 0
numcells
I 3
mn xn xcm ( )
2
y y
( n cm ) . 2
n 0
The vorticity magnitude quantifies the rotating motion of the fluid in a particular region.
Mathematically , the curl of the velocity vector yields the vorticity. Equation 23.10 below
i
j k
u u
k i u u u u k
u k j i i ,
j j
x
i x
j
x
k x
k i k
j
x
i
x x x x j
(23.10)
ui u j
uk
where ui, u , j
and uk represent the x, y, and z components of velocity , respectively.
u u 2
u u
2
u u
2
k k i i
j j
x x x x x x
. (23.11)
k
j
i k i j
23.14 ecfm.out
CONVERGE writes the ecfm.out file when ecfm_flag = 1 in combust.in . The ecfm.out file
contains information about combustion progress for the ECFM. Table 23.2 summarizes the
data in ecfm.out .
3 mbgign_done ( Volt ) Mass of burned gas generated by ISSIM. This value should be
close to mbgign_targ.
6 surfbgign_done (J) Flame surface generated by ISSIM. This value should be close to
surfbgign_targ.
hlos
h dV
los
dV .
14 fuelair_eqratio (J) Fuel/air equivalence ratio averaged over the flame surface ,
dV
dV .
T dV
u
T
u
dV .
16 ctilde_ma x( kg )
c
Ma ximum value of global progress variable . Can be used to
C p1 p3 dV
t
p1 p3
.
C w p1 p3 dV
p1 p3
.
24 uprime
2
k
Turbulent velocity fluctuation ,
3 , averaged over the flame
surface.
ult
Ret
vu
gases , , averaged over the flame surface.
28 karlovitz
u l
Ka
Sl
Karlovitz number , , averaged over the flame surface.
29 damkohler
Ret
Damk hler number, Ka , averaged over the flame surface.
S res c dV
30 resolv_flamesurf
2 3vt at
eq 1
Sl
, averaged over the flame surface,
eq
eq
c dV
S res
.
32 ki_eff ,
Effective wrinkling defined as the ratio of the total flame surface
does not correctly represent the mean flame surface of the flame
,
kernel during ignition ki_eff is not correctly defined during
23.15 ecfm3z.out
CONVERGE writes the ecfm3z.out file when ecfm3z_flag = 1 in combust.in . The ecfm3z.out
file contains information about combustion progress of the ECFM3Z. Table 23.2
3 mbgign_done ( Volt ) Mass of burned gas generated by ISSIM. This value should be
close to mbgign_targ.
6 surfbgign_done (J) Flame surface generated by ISSIM. This value should be close to
surfbgign_targ.
hlos
h dV
los
dV .
14 fuelair_eqratio (J) Fuel/air equivalence ratio averaged over the flame surface ,
dV
dV .
T dV
u
T
u
dV .
C p1 p3 dV
t
p1 p3
.
C w p1 p3 dV
p1 p3
.
24 uprime
2
k
Turbulent velocity fluctuation ,
3 , averaged over the flame
surface.
ult
Ret
vu
gases , , averaged over the flame surface.
29 damkohler
Ret
Damk hler number, Ka , averaged over the flame surface.
S res c dV
30 resolv_flamesurf
2 3vt at
eq 1
Sl
, averaged over the flame surface,
eq
eq
c dV
S res
.
32 ki_eff ,
Effective wrinkling defined as the ratio of the total flame surface
does not correctly represent the mean flame surface of the flame
,
kernel during ignition ki_eff is not correctly defined during
23.16 emissions.out
The emisions.out file summarizes the mass of the emissions. The output frequency is
combust.in . Table 23.17 summarizes the format and the data available in emissions.out .
23.17 equiv_ratio_bin.out
The mass within the domain is binned by equivalence ratio into twenty intervals , starting
at 0.0-0.1 and ending at 1.9-2.0. The equiv_ratio_bin.out file summarizes the fraction of the
total mass which has an equivalence ratio value within the specified range of each bin. The
first column lists the simulation time. The remaining columns give the mass fraction within
each of the bins as shown in Table 23.18 below. The output frequency is controlled by
twrite_files inputs.in
in .
The equiv_ratio_bin_region<ID>.out files contain analogous data for each region and are
2 0.0 - 0.1 Mass fraction which has a equivalence ratio in the range 0.0 to
0.1.
3 0.1 - 0.2 Mass fraction which has a equivalence ratio in the range 0.1 to
0.2.
4 0.2 - 0.3 Mass fraction which has a equivalence ratio in the range 0.2 to
0.3.
5 0.3 - 0.4 Mass fraction which has a equivalence ratio in the range 0.3 to
0.4.
6 0.4 - 0.5 Mass fraction which has a equivalence ratio in the range 0.4 to
0.5.
7 0.5 - 0.6 Mass fraction which has a equivalence ratio in the range 0.5 to
0.6.
8 0.6 - 0.7 Mass fraction which has a equivalence ratio in the range 0.6 to
0.7.
9 0.7 - 0.8 Mass fraction which has a equivalence ratio in the range 0.7 to
0.8.
10 0.8 - 0.9 Mass fraction which has a equivalence ratio in the range 0.8 to
0.9.
11 0.9 - 1.0 Mass fraction which has a equivalence ratio in the range 0.9 to
1.0.
12 1.0 - 1.1 Mass fraction which has a equivalence ratio in the range 1.0 to
1.1.
13 1.1 - 1.2 Mass fraction which has a equivalence ratio in the range 1.1 to
1.2.
14 1.2 - 1.3 Mass fraction which has a equivalence ratio in the range 1.2 to
1.3.
15 1.3 - 1.4 Mass fraction which has a equivalence ratio in the range 1.3 to
1.4.
16 1.4 - 1.5 Mass fraction which has a equivalence ratio in the range 1.4 to
1.5.
17 1.5 - 1.6 Mass fraction which has a equivalence ratio in the range 1.5 to
1.6.
18 1.6 - 1.7 Mass fraction which has a equivalence ratio in the range 1.6 to
1.7.
19 1.7 - 1.8 Mass fraction which has a equivalence ratio in the range 1.7 to
1.8.
20 1.8 - 1.9 Mass fraction which has a equivalence ratio in the range 1.8 to
1.9.
21 1.9 - 2.0 Mass fraction which has a equivalence ratio in the range 1.9 to
2.0.
, ,
23.18 film.out film_scrape.out film_accum.out film_accum_net.out ,
The film.out file summarizes the wall film data. The output frequency of data in this file is
format of film.out . Note that the film data is not written out in a region-by-region manner
4 and bound_id_ <ID> Mass of the liquid film on the specified boundary. The number of
simulation.
Similar output files present data on parcel interactions with boundaries. The
film_scrape.out file indicates the parcel mass that has been scraped from the boundary. The
film_accum.out file lists the parcel mass that has made contact with a boundary. The
film_accum_net.out file gives the parcel mass that has reached a boundary and remained on
it (i.e., mass that has not splashed or rebounded). Tables 23.20 and 23.20 present the
2 * total_hit ( kg
) Total liquid film mass that has interacted with the boundary
3 and bound_id_ <ID> Mass of the liquid film on the specified boundary. The number of
simulation.
2 * total_scrape (kg ) Total liquid film mass that has been scraped by the boundary
simulation.
23.19 film_urea_file.out
spray.in . Table 23.22 describes the format of film_urea_file.out, which contains film
composition data.
6 kg
Biuret ( ) Mass of biuret in film.
7 CY kg
A ( ) Mass of cyanuric acid in film.
CONVERGE writes output data for each FSI object to an fsi_ob ect_<name>.out
j file , where
<name> ob ect_id
is the j of the FSI object. For e xample, the output file might be
Tables 23.23 through 23.25 describe the possible formats of fsi_ob ect_<name>.out
j .
4 Vel Velocity ( ms / ).
5 Acc Acceleration ( m s2 / ).
23.21 gti_interface.out
The gti_interface.out file lists the averaged data for each coupling interface between
* Note: if more than one WALL boundary is coupled with GT-SUITE , these columns will
related to the ISSIM , including voltages , the spark ignition state , and the critical energy.
ignition) ,
0 = No spark ignition ,
1 = Pre-discharge,
2 = Breakdown ,
3 = Arc/glow.
13 ign_fraction Ignition fraction for each ignition event. For single ignition ,
ign_fraction = 1.
17 dmbgign_done ( kg ) Total burned gas that has been deposited on the spark plug.
18 mbgign_done ( m2 ) Integrated burned gas that been deposited on the spark plug for
19 surfbgign_targ ( m2 ) Flame surface density that has been deposited on the spark plug.
20 dsurfbgign_done ( m2 ) Integrated flame surface density that has been deposited on the
spark plug.
23.23 lhv_info.out
The lhv_info.out file lists the calculated lower heating value (LHV) corrector (a ) values
6
used by CONVERGE if lhv_flag = 1 in inputs.in . Table 23.2 summarizes the data available
in lhv_info.out . Note that for each listed LHV in lhv.in, all the columns are repeated and
followed by three rows: the LHV specified by the user and read from lhv.in, the LHV
calculated by CONVERGE for that species , and resultant LHV fractional correction. Figure
from lhv.in.
3 new_low_a6 Calculated value of a :
6
a 6 = x1W1 /R u
where
CONVERGE writes a map_<time>.out file ( e.g., map_1.000000e 02.out + at 100 crank angle
degrees seconds
or ) at the end of each simulation. Table 23.29 below describes the format of
inwrite_map.in .
3 m)
Z ( Z coordinate of the cell center.
C7H16)
You can use a map_<time>.out file to initialize variables in a new simulation via mapping.
Tables 23.30 and 23.31 describe the format of the map_bound<ID>_<time>.out e.g., (
simulation.
The top of each map_bound<ID>.out file contains a block of information for geometry and
Parameter Description
trans_y Translation to be applied to y coordinates.
rot_axis A xis about which the coordinates and velocity of the data below will
, ,
translating. For velocity however the rotation is applied before
rot_angle Rotation angle (in degrees ) about the rot_axis of the data below. Use
the right hand rule to determine the direction of rotation about the
rot_axis .
0.000 second Present for file formatting reasons. Note that this row does not specify
Following the header , the map_bound<ID>.out files contain several columns of data. Table
C7H16)
23.26 mass_avg_flow.out
The mass_avg_flow.out file provides mass flow and mass flow-weighted average data at
INFLOW and OUTFLOW boundaries. The first two columns list the cycle number and
time , respectively. The remaining columns tabulate the boundary mass flow and
If there is more than one INFLOW or OUTFLOW boundary , the mass flow and
thermodynamic data are repeated in additional columns. For e xample, if there are two
OUTFLOW boundaries , columns 3 to 15 would contain the data for the first OUTFLOW
while columns 16 to 28 would contain the data for the second OUTFLOW. Note that the
inputs.in, then there are two extra output columns for each pair of regions that are
2 Cycle_Number i.e.,
Simulation cycle number ( number of time-steps).
,
repeated for each species for each INFLOW/OUTFLOW
,
boundary in the simulation.)
23.27 mech_check.out
The mech_check.out file is generated after CONVERGE checks the mechanism data file for
errors. This file is in two parts. The first portion describes the species in the reaction
mechanism data file. Table 23.33 summarizes the format of this portion of mech_check.out .
3 PHASE Phase of the species listed in the reaction. Typically G for gas
phase.
,
data file format if the species listed above is specified in the
NASA 9 format.
The second part of mech_check.out lists all the reactions read by CONVERGE in the
reaction mechanism file. Each reaction is assigned a three-digit reaction number , which is
followed by the reaction coefficients. Special conditions for the reaction (such as
enhancements) are printed offset below the reaction. Table 23.34 summarizes the format of
5 E ( cal mole
/ ) Activation energy for the reaction.
23.28 mechanism_tune.out
The mechanism tune utility outputs the mechanism_tune.out file for your reference. A
# column 1 2
# Order Reaction
# (none) (none)
#
1 67
2 52
3 78
4 76
5 103
6 99
7 77
8 64
9 98
10 91
11 59
12 60
13 107
14 13
15 95
16 66
17 20
18 23
19 24
20 33
21 34
22 63
23 79
24 65
25 84
Figure 9.14: An example mechanism_tune.out file.
23.29 memory_usage.out
The memory_usage.out file reports the total memory usage and memory usage per
processor (or rank) at each time-step for a CONVERGE simulation. CONVERGE writes
memory_usage.out file records all memory usage data in megabytes MB ( ). Table 23.35
presents the format of the memory_usage.out file. Starting with column 3 , CONVERGE
writes the memory usage of each processor used in the simulation. For e xample, if you run
If you restart a simulation , CONVERGE will add a number to the file name ( e.g.,
memory_usage1.out ) to avoid overwriting any memory usage files.
23.30 metis_map.out
The metis_map.out file provides information for the number of parallel blocks and cells in
processors after load balancing. After each load balancing operation (see Chapter 11 -
Parallel Processing) , a block of te xt is written to the metis_map.out file. The first row of this
block lists column headers. The remaining rows list the corresponding values shown in
It is important to note that the information in this file is simply a snapshot of the number
of parcels at the time of load balancing. Parcels may move between processors at any time
balancing.
3 total blocks The total number of parallel blocks in the domain. This number is
4 frozen blocks The total number of frozen parallel blocks in the domain.
23.31 metis_map_frozen.out
The metis_map_frozen.out file provides information for the number of frozen parallel blocks
and frozen block islands in the domain. After each iteration , CONVERGE writes the
iteration number followed by a block of te xt. The first row of this block lists column
headers. The remaining rows list the corresponding values shown in Table 23.37 below.
2 rank Processor on which this island is solved (repeats for each block).
3 num_solved_island The total number of cells solved in this island (repeats for each
block).
23.32 mixing.out
The mixing.out file will be written when the input parameter mixing_output_flag in
inputs.in is set to 1. This file contains information on the equivalence ratio , relative air-fuel
N iC i N i
1
2
, H , i
i 2 i ,
N iO i
(23.12)
,
i
mtotal
where the subscript cell indicates the cell value , mean represents the mean value , total
indicates the total value , STD indicates the standard deviation and the parameter m is the
N iC i N i
1
2
, H , i
i 2 i
j
,
N iO i
(23.14)
,
j i
1
. (23.15)
mtotal
.
N iC i N i
1
2
, H , i
R i 2 i ,
N iO i
(23.17)
,
i
where i xcept
is all species e H O and CO . The standard deviation for reaction equivalence
2 2
ratio is given by
mtotal
.
R R 1
. (23.19)
mtotal
.
f
Note that
mean, lmean, and l
R mean are calculated by summing over all the cells as
2 Lambda_Mean The average lambda (relative fuel-air ratio) value for the domain.
4 Phi_Mean The average equivalence ratio value for the domain. Note that this
6 Rct_Lmda_Mean The average lambda (relative air fuel ratio) value for the domain ,
which does not include CO and H O in the calculation.
2 2
7 Rct_Lmda_StdDev The standard deviation of lambda for the domain which does not ,
include CO and H O in the calculation.
2 2
8 Rct_Phi_Mean The average equivalence ratio value for the domain which does ,
not include CO and H O in the calculation.
2 2
10 Overall_Phi The overall equivalence ratio for the domain. This quantity
, ,
includes liquids (fuel spray parcels etc.) as well as gases.
11 Overall_Phi_StdDev The standard deviation of the equivalence ratio for the domain.
,
This quantity includes liquids (fuel spray parcels etc.) as well as ,
gases.
MASS_AVG in monitor_points.in .
VOL_AVG in monitor_points.in .
23.34 one_d_flamespeed.out
The one_d_flamespeed.out file contains the initial conditions for each 1D premi xed laminar
flamespeed case (refer to Chapter 13 Chemistry Modeling) along with the resultant
one_d_solver.in . Note that this feature works with only the stand-alone 1D Newton solver
one_d_sens.out,
one_d_asens_rank.out, and
one_d_asens_case<ID>.out,
which are described below.
one_d_sens.out
The one_d_sens.out file consolidates information from the one_d_sens_case<ID>.out files . It
contains the reactions from the reaction mechanism file sorted in decreasing order of
sensitivity , as shown below in Figure 23.3. The rank of the reaction is the first column , and
the subsequent columns list the reaction number from each case. Table 23.41 summarizes
# column 1 2 3 4
# Place Case_0_Reac_Num Case_1_Reac_Num Case_2_Reac_Num
# (none) (none) (none) (none)
#
1 16 16 16
2 -15 -27 -27
3 -27 -15 -13
Figure 23.3: Excerpt of one_d_sens.out.
file.
2 * Case_ <ID>_Reac_Num The reaction number for this reaction in case number <ID> .
one_d_sens_rank.out
The one_d_sens_rank.out file lists the combined ranking from all the 1D cases into one file ,
and ranks the reactions in decreasing order of sensitivity from all the 1D cases. Table 23.42
one_d_sens_case<ID>.out
In the one_d_sens_case<ID>.out files , a header records the pressure , unburned temperature ,
equivalence ratio , and EGR ratio by volume. Table 23.43 describes the rest of the data in
the file. The <ID> signifier in the file name corresponds to the case ID in one_d_cases.in .
When modeling a 1D premi xed laminar flame (see Chapter 13 Chemistry Modeling) , the
temperature and mass flow vary throughout the domain. CONVERGE records the
premi xed laminar flamespeed utility. A header records initial pressure and temperature , as
well as the equivalence ratio. Table 23.44 describes the rest of the data in the file. For
species concentrations , CONVERGE writes one column for each species in the simulation.
3 Mass_Flow ( g s cm2
/ / ) The mass flow at the specified location.
4 and <Species Name > The species mass fraction at the specified location.
up
23.37 passive.out
The passive.out file specifies the mass , mean , and standard deviation of each passive and
non-transport passive. The first column in the output file gives the simulation time while
the remaining columns (e xcept for the last column) give the statistics of each passive and
non-transport passive defined in species.in . The final column lists the total mass in the
region. The output frequency is controlled by twrite_files in inputs.in . Table 23.45 below
(kg/ m3 )
(kg/m )
3
23.38 phenom_soot_model.out
The output file phenom_soot_model.out will be written if any of the phenomenological soot
emissions.in . The file contains soot output data that is averaged over the computational
domain for the time indicated from the selected model. Table 23.46 below summarizes the
3 NumDensity ( parts m /
3
) ,
Soot number density averaged in the computational domain.
4 Incept_Mass ( kg ) ,
Soot mass due to inception averaged in the computational
domain.
domain.
domain.
7 Coag_Mass ( kg ) ,
Soot mass due to coagulation averaged in the computational
domain.
specified $$ in the piston boundary's velocity boundary condition row . The <ID>
represents the boundary ID as specified in boundary.in . This output file will contain piston
displacement information calculated every 0.1 crank angle degrees . Table 23.47 describes the
format of this output file. Note that CONVERGE measures the piston displacement relative
CONVERGE writes an output file point_num<ID>.out for each monitor point defined via
UDF . By default , point_num<ID>.out contains temperature , pressure , tke, eps , velocity , and
equivalence ratio data. If the monitor location is a single point , these data are written at
that point. If the monitor location is a sphere , the written data are the average value
within that sphere. You can remove default variables and add additional variables by
editing the user_points_data.c file. See the CONVERGE UDF Manual for more information.
4 m2 s2
TKE ( / ) Turbulent kinetic energy at the monitor point.
5 m2 s3
EPS ( / ) Turbulent dissipation at the monitor point.
23.41 react_ratio_bin.out
The mass within the domain is binned by reaction ratio into twenty intervals , starting at
0.0-0.1 and ending at 1.9-2.0. The react_ratio_bin.out file summarizes the fraction of the
total mass which has a reaction ratio value within the specified range of each bin. The first
column lists the simulation time. The remaining columns give the mass fraction within
each of the bins as shown in Table 23.49 below. The output frequency is controlled by
twrite_files inputs.in
in .
2 0.0 - 0.1 Mass fraction which has a reaction ratio in the range 0.0 to 0.1.
3 0.1 - 0.2 Mass fraction which has a reaction ratio in the range 0.1 to 0.2.
4 0.2 - 0.3 Mass fraction which has a reaction ratio in the range 0.2 to 0.3.
5 0.3 - 0.4 Mass fraction which has a reaction ratio in the range 0.3 to 0.4.
6 0.4 - 0.5 Mass fraction which has a reaction ratio in the range 0.4 to 0.5.
7 0.5 - 0.6 Mass fraction which has a reaction ratio in the range 0.5 to 0.6.
8 0.6 - 0.7 Mass fraction which has a reaction ratio in the range 0.6 to 0.7.
9 0.7 - 0.8 Mass fraction which has a reaction ratio in the range 0.7 to 0.8.
10 0.8 - 0.9 Mass fraction which has a reaction ratio in the range 0.8 to 0.9.
11 0.9 - 1.0 Mass fraction which has a reaction ratio in the range 0.9 to 1.0.
12 1.0 - 1.1 Mass fraction which has a reaction ratio in the range 1.0 to 1.1.
13 1.1 - 1.2 Mass fraction which has a reaction ratio in the range 1.1 to 1.2.
14 1.2 - 1.3 Mass fraction which has a reaction ratio in the range 1.2 to 1.3.
15 1.3 - 1.4 Mass fraction which has a reaction ratio in the range 1.3 to 1.4.
16 1.4 - 1.5 Mass fraction which has a reaction ratio in the range 1.4 to 1.5.
17 1.5 - 1.6 Mass fraction which has a reaction ratio in the range 1.5 to 1.6.
18 1.6 - 1.7 Mass fraction which has a reaction ratio in the range 1.6 to 1.7.
19 1.7 - 1.8 Mass fraction which has a reaction ratio in the range 1.7 to 1.8.
20 1.8 - 1.9 Mass fraction which has a reaction ratio in the range 1.8 to 1.9.
21 1.9 - 2.0 Mass fraction which has a reaction ratio in the range 1.9 to 2.0.
23.42 regions_flow.out
The regions_flow.out file provides the mass flow between two regions and/or across
INFLOW and OUTFLOW boundaries. CONVERGE writes this output only when
region_flow_flag is set to 1 or 2 in inputs.in . The first two columns give the cycle number
and time , respectively. The remaining columns give the inter-region mass flow.
2 Cycle_Number i.e.,
Simulation cycle number ( number of time-steps).
Regions _<i>_ _< > to j Region numbers are indicated in the #comment rows.
5 * <species passive
Tot- / Mass flow of the species/passive from region i to region j . Region
6 ** <species passive
Rate- / Flow rate of <species or passive name> through INFLOW or
** If region_flow_flag = 2 , then column 5 is written and repeated for each species and
OUTFLOW boundary , then columns 6 and 7 are also repeated for each INFLOW or
contains the residual error information for transported equations and pressure , formatted
as shown in Table 23.50 below. The <Species or Passive name> columns are repeated for the
3 X-Momentum ( kg m2-s
/ ) X-momentum residual error.
4 Y-Momentum ( kg m2-s
/ ) Y-momentum residual error.
5 Z-Momentum ( kg m2-s
/ ) Z-momentum residual error.
7 and <Species or Passive The residual error for the transported species and passives.
up name>
If there is more than one region with residual data , then CONVERGE will generate
contain the residual output for each region in the same format as that described above.
23.44 scalar_diss_rate.out
CONVERGE writes the scalar_diss_rate.out file when the RIF model has been activated ( i.e.,
if rif_flag = 1 in combust.in ). The file contains the scalar dissipation rate for each flamelet.
scalar_diss_rate.out .
each flamelet.
CONVERGE writes the sensitivity coefficient matri x at each time-step to the sens<case>.out
file when you include sensitivity analysis in a zero-dimensional simulation (set
zero_d_sensitivity_flag = zero_d_solver.in) Y
2 in . ou can post-process this file with the
CONVERGE writes the sens<case>.out file when you include sensitivity analysis in a zero-
processing this file with the sens_convert , utility you can create a folder for each case
sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out, and
sens<case>_var<num>_<name>_pos.out .
The files are parametrically named by the 0D case number ( <case> , ) the variable number
in Figure 23.4 below , the case number is 0 , the variable number is 38 , and the variable
The sens<case>_var<num>_<name>.out file contains columns for the time (in seconds , ) the
coefficient for each reaction (listed by the reaction numbers in mech_check.out ) at each
time-step. The sensitivity coefficient columns lists the reaction number , ma ximum
sensitivity coefficient value (positive or negative) , the ranking based on the absolute value
of the previous number (positive coefficient values have positive rankings and negative
coefficient values have negative rankings) , and the sensitivity coefficients for the reaction ,
in this order. CONVERGE finds the ma ximum absolute value of the sensitivity coefficient
for each reaction and ranks them. CONVERGE lists the value and ranking after the
sens<case>_var<num>_<name>.out .
2 Variable Quantity The variable quantity from from the Z matri x. It is either a species
mole
j
(concentration in
concentration or temperature and is designated in the output file
K)
3 + Reaction Sensitivity The column lists the reaction number ma , ximum sensitivity
Coefficients ,
coefficient value (positive or negative) the ranking based on the
,
negative rankings) and the sensitivity coefficients for the
,
reaction in this order.
the ma ximum absolute value of the sensitivity coefficient of each reaction. The output files
list the columns of sensitivity coefficients in ascending order by rank , as shown in Figure
23.5.
23.47 skip_species.out
If you have activated the skip species feature ( i.e., if skip_species_flag = 1 in inputs.in ,)
CONVERGE will write skip_species.out, which contains information about each iteration of
the skip species process. The first line contains the simulation time and the skip species
start and end times. This information comes directly from the skip_species.in file and is
included so that you can verify the skip species start and end times. On the ne xt line ,
CONVERGE writes the number of gas and liquid species that are included in the chemistry
computations ( i.e., the number of species that were not skipped) and the total number of
fluid species in the simulation. The final line lists the species that were not skipped.
After the above information , CONVERGE prints a block of te xt when the skip species
process ends. The first line of this block contains the simulation time and repeats the skip
species species start and end times. The ne xt line contains a message that the skip species
computations are ending and that CONVERGE will return to solving all fluid species.
If skip species is C YCLIC, you will see multiple blocks of information. Figure 23.2 below
CONVERGE will write the soot_hiroy.out output file if you activate the Hiroyasu-NSU soot
model by setting the flag hiroy_soot_flag = 1 in emissions.in . The file contains the Hiroyasu-
NSU soot as a function of time as well as the formation and o xidation terms. Table 23.53
23.49 soot_pm_model.out
CONVERGE will write the output file soot_pm_model.out if the Particulate Mimic (PM)
contains soot output data that is averaged over the computational domain for the time
indicated from the PM model. Table 23.54 below summarizes the output in the
3 * NumDensity ( parts m /
3
) ,
Soot number density averaged in the computational domain.
4 * VolFrac The fraction of the volume occupied by soot ( m3 ) in the gas (m3 )
m[
(
3
]
soot / m[
3
gas ) ]
5 * TotSurf Soot surface area per unit gas volume averaged in the ,
m[
(
2
]
soot / m[ ]
3
gas ) computational domain.
moment is calculated.)
9 * PiMass (kg) Soot mass due to particle inception (nucleation) averaged in the ,
computational domain.
10 * SgMass (kg) ,
Soot mass due to surface growth averaged in the computational
domain.
11 * FrMass (kg) ,
Soot mass due to fragmentation averaged in the computational
domain.
domain.
13 * ConMass (kg) ,
Soot mass due to condensation averaged in the computational
domain.
14 * CoagMass (kg) ,
Soot mass due to coagulation averaged in the computational
domain.
15 MSoot0 ( mole kg
/ ) Zeroth soot moment ( mole of soot per kg ,
of gas) averaged in the
computational domain.
computational domain.
* The column numbers shown in this table are based on two moments ( mauss_num_mom =
2). The column numbers will vary with the value of this parameter.
23.50 soot_psm_model.out
CONVERGE will write the output file soot_psm_model.out if the Particulate Size Mimic
emissions.in . The file contains soot output data that is averaged over the computational
domain for the time indicated from the PSM model. Table 23.55 below summarizes the
3 NumDensity ( parts m /
3
) ,
Soot number density averaged in the computational domain.
4 VolFrac ,
Soot volume fraction averaged in the computational domain.
m[
(
3
]
soot / m[ 3
gas ) ]
5 * SectRate_Mass ( kg ) ,
Soot mass averaged in the computational domain.
7 * SgMass ( kg ) ,
Soot mass due to surface growth averaged in the computational
domain.
8 * FrMass ( kg ) ,
Soot mass due to fragmentation averaged in the computational
domain.
domain.
10 * ConMass ( kg ) ,
Soot mass due to condensation averaged in the computational
domain.
11 * CoagMass ( kg ) ,
Soot mass due to coagulation averaged in the computational
domain.
12
YSoot# ,
Soot mass fraction averaged in each section ( #) the
computational domain.
13
PSDF # Soot particle size distribution function in each section ( #) of the
computational domain.
23.51 species_mass.out
The species_mass.out output file summarizes the total mass of each species specified using
total mass of each species at that time. One column will be included for each species that is
Table 23.56 below summarizes the data written in the species_mass.out file.
Table 23.56: Description of species_mass.out.
Column Header (units) Description
1 Time ( seconds ) or Crank Time in seconds crank_flag =
if 0 in inputs.in or in crank angle degrees
crank angle degrees
( ) if crank_flag =
1 or 2.
2 * Species name ( kg ) Total species mass. This column is repeated for every species as
23.52 species_mass_frac.out
The species_mass_frac.out output file summarizes the mass fraction of each species specified
using the species_output_flag ininputs.in . CONVERGE uses a list of available species based
the mass fraction of each species at that time. One column will be included for each species
you used this option. The output frequency is controlled by twrite_files inputs.in
in .
Table 23.57 below summarizes the data written in the species_mass_frac.out file .
Table 23.57: Description of species_mass_frac.out.
Column Header (units) Description
1 Time ( seconds ) or Crank Time in seconds crank_flag =
if 0 in inputs.in or in crank angle degrees
(crank angle degrees ) if crank_flag =1 or 2.
2 * Species name Mass fraction of the species. This column is repeated for every
species)
23.53 species_std_masfrac.out
The species_std_masfrac.out output file summarizes the standard deviation of the mass
uses a list of available species based on the species defined in both species.in and mech.dat.
The first column in species_std_masfrac.out lists the time , and the remaining columns list the
standard deviation of the mass fraction of each species at that time. One column will be
included for each species that is specified using the species_output_flag inputs.in. in These
columns will be in the same order as defined in the species mech.dat, species.in,
section of
and the species_output.in file , if you used this option. The output frequency is controlled by
twrite_files inputs.in
in .
Table 23.58 below summarizes the data written in the species_std_masfrac.out file .
Table 23.58: Description of species_std_masfrac.out.
Column Header (units) Description
1 Time (seconds ) or Crank Time in seconds crank_flag
if = 0 in inputs.in or in crank angle
crank angle degrees
( ) degrees crank_flag =
if 1 or 2.
2 * Species name Standard deviation of the mass fraction of the species. This
species_output_flag inputs.in
in .
23.54 species_mole_frac.out
The species_mole_frac.out output file summarizes the mole fraction of each species specified
using the species_output_flag in inputs.in . CONVERGE uses a list of available species based
mole fraction of each species at that time. One column will be included for each species
that is specified using the species_output_flag inputs.in. in These columns will be in the same
you used this option. The output frequency is controlled by twrite_files inputs.in
in .
2 * Species name Mole fraction of the species. This column is repeated for every
all species)
23.55 species_vol.out
The species_vol.out file contains species volume data for a VOF simulation. The
<total_vol> .
23.56 spray.out
The spray.out file summarizes the injection results and the spray penetration for each
nozzle. The first column lists the time , and remaining columns provide the data for that
Table 23.61 below describes the format of spray.out. Note that the column numbers listed
in the table are representative of output from a simulation with only one injector and one
nozzle. If a simulation includes more injectors or nozzles , the spray.out file will contain
additional columns.
2 drop film
tot_parcels ( + ) ,
Total number of spray parcels including parcels in the wall
film.
3 spray_parcels ( drop ) Number of spray parcels e , xcluding those in the wall film.
4 * liq_spray_mass ( kg ) Total liquid spray mass in the domain (not including mass in
5 Fuel species name , ( e.g., Mass of the fuel species. If there is more than one fuel species in
C7H16 ( kg )) ,
the simulation there will be one column per species.
6 smd (m ) Sauter mean diameter of spray (not including parcels in the wall
film).
8 DV50 ( m ) The volume median particle size (not including parcels in the
wall film).
- 12
ms
Inj_Vel ( / ) Injection velocity of the current injector.
12
- Inj_Vel_Old ( ms / ) Injection velocity for the current injector before the contraction
coefficient is applied.
13
- Inj_Vel_New ( ms / ) Injection velocity for the current injector after the contraction
coefficient is applied.
15
13
Inj_Press ( MPa ) Injection pressure for the current injector.
14
Noz_No Number of the current nozzle.
16
17
15
Spray_Penet ( m
) Liquid penetration length for the current nozzle.
discharge_coeff_flag = 1 or 2 in spray.in
discharge_coeff_flag = 0 in spray.in
The injection pressure written to the spray.out file is given by
V
2
P in l
1
,
j
2
d C (23.21)
where rl is the liquid density , Cd is the discharge coefficient and V is the liquid velocity
based on the geometric hole diameter ( i.e., the velocity before a contraction coefficient is
applied).
Ntot
N i di 3
d 32
Ni
tot
1
, (23.22)
N i di 2
i 1
where Ntot is the total number of parcels , Ni is the number of drops of parcel i, and di is the
diameter of parcel i
.
named with the time of the simulation. For a simulation that includes spray modeling ,
CONVERGE writes a spray_map_<time>.out e.g., spray_map_1.000000e 02.out
file ( + at 100
crank angle degrees seconds or ) at the end of each simulation. CONVERGE writes additional
spray_map_<time>.out write_map.in
file(s) as designated in .
3 m
Z ( ) Z coordinate of the parcel.
12 + <species name > Liquid mass fraction of <species name > in each drop in the
parcel. This file will contain one column per species in the parcel.
higher)
higher)
You can use a spray_map_<time>.out file to initialize variables in a new simulation via
mapping.
At the start of a simulation , CONVERGE writes spray_rate_in <ID>.out j for each injector ,
parametrically named with the injector ID number. You can use this file to verify the rate-
shape information. Table 23.63 below describes the format of spray_rate_in <ID>.out j .
- 4
Inj_Vel ( ms / ) Injection velocity for the current injector.
- 5
Inj_Pres ( MPa ) Injection pressure for current injector.
4 * - Inj_Vel_Old ( ms / ) Injection velocity for the current injector before the contraction
coefficient is applied.
5 * - Inj_Vel_New ( ms / ) Injection velocity for the current injector after the contraction
coefficient is applied.
* discharge_coeff_flag = 1 or 2 in spray.in
discharge_coeff_flag = 0 in spray.in
The total area of the nozzles for an injector is given by the product of the number of
If the rate-shape entries are given by irateshape at each interval , then the mass of injection
rateshape
during each interval ( dmi ) is given by
rateshape rateshape
dmirateshape i i 1
where dtirateshape is the time interval between two rate-shape entries and rl is the density of
Note that this assumes that the units of irateshape are velocity ( ms/ ). However, only the shape
of the input rate-shape (not the magnitude of each entry) is important. To convert them to
true velocities , CONVERGE calculates the scaling factor velscale_rateshape for the rate-shape
entries:
i 1
where the total mass of injection is given by mass_in ect j in spray.in . The velocity in
in pres 1
l
in vel old
j_ _
2
,
Cd
j_ (23.27)
2
where Cd is the discharge coefficient. CONVERGE evaluates the new injection velocity
( in _vel_new
j ) as
Ca
j_ _ (23.28)
The spray_region<ID>.out file summarizes the injection results and the spray penetration
within a region. The first column lists the time , and remaining columns provide the data
2 liq_spray (drops ) Number of spray parcels in the region e , xcluding parcels in the
wall film.
3 * liq_spray_mass ( kg ) Total liquid spray mass in the region (not including mass in the
wall film).
4 Fuel species name , ( e.g., Mass of the fuel species. If there is more than one fuel species in
C7H16 ( kg )) ,
the simulation there will be one column per species.
6 smd ( m ) Sauter mean diameter of spray (not including parcels in the wall
film).
8 DV50 ( m ) The volume median particle size (not including parcels in the
wall film).
23.60 spray_ecn.out
The spray_ecn.out file lists the liquid penetration based on various percentages of the liquid
mass. This file also includes vapor penetration information based on the ECN (Engine
Combustion Network) definition. The output frequency for this file is controlled by
twrite_files inputs.in
in . Table 23.65 below describes the format of spray_ecn.out . Columns 2-
5 Spray_Penet90 ( m ) Penetration distance from the nozzle e xit for the current nozzle
based on 90 % of the liquid mass.
6 Spray_Penet95 ( m ) Penetration distance from the nozzle e xit for the current nozzle
based on 95 % of the liquid mass.
7 Spray_Penet97 ( m ) Penetration distance from the nozzle e xit for the current nozzle
based on 97 % of the liquid mass.
8 Spray_Penet99 ( m ) Penetration distance from the nozzle e xit for the current nozzle
based on 99 % of the liquid mass.
9 Vapor_Penet ( m ) Penetration distance from the nozzle e xit for the current nozzle
based on 0.10 % vapor mass fraction.
23.61 spray_urea_file.out
23.62 steady_state.out
CONVERGE writes steady_state.out when the steady-state monitor has been activated ( i.e.,
when monitor_steady_state_flag = 1 in inputs.in monitor_steady_state.in
and file is in the
Case Directory). Table 23.67 describes the format of steady_state.out . Columns 3 through 5
name specified in
monitor_steady_state.in>
4 + Mean <variable name Mean of the second sample set. CONVERGE writes 0 until
specified in the first and second sample sets have been populated with
monitor_steady_state.in> data.
5 + Std <variable name Standard deviation of the second sample set. CONVERGE
specified in writes 0 until the first and second sample sets have been
When running a case that includes super-cycling , at the conclusion of each super-cycle
number. CONVERGE creates one file for each solid stream. Table 23.69 below summarizes
always time and the sum of the flu xes, respectively. The other columns will vary
- flu x ( s)
J/ Flu x (J/ s
).
- flu x ( s)
J/ Flu x (J/ s
).
- surf_temp_outer (K) Surface temperature ( K ) of the boundary on the other side of the
INTERFACE.
last total ( s)
J/ Sum of all flu xes s
(J/ ).
23.65 surface_species_cov.out ,
surface_species_cov_region < >
ID .out
This file summarizes the species coverages of each surface species listed in surface_mech.dat .
2 + Surface species name Coverage of the surface species. This column is repeated for every
mole cm2 surface species and lists the species in the same order as in the
surface_mech.dat
(dimensionless: /
SITE section of .
of this species per
mole cm2
/ of all species)
23.66 temperature.out
The temperature.out file summarizes the fraction of the domain above a specified
temperature. There are four fi xed temperatures used as criterion for this file: 2500 K, 2600
K, 2700 K, and 2800 K . The first column in the output file gives time. The remaining four
columns give the mass fraction above the fixed temperature. The output frequency is
region ID.
23.67 thermo.out
The thermo.out file contains a summary of thermodynamic and combustion data. The first
column lists the simulation time. The remaining columns give the data for that time. The
Cycles of time-steps).
3 Ma x_Pres MPa
( ) Ma ximum pressure.
13 C_p ( kg K
J/ ) Specific heat at constant pressure.
23.68 time.out
The time.out file contains some of the time-related information that is also written to the log
file. CONVERGE writes information to time.out at each time-step ( i.e., the value of
twrite_files has no effect on time.out ). Table 23.73 describes the format of time.out . The
,
stability and thus CONVERGE will increase the time-step size.
the recoveries.
This column is blank for the first time-step because the first time-
23.69 transfer.out
The transfer.out file contains wall heat transfer data for each cell adjacent to a wall
boundary. This file is used for coupling with finite element analysis. To direct CONVERGE
( e.g., transfer.in ) and supply the corresponding file to specify boundaries for which
and pressure , total wall surface area , and surface average heat flu x and heat transfer
coefficient) and then wall heat transfer data to transfer.out . Table 23.74 below describes the
format of transfer.out .
7 FLU X W m2
( / ) Heat flu x at the boundary cell.
9 HTC ( W m2 K / / ) Heat transfer coefficient at the boundary cell. HTC is 0 for solid
,
cells the value defined in boundary.in for cells subject to the
,
convection boundary condition and given by the heat flu x
divided by the temperature difference in all other cases.
12 X_ORIG ( m ) Original X coordinate of the boundary cell that comes from the
13 Y_ORIG ( m ) Original Y coordinate of the boundary cell that comes from the
14 Z_ORIG ( m ) Original Z coordinate of the boundary cell that comes from the
16 FLU X_CONV ( Wm /
2
) Convective heat flu x at the boundary cell.
17 HTC_CONV ( Wm K /
2
/ ) Convective heat transfer at the boundary cell.
Nm
( /
2
)
20 SIE (J/ kg ) Cell specific internal energy including the formation energy of
species.
21 VEL_ ms
X( / ) Cell velocity in the x-direction.
thermal conductivity.
26 TKE ( m2 s3
/ ) Cell turbulent kinetic energy.
23.70 transport_check.out
The transport_check.out file lists the diffusion coefficients (as listed in transport.dat ) for the
species in the 1D premi xed laminar flamespeed simulation (see Chapter 13 Chemistry
3 N/A J
The Lennard- ones potential.
4 N/A J
The Lennard- ones collision diameter.
23.71 turbulence.out
The turbulence.out output file summarizes the turbulence quantities. CONVERGE generates
this file only when turbulence_solver_flag = 1 in inputs.in . The first column lists the
simulation time while the remaining columns give the mass-averaged turbulence data at
that time. The output frequency is controlled by twrite_files in inputs.in . Table 23.76
2 TKE ( m2 s2
/ ) Mass-averaged turbulent kinetic energy (tke).
s/m2)
18 V2 ( m2 s2/ ) Velocity variance normal to the streamline.
19 V2_StdDev ( m2 s2
/ ) Standard deviation of velocity variance normal to the streamline.
22 F ( 1s
/ ) Elliptic rela xation function.
, and that
the kinematic viscosity ( m2 s / ) is the dynamic viscosity divided by density. The parameter cm
is a turbulence model constant , k is the turbulent kinetic energy , and e is the turbulent
le c k
3 2
,
3 4
(23.29)
u 2
k . (23.30)
3
The standard deviations for turbulent kinetic energy , turbulent dissipation rate , turbulent
kinematic viscosity , length scale , turbulent velocity , viscosity ratios , and turbulent dynamic
mtotal
where y represents any of these turbulence variables and m is the mass. The subscripts are
as follows: cell indicates the cell value , mean represents the mean value , total indicates the
23.72 vof_spray.out
vof.in. This flag directs CONVERGE to write a vof_spray.out file , which contains position ,
velocity , turbulence , temperature , and cell size information for the liquid parcels in the
5 V ( ms
/ ) The y component of velocity ( ms / ).
23.73 volumes.out
The volumes.out file contains liquid and gas volume data for a VOF simulation. The
volumes_region<region ID>.out files contain region-specific liquid and gas volume data for a
Table 23.78 summarizes the format of the volumes.out and volume_region<region ID>.out
files.
The wall_stress<number>_<time>.out file contains the force , stress , and pressure acting on
WALL boundaries. The file name includes the output number and output time. If you set
5 Mag Wall_Stress ( N m2/ ) Vector sum of the wall stresses in the x, y, and z directions.
7 Wall_Stress_ Y( N m2
/ ) Wall stress in the y direction.
8 Wall_Stress_Z ( N m2
/ ) Wall stress in the z direction.
9 Force_ N
X( ) Force on the wall in x direction.
12 Pres ( N m2
/ ) Pressure at the wall.
three files:
zero_d_asens.out,
zero_d_asens_rank.out, and
zero_d_asens_case<ID>.out.
The zero_d_asens_case<ID>.out files are named by the 0D case number ( <ID> .
) Table 23.80
summarizes the format of zero_d_asens_case<ID>.out . Note that the header of the second
column is the name of the variable for which you chose to perform adjoint sensitivity
analysis. For each such variable , a column will be generated after the second.
in mech_check.out
.
2 * <Variable name> (none) Sensitivity coefficient normalized by the specified variable at the
Temperature.
sensitivity , as shown in Figure 23.6. The rank of the reaction is the first column , and the
subsequent columns list the reaction number from each case. Table 23.81 summarizes the
format of zero_d_asens.out .
# column 1 2 3 4
# Place Case_0_Reac_Num Case_1_Reac_Num Case_2_Reac_Num
# (none) (none) (none) (none)
#
1 16 16 16
2 -15 -27 -27
3 -27 -15 -13
Figure 23.6: Excerpt of zero_d_asens.out.
file.
2 * Case_ <ID>_Reac_Num The reaction number for this reaction in case number <ID> .
The zero_d_asens_rank.out file lists the combined ranking from all the 0D cases into one file ,
and ranks the reactions in decreasing order of sensitivity from all the cases. Table 23.82
header records the initial pressure , temperature , and equivalence ratio. Table 23.83
describes the rest of the data in the file. For species concentrations , CONVERGE writes one
4 and <Species Name > The species mass or mole fraction (based on the value of
up zero_d_mole_frac_output_flag zero_d_solver.in
in ) at the specified
time.
When you run the autoignition utility for a zero-dimensional case with CEQ
( zero_d_case_type = ceq_constant_enth_pres ceq_constant_temp_pres
or in zero_d_solver.in , )
initial enthalpy or temperature and pressure , as well as the equivalence ratio. Table 23.84
describes format of the file for cases with CE Q. Note that CONVERGE writes the species
line is pressure ( Pa ). The third and following lines are the species
in the simulation.
During a simulation , CONVERGE writes information to the screen (unless you redirect this
information to a file such as log.out ). This section describes the screen output and how to
Figure 23.7 below shows the header portion of the screen output , which includes the
********************************************************************************
* This software is Proprietary to Convergent Science Inc. (2008) *
* CONVERGE Official Release 2.4 *
* Feb 03, 2017 *
* *
* CEQ equilibrium solver is included under license agreement with *
* Ithaca Combustion Enterprise LLC. *
* *
* Adaptive zoning solver is included under license agreement with *
* Lawrence Livermore National Security, LLC. All rights reserved *
********************************************************************************
Figure 23.7: Header information in the screen output.
CONVERGE writes screen output information about the input and data files as they are
read. Figure 23.8 below provides an e xample. In addition to listing the input files as they
are being read in , the screen output provides additional information such as the number of
reactions in the chemical mechanism that is specified in mech.dat . You can use this
information to verify that the simulation is using the intended input files and reaction
mechanism.
Before the first cycle , CONVERGE writes the cell count for each rank ( i.e., each processor) ,
to the screen (or log file). Use this information to e xamine the load balancing , i.e., the
distribution of cells to the various ranks. In Figure 23.14 below , CONVERGE writes
cell_count in rank 3 is: 6309 indicating that CONVERGE assigned 6309 cells to rank
3. In an ideal case , each rank would have the same number of cells. In practice , if the
number of cells distributed to each rank is similar , the load balancing is sufficient. The
overall speed of the simulation will tend to be limited by the largest cell count on any rank ,
not the average cell count per rank.
If the max_cfl_u, max_cfl_nu, and max_cfl_mach values change during a cycle , CONVERGE
records the new values for that cycle from each region in the screen output. If the values
At the beginning of each cycle , CONVERGE writes the keyword ncyc followed by the
current cycle number. The solution information written on the ne xt lines (PISO iterations ,
species and turbulence solutions , etc.) are for that cycle number. When the solution
recovers due to non-convergence , CONVERGE goes back to the previous time-step but
cycle number continues incrementing. Thus , ncyc may e xceed the number of time-steps.
After the cycle number , CONVERGE writes the keyword time followed by the simulation
time. Then CONVERGE prints the keyword crank and the current crank angle. If you
entered simulation times in seconds, CONVERGE converts them to crank angle degrees using
the engine geometry and speed (in RPM ). If you entered simulation times in crank angle
degrees, CONVERGE converts them to seconds . This way , the screen output (or log file)
After crank, CONVERGE writes the keyword dt and the current time-step size. The final
entry on this line, time-step limit, displays which particular limiter restricted the time-
step.
pressure , it reduces the spatial accuracy for that component from second-order to first-
upwind , the results likely will be less accurate and it is advisable to check your simulation
for the density and temperature equations. If flux_limiter_mom step, is CONVERGE writes
During the case setup process , you specify a tolerance ( tol_u inputs.in
in ) for the
momentum equation. During the simulation , CONVERGE uses the keyword Ustar
iterations to display the current momentum equation iteration number and the
convergence error associated with each iteration.
iterations to solve the momentum equation within the tolerance ( 1e-04) specified by tol_u.
As with the momentum equation , you must specify a tolerance ( tol_p inputs.in
in ) for the
pressure correction equation when you set up the case. CONVERGE writes the keyword
pstar iterations followed by the number of iterations necessary to solve the pressure
correction equation and the convergence error associated with each iteration.
The Pressure Implicit with Splitting of Operators (PISO) procedure uses a guessed pressure
to solve for velocity and then a corrected velocity to solve for pressure. After comparing
the guessed and solved pressures , the PISO loop may or may not continue based on the
tolerance ( tol_scale ) and the values of min_piso and max_piso . If the solution does not
converge before reaching max_piso iterations , CONVERGE will continue the PISO
procedure. If the solution converges in a number of iterations between max_piso and twice
max_piso, CONVERGE writes dt_piso for the time-step limiter and reduces the time-step
size. If the solution does not converge within twice the number of max_piso iterations ,
CONVERGE recovers (re-solves the iteration) using a smaller and more stable time-step.
After the PISO iterations , CONVERGE solves the turbulence and species transport
equations until the iteration error is within the tolerances ( tol_species, tol_tke, tol_eps )
specified in inputs.in .
CONVERGE limits the movement of the spray during each time-step by testing if the spray
penetrates more cells than the specified value ( mult_dt_spray ) in a given time-step. If so ,
CONVERGE reduces the time-step , allowing it to resolve the relevant physics.
value specified for mult_dt_evap inputs.in, in CONVERGE reduces the time-step. Use the
temperature can rise during combustion. If the cell temperature increase e xceeds the
If CONVERGE writes that the time-step limit is dt_grow, the previous time-step was small
enough to resolve the relevant physics and preserve stability. In the interest of running the
simulation as quickly as possible , CONVERGE will increase the time-step. Also , time-steps
increasing (growing) the time-step by 25 % each time-step , after an initial time-step of 5.0e-
07. The initial time-step is controlled by the dt_start parameter in inputs.in . The dt_grow
parameter will serve as the limiter until the time-step becomes large enough for another
If the log file entry for a particular cycle states that the time-step limit was dt_cfl, one of
the CFL criteria limited the time-step. CONVERGE checks the following CFL criteria in
dt_cfl: Convection CFL number (sometimes simply known as CFL Number), based
on the value of max_cfl_u
dt_cfld: Diffusion CFL number, based on the value of max_cfl_nu
You can specify the values of max_cfl_u, max_cfl_nu, and max_cfl_mach inputs.in in .
If CONVERGE writes that dt_iter was the limiter for a particular time-step, it means that
the number of iterations from the previous PISO loops limited the time-step. Consider an
e xpensive calculation, CONVERGE will reduce the time-step by 10 % and recover (re-solve
the iteration) in an attempt to minimize the number of PISO loops required to reach
convergence.
dt_piso. If a boundary moves more than half of a cell dimension, the time-step is limited
by dt_move. The keyword max_iteration_turbulence indicates that the turbulence
solution did not converge in the number of iterations specified by itmax, so CONVERGE
reduced the time-step . A time-step limit of dt_piso means the PISO iterations did not
CONVERGE writes zoning time: followed by a time (in seconds ) that represents the time
required to distribute cells to various bins for adaptive zoning. On the line following the
zoning time , CONVERGE writes sagetime and rank= 0. After the rank , CONVERGE
writes the instantaneous time required for SAGE calculations ( i.e., the amount of time
SAGE calculations take for the current time-step) for rank 0. SAGE calculations are
distributed evenly across all ranks , so this output (or log file entry) only includes rank 0.
After the instantaneous sagetime, CONVERGE writes the accumulated time devoted to
SAGE calculations up through the current time-step. The final two entries on this line
display the number of cells in which SAGE is solving the chemical reactions and the total
The e xcerpt in Figure 23.11 above indicates that the current time-step took 0.3548 seconds
and that the simulation through this time-step used 10.8342 seconds for SAGE calculations.
Also , CONVERGE performed SAGE chemistry calculations in 17 of the 1800 active cells.
If you use adaptive zoning , CONVERGE will write the keyword adaptive zone gain on
the ne xt line. The numbers following the adaptive zone gain keyword represent the
instantaneous speed up due to adaptive zoning ( i.e., the speed up for the current time-
step) and the accumulated speed up through the current time-step due to adaptive zoning.
max_cfl_u: 1 2 4 1 1 1
max_cfl_nu: 0.01 2 4 0.01 0.01 0.01
max_cfl_mach: 50 50 50 50 50 50
MAX CFL= 7.2566e-04, MAX VISCOSITY CFL= 9.5812e-04, MAX CONDUCTION CFL= 2.1537e-
03, MAX MASS DIFFUSION CFL= 1.2284e-03, MAX MACH CFL = 1.2907e+00
screen_print_level = 2 and includes a summary of the computational time for each cycle.
The timing information includes the total computational time for the cycle and the time
taken by other major parts of the solution process such as load balancing and solving the
transport equations. The times are listed in absolute ( seconds ) and relative (percentage of
the computational time for the cycle) terms. At the end of the simulation , CONVERGE
writes a summary of the computational time for the entire simulation in the same format
24 References
Abraham , J. , Bracco , F.V. , and Reitz , R.D. , " Comparisons of Computed and Measured
Premi xed Charge Engine Combustion ," Combustion and Flame, 60(3) , 309-322 , 1985. DOI:
10.1016/0010-2180(85)90036-7
Abramzon , B. and Sirignano , W.A. , " Droplet Vaporization Model for Spray Combustion
10.1016/0017-9310(89)90043-4
Adelman , H.G. , "A Time Dependent Theory of Spark Ignition ," Symposium (International)
on Combustion, 18(1) , 1333-1342 , 1981. DOI: 10.1016/S0082-0784(81)80137-3
Ale xander, J
F. . and Garcia , A. . J , " The Direct Simulation Monte Carlo Method ," Computers
in Physics, 11(6) , 588-593 , 1997. DOI: 10.1063/1.168619
Amsden , A.A. ,
O Rourke , P. . J, and Butler , T.D. , " KIVA-II: A Computer Program for
Chemically Reactive Flows with Sprays ," Los Alamos National Laboratory Technical
Amsden , A.A. , " KIVA-3V: A Block Structured KIVA Program for Engines with Vertical or
Canted Valves ," Los Alamos National Laboratory Technical Report LA-13313-MS , 1997.
Angelberger , C. , Poinsot , T. , and Delhaye , B. , " Improving Near-Wall Combustion and Wall
Heat Transfer Modeling in SI Engines Computations ," SAE Paper 972881 , 1997. DOI:
10.4271/972881
Arcoumanis , C. and Gavaises , M. , " Linking Nozzle Flow with Spray Characteristics in a
Diesel Fuel Injection System ," Atomization and Sprays, 8(3) , 307-347 , 1998. DOI:
10.1615/AtomizSpr.v8.i3.50
Ashgriz , N. and Poo , J.Y., " Coalescence and Separation in Binary Collisions of Liquid
Drops ," J ournal of Fluid Mechanics, 221 , 183-204 , 1990. DOI: 10.1017/S0022112090003536
Least-Squares Fit and Split Advection in Three-Dimensional Cartesian Geometry ," J ournal
of Computational Physics, 225(2) , 2301-2319 , 2007. DOI: 10.1016/j.jcp.2007.03.015
Babajimopoulos , A. , Assanis , D.N. , Flowers , D.L. , Aceves , S.M. , and Hessel , R.P. , "A Fully
Coupled Computational Fluid Dynamics and Multi-Zone Model with Detailed Chemical
Kinetics for the Simulation of Premi xed Charge Compression Ignition Engines ,"
International J ournal of Engine Research, 6(5) , 497-512 , 2005. DOI:
10.1243/146808705 X30503
Ionization of Soot Particles and its Effect on their Growth in Laminar Premi xed Flames ,"
Combustion and Flame, 129(1-2) , 204-216 , 2002. DOI: 10.1016/S0010-2180(02)00344-9
Formation in a DI Diesel Engine Using Multiple Interactive Flamelets ," SAE Paper 982459 ,
1998. DOI: 10.4271/982459
Beale , J.C., " Modeling Fuel Injection using the Kelvin-Helmholtz/Rayleigh-Taylor Hybrid
Bedford , K.W. and Yeo, W.K. , " Conjunctive Filtering Procedures in Surface Water Flow
and Transport ," Large Eddy Simulation of Complex Engineering and Geophysical Flows, eds.
Berni , F. , Cicalese , G. , Fontanesi , S. , "A Modified Thermal Wall Function for the Estimation
of Gas-to-Wall Heat Flu xes in CFD In-Cylinder Simulations of High Performance Spark-
Ignition Engines ," Applied Thermal Engineering, 115 , 1045-1062 , 2017. DOI:
10.1016/j.applthermaleng.2017.01.055
Bianchi , G.M. and Pelloni , P. , "A Cavitation-Induced Atomization Model for High-
Pressure Diesel Spray Simulations ," 32nd International Symposium on Automotive Technology
and Automation, Vienna , Austria , 1999.
Bilicki , Z. and Kestin , J., " Physical Aspects of the Rela xation Model in Two-Phase Flow ,"
Proceedings of the Royal Society of London A, 428(1875) , 379-397 , 1990. DOI:
10.1098/rspa.1990.0040
Blint , R. . J , " The Relationship of the Laminar Flame Width to Flame Speed ", Combustion
Science and Technology, 49(1-2) , 79-92 , 1986. DOI: 10.1080/00102208608923903
Bodony , D. . J , " Analysis of Sponge Zones for Computational Fluid Mechanics ", J ournal of
Computational Physics, 212(2) , 681-702 , 2006. DOI: 10.1016/j.jcp.2005.07.014
Brackbill , J.U., Kothe , D.B. , and Zemach , C. , "A Continuum Method for Modeling Surface
Tension ", J ournal of Computational Physics, 100(2) , 335-354 , 1992. DOI: 10.1016/0021-
9991(92)90240- Y
Brennen , C.E. , Cavitation and Bubble Dynamics, O xford University Press, 1995.
Briggs , W.L. , Henson , V.E. , and McCormick , S.F. , A Multigrid Tutorial, Society for
Cebeci , T. and Coustei x, J., Modeling and Computation of Boundary-Layer Flows, Horizons
Chen , H. , Reuss , D.L. , Hung , D.L.S. , Sick , V. , "A Practical Guide for Using Proper
Chiang , C.H. , Raju , M.S. , and Sirignano , W.A. , " Numerical Analysis of a Convecting ,
Vaporizing Fuel Droplet with Variable Properties ," International ournal of eat and Mass
J H
Cleary , M. . J , " CMC (Conditional Moment Closure) Modelling of Enclosure Fires ," Ph.D.
Coffee , T.P. and Heimerl , J.M., " Transport Algorithms for Premi xed, Laminar Steady-State
Colin , O. and Benkenida , A. , " The 3-Zones Extended Coherent Flame Model (ECFM3Z) for
Computing Premi xed/Diffusion Combustion ," Oil & Gas Science and Technology - Revue
d'IFP Energies Nouvelles, 59(6) , 593-609 , 2004. DOI: 10.2516/ogst:2004043
Combustion Phenomena in Highly Stratified Gasoline Engines ," Oil & Gas Science and
Technology - Revue d'IFP Energies Nouvelles, 58(1) , 47-62 , 2003. DOI: 10.2516/ogst:2003004
Colin , O. and Truffin , K. "A Spark Ignition Model for Large Eddy Simulation Based on an
FSD Transport Equation (ISSIM-LES) ," Proceedings of the Combustion Institute, 33(2) , 3097-
De Soete , G.G. , " Overall Reaction Rates of NO and N2 Formation from Fuel Nitrogen ,"
Symposium (International) on Combustion, 15(1) , 1093-1102 , 1975. DOI: 10.1016/S0082-
0784(75)80374-2
Deardorff , J.W., " A Numerical Study of Three-Dimensional Turbulent Flow Channel Flow
at Large Reynolds Numbers ," J ournal of Fluid Mechanics, 41(2) , 453-480 , 1970. DOI:
10.1017/S0022112070000691.
Dombrowski , N. and Hooper , P.C. , " The Effect of Ambient Density on Drop Formation in
Sprays ," Chemical Engineering Science, 17(4) , 291-305 , 1962. DOI: 10.1016/0009-2509(62)
85008-8
Dombrowski , N. and Johns, W.R. , " The Aerodynamic Instability and Disintegration of
Viscous Liquid Sheets ," Chemical Engineering Science, 18(3) , 203-214 , 1963. DOI:
10.1016/0009-2509(63)85005-8
Duclos , J.-M. and Colin , O. , " Arc and Kernel Tracking Ignition Model for 3D Spark-
Ebrahimian , V. , Nicolle , A. , and Habchi , C. , " Detailed Modeling of the Evaporation and
Thermal Decomposition of Urea-Water Solution in SCR Systems ," AIChE ournal, J 58(7) ,
1998-2009 , 2012. DOI: 10.1002/aic.12736
Edwards , D.K. and Matavosian , R. , " Scaling Rules for Total Absorptivity and Emissivity of
Gases ," J ournal of eat Transfer, H 106(4) , 684-689 , 1984. DOI: 10.1115/1.3246739
Ewald , J. and Peters , N. , "A Level Set Based Flamelet Model for the Prediction of
Faeth , G.M. , " Current Status of Droplet and Liquid Combustion ," Progress in Energy and
Combustion Science, 3(4) , 191-224 , 1977. DOI: 10.1016/0360-1285(77)90012-0
Fenimore , C.P. , " Formation of Nitric O xide in Premi xed Hydrocarbon Flames ," Symposium
(International) on Combustion Proceedings, 13(1) , 373-380 , 1971. DOI:10.1016/S0082-
0784(71)80040-1
Frenklach , M. and Wang , H. , " Detailed Modeling of Soot Particle Nucleation and Growth ,"
Proceedings of the Combustion Institute, 23(1) , 1559-1566 , 1991 , DOI: 10.1016/S0082-
0784(06)80426-1
Gaskell , P.H. and Lau , A.K.C. , " Curvature-Compensated Convective Transport: SMART , a
Germano , M. , Piomelli , U. , Moin , P. , and Cabot , W.H. , "A Dynamic Subgrid-Scale Eddy
Viscosity Model ," Physics of Fluids A, 3(7) , 1760-1765 , 1991. DOI: 10.1063/1.857955
Gersum , S.V. and Roth , P. , " Soot O xidation in High Temperature N2O/Ar and NO/Ar ,"
Symposium (International) on Combustion, 24(1) , 999-1006 , 1992. DOI: 10.1016/S0082-
0784(06)80118-9
Gilbert , R.G. , Luther , K. , and Troe , J., " Theory of Thermal Unimolecular Reactions in the
Fall-Off Range. II. Weak Collision Rate Constants ," Berichte der Bunsengesellschaft fur
Physikalische Chemie, 87(2) , 169-177 , 1983. DOI: 10.1002/bbpc.19830870218
Golovitchev , V.I. , Montorsi , L. , Denbratt , I. , Corcione , F.E. , and Coppola , S. , " Numerical
Evaluation of Direct Injection of Urea as NO x Reduction Method for Heavy Duty Diesel
Gonzalez D. , M.A. , Borman , G. , and Reitz , R. , "A Study of Diesel Cold Starting using both
Cycle Analysis and Multidimensional Calculations ," SAE Paper 910180 , 1991. DOI:
10.4271/910180
Gordon , S. , and McBride , B. . J , " Computer Program for Calculation of Comple x Chemical
Equilibrium Compositions and Applications: I. Analysis ", NASA Reference Publication 1311,
October 1994.
Goodwin , D.G. , Moffat , H.K. , and Speth , R.L. , " Cantera: An Object-Oriented Software
Toolkit for Chemical Kinetics , Thermodynamics and Transport Processes , v2.0.1. ",
http://cantera.github.com/docs/sphin x/html/cti/reactions.html, 2012.
Gritskevich , M.S. , Garbaruk , A.V. , Sch tze, J., and Menter , F.R. , " Developement of DDES
and IDDES Formulations for the k- Shear Stress Transport Model ," Flow, Turbulence and
Combustion, 88(3): 431-449 , 2012. doi:10.1007/s10494-011-9378-4
Tracking with Smoothed Surface Stress Methods for Three-Dimensional Flows ," J ournal of
Computational Physics, 152(2) , 423-456 , 1999. DOI: 10.1006/jcph.1998.6168
Gulder , O.L. , " Correlations of Laminar Combustion Data for Alternative S.I. Engine Fuels ,"
SAE Paper 841000 , 1984. DOI: 10.4271/841000
Habchi , C. , Nicolle , A. , and Gillet , N. , " Numerical Study of Urea-Water Solution Injection
Conference on Liquid Atomization and Spray Systems, , , , Tainian Taiwan August 23-27 2015.
Halstead , M.P. , Kirsh , L. .J, and Quinn, C.P. , " The Autoignition of Hydrocarbon Fuels at
High Temperatures and Pressures Fitting of a Mathematical Model ," Combustion and
Flame, 30 , 45-60 , 1977. DOI: 10.1016/0010-2180(77)90050-5
Han , Z. and Reitz , R.D. , " Turbulence Modeling of Internal Combustion Engines Using
RNG k- Models ," Combustion Science and Technology, 106(4-6) , 267-295 , 1995. DOI:
10.1080/00102209508907782
Han , Z. and Reitz , R.D. , "A Temperature Wall Function Formulation for Variable Density
Turbulence Flow with Application to Engine Convective Heat Transfer Modeling ,"
International ournal of eat and Mass Transfer,
J H 40(3) , 613-625 , 1997. DOI: 10.1016/0017-
9310(96)00117-2
Heywood , J.B., Internal Combustion Engine Fundamentals, McGraw Hill , Inc. , 1988
Hiroyasu , H. and Kadota , T. , " Models for Combustion and Formation of Nitric O xide and
Soot in DI Diesel Engines ," SAE Paper 760129 , 1976. DOI: 10.4271/760129
Hou , S. , " Investigation of the Interaction Mechanisms Between Closely Spaced Sprays
From Micro-Hole Nozzles ," Ph.D. Thesis , Dept. of Mechanical and Industrial Engineering ,
University of Massachusetts Amherst , Amherst , MA , United States , 2005.
Huh , K. Y. and Gosman , A.D. , "A Phenomenological Model of Diesel Spray Atomization ,"
Proceedings of the International Conference of Multiphase Flows, Sep. 24-27 , Tsukuba , Japan,
1991.
Incropera , F.P. and De Witt , D.P. , Introduction to eat Transfer, Second Edition, J
H ohn Wiley
Issa , R.I. , " Solution of the Implicitly Discretised Fluid Flow Equations by Operator-
Splitting ," J ournal of Computational Physics, 62(1) , 40-65 , 1986. DOI: 10.1016/0021-9991(86)
90099-9.
Jia , M. , Peng , Z. , and Xie, M. , " Numerical Investigation of Soot Reduction Potentials with
Phenomenological Soot Model ," J ournal of Automobile Engineering, 223(3) , 395-412 , 2009.
Joseph, D.D. , Belanger J. , and Beavers G.S. , " Breakup of a Liquid Drop Suddenly E xposed
to a High-Speed Airstream ," International ournal of Multiphase Flow,
J 25(6-7) , 1263-1303 ,
1999. DOI: 10.1016/S0301-9322(99)00043-9
E xhaust Gas Emissions from a Medium-duty Diesel Engine using a Phenomenological Soot
Particle Formation Model Combined with Detailed Chemistry ," International ournal of J
Kazakov , A. and Foster , D. , " Modeling of Soot Formation during DI Diesel Combustion
10.4271/982463.
Kazakov , A. and Frenklach , M. , " Dynamic Modeling of Soot Particle Coagulation and
Pressure Laminar Premi xed Flames ," Combustion and Flame, 114(3-4) , 484-501 , 1998. DOI:
10.1016/S0010-2180(97)00322-2
Laminar Premi xed Ethylene Flames at a Pressure of 10 Bar ," Combustion and Flame, 100(1-
Kee , R. . J, Rupley , F.M. , and Miller , J.A., " Chemkin-II: A Fortran Chemical Kinetics
Package for the Analysis of Gas-Phase Chemical Kinetics ," Sandia National Laboratories
Kermani , M. . J, Gerber , A.G. , and Stockie , J.M., " Thermodynamically Based Moisture
Prediction Using Roe's Scheme ," The th Conference of Iranian AeroSpace Society,
4 Tehran ,
Iran , 2003.
Kim , J. and Anderson , R.W. , " Spark Anemometry of Bulk Gas Velocity at the Plug Gap of
Kim , S.-E. , and Choudhury , D. , "A Near-Wall Treatment Using Wall Functions Sensitized
to Pressure Gradient ," Separated and Complex Flows, 217 , 273-280 , 1995.
Klein , M. , Sadiki , A. , and Janicka , J., " A Digital Filter Based Generation of Inflow Data for
Kong , S.-C. and Reitz , R.D. , " Multidimensional Modeling of Diesel Ignition and
Combustion using a Multistep Kinetics Model ," J ournal of Engineering for Gas Turbines and
Power, 115(4) , 781-789 , 1993. DOI: 10.1115/1.2906775
Kong , S.-C. , Han , Z. , and Reitz , R.D. , " The Development and Application of a Diesel
Ignition and Combustion Model for Multidimensional Engine Simulation ," SAE Paper
Koren , B. , "A Robust Upwind Discretisation Method for Advection , Diffusion and Source
Terms ," Numerical Methods for Advection - Diffusion Problems, eds. Vreugdenhil , C.B. , and
Discretization II. A Moving Pivot Technique ," Chemical Engineering Science, 51(8) , 1333-
Launder , B. and Spalding , D. , " The Numerical Computation of Turbulent Flows ,"
Computer Methods in Applied Mechanics and Engineering, 3(2) , 269-289 , 1974. DOI:
10.1016/0045-7825(74)90029-2
2.9.0b_ref_manual.pdf , 2012.
Lien , F.S. and Leschziner , M.A. , " Upstream Monotonic Interpolation for Scalar Transport
with Application to Comple x Turbulent Flows ," International ournal for Numerical Methods
J
Lilly , D.K. , "A Proposed Modification of the Germano Subgrid-Scale Closure Method ,"
Physics of Fluids A, 4(3) , 633-635 , 1992. DOI: 10.1063/1.858280
Liu , A.B. , Mather , D.K. , and Reitz , R.D. , " Modeling the Effects of Drop Drag and Breakup
Lu , H. , Rutland C. . J, and Smith L.M. , "A Priori Tests of One-Equation LES Modeling of
10.1080/14685240701493947
Lu , T.F. and Law , C.K. , "A Directed Relation Graph Method for Mechanism Reduction ,"
Proceedings of the Combustion Institute, 30(1) , 1333-1341 , 2005. DOI:
10.1016/j.proci.2004.08.145
Lu , T.F. and Law , C.K. , " Strategies for Mechanism Reduction for Large Hydrocarbons: n-
10.1016/j.combustflame.2007.11.013
Homogeneous Gas Phase Chemical Kinetics with Sensitivity Analysis ," Sandia National
Marble , F.E. , and Broadwell , J.E., " The Coherent Flame Model for Turbulent Chemical
Mauss , F. , " Entwicklung eines Kinetischen Modells der Russbildung mit Schneller
Reactions and Transport in Full-Scale Catalytic Converters ," Combustion and Flame, 131(1-
McBride , B. . J, and Gordon , S. , " Computer Program for Calculation of Comple x Chemical
Equilibrium Compositions and Applications: II. Users Manual and Program Description ,"
NASA Reference Publication 1311 , 1996.
2180(91)90126-V
Menon , S. , Yeung, P.K. , and Kim , W.V. , " Effect of Subgrid Models on the Computed
Interscale Energy Transfer in Isotropic Turbulence ," Computer and Fluids, 25(2) , 165-180 ,
1996. DOI: 10.1016/0045-7930(95)00036-4
Menter , F.R. , Kuntz , M. , and Langtry , R. , " Ten Years of Industrial E xperience with the SST
Turbulence Model ," Turbulence, eat and Mass Transfer H 4 , eds: Hanjalic , K., Nagano, Y.,
and Tummers , M. , Begell House , Inc. , 2003.
Metghalchi , M. and Keck , J.C., " Burning Velocities of Mi xtures of Air and Methanol ,
Isooctane and Indolene at High Pressures and Temperatures ," Combustion and Flame, 48 ,
191-210 , 1982. DOI: 10.1016/0010-2180(82)90127-4
Motz , H. and Wise , H. , " Diffusion and Heterogeneous Reaction. III. Atom Recombination
at Catalytic Boundary ," J ournal of Chemical Physics, 32(6) , 1893-1894 , 1960. DOI:
10.1063/1.1731060
Naber , J. and Reitz , R.D. , Modeling Engine Spray/Wall Impingement , SAE Paper
Nagle , J. and Strickland-Constable , R.F. , " Oxidation of Carbon Between 1000-2000 C ,"
Proceedings of the Fifth Carbon Conference, Volume 1, Pergammon Press , 1962.
Namazian , M. and Heywood , J.B., " Flow in the Piston-Cylinder-Ring Crevices of a Spark-
Ignition Engine: Effect on Hydrocarbon Emissions , Efficiency and Power ," SAE Paper
Neoh , K.G. , Howard , J.B., and Sarofim , A.F. , " Effect of O xidation on the Physical Structure
10.1016/S0082-0784(85)80584-1
Netzell , K. , " Development and Application of Detailed Kinetic Models for the Soot Particle
Size Distribution Function ," Ph.D. thesis , Lund University , Lund , Sweden , 2007.
O Rourke , P. . J , " Collective Drop Effects on Vaporizing Liquid Sprays ," Ph.D. Thesis ,
Princeton University , Princeton , NJ, United States , 1981.
O Rourke , J
P. . and Amsden , A.A. , " The TAB Method for Numerical Calculation of Spray
O Rourke , J
P. . and Amsden , A.A. , "A Spray/Wall Interaction Submodel for the KIVA-3
Wall Film Model ," SAE Paper 2000-01-0271 , 2000. DOI: 10.4271/2000-01-0271
Pandal Blanco , A. , " Implementation and Development of an Eulerian Spray Model for
Patterson , M.A. , " Modeling the Effects of Fuel Injection Characteristics on Diesel
Peters , N. , " Laminar Diffusion Flamelet Models in Non-Premi xed Turbulent Combustion ,"
Progress in Energy and Combustion Science, 10(3) , 319-339 1984. DOI: 10.1016/0360-
1285(84)90114- X
Piscagila , F. , Montorfano , A. , and Onorati , A. , " Towards the LES Simulation of IC Engines
with Parallel Topologically Changing Meshes ," SAE Int. J. Engines , 6(2) , 926-940 , 2013.
DOI: 10.4271/2013-01-1096
Pitsch , H. , "A G -equation Formulation for Large-Eddy Simulation of Premi xed Turbulent
Combustion ," Center for Turbulence Research Annual Research Briefs, Stanford University
Pomraning , E. , " Development of Large Eddy Simulation Turbulence Models ," Ph.D. Thesis ,
University of Wisconsin-Madison , Madison , WI , 2000.
Compositions of Ideal Gas Mi xtures using Gibbs Function Continuation ," Cornell
Pope , S.B. , " CEQ: A Fortran Library to Compute Equilibrium Compositions using Gibbs
on 12 Oct 2016.
Post , S.L. and Abraham , J., " Modeling the Outcome of Drop-Drop Collisions in Diesel
Sprays ," International ournal of Multiphase Flow, J 28(6) , 997-1019 , 2002. DOI:
10.1016/S0301-9322(02)00007-1
Ra , Y. and Reitz , R.D , "A Vaporization Model for Discrete Multi-Component Fuel Sprays ,"
International J ournal of Multiphase Flow, ,
35(2) 101-117 , 2009. DOI:
10.1016/j.ijmultiphaseflow.2008.10.006
Kinetics Using Multi-zone Modeling for CFD in Internal Combustion Engine Simulations ,"
SAE Paper 2012-01-0135 , 2012. DOI: 10.4271/2012-01-0135
Raju , M. , Wang , M. , Senecal , P.K. , Som , S. , and Longman , D.E. , "A Reduced Diesel
Surrogate Mechanism for Compression Ignition Engine Applications ," ASME 2012 Internal
Combustion Engine Division Fall Technical Conference, Vancouver , Canada , 2012. DOI:
10.1115/ICEF2012-92045
Reinmann , R. , " Theoretical and Experimental Studies of the Formation of Ionized Gases in
Spark Ignition Engines ," Ph.D. Thesis , Lund Institute of Technology , Lund , Sweden , 1998.
Reitz , R.D. and Bracco , F.V. , " Mechanisms of Breakup of Round Liquid Jets," Encyclopedia
of Fluid Mechanics, Gulf Publishing Company , 1986.
Reitz , R.D. and Kuo , T. , " Modeling of HC Emissions Due to Crevice Flows in Premi xed-
Charge Engines ," SAE Paper 892085 , 1989. DOI: 10.4271/892085
Reitz , R.D. , " Modeling Atomization Processes in High-Pressure Vaporizing Sprays ,"
Atomisation and Spray Technology, 3(4) , 309-337 , 1987.
Reitz , R.D. and Diwakar , R. , " Structure of High-Pressure Fuel Sprays ," SAE Paper 870598 ,
1987. DOI: 10.4271/870598
Rhie , C.M. , and Chow , W.L. , " Numerical Study of the Turbulent Flow Past an Airfoil with
Trailing Edge Separation ," AIAA ournal,J 21(11) , 1525-1532 , 1983. DOI: 10.2514/3.8284
Ricart , L.M. , Xin, J., Bower , G.R. , and Reitz , R.D. , " In-Cylinder Measurement and
Modeling of Liquid Fuel Spray Penetration in a Heavy-Duty Diesel Engine ," SAE Paper
Ricart , L.M. , " An Experimental and Computational Study of Fuel Injection , Mi xing and
Richards , K. . J , " Multidimensional Intake Flow Modeling of HSDI Diesel Engines ," M.S.
Rider , J
W. . and Kothe , D.B. , " Reconstructing Volume Tracking ," J ournal of Computational
Physics, 141(2) , 112-152 , 1998. DOI: 10.1006/jcph.1998.5906
and Analysis of Knocking Combustion in a Spark Ignition Engine ," Proceedings of the
Combustion Institute, 35(3) , 2941-2948 , 2015. DOI: 10.1016/j.proci.2014.05.154
Roe , P.L. , " Characteristic-Based Schemes for the Euler Equations ," Annual Review of Fluid
Mechanics, 18 , 337-365 , 1986. DOI: 10.1146/annurev.fl.18.010186.002005
Rohsenow , W.M. , "A Method of Correlating Heat Transfer Data for Surface Boiling of
Sazhin , S.S. , " Advanced Models of Fuel Droplet Heating and Evaporation ," Progress in
Energy and Combustion Science, 32(2) , 162-214 , 2006. DOI: 10.1016/j.pecs.2005.11.001
Sazhin , S.S. , Krutitskii , P.A. , Gusev , I.G. , Heikal , M.R. , " Transient Heating of an
Evaporating Droplet with Presumed Time Evolution of its Radius ," International ournal of J
10.1016/j.ijheatmasstransfer.2010.10.018
Interfacial Flow ," Annual Review of Fluid Mechanics, 31 , 567-603 , 1999. DOI:
10.1146/annurev.fluid.31.1.567
Schmidt , D.P. , Nouar , I. , Senecal , P.K. , Hoffman , J. , Rutland , C. . J, Martin , J. , and Reitz ,
R.D. , " Pressure-Swirl Atomization in the Near Field ," SAE Paper 1999-01-0496 , 1999. DOI:
10.4271/1999-01-0496
Schmidt , D.P. and Rutland , C. . J , "A New Droplet Collision Algorithm ," J ournal of
Computational Physics, 164(1) , 62-80 , 2000. DOI: 10.1006/jcph.2000.6568
Senecal , P.K. , Schmidt , D.P. , Nouar , I. , Rutland , C. . J, Reitz , R.D. , and Corradini , M.L. ,
" Modeling High-Speed Viscous Liquid Sheet Atomization ," International ournal of J
Senecal , P.K. , " Development of a Methodology for Internal Combustion Engine Design
Injection Diesel Spray Liquid Length and Flame Lift-off Length using CFD and Parallel
for Rapid Grid Generation Applied to In-Cylinder Diesel Engine Simulations ," SAE Paper
Shields , B. , Neroorkar , K. , and Schmidt , D.P. , " Cavitation as Rapid Flash Boiling ," ILASS-
Americas 23rd Annual Conference on Liquid Atomization and Spray Systems, Ventura , CA ,
United States , 2011.
Shih , T.-H. , Liou , W.W. , Shabbir , A. , Yang, Z. , and Zhu , J. , " A New k- Eddy Viscosity
Model for High Reynolds Number Turbulent Flows Model Development and Validation ,"
Computers Fluids, & 24(3) , 227-238 , 1995. DOI: 10.1016/0045-7930(94)00032-T
Shur , M.L. , Spalart , P.R. , Strelets , M.Kh. , and Travin , A.K. , "A Hybrid RANS-LES
Approach with Delayed-DES and Wall-Modeled LES Capabilities ," International Journal
of Heat and Fluid Flow , 26(6):1638-1649 , 2008. DOI: 10.1016/j.ijheatfluidflow.2008.07.001
Smagorinsky , J., " General Circulation E xperiments with the Primitive Equations ," Monthly
Weather Review, 91(3) , 99-164 , 1963. DOI: 10.1175/1520-0493(1963)
091 <0099:GCEWTP>2.3.CO;2
Smith , H. , Zochbauer , M. , and Lauer , T. " Advanced Spray Impingement Modelling for an
Improved Prediction Accuracy of the Ammonia Homogenisation in SCR Systems ," SAE
Som , S. and Aggarwal , S.K. , " Effects of Primary Breakup Modeling on Spray and
Grid Convergence of Internal Combustion Engine Simulations ," SAE Paper 2013-01-1095 ,
2013. DOI: 10.4271/2013-01-1095
Spalart , P.R. , and Allmaras , S.R. , "A One-Equation Turbulence Model For Aerodynamic
Spalart , P.R. , Jou, W-H. , Strelets , M. , and Allmaras , S.R. , " Comments on the Feasibility of
LES for Wings and on a Hybrid RANS/LES Approach ," Advances in DNS/LES , 1st
Spalart , P.R. , Deck , S. , Shur , M.L. , Squires , K.D. , Strelets , M.Kh. , and Travin , A.K. , "A
New Version of Detached-Eddy Simulation , Resistant to Ambiguous Grid Densities ,"
Theoretical and Computational Fluid Dynamics, 20:181-195 , 2006. DOI: 10.1007/s00162-006-
0015-0
Speziale , C.G. , " Turbulence Modeling for Time-Dependent RANS and VLES: A Review ,"
AIAA ournal, J 36(2) , 173-184 , 1998. DOI: 10.2514/2.7499
Strelets , M. , " Detached Eddy Simulation of Massively Separated Flows," AIAA Paper
Tan , Z. and Reitz , R. , " Modeling Ignition and Combustion in Spark Ignition Engines Using
a Level Set Method ," SAE Paper 2003-01-0722 , 2003. DOI: 10.4271/2003-01-0722
Taylor , G.I. , The Scientific Papers of Sir Geoffrey Ingram Taylor, Volume 3, ed. Batchelor , G.K. ,
Cambridge University Press , 1963.
Smith , T.F. , Shen , Z.F. , and Friedman , J.N., " Evaluation of Coefficients for the Weighted
10.1115/1.3245174
Theobald , M.A. , and Cheng , W.K. , "A Numerical Study of Diesel Ignition ," ASME Energy-
Source Technology Conference and Exhibition, Dallas , T X, United States , 1987.
van Leer , B. , " Towards the Ultimate Conservative Difference Scheme II. Monotonicity and
van Leer , B. , " Towards the Ultimate Conservative Difference Scheme III. Upstream-
Centered Finite-Difference Schemes for Ideal Compressible Flow ," J ournal of Computational
Physics, 23(3) , 263-275 , 1977. DOI: 10.1016/0021-9991(77)90094-8
van Albada , G.D. , van Leer , B. , and Roberts , W.W. , "A Comparative Study of
Computational Methods in Cosmic Gas Dynamics ," Astronomy and Astrophysics, 108(1) ,
76-84 , 1982.
van Oijen , J.A. and de Goey , L.P.H. , " Modelling of Premi xed Laminar Flames using
Flamelet-Generated Manifolds ," Combustion Science and Technology, 161(1) , 113-173 , 2000.
DOI: 10.1080/00102200008935814
Solutions ," 31st Aerospace Sciences Meeting, Reno , NV , United States , 1993. DOI:
10.2514/6.1993-880
Verhoeven , D. , " Spark Heat Transfer Measurements in Flowing Gases ," Oil Gas Science
&
and Technology - Revue de l'Institut Fran ais du Petrole, 52(4) , 453-464 , 1997. DOI:
10.2516/ogst:1997053
Vishwanathan , G. and Reitz , R.D. , " Development of a Practical Soot Modeling Approach
and its Application to Low-Temperature Diesel Combustion ," Combustion Science and
Technology, 182(8) , 1050-1082 , 2010. DOI: 10.1080/00102200903548124
Wachters , J
L.H. . and Westerling , N.A. , " The Heat Transfer from a Hot Wall to Impinging
Water Drops in a Spheroidal State ," Chemical Engineering Science, 21(11) , 1047-1056 , 1966.
DOI: 10.1016/0009-2509(66)85100- X
Waclawczyk , T. and Koronowicz , T. , " Modeling of the Wave Breaking with CICSAM and
HRIC High-Resolution Scheme ," ECCOMAS CFD, Egmond an Zee , The Netherlands , 2006.
Wang , B. , Miles , P. , Reitz , R. , and Han , Z. , " Assessment of RNG Turbulence Modeling and
the Development of a Generalized RNG Closure Model ," SAE Paper 2011-01-0829 , 2011.
DOI: 10.4271/2011-01-0829
Wang , F. , Reitz , R. , Pera , C. , Wang , Z. , and Wang , J., " Application of Generalized RNG
10.1080/19942060.2013.11015487
Warnatz , J., " NOX formation in High Temperature Processes ," University of Stuttgart ,
Stuttgart , Germany , 2001.
Waterson , N.P. and Deconinck , H. , "A Unified Approach to the Design and Application of
Bounded Higher-Order Convection Schemes ," Numerical Methods in Laminar and Turbulent
Flow, Volume 9 , eds. Taylor, C. and Durbetaki, P., Pineridge Press, 1995.
Weber , C. , " Zum Zerfall eines Flussigkeitsstrahles ," ZAMM- eitschrift fur Angewandte
Z
Wen , J.Z., Park , M. .S.H. J , Rogak , S.N. , and Lightstone , M.F. , " Study of Soot Growth in a
Plug Flow Reactor using a Moving Sectional Model ," Proceedings of the Combustion Institute,
30(1) , 1477-1484 , 2005.
Werner , H. and Wengle , H. , " Large Eddy Simulation of Turbulent Flow Over and Around
a Cube in a Plane Channel ," Proceedings of the Eighth Symposium on Turbulent Shear Flows,
Volume 2, 1991.
Wilco x, D.C. , Turbulence Modeling for CFD, Second Edition, DCW Industries , Inc. , 1998.
Wilco x, D.C. , Turbulence Modeling for CFD, Third Edition, DCW Industries , Inc. , 2006.
Wilco x, D.C. , " Formulation of the k-w Turbulence Model Revisited ," AIAA ournal,
J 46(11) ,
2823-2838 , 2008. DOI: 10.2514/1.36541
Wruck , N.M. and Renz , U. , " Transient Phase-Change of Droplets Impacting on a Hot
Xin, J., Montgomery , D.T. , Han , Z. , and Reitz , R.D. , " Multidimensional Modeling of
Xin, J., Ricart , L. , and Reitz , R.D. , " Computer Modeling of Diesel Spray Atomization and
Combustion ," Combustion Science and Technology, 137(1-6) , 171-194 , 1998. DOI:
10.1080/00102209808952050
Model for Large Eddy Simulation of Turbulent Flows ," J ournal of the Physical Society of
J apan, 54(8) , 2834-2839 , 1985. DOI: 10.1143/ PS .54.2834 J J
Flows for Arbitrary Mach Numbers ," Ph.D. Thesis , Chalmers University of Technology ,
Goteborg , Sweden , 1995.
for Premi xed Turbulent Combustion at High Reynolds Numbers Based on a Turbulent
Flame Speed Closure ," J ournal of Engineering for Gas Turbine and Powers, 120(3) , 526-532 ,
1998. DOI: 10.1115/1.2818178
Avg_Vel_Mag
Avg_Velocity
883
883
, 886
886
-<-
az_id 825
*
az_info .out 884
-A-
BDC 606
beta 773
-C-
ang_mom_flu x_region_from 605 , 834
ang_mom_flu x_region_to 605 , 834
Ang_Mom_ X 892
-D-
ceq_tcut 745
chem_src 825
Dalian soot model 495
Chemical Equilibrium - CE Q 390
damkohler 825
Chemistry Tools 386 , 462
denomc 745
CHEMKIN manual 240
density 825
Chiang 363
dependent 161
child cells 272
Diesel Combustion Models 414
CIRCLE 736
diff_pres 825
CLOSE 167 , 611
direction 151 , 778
clw 773
disconnect triangles 611
cm2 745
disconnecting regions 611
cmu 773
discrete phase modeling 282
CO 901
discrete phase simulations 253
CO2 901
distort 825
Coalescence 319
distort_dot 825
Collision 319
div 825
combust.in 745
Domain Initialization 720
combustion modeling 386
drgepsa.in 858
Combustion Modeling Setup 745
drop drag 295
Combustion Time-Step Control 462
Drop Turbulent Dispersion 331
Composite Species 666
Drop Vanish Model 360
composite.in 666
drop velocities 294
compressible_flag 94
Drop/Film Rebounding 340
compression ratio 606
Drop/Wall Interaction 335
cond 825
drop_size 736
CONGO Input Files 630
DUPLICATE 240
conjugate heat transfer 550
Duplicate Reaction Option 240
conserve 95
Dynamic Mechanism Reduction 473
constant_laminar_flamespeed 745
dynamic.in 605 , 615 , 834
continuum surface force (CSF) model 577
dynamic.out 605 , 892
convert.in 88
dynamic_flag 605 , 834
crank angle offset 613
-E-
crank shaft a xis 613
embedded.in 820
crevice_flag 891
Emissions 490
crevice_rings.out 891
crit_pres 95
emissions modeling 480 , 972
emissions.out 901
crit_temp 95
Empirical 490
ctc_flag 745
-G-
eos_flag 95
eps_offset 156
g_eqn_dilution 745
eps_scale 156
g_eqn_flag 745
equiv_ratio 825
g_eqn_num_kernel_init 745
equiv_ratio_bin.out 902
g_eqn_pres_e xponent 745
equivalence ratio 884 , 916
g_eqn_spark_flag 745
eta0 773
g_eqn_temp_e xponent 745
Eulerian-Lagrangian Spray Atomization 376
g_eqn_turb_flamespeed_flag 745
Events 167
g_prime_cs 745
events.in 167 , 611 , 720
GAS 255
E xtended Coherent Flamelet Model 403
Gas Properties 230
E xtended Coherent Flamelet Model 3 Zones 432
gas.dat 234 , 651
-F-
Gas-Phase Properties 651
-H-
Internal Combustion Engine Applications 602
Introduction 20
-K-
Handling Energy Sources in Engine models 608
head_profile 59 ,
Kee et al. 1989 240
-L-
Hiroy_Form 929
Hiroy_Soot 929
Hiroyashu 490
lam_flamespeed 825
Hiroyashu-NSU 490
lambda 825
Hiroyasu soot model 929
Lambda_Mean 916
Hiroyasu-NSU soot model 489
Lambda_StdDev 916
hr_time 745
laminar_flamespeed_flag 745
Ht_ Xfer_Rate 886
laminar_flamespeed_pres_ref 745
htc_map 606
laminar_flamespeed_temp_ref 745
hydrocarbon 901
law_b 773
H YPRE 124
law_kappa 773
-I-
length scale 949
level 825
momentum_solver 94 , 95 , 146
monitor_steady_state.in 702
-N-
Mapping variables 712
mass 825
ma x_value 144 , 146 , 147 , 149 , 150 , 778 nozzle 290 , 732 , 941
mech.dat 235 , 237 , 240 , 659 NSU 490
-O-
mol_visc 825
xed Combustion
-P-
Premi Models 391
pres 156
Pres_Force_ X 886
pa(passive name) 156
Pres_Force_ Y 886
pa_offset 156
Pres_Force_Z 886
pa_scale 156
pres_init 154
Parallel Processing 272
Pres_Torque_ X 886
parallel_scale 272
Pres_Torque_ Y 886
parallelization 272 , 278
Pres_Torque_Z 886
Parallelization for the SAGE Solver 277
presrat 825
parameters 727 , 732
press_offset 156
PARCEL 255
press_scale 156
parent 825
pressure 825
parent cell 272
Pressure Boundary Conditions 179 , 209
particle equation of motion 294
Pressure Dependent Reaction Option 237
PASSIVE 94 , 255
Pressure Implicit with Splitting of Operators 112
passive (passive_species) 825
prompt no x 972
Passive Boundary Conditions 183
prompt NO x model 486
Passive Transport 105
psi_vof_min 785
Passives Source Modeling 150
PSM soot model 503
penet_frac 941
-R-
Periodic Boundary Type 220
Periodic faces 68
Periodic Surfaces 59
Physical Properties and Reaction Mechanisms 230 Rayleigh-Taylor Breakup Model 308
-S-
source_flag 142
spray_film 156 ,
Swirl Tumble Calculations for Inclined Cylinders
events 611
spray_num 156
-T-
spray_radius 156
Surface Chemistry Model 449 TKE 146 , 156 , 778 , 825 , 886
surface curvature 577 tke_init 154
tke_scale 156
-V-
Turb_Visc 886
turbmodel 773
v_scale 156
Turbulence Modeling Setup 773
v_vel 156
turbulence statistics 545
Vaporization 361
Turbulent Dissipation Source Modeling 147
var_rpm.in 649
turbulent dynamic viscosity 949
vert1 50
twrite_post.in 642
vert2 50
twrite_restart 158
visc 825
-Y-
Visc_Force_ 886
Visc_Force_ Y 886
Visc_Force_Z 886
visc_rat 825
yplus 825
X
-Z-
Visc_Torque_ 886
Visc_Torque_ Y 886
Visc_Torque_Z 886
zero_d_cases.in 850
VOF 566
vof_flag 785
vof_hric_flag 785
vol_frac 825
volume 825
vx 50
vy 50
vz 50
-W-
w_offset 156
w_scale 156
w_vel 156
Wall_Area 886
wall_model 773
wall_output_flag 886
wall_value.in 711
weber 825
wprime 825
-X-
x_center 736
x_size 736