solveSolid.H
Go to the documentation of this file.
1 {
2  for (int nonOrth=0; nonOrth<=nNonOrthCorr; ++nonOrth)
3  {
4  fvScalarMatrix hEqn
5  (
6  (
7  thermo.isotropic()
8  ? -fvm::laplacian(betav*thermo.alpha(), h, "laplacian(alpha,h)")
9  : -fvm::laplacian(betav*taniAlpha(), h, "laplacian(alpha,h)")
10  )
11  ==
12  fvOptions(rho, h)
13  );
14 
15  hEqn.relax();
16 
17  fvOptions.constrain(hEqn);
18 
19  if (coupled)
20  {
21  fvMatrixAssemblyPtr->addFvMatrix(hEqn);
22  }
23  else
24  {
25  Info<< "\nSolving for solid region "
26  << solidRegions[i].name() << endl;
27 
28  hEqn.solve();
29  fvOptions.correct(h);
30  thermo.correct();
31 
32  Info<< "Min/max T:" << min(thermo.T()).value() << ' '
33  << max(thermo.T()).value() << endl;
34  }
35  }
36 }
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:37
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:40
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:531
PtrList< fvMesh > solidRegions(solidNames.size())
const int nNonOrthCorr
fv::options & fvOptions
psiReactionThermo & thermo
Definition: createFields.H:28
tmp< volSymmTensorField > taniAlpha
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
Definition: facLaplacian.C:40
const volScalarField & betav
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:26
const dimensionedScalar h
Planck constant.
autoPtr< fvMatrix< scalar > > fvMatrixAssemblyPtr
messageStream Info
Information stream (stdout output on master, null elsewhere)
bool coupled