- relied on 'export' keyword, which was removed in commit b844867112
--
ENH: foamConfigurePaths support for additional items:
-label 32|64 specify label size
-system name specify 'system' compiler to be used
-thirdParty name specify 'ThirdParty' compiler to be used
-boost ver specify boost_version
-boostArchPath dir specify BOOST_ARCH_PATH
-cgal ver specify cgal_version
-cgalArchPath dir specify CGAL_ARCH_PATH
-clang ver specify clang_version for ThirdParty Clang
-cmake ver specify cmake_version
-fftw ver specify fffw_version
-fftwArchPath dir specify FFTW_ARCH_PATH
-metis ver specify METIS_VERSION
-metisArchPath dir specify METIS_ARCH_PATH
- Follow similar pattern as per boost/CGAL with the '*-none' to disable,
and '*-system' for system installations.
Also support central non-ThirdParty installations by specifying the
version as "*-system", but also providing the fully qualified
*_ARCH_PATH too.
--
ENH: Verify label and scalar sizes used in the metis header.
- ensure they match with expected values, which can be obtained via
the OpenFOAM definitions for WM_LABEL_SIZE and WM_PRECISION_OPTION
- 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.
Provide common face area/normal support in PrimitivePatch
For polyPatch, both the faceAreas() and faceCentres() are masked by their subField equivalents.
Since there is no polyPatch method for magFaceAreas(), the PrimitivePatch method will be seen.
See merge request !74
- Can currently have a periodic restart, but for simulations with a
known run-up, it can be useful to have a specific time to restart
the averaging.
- Note that the restartTime acts as a 'single-shot'. If the
restartTime is already in the past when a simulation is started, it
is ignored. If, during a simulation, the restartTime is crossed, it
will be triggered and then set itself to be ignored in the future.
- On the first call, ParaView_DIR is unset and thus the clean-path
fails with the warning "ParaView_DIR: Undefined variable."
This looks messy, but is of no _major_ consequence since paraview
doesn't need to be removed anyhow. The only slight risk is that the
path to a third-party cmake might not be cleaned.
- Patch as per Bruno's suggestion.
- It is incorrect to prefix the assignment with an 'export' since this
automatically marks the overall command as successful and circumvents
the fallback.
There is no simple way to have proper behaviour when sourced with a
local directory path, but at least it now uses the fallback.
It is still easy to wreak the mechanism with valid but confusing input.
For example,
". /path/to/openfoam/etc/././bashrc"
The only real certainty is that "${BASH_SOURCE%/*}"
should point to the 'etc/' directory. In which case,
cd ${BASH_SOURCE%/*} # <- now in the etc/ directory
pwd=$(pwd -P) # <- fully-qualified path to etc/
pwd=${pwd%/*/*} # <- up two parent levels
- This works with ". ./bashrc", but fails with ". bashrc"
(probably not so common).
- Con: The construct requires an additional sub-shell.
- include cleanup of other postProcessing directories:
* Ensight, EnSight, ensightWrite
- don't need to remove files that cleanSnappyFiles already removed:
* 0/cellLevel 0/pointLevel
- bundle removal of constant/ items together:
* constant/cellDecomposition constant/polyMesh constant/tetDualMesh