☰
These guidelines are based on the working folder located here.
Non-equilibrium flow modelling
The solver’s default behaviour is to use the two-temperature formulation with multiple vibro-electronic energy pools. In the
1) Thermal equilibrium
The single-temperature solver, hyFoam, is obtained with
downgradeToSingleTv no;
downgradeToSingleTemperature yes;
There is a unique application, called hy2Foam, for both solvers: the use of hyFoam is more of a naming convention to clarify that the single-temperature model is adopted. All two-temperature-related object pointers are not allocated and the vibrational energy equation is not solved.
The command line to run hyFoam is thus identical to hy2Foam
hy2Foam > log.hyFoam 2>&1 &
2) Thermal non-equilibrium
As mentioned in the introduction, the non-equilibrium solver hy2Foam can take two forms: it can either solve the mixture vibro-electronic energy equation or multiple vibro-electronic energy equations. The choice of the former variant is highly recommended.
2.1 Single vibro-electronic energy pool
The
downgradeToSingleTv yes;
downgradeToSingleTemperature no;
The path to the non-equilibrium dictionary is also set in
twoTemperatureDictFile "<constant>/thermo2TModel";
and its default name is
thermalRelaxationModels
{
VT
{
relaxationType LandauTellerVT;
model LeMANSMWP;
fullCoeffsForm on;
overwriteDefault on;
speciesDependent on;
collidingPair on;
}
he
{
relaxationType AppletonBray;
}
}
As is customary, the Landau-Teller equation is employed for V—T energy exchange and the V—T relaxation time is obtained using the Millikan & White semi-empirical formula, with or without Park’s correction. In the example above, the coefficients entering in the calculation of the V—T relaxation time are made colliding-pair specific and are read from one of the subsequent subdictionaries (since
V—T energy exchange | ||
Key | Values | Meaning |
name of the V—T energy transfer model | ||
if |
||
whether to use the tabulated data or the Millikan and White formulas for _A_ and _B_ | ||
if |
||
if |
||
if |
The H—e energy transfer of Appleton & Bray (1963) does not require any input. It can be disabled using a
2.2 Multiple vibro-electronic energy pools
>> Unavailable until further notice<<
In the current version of the code, this configuration has several limitations that are as follows
- the gas mixture must be composed of neutral particles only
- the electronic mode of all particles must be turned off (see A. §2.2)
- the molecules must be planar
If the above conditions are fulfilled, then the
downgradeToSingleTv no;
downgradeToSingleTemperature no;
In addition to the energy exchange processes described in §2.1, the
thermalRelaxationModels
{
VV
{
relaxationType KnabVV;
model Knab;
overwriteDefault on;
speciesDependent on;
collidingPair on;
}
eV
{
relaxationType noeVEnergyTransfer; // not available yet
model BourdonVervisch;
overwriteDefault off;
speciesDependent off;
}
}
V—V energy transfer presented in Knab et al. (1992) is the unique V—V model implemented. Similarly to the V—T model, it can be made collision-pair specific by switching on the
e—V energy transfer is not tested and should not be used.
In this variant of hy2Foam, species are grouped into several vibro-electronic energy pools.
This is done in the
species
(
N2
O2
NO
//N2+
//O2+
//NO+
N
O
//N+
//O+
//e-
);
vibTempAssociativity (0 0 0 1 2);
A value of
3) Mean free path and breakdown parameter
These two quantities are calculated according to the entries specified in the
3.1 Mean free path
There are three
You may want to compute the mfp at boundary patches only to speed-up the calculations: indeed, knowledge of the mfp at boundary patches is enough to use the Smoluchowski temperature jump boundary condition. To this aim, two switches (
rarefiedParameters
{
computeFieldAndBoundaries off;
computeMfpBoundaries on;
mfpModel variableHardSphere;
writeMfpSpecies off;
writeMfpMixture on;
}
NB: Always switch
computeMfpBoundaries on when using the Smoluchowski temperature jump and the Maxwell velocity slip boundary conditions.
To compute the mfp in the entire domain,
3.2 Knudsen number
3.2.1 Overall Knudsen number
The overall Knudsen number, defined as the ratio of the local mean free path to the characteristic length of the problem (
rarefiedParameters
{
computeFieldAndBoundaries on;
characteristicLength 2.0;
writeKn_overall on;
}
3.2.2 Breakdown parameter: gradient-length Knudsen number
The gradient-length Knudsen number, KnGLL, serves as the breakdown parameter in hy2Foam. It is defined as the maximum of four gradient-length Knudsen numbers (called components) based on trans-rotational and vibro-electronic temperatures, density, and velocity. It can be printed using the following setup
rarefiedParameters
{
computeFieldAndBoundaries on;
writeKnGLL on;
writeKnGLL_components off;
}
4) Chemistry-vibration coupling
There are two chemistry-vibration models implemented but it is strongly recommended to use the Park TTv model.
4.1 Park TTv model
4.1.1 General settings
The subdictionary
chemistryVibrationCoupling
{
model ParkTTv;
ParkTTvCoeffs
{
exponentTtr 0.7;
sourceTermModel preferential;
preferentialModel
{
factorType constant;
constantFactor 0.3;
}
}
}
Park's temperature, defined as $$T_{tr}^{\color{magenta}{\textrm{exponentTtr}}} * T_{ve}^{1 - \color{magenta}{\textrm{exponentTtr}}}$$ is utilised for dissociation reactions if need be and a value of 0.7 is usually employed for
4.1.2 Reactions dictionary
A controlling temperature,
controlT dissociation;
Other accepted values for
4.2 Coupled vibration-dissociation-vibration (CVDV) model
The default settings of the
chemistryVibrationCoupling
{
model CVDV;
CVDVCoeffs
{
reciprocalU 3;
simpleHarmonicOscillatorVibCutOff
{
N2 34;
O2 27;
NO 28;
N2+ 34;
O2+ 27;
NO+ 28;
}
}
}
and there should be no need to edit them.