29 integer i,j,k,ne,icalccg,ipkon(*),nope,konl(20),kon(*),two,id,
30 & nrhcon(*),ntmat_,nelem,indexe,imat,mi(*),ielmat(mi(3),*),
33 real*8 xi,et,ze,weight,xl(3,20),shp(4,20),xsj,rho,cgr(4,*),
34 & t0l,t0(*),rhcon(0:1,ntmat_,*),physcon(*),co(3,*),dd,bodyf(3),
37 intent(in) ne,ipkon,lakon,kon,t0,co,rhcon,
38 & nrhcon,ntmat_,physcon,nelem,ielmat,ithermal,
41 intent(inout) bodyf,cgr,icalccg
52 if(ipkon(i).lt.0) cycle
53 if(lakon(i)(4:4).eq.
'2')
then 59 elseif(lakon(i)(4:4).eq.
'8')
then 65 elseif(lakon(i)(4:5).eq.
'10')
then 71 elseif(lakon(i)(4:4).eq.
'4')
then 77 elseif(lakon(i)(4:5).eq.
'15')
then 83 elseif(lakon(i)(4:4).eq.
'6')
then 99 xl(k,j)=co(k,konl(j))+vold(k,konl(j))
108 call shape20h(xi,et,ze,xl,xsj,shp,iflag)
109 elseif(nope.eq.8)
then 110 call shape8h(xi,et,ze,xl,xsj,shp,iflag)
111 elseif(nope.eq.10)
then 113 elseif(nope.eq.4)
then 114 call shape4tet(xi,et,ze,xl,xsj,shp,iflag)
115 elseif(nope.eq.15)
then 116 call shape15w(xi,et,ze,xl,xsj,shp,iflag)
118 call shape6w(xi,et,ze,xl,xsj,shp,iflag)
126 cgr(k,i)=cgr(k,i)+shp(4,j)*xl(k,j)
133 if(ithermal.eq.0)
then 141 t0l=t0l+shp(4,j)*t0(konl(j))
143 call ident2(rhcon(0,1,imat),t0l,nrhcon(imat),two,id)
144 if(nrhcon(imat).eq.0)
then 146 elseif(nrhcon(imat).eq.1)
then 150 elseif(id.eq.nrhcon(imat))
then 153 rho=rhcon(1,id,imat)+
154 & (rhcon(1,id+1,imat)-rhcon(1,id,imat))*
155 & (t0l-rhcon(0,id,imat))/
156 & (rhcon(0,id+1,imat)-rhcon(0,id,imat))
164 konl(j)=kon(indexe+j)
166 xl(k,j)=co(k,konl(j))+vold(k,konl(j))
175 if(lakon(i)(7:7).eq.
'A')
then 177 elseif((lakon(i)(7:7).eq.
'E').or.
178 & (lakon(i)(7:7).eq.
'S'))
then 181 call shape20h(xi,et,ze,xl,xsj,shp,iflag)
183 elseif(nope.eq.8)
then 184 call shape8h(xi,et,ze,xl,xsj,shp,iflag)
185 elseif(nope.eq.10)
then 187 elseif(nope.eq.4)
then 188 call shape4tet(xi,et,ze,xl,xsj,shp,iflag)
189 elseif(nope.eq.15)
then 190 call shape15w(xi,et,ze,xl,xsj,shp,iflag)
192 call shape6w(xi,et,ze,xl,xsj,shp,iflag)
197 cgr(4,i)=physcon(3)*rho*xsj*weight
209 if(ipkon(i).lt.0) cycle
211 dd=(cgr(1,i)-cgr(1,nelem))**2+(cgr(2,i)-cgr(2,nelem))**2+
212 & (cgr(3,i)-cgr(3,nelem))**2
214 bodyf(j)=bodyf(j)+(cgr(j,i)-cgr(j,nelem))*cgr(4,i)/
subroutine shape20h_pl(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h_pl.f:20
subroutine shape6w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape6w.f:20
subroutine shape10tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape10tet.f:20
subroutine shape8h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape8h.f:20
subroutine ident2(x, px, n, ninc, id)
Definition: ident2.f:27
subroutine shape15w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape15w.f:20
subroutine shape20h_ax(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h_ax.f:20
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20
subroutine shape4tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape4tet.f:20