mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
- Default is a width of 8 characters, but this can be extended up to 31
characters via the '-width' command-line option.
- Now use a similar structure as foamToEnsightParts for the masking.
This reduces the clutter within the directory, makes it easier to
selectively delete some time steps (using shell commands).
- Added in a "time" information data in each sub-directory to
make it possible to reconstruct the case file with an external
script.
- Conversion of cloud data should now also work in parallel
(may need more testing).
- Support binary output for cloud data.
- Better avoidance of illegal ensight variable names.
But still partially incomplete (due to patch fields).
==================================================
Example of NEW file structure:
EnSight/verticalChannel.case # case name
EnSight/geometry # for non-moving geometry
EnSight/data/ # time-varying data
EnSight/data/00000000/
EnSight/data/00000001/
...
Fields are stored by name within the data/********/ directories:
EnSight/data/00000001/time # human-readable time info
EnSight/data/00000001/U
EnSight/data/00000001/p
...
EnSight/data/00000001/geometry # for moving geometry
Clouds are stored at the next sub-directory level:
EnSight/data/00000001/lagrangian/<cloudName>/positions
EnSight/data/00000001/lagrangian/<cloudName>/U
...
==================================================
The old structure was significantly more cluttered:
EnSight/verticalChannel.case
EnSight/verticalChannel.0000.mesh
EnSight/verticalChannel.0001.p
EnSight/verticalChannel.0001.<cloudName>
EnSight/verticalChannel.0001.<cloudName>.U
==================================================
22 lines
504 B
C
22 lines
504 B
C
// ignore special fields or fields that we don't handle
|
|
//
|
|
bool variableGood = true;
|
|
for (label n1=0; n1<timeDirs.size() && variableGood; ++n1)
|
|
{
|
|
// ignore _0 fields
|
|
if (fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0")
|
|
{
|
|
variableGood = false;
|
|
}
|
|
else
|
|
{
|
|
variableGood = IOobject
|
|
(
|
|
fieldName,
|
|
timeDirs[n1].name(),
|
|
mesh,
|
|
IOobject::NO_READ
|
|
).typeHeaderOk<volScalarField>(false);
|
|
}
|
|
}
|