trevert to old limits for phi, add verbose flag to permeability prefactor function - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
 (HTM) git clone git://src.adamsgaard.dk/sphere
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit f7201db24191523cbc2184e50143d4de1b57a463
 (DIR) parent 94c094a97a9c0074f5083eb4ede142deaa2221c8
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Mon, 24 Nov 2014 14:43:24 +0100
       
       revert to old limits for phi, add verbose flag to permeability prefactor function
       
       Diffstat:
         M python/sphere.py                    |      21 +++++++++++----------
         M src/darcy.cuh                       |       7 ++++---
       
       2 files changed, 15 insertions(+), 13 deletions(-)
       ---
 (DIR) diff --git a/python/sphere.py b/python/sphere.py
       t@@ -3125,7 +3125,7 @@ class sim:
                '''
                self.bc_top[0] = 0
        
       -    def setPermeabilityPrefactor(self, k_c):
       +    def setPermeabilityPrefactor(self, k_c, verbose=True):
                '''
                Set the permeability prefactor from Goren et al 2011, eq. 24. The
                function will print the limits of permeabilities to be simulated. This
       t@@ -3136,15 +3136,16 @@ class sim:
                '''
                if self.cfd_solver[0] == 1:
                    self.k_c[0] = k_c
       -            phi = numpy.array([0.1, 0.35, 0.9])
       -            k = self.k_c * phi**3/(1.0 - phi**2)
       -            K = k * self.rho_f*numpy.abs(self.g[2])/self.mu
       -            print('Hydraulic permeability limits for porosity phi = ' + \
       -                    str(phi) + ':')
       -            print('\tk = ' + str(k) + ' m*m')
       -            print('Hydraulic conductivity limits for porosity phi = ' + \
       -                    str(phi) + ':')
       -            print('\tK = ' + str(K) + ' m/s')
       +            if verbose:
       +                phi = numpy.array([0.1, 0.35, 0.9])
       +                k = self.k_c * phi**3/(1.0 - phi**2)
       +                K = k * self.rho_f*numpy.abs(self.g[2])/self.mu
       +                print('Hydraulic permeability limits for porosity phi = ' + \
       +                        str(phi) + ':')
       +                print('\tk = ' + str(k) + ' m*m')
       +                print('Hydraulic conductivity limits for porosity phi = ' + \
       +                        str(phi) + ':')
       +                print('\tK = ' + str(K) + ' m/s')
                else:
                    raise Exception('setPermeabilityPrefactor() only relevant for the '
                            + 'Darcy solver (cfd_solver = 1)')
 (DIR) diff --git a/src/darcy.cuh b/src/darcy.cuh
       t@@ -475,8 +475,8 @@ __global__ void findDarcyPorosities(
                    //}
        
                    // Make sure that the porosity is in the interval [0.0;1.0]
       -            //phi = fmin(0.9, fmax(0.1, void_volume/cell_volume));
       -            phi = fmin(0.99, fmax(0.01, void_volume/cell_volume));
       +            phi = fmin(0.9, fmax(0.1, void_volume/cell_volume));
       +            //phi = fmin(0.99, fmax(0.01, void_volume/cell_volume));
                    //phi = void_volume/cell_volume;
        
                    /*Float dphi = phi - phi_0;
       t@@ -484,7 +484,8 @@ __global__ void findDarcyPorosities(
                        dphi = 0.0;*/
        
                    const Float dphi =
       -                (1.0 - fmin(phi_0,0.99))*dot_epsilon_kk*ndem*devC_dt;
       +                (1.0 - fmin(phi_0, 0.9))*dot_epsilon_kk*ndem*devC_dt;
       +                //(1.0 - fmin(phi_0,0.99))*dot_epsilon_kk*ndem*devC_dt;
        
                    // report values to stdout for debugging
                    //printf("%d,%d,%d\tphi = %f dphi = %f\n", x,y,z, phi, dphi);