28 character*80 matname(*),slname,msname
30 integer i,j,imat,ncmat_,ntmat_,k,nope,nterms,iflag,
31 & kode,niso,id,nplkcon(0:ntmat_,*),npmat_,nelcon(2,*),
32 & iperturb(*),mi(*),node,noel,istep,iinc,npred
34 real*8 xl(3,10),ratio(9),q(3),val,shp2(7,9),ak(5),
35 & al(3),s(60,60),voldl(0:mi(2),10),pl(3,10),xn(3),dm,
36 & alpha,beta,elcon(0:ncmat_,ntmat_,*),xm(3),pressure,
37 & xi,et,xs2(3,7),t1l,elconloc(21),plconloc(802),xk,
38 & xiso(200),yiso(200),plkcon(0:2*npmat_,ntmat_,*),
39 & springarea,
dist,eps,pi,constant,conductance,dtemp,temp(2),
40 & predef(2),coords(3),tmean,d(2),timeend(2),flowm(2)
42 intent(in) xl,voldl,imat,elcon,nelcon,
43 & ncmat_,ntmat_,nope,kode,plkcon,
44 & nplkcon,npmat_,iperturb,mi,timeend,matname,
45 & node,noel,istep,iinc
47 intent(inout) s,springarea
53 if(iperturb(2).eq.0)
then 62 pl(j,i)=xl(j,i)+voldl(j,i)
85 call shape9q(xi,et,pl,xm,xs2,shp2,iflag)
86 elseif(nterms.eq.8)
then 87 call shape8q(xi,et,pl,xm,xs2,shp2,iflag)
88 elseif(nterms.eq.4)
then 89 call shape4q(xi,et,pl,xm,xs2,shp2,iflag)
90 elseif(nterms.eq.6)
then 91 call shape6tri(xi,et,pl,xm,xs2,shp2,iflag)
92 elseif(nterms.eq.7)
then 93 call shape7tri(xi,et,pl,xm,xs2,shp2,iflag)
95 call shape3tri(xi,et,pl,xm,xs2,shp2,iflag)
101 dm=dsqrt(xm(1)*xm(1)+xm(2)*xm(2)+xm(3)*xm(3))
108 val=al(1)*xn(1)+al(2)*xn(2)+al(3)*xn(3)
115 if(springarea.le.0.d0)
then 126 if(elcon(1,1,imat).gt.0.d0)
then 130 if(dabs(elcon(2,1,imat)).lt.1.d-30)
then 133 alpha=elcon(2,1,imat)
135 if(-beta*val.gt.23.d0-dlog(alpha))
then 136 beta=(dlog(alpha)-23.d0)/val
138 pressure=dexp(-beta*val+dlog(alpha))
145 eps=elcon(1,1,imat)*pi/elcon(2,1,imat)
146 pressure=-elcon(2,1,imat)*val*
147 & (0.5d0+datan(-val/eps)/pi)
156 t1l=t1l+ratio(j)*voldl(0,j)
158 dtemp=t1l-voldl(0,nope)
159 tmean=(voldl(0,nope)+t1l)/2.d0
164 & elconloc,kode,plkcon,nplkcon,npmat_,plconloc,ncmat_)
168 niso=int(plconloc(801))
176 temp(1)=voldl(0,nope)
181 call gapcon(ak,d,flowm,temp,predef,timeend,matname(imat),
182 & slname,msname,coords,noel,node,npred,istep,iinc,
187 xiso(i)=plconloc(2*i-1)
188 yiso(i)=plconloc(2*i)
190 call ident(xiso,pressure,niso,id)
194 elseif(id.eq.niso)
then 196 conductance=yiso(niso)
198 xk=(yiso(id+1)-yiso(id))/(xiso(id+1)-xiso(id))
199 conductance=yiso(id)+xk*(pressure-xiso(id))
205 constant=conductance*springarea
206 s(nope,nope)=constant
208 s(k,nope)=-shp2(4,k)*constant
212 s(i,j)=shp2(4,i)*shp2(4,j)*constant
subroutine ident(x, px, n, id)
Definition: ident.f:26
subroutine shape9q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape9q.f:20
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
subroutine shape3tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape3tri.f:20
subroutine shape7tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape7tri.f:20
subroutine gapcon(ak, d, flowm, temp, predef, time, ciname, slname, msname, coords, noel, node, npred, kstep, kinc, area)
Definition: gapcon.f:21
static double * dist
Definition: radflowload.c:42
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
subroutine materialdata_sp(elcon, nelcon, imat, ntmat_, i, t1l, elconloc, kode, plicon, nplicon, npmat_, plconloc, ncmat_)
Definition: materialdata_sp.f:20
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20
subroutine attach(pneigh, pnode, nterms, ratio, dist, xil, etl)
Definition: attach.f:20