StCorr.H
Go to the documentation of this file.
1  dimensionedScalar StCorr("StCorr", dimless, 1.0);
2 
3  if (ign.igniting())
4  {
5  // Calculate volume of ignition kernel
6  dimensionedScalar Vk("Vk", dimVolume, gSum(c*mesh.V().field()));
7  dimensionedScalar Ak("Ak", dimArea, Zero);
8 
9  if (Vk.value() > SMALL)
10  {
11  // Calculate kernel area from its volume
12  // and the dimensionality of the case
13 
14  switch(mesh.nGeometricD())
15  {
16  case 3:
17  {
18  // Assume it is part-spherical
19  scalar sphereFraction
20  (
21  combustionProperties.get<scalar>
22  (
23  "ignitionSphereFraction"
24  )
25  );
26 
27  Ak = sphereFraction*4.0*constant::mathematical::pi
28  *pow
29  (
30  3.0*Vk
31  /(sphereFraction*4.0*constant::mathematical::pi),
32  2.0/3.0
33  );
34  }
35  break;
36 
37  case 2:
38  {
39  // Assume it is part-circular
40  dimensionedScalar thickness
41  (
42  "ignitionThickness", dimLength, combustionProperties
43  );
44 
45  scalar circleFraction
46  (
47  combustionProperties.get<scalar>
48  (
49  "ignitionCircleFraction"
50  )
51  );
52 
53  Ak = circleFraction*constant::mathematical::pi*thickness
54  *sqrt
55  (
56  4.0*Vk
57  /(
58  circleFraction
59  *thickness
61  )
62  );
63  }
64  break;
65 
66  case 1:
67  // Assume it is plane or two planes
69  (
70  "ignitionKernelArea", dimArea, combustionProperties
71  );
72  break;
73  }
74 
75  // Calculate kernel area from b field consistent with the
76  // discretisation of the b equation.
77  const volScalarField mgb
78  (
79  fvc::div(nf, b, "div(phiSt,b)") - b*fvc::div(nf) + dMgb
80  );
81  dimensionedScalar AkEst = gSum(mgb*mesh.V().field());
82 
83  StCorr.value() = max(min((Ak/AkEst).value(), 10.0), 1.0);
84 
85  Info<< "StCorr = " << StCorr.value() << endl;
86  }
87  }
Foam::dimLength
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Definition: dimensionSets.H:52
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
Foam::gSum
Type gSum(const FieldField< Field, Type > &f)
Definition: FieldFieldFunctions.C:594
Foam::fac::div
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:50
Foam::min
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:33
Foam::dimArea
const dimensionSet dimArea(sqr(dimLength))
Definition: dimensionSets.H:59
Foam::constant::physicoChemical::b
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Definition: createFields.H:27
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
Foam::pow
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Definition: dimensionedScalar.C:75
Foam::max
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:47
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::constant::mathematical::pi
constexpr scalar pi(M_PI)
StCorr
dimensionedScalar StCorr("StCorr", dimless, 1.0)
Foam::sqrt
dimensionedScalar sqrt(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:144
Foam::constant::universal::c
const dimensionedScalar c
Speed of light in a vacuum.
Foam::dimVolume
const dimensionSet dimVolume(pow3(dimLength))
Definition: dimensionSets.H:60
Foam::dimless
const dimensionSet dimless
Dimensionless.
Definition: dimensionSets.C:189