42 SUBROUTINE cmaini3(ELBUF_STR,PM ,GEO ,NEL ,NLAY ,
43 . SKEW ,IGEO ,IX ,NIX ,NUMEL ,
44 . NSIGSH ,SIGSH ,PTSH ,IGTYP ,IORTHLOC ,
45 . IPM ,PROPID ,ALDT ,MAT_PARAM,
46 . IR ,IS ,ISUBSTACK,STACK ,IREP ,
47 . DRAPE ,SHANG ,GEO_STACK,IGEO_STACK,
48 . IGMAT ,IMAT ,IPROP ,NUMMAT ,
49 . X1 ,X2 ,X3 ,X4 ,Y1 ,Y2 ,
50 . Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
51 . E1X, E2X, E3X, E1Y, E2Y, E3Y ,E1Z, E2Z, E3Z ,X ,
52 . NPT_ALL ,IDRAPE ,NUMEL_DRAPE , INDX)
65#include "implicit_f.inc"
74#include "vect01_c.inc"
78 INTEGER ,
INTENT(IN) :: NUMMAT
79 INTEGER NEL,NLAY,NIX,NSIGSH,NUMEL,IGTYP,PROPID,IR,IS,IREP,IGMAT,IMAT,IPROP,
80 . IDRAPE ,NPT_ALL,NUMEL_DRAPE
81 INTEGER IGEO(NPROPGI,*),IX(NIX,*),PTSH(*),IORTHLOC(MVSIZ),
82 . IPM(NPROPMI,*),ISUBSTACK,IGEO_STACK(*)
83 INTEGER ,
DIMENSION(NUMEL_DRAPE) :: INDX
85 . PM(*),GEO(,*),SKEW(LSKEW,*),ALDT(*),
86 . SIGSH(NSIGSH,*),SHANG(*),GEO_STACK(*),(3,*)
87 TYPE(ELBUF_STRUCT_),
TARGET :: ELBUF_STR
88 TYPE (STACK_PLY) :: STACK
89 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,
90 . x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4
91 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT)INTENT(IN) :: MAT_PARAM
95 INTEGER IT,IL,NUVAR,NPTT,ILAW,NUPARAM
97 . vx(mvsiz),vy(mvsiz),vz(mvsiz
99 . coor1(npt_all,mvsiz),coor2(npt_all,mvsiz),coor3(npt_all,mvsiz),
100 . coor4(npt_all,mvsiz)
101 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
103 .
DIMENSION(:),
POINTER :: UVAR,DIR1,DIR2
104 TYPE(G_BUFEL_) ,
POINTER :: GBUF
105 TYPE(l_bufel_) ,
POINTER :: LBUF
106 TYPE(buf_lay_) ,
POINTER :: BUFLY
107 TYPE(DRAPE_) :: DRAPE(NUMELC_DRAPE + NUMELTG_DRAPE)
114 gbuf => elbuf_str%GBUF
117 . lft ,llt ,nft ,nlay ,numel ,
118 . nsigsh ,nix ,ix ,igeo ,geo ,
119 . skew ,sigsh ,ptsh ,phi1 ,phi2 ,
120 . vx ,vy ,vz ,coor1 ,coor2 ,
121 . coor3 ,coor4 ,iorthloc ,isubstack ,stack ,
122 . irep ,elbuf_str ,drape ,shang ,x ,
123 . geo_stack ,e3x ,e3y ,e3z ,
124 . gbuf%BETAORTH,x1 ,x2 ,y1 ,y2
125 . z1 ,z2 ,nel ,gbuf%G_ADD_NODE,gbuf%ADD_NODE,
126 . npt_all ,idrape ,indx)
129 IF(igtyp == 51 .OR. igtyp == 52 .OR. igmat > 0)
THEN
131 . igeo ,geo ,vx ,vy ,vz ,
132 . phi1 ,phi2 ,coor1 ,coor2 ,coor3 ,
133 . coor4 ,iorthloc ,nlay ,irep ,isubstack,
134 . stack ,geo_stack ,igeo_stack,ir ,is ,
136 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
137 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
138 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z ,
141 ELSEIF (mtn == 27)
THEN
143 . geo ,igeo ,pm ,ipm ,ix ,nix,
144 . nlay,ir ,is ,imat )
145 ELSEIF (mtn==15 .or. mtn==19 .or. mtn==25 .or. mtn >= 28)
THEN
146 IF (mtn == 19 .and. igtyp /= 9)
THEN
154 . igeo ,geo ,vx ,vy ,vz ,
155 . phi1 ,phi2 ,coor1 ,coor2 ,coor3 ,
157 . stack ,geo_stack ,igeo_stack,ir ,is ,
159 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
160 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
161 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z ,
165 IF ((mtn == 58 .or. mtn == 158) .AND.
166 . igtyp /= 16 .AND. igtyp /= 51 .AND. igtyp /= 52)
THEN
169 . anmode=aninfo_blind_1,
174 ELSEIF (mtn == 58 .or. mtn == 158 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
176 IF (idrape == 0)
THEN
178 nptt = elbuf_str%BUFLY(il)%NPTT
179 imat = elbuf_str%BUFLY(il)%IMAT
180 ilaw = elbuf_str%BUFLY(il)%ILAW
181 nuvar = elbuf_str%BUFLY(il)%NVAR_MAT
182 dir1 => elbuf_str%BUFLY(il)%DIRA
183 dir2 => elbuf_str%BUFLY(il)%DIRB
184 nuparam = mat_param(imat)%NUPARAM
188 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
189 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
190 CALL cm58in3(irep ,dir1 ,dir2 ,mat_param(imat)%UPARAM,
191 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
192 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
193 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
194 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
196 ELSE IF (ilaw == 158)
THEN
198 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
199 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
201 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
202 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
203 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
204 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
210 nptt = elbuf_str%BUFLY(il)%NPTT
211 imat = elbuf_str%BUFLY(il)%IMAT
212 ilaw = elbuf_str%BUFLY(il)%ILAW
213 nuvar = elbuf_str%BUFLY(il)%NVAR_MAT
214 nuparam = mat_param(imat)%NUPARAM
218 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
219 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
220 dir1 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRA
221 dir2 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRB
222 CALL cm58in3(irep ,dir1 ,dir2 ,mat_param(imat)%UPARAM,
223 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
224 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
225 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
226 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
228 ELSE IF (ilaw == 158)
THEN
230 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
231 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
232 dir1 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRA
233 dir2 => elbuf_str%BUFLY(il)%LBUF_DIR(it)%DIRB
235 . uvar ,aldt ,nel ,nuvar ,lbuf%ANG ,
236 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
237 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
238 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
244 IF (mtn == 42 .OR. mtn == 69 .OR. igtyp == 51 .OR. igtyp == 52)
THEN
246 nptt = elbuf_str%BUFLY(il)%NPTT
247 ilaw = elbuf_str%BUFLY(il)%ILAW
248 nuvar = elbuf_str%BUFLY(il)%NVAR_MAT
250 IF (ilaw == 42 .OR. mtn == 69)
THEN
252 lbuf => elbuf_str%BUFLY(il)%LBUF(ir,is,it)
253 uvar => elbuf_str%BUFLY(il)%MAT(ir,is,it)%VAR
254 CALL law42c_ini(nuvar,uvar,llt)
subroutine cmaini3(elbuf_str, pm, geo, nel, nlay, skew, igeo, ix, nix, numel, nsigsh, sigsh, ptsh, igtyp, iorthloc, ipm, propid, aldt, mat_param, ir, is, isubstack, stack, irep, drape, shang, geo_stack, igeo_stack, igmat, imat, iprop, nummat, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x, npt_all, idrape, numel_drape, indx)