|
[Sponsors] |
November 17, 2013, 09:36 |
FOAM Command Flow 1 .bash
|
#1 |
New Member
Y
Join Date: Feb 2013
Location: The Earth
Posts: 25
Rep Power: 13 |
Hey guys,
I have been learning bash scripting these days and for practice I wrote a small bash script to make openfoam usage a little easier (try to). I call it fcf1, as the title of this thread. I want to share this with you. Feel free to try it out and modify it. I am a beginner in bash scripting and I know there are a lot of advanced users here. So, if you are interested, please work further on this script and post the improved versions - so that we can learn from each other. I would also be happy if you tell me where I can improve. cheers! peter Code:
#!/bin/bash ############################################################### # this is a script to make FOAM easier to use # I call it foam command flow no. 1 ==> fcf1 # written by x.yuan # last change on 2013.11.17 ############################################################### function usage { echo "" echo "usage: -h to show this.. whatever.... " echo " some message to write .... " } function press_enter { echo "" echo -n "Press Enter to continue" read # clear } ############################################################### interactive= filename="default" while [ "$1" != "" ]; do case $1 in -f | --file ) shift filename=$1 echo "file name is : $filename" ;; -i | --interactive) interactive=1 echo "interactive on" ;; -h | --help) usage exit 0 ;; * ) usage # otherwise show help exit 1 esac shift done ############################################################### # title: ############################################################### echo "" echo ========================================================== echo "0: FOAM flow control 01" echo ========================================================== [ -d constant ] && echo "IN A CASE DIR, GOOD." || exit 1 echo ========================================================== echo ready to go... sleep 2 ############################################################### # case dir setup: ############################################################### cs=n # like control string echo -n "1: pyFoamClearCase.py (y or n) > " read cs # if $cs == "y"; then # does not work this way! if [ $cs = "y" ]; then echo yes to clearcase.. pyFoamClearCase.py ./; press_enter fi echo ========================================================== ############################################################### # pre processing like mesh generation: ############################################################### # echo -n "2: blockMesh apply (y or n) > " # read cs # if [ $cs = "y" ] # then # echo yes to blockMesh # blockMesh | tee blockMesh.log # fi selection= until [ "$selection" = "0" ]; do echo "2: PRE MENU" echo "" echo "1 - blockMesh | tee logfile" echo "2 - pyFoamDisplayBlockMesh.py <blockMeshDict>" echo "3 - checkMesh" echo "4 - paraFoam to view the mesh" echo "" echo "0 - exit loop" echo "" echo -n "Enter selection: " read selection echo "" case $selection in 1 ) blockMesh | tee blockMesh.log ; press_enter ;; 2 ) pyFoamDisplayBlockMesh.py constant/polyMesh/blockMeshDict; press_enter ;; 3 ) checkMesh ; press_enter ;; 4 ) paraFoam ; press_enter ;; # 0 ) exit ;; # this exit whole programm! 0 ) break ;; * ) echo "Please enter your selection!"; press_enter esac done echo ========================================================== ############################################################### # solver running: ############################################################### # try to get the string from file: [ -d system ] && grep "application" system/controlDict || exit 2 solver= echo -n "3: solver app to use > " read solver selection= until [ "$selection" = "0" ]; do echo "" echo "3: SOLVER MENU" echo "" echo "1 - $solver | tee logfile" echo "2 - pyFoamPlotRunner.py $solver" echo "3 - pyFoamPlotWatcher.py logfile" echo "4 - paraFoam to view the results" echo "" echo "0 - exit loop" echo "" echo -n "Enter selection: " read selection echo "" case $selection in 1 ) $solver | tee $solver.log ; press_enter ;; 2 ) pyFoamPlotRunner.py $solver ; press_enter ;; # 3 ) pyFoamPlotWatcher.py PyFoamRunner.$solver.logfile ; press_enter ;; 3 ) echo dont try that... ;; 4 ) paraFoam ; press_enter ;; 0 ) break ;; * ) echo "Please enter your selection!"; press_enter esac done echo ========================================================== ############################################################### # post processing like data manipulation: ############################################################### # foamCalc... # sample... # yPlusRAS... ############################################################### echo fcf1 ends here, sir. echo ========================================================== echo "" exit 0 ############################################################### http://linuxcommand.org/writing_shell_scripts.php filmsbykris.com |
|
Tags |
bash, command, script |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] mesh airfoil NACA0012 | anand_30 | OpenFOAM Meshing & Mesh Conversion | 13 | March 7, 2022 18:22 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 10:56 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |
[blockMesh] Axisymmetrical mesh | Rasmus Gjesing (Gjesing) | OpenFOAM Meshing & Mesh Conversion | 10 | April 2, 2007 15:00 |
[Gmsh] Import gmsh msh to Foam | adorean | OpenFOAM Meshing & Mesh Conversion | 24 | April 27, 2005 09:19 |