Skip to content
Snippets Groups Projects
Allrun 2.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/sh
    
    cd "${0%/*}" || exit                                # Run from this directory
    
    . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
    #------------------------------------------------------------------------------
    
    cavityCases="
    cavity
    cavityFine
    cavityGrade
    cavityHighRe
    cavityClipped
    "
    
    {
        echo "Running mapFields from $1 to $2"
    
        mapFields "$1" -case "$2" -sourceTime latestTime > "$2"/log.mapFields 2>&1
    
    {
        echo "Running mapFields from $1 to $2"
    
        mapFields "$1" -case "$2" -sourceTime latestTime -consistent > "$2"/log.mapFields 2>&1
    
    {
        echo "Copying $2/0* directory to $1"
    
        cp -rf "$2"/0* "$1"
    
        blockMeshDict="$caseName/system/blockMeshDict"
    
        controlDict="$caseName/system/controlDict"
    
        sed s/"20 20 1"/"41 41 1"/g "$blockMeshDict" > temp.$$
        mv -f temp.$$ "$blockMeshDict"
    
            -e s/"\(startTime[ \t]*\) 0;"/"\1 0.5;"/g \
            -e s/"\(endTime[ \t]*\) 0.5;"/"\1 0.7;"/g \
            -e s/"\(deltaT[ \t]*\) 0.005;"/"\1 0.0025;"/g \
            -e s/"\(writeControl[ \t]*\) timeStep;"/"\1 runTime;"/g \
            -e s/"\(writeInterval[ \t]*\) 20;"/"\1 0.1;"/g \
            "$controlDict" > temp.$$
        mv -f temp.$$ "$controlDict"
    
    {
        echo "Setting cavityHighRe to generate a secondary vortex"
    
        controlDict="$caseName/system/controlDict"
        transportProperties="$caseName/constant/transportProperties"
    
            -e s/"\(startFrom[ \t]*\) startTime;"/"\1 latestTime;"/g \
            -e s/"\(endTime[ \t]*\) 0.5;"/"\1 2.0;"/g \
            "$controlDict" > temp.$$
        mv -f temp.$$ "$controlDict"
        sed s/"0.01"/"0.001"/g "$transportProperties" > temp.$$
        mv -f temp.$$ "$transportProperties"
    
    for caseName in $cavityCases
    
            cloneCase cavity "$caseName"
    
            setCavityFine
    
            cloneCase cavity "$caseName"
    
            setCavityHighRe
    
            copySolutionDirs "$caseName" cavity
    
        ( cd "$caseName" && runApplication blockMesh )
    
        case "$caseName" in
        cavityFine | cavityGrade)
    
            runMapFieldsConsistent "$previousCase" "$caseName"
    
            cp -rf "$caseName"/0 "$caseName"/0.5
            runMapFields cavity "$caseName"
    
        ( cd "$caseName" && runApplication $(getApplication) )
    
    #------------------------------------------------------------------------------