| 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, |