openfoam/applications/solvers/multiphase/bubbleFoam/createPhib.H

63 lines
1.3 KiB
C

IOobject phibHeader
(
"phib",
runTime.timeName(),
mesh,
IOobject::NO_READ
);
surfaceScalarField* phibPtr;
if (phibHeader.headerOk())
{
Info<< "Reading face flux field phib\n" << endl;
phibPtr = new surfaceScalarField
(
IOobject
(
"phib",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
}
else
{
Info<< "Calculating face flux field phib\n" << endl;
wordList phiTypes
(
Ub.boundaryField().size(),
calculatedFvPatchScalarField::typeName
);
forAll(Ub.boundaryField(), i)
{
if (isA<fixedValueFvPatchVectorField>(Ub.boundaryField()[i]))
{
phiTypes[i] = fixedValueFvPatchScalarField::typeName;
}
}
phibPtr = new surfaceScalarField
(
IOobject
(
"phib",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
fvc::interpolate(Ub) & mesh.Sf(),
phiTypes
);
}
surfaceScalarField& phib = *phibPtr;