1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
inletMassFlowRate
{
type surfaceRegion;
libs ("libfieldFunctionObjects.so");
fields
(
alphaRhoPhi.gas
alphaRhoPhi.liquid
);
writeFields false;
log true;
surfaceFormat null;
regionType patch;
name inlet;
operation sum;
writeControl timeStep;
}
outletMassFlowRate
{
type surfaceRegion;
libs ("libfieldFunctionObjects.so");
fields
(
alphaRhoPhi.gas
alphaRhoPhi.liquid
);
writeFields false;
log true;
surfaceFormat null;
regionType patch;
name outlet;
operation sum;
writeControl timeStep;
}
totalMass
{
type coded;
libs ("libutilityFunctionObjects.so");
name error;
code
#{
const volScalarField& alphaGas =
mesh().lookupObject<volScalarField>("alpha.gas");
const volScalarField& alphaLiquid =
mesh().lookupObject<volScalarField>("alpha.liquid");
const volScalarField& rhoGas =
mesh().lookupObject<volScalarField>("thermo:rho.gas");
const volScalarField& rhoLiquid =
mesh().lookupObject<volScalarField>("thermo:rho.liquid");
const volScalarField& dmdt =
mesh().lookupObject<volScalarField>("dmdt.gasAndLiquid");
const scalarField& v = mesh().V();
Info<< "coded totalMass output:" << endl
<< " volIntegrate(all) for alpha.gas*rho.gas = "
<< gSum(alphaGas*rhoGas*v) << endl
<< " volIntegrate(all) for alpha.liquid*rho.liquid = "
<< gSum(alphaLiquid*rhoLiquid*v) << endl
<< " volIntegrate(all) for dmdt = "
<< gSum(dmdt*v) << endl
<< endl;
#};
}
// ************************************************************************* //
|