33 SUBROUTINE fxgrvcor(FXBIPM, FXBGRVI , A , IGRV, AGRV,
34 . NPC , TF , MS , V , SKEW,
35 . FXBGRW, IAD_ELEM, FR_ELEM, WFEXT,python)
36 use python_funct_mod,
only : python_
37 use finter_mixed_mod,
only : finter_mixed
41#include "implicit_f.inc"
54 INTEGER FXBIPM(NBIPM,*), FXBGRVI(*), IGRV(NIGRV,*), NPC(*), IAD_ELEM(2,*), FR_ELEM(*)
55 my_real A(3,*), AGRV(LFACGRV,*), TF(*), MS(*), V(3,*), SKEW(LSKEW,*), FXBGRW(*)
56 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
57 TYPE(python_),
intent(inout) :: python
61 INTEGER NFX, NLG, AGRVI, IADG, IG, NL, NNO, ISK, N2, N1, IFUNC,
62 . I, K1, K2, K3, IAGRV(NUMNOD), J, JJ
64 . fi0, fi, dydx, wfextt, vv
86 nl=fxbgrvi(agrvi+iadg)
87 nno=fxbgrvi(agrvi+iadg+1)
92 fi0=agrv(1,nl)*finter_mixed(python,nfunct,ifunc,(tt-dt1)*agrv(2,nl),npc,tf)
93 fi =agrv(1,nl)*finter_mixed(python,nfunct,ifunc,tt*agrv(2,nl),npc,tf)
100 n1=fxbgrvi(agrvi+iadg+i+1)
102 wfextt=wfextt+half*(fi0+fi)*ms(n1)*v(n2,n1)*dt1
110 n1=fxbgrvi(agrvi+iadg+i+1)
111 vv = skew(k1,isk)*v(1,n1)+skew(k2,isk)*v(2,n1)+
112 . skew(k3,isk)*v(3,n1)
113 a(1,n1)=a(1,n1)-skew(k1,isk)*fi
114 a(2,n1)=a(2,n1)-skew(k2,isk)*fi
115 a(3,n1)=a(3,n1)-skew(k3,isk)*fi
116 wfextt=wfextt+half*(fi0+fi)*ms(n1)*vv*dt1/iagrv(n1)
121 wfext=wfext-wfextt+fxbgrw(nfx)
subroutine fxgrvcor(fxbipm, fxbgrvi, a, igrv, agrv, npc, tf, ms, v, skew, fxbgrw, iad_elem, fr_elem, wfext, python)