A new optional "slash" scoping syntax is now provided which is more intuitive
than the current "dot" syntax as it corresponds to the common directory/file
access syntax used in UNIX, and avoids limitations of the "dot" (see below)
e.g.
internalField 3.4;
active
{
type fixedValue;
value.air $internalField;
}
inactive
{
type anotherFixedValue;
value $../active/value.air;
anotherValue $:active/value.air;
sub
{
value $../../active/value.air;
anotherValue $:active/value.air;
}
}
"U.*"
{
solver GAMG;
}
e.air
{
// This does expand
$U.air;
}
"#inputSyntax slash;" selects the new "slash" syntax.
"../" refers to the parent directory.
":" refers to the top-level directory.
The corresponding dictionary using the current "dot" syntax is
internalField 3.4;
active
{
type fixedValue;
value.air $internalField;
}
inactive
{
type anotherFixedValue;
value $..active.value.air;
anotherValue $:active.value.air;
sub
{
value $...active.value.air;
anotherValue $:active.value.air;
}
}
"U.*"
{
solver GAMG;
}
e.air
{
// This doesn't expand
$U.air;
}
Note that the "$U.air" expansion does not work in this case due to the
interference between the use of '.' for scoping and phase-name.
This is a fundamental problem which prompted the development of the new more
intuitive and flexible "slash" syntax.
The new syntax also allows a for planned future development to access entries
in directories in other files, e.g.
active
{
type fixedValue;
value.air $FOAM_CASE/internalFieldValues/value.air;
}
or
active
{
type fixedValue;
value.air :../internalFieldValues/value.air;
}
OpenFOAM Configuration
The main OpenFOAM settings are located in the parent etc/ directory. The bash and csh shells are supported and to configure OpenFOAM source etc/bashrc or etc/cshrc respectively which source the following files in the config.sh or config.csh respectively:
settings: core settingsaliases: aliases for interactive shellsunset: sourced to clear as many OpenFOAM environment settings as possiblempi: MPI communications library settingsensight: application settings for EnSightparaview: application settings for ParaViewscotch: application settings for compiling against scotchmetis: application settings for compiling against metis 5
The config.*/example directories contains various example configuration files for the corresponding shell:
compiler: an example of fine tuning ThirdParty compiler settingsopenmpi: an example of fine tuning openmpi settings for OpenFOAMparaview: an example of chaining to the standard config/paraview with a different ParaView_VERSIONprefs: an example of supplying alternative site-defined settings