mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
- #inputMode error
now issues a FatalError on duplicate entries
- #inputMode warn
issues a warning on duplicate entries, corresponds to the
old behaviour of 'error'
- #inputMode protect
prevents overwriting existing entries
The 'protect' mode provides a simple mechanism for supplying default values.
eg,
in file1:
#inputMode protect
intensity 0.1;
mixingLength 0.005;
#inputMode merge
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity $intensity;
}
which is included from file2:
intensity 0.05;
#include "file1"
111 lines
2.2 KiB
C++
111 lines
2.2 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: Any |
|
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
object testDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
#inputMode merge
|
|
|
|
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;
|
|
}
|
|
|
|
|
|
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 }
|
|
inlet_7 { $inactive }
|
|
inlet_8 { $inactive }
|
|
|
|
#include "testDictInc"
|
|
|
|
outlet
|
|
{
|
|
type inletOutlet;
|
|
inletValue $internalField;
|
|
value #include "value";
|
|
// error #remove self;
|
|
x 5;
|
|
y 6;
|
|
another #calc{x $x; y $y;};
|
|
}
|
|
|
|
// this should have no effect
|
|
#remove inactive
|
|
|
|
inlet_7 { $active }
|
|
#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 )
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|