Pradtl Meyer Expansion Shock Simulation


The objective of this study are followed as given below

1. Perform a literature review on the physics behind shock waves

2. Boundary conditions associate with shock waves

3. Study the effect of Sub-Grid-Scale (SGS) criteria on the Pradtl Meyer shock wave simulation results

Shock Waves:

Shock waves are high pressure wave trails generated around a sharped corner body traveling at supersonic velocity. Before the body reaches actual supersonic velocity, the air parcel flowing closely over the body surface reaches supersonic speeds due to which the shocks are generated. In other words the pressure, temperature and density of air changes abruptly at the local region when this occurs.

Based on the body geometry, the shock waves formed can be categorized as normal shock, oblique shock and bow shock/curved shock. Certian cases of two dimensional waves in supersonic flow shows opposite effect of oblique shock, such waves are called expansion waves in which the supersonic flow is turned away from itself. In these cases, the flow passes over the surface at an inclined angle w.r.t to the horizontal and all the flow steamlines are deflected downwards.The change in the flow direction and other parameters takes place across a fan centered at point A as shown below:

An expansion wave formed due to a sharp convex corner is known as centered expansion or Pradtl-Meyer expansion wave. Some of the key features of the PM expansion wave are:

            1. The expansion takes place through a continuous succession of Mach waves which                  are isentropic in nature

            2. The expansion of the flow takes place though an infinite number of Mach waves                    emitting from the center ‘A'

            3. Smooth curved streamlines through the expansion wave

            4. Static properties such as pressure,temperature and density decrease during the                         expansion process as the mach number increases

Boundary Conditions:

The Boundary conditions generally used for solving CFD problems are Neumann BC, Dirichlet BC and Mixed BC. For Pradtl Meyer expansion wave problem, Neumann and Dirichlet BC are used

Neumann BC: In case of Neumann boundary condition, the gradient of the variable () is specified at the boundary of the problem domain. Here, n is the direction, x, y, and z. One of the most frequently use Neumann boundary condition is the no flow boundary condition, i.e.  = 0 at the boundary

Dirichlet BC: For this type of boundary condition, the value of variable h(x,y,z,t) is specified at the boundary of the problem domain. This is also known as type I boundary condition. The head may be constant or may vary in space or in time.

Study of SGS criteria on Pradtl Meyer Shock Wave Simulation Results:

For studing this a transient state flow simulation is set up through a 2D channel with convex corner and various sgs values were used to understand the dependency of SGS parameter on the cell count along with shock location. The setup will be done for subsonic inlet velocity and supersonic inlet velocity to observe the formation of expansion fan. The following grid size and SGS criteria will be opted to setup the cases

Subsonic Inlet Velocity: 100m/s

Supersonic Inlet Veloctiy: 680m/s

  Grid Size Max. Embedding Level Sub-Grid Criteria
Baseline dx=0.8m, dy=0.8m, dz=0.8m 2 0.05
Case 1 dx=0.8m, dy=0.8m, dz=0.8m 2 0.04
Case 2 dx=0.8m, dy=0.8m, dz=0.8m 2 0.03
Case 3 dx=0.8m, dy=0.8m, dz=0.8m 2 0.10

The simulation process includes three major steps:

1. Preprocessing

    1.1. Geometry Import

    1.2. Diagnosis

    1.3. Boundary Flagging

    1.4. Case Setup

2. Solving

3. Post Processing

   3.1. Mesh

   3.2. Plots (Density, Static Pressure, Mach Number)

   3.3. Contours (Velocity, Static Pressure)

   3.4. Animation (Velocity, Static Pressure)



The procedure followed for setting up the simulation is provided below

1. Preprocessing

  1.1. Geometry Import 

        a. The geometry provided was imported by dragging and dropping the file in the                        converge studio window

                                     Fig. 1: Geometry (All dimension are in m)


1.2. Diagnosis: The diagnosis tool helps in identifying the different problems in the                    geometry. 

      The Diagnosis tool looks for the following geometric issues

     a. Intersection: Highlights number of triangles with piercing inbetween adjacent two                 triangles

     b. Nonmanifold Vertices: Checks for number vertex which are being shared between two           triangles

     c. Open Edge: This highlights the number of edges of a triangle which not shared by any           other triangle

     d. Normal Orientation: This highlights the number of traingles whose normal vector is               not pointing towards the interior of fluid domain

     e. Isolated Triangles: This checks for the number of triangle surrounded by any                         neighbouring triangles that have different boundary ID number

    Goto Diagnostics Dock>Find>


Since all the problem traingles are green ticked, there were no issues in the geometry

1.3. Boundary Flagging:

         a. Goto Boundary>Flag>Create a New Boundary>Create Multiple Boundary>Enter 4 in               "Number of Multiple Boundaries" and the individual boundaries were renamed                       as: Inlet, Outlet, Front_2D, Back_2D and Slip

         b. Selected the triangles at inlet and outlet, and applied to the respective boundaries.               Then the triangles in the Front and Back Walls were selected and applied to the                     respective boundaries. The same process was followed for the top and bottom walls               as well

