cavity

#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory

# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions

cavityCases=”cavity cavityFine cavityGrade cavityHighRe cavityClipped”

runMapFields()
{
echo “Running mapFields from $1 to $2”
mapFields $1 -case $2 -sourceTime latestTime > $2/log.mapFields 2>&1
}

runMapFieldsConsistent()
{
echo “Running mapFields from $1 to $2”
mapFields $1 -case $2 -sourceTime latestTime -consistent > $2/log.mapFields 2>&1
}

copySolutionDirs()
{
echo “Copying $2/0* directory to $1″
cp -R $2/0* $1
}

setCavityFine()
{
blockMeshDict=”$caseName/system/blockMeshDict”
controlDict=”$caseName/system/controlDict”
sed s/”20 20 1″/”41 41 1″/g $blockMeshDict > temp.$$
mv temp.$$ $blockMeshDict
sed \r
-e s/”(startTime[ ]*) 0;”/”1 0.5;”/g \r
-e s/”(endTime[ ]*) 0.5;”/”1 0.7;”/g \r
-e s/”(deltaT[ ]*) 0.005;”/”1 0.0025;”/g \r
-e s/”(writeControl[ ]*) timeStep;”/”1 runTime;”/g \r
-e s/”(writeInterval[ ]*) 20;”/”1 0.1;”/g \r
$controlDict > temp.$$
mv temp.$$ $controlDict
}

setCavityHighRe()
{
echo “Setting cavityHighRe to generate a secondary vortex”
controlDict=”$caseName/system/controlDict”
transportProperties=”$caseName/constant/transportProperties”
sed \r
-e s/”(startFrom[ ]*) startTime;”/”1 latestTime;”/g \r
-e s/”(endTime[ ]*) 0.5;”/”1 2.0;”/g \r
$controlDict > temp.$$
mv temp.$$ $controlDict
sed s/”0.01″/”0.001″/g $transportProperties > temp.$$
mv temp.$$ $transportProperties
}

for caseName in $cavityCases
do
if [ “$caseName” = cavityFine ]
then
cloneCase cavity $caseName
setCavityFine
fi

if [ “$caseName” = cavityHighRe ]
then
cloneCase cavity $caseName
setCavityHighRe
copySolutionDirs $caseName cavity
fi

( cd $caseName && runApplication blockMesh )

case “$caseName” in
cavityFine | cavityGrade)
runMapFieldsConsistent $previousCase $caseName
;;
cavityClipped)
cp -R $caseName/0 $caseName/0.5
runMapFields cavity $caseName
;;
esac

previousCase=”$caseName”
( cd $caseName && runApplication $(getApplication) )
done

#——————————————————————————

実行年月:07/01/2021