30 character*80 matname(*),orname(*),material,orientation
31 character*81 set(*),elset
32 character*132 textpart(16)
34 integer mi(*),istartset(*),iendset(*),ialset(*),ielmat(mi(3),*),
35 & ielorien(mi(3),*),kon(*),ipkon(*),indexe,irstrt,nset,nmat,
37 & istep,istat,n,key,i,j,k,l,imaterial,iorientation,ipos,
38 & iline,ipol,inl,ipoinp(2,*),inp(3,*),mcs,iaxial,ipoinpc(0:*)
40 real*8 thicke(mi(3),*),
thickness,pi,cs(17,*)
43 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION:' 44 write(*,*)
' *CHANGE SOLID SECTION should' 45 write(*,*)
' be placed within a step definition' 58 if(textpart(i)(1:9).eq.
'MATERIAL=')
then 59 material=textpart(i)(10:89)
60 elseif(textpart(i)(1:12).eq.
'ORIENTATION=')
then 61 orientation=textpart(i)(13:92)
62 elseif(textpart(i)(1:6).eq.
'ELSET=')
then 63 elset=textpart(i)(7:86)
68 write(*,*)
'*WARNING reading *CHANGE SOLID SECTION:' 69 write(*,*)
' parameter not recognized:' 71 & textpart(i)(1:index(textpart(i),
' ')-1)
73 &
"*CHANGE SOLID SECTIONQ%")
80 if(matname(i).eq.material)
exit 84 if(matname(i)(1:11).eq.
'ANISO_CREEP')
then 85 if(matname(i)(12:20).eq.material(1:9))
exit 86 elseif(matname(i)(1:10).eq.
'ANISO_PLAS')
then 87 if(matname(i)(11:20).eq.material(1:10))
exit 93 &
'*ERROR reading *CHANGE SOLID SECTION: nonexistent material' 96 &
"*CHANGE SOLID SECTION%")
101 if(orientation.eq.
' ')
then 103 elseif(nelcon(1,i).eq.2)
then 104 write(*,*)
'*INFO reading *SOLID SECTION: an orientation' 105 write(*,*)
' is for isotropic materials irrelevant' 111 if(orname(i).eq.orientation)
exit 114 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION:' 115 write(*,*)
' nonexistent orientation' 118 &
"*CHANGE SOLID SECTION%")
126 &
'*ERROR reading *CHANGE SOLID SECTION: no element set ',elset
127 write(*,*)
' was been defined. ' 129 &
"*CHANGE SOLID SECTION%")
133 if(set(i).eq.elset)
exit 137 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION:' 138 write(*,*)
' element set ',elset
139 write(*,*)
' has not yet been defined. ' 141 &
"*CHANGE SOLID SECTION%")
148 do j=istartset(i),iendset(i)
149 if(ialset(j).gt.0)
then 150 if((lakon(ialset(j))(1:1).eq.
'B').or.
151 & (lakon(ialset(j))(1:1).eq.
'S'))
then 152 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION:' 153 write(*,*)
' *CHANGE SOLID SECTION can' 154 write(*,*)
' not be used for beam or shell elements 156 write(*,*)
' Faulty element: ',ialset(j)
159 ielmat(1,ialset(j))=imaterial
160 if(norien.gt.0) ielorien(1,ialset(j))=iorientation
165 if(k.ge.ialset(j-1))
exit 166 if((lakon(k)(1:1).eq.
'B').or.
167 & (lakon(k)(1:1).eq.
'S'))
then 168 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION:' 169 write(*,*)
' *CHANGE SOLID SECTION can' 170 write(*,*)
' not be used for beam or shell eleme 172 write(*,*)
' Faulty element: ',k
175 ielmat(1,k)=imaterial
176 if(norien.gt.0) ielorien(1,k)=iorientation
181 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
182 & ipoinp,inp,ipoinpc)
188 write(*,*)
'*ERROR reading *CHANGE SOLID SECTION' 189 write(*,*)
' no second line allowed' 191 &
"*CHANGE SOLID SECTION%")
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
subroutine thickness(dgdx, nobject, nodedesiboun, ndesiboun, objectset, xo, yo, zo, x, y, z, nx, ny, nz, co, ifree, ndesia, ndesib, iobject, ndesi, dgdxglob, nk)
Definition: thickness.f:22