/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: dev \\/ M anipulation | \*---------------------------------------------------------------------------*/ inletMassFlowRate { type surfaceFieldValue; libs ("libfieldFunctionObjects.so"); fields ( alphaRhoPhi.gas alphaRhoPhi.liquid ); writeFields false; log true; surfaceFormat none; select patch; name inlet; operation sum; writeControl timeStep; } outletMassFlowRate { type surfaceFieldValue; libs ("libfieldFunctionObjects.so"); fields ( alphaRhoPhi.gas alphaRhoPhi.liquid ); writeFields false; log true; surfaceFormat none; select patch; name outlet; operation sum; writeControl timeStep; } totalMass { type coded; // Load the library containing the 'coded' functionObject libs ("libutilityFunctionObjects.so"); codeExecute #{ const volScalarField& alphaGas = mesh().lookupObject("alpha.gas"); const volScalarField& alphaLiquid = mesh().lookupObject("alpha.liquid"); const volScalarField& rhoGas = mesh().lookupObject("rho.gas"); const volScalarField& rhoLiquid = mesh().lookupObject("rho.liquid"); 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 << endl; #}; } // ************************************************************************* //