<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Viraj20feb</id>
		<title>Script | Spoken-Tutorial - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Viraj20feb"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Special:Contributions/Viraj20feb"/>
		<updated>2026-04-13T03:09:05Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:47:44Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls''' &lt;br /&gt;
You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using gedit.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:44:11Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls''' &lt;br /&gt;
You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using gedit.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls''' &lt;br /&gt;
You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:36:27Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls''' &lt;br /&gt;
You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:24:11Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:22:42Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Open terminal. Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to solve the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-28T11:19:58Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Operating System '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;--------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-------------------------------------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to solve the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-28T10:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
*We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge15Ma5 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Add the following lines above convertToMeters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Edit '''blockMeshDict.template'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Any line preceded with '''$$ ''' is a '''Python ''' line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict'''&lt;br /&gt;
* and a '''Python '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template Files'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Create and use '''template files'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-28T10:24:03Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
*We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge15Ma5 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Add the following lines above convertToMeters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Edit '''blockMeshDict.template'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Any line preceded with '''$$ ''' is a '''Python ''' line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict'''&lt;br /&gt;
* and a '''Python '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-28T10:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
*We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Add the following lines above convertToMeters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Edit '''blockMeshDict.template'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Any line preceded with '''$$ ''' is a '''Python ''' line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict'''&lt;br /&gt;
* and a '''Python '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:57:18Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Add the following lines above convertToMeters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Edit '''blockMeshDict.template'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Any line preceded with '''$$ ''' is a '''Python ''' line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict'''&lt;br /&gt;
* and a '''Python '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Add the following lines above convertToMeters. Any line preceded with '''$$ ''' is a '''Python ''' line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:24:04Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using any editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:23:29Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict '''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt; blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using any editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-23T12:21:27Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 '''&lt;br /&gt;
Type the path of '''your OpenFOAM directory''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt; blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using any editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-13T11:49:36Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge5M15'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFOAM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge15Ma5 ~/fossee/OpenFOAM/ '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt; blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using any editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-02-08T12:03:25Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam	 Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;--------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;-------------------------------------------------------------------------------------------&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the following '''PyFoam Utilities''' to solve the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''the editor of your choice.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-02-08T11:59:38Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the spoken tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge5M15'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFO AM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge15Ma5 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
''' mkdir -p ~/fossee/OpenFOAM/'''&lt;br /&gt;
'''cp -r Wedge15Ma5 ~/fossee/OpenFOAM/ '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt; blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.templat e&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English</id>
		<title>OpenFOAM/C3/Using-PyFoam-Utilities/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-PyFoam-Utilities/English"/>
				<updated>2017-01-16T12:46:45Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: Created page with &amp;quot;Tutorial : 22  Name : Using PyFoam Utilities  Script : Anmol Sahoo and Rahul Joshi  Narration : Rahul Joshi  Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTub...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial : 22&lt;br /&gt;
&lt;br /&gt;
Name : Using PyFoam Utilities&lt;br /&gt;
&lt;br /&gt;
Script : Anmol Sahoo and Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, CFD, Linux, PyFoam utilities,shockTube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Title&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken tutorial on Using '''PyFoam Utilities'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About '''PyFoam Utilities'''&lt;br /&gt;
* How to use '''PyFoam Utilites'''&lt;br /&gt;
* How to run and plot''' '''data for the '''shockTube''' case using '''PyFoam Utilites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
System Requirement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| To record this tutorial I am using:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''14.04&lt;br /&gt;
* '''OpenFOAM v2.3.0'''&lt;br /&gt;
* '''PyFoam 0.6.5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide :&lt;br /&gt;
&lt;br /&gt;
Pre-requisite&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| As a prerequisite user should have :&lt;br /&gt;
&lt;br /&gt;
* basic knowledge of running commands on the '''Linux terminal'''&lt;br /&gt;
* And some experience of running and analyzing '''OpenFOAM''' cases&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Introduction to PyFoam Utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me introduce you to '''PyFoam utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Utilities '''are''' Python programs '''which come inbuilt with '''PyFoam.'''&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Each '''utility''' has a specific function.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''Utilities''' are executed from the '''command line.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of Utilities&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoam''' and press '''Tab''' twice&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| List of '''utilites''' that can be viewed using '''tab completion'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open the terminal &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of '''utilities''' can be viewed by &lt;br /&gt;
&lt;br /&gt;
* typing '''pyFoam '''&lt;br /&gt;
* and then pressing '''Tab '''key twice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : List of utilities&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let me switch back to the slides.&lt;br /&gt;
&lt;br /&gt;
Each '''utility''' can be executed with the '''–help''' option &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This helps us to find out what it does and what its options are&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide : using utilties&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We are going to use the below '''PyFoam Utilities''' to run the '''Shock Tube''' case. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use -&lt;br /&gt;
&lt;br /&gt;
* '''PyFoamRunner.py'''&lt;br /&gt;
* '''PyFoamSamplePlot.py'''&lt;br /&gt;
&lt;br /&gt;
And then plot the necessary data using '''PyFoam'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamRunner.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''PyFoamRunner.py''' can be used to run '''cases'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It also generates '''log files '''for later use&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : PyFoamSamplePlot.py&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This '''utility''' is used to plot the various data obtained from the previously set up '''sampleDict.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Problem definition&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagram &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| '''Shock Tube '''is an '''instrument''' -&lt;br /&gt;
&lt;br /&gt;
* used to replicate and direct blast waves at a sensor &lt;br /&gt;
* to model actual explosion and their effects&lt;br /&gt;
&lt;br /&gt;
In this case, the rectangular tube has low pressure on the right side and high pressure on the left side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Both the pressures zones are seperated by a thin diaphgram.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''run/tutorials/compressible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''Terminal''' and type the path for '''rhoCentralFoam''' inside '''compressible solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type the command shown in Narration column&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type:&lt;br /&gt;
&lt;br /&gt;
'''cd $FOAM_TUTORIALS/compressible/rhoCentralFoam/'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now type '''ls'''. You can see the '''shockTube''' case&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''cd shockTube'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Point to the 3 files&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| You can see three folders '''0.org , constant '''and''' system.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| On Terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r 0.org 0'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| We need to copy the '''0 '''file from''' 0.org''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type '''cp -r 0.org 0'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type''' cd system'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now, go to the '''system''' folder by typing &lt;br /&gt;
&lt;br /&gt;
'''cd system'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type &lt;br /&gt;
&lt;br /&gt;
'''gedit sampleDict'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''sampleDict''' file using '''gedit.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| In '''sampleDict '''file, do as narrated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go to the bottom of the file and '''Remove U.Component(0).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace it with '''Ux Uy '''and '''Uz.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove '''rho''' as well.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Save the file and exit&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Save and exit the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''cd ..'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go one level back by typing cd ..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''blockMesh '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Run the command '''blockMesh''' to '''mesh''' the '''geometry.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''setFields'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this type '''setFields''' to set the pressure boundary condition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamRunner.py rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now we will use the '''pyFoam utility of pyFoamRunner.py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pyFoamRunner.py &amp;lt;'''followed by name of the '''solver &amp;gt; i.e. RhoCentralFoam'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This runs the '''case''' and creates a '''postProcessing log.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Switch to the '''terminal '''and type '''ls''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Go back to the terminal and type '''ls.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the log files which are generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''sample'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Now '''type sample''' to run the '''sample utility.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| After this we can plot for various '''time steps''' using-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pyFoamSamplePlot.py ./ --dir=postProcessing/sets –info'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will show which fields we have with us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Then type '''pyFoamSamplePlot.py ./ --dir=postProcessing/sets --field=T --mode=timesInOne | gnuplot'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The output generated will be a '''png file.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Type '''ls'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight/point to the '''png file'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Type '''ls'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the '''png''' file which is generated. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Utilities.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# Check for various '''pyFoam utilities'''&lt;br /&gt;
# '''pyFoamRunner.py''' to run the '''solver''' &lt;br /&gt;
# '''pyFoamSamplePlot''' utility to generate a '''png''' file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| Please post your general queries on '''OpenFOAM''' in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Textbook Companion &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Show Slide &lt;br /&gt;
&lt;br /&gt;
Acknowledgement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English</id>
		<title>OpenFOAM/C3/Using-Template-files-in-PyFoam/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/OpenFOAM/C3/Using-Template-files-in-PyFoam/English"/>
				<updated>2017-01-16T12:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Viraj20feb: Created page with &amp;quot;Tutorial 21: C2  Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi  Keywords : OpenFOAM, PyFoam, Python, Template, supersonic fl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial 21: C2&lt;br /&gt;
&lt;br /&gt;
Title : Using Template files in PyFoam Script : Anmol Sahoo, Rahul Joshi Narration : Rahul Joshi&lt;br /&gt;
&lt;br /&gt;
Keywords : OpenFOAM, PyFoam, Python, Template, supersonic flow, wedge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Title&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Hello and welcome to the Spoken Tutorial on '''Using Template files in PyFoam.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : Learning Objective&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In this tutorial we will:&lt;br /&gt;
&lt;br /&gt;
* Understand the function of '''PyFoam Utilities'''&lt;br /&gt;
* Create and use template files&lt;br /&gt;
* Use '''PyFoamFromTemplate.py '''for solving the '''supersonic flow over wedge'''&lt;br /&gt;
&lt;br /&gt;
We can run this for different '''wedge angles '''using '''template '''files.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide : System requirement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To record this tutorial I am using&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''Operating System 14.04&lt;br /&gt;
* '''OpenFOAM''' 2.3.0&lt;br /&gt;
* '''PyFoam-0.6.5'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Prerequisite&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| To practice this tutorial the user should have :&lt;br /&gt;
&lt;br /&gt;
* Basic Knowledge of using '''Linux terminal'''&lt;br /&gt;
* Experience of running and analyzing '''OpenFOAM '''cases&lt;br /&gt;
&lt;br /&gt;
If not, please refer to the spoken tutorial series on '''Linux '''and '''OpenFOAM'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template Files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| What are '''template '''files?&lt;br /&gt;
&lt;br /&gt;
'''Template '''files are used to generate '''OpenFOAM '''files like&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict or controlDict'''&lt;br /&gt;
&lt;br /&gt;
'''Template '''files can be programmed, hence we can procedurally generate data.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Syntax of Template files&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| A '''template '''file should be an '''OpenFOAM '''file, with the following -&lt;br /&gt;
&lt;br /&gt;
* Any line beginning with '''$$ '''is a '''Python program '''line.&lt;br /&gt;
* It will be executed by '''Python'''&lt;br /&gt;
* Any variable can be substituted in the file by using the syntax&lt;br /&gt;
&lt;br /&gt;
'''| -varname - |'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Using a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The following steps should be followed to use a '''template '''file :&lt;br /&gt;
&lt;br /&gt;
* First copy an existing file&lt;br /&gt;
* After this create a '''template '''file&lt;br /&gt;
* Then run '''PyFoamFromTemplate.py'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Creating a template file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Template '''file will be created for '''blockMeshDict.'''&lt;br /&gt;
&lt;br /&gt;
We will use the '''supersonic flow '''over a wedge as an example case. The case file is available in the '''rhoCentralFoam solver.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''run/tutorials/compres sible/rhoCentralFoam'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
Type the '''path '''for the '''rhoCentralFoam '''inside '''compressible solvers.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge5M15'''&lt;br /&gt;
&lt;br /&gt;
'''/home/fossee/OpenFO AM/'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now copy the '''Wedge5M15 case directory '''into '''OpenFOAM directory'''&lt;br /&gt;
&lt;br /&gt;
by typing&lt;br /&gt;
&lt;br /&gt;
'''cp -r Wedge5M15 /home/fossee/OpenFOAM/ '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Cd OpenFOAM/Wedge5 M15'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal, '''type the path for '''Wedge5M15 folder '''inside&lt;br /&gt;
&lt;br /&gt;
'''OpenFOAM directory.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh/bl ockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type the '''path '''for '''blockMeshDict file '''inside '''polyMesh directory '''inside&lt;br /&gt;
&lt;br /&gt;
'''constant.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the '''blockMeshDict '''file in any editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the vertices section&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the '''vertices '''section.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : vertices to&lt;br /&gt;
&lt;br /&gt;
be changed&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| We need to calculate the '''co-ordinates '''of the end points of the '''slope'''.&lt;br /&gt;
&lt;br /&gt;
Based on the '''angle, '''change the following lines&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 -0.005)&lt;br /&gt;
&lt;br /&gt;
( 0.3048 0.081670913853 0.005)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.templ'''&lt;br /&gt;
&lt;br /&gt;
'''ate'''&lt;br /&gt;
| style=&amp;quot;border-top:0.25pt solid #000000;border-bottom:none;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to the terminal&lt;br /&gt;
&lt;br /&gt;
Copy your '''blockMeshDict '''file into a file called&lt;br /&gt;
&lt;br /&gt;
'''blockMeshDict.template, '''type the following-&lt;br /&gt;
&lt;br /&gt;
'''cp -r blockMeshDict &amp;gt; blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| gedit blockMeshDict.template&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Open the blockMeshDict.template file using gedit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Add the following lines above convertToMeters'''&lt;br /&gt;
&lt;br /&gt;
'''$$import math'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaDegrees &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 10.0'''&lt;br /&gt;
&lt;br /&gt;
'''$$thetaRadians &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; math . radians ( thetaDegrees )'''&lt;br /&gt;
&lt;br /&gt;
'''$$y_coord &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0.3048* math . tan ( thetaRadians )'''&lt;br /&gt;
&lt;br /&gt;
Any line preceded with '''$$ '''is a '''Python '''line, and will be interpreted and executed by '''Python'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Template file syntax&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Modify the '''vertices '''entry as&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| -0.005)'''&lt;br /&gt;
&lt;br /&gt;
'''( 0.3048 |-y_coord-| 0.005)'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''Python variables '''assigned in the '''template '''file, should be substituted at any location in the file.&lt;br /&gt;
&lt;br /&gt;
To do so, use '''| −varname− | '''in the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Highlight or point to the changes&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see the changes made into this file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now, let's create a blank file&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''gedit templateFileConst'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the '''terminal''', type '''gedit templateFileConst '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| templateFileConst&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Create a dummy entry inside it by typing&lt;br /&gt;
&lt;br /&gt;
'''dummy 1.0;'''&lt;br /&gt;
&lt;br /&gt;
A dummy entry is mandatory.&lt;br /&gt;
&lt;br /&gt;
An external '''dict '''has to be provided with any '''constant '''that is to be used in the '''template '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Press Ctrl+S and close&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Save and close the both the files&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| cd ../../&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now go 2 levels back to your '''case '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Switch back to slides&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let me switch back to slides&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Running PyFoam command&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We have to run the template command now.&lt;br /&gt;
&lt;br /&gt;
'''pyFoamFromTemplate.py --template-file&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;./blockMeshDict.template'''&lt;br /&gt;
&lt;br /&gt;
'''--output=./blockMeshDict --values-dictionary=templateFileConst'''&lt;br /&gt;
&lt;br /&gt;
'''--allow-exec-instead-of-assignment'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''&amp;gt;&amp;gt; press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type this command in '''terminal '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Type '''cd constant/polyMesh'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Now again go inisde the '''polyMesh folder '''inside '''constant'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to '''blockMeshDict '''and a python file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can see that&lt;br /&gt;
&lt;br /&gt;
* 2 new files are generated&lt;br /&gt;
* the '''blockMeshDict.template '''file is replaced by '''blockMeshDict'''&lt;br /&gt;
* and '''.py '''file is also generated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to the '''Python'''&lt;br /&gt;
&lt;br /&gt;
file.&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Do not edit the '''Python '''file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| On the terminal type&lt;br /&gt;
&lt;br /&gt;
'''gedit blockMeshDict'''&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| In the '''terminal''', open the '''blockMeshDict '''file by typing -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| '''gedit blockMeshDict '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to wedge angle&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We had changed the '''wedge angle '''from '''15 deg '''to '''10 deg.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Point to end points&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The end points of the '''slope '''have also changed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide :Running the case file&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| We can now run the '''case '''file by executing the '''OpenFOAM commands'''&lt;br /&gt;
&lt;br /&gt;
* '''blockMesh'''&lt;br /&gt;
* '''rhoCentralFoam'''&lt;br /&gt;
* visualize the results using '''Paraview.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Assignment&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| As an assignment, use the following '''wedge angles '''and run the '''template'''&lt;br /&gt;
&lt;br /&gt;
commands.&lt;br /&gt;
&lt;br /&gt;
- '''0deg, 5 deg, 20 deg, 25 deg'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show slide : Summary&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about '''PyFoam Template'''&lt;br /&gt;
&lt;br /&gt;
We also learnt to-&lt;br /&gt;
&lt;br /&gt;
# check the installation of '''script for using template'''&lt;br /&gt;
# and using the '''PyFoamFromTemplate.py '''command&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide&lt;br /&gt;
&lt;br /&gt;
Forum to answer questions&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Please post your general queries on '''OpenFOAM '''in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Textbook Companion&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The '''FOSSEE '''team coordinates the TBC project.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Show Slide Acknowledgement&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| The Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India&lt;br /&gt;
&lt;br /&gt;
For more details , visit this website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| Thank You&lt;br /&gt;
| style=&amp;quot;border:0.25pt solid #000000;padding:0cm;&amp;quot;| This is Rahul Joshi from IIT Bombay signing off. Thanks for watching&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Viraj20feb</name></author>	</entry>

	</feed>