- this provides easily sortable names.
The time information is available via the corresponding .series
file, which can also be loaded directly with ParaView 5.5 or later.
For further redundancy, time information is saved in the first XML
comment inside of the .vtp files. For example,
<!-- cloud=limestoneCloud1 time=0.005 index=200 -->
- The additional output generated by #calc directives in the
controlDict or decomposeParDict causes issues for the RunFunctions
extraction of 'application' and 'numberOfSubdomains'.
Avoid by using -disableFunctionEntries, which also has the side-effect
of disabling '#include'.
- major() and minor() are GNU macros in sys/sysmacros.h
and generates warning on some systems (eg, Ubuntu 18.04)
use getMajor() and getMinor() as method names instead.
- corrected the mass based correction and updated the misleading function
arguments
- moved the option to the optimisation switches, e.g.:
OptimisationSwitches
{
experimentalDdtCorr 1;
}
- default remains off/no (0)
- now report as "min = XX max = YY average = ZZ"
instead of as "min/max/average = XX, YY, ZZ"
this makes it easier to parse any particular value
(eg, with foamLog)
- should use bitSet::set() and not bitSet::operator[] to auto-vivify
out-of-range entries
- use bitSet::test() instead of bitSet::operator[] when testing
non-const variables - circumvents any potential out-of-range issues.
- Since 'bool' and 'Switch' use the _identical_ input mechanism
(ie, both accept true/false, on/off, yes/no, none, 1/0), the main
reason to prefer one or the other is the output.
The output for Switch is as text (eg, "true"), whereas for bool
it is label (0 or 1). If the output is required for a dictionary,
Switch may be appropriate. If the output is not required, or is only
used for Pstream exchange, bool can be more appropriate.
- Always used for optional dictionary entries, since these are individual
values, and not meant to be embedded in a larger stream of tokens.
Methods:
- lookupOrDefault, lookupOrAddDefault, lookupOrDefaultCompat
- readIfPresent, readIfPresentCompat
- Handling mandatory dictionary entries is slightly more complex,
since these may be part of larger stream of tokens, and are often
used in a constructor context. For example,
word modelType(dict.lookup("type"));
Or they are used without a definite context. For example,
dict.lookup("format") >> outputFormat;
Newly introduced methods for mandatory dictionary entries:
- get, getCompat
- read, readCompat
In a constructor or assignment context:
word modelType(dict.get<word>("type"));
outputFormat = dict.lookup("format");
without copy/move (similar to readIfPresent):
dict.read("format", outputFormat);