Go to the documentation of this file.
100 int main(
int argc,
char *argv[])
104 "Overset potential flow solver which solves for the velocity potential"
111 "Name of the pressure field"
114 argList::addBoolOption
117 "Initialise U boundary conditions"
120 argList::addBoolOption
123 "Write the final velocity potential field"
126 argList::addBoolOption
129 "Calculate and write the Euler pressure field"
132 argList::addBoolOption
134 "withFunctionObjects",
135 "Execute functionObjects"
144 #include "createFields.H"
148 Info<<
nl <<
"Calculating potential flow" <<
endl;
156 runTime.functionObjects().start();
175 PhiEqn.setReference(PhiRefCell, PhiRefValue);
180 phi -= PhiEqn.flux();
186 Info<<
"Continuity error = "
191 U.correctBoundaryConditions();
193 Info<<
"Interpolated velocity error = "
211 Info<<
nl <<
"Calculating approximate pressure field" <<
endl;
255 runTime.functionObjects().end();
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
bool adjustPhi(surfaceScalarField &phi, const volVectorField &U, volScalarField &p)
tmp< GeometricField< Type, faPatchField, areaMesh > > average(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
surfaceScalarField faceMask(localMin< scalar >(mesh).interpolate(cellMask))
volVectorField F(fluid.F())
Ostream & endl(Ostream &os)
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
fvMatrix< scalar > fvScalarMatrix
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
bool setRefCell(const volScalarField &field, const volScalarField &fieldRef, const dictionary &dict, label &refCelli, scalar &refValue, const bool forceReference=false)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensionedSymmTensor sqr(const dimensionedVector &dv)
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
const dictionary & potentialFlow(mesh.solutionDict().subDict("potentialFlow"))
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Foam::argList args(argc, argv)
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
bool found(const word &optName) const