condition unpack routines on BC for halo
This commit is contained in:
37
example/Workflow/ComputeSaturation.py
Executable file
37
example/Workflow/ComputeSaturation.py
Executable file
@@ -0,0 +1,37 @@
|
||||
import sys
|
||||
import numpy as np
|
||||
import matplotlib.pylab as plt
|
||||
|
||||
FILENAME=sys.argv[1]
|
||||
Nx=int(sys.argv[2])
|
||||
Ny=int(sys.argv[3])
|
||||
Nz=int(sys.argv[4])
|
||||
|
||||
# read the input image
|
||||
Output = np.fromfile(FILENAME,dtype = np.uint8)
|
||||
Output.shape = (Nz,Ny,Nx)
|
||||
|
||||
Oil=np.count_nonzero(Output==1)
|
||||
Water=np.count_nonzero(Output==2)
|
||||
Sw=Water/(Oil+Water)
|
||||
|
||||
Porosity=1.0-(Oil+Water)/(Nx*Ny*Nz)
|
||||
|
||||
print(FILENAME,"Porosity=", Porosity)
|
||||
|
||||
SaturationProfile=np.zeros(Nz)
|
||||
PorosityProfile=np.zeros(Nz)
|
||||
# Compute saturation slice by slice
|
||||
for idx in range(0, Nz):
|
||||
Slice = Output[idx,:,:]
|
||||
Oil=np.count_nonzero(Slice==1)
|
||||
Water=np.count_nonzero(Slice==2)
|
||||
SaturationProfile[idx]=Water/(Oil+Water)
|
||||
PorosityProfile[idx]=(Oil+Water)/(Nx*Ny)
|
||||
|
||||
|
||||
plt.figure()
|
||||
plt.plot(SaturationProfile)
|
||||
plt.xlabel('Position (z)')
|
||||
plt.ylabel('Water Saturation')
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user