28 character*8 lakon(*),lakonl
29 character*20 sideload(*)
31 integer mi(*),nelemload(2,*),ipkon(*),kon(*),nactdof(0:mi(2),*),
32 & izdof(*),nzdof,iload,j,ii,nopes,node,indexe,jdof,ifaceq(8,6),
33 & ifacew(8,5),ifacet(7,4),ig,ielem,nope,iznode(*),nznode,
34 & nodebasis,nk,imdnode(*),nmdnode
36 data ifaceq /4,3,2,1,11,10,9,12,
37 & 5,6,7,8,13,14,15,16,
39 & 2,3,7,6,10,19,14,18,
40 & 3,4,8,7,11,20,15,19,
41 & 4,1,5,8,12,17,16,20/
42 data ifacet /1,3,2,7,6,5,11,
46 data ifacew /1,3,2,9,8,7,0,0,
52 ielem=nelemload(1,iload)
56 if(sideload(iload)(1:1).eq.
'P')
then 57 read(sideload(iload)(2:2),
'(i1)') ig
61 if(lakonl(4:4).eq.
'2')
then 63 elseif(lakonl(4:4).eq.
'8')
then 65 elseif(lakonl(4:5).eq.
'10')
then 67 elseif(lakonl(4:4).eq.
'4')
then 69 elseif(lakonl(4:5).eq.
'15')
then 75 elseif(lakonl(4:4).eq.
'6')
then 84 if((lakonl(4:4).eq.
'2').or.(lakonl(4:4).eq.
'8'))
then 85 node=kon(indexe+ifaceq(ii,ig))
86 elseif((lakonl(4:5).eq.
'10').or.(lakonl(4:4).eq.
'4'))
then 87 node=kon(indexe+ifacet(ii,ig))
88 elseif((lakonl(4:5).eq.
'15').or.(lakonl(4:4).eq.
'6'))
then 89 node=kon(indexe+ifacew(ii,ig))
94 nodebasis=mod(node,nk)
95 call addimd(iznode,nznode,nodebasis)
99 if(sideload(iload)(3:4).eq.
'NU')
then 100 call addimd(imdnode,nmdnode,node)
107 jdof=nactdof(j,node)-1
108 if(jdof.gt.0)
call addimd(izdof,nzdof,jdof)
112 elseif(sideload(iload)(1:1).eq.
'B')
then 116 if(lakonl(4:4).eq.
'2')
then 118 elseif(lakonl(4:4).eq.
'8')
then 120 elseif(lakonl(4:5).eq.
'10')
then 122 elseif(lakonl(4:4).eq.
'4')
then 124 elseif(lakonl(4:5).eq.
'15')
then 126 elseif(lakonl(4:4).eq.
'6')
then 135 nodebasis=mod(node,nk)
136 call addimd(iznode,nznode,nodebasis)
140 if(sideload(iload)(3:4).eq.
'NU')
then 141 call addimd(imdnode,nmdnode,node)
148 jdof=nactdof(j,node)-1
149 if(jdof.gt.0)
call addimd(izdof,nzdof,jdof)
subroutine addimd(imd, nmd, node)
Definition: addimd.f:20