Introduction
Introduction Statistics Contact Development Disclaimer Help
twrite hydraulic conductivities to VTK files - sphere - GPU-based 3D discrete e…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 0aca99cb20d1d509490e3c02a50b71aee6742ddf
parent 8119b65511e8027e7919c4fe3ece55ec0def60b6
Author: Anders Damsgaard <[email protected]>
Date: Wed, 12 Nov 2014 11:47:50 +0100
write hydraulic conductivities to VTK files
Diffstat:
M python/sphere.py | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/python/sphere.py b/python/sphere.py
t@@ -1871,6 +1871,15 @@ class sim:
else:
k.SetNumberOfTuples(grid.GetNumberOfPoints())
+ self.findHydraulicConductivities()
+ K = vtk.vtkDoubleArray()
+ K.SetName("Conductivity [m/s]")
+ K.SetNumberOfComponents(1)
+ if cell_centered:
+ K.SetNumberOfTuples(grid.GetNumberOfCells())
+ else:
+ K.SetNumberOfTuples(grid.GetNumberOfPoints())
+
# insert values
for z in range(self.num[2]):
for y in range(self.num[1]):
t@@ -1883,6 +1892,7 @@ class sim:
Re.SetValue(idx, self.Re[x,y,z])
if self.cfd_solver[0] == 1:
k.SetValue(idx, self.k[x,y,z])
+ K.SetValue(idx, self.K[x,y,z])
# add pres array to grid
if cell_centered:
t@@ -1893,6 +1903,7 @@ class sim:
grid.GetCellData().AddArray(Re)
if self.cfd_solver[0] == 1:
grid.GetCellData().AddArray(k)
+ grid.GetCellData().AddArray(K)
else:
grid.GetPointData().AddArray(pres)
grid.GetPointData().AddArray(vel)
t@@ -1901,6 +1912,7 @@ class sim:
grid.GetPointData().AddArray(Re)
if self.cfd_solver[0] == 1:
grid.GetPointData().AddArray(k)
+ grid.GetPointData().AddArray(K)
# write VTK XML image data file
writer = vtk.vtkXMLImageDataWriter()
t@@ -3150,6 +3162,22 @@ class sim:
raise Exception('findPermeabilities() only relevant for the '
+ 'Darcy solver (cfd_solver = 1)')
+ def findHydraulicConductivities(self):
+ '''
+ Calculates the hydrological conductivities from the Kozeny-Carman
+ relationship. These values are only relevant when the Darcy solver is
+ used (`self.cfd_solver = 1`). The permeability pre-factor `self.k_c`
+ and the assemblage porosities must be set beforehand. The former values
+ are set if a file from the `output/` folder is read using
+ `self.readbin`.
+ '''
+ if self.cfd_solver[0] == 1:
+ self.findPermeabilities()
+ self.K = self.k*self.rho_f*g/self.mu
+ else:
+ raise Exception('findPermeabilities() only relevant for the '
+ + 'Darcy solver (cfd_solver = 1)')
+
def defaultParams(self,
mu_s = 0.5,
mu_d = 0.5,
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.