URI: 
       tIntroduce new variables for transient dynamics - cngf-pf - continuum model for granular flows with pore-pressure dynamics (renamed from 1d_fd_simple_shear)
  HTML git clone git://src.adamsgaard.dk/cngf-pf
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 57ec0c00034da7759ef7a84e9e9ba33efd98b1ad
   DIR parent d808b3f1328fbb79c15780d77112b676320c51d5
  HTML Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Fri,  3 Apr 2020 16:51:53 +0200
       
       Introduce new variables for transient dynamics
       
       Diffstat:
         M simulation.c                        |      24 ++++++++++++++++++------
         M simulation.h                        |       7 +++++--
       
       2 files changed, 23 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/simulation.c b/simulation.c
       t@@ -14,17 +14,24 @@ prepare_arrays()
                                        sim.nz);
                        exit(1);
                }
       +
       +        free(sim.phi);
       +        free(sim.phi_c);
       +        free(sim.phi_dot);
       +        free(sim.k);
       +
                sim.z = linspace(sim.origo_z,    /* spatial coordinates */
       -                          sim.origo_z + sim.L_z,
       -                          sim.nz);
       +                         sim.origo_z + sim.L_z,
       +                         sim.nz);
                sim.dz = sim.z[1] - sim.z[0];    /* cell spacing */
                sim.mu = zeros(sim.nz);          /* stress ratio */
       +        sim.mu_c = zeros(sim.nz);        /* critical-state stress ratio */
                sim.sigma_n_eff = zeros(sim.nz); /* effective normal stress */
                sim.sigma_n = zeros(sim.nz);     /* normal stess */
                sim.p_f_ghost = zeros(sim.nz+2); /* fluid pressure with ghost nodes */
       -        free(sim.phi);
                sim.phi = zeros(sim.nz);         /* porosity */
       -        free(sim.k);
       +        sim.phi_c = zeros(sim.nz);       /* critical-state porosity */
       +        sim.phi_dot = zeros(sim.nz);     /* rate of porosity change */
                sim.k = zeros(sim.nz);           /* permeability */
                sim.xi = zeros(sim.nz);          /* cooperativity length */
                sim.gamma_dot_p = zeros(sim.nz); /* shear velocity */
       t@@ -32,6 +39,7 @@ prepare_arrays()
                sim.g_ghost = zeros(sim.nz+2);   /* fluidity with ghost nodes */
                sim.I = zeros(sim.nz);           /* inertia number */
                sim.tau = zeros(sim.nz);         /* shear stress */
       +        sim.tan_psi = zeros(sim.nz);     /* tan(dilatancy_angle) */
        }
        
        void
       t@@ -39,17 +47,21 @@ free_arrays()
        {
                free(sim.z);
                free(sim.mu);
       +        free(sim.mu_c);
                free(sim.sigma_n_eff);
                free(sim.sigma_n);
                free(sim.p_f_ghost);
                free(sim.k);
                free(sim.phi);
       +        free(sim.phi_c);
       +        free(sim.phi_dot);
                free(sim.xi);
                free(sim.gamma_dot_p);
                free(sim.v_x);
                free(sim.g_ghost);
                free(sim.I);
                free(sim.tau);
       +        free(sim.tan_psi);
        }
        
        static void
       t@@ -335,7 +347,7 @@ compute_permeability()
        
        /* NEW FUNCTIONS END */
        
       -void
       +/*void
        compute_friction()
        {
                int i;
       t@@ -348,7 +360,7 @@ compute_friction()
                                sim.mu[i] = sim.mu_wall/
                                             (1.0 + (1.0 - sim.phi[i])*sim.rho_s*sim.G*
                                             (sim.L_z - sim.z[i])/sim.P_wall);
       -}
       +}*/
        
        double
        shear_strain_rate_plastic(const double fluidity, const double friction)
   DIR diff --git a/simulation.h b/simulation.h
       t@@ -98,20 +98,23 @@ struct simulation {
        
                /* arrays */
                double* mu;           /* static yield friction [-] */
       +        double* mu_c;         /* critical-state static yield friction [-] */
                double* sigma_n_eff;  /* effective normal pressure [Pa] */
                double* sigma_n;      /* normal stress [Pa] */
                double* p_f_ghost;    /* fluid pressure [Pa] */
                double* k;            /* hydraulic permeability [m^2] */
                double* phi;          /* porosity [-] */
       +        double* phi_c;        /* critical-state porosity [-] */
       +        double* phi_dot;      /* porosity change [s^-1] */
                double* xi;           /* cooperativity length */
       -        double* gamma_dot_p;  /* plastic shear strain rate [1/s] */
       +        double* gamma_dot_p;  /* plastic shear strain rate [s^-1] */
                double* v_x;          /* shear velocity [m/s] */
                double* g_ghost;      /* fluidity with ghost nodes */
                double* I;            /* inertia number [-] */
                double* tau;          /* shear stress [Pa] */
       +        double* tan_psi;      /* tan(dilatancy_angle) [-] */
        };
        
       -
        void prepare_arrays();
        void free_arrays();