Note
Go to the end to download the full example code.
OpenFoamSimu to post-process simulation
This example shows how to organize the results of a simulation into an OpenFoamSimu object that contains all the results of one simulation.
First create a simulation object with OpenFoamSimu
Note
This class allows you to create an object associated to a simulation
# import the class OpenFoamSimu
from fluidfoam import OpenFoamSimu
#path were all simulations are located
path = '../../output_samples'
#Name of the simulation to load, if not given, the program lists all simulations
#located in path and ask you to choose which one to load
simu = 'box'
#time step to load, if not given, load last time step
timeStep = '4'
#Load simulation and create an object called mySimu that contain the results of
#the simulation, structured=True indicates that the mesh is structured
mySimu = OpenFoamSimu(path=path, simu=simu, timeStep=timeStep, structured=True)
# .. note:: Each file saved at timeStep of the simulation are
# automatically loaded as variables of object mySimu.
# You can know what variables have been loaded using function keys() of
# the class
mySimu.keys()
# .. note:: function keys() indicates that variables named U, nut and p have
# been loaded. You can access them simply by typing for example mySimu.U
# for the velocity field
mySimu.U
Reading file ../../output_samples/box/4/C
Reading file ../../output_samples/box//constant/polyMesh/owner
Reading file ../../output_samples/box//constant/polyMesh/faces
Reading file ../../output_samples/box//constant/polyMesh/points
Reading file ../../output_samples/box//constant/polyMesh/neighbour
Reading file ../../output_samples/box/4/nut
Reading file ../../output_samples/box/4/p
Reading file ../../output_samples/box/4/U
Loaded available variables are :
['nut', 'p', 'U']
array([[[[ 3.18992e-02, 1.85248e-02, 1.51376e-02, ..., 1.56568e-01,
1.55474e-01, 1.50340e-01],
[ 5.45512e-02, 3.37097e-02, 2.41543e-02, ..., 1.47024e-01,
1.62954e-01, 1.61135e-01],
[ 9.64050e-02, 6.60540e-02, 4.70174e-02, ..., 1.38300e-01,
1.67029e-01, 1.51314e-01],
...,
[ 1.57301e-01, 1.60617e-01, 1.31958e-01, ..., 7.42071e-02,
6.56267e-02, 4.01245e-02],
[ 1.57650e-01, 1.60086e-01, 1.40073e-01, ..., 4.16356e-02,
3.47472e-02, 2.26417e-02],
[ 1.57259e-01, 1.53275e-01, 1.53635e-01, ..., 2.08793e-02,
2.04318e-02, 1.34423e-02]],
[[ 3.26646e-02, 1.94394e-02, 1.53563e-02, ..., 1.54864e-01,
1.55196e-01, 1.45941e-01],
[ 5.80944e-02, 3.17509e-02, 2.61010e-02, ..., 1.43967e-01,
1.57055e-01, 1.53303e-01],
[ 1.05022e-01, 5.84404e-02, 4.51276e-02, ..., 1.39652e-01,
1.65565e-01, 1.59925e-01],
...,
[ 1.57266e-01, 1.59921e-01, 1.29897e-01, ..., 7.42857e-02,
6.59377e-02, 4.35011e-02],
[ 1.64242e-01, 1.60636e-01, 1.32635e-01, ..., 3.89312e-02,
3.41233e-02, 2.45663e-02],
[ 1.58251e-01, 1.53970e-01, 1.50649e-01, ..., 2.16286e-02,
2.01094e-02, 1.46607e-02]],
[[ 3.16753e-02, 1.87914e-02, 1.48996e-02, ..., 1.54493e-01,
1.58469e-01, 1.44075e-01],
[ 5.62772e-02, 3.03069e-02, 2.63086e-02, ..., 1.44784e-01,
1.49990e-01, 1.47807e-01],
[ 1.04903e-01, 5.04449e-02, 5.21460e-02, ..., 1.46833e-01,
1.52240e-01, 1.46096e-01],
...,
[ 1.62805e-01, 1.63317e-01, 1.31324e-01, ..., 7.65901e-02,
6.76110e-02, 4.58660e-02],
[ 1.65107e-01, 1.59031e-01, 1.34514e-01, ..., 3.81553e-02,
3.38472e-02, 2.47811e-02],
[ 1.63733e-01, 1.55741e-01, 1.47926e-01, ..., 2.34216e-02,
1.88499e-02, 1.42788e-02]],
...,
[[ 2.10110e-02, 1.71158e-02, 1.33901e-02, ..., 1.51758e-01,
1.57391e-01, 1.60464e-01],
[ 3.32812e-02, 3.11740e-02, 2.32554e-02, ..., 1.53499e-01,
1.57584e-01, 1.56566e-01],
[ 5.47667e-02, 6.10295e-02, 4.32365e-02, ..., 1.40170e-01,
1.54445e-01, 1.43576e-01],
...,
[ 1.43083e-01, 1.43811e-01, 1.53331e-01, ..., 8.43962e-02,
7.62478e-02, 3.17175e-02],
[ 1.58182e-01, 1.51251e-01, 1.60025e-01, ..., 5.23662e-02,
4.04399e-02, 1.82754e-02],
[ 1.60970e-01, 1.54376e-01, 1.65292e-01, ..., 2.54139e-02,
2.33335e-02, 1.04692e-02]],
[[ 2.45636e-02, 1.74154e-02, 1.40789e-02, ..., 1.54173e-01,
1.63355e-01, 1.63841e-01],
[ 3.92183e-02, 3.30393e-02, 2.43376e-02, ..., 1.53011e-01,
1.61903e-01, 1.57312e-01],
[ 6.25909e-02, 7.29379e-02, 4.49262e-02, ..., 1.43240e-01,
1.53015e-01, 1.34550e-01],
...,
[ 1.40143e-01, 1.47013e-01, 1.46684e-01, ..., 8.11851e-02,
7.48765e-02, 3.31145e-02],
[ 1.51935e-01, 1.54633e-01, 1.60971e-01, ..., 4.00566e-02,
3.67162e-02, 1.93503e-02],
[ 1.59972e-01, 1.52955e-01, 1.58987e-01, ..., 2.33343e-02,
2.15754e-02, 1.13547e-02]],
[[ 2.85475e-02, 1.80183e-02, 1.49017e-02, ..., 1.57054e-01,
1.62719e-01, 1.60318e-01],
[ 4.92924e-02, 3.42915e-02, 2.54363e-02, ..., 1.51944e-01,
1.61572e-01, 1.67899e-01],
[ 7.63345e-02, 7.51616e-02, 4.62340e-02, ..., 1.43263e-01,
1.61106e-01, 1.33411e-01],
...,
[ 1.48771e-01, 1.56704e-01, 1.39574e-01, ..., 9.53091e-02,
6.65887e-02, 3.58228e-02],
[ 1.48661e-01, 1.58416e-01, 1.50271e-01, ..., 3.62676e-02,
3.47382e-02, 2.01614e-02],
[ 1.57204e-01, 1.52599e-01, 1.54873e-01, ..., 2.07672e-02,
1.97192e-02, 1.18009e-02]]],
[[[ 7.84279e-04, -8.21631e-04, 1.03726e-04, ..., -1.50531e-03,
2.87250e-03, -5.27878e-03],
[ 1.39026e-03, -1.76744e-03, 9.85371e-04, ..., -2.90738e-03,
1.17917e-02, 1.95412e-03],
[ 1.46458e-03, -4.10754e-03, 5.84235e-04, ..., -5.85495e-03,
1.44694e-02, 1.03129e-02],
...,
[-4.88563e-03, -9.99662e-03, 3.22929e-03, ..., -8.16422e-04,
-1.62787e-03, 1.78847e-04],
[-6.05043e-03, -1.04917e-02, 4.32133e-03, ..., 6.36480e-04,
-5.14880e-04, 2.57391e-04],
[-1.10121e-03, -8.33460e-03, 3.62929e-03, ..., -1.68147e-04,
-2.18410e-04, 1.63185e-04]],
[[ 4.44843e-04, -1.15291e-03, 2.49377e-04, ..., -8.01922e-04,
-8.26443e-04, -2.93343e-03],
[ 7.25699e-04, -1.91988e-03, 4.70015e-04, ..., -3.39888e-03,
-5.35955e-03, 4.08751e-04],
[ 9.08462e-04, -4.42358e-03, 2.25822e-03, ..., -4.03554e-03,
6.43127e-04, 4.97896e-03],
...,
[-3.36567e-03, -1.10163e-02, -3.42861e-03, ..., -1.48228e-03,
-1.07225e-03, -4.74335e-04],
[-9.66975e-03, -9.21608e-03, 5.05489e-03, ..., -7.00149e-04,
-4.87104e-04, -8.59092e-05],
[-4.09886e-03, -9.33245e-03, 2.83793e-03, ..., -4.79382e-04,
-3.00915e-04, -1.90407e-05]],
[[ 1.97729e-05, -6.48533e-04, 1.98210e-04, ..., -2.29745e-03,
2.55462e-03, 4.84111e-03],
[-4.20549e-05, -1.17454e-03, 3.00966e-04, ..., -2.28643e-03,
4.03983e-03, 2.85943e-03],
[-2.36747e-04, -2.19435e-03, 3.01756e-04, ..., 2.39089e-03,
6.30651e-03, -2.91054e-03],
...,
[ 1.23210e-03, -6.83967e-03, 2.97986e-04, ..., 2.47460e-04,
-1.68911e-04, -1.00459e-03],
[-6.77150e-03, -4.06687e-03, 6.03177e-03, ..., -3.96862e-04,
-2.06172e-04, -4.10152e-04],
[-3.92724e-03, -5.00796e-03, 1.78649e-03, ..., -1.14116e-04,
-1.69489e-04, -1.81635e-04]],
...,
[[ 1.46079e-04, 6.09599e-04, -5.22615e-05, ..., 4.18993e-03,
2.23943e-03, 3.15551e-03],
[ 1.20524e-04, 1.04892e-03, -6.96814e-05, ..., 2.71431e-03,
2.78738e-03, 1.59410e-03],
[-2.78686e-04, 1.39853e-03, 5.89008e-04, ..., -9.03532e-04,
5.08938e-03, -2.63719e-03],
...,
[-2.25329e-03, -3.61058e-03, -2.74124e-03, ..., 1.47048e-04,
8.87406e-04, 1.93982e-04],
[-3.22925e-03, -1.11346e-03, -1.49186e-03, ..., 5.58037e-04,
3.12548e-04, 1.26472e-04],
[-2.72583e-03, -1.62649e-03, 7.71325e-04, ..., 5.64435e-05,
1.26221e-04, 1.00377e-04]],
[[ 6.19570e-04, 2.07242e-04, -4.42678e-05, ..., 2.82329e-03,
2.07177e-03, 7.08337e-03],
[ 1.13080e-03, 2.04156e-04, -7.80651e-05, ..., 1.05377e-03,
3.49076e-03, -1.43967e-04],
[ 1.16754e-03, -7.78524e-04, -8.86256e-05, ..., -6.40768e-04,
4.42399e-03, -2.59127e-03],
...,
[ 2.85910e-03, -5.85029e-03, -4.96563e-05, ..., 3.67714e-05,
1.03792e-03, -2.99752e-04],
[ 3.72731e-04, -1.20484e-04, -1.98335e-03, ..., -3.92002e-04,
2.74474e-04, 4.25862e-05],
[-2.42671e-03, -1.63401e-03, 1.49482e-03, ..., -6.42568e-05,
9.97285e-05, 5.61145e-05]],
[[ 6.65368e-04, -2.01946e-04, -4.31663e-05, ..., -1.51081e-03,
3.58745e-03, 5.73239e-03],
[ 1.32565e-03, -6.54239e-04, -5.15338e-05, ..., -5.49995e-04,
7.68926e-03, 8.04550e-03],
[ 1.06385e-03, -1.67270e-03, 1.96820e-04, ..., 2.80930e-03,
8.42103e-03, 1.91552e-03],
...,
[ 1.01508e-03, -9.42748e-03, 2.64196e-03, ..., 5.02457e-04,
5.03686e-04, -8.05578e-05],
[ 2.13308e-03, -4.48214e-03, 5.45942e-04, ..., -3.26317e-04,
-7.04135e-05, 1.66443e-04],
[ 2.56357e-03, -2.87432e-03, 3.05933e-03, ..., -1.45364e-04,
4.97206e-05, 1.08526e-04]]],
[[[ 6.63459e-03, -3.35515e-03, 6.94036e-03, ..., -3.79334e-03,
-5.20396e-03, 1.60074e-03],
[ 9.12968e-03, -4.24501e-03, 5.72087e-03, ..., -2.87662e-03,
-2.94311e-03, -2.30287e-03],
[ 7.71626e-03, -5.33153e-03, 1.06202e-02, ..., 4.07760e-03,
2.07239e-04, 1.16365e-03],
...,
[ 7.50089e-03, -1.88444e-04, -9.76244e-03, ..., -6.40224e-03,
1.30336e-02, 2.51707e-03],
[ 3.41640e-03, -1.85320e-03, -8.50698e-03, ..., 7.82218e-04,
8.77716e-03, 9.86680e-04],
[ 1.62804e-03, -5.51346e-03, -1.04408e-02, ..., -1.43805e-04,
5.49236e-03, 6.13888e-04]],
[[ 9.18522e-03, -2.39649e-03, 5.42937e-03, ..., 4.54350e-06,
-4.35198e-04, 2.77533e-03],
[ 1.26161e-02, -2.56397e-03, 7.13035e-03, ..., 6.83402e-04,
2.32446e-03, 5.49769e-03],
[ 1.33491e-02, -2.92752e-03, 5.11994e-03, ..., 4.02520e-03,
-1.75561e-03, 7.93266e-03],
...,
[ 2.57144e-03, 5.54226e-03, -8.36271e-04, ..., 1.04328e-02,
1.18647e-02, 1.04717e-03],
[ 4.20046e-03, 2.48184e-03, 2.22748e-03, ..., 5.28343e-03,
4.11300e-03, 6.54708e-04],
[ 4.89127e-03, -4.26521e-03, -1.25767e-02, ..., 4.83700e-03,
2.83627e-03, 1.58301e-04]],
[[ 8.31052e-03, -2.25483e-03, 2.54388e-03, ..., 2.04109e-03,
5.58882e-03, 3.89907e-03],
[ 1.12922e-02, -2.67745e-03, 3.34965e-03, ..., -2.75791e-04,
-3.30270e-03, 5.21950e-03],
[ 1.51287e-02, -2.06695e-03, 5.61706e-03, ..., -6.24516e-03,
-1.39707e-02, 1.44056e-03],
...,
[-2.69243e-03, 2.81330e-03, 7.18403e-03, ..., 9.64746e-03,
9.70211e-03, 3.95776e-03],
[ 2.60669e-03, -6.74868e-04, 3.15880e-03, ..., 4.57116e-03,
2.57700e-03, 3.13410e-03],
[ 1.27703e-03, -7.73993e-05, -4.41206e-03, ..., 4.02852e-03,
1.14833e-03, 1.79569e-03]],
...,
[[-3.61441e-03, -1.76350e-03, 1.18551e-03, ..., 6.80576e-03,
2.65522e-03, -3.99760e-03],
[-5.77974e-03, -2.58588e-03, 1.97694e-03, ..., 8.45411e-03,
-1.90491e-03, -4.67282e-03],
[-1.03968e-02, 1.56374e-03, 1.59688e-03, ..., 8.07494e-03,
2.63055e-04, -6.57992e-04],
...,
[ 1.03356e-03, -3.56285e-03, -7.74122e-04, ..., -4.51301e-03,
-6.30615e-04, 2.52009e-03],
[-2.43491e-03, -2.53566e-03, -7.82242e-04, ..., -2.37345e-03,
1.29130e-03, 1.56723e-03],
[-3.74036e-03, -3.45972e-03, -3.09127e-03, ..., -2.52456e-03,
1.43749e-03, 1.32316e-03]],
[[ 4.75758e-04, -4.15461e-03, 3.68835e-03, ..., 5.37138e-03,
4.10378e-04, -2.16910e-03],
[ 1.58048e-04, -5.86699e-03, 4.95916e-03, ..., 4.37076e-03,
-1.48617e-03, -6.29675e-04],
[-4.47718e-03, -6.32151e-03, 5.71903e-03, ..., 1.85471e-03,
-3.10622e-03, -3.83292e-03],
...,
[-1.62463e-03, -8.66733e-03, -2.03918e-03, ..., -4.69594e-03,
8.57690e-04, 2.27585e-03],
[ 3.16994e-03, 1.21930e-03, 2.56341e-03, ..., -5.83068e-03,
5.80025e-03, 1.90197e-03],
[-5.28226e-03, -3.29871e-03, -5.09150e-04, ..., -3.77535e-03,
3.49550e-03, 1.03283e-03]],
[[ 3.08374e-03, -4.58880e-03, 6.01498e-03, ..., -1.39836e-03,
-1.98186e-03, -3.65677e-03],
[ 5.43264e-03, -6.30989e-03, 7.94584e-03, ..., -3.45779e-03,
-7.62210e-03, -5.34072e-03],
[-3.47941e-04, -8.57942e-03, 9.09232e-03, ..., -3.86993e-04,
-8.27551e-03, -1.25916e-02],
...,
[ 1.39829e-03, -1.04416e-02, -5.61518e-03, ..., -8.47328e-03,
9.27936e-03, 3.56798e-03],
[ 3.99406e-03, -3.24184e-03, -6.39648e-03, ..., -4.28876e-03,
9.30935e-03, 1.99104e-03],
[-6.00900e-03, -4.35234e-03, -4.53855e-03, ..., -3.87939e-03,
5.87688e-03, 1.34276e-03]]]], shape=(3, 20, 24, 15))
Averaging along x and z axis (1 and 3)
import numpy as np
mySimu.vel_averaged = np.mean(np.mean(mySimu.U, 3), 1)
Now plot the profile of the averaged first velocity component
import matplotlib.pyplot as plt
plt.figure()
plt.plot(mySimu.vel_averaged[0], mySimu.y[0, :, 0])
#Setting axis labels
plt.xlabel('U (m/s)')
plt.ylabel('y (m)')
# add grid
plt.grid()
# show figure
plt.show()

Total running time of the script: (0 minutes 0.597 seconds)