52 int main(
int argc,
char *argv[])
65 Info<<
"\nStarting time loop\n" <<
endl;
67 while (runTime.loop())
69 Info<<
"Time = " << runTime.userTimeName() <<
nl <<
endl;
71 #include "CourantNo.H"
127 U.correctBoundaryConditions();
132 Info<<
"ExecutionTime = " << runTime.elapsedCpuTime() <<
" s"
133 <<
" ClockTime = " << runTime.elapsedClockTime() <<
" s"
For cases which do no have a pressure boundary adjust the balance of fluxes to obey continuity....
Generic GeometricField class.
bool momentumPredictor() const
Flag to indicate to solve for momentum.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
tmp< volScalarField > A() const
Return the central coefficient.
tmp< VolField< Type > > H() const
Return the H operation source.
tmp< SurfaceField< Type > > flux() const
Return the face-flux field from the matrix.
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
bool finalNonOrthogonalIter() const
Flag to indicate the last non-orthogonal iteration.
Piso control class. Provides time-loop and piso-loop control methods. No convergence checking is done...
bool correct(const bool finalIter=false)
Piso loop within outer loop.
bool correctNonOrthogonal(const bool finalIter=true)
Non-orthogonal corrector loop.
Calculates and prints the continuity errors.
Find the reference cell nearest (in index) to the given cell but which is not on a cyclic,...
Calculate the first temporal derivative.
Calculate the face-flux of the given field.
Calculate the gradient of the given field.
Calculate the matrix for the first temporal derivative.
Calculate the matrix for the divergence of the given field and flux.
Calculate the matrix for the laplacian of the field.
int main(int argc, char *argv[])
Declare and initialise the cumulative continuity error.
volScalarField rAU(1.0/UEqn.A())
surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(rho) *fvc::flux(HbyA))
tmp< SurfaceField< typename innerProduct< vector, Type >::type > > flux(const VolField< Type > &vf)
Return the face-flux field obtained from the given volVectorField.
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< SurfaceField< typename Foam::flux< Type >::type > > ddtCorr(const VolField< Type > &U, const SurfaceField< Type > &Uf)
tmp< fvMatrix< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
void constrainPressure(volScalarField &p, const RhoType &rho, const volVectorField &U, const surfaceScalarField &phiHbyA, const RAUType &rhorAU, const MRFType &MRF)
bool adjustPhi(surfaceScalarField &phi, const volVectorField &U, volScalarField &p)
Adjust the balance of fluxes to obey continuity.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< volVectorField > constrainHbyA(const tmp< volVectorField > &tHbyA, const volVectorField &U, const volScalarField &p)
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.