- renumberMesh now has -dry-run, -write-maps, -no-fields, -renumber-method, -renumber-coeffs options. * Use -dry-run with -write-maps to visualize the before/after effects of renumbering (creates a VTK file). * -no-fields to renumber the mesh only. This is useful and faster when the input fields are uniform and the -overwrite option is specified. * -renumber-method allows a quick means of specifying a different default renumber method (instead of Cuthill-McKee). The -renumber-coeffs option allows passing of dictionary content for the method. Examples, // Different ways to specify reverse Cuthill-McKee * -renumber-method RCM * -renumber-coeffs 'reverse true;' * -renumber-method CuthillMcKee * -renumber-coeffs 'reverse true;' * -renumber-coeffs 'method CuthillMcKee; reverse true;' // Other (without dictionary coefficients) * renumberMesh -renumber-method random // Other (with dictionary coefficients) renumberMesh \ -renumber-method spring \ -renumber-coeffs 'maxCo 0.1; maxIter 1000; freezeFraction 0.99;' // Other (with additional libraries) renumberMesh -renumber-method zoltan -lib zoltanRenumber COMP: build zoltan renumbering to MPI-specific location - zoltan and Sloan renumbering are now longer automatically linked to the renumberMesh utility but must be separately loaded by a command-line option or through a dictionary "libs" entry. ENH: add output cellID for decomposePar -dry-run -cellDist
236 lines
5.1 KiB
Bash
236 lines
5.1 KiB
Bash
#---------------------------------*- sh -*-------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | www.openfoam.com
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
|
# Copyright (C) 2015-2023 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
|
#
|
|
# Script
|
|
# CleanFunctions
|
|
#
|
|
# Description
|
|
# Miscellaneous cleanup functions for tutorial cases
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
cleanTimeDirectories()
|
|
{
|
|
echo "Cleaning case $PWD"
|
|
zeros=""
|
|
while [ ${#zeros} -lt 8 ]
|
|
do
|
|
rm -rf ./"0.$zeros"[1-9]* ./"-0.$zeros"[1-9]*
|
|
zeros="0$zeros"
|
|
done
|
|
rm -rf ./[1-9]* ./-[1-9]*
|
|
}
|
|
|
|
|
|
# Various files (logs, paraview, etc)
|
|
cleanAuxiliary()
|
|
{
|
|
rm -rf \
|
|
./log ./log.* ./log-* ./logSummary.* \
|
|
./.fxLock ./*.xml ./ParaView* ./paraFoam* \
|
|
./*.blockMesh ./*.foam ./*.OpenFOAM \
|
|
./.setSet
|
|
}
|
|
|
|
|
|
cleanAdiosOutput()
|
|
{
|
|
if [ -d adiosData ] && [ -d system ]
|
|
then
|
|
rm -rf adiosData
|
|
fi
|
|
}
|
|
|
|
|
|
cleanDynamicCode()
|
|
{
|
|
if [ -d dynamicCode ] && [ -d system ]
|
|
then
|
|
rm -rf dynamicCode
|
|
fi
|
|
}
|
|
|
|
|
|
cleanSnappyFiles()
|
|
{
|
|
rm -f \
|
|
constant/polyMesh/cellLevel \
|
|
constant/polyMesh/pointLevel \
|
|
constant/polyMesh/refinementHistory \
|
|
constant/polyMesh/level0Edge \
|
|
constant/polyMesh/surfaceIndex
|
|
rm -f \
|
|
processor*/constant/polyMesh/cellLevel \
|
|
processor*/constant/polyMesh/pointLevel \
|
|
processor*/constant/polyMesh/refinementHistory \
|
|
processor*/constant/polyMesh/level0Edge \
|
|
processor*/constant/polyMesh/surfaceIndex
|
|
rm -f \
|
|
constant/cellLevel \
|
|
constant/pointLevel \
|
|
0/cellLevel \
|
|
0/pointLevel
|
|
rm -f \
|
|
processor*/constant/cellLevel \
|
|
processor*/constant/pointLevel \
|
|
processor*/0/cellLevel \
|
|
processor*/0/pointLevel
|
|
}
|
|
|
|
|
|
cleanOptimisation()
|
|
{
|
|
rm -rf optimisation
|
|
rm -rf constant/controlPoints
|
|
}
|
|
|
|
|
|
cleanPostProcessing()
|
|
{
|
|
rm -rf Ensight EnSight ensightWrite insitu VTK
|
|
rm -rf postProcessing
|
|
rm -rf postProcessing-*
|
|
rm -rf cuttingPlane
|
|
rm -rf surfaceSampling
|
|
}
|
|
|
|
|
|
cleanFaMesh()
|
|
{
|
|
if [ -e constant/finite-area/faMesh ]
|
|
then
|
|
rm -rf constant/finite-area/faMesh
|
|
fi
|
|
if [ -e constant/faMesh ]
|
|
then
|
|
if [ -e constant/faMesh/faMeshDefinition ]
|
|
then
|
|
# Old constant/faMesh location for faMeshDefinition still in use:
|
|
# - warn but don't remove anything
|
|
echo
|
|
echo "Warning: not removing constant/faMesh/"
|
|
echo " It contains a 'faMeshDefinition' file"
|
|
echo " Please relocate file(s) to system/ !!"
|
|
echo
|
|
else
|
|
# Can remove constant/faMesh/ entirely (no faMeshDefinition)
|
|
rm -rf constant/faMesh
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
cleanPolyMesh()
|
|
{
|
|
if [ -e constant/polyMesh ]
|
|
then
|
|
if [ -e constant/polyMesh/blockMeshDict ] \
|
|
|| [ -e constant/polyMesh/blockMeshDict.m4 ]
|
|
then
|
|
# Old constant/polyMesh location for blockMeshDict still in use:
|
|
# - warn but don't remove anything
|
|
echo
|
|
echo "Warning: not removing constant/polyMesh/"
|
|
echo " It contains a 'blockMeshDict' or 'blockMeshDict.m4' file"
|
|
echo " Please relocate file(s) to system/ !!"
|
|
echo
|
|
else
|
|
# Can remove constant/polyMesh/ entirely (no blockMeshDict)
|
|
rm -rf constant/polyMesh
|
|
fi
|
|
fi
|
|
|
|
if [ -e system/blockMeshDict.m4 ]
|
|
then
|
|
rm -f system/blockMeshDict
|
|
fi
|
|
}
|
|
|
|
|
|
cleanCase()
|
|
{
|
|
cleanTimeDirectories
|
|
cleanAdiosOutput
|
|
cleanAuxiliary
|
|
cleanDynamicCode
|
|
cleanOptimisation
|
|
cleanPostProcessing
|
|
|
|
cleanFaMesh
|
|
cleanPolyMesh
|
|
cleanSnappyFiles
|
|
|
|
rm -rf processor*
|
|
rm -rf TDAC
|
|
rm -rf probes*
|
|
rm -rf forces*
|
|
rm -rf graphs*
|
|
rm -rf sets
|
|
rm -rf system/machines
|
|
|
|
# Debug output (blockMesh, decomposePar)
|
|
rm -f \
|
|
blockTopology.vtu blockFaces.vtp blockTopology.obj blockCentres.obj \
|
|
cellDist.vtu decomposePar.vtu renumberMesh.vtu \
|
|
0/cellDist
|
|
|
|
# From mpirunDebug
|
|
rm -f gdbCommands mpirun.schema
|
|
|
|
(
|
|
cd constant 2>/dev/null || exit 0
|
|
|
|
rm -rf \
|
|
cellDecomposition cellToRegion cellLevel* pointLevel* \
|
|
tetDualMesh \
|
|
;
|
|
)
|
|
}
|
|
|
|
|
|
# Frequently used - cleanCase and rm -rf 0/
|
|
cleanCase0()
|
|
{
|
|
cleanCase
|
|
rm -rf 0
|
|
}
|
|
|
|
|
|
removeCase()
|
|
{
|
|
echo "Removing case ${1:-unknown}"
|
|
[ "$#" -ge 1 ] && rm -rf "$1"
|
|
}
|
|
|
|
|
|
cleanSamples()
|
|
{
|
|
rm -rf sets samples sampleSurfaces
|
|
}
|
|
|
|
|
|
cleanUcomponents()
|
|
{
|
|
rm -rf 0/Ux 0/Uy 0/Uz
|
|
}
|
|
|
|
|
|
cleanApplication()
|
|
{
|
|
echo "Cleaning application $PWD"
|
|
wclean
|
|
}
|
|
|
|
|
|
#------------------------------------------------------------------------------
|