kineticEnergyLimiter.H
Go to the documentation of this file.
1 if (!(runTime.timeIndex() % 5))
2 {
3  volScalarField kineticEnergy(magSqr(Dcorr));
4  dimensionedScalar intKineticEnergy = fvc::domainIntegrate(kineticEnergy);
5  Info<< "kineticEnergy = " << intKineticEnergy.value() << endl;
6 
7  volScalarField kineticPower((Dcorr - Dcorr.oldTime()) & Dcorr);
8  dimensionedScalar intKineticPower = fvc::domainIntegrate(kineticPower);
9  Info<< "kineticPower = " << intKineticPower.value() << endl;
10 
11  scalar smi = intKineticPower.value()/(intKineticEnergy.value() + VSMALL);
12  Info<< "smi = " << smi << endl;
13 
14  if (smi < -SMALL)
15  {
16  Info<< "Resetting Dcorr to 0" << endl;
17  Dcorr == dimensionedVector(Dcorr.dimensions(), Zero);
18  }
19 }
runTime
engineTime & runTime
Definition: createEngineTime.H:13
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
Foam::fvc::domainIntegrate
dimensioned< Type > domainIntegrate(const GeometricField< Type, fvPatchField, volMesh > &vf)
Definition: fvcVolumeIntegrate.C:88
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
Foam::magSqr
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
Foam::dimensionedVector
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
Definition: dimensionedVector.H:50
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