31 character*80 matname(*),slname,msname
33 integer i,j,imat,ncmat_,ntmat_,k,nope,iflag,npred,
34 & kode,niso,id,nplicon(0:ntmat_,*),npmat_,nelcon(2,*),
35 & nmethod,mi(*),node,noel,jfaces,igauss,nopem,nopes,nopep,
36 & nplkcon(0:ntmat_,*),istep,iinc
38 real*8 xl(3,19),pproj(3),shp2m(7,9),ak(5),
39 & al(3),s(60,60),voldl(0:mi(2),19),pl(3,19),xn(3),
40 & alpha,beta,elcon(0:ncmat_,ntmat_,*),xm(3),
41 & xi,et,dpresdoverlap,xs2(3,7),elconloc(21),plconloc(802),
42 & xk,temp(2),xiso(20),yiso(20),plicon(0:2*npmat_,ntmat_,*),d(2),
43 & springarea(2),overlap,clear,timeend(2),reltime,
44 & xsj2s(3),xs2s(3,7),shp2s(7,9),weight,pslavsurf(3,*),
45 & pmastsurf(6,*),clearini(3,9,*),t1ls,t1lm,tmean,predef(2),
46 & plkcon(0:2*npmat_,ntmat_,*),pressure,dtemp,flowm(2),
47 & constant,coords(3),conductance
49 intent(in) xl,voldl,imat,elcon,nelcon,
50 & ncmat_,ntmat_,nope,lakonl,kode,plicon,
51 & nplicon,npmat_,springarea,nmethod,mi,
52 & reltime,jfaces,igauss,pslavsurf,pmastsurf,clearini,matname,
53 & plkcon,nplkcon,node,noel,istep,iinc
55 intent(inout) s,elconloc
61 read(lakonl(8:8),
'(i1)') nopem
72 pl(j,i)=xl(j,i)+voldl(j,i)
78 pl(j,i)=xl(j,i)+voldl(j,i)+clearini(j,i-nopem,jfaces)
85 read(lakonl(8:8),
'(i1)') nopem
88 xi=pslavsurf(1,igauss)
89 et=pslavsurf(2,igauss)
90 weight=pslavsurf(3,igauss)
93 call shape9q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
94 elseif(nopes.eq.8)
then 95 call shape8q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
96 elseif(nopes.eq.4)
then 97 call shape4q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
98 elseif(nopes.eq.6)
then 99 call shape6tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
100 elseif(nopes.eq.7)
then 101 call shape7tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
103 call shape3tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
114 pl(k,nopep)=pl(k,nopep)+shp2s(4,j)*pl(k,nopem+j)
116 t1ls=t1ls+shp2s(4,j)*voldl(0,nopem+j)
119 xi=pmastsurf(1,igauss)
120 et=pmastsurf(2,igauss)
125 call shape9q(xi,et,pl,xm,xs2,shp2m,iflag)
126 elseif(nopem.eq.8)
then 127 call shape8q(xi,et,pl,xm,xs2,shp2m,iflag)
128 elseif(nopem.eq.4)
then 129 call shape4q(xi,et,pl,xm,xs2,shp2m,iflag)
130 elseif(nopem.eq.6)
then 131 call shape6tri(xi,et,pl,xm,xs2,shp2m,iflag)
132 elseif(nopem.eq.7)
then 133 call shape7tri(xi,et,pl,xm,xs2,shp2m,iflag)
135 call shape3tri(xi,et,pl,xm,xs2,shp2m,iflag)
144 pproj(i)=pproj(i)+shp2m(4,j)*pl(i,j)
146 t1lm=t1lm+shp2m(4,j)*voldl(0,j)
150 al(i)=pl(i,nopep)-pproj(i)
155 xn(1)=pmastsurf(4,igauss)
156 xn(2)=pmastsurf(5,igauss)
157 xn(3)=pmastsurf(6,igauss)
161 clear=al(1)*xn(1)+al(2)*xn(2)+al(3)*xn(3)
162 if(nmethod.eq.1)
then 163 clear=clear-springarea(2)*(1.d0-reltime)
168 if(int(elcon(3,1,imat)).eq.1)
then 172 if(dabs(elcon(2,1,imat)).lt.1.d-30)
then 175 alpha=elcon(2,1,imat)
177 if(-beta*clear.gt.23.d0-dlog(alpha))
then 178 beta=(dlog(alpha)-23.d0)/clear
180 pressure=dexp(-beta*clear+dlog(alpha))
182 elseif((int(elcon(3,1,imat)).eq.2).or.
183 & (int(elcon(3,1,imat)).eq.4))
then 187 pressure=-elcon(2,1,imat)*clear
188 elseif(int(elcon(3,1,imat)).eq.3)
then 195 & elconloc,kode,plicon,nplicon,npmat_,plconloc,ncmat_)
197 niso=int(plconloc(81))
199 xiso(i)=plconloc(2*i-1)
200 yiso(i)=plconloc(2*i)
202 call ident(xiso,overlap,niso,id)
205 elseif(id.eq.niso)
then 208 dpresdoverlap=(yiso(id+1)-yiso(id))/(xiso(id+1)-xiso(id))
209 pressure=yiso(id)+dpresdoverlap*(overlap-xiso(id))
218 tmean=(t1lm+t1ls)/2.d0
223 & elconloc,kode,plkcon,nplkcon,npmat_,plconloc,ncmat_)
227 niso=int(plconloc(801))
240 coords(k)=coords(k)+shp2s(4,j)*xl(k,nopem+j)
243 call gapcon(ak,d,flowm,temp,predef,timeend,matname(imat),
244 & slname,msname,coords,noel,node,npred,istep,iinc,
249 xiso(i)=plconloc(2*i-1)
250 yiso(i)=plconloc(2*i)
252 call ident(xiso,pressure,niso,id)
256 elseif(id.eq.niso)
then 258 conductance=yiso(niso)
260 xk=(yiso(id+1)-yiso(id))/(xiso(id+1)-xiso(id))
261 conductance=yiso(id)+xk*(pressure-xiso(id))
267 constant=conductance*springarea(1)
271 s(i,j)=shp2m(4,i)*shp2m(4,j)*constant
277 s(i,nopem+j)=-shp2m(4,i)*shp2s(4,j)*constant
283 s(nopem+i,nopem+j)=shp2s(4,i)*shp2s(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
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