The FOAM file format has not changed from version 2.0 in many years and so there is no longer a need for the 'version' entry in the FoamFile header to be required and to reduce unnecessary clutter it is now optional, defaulting to the current file format 2.0.
122 lines
2.4 KiB
C++
122 lines
2.4 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;
|
|
object testDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
#inputMode merge
|
|
#includeIfPresent "someUnknownFile"
|
|
#includeIfPresent "$FOAM_CASE/someUnknownFile"
|
|
#includeIfPresent "$FOAM_CASE/someUnknownFile-$FOAM_CASENAME"
|
|
|
|
internalField uniform 1;
|
|
|
|
// use 'protect' to supply defaults
|
|
#inputMode protect
|
|
internalField uniform 10;
|
|
dimensions [ 0 2 -2 0 0 0 0 ];
|
|
#inputMode merge
|
|
|
|
active
|
|
{
|
|
type turbulentIntensityKineticEnergyInlet;
|
|
intensity 0.1;
|
|
value $internalField;
|
|
}
|
|
|
|
inactive
|
|
{
|
|
type zeroGradient;
|
|
}
|
|
|
|
|
|
// Indirection
|
|
varType active;
|
|
|
|
// Indirection of values
|
|
x 5;
|
|
varName x;
|
|
|
|
|
|
//Indirection for keys
|
|
key inlet_9;
|
|
|
|
|
|
boundaryField
|
|
{
|
|
Default_Boundary_Region
|
|
{
|
|
type zeroGradient;
|
|
}
|
|
|
|
inlet_1 { $active }
|
|
inlet_2 { $inactive }
|
|
inlet_3 { $inactive }
|
|
inlet_4 { $inactive }
|
|
inlet_5 "a primitiveEntry is squashed by a directory entry";
|
|
inlet_5 { $inactive }
|
|
inlet_6 { $.inactive } // Test scoping
|
|
inlet_7 { ${inactive}} // Test variable expansion
|
|
inlet_8 { $inactive }
|
|
${key} { $inactive }
|
|
|
|
#include "testDictInc"
|
|
|
|
outlet
|
|
{
|
|
type inletOutlet;
|
|
inletValue $internalField;
|
|
value #include "value";
|
|
// error #remove self;
|
|
x ${${varName}}; // Test indirection/recursive expansion
|
|
y 6;
|
|
}
|
|
|
|
// this should have no effect
|
|
#remove inactive
|
|
|
|
inlet_7 { ${${varType}}} // Test indirection/recursive expansion
|
|
#inputMode overwrite
|
|
inlet_8 { $active }
|
|
}
|
|
|
|
// NB: the inputMode has a global scope
|
|
#inputMode merge
|
|
#include "testDict2"
|
|
|
|
foo
|
|
{
|
|
$active
|
|
}
|
|
|
|
bar
|
|
{
|
|
$active
|
|
}
|
|
|
|
baz
|
|
{
|
|
$active
|
|
}
|
|
|
|
"anynumber.*"
|
|
{
|
|
$active
|
|
}
|
|
|
|
// this should work
|
|
#remove active
|
|
|
|
// this should work too
|
|
#remove ( bar baz )
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|