32 template<
class CompType,
class ThermoType>
44 template<
class CompType,
class ThermoType>
52 leafLeft_(elementLeft),
53 leafRight_(elementRight),
57 v_(elementLeft->completeSpaceSize(), 0)
68 calcV(elementLeft, elementRight,
v_);
69 a_ =
calcA(elementLeft, elementRight);
75 template<
class CompType,
class ThermoType>
96 bool outOfIndexI =
true;
97 if (mechReductionActive)
99 if (i<elementLeft->completeSpaceSize() - nAdditionalEqns_)
102 outOfIndexI = (si == -1);
112 if (!mechReductionActive || (mechReductionActive && !(outOfIndexI)))
118 bool outOfIndexJ =
true;
119 if (mechReductionActive)
121 if (j < elementLeft->completeSpaceSize() - nAdditionalEqns_)
124 outOfIndexJ = (sj==-1);
141 ||(mechReductionActive && !(outOfIndexJ))
145 for (label
k=0;
k<=
min(si, sj);
k++)
147 v[i] += LT(
k, si)*LT(
k, sj)*phiDif[j];
156 v[i] = phiDif[i]/
sqr(scaleFactor[i]*epsTol);
162 template<
class CompType,
class ThermoType>
165 chemPointISAT<CompType, ThermoType>* elementLeft,
166 chemPointISAT<CompType, ThermoType>* elementRight
169 scalarField phih((elementLeft->phi() + elementRight->phi())/2);
scalar calcA(chemPointISAT< CompType, ThermoType > *elementLeft, chemPointISAT< CompType, ThermoType > *elementRight)
Compute a the product v^T.phih, with phih = (phi0 + phiq)/2.
const scalar & tolerance()
const scalarSquareMatrix & LT() const
dimensionedSymmTensor sqr(const dimensionedVector &dv)
autoPtr< chemistryReductionMethod< ReactionThermo, ThermoType > > & mechRed()
Leaf of the binary tree. The chemPoint stores the composition 'phi', the mapping of this composition ...
List< label > & completeToSimplifiedIndex()
label k
Boltzmann constant.
binaryNode()
Construct null.
#define forAll(list, i)
Loop across all elements in list.
const scalarField & scaleFactor()
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
label nAdditionalEqns_
Number of equations in addition to the species eqs.
const scalarField & phi() const
bool variableTimeStep() const
TDACChemistryModel< CompType, ThermoType > & chemistry()
Access to the TDACChemistryModel.
void calcV(chemPointISAT< CompType, ThermoType > *&elementLeft, chemPointISAT< CompType, ThermoType > *&elementRight, scalarField &v)
Compute vector v:
label & completeSpaceSize()