The operation can be applied to any volume or surface fields generating a
volume or surface scalar field.
Example of function object specification:
\verbatim
Tdiff
{
type subtract;
libs ("libfieldFunctionObjects.so");
fields (T Tmean);
result Tdiff;
executeControl writeTime;
writeControl writeTime;
}
\endverbatim
BUG: resolve some decomposeParDict problems (issues #60, #265).
- Cleanup/centralize handling of -decomposeParDict by relocating
common code into argList. Ensures that all processes receive
identical information about the -decomposeParDict opton.
- Only use alternative decomposeParDict for simpleFoam/motorBike
tutorial so that this will be included in the test loop for snappy.
- Added Mattijs' fix for surfaceRedistributePar.
See merge request !73
The spherical part of the Reynolds stress is included in the pressure so
that the wall boundary condition for the pressure is zeroGradient.
Resolves bug-report http://bugs.openfoam.org/view.php?id=2325
- A special purpose MeshedSurface that exposes the stored values
for direct modification.
- Its usage should be restricted to special cases where the surface
needs modifications as an atomic operation.
- the surfMesh classes where originally designed with limited
(protected) access to the underlying components. This is to
avoid unintentional direct changes, since these can quickly
lead to inconsistencies with the topology addressing etc.
However, if we wish to efficiently adjust surfaces, it is useful
to modify the components directly.
The compromise is to provide 'xfer' methods:
- xferFaces()
- xferPoints()
- xferZones()
These transfer the contents to an Xfer container for reuse, while
also resetting the topology addressing. To apply the changes,
the reset() method is used.
- ensure that MeshedSurface and UnsortedMeshedSurface can also work
with labelledTri faces.
- nTriangles() convenience method for meshed surfaces
- MeshedSurface::addZonesToFaces() method to copy zone information
into the labelledTri per-face region storage.
The goal is to replace the triSurface reading routines with
run-time selectable ones from surfMesh.
- triFace() now initialized with '-1', which makes it behave
equivalently to face(label).
- supply default region=0 for some labelledTri constructors.
This allows labelledTri to work more like a triFace and makes it
easier to use in templated methods and eases conversion from
triFace to a labelledTri.
- labelledTri(const labelUList&) can now be used when converting
from a face. It can have 3 values (use default region)
or 4 values (with region).
- face, triFace, labelledTri now all support construction with
initializer lists. This can be useful for certain types of code.
Eg,
triFace f1{a, b, c};
face f2{a, b, c};
labelledTri f3{a, b, c};
Work without ambiguity.
Also useful for templated methods:
FaceType f{remap[a], remap[b], remap[c]};
- Only reference the FOAM_EXT_LIBBIN locations when linking.
The respective SCOTCH_ARCH_PATH/lib, METIS_ARCH_PATH/lib locations
either do not exist, or are possibly inconsistent and won't be
seen at run-time anyhow.
- Incorporate decompose/metisDecomp/Allwmake into the top-level
decompose/Allwmake
On 64-bit systems, the system installations of boost, cgal are under
lib64/. The behaviour for a ThirdParty build is mostly lib/ but this
can also be changing.
Boost 1_62_0 and older build into 'lib/'.
CGAL-4.9 builds into 'lib64/', older versions into 'lib/'.
Future-proof things by using lib$WM_COMPILER_LIB_ARCH for boost and
cgal build rules, and forcing these as build targets in the ThirdParty
makeCGAL as well.
--
STYLE: check for boost/version.hpp, CGAL/version.h instead their directories
- was incorrectly writing it as "startFace", which would be
immediately overwritten anyhow
STYLE: avoid noisy output when adding the boundary 'type' in mesh conversion.