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()
plot using openfoamsimu

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

Gallery generated by Sphinx-Gallery