URI:
       twrite hydraulic conductivities to VTK files - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
   DIR commit 0aca99cb20d1d509490e3c02a50b71aee6742ddf
   DIR parent 8119b65511e8027e7919c4fe3ece55ec0def60b6
  HTML Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       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(-)
       ---
   DIR 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,