When snappyHexMesh is run in parallel it re-balances the mesh during refinement
and layer addition by redistribution which requires a decomposition method
that operates in parallel, e.g. hierachical or ptscotch. decomposePar uses a
decomposition method which operates in serial e.g. hierachical but NOT
ptscotch. In order to run decomposePar followed by snappyHexMesh in parallel it
has been necessary to change the method specified in decomposeParDict but now
this is avoided by separately specifying the decomposition and distribution
methods, e.g. in the incompressible/simpleFoam/motorBike case:
numberOfSubdomains 6;
decomposer hierarchical;
distributor ptscotch;
hierarchicalCoeffs
{
n (3 2 1);
order xyz;
}
The distributor entry is also used for run-time mesh redistribution, e.g. in the
multiphase/interFoam/RAS/floatingObject case re-distribution for load-balancing
is enabled in constant/dynamicMeshDict:
distributor
{
type distributor;
libs ("libfvMeshDistributors.so");
redistributionInterval 10;
}
which uses the distributor specified in system/decomposeParDict:
distributor hierarchical;
This rationalisation provides the structure for development of mesh
redistribution and load-balancing.
OpenFOAM Configuration
The main OpenFOAM settings are located in the parent etc/ directory. The bash and csh shells are supported and to configure OpenFOAM source etc/bashrc or etc/cshrc respectively which source the following files in the config.sh or config.csh respectively:
settings: core settingsaliases: aliases for interactive shellsunset: sourced to clear as many OpenFOAM environment settings as possiblempi: MPI communications library settingsensight: application settings for EnSightparaview: application settings for ParaViewscotch: application settings for compiling against scotchmetis: application settings for compiling against metis 5
The config.*/example directories contains various example configuration files for the corresponding shell:
compiler: an example of fine tuning ThirdParty compiler settingsopenmpi: an example of fine tuning openmpi settings for OpenFOAMparaview: an example of chaining to the standard config/paraview with a different ParaView_VERSIONprefs: an example of supplying alternative site-defined settings