test: New directory for model tests and validation

The initial set of cases in the test directory are aimed at testing the
reactingEulerFoam populationBalance functionality.

Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum
Dresden - Rossendorf (HZDR) and VTT Technical Research Centre of Finland Ltd.
Integrated with the "tutorials" functionality by CFD Direct Ltd.
This commit is contained in:
Henry Weller
2018-03-22 16:42:11 +00:00
parent de9d27cace
commit b6b146058d
211 changed files with 7137 additions and 138 deletions

View File

@ -1,8 +1,10 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
dir=${PWD##*/}
echo "--------"
echo "Cleaning tutorials ..."
echo "Cleaning ${dir}s ..."
echo "Removing backup files"
find . -type f \( -name "*~" -o -name "*.bak" \) -exec rm {} \;
find . \( -name core -o -name 'core.[1-9]*' \) -exec rm {} \;

View File

@ -3,7 +3,7 @@
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
# \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
@ -33,6 +33,8 @@ cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
dir=${PWD##*/}
# logReport <logfile>
# Extracts useful info from log file.
logReport()
@ -67,7 +69,7 @@ logReport()
}
# Recursively run all tutorials
# Recursively run all cases
foamRunTutorials -test -skipFirst

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object T.airI;
object T.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -27,7 +27,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airI;
phi phi.air1;
inletValue $internalField;
value $internalField;
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object T.airI;
object T.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -27,7 +27,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airI;
phi phi.air2;
inletValue $internalField;
value $internalField;
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format binary;
class volVectorField;
object U.airI;
object U.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,7 +28,7 @@ boundaryField
outlet
{
type pressureInletOutletVelocity;
phi phi.airI;
phi phi.air1;
value $internalField;
}
walls

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format binary;
class volVectorField;
object U.airI;
object U.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,7 +28,7 @@ boundaryField
outlet
{
type pressureInletOutletVelocity;
phi phi.airI;
phi phi.air2;
value $internalField;
}
walls

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object alpha.airI;
object alpha.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airI;
phi phi.air1;
inletValue uniform 0;
value uniform 0;
}

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object alpha.airII;
object alpha.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airII;
phi phi.air2;
inletValue uniform 1;
value uniform 1;
}

View File

@ -29,9 +29,9 @@ boundaryField
{
type prghTotalPressure;
p0 $internalField;
U U.airII;
phi phi.airII;
rho thermo:rho.airII;
U U.air2;
phi phi.air2;
rho thermo:rho.air2;
value $internalField;
}
walls

View File

