ENH: magneticFoam. Adding option to control HdotGradH output.

This commit is contained in:
graham
2010-04-27 11:30:49 +01:00
parent 6e206f494a
commit f117f4b843

View File

@ -29,7 +29,8 @@ Description
A Poisson's equation for the magnetic scalar potential psi is solved A Poisson's equation for the magnetic scalar potential psi is solved
from which the magnetic field intensity H and magnetic flux density B from which the magnetic field intensity H and magnetic flux density B
are obtained. are obtained. The paramagnetic particle force field (H dot grad(H))
is optionally available.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -42,8 +43,23 @@ Description
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::addBoolOption("noH", "do not write the magnetic field"); argList::addBoolOption
argList::addBoolOption("noB", "do not write the magnetic field"); (
"noH",
"do not write the magnetic field intensity field"
);
argList::addBoolOption
(
"noB",
"do not write the magnetic flux density field"
);
argList::addBoolOption
(
"HdotGradH",
"write the paramagnetic particle force field"
);
#include "setRootCase.H" #include "setRootCase.H"
#include "createTime.H" #include "createTime.H"
@ -64,10 +80,8 @@ int main(int argc, char *argv[])
psi.write(); psi.write();
if (!args.optionFound("noH")) if (!args.optionFound("noH") || args.optionFound("HdotGradH"))
{ {
Info<< nl
<< "Creating field H for time " << runTime.timeName() << endl;
volVectorField H volVectorField H
( (
IOobject IOobject
@ -79,30 +93,42 @@ int main(int argc, char *argv[])
fvc::reconstruct(fvc::snGrad(psi)*mesh.magSf()) fvc::reconstruct(fvc::snGrad(psi)*mesh.magSf())
); );
H.write(); if (!args.optionFound("noH"))
{
Info<< nl
<< "Creating field H for time "
<< runTime.timeName() << endl;
Info<< nl H.write();
<< "Creating field HdotGradH for time " }
<< runTime.timeName() << endl;
volVectorField HdotGradH if (args.optionFound("HdotGradH"))
( {
IOobject Info<< nl
<< "Creating field HdotGradH for time "
<< runTime.timeName() << endl;
volVectorField HdotGradH
( (
"HdotGradH", IOobject
runTime.timeName(), (
mesh "HdotGradH",
), runTime.timeName(),
H & fvc::grad(H) mesh
); ),
H & fvc::grad(H)
);
HdotGradH.write(); HdotGradH.write();
}
} }
if (!args.optionFound("noB")) if (!args.optionFound("noB"))
{ {
Info<< nl Info<< nl
<< "Creating field B for time " << runTime.timeName() << endl; << "Creating field B for time "
<< runTime.timeName() << endl;
volVectorField B volVectorField B
( (
IOobject IOobject