[cig-commits] r5337 - short/3D/PyLith/branches/pylith-0.8/pylith3d/libpylith3d

willic3 at geodynamics.org willic3 at geodynamics.org
Tue Nov 21 14:20:41 PST 2006


Author: willic3
Date: 2006-11-21 14:20:41 -0800 (Tue, 21 Nov 2006)
New Revision: 5337

Modified:
   short/3D/PyLith/branches/pylith-0.8/pylith3d/libpylith3d/mat_7.f
Log:
Changed relaxation time definitions, but still not sure it's correct.


Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/libpylith3d/mat_7.f
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/libpylith3d/mat_7.f	2006-11-21 21:41:05 UTC (rev 5336)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/libpylith3d/mat_7.f	2006-11-21 22:20:41 UTC (rev 5337)
@@ -276,13 +276,14 @@
       do i=1,3
         rmue=prop(2*(i-1)+4)*rmu
         vise=prop(2*(i-1)+5)
-        if(rmue.ne.zero) tmax=min(tmax,vise/rmue)
+ctest        if(rmue.ne.zero) tmax=min(tmax,two*vise/rmue)
+        if(rmue.ne.zero) tmax=min(tmax,two*vise/rmue)
       end do
       return
       end
 c
 c
-      function compdq(deltp,vis,rmu)
+      function compdq(deltp,vis,tau)
 c
 c...  function to compute the viscous state variable increment delta-q.
 c
@@ -298,7 +299,7 @@
 c
 c...  subroutine arguments
 c
-      double precision compdq,deltp,vis,rmu
+      double precision compdq,deltp,vis,tau
 c
 c...  intrinsic functions
 c
@@ -307,11 +308,10 @@
 c...  local variables
 c
       integer i
-      double precision tau,fsign,fac,frac
+      double precision fsign,fac,frac
 c
       compdq=zero
-      if(rmu.eq.zero) return
-      tau=vis/rmu
+      if(tau.eq.zero) return
       if(tau.lt.tfrac*deltp) then
         fsign=one
         fac=one
@@ -374,7 +374,7 @@
 c
       integer i
       double precision sfrac,frac0,e,pr,rmu,rmue,vise,bulkm,sfac,shfac
-      double precision rmut
+      double precision rmut,tau
 c
 c...  included variable definitions
 c
@@ -409,9 +409,11 @@
         rmue=prop(2*(i-1)+4)
         rmut=rmu*rmue
         vise=prop(2*(i-1)+5)
+        tau=zero
         if(rmue.ne.zero) then
-          tmax=min(tmax,vise/rmut)
-          shfac=shfac+rmue*compdq(deltp,vise,rmut)
+          tau=two*vise/rmut
+          tmax=min(tmax,tau)
+          shfac=shfac+rmue*compdq(deltp,vise,tau)
         end if
       end do
 c
@@ -518,9 +520,9 @@
         vise=prop(2*(i-1)+5)
         rtime(i)=zero
         if(rmue.ne.zero) then
-          rtime(i)=vise/rmut
+          rtime(i)=two*vise/rmut
           tmax=min(tmax,rtime(i))
-          dq(i)=compdq(deltp,vise,rmut)
+          dq(i)=compdq(deltp,vise,rtime(i))
         end if
       end do
 c
@@ -533,7 +535,6 @@
         sdevtdt=frac0*edevtdt
         do j=1,3
           rmue=prop(2*(j-1)+4)
-          vise=prop(2*(j-1)+5)
           if(rmue.ne.zero) then
             ind=i+12+nstr*(j-1)
             dstate(ind)=state(ind)*exp(-deltp/rtime(j))+dq(j)*deltae



More information about the cig-commits mailing list