Go to the documentation of this file.
45 int main(
int argc,
char *argv[])
49 "Transient solver for inviscid shallow-water equations with rotation"
58 #include "createControl.H"
59 #include "createFields.H"
63 Info<<
"\nStarting time loop\n" <<
endl;
69 #include "CourantNo.H"
84 if (
pimple.momentumPredictor())
96 if (
mesh.nGeometricD() == 3)
98 hU -= (gHat & hU)*gHat;
99 hU.correctBoundaryConditions();
129 while (
pimple.correctNonOrthogonal())
138 hEqn.solve(
mesh.solver(
h.select(
pimple.finalInnerIter())));
140 if (
pimple.finalNonOrthogonalIter())
149 if (
mesh.nGeometricD() == 3)
151 hU -= (gHat & hU)*gHat;
154 hU.correctBoundaryConditions();
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< volScalarField > rAU
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
volVectorField F(fluid.F())
Ostream & endl(Ostream &os)
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
fvMatrix< vector > fvVectorMatrix
fvMatrix< scalar > fvScalarMatrix
const dimensionedScalar h
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Execute application functionObjects to post-process existing results.
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
tmp< surfaceScalarField > flux(const volVectorField &vvf)
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)