@ -17,9 +17,9 @@ FoamFile
type heatAndMomentumTransferMultiphaseSystem;
phases (airI airII water);
phases (air1 air2 water);
airI
air1
{
type purePhaseModel;
diameterModel isothermal;
@ -32,7 +32,7 @@ airI
residualAlpha 1e-6;
}
airII
air2
{
type purePhaseModel;
diameterModel isothermal;
@ -62,10 +62,10 @@ blending
default
{
type linear;
minFullyContinuousAlpha.airI 0.7;
minPartlyContinuousAlpha.airI 0.5;
minFullyContinuousAlpha.airII 0.7;
minPartlyContinuousAlpha.airII 0.5;
minFullyContinuousAlpha.air1 0.7;
minPartlyContinuousAlpha.air1 0.5;
minFullyContinuousAlpha.air2 0.7;
minPartlyContinuousAlpha.air2 0.5;
minFullyContinuousAlpha.water 0.7;
minPartlyContinuousAlpha.water 0.5;
}
@ -73,13 +73,13 @@ blending
surfaceTension
(
(airI and water)
(air1 and water)
{
type constant;
sigma 0.07;
}
(airII and water)
(air2 and water)
{
type constant;
sigma 0.07;
@ -91,25 +91,25 @@ interfaceCompression
aspectRatio
(
(airI in water)
(air1 in water)
{
type constant;
E0 1.0;
}
(water in airI)
(water in air1)
{
type constant;
E0 1.0;
}
(airII in water)
(air2 in water)
{
type constant;
E0 1.0;
}
(water in airII)
(water in air2)
{
type constant;
E0 1.0;
@ -118,7 +118,7 @@ aspectRatio
drag
(
(airI in water)
(air1 in water)
{
type SchillerNaumann;
residualRe 1e-3;
@ -128,7 +128,7 @@ drag
}
}
(water in airI)
(water in air1)
{
type SchillerNaumann;
residualRe 1e-3;
@ -138,7 +138,7 @@ drag
}
}
(airI and water)
(air1 and water)
{
type segregated;
m 0.5;
@ -149,7 +149,7 @@ drag
}
}
(airII in water)
(air2 in water)
{
type SchillerNaumann;
residualRe 1e-3;
@ -159,7 +159,7 @@ drag
}
}
(water in airII)
(water in air2)
{
type SchillerNaumann;
residualRe 1e-3;
@ -169,7 +169,7 @@ drag
}
}
(airII and water)
(air2 and water)
{
type segregated;
m 0.5;
@ -180,7 +180,7 @@ drag
}
}
(airI in airII)
(air1 in air2)
{
type SchillerNaumann;
residualRe 1e-3;
@ -190,7 +190,7 @@ drag
}
}
(airII in airI)
(air2 in air1)
{
type SchillerNaumann;
@ -201,7 +201,7 @@ drag
}
}
(airI and airII)
(air1 and air2)
{
type segregated;
m 0.5;
@ -215,37 +215,37 @@ drag
virtualMass
(
(airI in water)
(air1 in water)
{
type constantCoefficient;
Cvm 0.5;
}
(water in airI)
(water in air1)
{
type constantCoefficient;
Cvm 0.5;
}
(airII in water)
(air2 in water)
{
type constantCoefficient;
Cvm 0.5;
}
(water in airII)
(water in air2)
{
type constantCoefficient;
Cvm 0.5;
}
(airI in airII)
(air1 in air2)
{
type constantCoefficient;
Cvm 0.5;
}
(airI in airII)
(air1 in air2)
{
type constantCoefficient;
Cvm 0.5;
@ -254,37 +254,37 @@ virtualMass
heatTransfer
(
(airI in water)
(air1 in water)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(water in airI)
(water in air1)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(airII in water)
(air2 in water)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(water in airII)
(water in air2)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(airI in airII)
(air1 in air2)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(airII in airI)
(air2 in air1)
{
type RanzMarshall;
residualAlpha 1e-4;

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.airI;
object thermophysicalProperties.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.airI;
object thermophysicalProperties.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.airI;
object turbulenceProperties.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.airI;
object turbulenceProperties.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -60,14 +60,14 @@ functions0
writeControl writeTime;
fields
(
U.airI
U.air1
{
mean on;
prime2Mean off;
base time;
}
U.airII
U.air2
{
mean on;
prime2Mean off;
@ -81,14 +81,14 @@ functions0
base time;
}
alpha.airI
alpha.air1
{
mean on;
prime2Mean off;
base time;
}
alpha.airII
alpha.air2
{
mean on;
prime2Mean off;

View File

@ -17,8 +17,8 @@ FoamFile
defaultFieldValues
(
volScalarFieldValue alpha.airI 0
volScalarFieldValue alpha.airII 1
volScalarFieldValue alpha.air1 0
volScalarFieldValue alpha.air2 1
volScalarFieldValue alpha.water 0
);
@ -29,7 +29,7 @@ regions
box (0 0 -0.1) (0.15 0.701 0.1);
fieldValues
(
volScalarFieldValue alpha.airII 0
volScalarFieldValue alpha.air2 0
volScalarFieldValue alpha.water 1
);
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object T.airII;
object T.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -27,7 +27,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airII;
phi phi.air1;
inletValue $internalField;
value $internalField;
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object T.airII;
object T.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -27,7 +27,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airII;
phi phi.air2;
inletValue $internalField;
value $internalField;
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format binary;
class volVectorField;
object U.airII;
object U.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,7 +28,7 @@ boundaryField
outlet
{
type pressureInletOutletVelocity;
phi phi.airII;
phi phi.air1;
value $internalField;
}
walls

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format binary;
class volVectorField;
object U.airII;
object U.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,7 +28,7 @@ boundaryField
outlet
{
type pressureInletOutletVelocity;
phi phi.airII;
phi phi.air2;
value $internalField;
}
walls

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object alpha.airI;
object alpha.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airI;
phi phi.air1;
inletValue uniform 0;
value uniform 0;
}

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object alpha.airII;
object alpha.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airII;
phi phi.air2;
inletValue uniform 1;
value uniform 1;
}

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object f.airI.bubbles;
object f.air1.bubbles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airI;
phi phi.air1;
inletValue $internalField;
value $internalField;
}

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class volScalarField;
location "0";
object f.airII.bubbles;
object f.air2.bubbles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +29,7 @@ boundaryField
outlet
{
type inletOutlet;
phi phi.airII;
phi phi.air2;
inletValue $internalField;
value $internalField;
}

View File

@ -29,9 +29,9 @@ boundaryField
{
type prghTotalPressure;
p0 $internalField;
U U.airII;
phi phi.airII;
rho thermo:rho.airII;
U U.air2;
phi phi.air2;
rho thermo:rho.air2;
value $internalField;
}
walls

View File

@ -17,11 +17,11 @@ FoamFile
type populationBalanceMultiphaseSystem;
phases (airI airII water);
phases (air1 air2 water);
populationBalances (bubbles);
airI
air1
{
type purePhaseModel;
diameterModel velocityGroup;
@ -51,7 +51,7 @@ airI
residualAlpha 1e-6;
}
airII
air2
{
type purePhaseModel;
diameterModel velocityGroup;
@ -133,10 +133,10 @@ blending
default
{
type linear;
minFullyContinuousAlpha.airI 0.7;
minPartlyContinuousAlpha.airI 0.5;
minFullyContinuousAlpha.airII 0.7;
minPartlyContinuousAlpha.airII 0.5;
minFullyContinuousAlpha.air1 0.7;
minPartlyContinuousAlpha.air1 0.5;
minFullyContinuousAlpha.air2 0.7;
minPartlyContinuousAlpha.air2 0.5;
minFullyContinuousAlpha.water 0.7;
minPartlyContinuousAlpha.water 0.5;
}
@ -144,13 +144,13 @@ blending
surfaceTension
(
(airI and water)
(air1 and water)
{
type constant;
sigma 0.07;
}
(airII and water)
(air2 and water)
{
type constant;
sigma 0.07;
@ -162,25 +162,25 @@ interfaceCompression
aspectRatio
(
(airI in water)
(air1 in water)
{
type constant;
E0 1.0;
}
(water in airI)
(water in air1)
{
type constant;
E0 1.0;
}
(airII in water)
(air2 in water)
{
type constant;
E0 1.0;
}
(water in airII)
(water in air2)
{
type constant;
E0 1.0;
@ -189,7 +189,7 @@ aspectRatio
drag
(
(airI in water)
(air1 in water)
{
type SchillerNaumann;
residualRe 1e-3;
@ -199,7 +199,7 @@ drag
}
}
(water in airI)
(water in air1)
{
type SchillerNaumann;
residualRe 1e-3;
@ -209,7 +209,7 @@ drag
}
}
(airI and water)
(air1 and water)
{
type segregated;
m 0.5;
@ -220,7 +220,7 @@ drag
}
}
(airII in water)
(air2 in water)
{
type SchillerNaumann;
residualRe 1e-3;
@ -230,7 +230,7 @@ drag
}
}
(water in airII)
(water in air2)
{
type SchillerNaumann;
residualRe 1e-3;
@ -240,7 +240,7 @@ drag
}
}
(airII and water)
(air2 and water)
{
type segregated;
m 0.5;
@ -251,7 +251,7 @@ drag
}
}
(airI in airII)
(air1 in air2)
{
type SchillerNaumann;
residualRe 1e-3;
@ -261,7 +261,7 @@ drag
}
}
(airII in airI)
(air2 in air1)
{
type SchillerNaumann;
@ -272,7 +272,7 @@ drag
}
}
(airI and airII)
(air1 and air2)
{
type segregated;
m 0.5;
@ -286,91 +286,91 @@ drag
virtualMass
(
(airI in water)
(air1 in water)
{
type constantCoefficient;
Cvm 0.5;
}
(water in airI)
(water in air1)
{
type constantCoefficient;
Cvm 0.5;
}
(airII in water)
(air2 in water)
{
type constantCoefficient;
Cvm 0.5;
}
(water in airII)
(water in air2)
{
type constantCoefficient;
Cvm 0.5;
}
(airI in airII)
(air1 in air2)
{
type constantCoefficient;
Cvm 0.5;
}
(airI in airII)
(air1 in air2)
{
type constantCoefficient;
Cvm 0.5;
}
);
heatTransfer.airI
heatTransfer.air1
(
(airI in water)
(air1 in water)
{
type spherical;
residualAlpha 1e-3;
}
(water in airI)
(water in air1)
{
type RanzMarshall;
residualAlpha 1e-3;
}
(airI in airII)
(air1 in air2)
{
type spherical;
residualAlpha 1e-3;
}
(airII in airI)
(air2 in air1)
{
type spherical;
residualAlpha 1e-3;
}
);
heatTransfer.airII
heatTransfer.air2
(
(airII in water)
(air2 in water)
{
type spherical;
residualAlpha 1e-3;
}
(water in airII)
(water in air2)
{
type RanzMarshall;
residualAlpha 1e-3;
}
(airI in airII)
(air1 in air2)
{
type spherical;
residualAlpha 1e-3;
}
(airII in airI)
(air2 in air1)
{
type spherical;
residualAlpha 1e-3;
@ -379,35 +379,35 @@ heatTransfer.airII
heatTransfer.water
(
(airI in water)
(air1 in water)
{
type RanzMarshall;
residualAlpha 1e-3;
}
(water in airI)
(water in air1)
{
type spherical;
residualAlpha 1e-3;
}
(airII in water)
(air2 in water)
{
type RanzMarshall;
residualAlpha 1e-3;
}
(water in airII)
(water in air2)
{
type spherical;
residualAlpha 1e-3;
}
);
massTransfer.airI
massTransfer.air1
();
massTransfer.airII
massTransfer.air2
();
massTransfer.water

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.airII;
object thermophysicalProperties.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.airII;
object thermophysicalProperties.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.airII;
object turbulenceProperties.air1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -11,7 +11,7 @@ FoamFile
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.airII;
object turbulenceProperties.air2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -60,14 +60,14 @@ functions0
writeControl writeTime;
fields
(
U.airI
U.air1
{
mean on;
prime2Mean off;
base time;
}
U.airII
U.air2
{
mean on;
prime2Mean off;
@ -81,14 +81,14 @@ functions0
base time;
}
alpha.airI
alpha.air1
{
mean on;
prime2Mean off;
base time;
}
alpha.airII
alpha.air2
{
mean on;
prime2Mean off;

View File

@ -17,8 +17,8 @@ FoamFile
defaultFieldValues
(
volScalarFieldValue alpha.airI 0
volScalarFieldValue alpha.airII 1
volScalarFieldValue alpha.air1 0
volScalarFieldValue alpha.air2 1
volScalarFieldValue alpha.water 0
);
@ -29,7 +29,7 @@ regions
box (0 0 -0.1) (0.15 0.701 0.1);
fieldValues
(
volScalarFieldValue alpha.airII 0
volScalarFieldValue alpha.air2 0
volScalarFieldValue alpha.water 1
);
}