61int main(
int argc,
char *argv[])
65 "Solver for magnetohydrodynamics (MHD):"
66 " incompressible, laminar flow of a conducting fluid"
67 " under the influence of a magnetic field."
78 #include "initContinuityErrs.H"
88 #include "CourantNo.H"
95 - fvc::div(
phiB, 2.0*DBU*
B)
96 - fvm::laplacian(
nu,
U)
100 if (
piso.momentumPredictor())
107 while (
piso.correct())
122 while (
piso.correctNonOrthogonal())
130 pEqn.solve(
p.select(
piso.finalInnerIter()));
132 if (
piso.finalNonOrthogonalIter())
138 #include "continuityErrs.H"
141 U.correctBoundaryConditions();
146 while (
bpiso.correct())
153 - fvm::laplacian(DB,
B)
163 while (
bpiso.correctNonOrthogonal())
167 fvm::laplacian(rABf, pB) == fvc::div(
phiB)
170 pBEqn.solve(pB.select(
bpiso.finalInnerIter()));
172 if (
bpiso.finalNonOrthogonalIter())
174 phiB -= pBEqn.flux();
static const Foam::dimensionedScalar B("", Foam::dimless, 18.678)
pisoControl bpiso(mesh, "BPISO")
constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF)
surfaceScalarField & phiB
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
tmp< volScalarField > rAU
GeometricField< vector, fvPatchField, volMesh > volVectorField
fvMatrix< scalar > fvScalarMatrix
GeometricField< scalar, fvPatchField, volMesh > volScalarField
messageStream Info
Information stream (stdout output on master, null elsewhere).
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Ostream & endl(Ostream &os)
Add newline and flush stream.
fvMatrix< vector > fvVectorMatrix
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
constexpr char nl
The newline '\n' character (0x0a).
Execute application functionObjects to post-process existing results.