[cig-commits] commit: Remove frictionplaneeigenstress since it is never used.
Mercurial
hg at geodynamics.org
Thu May 10 13:59:42 PDT 2012
changeset: 96:094204a4ef99
tag: tip
user: Walter Landry <wlandry at caltech.edu>
date: Thu May 10 13:59:07 2012 -0700
files: src/friction3d.f90
description:
Remove frictionplaneeigenstress since it is never used.
diff -r b5130569e265 -r 094204a4ef99 src/friction3d.f90
--- a/src/friction3d.f90 Thu May 10 07:11:16 2012 -0700
+++ b/src/friction3d.f90 Thu May 10 13:59:07 2012 -0700
@@ -30,153 +30,6 @@ MODULE friction3d
REAL*8, PRIVATE, PARAMETER :: pid2 = 1.57079632679489655799898173427209258079_8
CONTAINS
-
- !-----------------------------------------------------------------
- !> subroutine FrictionPlaneExpEigenStress
- !!
- !! *** this function is deprecated ***
- !
- ! compute the eigen-stress (forcing moment) to be relaxed by
- ! rate-dependent inelastic deformation in the case of a frictional
- ! surface:
- !
- ! sigma^i = C:F:sigma
- !
- ! where C is the elastic moduli tensor, F is the heterogeneous
- ! fluidity moduli tensor and sigma is the instantaneous stress
- ! tensor. for a frictional surface, the eigenstrain-rate is given
- ! by
- !
- ! epsilon^i^dot = F:sigma = gamma^dot R
- !
- ! where gamma^dot is the slip rate (a scalar) and R is the
- ! deviatoric, symmetric, and unitary, tensor:
- !
- ! R_ij = 1/2 ( t_i n_j + t_j n_i ) / sqrt( t_j t_j )
- !
- ! where the shear traction t_i is the projection of the traction
- ! vector on the plane surface. the strain amplitude is given by
- !
- ! gamma^dot = vo sinh( taus / (t_c )
- !
- ! where taus is the effective shear on the fault plane,
- !
- ! taus = tau + mu*sigma
- !
- ! where tau is the shear and sigma the normal stress. tau and sigma
- ! assumed to be the co-seismic change only, not the absolute
- ! stress. vo is a reference slip velocity, and t_c, the critical
- ! stress, corresponds to (a-b)*sigma in the framework of rate-and-
- ! state friction. the effective viscosity eta* and the fluidity
- !
- ! eta* = tau / gamma^dot
- ! fluidity = 1 / eta*
- !
- ! are used to compute the optimal time-step.
- !
- ! sylvain barbot (07/24/07) - original form
- ! (07/24/07) - deprecated (see frictioneigenstress)
- !-----------------------------------------------------------------
- SUBROUTINE frictionplaneeigenstress(sig,mu,structure, &
- n1,n2,n3,sx1,sx2,sx3,dx1,dx2,dx3,moment,maxwelltime,gamma,dt)
- INTEGER, INTENT(IN) :: sx1,sx2,sx3
- REAL*8, INTENT(IN) :: mu,dx1,dx2,dx3
- TYPE(LAYER_STRUCT), DIMENSION(:), INTENT(IN) :: structure
- TYPE(TENSOR), INTENT(IN), DIMENSION(sx1,sx2,sx3) :: sig
- TYPE(TENSOR), INTENT(INOUT), DIMENSION(sx1,sx2,sx3) :: moment
- REAL*8, OPTIONAL, INTENT(INOUT) :: maxwelltime
-#ifdef ALIGN_DATA
- REAL*4, INTENT(IN), DIMENSION(sx1+2,sx2,sx3) :: n1,n2,n3
- REAL*4, INTENT(OUT), DIMENSION(sx1+2,sx2,sx3), OPTIONAL :: gamma
-#else
- REAL*4, INTENT(IN), DIMENSION(sx1,sx2,sx3) :: n1,n2,n3
- REAL*4, INTENT(OUT), DIMENSION(sx1,sx2,sx3), OPTIONAL :: gamma
-#endif
- REAL*8, INTENT(IN), OPTIONAL :: dt
-
- INTEGER :: i1,i2,i3
- TYPE(TENSOR) :: s
- REAL*8, DIMENSION(3) :: t,ts,n
- REAL*8 :: vo,taue,tauc,taun,taus,gammadot,impulse, &
- friction,tau,scaling,cohesion
-
- ! delta function scaling
- scaling=sqrt(pi2)*dx1
-
- DO i3=1,sx3
-
- vo=structure(i3)%gammadot0
- tauc=structure(i3)%stressexponent
- friction=structure(i3)%friction
- cohesion=structure(i3)%cohesion
-
- DO i2=1,sx2
- DO i1=1,sx1
- n=(/ DBLE(n1(i1,i2,i3)),DBLE(n2(i1,i2,i3)),DBLE(n3(i1,i2,i3))/)
- impulse=sqrt(sum(n*n))
-
- IF (impulse .LE. 0.01_8/dx1) CYCLE
-
- ! discrete delta function impulse
- n=n/impulse
-
- ! traction = sigma . n
- s=sig(i1,i2,i3)
- t=s .tdot. n
-
- ! signed normal component
- taun=SUM(t*n)
-
- ! absolute value of shear component
- ts=t-taun*n
- taus=SQRT(SUM(ts*ts))
-
- ! effective shear stress on fault plane
- tau=taus+friction*taun
-
- ! warning for wrong input
- IF ((tau/tauc) .gt. 20) THEN
- WRITE_DEBUG_INFO
- WRITE (0,'("------------------------------------------")')
- WRITE (0,'("wrong value of (a-b)sigma gives rise to")')
- WRITE (0,'("(a-b)sigma=",3ES11.3E2)') tauc
- WRITE (0,'("tau=",3ES11.3E2)') tau
- WRITE (0,'("taus=",3ES11.3E2)') taus
- WRITE (0,'("taun=",3ES11.3E2)') taun
- WRITE (0,'("tau/((a-b)sigma)=",3ES11.3E2)') tau/tauc
- WRITE (0,'("------------------------------------------")')
- STOP 5
- END IF
-
- ! effective stress
- taue=tau-cohesion
-
- ! yield surface test
- IF ((0._8 .GE. taus) .OR. (taue .LE. 1e-8)) CYCLE
-
- ! shear traction direction
- ts=ts/taus
-
- ! deviatoric strain rate
- gammadot=vo*2*my_sinh(taue/tauc)
-
- IF (PRESENT(maxwelltime)) &
- maxwelltime=MIN(maxwelltime,taue/mu/gammadot)
-
- ! provide the strain-rate on request
- IF (PRESENT(gamma)) THEN
- gamma(i1,i2,i3)=REAL(gamma(i1,i2,i3)+gammadot*impulse*scaling*dt)
- END IF
-
- ! deviatoric strain
- moment(i1,i2,i3)=moment(i1,i2,i3) .plus. &
- (ts .sdyad. ((2._8*mu*impulse*gammadot)*n))
-
- END DO
- END DO
- END DO
-
- END SUBROUTINE frictionplaneeigenstress
!-----------------------------------------------------------------
!> subroutine FrictionEigenStress
More information about the CIG-COMMITS
mailing list