The keyword 'select' is now used to specify the cell, face or point set
selection method consistently across all classes requiring this functionality.
'select' replaces the inconsistently named 'regionType' and 'selectionMode'
keywords used previously but backwards-compatibility is provided for user
convenience. All configuration files and tutorials have been updated.
Examples of 'select' from the tutorial cases:
functionObjects:
cellZoneAverage
{
type volFieldValue;
libs ("libfieldFunctionObjects.so");
writeControl writeTime;
writeInterval 1;
fields (p);
select cellZone;
cellZone injection;
operation volAverage;
writeFields false;
}
#includeFunc populationBalanceSizeDistribution
(
name=numberDensity,
populationBalance=aggregates,
select=cellZone,
cellZone=outlet,
functionType=numberDensity,
coordinateType=projectedAreaDiameter,
allCoordinates=yes,
normalise=yes,
logTransform=yes
)
fvModel:
cylinderHeat
{
type heatSource;
select all;
q 5e7;
}
fvConstraint:
momentumForce
{
type meanVelocityForce;
select all;
Ubar (0.1335 0 0);
}
181 lines
4.9 KiB
C++
181 lines
4.9 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class dictionary;
|
|
location "system";
|
|
object controlDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
application foamRun;
|
|
|
|
solver multiphaseEuler;
|
|
|
|
startFrom startTime;
|
|
|
|
startTime 0;
|
|
|
|
stopAt endTime;
|
|
|
|
endTime 4;
|
|
|
|
deltaT 0.0001;
|
|
|
|
writeControl adjustableRunTime;
|
|
|
|
writeInterval 0.5;
|
|
|
|
purgeWrite 0;
|
|
|
|
writeFormat ascii;
|
|
|
|
writePrecision 9;
|
|
|
|
writeCompression off;
|
|
|
|
timeFormat general;
|
|
|
|
timePrecision 6;
|
|
|
|
runTimeModifiable yes;
|
|
|
|
adjustTimeStep yes;
|
|
|
|
maxCo 0.5;
|
|
|
|
maxDeltaT 0.001;
|
|
|
|
functions
|
|
{
|
|
writeWallBoilingProperties
|
|
{
|
|
type wallBoilingProperties;
|
|
functionObjectLibs ( "libmultiphaseEulerFoamFunctionObjects.so" );
|
|
writeControl writeTime;
|
|
phase liquid;
|
|
}
|
|
volumeDensity.diameter.bubbles
|
|
{
|
|
type populationBalanceSizeDistribution;
|
|
functionObjectLibs ( "libmultiphaseEulerFoamFunctionObjects.so" );
|
|
writeControl runTime;
|
|
writeInterval 0.5;
|
|
setFormat raw;
|
|
log yes;
|
|
functionType volumeConcentration;
|
|
coordinateType diameter;
|
|
select cellZone;
|
|
cellZone x349;
|
|
populationBalance bubbles;
|
|
}
|
|
volumeDensity_bulk.diameter.bubbles
|
|
{
|
|
type populationBalanceSizeDistribution;
|
|
functionObjectLibs ( "libmultiphaseEulerFoamFunctionObjects.so" );
|
|
writeControl runTime;
|
|
writeInterval 0.5;
|
|
setFormat raw;
|
|
log yes;
|
|
functionType volumeConcentration;
|
|
coordinateType diameter;
|
|
select cellZone;
|
|
cellZone x349_bulk;
|
|
populationBalance bubbles;
|
|
}
|
|
volumeDensity_wall.diameter.bubbles
|
|
{
|
|
type populationBalanceSizeDistribution;
|
|
functionObjectLibs ( "libmultiphaseEulerFoamFunctionObjects.so" );
|
|
writeControl runTime;
|
|
writeInterval 0.5;
|
|
setFormat raw;
|
|
log yes;
|
|
functionType volumeConcentration;
|
|
coordinateType diameter;
|
|
select cellZone;
|
|
cellZone x349_wall;
|
|
populationBalance bubbles;
|
|
}
|
|
outflow
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch outlet;
|
|
operation sum;
|
|
fields ( alphaRhoPhi.gas alphaRhoPhi.liquid );
|
|
}
|
|
inflow
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch inlet;
|
|
operation sum;
|
|
fields ( alphaRhoPhi.gas alphaRhoPhi.liquid );
|
|
}
|
|
outletGas
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch outlet;
|
|
operation sum;
|
|
weightField alphaRhoPhi.gas;
|
|
fields ( h.gas );
|
|
}
|
|
outletLiquid
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch outlet;
|
|
operation sum;
|
|
weightField alphaRhoPhi.liquid;
|
|
fields ( h.liquid );
|
|
}
|
|
inletGas
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch inlet;
|
|
operation sum;
|
|
weightField alphaRhoPhi.gas;
|
|
fields ( h.gas );
|
|
}
|
|
inletLiquid
|
|
{
|
|
type surfaceFieldValue;
|
|
functionObjectLibs ( "libfieldFunctionObjects.so" );
|
|
log yes;
|
|
writeFields false;
|
|
select patch;
|
|
patch inlet;
|
|
operation sum;
|
|
weightField alphaRhoPhi.liquid;
|
|
fields ( h.liquid );
|
|
}
|
|
#includeFunc writeObjects(d.gas)
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|