From 5f2900413d7bc365ac90f0eee2e08e57429edab2 Mon Sep 17 00:00:00 2001 From: Martin Beaudoin Date: Mon, 23 Apr 2012 11:18:22 -0400 Subject: [PATCH] New PyFoam scripts for modifying GGI and mixingPlane interfaces definitions in the 'boundary' dictionary. Adjustement to the mixingPlane tutorials --- ThirdParty/AllMake.stage6 | 68 ++++++++ .../LocalDev/Hydro-Quebec/PyFoam/AllMake | 73 ++++++++ .../Hydro-Quebec/PyFoam/ChangeGGIBoundary.py | 156 ++++++++++++++++++ .../PyFoam/ChangeMixingPlaneBoundary.py | 139 ++++++++++++++++ .../LocalDev/Hydro-Quebec/PyFoam/Readme.txt | 6 + .../PyFoam/pyFoamChangeGGIBoundary.py | 5 + .../PyFoam/pyFoamChangeMixingPlaneBoundary.py | 5 + ThirdParty/LocalDev/Readme.txt | 13 ++ .../Allrun | 68 ++++---- .../twoBlocksMixingPlane/Allclean | 6 + .../laplacianFoam/twoBlocksMixingPlane/Allrun | 31 +++- .../constant/polyMesh/boundary | 84 ---------- .../twoBlocksMixingPlaneMismatch/Allclean | 6 + .../twoBlocksMixingPlaneMismatch/Allrun | 31 +++- .../constant/polyMesh/boundary | 84 ---------- .../Allclean | 6 + .../Allrun | 30 +++- .../constant/polyMesh/blockMeshDict | 4 +- .../constant/polyMesh/boundary | 84 ---------- .../twoBlocksMixingPlane_dirY_spanZ/Allclean | 6 + .../twoBlocksMixingPlane_dirY_spanZ/Allrun | 30 +++- .../constant/polyMesh/blockMeshDict | 4 +- .../constant/polyMesh/boundary | 84 ---------- .../twoBlocksMixingPlane_dirZ_spanY/Allclean | 6 + .../twoBlocksMixingPlane_dirZ_spanY/Allrun | 30 +++- .../constant/polyMesh/blockMeshDict | 4 +- .../constant/polyMesh/boundary | 84 ---------- .../ERCOFTAC_ConicalDiffuser/Case1.1/Allclean | 1 + .../Case1.1_GGI/Allclean | 4 +- .../Case1.1_GGI/Allrun | 22 ++- .../Case1.1_GGI_sector_90deg/Allclean | 4 +- .../Case1.1_GGI_sector_90deg/Allrun | 82 ++++++++- .../Case1.1_mixingPlane/Allclean | 1 + .../Case1.1_mixingPlane/Allrun | 29 +++- .../Allclean | 6 +- .../Allrun | 109 +++++++++++- .../postProcessing/compareAll.gplt | 32 ++-- .../Allclean | 1 + .../Allrun | 42 ++++- .../simpleFoam/mixingPlaneAxial/Allrun | 57 ++++++- 40 files changed, 1037 insertions(+), 500 deletions(-) create mode 100755 ThirdParty/AllMake.stage6 create mode 100755 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/AllMake create mode 100644 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeGGIBoundary.py create mode 100644 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeMixingPlaneBoundary.py create mode 100644 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/Readme.txt create mode 100755 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeGGIBoundary.py create mode 100755 ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeMixingPlaneBoundary.py create mode 100644 ThirdParty/LocalDev/Readme.txt delete mode 100644 tutorials/basic/laplacianFoam/twoBlocksMixingPlane/constant/polyMesh/boundary delete mode 100644 tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/constant/polyMesh/boundary delete mode 100644 tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/boundary delete mode 100644 tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/boundary delete mode 100644 tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/boundary diff --git a/ThirdParty/AllMake.stage6 b/ThirdParty/AllMake.stage6 new file mode 100755 index 000000000..1b428ddf3 --- /dev/null +++ b/ThirdParty/AllMake.stage6 @@ -0,0 +1,68 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright held by original author +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see . +# +# Script +# AllMake.stage6 +# +# Description +# Build script for ThirdParty packages located under LocalDev +# +# +# Requirements: +# 1: Your OpenFOAM environment must be properly initialized +# +# Author: +# Martin Beaudoin, Hydro-Quebec, (2012) +# +#------------------------------------------------------------------------------ +# run from Third-party directory only +cd ${0%/*} || exit 1 + +wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || { + echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR" + echo " The environment variables are inconsistent with the installation." + echo " Check the OpenFOAM entries in your dot-files and source them." + exit 1 +} + +#------------------------------------------------------------------------------ + +echo "========================================" +echo "Starting ThirdParty AllMake: Stage6 " +echo "========================================" +echo + +# Local developments from Hydro-Quebec (Turbomachinery) +# Temporary solution until we find a more suitable place +# for this. MB +(cd ./LocalDev/Hydro-Quebec/PyFoam; ./AllMake) + +echo "========================================" +echo "Done ThirdParty AllMake: Stage6 " +echo "========================================" +echo + +# ----------------------------------------------------------------- end-of-file + + diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/AllMake b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/AllMake new file mode 100755 index 000000000..5fb320e41 --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/AllMake @@ -0,0 +1,73 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright held by original author +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of OpenFOAM. +# +# OpenFOAM is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenFOAM. If not, see . +# +# Script +# AllMake +# +# Description +# Installation script for local development +# +# Author: +# Martin Beaudoin, Hydro-Quebec, (2012) +# +#------------------------------------------------------------------------------ + +command -v python -V >/dev/null +if [ ! $? -eq 0 ]; +then + echo "Error: You need to install python in order to run these PyFoam scripts" + exit -1 +fi + +if [ -z "$PYFOAM_DIR" ] +then + echo "Error: Missing environment variable \$PYFOAM_DIR." + echo " Please execute the script ThirdParty/AllMake.stage5 to install PyFoam." + echo " Then, make sure to freshen your OpenFOAM environment by sourcing your main" + echo " OpenFOAM configuration file." + exit -1 +fi + +pythonVersion=$(python -V 2>&1 | awk -F ' ' {'print $2'} | awk -F \. {'print $1 "." $2'}) + +set -x + +# pyFoamChangeMixingPlaneBoundary.py +cp pyFoamChangeMixingPlaneBoundary.py $PYFOAM_DIR/bin +cp ChangeMixingPlaneBoundary.py $PYFOAM_DIR/lib/python$pythonVersion/site-packages/PyFoam/Applications + +# pyFoamChangeGGIBoundary.py +# Same as pyFoamModifyGGIBoundary.py. We just harmonize the name with rest of PyFoam +cp pyFoamChangeGGIBoundary.py $PYFOAM_DIR/bin +cp ChangeGGIBoundary.py $PYFOAM_DIR/lib/python$pythonVersion/site-packages/PyFoam/Applications + +set +x +echo ======================================== +echo Done +echo ======================================== +echo + +# ----------------------------------------------------------------- end-of-file + + diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeGGIBoundary.py b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeGGIBoundary.py new file mode 100644 index 000000000..be875eb35 --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeGGIBoundary.py @@ -0,0 +1,156 @@ +""" +Application-class that implements pyFoamChangeGGIBoundary.py + +Modification of GGI and cyclicGGI interface parameters in +constant/polymesh/boundary file. + +Author: + Martin Beaudoin, Hydro-Quebec, 2009. All rights reserved + +""" + +from PyFoamApplication import PyFoamApplication +from PyFoam.RunDictionary.ParsedParameterFile import ParsedParameterFile +from os import path +import sys +import re + +class ChangeGGIBoundary(PyFoamApplication): + def __init__(self,args=None): + description="""\ +Change GGI boundary condition parameters +""" + PyFoamApplication.__init__(self, + args=args, + description=description, + usage="%prog ggiPatchName", + interspersed=True, + changeVersion=False, + nr=2) + + def addOptions(self): + self.parser.add_option("--shadowPatch", + action="store", + dest="shadowPatch", + default=None, + help='Name of the shadowPatch') + self.parser.add_option("--shadowName", + action="store", + dest="shadowName", + default=None, + help='Name of the shadowPatch. Deprecated. Use --shadowPatch instead') + self.parser.add_option("--zone", + action="store", + dest="zone", + default=None, + help='Name of the zone for the GGI patch') + self.parser.add_option("--patchZoneName", + action="store", + dest="patchZoneName", + default=None, + help='Name of the zone for the GGI patch. Deprecated. Use --zone instead') + self.parser.add_option("--bridgeOverlap", + action="store", + dest="bridgeOverlap", + default=None, + help='bridgeOverlap flag (on/off)') + self.parser.add_option("--bridgeOverlapFlag", + action="store", + dest="bridgeOverlapFlag", + default=None, + help='bridgeOverlap flag (on/off). Deprecated. Use --bridgeOverlap instead') + self.parser.add_option("--rotationAxis", + action="store", + dest="rotationAxis", + default=None, + help='rotation axis for cyclicGgi') + self.parser.add_option("--rotationAngle", + action="store", + dest="rotationAngle", + default=None, + help='rotation axis angle for cyclicGgi') + self.parser.add_option("--separationOffset", + action="store", + dest="separationOffset", + default=None, + help='separation offset for cyclicGgi') + + self.parser.add_option("--test", + action="store_true", + default=False, + dest="test", + help="Only print the new boundary file") + + def run(self): + fName=self.parser.getArgs()[0] + bName=self.parser.getArgs()[1] + + boundary=ParsedParameterFile(path.join(".",fName,"constant","polyMesh","boundary"),debug=False,boundaryDict=True) + + bnd=boundary.content + + if type(bnd)!=list: + self.error("Problem with boundary file (not a list)") + + found=False + + for val in bnd: + if val==bName: + found=True + elif found: + bcType=val["type"] + if re.match("cyclicGgi", bcType)!= None or re.match("ggi", bcType)!= None: + if self.parser.getOptions().shadowPatch!=None: + shadowPatch=self.parser.getOptions().shadowPatch + val["shadowPatch"]=shadowPatch + if shadowPatch not in bnd: + self.error("\n Option --shadowPatch for patch:",bName,": there is no patch called",shadowPatch,"\n") + + if self.parser.getOptions().zone!=None: + val["zone"]=self.parser.getOptions().zone + + if self.parser.getOptions().bridgeOverlap!=None: + val["bridgeOverlap"]=self.parser.getOptions().bridgeOverlap + + if val["type"]=="cyclicGgi": + if self.parser.getOptions().rotationAxis!=None: + val["rotationAxis"]=self.parser.getOptions().rotationAxis + + if self.parser.getOptions().rotationAngle!=None: + val["rotationAngle"]=self.parser.getOptions().rotationAngle + + if self.parser.getOptions().separationOffset!=None: + val["separationOffset"]=self.parser.getOptions().separationOffset + + + # Deprecated + if self.parser.getOptions().shadowName!=None: + self.warning("\n PatchName:",bName,": Option --shadowName is deprecated. Use --shadowPatch instead\n") + shadowName=self.parser.getOptions().shadowName + val["shadowPatch"]=shadowName + if shadowName not in bnd: + self.error("\n Option --shadowName for patch:",bName,": there is no patch called",shadowName,"\n") + + # Deprecated + if self.parser.getOptions().patchZoneName!=None: + self.warning("\n PatchName:",bName,": Option --patchZoneName is deprecated. Use --zone instead\n") + val["zone"]=self.parser.getOptions().patchZoneName + + # Deprecated + if self.parser.getOptions().bridgeOverlapFlag!=None: + self.warning("\n PatchName:",bName,": Option --bridgeOverlapFlag is deprecated. Use --bridgeOverlap instead\n") + val["bridgeOverlap"]=self.parser.getOptions().bridgeOverlapFlag + + + else: + print "Unsupported GGI type '",bcType,"' for patch",bName + break + + if not found: + self.error("Boundary",bName,"not found in",bnd[::2]) + + if self.parser.getOptions().test: + print boundary + else: + boundary.writeFile() + diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeMixingPlaneBoundary.py b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeMixingPlaneBoundary.py new file mode 100644 index 000000000..5025920aa --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/ChangeMixingPlaneBoundary.py @@ -0,0 +1,139 @@ +""" +Application-class that implements pyFoamChangeMixingPlaneBoundary.py + +Change various mixingPlane interface attributes in +constant/polymesh/boundary file. + +Author: + Martin Beaudoin, Hydro-Quebec, 2012. All rights reserved + +""" + +from PyFoamApplication import PyFoamApplication +from PyFoam.RunDictionary.ParsedParameterFile import ParsedParameterFile +from os import path +import sys + +class ChangeMixingPlaneBoundary(PyFoamApplication): + def __init__(self,args=None): + description=""" +Change MixingPlane boundary condition parameters +""" + PyFoamApplication.__init__(self, + args=args, + description=description, + usage="%prog mixingPlanePatchName", + interspersed=True, + changeVersion=False, + nr=2) + + def addOptions(self): + self.parser.add_option("--shadowPatch", + action="store", + dest="shadowPatch", + default=None, + help='Name of the shadowPatch') + self.parser.add_option("--coordinateSystemName", + action="store", + dest="coordinateSystemName", + default="mixingCS", + help='coordinateSystemName (mixingCS)') + self.parser.add_option("--coordinateSystemType", + action="store", + dest="coordinateSystemType", + default=None, + help='coordinateSystemType (cyindrical/spherical)') + self.parser.add_option("--coordinateSystemOrigin", + action="store", + dest="coordinateSystemOrigin", + default=None, + help='origin for coordinate system of mixingPlane') + self.parser.add_option("--coordinateSystemE1", + action="store", + dest="coordinateSystemE1", + default=None, + help='axis E1 for coordinate system of mixingPlane') + self.parser.add_option("--coordinateSystemE3", + action="store", + dest="coordinateSystemE3", + default=None, + help='axis E3 for coordinate system of mixingPlane') + self.parser.add_option("--assembly", + action="store", + dest="assembly", + default=None, + help='Assembly (master|slave|both|userdefined') + self.parser.add_option("--orientation", + action="store", + dest="orientation", + default=None, + help='Orientation of profile (\ +dirX_spanY| \ +dirX_spanZ|dirY_spanX|dirY_spanZ|dirZ_spanX|dirZ_spanY|dirR_spanTheta|dirR_spanZ|dirTheta_spanZ|dirTheta_spanR|dirZ_spanTheta|dirZ_spanR|unknown)') + + self.parser.add_option("--test", + action="store_true", + default=False, + dest="test", + help="Only print the new boundary file") + + def run(self): + fName=self.parser.getArgs()[0] + bName=self.parser.getArgs()[1] + + boundary=ParsedParameterFile(path.join(".",fName,"constant","polyMesh","boundary"),debug=False,boundaryDict=True) + + bnd=boundary.content + + if type(bnd)!=list: + print "Problem with boundary file (not a list)" + sys.exit(-1) + + found=False + + for val in bnd: + if val==bName: + found=True + elif found: + if val["type"]=="mixingPlane": + if self.parser.getOptions().shadowPatch!=None: + val["shadowPatch"]=self.parser.getOptions().shadowPatch + + if self.parser.getOptions().orientation!=None: + val["orientation"]=self.parser.getOptions().orientation + + if val.has_key("coordinateSystem")==False: + val["coordinateSystem"]={} + + if self.parser.getOptions().coordinateSystemName!=None: + val["coordinateSystem"]["name"]=self.parser.getOptions().coordinateSystemName + + if self.parser.getOptions().coordinateSystemType!=None: + val["coordinateSystem"]["type"]=self.parser.getOptions().coordinateSystemType + + if self.parser.getOptions().coordinateSystemOrigin!=None: + val["coordinateSystem"]["origin"]=self.parser.getOptions().coordinateSystemOrigin + + if self.parser.getOptions().coordinateSystemE1!=None: + val["coordinateSystem"]["e1"]=self.parser.getOptions().coordinateSystemE1 + + if self.parser.getOptions().coordinateSystemE3!=None: + val["coordinateSystem"]["e3"]=self.parser.getOptions().coordinateSystemE3 + + if self.parser.getOptions().assembly!=None: + val["assembly"]=self.parser.getOptions().assembly + + if self.parser.getOptions().orientation!=None: + val["orientation"]=self.parser.getOptions().orientation + + break + + if not found: + print "Boundary",bName,"not found in",bnd[::2] + sys.exit(-1) + + if self.parser.getOptions().test: + print boundary + else: + boundary.writeFile() + diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/Readme.txt b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/Readme.txt new file mode 100644 index 000000000..36776145c --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/Readme.txt @@ -0,0 +1,6 @@ +PyFoam scripts for handling GGI and mixingPlane cases. + +-- +Martin Beaudoin +Hydro-Quebec +April 2012 diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeGGIBoundary.py b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeGGIBoundary.py new file mode 100755 index 000000000..947cf69f9 --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeGGIBoundary.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +from PyFoam.Applications.ChangeGGIBoundary import ChangeGGIBoundary + +ChangeGGIBoundary() diff --git a/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeMixingPlaneBoundary.py b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeMixingPlaneBoundary.py new file mode 100755 index 000000000..f8ba07c1b --- /dev/null +++ b/ThirdParty/LocalDev/Hydro-Quebec/PyFoam/pyFoamChangeMixingPlaneBoundary.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +from PyFoam.Applications.ChangeMixingPlaneBoundary import ChangeMixingPlaneBoundary + +ChangeMixingPlaneBoundary() diff --git a/ThirdParty/LocalDev/Readme.txt b/ThirdParty/LocalDev/Readme.txt new file mode 100644 index 000000000..68a07738a --- /dev/null +++ b/ThirdParty/LocalDev/Readme.txt @@ -0,0 +1,13 @@ +This directory contains ThirdParty developments specific to the mixingPlane_RC1 branch. +Those developments might eventually find a more suitable home elsewhere. + +Instead of spreading these developments around in various repositories, I find +it more convenient to regroup them under this directory. + +So expect this ThirdParty/LocalDev directory to disappear eventually, once its +content will prove it usefulness. + +-- +Martin Beaudoin +Hydro-Quebec +April 2012 diff --git a/tutorials/basic/laplacianFoam/Case1.1_mixingPlane_sector_AB_60deg/Allrun b/tutorials/basic/laplacianFoam/Case1.1_mixingPlane_sector_AB_60deg/Allrun index ebbf6a1c1..1d414ae94 100755 --- a/tutorials/basic/laplacianFoam/Case1.1_mixingPlane_sector_AB_60deg/Allrun +++ b/tutorials/basic/laplacianFoam/Case1.1_mixingPlane_sector_AB_60deg/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -18,38 +18,48 @@ echo "$caseName: Creating the file blockMeshDict using m4" echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh -echo "$caseName: Updating the boundary file" -#if not using PyFOAM, use this pre-configured boundary file -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +echo "$caseName: Updating the GGI and mixingPlane interfaces parameters" -# if using PyFOAM, use these commands instead -# pyFoamModifyMixingPlaneBoundary.py . B_UPSTREAM \ -# --shadowName B_DOWNSTREAM \ -# --profileType radial \ -# --coordinateSystemType cylindrical \ -# --coordinateSystemOrigin "(0 0 0)" \ -# --coordinateSystemAxis "(0 0 1)" \ -# --coordinateSystemDirection "(1 0 0)" +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" \ + --assembly both \ + --orientation dirR_spanTheta -# pyFoamModifyMixingPlaneBoundary.py . B_DOWNSTREAM \ -# --shadowName B_UPSTREAM \ -# --profileType radial \ -# --coordinateSystemType cylindrical \ -# --coordinateSystemOrigin "(0 0 0)" \ -# --coordinateSystemAxis "(0 0 1)" \ -# --coordinateSystemDirection "(1 0 0)" + pyFoamChangeMixingPlaneBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" \ + --assembly both \ + --orientation dirR_spanTheta -# pyFoamModifyGGIBoundary.py . sideWallA_BB_cyclic1 \ -# --shadowName sideWallA_BB_cyclic2 \ -# --rotationAxis "(0 0 1)" \ -# --patchZoneName sideWallA_BB_cyclic1Zone \ -# --rotationAngle 60 + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic1 \ + --shadowPatch sideWallA_BB_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 60 \ + --zone sideWallA_BB_cyclic1Zone -# pyFoamModifyGGIBoundary.py . sideWallA_BB_cyclic2 \ -# --shadowName sideWallA_BB_cyclic1 \ -# --rotationAxis "(0 0 1)" \ -# --patchZoneName sideWallA_BB_cyclic2Zone \ -# --rotationAngle -60 + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic2 \ + --shadowPatch sideWallA_BB_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -60 \ + --zone sideWallA_BB_cyclic2Zone + +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allclean b/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allclean index 3c1ea87dd..022260e6f 100755 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allclean +++ b/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allclean @@ -5,6 +5,11 @@ #set -x +cleanBoundary () +{ + rm -f ./constant/polyMesh/boundary > /dev/null 2>&1 +} + cleanTimeZero () { rm -rf 0 > /dev/null 2>&1 @@ -22,6 +27,7 @@ cleanVTK () # Cleaning up the case cleanCase +cleanBoundary cleanTimeZero cleanPyFoam cleanVTK diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allrun b/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allrun index c8ab04cf7..10642fbba 100755 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allrun +++ b/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/Allrun @@ -10,14 +10,39 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -#if not using PyFOAM, use this pre-configured boundary file -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . mixpLeftOut \ + --shadowPatch mixpRightIn \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . mixpRightIn \ + --shadowPatch mixpLeftOut \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/constant/polyMesh/boundary b/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/constant/polyMesh/boundary deleted file mode 100644 index e74beca9a..000000000 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlane/constant/polyMesh/boundary +++ /dev/null @@ -1,84 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5-dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -7 -( - top - { - type wall; - nFaces 20; - startFace 360; - } - bottom - { - type wall; - nFaces 20; - startFace 380; - } - leftIn - { - type patch; - nFaces 10; - startFace 400; - } - mixpLeftOut - { - type mixingPlane; - nFaces 10; - startFace 410; - shadowPatch mixpRightIn; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - mixpRightIn - { - type mixingPlane; - nFaces 10; - startFace 420; - shadowPatch mixpLeftOut; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - rightOut - { - type patch; - nFaces 10; - startFace 430; - } - frontAndBack - { - type empty; - nFaces 400; - startFace 440; - } -) - -// ************************************************************************* // diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allclean b/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allclean index 3c1ea87dd..022260e6f 100755 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allclean +++ b/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allclean @@ -5,6 +5,11 @@ #set -x +cleanBoundary () +{ + rm -f ./constant/polyMesh/boundary > /dev/null 2>&1 +} + cleanTimeZero () { rm -rf 0 > /dev/null 2>&1 @@ -22,6 +27,7 @@ cleanVTK () # Cleaning up the case cleanCase +cleanBoundary cleanTimeZero cleanPyFoam cleanVTK diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allrun b/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allrun index c8ab04cf7..10642fbba 100755 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allrun +++ b/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/Allrun @@ -10,14 +10,39 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -#if not using PyFOAM, use this pre-configured boundary file -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . mixpLeftOut \ + --shadowPatch mixpRightIn \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . mixpRightIn \ + --shadowPatch mixpLeftOut \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/constant/polyMesh/boundary b/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/constant/polyMesh/boundary deleted file mode 100644 index f9c962a72..000000000 --- a/tutorials/basic/laplacianFoam/twoBlocksMixingPlaneMismatch/constant/polyMesh/boundary +++ /dev/null @@ -1,84 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM Extend Project: Open source CFD | -| \\ / O peration | Version: 1.6-ext | -| \\ / A nd | Web: www.extend-project.de | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -7 -( - top - { - type wall; - nFaces 20; - startFace 227; - } - bottom - { - type wall; - nFaces 20; - startFace 247; - } - leftIn - { - type patch; - nFaces 10; - startFace 267; - } - mixpLeftOut - { - type mixingPlane; - nFaces 10; - startFace 277; - shadowPatch mixpRightIn; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - mixpRightIn - { - type mixingPlane; - nFaces 3; - startFace 287; - shadowPatch mixpLeftOut; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - rightOut - { - type patch; - nFaces 3; - startFace 290; - } - frontAndBack - { - type empty; - nFaces 260; - startFace 293; - } -) - -// ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allclean b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allclean index 3c1ea87dd..022260e6f 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allclean +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allclean @@ -5,6 +5,11 @@ #set -x +cleanBoundary () +{ + rm -f ./constant/polyMesh/boundary > /dev/null 2>&1 +} + cleanTimeZero () { rm -rf 0 > /dev/null 2>&1 @@ -22,6 +27,7 @@ cleanVTK () # Cleaning up the case cleanCase +cleanBoundary cleanTimeZero cleanPyFoam cleanVTK diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allrun b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allrun index 44481dc73..adc7be99b 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allrun +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/Allrun @@ -10,13 +10,39 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . mixpLeftOut \ + --shadowPatch mixpRightIn \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . mixpRightIn \ + --shadowPatch mixpLeftOut \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/blockMeshDict index cb52077ee..ef44869bb 100644 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/blockMeshDict @@ -63,11 +63,11 @@ patches ( (0 4 7 3) ) - patch mixpLeftOut + mixingPlane mixpLeftOut ( (2 6 5 1) ) - patch mixpRightIn + mixingPlane mixpRightIn ( (8 12 15 11) ) diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/boundary deleted file mode 100644 index f9c962a72..000000000 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlaneMismatch_dirY_spanZ/constant/polyMesh/boundary +++ /dev/null @@ -1,84 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM Extend Project: Open source CFD | -| \\ / O peration | Version: 1.6-ext | -| \\ / A nd | Web: www.extend-project.de | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -7 -( - top - { - type wall; - nFaces 20; - startFace 227; - } - bottom - { - type wall; - nFaces 20; - startFace 247; - } - leftIn - { - type patch; - nFaces 10; - startFace 267; - } - mixpLeftOut - { - type mixingPlane; - nFaces 10; - startFace 277; - shadowPatch mixpRightIn; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - mixpRightIn - { - type mixingPlane; - nFaces 3; - startFace 287; - shadowPatch mixpLeftOut; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - rightOut - { - type patch; - nFaces 3; - startFace 290; - } - frontAndBack - { - type empty; - nFaces 260; - startFace 293; - } -) - -// ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allclean b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allclean index 3c1ea87dd..022260e6f 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allclean +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allclean @@ -5,6 +5,11 @@ #set -x +cleanBoundary () +{ + rm -f ./constant/polyMesh/boundary > /dev/null 2>&1 +} + cleanTimeZero () { rm -rf 0 > /dev/null 2>&1 @@ -22,6 +27,7 @@ cleanVTK () # Cleaning up the case cleanCase +cleanBoundary cleanTimeZero cleanPyFoam cleanVTK diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allrun b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allrun index 44481dc73..adc7be99b 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allrun +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/Allrun @@ -10,13 +10,39 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . mixpLeftOut \ + --shadowPatch mixpRightIn \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . mixpRightIn \ + --shadowPatch mixpLeftOut \ + --assembly both \ + --orientation dirY_spanZ \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/blockMeshDict index 039f919e9..3ce2367d2 100644 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/blockMeshDict @@ -63,11 +63,11 @@ patches ( (0 4 7 3) ) - patch mixpLeftOut + mixingPlane mixpLeftOut ( (2 6 5 1) ) - patch mixpRightIn + mixingPlane mixpRightIn ( (8 12 15 11) ) diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/boundary deleted file mode 100644 index e74beca9a..000000000 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirY_spanZ/constant/polyMesh/boundary +++ /dev/null @@ -1,84 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5-dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -7 -( - top - { - type wall; - nFaces 20; - startFace 360; - } - bottom - { - type wall; - nFaces 20; - startFace 380; - } - leftIn - { - type patch; - nFaces 10; - startFace 400; - } - mixpLeftOut - { - type mixingPlane; - nFaces 10; - startFace 410; - shadowPatch mixpRightIn; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - mixpRightIn - { - type mixingPlane; - nFaces 10; - startFace 420; - shadowPatch mixpLeftOut; - orientation dirY_spanZ; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - rightOut - { - type patch; - nFaces 10; - startFace 430; - } - frontAndBack - { - type empty; - nFaces 400; - startFace 440; - } -) - -// ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allclean b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allclean index 3c1ea87dd..022260e6f 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allclean +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allclean @@ -5,6 +5,11 @@ #set -x +cleanBoundary () +{ + rm -f ./constant/polyMesh/boundary > /dev/null 2>&1 +} + cleanTimeZero () { rm -rf 0 > /dev/null 2>&1 @@ -22,6 +27,7 @@ cleanVTK () # Cleaning up the case cleanCase +cleanBoundary cleanTimeZero cleanPyFoam cleanVTK diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allrun b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allrun index 44481dc73..90ed8b11e 100755 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allrun +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/Allrun @@ -10,13 +10,39 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . mixpLeftOut \ + --shadowPatch mixpRightIn \ + --assembly both \ + --orientation dirZ_spanY \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . mixpRightIn \ + --shadowPatch mixpLeftOut \ + --assembly both \ + --orientation dirZ_spanY \ + --coordinateSystemType coordinateSystem \ + --coordinateSystemOrigin "(0 0 0.005)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/blockMeshDict index 039f919e9..3ce2367d2 100644 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/blockMeshDict @@ -63,11 +63,11 @@ patches ( (0 4 7 3) ) - patch mixpLeftOut + mixingPlane mixpLeftOut ( (2 6 5 1) ) - patch mixpRightIn + mixingPlane mixpRightIn ( (8 12 15 11) ) diff --git a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/boundary deleted file mode 100644 index c34c2ebe2..000000000 --- a/tutorials/incompressible/icoFoam/mixingPlane/twoBlocksMixingPlane_dirZ_spanY/constant/polyMesh/boundary +++ /dev/null @@ -1,84 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5-dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -7 -( - top - { - type wall; - nFaces 20; - startFace 360; - } - bottom - { - type wall; - nFaces 20; - startFace 380; - } - leftIn - { - type patch; - nFaces 10; - startFace 400; - } - mixpLeftOut - { - type mixingPlane; - nFaces 10; - startFace 410; - shadowPatch mixpRightIn; - orientation dirZ_spanY; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - mixpRightIn - { - type mixingPlane; - nFaces 10; - startFace 420; - shadowPatch mixpLeftOut; - orientation dirZ_spanY; - assembly both; - coordinateSystem - { - type coordinateSystem; - origin (0 0 0.005); - axis (0 0 1); - direction (1 0 0); - } - } - rightOut - { - type patch; - nFaces 10; - startFace 430; - } - frontAndBack - { - type empty; - nFaces 400; - startFace 440; - } -) - -// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1/Allclean index 3bda9366d..bfeff7a38 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1/Allclean @@ -18,6 +18,7 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allclean index 3bda9366d..28964c5ac 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allclean @@ -18,11 +18,13 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () { - rm {constant/polyMesh/boundary,constant/polyMesh/blockMeshDict} > /dev/null 2>&1 + rm constant/polyMesh/boundary > /dev/null 2>&1 + rm constant/polyMesh/blockMeshDict > /dev/null 2>&1 } cleanTimeZero () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allrun b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allrun index c4f7fc1c6..3e5341be8 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allrun +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -19,7 +19,25 @@ echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeGGIBoundary.py is available +command -v pyFoamChangeGGIBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --zone B_UPSTREAMZone \ + --bridgeOverlap false + + pyFoamChangeGGIBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --zone B_DOWNSTREAMZone \ + --bridgeOverlap false + +else + echo "pyFoamChangeGGIBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allclean index 3bda9366d..28964c5ac 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allclean @@ -18,11 +18,13 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () { - rm {constant/polyMesh/boundary,constant/polyMesh/blockMeshDict} > /dev/null 2>&1 + rm constant/polyMesh/boundary > /dev/null 2>&1 + rm constant/polyMesh/blockMeshDict > /dev/null 2>&1 } cleanTimeZero () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allrun b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allrun index a5971cb37..2b8f49290 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allrun +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_GGI_sector_90deg/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -19,7 +19,85 @@ echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeGGIBoundary.py is available +command -v pyFoamChangeGGIBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --zone B_UPSTREAMZone \ + --bridgeOverlap false + + pyFoamChangeGGIBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --zone B_DOWNSTREAMZone \ + --bridgeOverlap false + + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic1 \ + --shadowPatch sideWallA_BB_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone sideWallA_BB_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic2 \ + --shadowPatch sideWallA_BB_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone sideWallA_BB_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallB_C_cyclic1 \ + --shadowPatch sideWallB_C_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone sideWallB_C_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallB_C_cyclic2 \ + --shadowPatch sideWallB_C_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone sideWallB_C_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallC_D_cyclic1 \ + --shadowPatch sideWallC_D_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone sideWallC_D_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallC_D_cyclic2 \ + --shadowPatch sideWallC_D_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone sideWallC_D_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallD_E_cyclic1 \ + --shadowPatch sideWallD_E_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone sideWallD_E_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallD_E_cyclic2 \ + --shadowPatch sideWallD_E_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone sideWallD_E_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallE_F_cyclic1 \ + --shadowPatch sideWallE_F_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone sideWallE_F_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallE_F_cyclic2 \ + --shadowPatch sideWallE_F_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone sideWallE_F_cyclic2Zone + +else + echo "pyFoamChangeGGIBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allclean index 3bda9366d..bfeff7a38 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allclean @@ -18,6 +18,7 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allrun b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allrun index 8cfbfbda3..f0cdb2efd 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allrun +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -19,7 +19,32 @@ echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allclean index 3bda9366d..c32bc31c3 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allclean @@ -18,11 +18,15 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () { - rm {constant/polyMesh/boundary,constant/polyMesh/blockMeshDict} > /dev/null 2>&1 + rm constant/polyMesh/boundary > /dev/null 2>&1 + rm constant/polyMesh/blockMeshDict > /dev/null 2>&1 + rm constant/polyMesh/blockMeshDict.m4.old > /dev/null 2>&1 + rm system/controlDict.old > /dev/null 2>&1 } cleanTimeZero () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allrun b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allrun index 993b55c5f..02dfc7085 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allrun +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/Allrun @@ -10,18 +10,121 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR + +nbrPassageUpstream=13 +nbrPassageDownstream=8 + +rUpstreamNumberOfCells=21 +rDownstreamNumberOfCells=27 + +angleUpstream=`echo "scale=10; 360/$nbrPassageUpstream" | bc -l` +angleDownstream=`echo "scale=10; 360/$nbrPassageDownstream" | bc -l` + +sed -e "s/nbrPassageUpstream,.*/nbrPassageUpstream, $nbrPassageUpstream\)/" -i.old constant/polyMesh/blockMeshDict.m4 >& /dev/null +sed -e "s/nbrPassageDownstream,.*/nbrPassageDownstream, $nbrPassageDownstream\)/" -i.old constant/polyMesh/blockMeshDict.m4 >& /dev/null +sed -e "s/rUpstreamNumberOfCells, .*/rUpstreamNumberOfCells, $rUpstreamNumberOfCells\)/" -i.old constant/polyMesh/blockMeshDict.m4 >& /dev/null +sed -e "s/rDownstreamNumberOfCells, .*/rDownstreamNumberOfCells, $rDownstreamNumberOfCells\)/" -i.old constant/polyMesh/blockMeshDict.m4 >& /dev/null echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) echo "Modifying system/controlDict" +sed -e "s/masterPatchScaleFactor .*/masterPatchScaleFactor $nbrPassageUpstream;/" -i.old system/controlDict >& /dev/null +sed -e "s/shadowPatchScaleFactor .*/shadowPatchScaleFactor $nbrPassageDownstream;/" -i.old system/controlDict >& /dev/null echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic1 \ + --shadowPatch sideWallA_BB_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle $angleUpstream \ + --zone sideWallA_BB_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic2 \ + --shadowPatch sideWallA_BB_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -$angleUpstream \ + --zone sideWallA_BB_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallB_C_cyclic1 \ + --shadowPatch sideWallB_C_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle $angleDownstream \ + --zone sideWallB_C_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallB_C_cyclic2 \ + --shadowPatch sideWallB_C_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -$angleDownstream \ + --zone sideWallB_C_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallC_D_cyclic1 \ + --shadowPatch sideWallC_D_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle $angleDownstream \ + --zone sideWallC_D_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallC_D_cyclic2 \ + --shadowPatch sideWallC_D_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -$angleDownstream \ + --zone sideWallC_D_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallD_E_cyclic1 \ + --shadowPatch sideWallD_E_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle $angleDownstream \ + --zone sideWallD_E_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallD_E_cyclic2 \ + --shadowPatch sideWallD_E_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -$angleDownstream \ + --zone sideWallD_E_cyclic2Zone + + pyFoamChangeGGIBoundary.py . sideWallE_F_cyclic1 \ + --shadowPatch sideWallE_F_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle $angleDownstream \ + --zone sideWallE_F_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallE_F_cyclic2 \ + --shadowPatch sideWallE_F_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -$angleDownstream \ + --zone sideWallE_F_cyclic2Zone + +else + echo "pyFoamChangeGGIBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 @@ -46,7 +149,7 @@ echo "Analysing results for time: $latestAvailTimeDir" # Run sample runApplicationAndReportOnError sample -case .. -latestTime -# Adjust compareAll.gplt: replace "Case1.1" "??" by "Case1.1_mixingPlane" "$latestAvailTimeDir" +# Adjust compareAll.gplt: replace "Case1.1" "??" by "Case1.1_mixingPlane_Upstream13_Downstream8" "$latestAvailTimeDir" sed -i.old "s/\"Case1.1\".*$/\"$caseName\" \"$latestAvailTimeDir\"/g" compareAll.gplt # Run gnuplot to generate the comparison charts diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/postProcessing/compareAll.gplt b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/postProcessing/compareAll.gplt index 0fea93bd0..ded421828 100644 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/postProcessing/compareAll.gplt +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_Upstream13_Downstream8/postProcessing/compareAll.gplt @@ -2,20 +2,20 @@ # Automatic post processing by H�an Nilsson, Maryse Page and Martin Beaudoin # -call "compareU.gplt" "-25" "0" "1.3e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "025" "10" "1.34341204e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "060" "10" "1.40418891e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "100" "10" "1.47364818e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "175" "10" "1.60388431e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "250" "10" "1.73412044e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "330" "10" "1.87303899e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareU.gplt" "405" "10" "2.00327512e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" +call "compareU.gplt" "-25" "0" "1.3e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "025" "10" "1.34341204e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "060" "10" "1.40418891e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "100" "10" "1.47364818e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "175" "10" "1.60388431e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "250" "10" "1.73412044e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "330" "10" "1.87303899e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareU.gplt" "405" "10" "2.00327512e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" -call "compareK.gplt" "-25" "0" "1.3e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "025" "10" "1.34341204e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "060" "10" "1.40418891e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "100" "10" "1.47364818e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "175" "10" "1.60388431e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "250" "10" "1.73412044e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "330" "10" "1.87303899e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" -call "compareK.gplt" "405" "10" "2.00327512e-01" "Case1.1_mixingPlane_Upstream13_Downstream17" "1200" +call "compareK.gplt" "-25" "0" "1.3e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "025" "10" "1.34341204e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "060" "10" "1.40418891e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "100" "10" "1.47364818e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "175" "10" "1.60388431e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "250" "10" "1.73412044e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "330" "10" "1.87303899e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" +call "compareK.gplt" "405" "10" "2.00327512e-01" "Case1.1_mixingPlane_Upstream13_Downstream8" "1200" diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allclean b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allclean index 3bda9366d..bfeff7a38 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allclean +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allclean @@ -18,6 +18,7 @@ cleanPostProcessing () rm -rf postProcessing/log.gnuplotPlotResiduals > /dev/null 2>&1 rm -rf postProcessing/log.gnuplotCompareAll > /dev/null 2>&1 rm -rf postProcessing/logs > /dev/null 2>&1 + rm -rf postProcessing/compareAll.gplt.old > /dev/null 2>&1 } cleanFilesFromM4 () diff --git a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allrun b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allrun index 3be16ee88..a9fc7fc05 100755 --- a/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allrun +++ b/tutorials/incompressible/simpleFoam/ERCOFTAC_ConicalDiffuser/Case1.1_mixingPlane_sector_AB_60deg/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -19,7 +19,45 @@ echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . B_UPSTREAM \ + --shadowPatch B_DOWNSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . B_DOWNSTREAM \ + --shadowPatch B_UPSTREAM \ + --assembly both \ + --orientation dirR_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic1 \ + --shadowPatch sideWallA_BB_cyclic2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 60 \ + --zone sideWallA_BB_cyclic1Zone + + pyFoamChangeGGIBoundary.py . sideWallA_BB_cyclic2 \ + --shadowPatch sideWallA_BB_cyclic1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -60 \ + --zone sideWallA_BB_cyclic2Zone +else + echo "pyFoamChangeGGIBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi echo "$caseName: Creating the starting time directory" cp -r 0_orig 0 diff --git a/tutorials/incompressible/simpleFoam/mixingPlaneAxial/Allrun b/tutorials/incompressible/simpleFoam/mixingPlaneAxial/Allrun index 275b9be92..ad65b7349 100755 --- a/tutorials/incompressible/simpleFoam/mixingPlaneAxial/Allrun +++ b/tutorials/incompressible/simpleFoam/mixingPlaneAxial/Allrun @@ -10,7 +10,7 @@ export caseName=`basename $PWD` #We stop this script when we encounter a problem -trap "exit -1" ERR +#trap "exit -1" ERR echo "$caseName: Creating the file blockMeshDict using m4" (cd constant/polyMesh; m4 -P blockMeshDict.m4 > blockMeshDict) @@ -19,8 +19,59 @@ echo "$caseName: Running blockMesh" runApplicationAndReportOnError blockMesh echo "$caseName: Updating the boundary file" -#if not using PyFOAM, use this pre-configured boundary file -cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +# Let's see if pyFoamChangeMixingPlaneBoundary.py is available +command -v pyFoamChangeMixingPlaneBoundary.py >/dev/null +if [ $? -eq 0 ]; +then + echo "Using pyFoamChangeMixingPlaneBoundary.py" + pyFoamChangeMixingPlaneBoundary.py . upstreamMixingPlanePatch \ + --shadowPatch downstreamMixingPlanePatch \ + --assembly both \ + --orientation dirZ_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + pyFoamChangeMixingPlaneBoundary.py . downstreamMixingPlanePatch \ + --shadowPatch upstreamMixingPlanePatch \ + --assembly both \ + --orientation dirZ_spanTheta \ + --coordinateSystemType cylindrical \ + --coordinateSystemOrigin "(0 0 0)" \ + --coordinateSystemE1 "(1 0 0)" \ + --coordinateSystemE3 "(0 0 1)" + + + echo "Using pyFoamChangeGGIBoundary.py" + pyFoamChangeGGIBoundary.py . upstreamPerio1 \ + --shadowPatch upstreamPerio2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 36 \ + --zone upstreamPerio1Zone + + pyFoamChangeGGIBoundary.py . upstreamPerio2 \ + --shadowPatch upstreamPerio1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -36 \ + --zone upstreamPerio2Zone + + pyFoamChangeGGIBoundary.py . downstreamPerio1 \ + --shadowPatch downstreamPerio2 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle 90 \ + --zone downstreamPerio1Zone + + pyFoamChangeGGIBoundary.py . downstreamPerio2 \ + --shadowPatch downstreamPerio1 \ + --rotationAxis "(0 0 1)" \ + --rotationAngle -90 \ + --zone downstreamPerio2Zone +else + echo "pyFoamChangeMixingPlaneBoundary.py is missing. Using the file constant/polyMesh/boundary.preconfigured" + cp constant/polyMesh/boundary.preconfigured constant/polyMesh/boundary +fi + echo "$caseName: Creating the starting time directory" cp -r 0_orig 0