49
50
51
57 USE matparam_def_mod
58
59
60
61#include "implicit_f.inc"
62
63
64
65#include "com01_c.inc"
66#include "com04_c.inc"
67#include "param_c.inc"
68#include "scry_c.inc"
69#include "scr16_c.inc"
70#include "units_c.inc"
71
72
73
74 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
75 INTEGER IXS(NIXS,*), IXQ(NIXQ,*),IXC(NIXC,*),
76 . IGEO(NPROPGI,*), IXT(NIXT,*),IXP(NIXP,*), IXR(NIXR,*),
77 . IXTG(NIXTG,*),INDEX(*),ITRI(*),KXSP(*),IPM(NPROPMI,*),
78 . KSYSUSR(*),PTSHEL(*),PTSH3N(*),PTSOL(*),PTQUAD(*),PTSPH(*),
79 . IDRAPE(NPLYMAX,*),PTSPRI(*),PTBEAM(*),PTTRUSS(*)
80 INTEGER NSIGI,NSIGSH,NSIGS, NSIGSPH, NSIGRS,
81 . NUMEL,ISOLNODD00(*),NSIGBEAM,NSIGTRUSS,STRSGLOB(*),
82 . STRAGLOB(*),ORTHOGLOB(*),ISIGSH,IYLDINI,KSIGSH3,FAIL_INI(5),
83 . IUSOLYLD,IUSER,VARMAX
84 INTEGER, DIMENSION(NPARG,NGROUP) ,INTENT(IN):: IPARG
86 . geo(*),pm(npropm,*),rtrans(ntransf,*),
87 . sigi(nsigs,*),sigsh(
max(1,nsigsh),*),sigtruss(nsigtruss,*),
88 . sigsp(nsigi,*),sigsph(nsigsph,*),sigrs(nsigrs,*),sigbeam(nsigbeam,*)
89
90 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
91 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
92
93 TYPE(MAPPING_STRUCT_) ::
94 TYPE (STACK_PLY) :: STACK
95 INTEGER, INTENT(IN) :: IWORKSH(3,NUMELC + NUMELTG)
96 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
97 INTEGER, INTENT(IN) :: NUMSPH
98 INTEGER, INTENT(IN) :: NISP
99
100
101
102 INTEGER I, J, N, stat
103 INTEGER NIBRICK, NIQUAD, NISHELL, NISH3N, NISPRING, NIBEAM, NITRUSS, NISPHCEL
104 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGSH
105 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SOLID_SIGI
106 INTEGER, DIMENSION(:), ALLOCATABLE
107INTEGER, DIMENSION(:), ALLOCATABLE ::
108 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGBEAM
109 INTEGER, DIMENSION(:), ALLOCATABLE ::
110 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGSPH
111 INTEGER, DIMENSION(:), ALLOCATABLE :: WORK
112 LOGICAL IS_STATE
113
114C
115
116C
117
118 iuser = 0
119 iyldini = 0
120 iusolyld = 0
121 fail_ini(1:5) = 0
122 isigsh =0
123 ksigsh3 = 0
124 iortshel = 0
125 inispri = 0
126 varmax =
max(nsigsh,nsigi,nsigi,nsigtruss,nsigbeam,nsigrs)
127 is_state = .false.
128
129 ALLOCATE (id_sigsh(numshel
130 ALLOCATE (id_solid_sigi(numsol) ,stat=stat)
131 ALLOCATE (id_quad_sigi(numquad) ,stat=stat)
132 ALLOCATE (id_sigspri(numspri) ,stat=stat)
133 ALLOCATE (id_sigbeam(numbeam) ,stat=stat)
134 ALLOCATE (id_sigtruss(numtrus) ,stat=stat)
135 ALLOCATE (id_sigsph(numsph) ,stat=stat)
136 ALLOCATE (work(70000) ,stat=stat)
137
138 IF(numshel+numsh3n > 0) id_sigsh(1:numshel+numsh3n) = 0
139 IF(numsol > 0 )id_solid_sigi(1:numsol) = 0
140 IF(numquad > 0 )id_quad_sigi
141 IF(numspri > 0 )id_sigspri(1:numspri) = 0
142 IF(numbeam > 0 )id_sigbeam(1:numbeam) = 0
143 IF(numtrus > 0 )id_sigtruss(1:numtrus) = 0
144 work(1:70000) = 0
145
146 IF (abs(isigi) == 3.OR.abs(isigi) == 4.OR.abs(isigi) == 5) THEN
147 DO i=1,numshel+numsh3n
148 DO j=1,nsigsh
149 sigsh(j,i)=zero
150 ENDDO
151 ENDDO
152 ENDIF
153
154
155
156
157
158
159 IF (isigi == 1.OR.isigi == 2) THEN
160
161
162
163 IF (ioutp_fmt == 2) THEN
164 DO i=1,numels+numelq
165 READ(iin4,'(I8,3F16.0/8X,3F16.0)') n,(sigi(j,i),j=1,6)
166 sigi(7,i) = n
167 ENDDO
168 ELSE
169 DO i=1,numels+numelq
170 READ(iin4,'(I10,3F20.0/8X,3F20.0)') n,(sigi(j,i),j=1,6)
171 sigi(7,i) = n
172 ENDDO
173 ENDIF
174
175 ELSEIF (isigi == 3.OR.isigi == 4.OR.isigi == 5) THEN
176
177
178
180 1 nsigsh ,nsigs ,nsigsph ,nsigrs ,nsigi ,
181 2 sigsh ,sigi ,sigsph
182 3 isigsh ,iuser ,
183 4 id_sigsh , id_solid_sigi, id_quad_sigi )
184
185 ENDIF
186
187
188
189
190 IF (isigi == -3.OR.isigi == -4.OR.isigi == -5) is_state = .true.
191
192 IF (isigi == -3.OR.isigi == -4.OR.isigi == -5) THEN
193 isigi = -isigi
194
195
196
197
198
199
200
201
202
203
204
205! b
207 1 ixs ,ixq ,ixc ,ixt ,ixp ,
208 2 ixr ,geo ,pm ,ixtg
209 3
210 4 ipm ,nsigs ,nsigsph ,ksysusr
211 5 unitab ,isolnodd00 ,lsubmodel
212 6 nsigi ,nsigbeam ,nsigtruss ,
213 7 sigi ,sigsh ,sigsp ,sigsph ,sigrs ,
214 8 sigbeam ,sigtruss ,strsglob ,straglob ,orthoglob ,
215 9 isigsh ,iyldini
216 a id_sigsh ,id_solid_sigi,id_quad_sigi ,id_sigspri ,id_sigbeam,
217 b id_sigtruss,work ,igrbric
218 c nishell ,nish3n ,nispring ,nibeam ,nitruss ,
219 d map_tables ,varmax ,iparg ,ptshel ,ptsh3n ,
220 e stack ,iworksh ,iout ,mat_param ,nisphcel ,
221 f numsph ,nisp ,kxsp ,id_sigsph)
222 ENDIF
223
225 1 ixs ,ixq ,ixc ,ixt ,ixp ,
226 2 ixr ,kxsp ,ixtg ,index ,itri ,
227 3 nsigsh ,nsigs ,nsigsph ,ksysusr ,ksigsh3 ,
228 4 nsigrs ,nsigi ,nsigbeam ,nsigtruss
229 5 ptshel ,ptsh3n ,ptsol
230 6 ptspri ,ptbeam ,pttruss ,sigi ,sigsh ,
231 7 sigsp ,sigsph ,sigrs ,sigbeam ,sigtruss ,
232 8 id_sigsh ,id_solid_sigi,id_quad_sigi ,id_sigspri ,id_sigbeam ,
233 9 id_sigtruss
234
235
236 IF(numsol > 0) DEALLOCATE (id_solid_sigi)
237 IF(numquad > 0 )DEALLOCATE (id_quad_sigi)
238 IF(numshel+numsh3n > 0 )DEALLOCATE (id_sigsh
239 IF(numspri > 0 )DEALLOCATE (id_sigspri)
240 IF(numbeam > 0 )DEALLOCATE (id_sigbeam)
241 IF(numtrus > 0 )DEALLOCATE (id_sigtruss)
242 IF(numsph > 0 )DEALLOCATE (id_sigsph
243 DEALLOCATE (work)
244
245 RETURN
subroutine hm_read_inistate_d00(ixs, ixq, ixc, ixt, ixp, ixr, geo, pm, ixtg, index, itri, nsigsh, igeo, ipm, nsigs, nsigsph, ksysusr, nsigrs, unitab, isolnodd00, lsubmodel, rtrans, idrape, nsigi, nsigbeam, nsigtruss, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, fail_ini, iusolyld, iuser, id_sigsh, id_solid_sigi, id_quad_sigi, id_sigspri, id_sigbeam, id_sigtruss, work, igrbric, nibrick, niquad, nishell, nish3n, nispring, nibeam, nitruss, map_tables, varmax, iparg, ptshel, ptsh3n, stack, iworksh, iout, mat_param, nisphcel, numsph, nisp, kxsp, id_sigsph)
subroutine lec_inistate_tri(ixs, ixq, ixc, ixt, ixp, ixr, kxsp, ixtg, index, itri, nsigsh, nsigs, nsigsph, ksysusr, ksigsh3, nsigrs, nsigi, nsigbeam, nsigtruss, ptshel, ptsh3n, ptsol, ptquad, ptsph, ptspri, ptbeam, pttruss, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, id_sigsh, id_solid_sigi, id_quad_sigi, id_sigspri, id_sigbeam, id_sigtruss, work, id_sigsphcel, is_state)
subroutine lec_inistate_yfile(nsigsh, nsigs, nsigsph, nsigrs, nsigi, sigsh, sigi, sigsph, sigrs, sigsp, isigsh, iuser, id_sigsh, id_solid_sigi, id_quad_sigi)