The figure below represent the boundaries flagged


 1.4. Case Setup: 

      a. Clicked on "Begin case Setup" and entered the value provided below

Settings Values to be Entered
Application General Flow
Material Select Air (predefined mixture)
Gas simulation>No Change
Global Transport Paramters>No  Change
Reaction Mechanism> click on Import data from Mech.dat
Simulation Parameters Run Paramters> Density-based steady solver
Simulation Time Parameter>
Start Time: 0
End time: 15000 cycles
Initial time step: 1.0e-7 s
Minimum time step: 1.0e-7 s
Maximum time step: 1.0 s
Solver Parameters> No Change
Boundary Conditions  Inlet> Boundary Type- INFLOW>Pressure Boundary Condition>Zero Normal Gradient (NE)
Velocity Boundary Condition>Specified Value (DI)>Enter 100m/s as the value of velocity along x-direction, and assigned 0 for velocity in y and z direction
Temperature Boundary Condition>286.1k
Species Boundary Condition> Air

Outlet>Boundary Type-OUTFLOW>Pressure Boundary Condition>Zero Normal Gradient (NE)
Velocity Boundary Condition>Zero Normal Gradient (NE)
Temperature Backflow>300k
Species Backflow>Air

Front_2D and Back_2D> Assign TWO_D for both the boundries

Slip>Boundary Type>Wall, Velocity Boundary Condition>Wall Type Motion>Stationary, Temperature Boundary Condition>Zero Normal Gradient (NE)

Assign Region 0 to all the boundaries

For case 1,2 & 3 changed Vx=680m/s
Initial Conditions & Events Regions and Initialization
Regions and Initialization
Add region>"Region 0"
Stream ID: 0
Velocity: Vx=100m/s, Vy=Vz=0
Temperature: 300k
Enter Pressure value:500000Pa
Species: Add Air

For case 1,2 & 3 changed Vx=680m/s (Supersonic)
Physical Models Turbulence Modeling-RNG-K Eplison is selected
Grid Controls Enter the grid values for (dx, dy, dz) as per the case Baseline
Baseline: dx = 0.8 m; dy = 0.8 m; dz = 0.8 m
Activated Fixed Embedding from the menu
Fixed Embedding-Add Embedding>AMR groups>tick on Temperature
Select on the Avialable Region and click on => to shift the Region 0 to active regions
Max. Embedding Level>2
Sub-Grid Criterion>0.05
Timing Control Type:Sequential
Start Time:5000 Cycles
End Time: 9.99999e^9
Similar Gird Size was used for Case 1, 2 & 3
Case 1:
Change Sub-Grid  Criterion>0.04
Case 2:
Change Sub-Grid  Criterion>0.03
Case 3:
Change Sub-Grid  Criterion>0.10
Output/Post Processing Post Variable Selection>No change
Output Files Time Interval for writing 3D output data files: 1000 cyc
Time Interval for writing text output: 1.0 cyc
Time Interval for restarting output: 1000 cyc

After this all the input files was imported to a seperate folder. Converge creates .txt  files which contains all the values entered while setting up the case for respective settings done above. These input files will be processed by converge using Message Passing Interface (MPI) standard

2. Solving:

For running the simulation, Cygwin tool was used instead of converge studio interface. Cygwin is a POSIX-compatible API which is based on command prompt is used to run the simulation


a. Navigated to the folder location containing the input files

b. Entered the command> mpiexec.exe -n 2 converge.exe logfile & : This allows converge to run two processors (selection on number of processor cores present as per the system configuration, can use multiple cores if available) for the parallel processing and load balancing

c. Entered the command> taif -f logfile

d. After the simulation is over. Went back to converge studio>Post-Processing 3D

e. Enter Case Name>"Test", Change the File Type to Paraview VTK in-line binary format

d. Enter the address for the output files>Select all files>Select all Cell Variables>click on Convert

e. After the conversion of the post files to the binary output, open the Test.vtm (group file) file in Paraview

3. Post-Processing:

After opening the group file in paraview, clicked on apply to load the results. Created slice, and other contour plots as required

  3.1. Meshing:

                                               Fig: Cell Count (Cases: Baseline, 1, 2 & 3)


                                              Fig: Case 1: Mesh View 

                                               Fig: Case 2: Mesh View

                                               Fig: Case 3: Mesh View

3.2. Plots

Density Plots

                                        Fig: Baselinecase: Density Plots

                                        Fig: Case 1: Density Plots

                                           Fig: Case 2: Density Plots                      


                                           Fig: Case 3: Density Plots      


Static Pressure Plots

                                          Fig:  Baselinecase: Static Pressure Plots   

                                           Fig:  Case 1: Static Pressure Plots 

                                           Fig:  Case 2: Static Pressure Plots 


                                           Fig:  Case 3: Static Pressure Plots 

