- can be useful with compiling additional OpenFOAM programs
that use FOAM_USER_APPBIN, FOAM_USER_LIBBIN for their build,
to avoid conflicts with the normal user bin/lib files.
- or to force relocation of FOAM_SITE_APPBIN, FOAM_SITE_LIBBIN
during packaging of OpenFOAM
- handle sourcing bashrc with a relative path (issue #383)
- handle sourcing from bash and zsh.
Still need manual intervention when sourcing dash, sh, or ksh.
- replace grep in etc/cshrc with sed only
- logical instead of physical path for WM_PROJECT_DIR (issue #431).
Doesn't seem to be possible for csh/tcsh.
* Continue using physical locations when comparing directories,
but not for the top-level FOAM_INST_DIR, WM_PROJECT_DIR.
- relocate WM_CC, WM_CXX overrides from etc/config.*/compiler
to etc/config.*/settings to ensure that they are left untouched
when etc/config.sh/compiler is sourced while making third-party
packages (eg, gcc, llvm, CGAL).
- provide fallback FOAM_TUTORIALS setting in RunFunctions
STYLE: remove "~OpenFOAM" fallback as being too rare, non-obvious
- only occurs in combination with distributedTriSurfaceMesh in snappy.
- workaround similar to that previously used for surfaceRedistributePar
(issue #60).
Minor adjustment of incompressible motorBike tutorial to detect use of
distributedTriSurfaceMesh.
- 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
- 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
- Can occur with some user names, or mounted paths.
Resolve by using '?' for the separation character.
Since '?' is a shell-glob, it is highly unlikely to occur appear in
filenames. Additionally, it is not a meta-character in standard sed,
nor in the GNU extension (which uses '\?').
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2267
1. Spaced ending of multi-level template parameters are not allowed, such as:
List<List<scalar> >
which instead should be:
List<List<scalar>>
2. The use of the 'NULL' macro should be replaced by 'nullptr'
Provides efficient integration of complex laminar reaction chemistry,
combining the advantages of automatic dynamic specie and reaction
reduction with ISAT (in situ adaptive tabulation). The advantages grow
as the complexity of the chemistry increases.
References:
Contino, F., Jeanmart, H., Lucchini, T., & D’Errico, G. (2011).
Coupling of in situ adaptive tabulation and dynamic adaptive chemistry:
An effective method for solving combustion in engine simulations.
Proceedings of the Combustion Institute, 33(2), 3057-3064.
Contino, F., Lucchini, T., D'Errico, G., Duynslaegher, C.,
Dias, V., & Jeanmart, H. (2012).
Simulations of advanced combustion modes using detailed chemistry
combined with tabulation and mechanism reduction techniques.
SAE International Journal of Engines,
5(2012-01-0145), 185-196.
Contino, F., Foucher, F., Dagaut, P., Lucchini, T., D’Errico, G., &
Mounaïm-Rousselle, C. (2013).
Experimental and numerical analysis of nitric oxide effect on the
ignition of iso-octane in a single cylinder HCCI engine.
Combustion and Flame, 160(8), 1476-1483.
Contino, F., Masurier, J. B., Foucher, F., Lucchini, T., D’Errico, G., &
Dagaut, P. (2014).
CFD simulations using the TDAC method to model iso-octane combustion
for a large range of ozone seeding and temperature conditions
in a single cylinder HCCI engine.
Fuel, 137, 179-184.
Two tutorial cases are currently provided:
+ tutorials/combustion/chemFoam/ic8h18_TDAC
+ tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC
the first of which clearly demonstrates the advantage of dynamic
adaptive chemistry providing ~10x speedup,
the second demonstrates ISAT on the modest complex GRI mechanisms for
methane combustion, providing a speedup of ~4x.
More tutorials demonstrating TDAC on more complex mechanisms and cases
will be provided soon in addition to documentation for the operation and
settings of TDAC. Also further updates to the TDAC code to improve
consistency and integration with the rest of OpenFOAM and further
optimize operation can be expected.
Original code providing all algorithms for chemistry reduction and
tabulation contributed by Francesco Contino, Tommaso Lucchini, Gianluca
D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane Backaert.
Implementation updated, optimized and integrated into OpenFOAM-dev by
Henry G. Weller, CFD Direct Ltd with the help of Francesco Contino.
RunFunctions: Added "isTest()" argument parsing function
tutorials: Updated Allrun scripts to propagate the "-test" option
tutorials: Removed the lower Alltest scripts and updated the Allrun to
use the "isTest()" function to handle test-specific operation
in decomposeParDict.
This default number of processors may be overridden by the new "-np"
option to runParallel which must be specified before the application
name e.g.:
runParallel -np 4 pisoFoam
- redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
- low-level distributed Field mapping
- support for mapping surfaceFields (including flipping faces)
- support for decomposing/reconstructing refinement data
foamRunTutorials now accepts two arguments:
-test : Preferentially execute Alltest, if present, over Allrun.
-skipFirst : Skip Alltest/Allrun at the top level to prevent recursion
Added because some tutorials are not dependent on controlDict and take
a long time.