[CIG-MC] CitcomCU stress dependent rheology

Eh Tan tan2 at mail.utexas.edu
Sun Mar 21 22:13:48 PDT 2010


On 3/19/10 8:29 AM, Ethan Fahy wrote:
> Hello Eh,
>
> In the CitcomCU readme it says to be careful using stress dependent
> rheology, and indeed when I turn it on and set the stress exponents to
> anything other than 1.0 lots of nans come up in the screen output.  I
> have seen in multiple papers the use of a lower activation energy to
> mimic the effects of stress dependent rheology.  Is true stress
> dependent rheology in CitcomCU something that has been done
> successfully?  If so are there any hints you might be able to give me
> to get it working correctly?  Thanks very much.
>
> -Ethan
>    

Hi Ethan,
(cc to cig-mc)

The non-newtonian solver in CitcomCU-1.0.3 has a bug. Magali Billen 
reported the bug to me off-list in November. The bug was fixed in the 
repository, but I forgot to announce it to the mailing list. I am sorry 
about it.

Here is the fix of the bug in diff format.

--- Drive_solvers.c     (revision 16060)
+++ Drive_solvers.c     (revision 16061)
@@ -77,15 +77,15 @@
               damp = 0;
             }
           } /* end powerlaw */
-               oldU = (double *)malloc((neq + 2) * sizeof(double));
-               for(i = 1; i <= neq; i++)
+               oldU = (double *)malloc(neq * sizeof(double));
+               for(i = 0; i < neq; i++)
                         oldU[i] = 0.0;
                 visits++;
         }

         dUdot_mag = 0.0;

-       delta_U = (double *)malloc((neq + 2) * sizeof(double));
+       delta_U = (double *)malloc(neq * sizeof(double));

         /* FIRST store the old velocity field */

@@ -124,10 +124,10 @@

                   if(damp){
                     /* add some of the old solution */
-                   for(i = 1; i <= neq; i++)
+                   for(i = 0; i < neq; i++)
                       E->U[i] = alpha * E->U[i] + alpha1 * oldU[i];
                   }
-                       for(i = 1; i <= neq; i++)
+                       for(i = 0; i < neq; i++)
                         {
                                 delta_U[i] = E->U[i] - oldU[i];
                                 oldU[i] = E->U[i];

-- 
Eh Tan
-------
Postdoctoral Fellow
Institute of Geophysics
University of Texas, Austin
J.J. Pickle Research Campus, Bldg 196 (ROC)
10100 Burnet Rd. (R2200),
Austin, TX 78758-4445
(512) 475-9568
	



More information about the CIG-MC mailing list