Mach Number Plots

                                            Fig:  Baselinecase: Mach Number Plots                                     

                                            Fig :  Case 1: Mach Number Plots

                                             Fig:  Case 2: Mach Number Plots


                                              Fig:  Case 3: Mach Number Plots

3.3. Contours:

                            Fig: Velocity Contour (Baseline) 


                            Fig: Pressure Contour (Baseline)

                                            Fig: Velocity Contour (Case 1)

                                            Fig: Pressure Contour (Case 1)

                                             Fig: Velocity Contour (Case 2)

                                            Fig: Pressure Contour (Case 2)

                                             Fig: Velocity Contour (Case 3)

                                            Fig: Pressure Contour (Case 3)


Animation Link:

Case 1:Pressure

Case 1:Velocity

Case 1: Velocity with Surface with Edges

Case 2: Pressure with Surface with Edges

Case 2: Velocity with Surface with Edges


Case 3: Pressure with Surface with Edges

Case 3: Velocity with Surface with Edges


1. In the baseline case when the subsonic inlet velocity condition was used no change in the mesh count as the given SGS criteria was not fullfilled in the entire domain.

2. When the sub grid scale temperature change started at around 5000 cycles, the adaptive mesh refinement was observed.

3.In the supersonic flow, the effect of AMR based on temperature or velocity plays a very significant role in capturing physics. The SGS value should be kept low to capture the physics accurately; when the SGS parameter was provided was lowered in case 1 and 2, the formation of expansion fan was proper, but when increased in case 3, the formation of expansion fan was effected

4. Due to the formation of expansion shock, the static parameters such as pressure, density and temperature changed locally

5. Proper SGS value helps in understanding the point of shock generation on the boundary. For example, in case 1 velocity contour, the point of shock can be observed clearly as shown in the figure

Projects by Gaurav Samanta

Data Analysis
Gaurav Samanta · 2020-01-08 12:32:09

Objective: The objective of this project is to write a code for data analysis from an input file and perform the following operations 1. Compatibility Check: The program will ask for the file name with valid extension which if provided incorrect will terminate the prog Read more

Constraint Minimization
Gaurav Samanta · 2020-01-08 11:52:01

Objective: The objective of this project is to minimize a simple non-linear funtion using Lagrange Multiplier The target equation is: `f(x,y)=5-(x-2)^2-2(y-1)^2` & the constrain equation: `x+4y=3` Theory: In real engineering applications there is a Read more

Curve Fitting
Gaurav Samanta · 2019-12-27 19:42:51

Objective: The objective of this project is to perform a curve fitting between the temperature and Cp values given the data file   Theory:  Curve Fitting: it is a process of constructing a curve that best fits the provided data series. Curve fitting in gene Read more

Ice Breaking Challenge
Gaurav Samanta · 2019-12-27 19:01:57

Objective:  The objective of this project is to determine the minimum pressure required to break a given thickness of ice using an air cushion vehicle through Newton Raphson Method Equation: `p^3(1-beta^2)+(0.4hbeta^2-(sigmah^2)/r^2)p^2+((sigma^2h^4)/(3r^4))p-((s Read more

Objective: The objective of this report is to understand the CAD modeller features in Star CCM+ and use it to generate a 3D model of an Ahmed Body and a Convergent Divergent Nozzle in the same as per the drawing given below   Procedure & Results: Conv Read more

Air Standard Cycle
Gaurav Samanta · 2019-12-10 14:51:18

Objective: The objective of this report is to create a python based Otto Cycle simulator which can create the  PV diagram and give the thermal efficiency of the engine as output  Theory: Otto cycle is the set of processes used by the spark ignition Read more

2R Robotic Arm
Gaurav Samanta · 2019-12-10 14:33:33

 Objective: The objective of this report is to simulate the foward kinematics of a 2R robotic arm using python programming   Theory: Robotic arm manipulators are used in various industry verticals such as automotive, electronics, warehouses and logistic Read more

Solving 2nd order ODE
Gaurav Samanta · 2019-12-10 08:14:29

Objective: The objective of this report is the simulate the transient behaviour of a simple pendulum and the create the animation of its motion for a given time interval Theory: The following equation (Ordinary Differential Equation) for the position of the bob w. Read more

Flow over Bicycle
Gaurav Samanta · 2019-11-22 18:54:05

Objective:   The objective of this  study to understand the change in drag force with respect to velocity different cycling positions and drag coefficeint for constant frontal area and constant velocity.   Theory: Cyclists tend to experien Read more

Objective: The objective of this report is to understand the different steps involved in any CFD simulation and the applications of CFD in Medical, Oil & Gas and Construction Industry 1. Steps involved in a CFD Simulation  Step 1. CAD Modelling/Geometry Impor Read more


The End