- reads/write shell elements
Output elements are "bunched" according to type and their set
without reordering.
- preliminary reading of solids without extraction.
Handling of *Surface specifications is not implemented
- enhancement and potential breaking change.
Nastran surface writer previously used the keyword 'scale' for
field scaling, which was applied uniformly to all output fields.
Change the meaning of 'scale' to be geometric scaling
(consistent with reading triSurfaceMesh etc).
New 'fieldScale' entry is an optional dictionary of scaling
parameters.
Example,
nastran
{
scale 1000; // [m] -> [mm]
fieldScale
{
"p.*" 0.01; // [Pa] -> [mbar]
}
}
- adjustments to internal handling to improve run-time addition of
other formats (eg, with additional user library)
For example, to write a binary STL with a '.stl' extension:
$ surfaceMeshConvert input.obj -write-format stlb output.stl
Or in a sampler,
to specify the input type without ambiguity:
surf
{
type meshedSurface;
surface sampling.inp;
fileType starcd;
scale 0.001;
...
}
STYLE: regularize naming for input/output scaling
* -read-scale (compat: -scaleIn)
* -write-scale (compat: -scaleOut)
CONFIG: change edge/surface selection name for STARCD format
- now select as "starcd" instead of "inp" to avoid naming ambiguity
with abaqus
- had a PrimitivePatch with SubField, but now use const pointField&.
There is no derivation path from a pointIOField to SubField<point>,
so a const reference makes more sense.
- face_type, point_type (similar to STL value_type, etc).
The naming avoids potential confusion with template parameters.
- rename private typedef from ParentType to MeshReference for more
consistency with polySurface etc.
- regression introduced by 431c9632f9
The triSurface dictionary constructor applies the scaling,
and thus it can be reported, but not applied in triSurfaceMesh
- previously used a Pstream::exit() invoked from the argList
destructor to handle all MPI shutdown, but this has the unfortunate
side-effect of using a fixed return value for the program exit.
Instead use the Pstream::shutdown() method in the destructor and allow
the normal program exit codes as usual. This means that the
following code now works as expected.
```
argList args(...);
if (...)
{
InfoErr<< "some error\n";
return 1;
}
```
- missed detection of system libraries when installed with multiarch
paths like /usr/lib/x86_64-linux-gnu
CONFIG: improve handling of group/user config files (#928)
- changed bashrc handling of FOAM_CONFIG_NOUSER to use
FOAM_CONFIG_MODE instead. Propagate into foamEtcFile to make this
a stickier control.
This change allows better control, but also enables cluster
installations to define their own value within the OpenFOAM prefs.sh
file to prevent users accidentally mis-configuring things if
necessary.
- remove undocumented handling of an (a)ll mode in foamEtcFile to
avoid potential pitfalls.
- add support for FOAM_CONFIG_ETC handling.
This allows injection of an extra search layer when finding
project etc files
ENH: improvements to foamConfigurePaths (#928)
- handle FOAM_CONFIG_ETC implicitly, or explicitly with the new
-etc option.
STYLE: more explicit wording in foamConfigurePaths usage (#1602)
- document that an absolute path (eg, -scotch-path) overrides/ignores
the equivalent ThirdParty setting (eg, -scotch)
- longer options -system-compiler and -third-compiler for -system
and -third, respectively. Clearer as to their purpose.
- adjust the location sanity check to look for META-INFO directory.
- base level surface container is now a meshedSurface instead of
a triSurface. This avoid automatic triangulation of surfaces
when they are read, and simplifies the internals.
- sampling types:
* "meshedSurface" (compat: "sampledTriSurfaceMesh")
* "meshedSurfaceNormal" (compat: "sampledTriSurfaceMeshNormal")
- removed swapZones method (unused, potentially fragile)
- add subsetMesh by name
BUG: incorrect zone assignment in MeshedSurface::subsetMesh
- used the new (zero-sized) zone when determining the old zone ending
instead of the original zone bounds.
- refactor logic from triSurfaceMesh for triSurface, MeshedSurface,
UnsortedMeshedSurface.
Makes it easier to locate and use surface files without the
triSurfaceMesh (meshTools) infrastructure.
STYLE: remove unused sampledTriSurfaceMesh constructors