OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecsec4bolt.F File Reference
#include "implicit_f.inc"
#include "analyse_name.inc"
#include "com04_c.inc"
#include "scr17_c.inc"
#include "param_c.inc"
#include "sphcom.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lecsec4bolt (ixs, ixq, ixc, ixt, ixp, ixr, ixtg, x0, nstrf, itab, itabm1, igrnod, secbuf, ipari, ixs10, ixs20, ixs16, unitab, iskn, xframe, isolnod, nom_sect, rtrans, lsubmodel, nom_opt, igrbric)

Function/Subroutine Documentation

◆ lecsec4bolt()

subroutine lecsec4bolt ( integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer, dimension(nixtg,*) ixtg,
x0,
integer, dimension(*) nstrf,
integer, dimension(*) itab,
integer, dimension(*) itabm1,
type (group_), dimension(ngrnod) igrnod,
secbuf,
integer, dimension(npari,*) ipari,
integer, dimension(6,*) ixs10,
integer, dimension(12,*) ixs20,
integer, dimension(8,*) ixs16,
type (unit_type_), intent(in) unitab,
integer, dimension(liskn,*) iskn,
xframe,
integer, dimension(*) isolnod,
integer, dimension(*) nom_sect,
rtrans,
type(submodel_data), dimension(*) lsubmodel,
integer, dimension(lnopt1,*) nom_opt,
type (group_), dimension(ngrbric) igrbric )

Definition at line 51 of file lecsec4bolt.F.

57C-----------------------------------------------
58C M o d u l e s
59C-----------------------------------------------
60 USE unitab_mod
61 USE message_mod
62 USE r2r_mod
63 USE submodel_mod
64 USE groupdef_mod
67C-----------------------------------------------
68C I m p l i c i t T y p e s
69C-----------------------------------------------
70#include "implicit_f.inc"
71C-----------------------------------------------
72C A n a l y s e M o d u l e
73C-----------------------------------------------
74#include "analyse_name.inc"
75C-----------------------------------------------
76C C o m m o n B l o c k s
77C-----------------------------------------------
78#include "com04_c.inc"
79#include "scr17_c.inc"
80#include "param_c.inc"
81#include "sphcom.inc"
82C-----------------------------------------------
83C D u m m y A r g u m e n t s
84C-----------------------------------------------
85 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
86 INTEGER IXC(NIXC,*), IXTG(NIXTG,*), NSTRF(*), ITAB(*),
87 . ITABM1(*),IXS(NIXS,*), IXQ(NIXQ,*), IXT(NIXT,*),
88 . IXP(NIXP,*), IXR(NIXR,*), IPARI(NPARI,*),
89 . IXS10(6,*),IXS20(12,*),IXS16(8,*),ISKN(LISKN,*),
90 . ISOLNOD(*),NOM_SECT(*)
91 INTEGER NOM_OPT(LNOPT1,*)
92 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
94 . x0(3,*),secbuf(*),xframe(nxframe,*),
95 . rtrans(ntransf,*)
96C-----------------------------------------------
97 TYPE (GROUP_) ,DIMENSION(NGRNOD) :: IGRNOD
98 TYPE (GROUP_) ,DIMENSION(NGRBRIC) :: IGRBRIC
99C-----------------------------------------------
100C L o c a l V a r i a b l e s
101C-----------------------------------------------
102 INTEGER ,DIMENSION(NSECT) :: SECTIDS
103 INTEGER K1, I, J, L, KK, K2, K,LREC,
104 . NNOD, NBINTER,K0,K3,K4,K5,K6,K7,K8,K9,KR0,
105 . NSEGQ,NSEGS,NSEGC,NSEGT,NSEGP,NSEGR,NSEGTG,I0,ID,
106 . IGU,IGS,IGUS,IGUQ,IGUC,IGUT,IGUP,IGUR,IGUTG,IFRAM,
107 . NNSK1,NNSK2,NNSK3,UID,IFLAGUNIT,IE,IADV,
108 . ISU,NFRAM,JJ,IUN,
109 . TAGELEM1,TAGELEM2,TAGELEM3,
110 . N1,CPT,
111 . NG,NOPRINT,ILEN
112 INTEGER FLAG_FMT,FLAG_FMT_TMP,IFIX_TMP,L0,ISTYP,SUB_ID
113 INTEGER, DIMENSION(:), ALLOCATABLE :: NODTAG,TAGELEMS
114 my_real
115 . deltat,alpha,fac_t,a,b,c,d,e,f,pos,r
116 CHARACTER MESS*40
117 CHARACTER(LEN=NCHARTITLE) :: TITR
118 CHARACTER(LEN=NCHARLINE) ::CHAR8
119 CHARACTER(LEN=NCHARFIELD) :: KEY2
120 my_real
121 . bid, xm, ym, zm, x1, y1, z1, x2, y2, z2, norm,
122 . x3, y3, z3, n3, pnor1, pnor2, pnorm1, det, det1, det2, det3
123 LOGICAL IS_AVAILABLE
124C-----------------------------------------------
125C E x t e r n a l F u n c t i o n s
126C-----------------------------------------------
127 INTEGER USR2SYS,NODGRNR5,ELEGROR
128 EXTERNAL usr2sys,nodgrnr5,elegror
129C
130C
131 DATA mess/'SECTION DEFINITION '/
132 DATA iun/1/
133C=======================================================================
134 ALLOCATE(tagelems(1+numelc+numels+numelt+numelq+numelp+numelr+numeltg))
135 ALLOCATE(nodtag(numnod))
136
137 noprint = 1
138 flag_fmt = 0
139 nfram = 0
140 nodtag = 0
141 tagelems = 0
142C GENERIC WRITE FLAG
143 nstrf(1)=0
144C GENERIC READ FLAG
145 nstrf(2)=0
146C file flip/flop
147 nstrf(3)=0
148C file run number
149 nstrf(4)=1
150C file next run number
151 nstrf(5)=2
152C file rec length
153 lrec=0
154C file record flip/flop
155 nstrf(7)=0
156C
157 k0 = 31
158 kr0= 11
159 nstrf(25)=k0
160 nstrf(26)=kr0
161 l0 = 7
162 ng = 0
163 iguq=0
164
165 CALL hm_option_start('/SECT')
166
167 DO i=1,nsect
168 igu = 0
169 istyp = 0
170 ng=ng+1
171 lrec = lrec+3
172 k1 = k0+30
173 CALL hm_option_read_key(lsubmodel, option_id=id, option_titr=titr, unit_id=uid, submodel_id=sub_id, keyword2=key2)
174
175 CALL hm_get_intv('Axis_Origin_Node_N1', nstrf(k0+3), is_available, lsubmodel)
176 CALL hm_get_intv('Axis_Node_N2', nstrf(k0+4), is_available, lsubmodel)
177 CALL hm_get_intv('Axis_Node_N3', nstrf(k0+5), is_available, lsubmodel)
178 CALL hm_get_intv('ISAVE', nstrf(k0), is_available, lsubmodel)
179
180 CALL hm_get_string('file_name', char8, ncharline, is_available)
181 ilen=len(char8)
182 ilen=len_trim(char8)
183 ilen=max(0,ilen)
184 IF(ilen >= 0 .AND. ilen < ncharline)THEN
185 DO k=ilen+1,ncharline
186 char8(k:k)=' '
187 ENDDO
188 ENDIF
189
190 IF(key2(1:5) == 'PARAL') THEN
191 istyp = 1
192 ELSEIF(key2(1:6) == 'CIRCLE') THEN
193 istyp = 2
194 ELSE
195 CALL hm_get_intv('Grnod_ID', igu, is_available, lsubmodel)
196 CALL hm_get_intv('System_Id', nfram, is_available, lsubmodel)
197 istyp = 0
198 ENDIF
199
200 CALL hm_get_floatv('detltaT', deltat, is_available, lsubmodel, unitab)
201 CALL hm_get_floatv('alpha', alpha, is_available, lsubmodel, unitab)
202 CALL hm_get_intv('grbrick_id', igus, is_available, lsubmodel)
203 CALL hm_get_intv('grshel_id', iguc, is_available, lsubmodel)
204 CALL hm_get_intv('grtrus_id', igut, is_available, lsubmodel)
205 CALL hm_get_intv('grbeam_id', igup, is_available, lsubmodel)
206 CALL hm_get_intv('grsprg_id', igur, is_available, lsubmodel)
207 CALL hm_get_intv('grtria_id', igutg, is_available, lsubmodel)
208 CALL hm_get_intv('Niter', nbinter, is_available, lsubmodel)
209 CALL hm_get_intv('iframe', IFRAM, IS_AVAILABLE, LSUBMODEL)
210
211.OR. IF (NBINTER < 0 NBINTER > 10) THEN
212 CALL ANCMSG(MSGID=124,ANMODE=ANINFO,MSGTYPE=MSGERROR,I1=ID,C1=TITR)
213 ENDIF
214
215 IFLAGUNIT = 0
216 DO J=1,UNITAB%NUNITS
217 IF (UNITAB%UNIT_ID(J) == UID) THEN
218 FAC_T = UNITAB%FAC_T(J)
219 IFLAGUNIT = 1
220 EXIT
221 ENDIF
222 ENDDO
223.AND. IF (UID/=0IFLAGUNIT==0) THEN
224 CALL ANCMSG(MSGID=659,ANMODE=ANINFO,MSGTYPE=MSGERROR,I2=UID,I1=ID,C1='section',C2='section',C3=TITR)
225 ENDIF
226
227 SECTIDS(I)=ID
228
229.AND..AND. IF(IGU == 0 NFRAM == 0 ISTYP == 0) THEN
230 CALL ANCMSG(MSGID=507,
231 . MSGTYPE=MSGWARNING,
232 . ANMODE=ANINFO_BLIND_1,
233 . I1=ID,
234 . C1=TITR)
235 ENDIF
236
237 DO J=1,ncharline
238 NOM_SECT((I-1)*ncharline+J) = ICHAR(CHAR8(J:J))
239 ENDDO
240
241 DO J=1,NBINTER
242 CALL HM_GET_INT_ARRAY_INDEX('int_id' ,NSTRF(K1-1+J) ,J ,IS_AVAILABLE, LSUBMODEL)
243 ENDDO
244
245 IF (ISTYP == 1) THEN
246 CALL HM_GET_FLOATV('xtail', XM, IS_AVAILABLE, LSUBMODEL, UNITAB)
247 CALL HM_GET_FLOATV('ytail', YM, IS_AVAILABLE, LSUBMODEL, UNITAB)
248 CALL HM_GET_FLOATV('ztail', ZM, IS_AVAILABLE, LSUBMODEL, UNITAB)
249 IF(SUB_ID /= 0)CALL SUBROTPOINT(XM,YM,ZM,RTRANS,SUB_ID,LSUBMODEL)
250
251 CALL HM_GET_FLOATV('cnode1_x', X1, IS_AVAILABLE, LSUBMODEL, UNITAB)
252 CALL HM_GET_FLOATV('cnode1_y', Y1, IS_AVAILABLE, LSUBMODEL, UNITAB)
253 CALL HM_GET_FLOATV('cnode1_z', Z1, IS_AVAILABLE, LSUBMODEL, UNITAB)
254 IF(SUB_ID /= 0) CALL SUBROTPOINT(X1,Y1,Z1,RTRANS,SUB_ID,LSUBMODEL)
255
256 CALL HM_GET_FLOATV('cnode2_x', X2, IS_AVAILABLE, LSUBMODEL, UNITAB)
257 CALL HM_GET_FLOATV('cnode2_y', Y2, IS_AVAILABLE, LSUBMODEL, UNITAB)
258 CALL HM_GET_FLOATV('cnode2_z', Z2, IS_AVAILABLE, LSUBMODEL, UNITAB)
259 IF(SUB_ID /= 0)CALL SUBROTPOINT(X2,Y2,Z2,RTRANS,SUB_ID,LSUBMODEL)
260
261 D = XM
262 E = YM
263 F = ZM
264 A = ((Y1-YM)*(Z2-ZM))-((Y2-YM)*(Z1-ZM))
265 B = ((X2-XM)*(Z1-ZM))-((X1-XM)*(Z2-ZM))
266 C = ((X1-XM)*(Y2-YM))-((X2-XM)*(Y1-YM))
267 NORM = A*A+B*B+C*C
268 A = A/SQRT(NORM)
269 B = B/SQRT(NORM)
270 C = C/SQRT(NORM)
271
272 ELSEIF (ISTYP == 2) THEN
273 CALL HM_GET_FLOATV('xtail', XM, IS_AVAILABLE, LSUBMODEL, UNITAB)
274 CALL HM_GET_FLOATV('ytail', YM, IS_AVAILABLE, LSUBMODEL, UNITAB)
275 CALL HM_GET_FLOATV('ztail', ZM, IS_AVAILABLE, LSUBMODEL, UNITAB)
276 IF(SUB_ID /= 0)CALL SUBROTPOINT(XM,YM,ZM,RTRANS,SUB_ID,LSUBMODEL)
277
278 CALL HM_GET_FLOATV('normal_x', A, IS_AVAILABLE, LSUBMODEL, UNITAB)
279 CALL HM_GET_FLOATV('normal_y', B, IS_AVAILABLE, LSUBMODEL, UNITAB)
280 CALL HM_GET_FLOATV('normal_z', C, IS_AVAILABLE, LSUBMODEL, UNITAB)
281 IF(SUB_ID /= 0)CALL SUBROTVECT(A,B,C,RTRANS,SUB_ID,LSUBMODEL)
282
283 CALL HM_GET_FLOATV('radius', R, IS_AVAILABLE, LSUBMODEL, UNITAB)
284
285 D = XM
286 E = YM
287 F = ZM
288 NORM = A*A+B*B+C*C
289 A = A/SQRT(NORM)
290 B = B/SQRT(NORM)
291 C = C/SQRT(NORM)
292 ENDIF
293
294 DO J=1,NBINTER
295 DO L=1,NINTER
296 IF(NSTRF(K1-1+J)==IPARI(15,L))THEN
297 IPARI(28,L) = IPARI(28,L) + 1
298C numero interne NSTRF(K1-1+J) = L
299 ENDIF
300 ENDDO
301 ENDDO
302C
303C Noeuds concernes par la section (si NFRAM /= 0)
304C Noeuds concerns :
305C au dessus du plan N2N3 du frame (suivant la direction +Z)
306C & dans le plan N2N3 du frame
307C
308.OR. IF (ISTYP >= 1 NFRAM > 0) THEN
309 IF(ISTYP == 0) THEN
310 DO K=1,NUMFRAM
311 J=K+1
312 JJ=(NUMSKW+1)+NSUBMOD+MIN(IUN,NSPCOND)*NUMSPH+K+1
313 IF(NFRAM==ISKN(4,JJ)) THEN
314 A = XFRAME(7,J)
315 B = XFRAME(8,J)
316 C = XFRAME(9,J)
317 D = XFRAME(10,J)
318 E = XFRAME(11,J)
319 F = XFRAME(12,J)
320 N1 = ISKN(1,JJ)
321 IF (NSTRF(K0+3) == 0 ) THEN
322 IF (ISKN(1,JJ) /= 0) THEN
323 NSTRF(K0+3) = ITAB(ISKN(1,JJ))
324 ELSE
325 CALL ANCMSG(MSGID=742,
326 . MSGTYPE=MSGERROR,
327 . ANMODE=ANINFO,
328 . I1=ID,
329 . C1=TITR,
330 . C2='n1',
331 . I2=NFRAM)
332 ENDIF
333 ENDIF
334 IF (NSTRF(K0+4) == 0 ) THEN
335 IF (ISKN(2,JJ) /= 0) THEN
336 NSTRF(K0+4) = ITAB(ISKN(2,JJ))
337 ELSE
338 CALL ANCMSG(MSGID=742,
339 . MSGTYPE=MSGERROR,
340 . ANMODE=ANINFO,
341 . I1=ID,
342 . C1=TITR,
343 . C2='n2',
344 . I2=NFRAM)
345 ENDIF
346 ENDIF
347 IF (NSTRF(K0+5) == 0 ) THEN
348 IF (ISKN(3,JJ) /= 0) THEN
349 NSTRF(K0+5) = ITAB(ISKN(3,JJ))
350 ELSE
351 CALL ANCMSG(MSGID=742,
352 . MSGTYPE=MSGERROR,
353 . ANMODE=ANINFO,
354 . I1=ID,
355 . C1=TITR,
356 . C2='n3',
357 . I2=NFRAM)
358 ENDIF
359 ENDIF
360 ENDIF
361 ENDDO
362 ENDIF
363 KK=1+NGRNOD
364 NNOD = 0
365 CPT = 1
366 CALL SEC_NODES_SOL(IGUS,ISTYP,NGRBRIC,IGRBRIC,X0,A,
367 2 B,C,D,E,F,ITAB,IXS,IXS10,IXS16,IXS20,
368 3 NIXS,KK,NNOD,NSTRF,NBINTER,N1 ,K1,
369 4 CPT,NODTAG,ISOLNOD,TAGELEMS,
370 5 X1,Y1,Z1,X2,Y2,Z2,R)
371
372 KK=KK+NGRBRIC
373 ENDIF
374
375 K2=K1+NBINTER
376
377.AND. IF (NFRAM == 0 ISTYP == 0) THEN
378 NNOD=NODGRNR5(IGU,IGS,NSTRF(K2),IGRNOD,ITABM1,MESS)
379 ENDIF
380
381 K3=K2+NNOD
382 NSEGS=ELEGROR(IGUS,IGRBRIC,NGRBRIC,'bric',NSTRF(K3),2,MESS,NFRAM,TAGELEMS,ISTYP,ID,TITR)
383 K4=K3+2*NSEGS
384 NSEGQ=0
385 K5=K4+2*NSEGQ
386 NSEGC=0
387 K6=K5+2*NSEGC
388 NSEGT=0
389 K7=K6+2*NSEGT
390 NSEGP=0
391 K8=K7+2*NSEGP
392 NSEGR=0
393 K9=K8+2*NSEGR
394 NSEGTG=0
395C
396 NSTRF(K0+6)=NNOD
397 NSTRF(K0+7)=NSEGS
398 NSTRF(K0+8)=NSEGQ
399 NSTRF(K0+9)=NSEGC
400 NSTRF(K0+10)=NSEGT
401 NSTRF(K0+11)=NSEGP
402 NSTRF(K0+12)=NSEGR
403 NSTRF(K0+13) = NSEGTG
404 NSTRF(K0+26) = IFRAM
405 DO L=K0+3,K0+5
406 IF (NSTRF(L)/=0) THEN
407 NSTRF(L)=USR2SYS(NSTRF(L),ITABM1,MESS,ID)
408 CALL ANODSET(NSTRF(L), CHECK_USED)
409 ENDIF
410 ENDDO
411 NNSK1=ITAB(NSTRF(K0+3))
412 NNSK2=ITAB(NSTRF(K0+4))
413 NNSK3=ITAB(NSTRF(K0+5))
414 X1=X0(1,NSTRF(K0+4))-X0(1,NSTRF(K0+3))
415 Y1=X0(2,NSTRF(K0+4))-X0(2,NSTRF(K0+3))
416 Z1=X0(3,NSTRF(K0+4))-X0(3,NSTRF(K0+3))
417 X2=X0(1,NSTRF(K0+5))-X0(1,NSTRF(K0+4))
418 Y2=X0(2,NSTRF(K0+5))-X0(2,NSTRF(K0+4))
419 Z2=X0(3,NSTRF(K0+5))-X0(3,NSTRF(K0+4))
420 X3=Y1*Z2-Z1*Y2
421 Y3=Z1*X2-Z2*X1
422 Z3=X1*Y2-X2*Y1
423 N3=X3*X3+Y3*Y3+Z3*Z3
424
425 PNOR1=SQRT(X1*X1+Y1*Y1+Z1*Z1)
426 IF (PNOR1 < EM20) THEN
427 CALL ANCMSG(MSGID=508,
428 . MSGTYPE=MSGERROR,
429 . ANMODE=ANINFO_BLIND_1,
430 . I1=ID,
431 . C1=TITR)
432 ELSE
433 PNOR2=SQRT(N3)
434 IF (PNOR2 > EM20) THEN
435 PNORM1=ONE/(PNOR1*PNOR2)
436 DET1=ABS((Y3*Z1-Z3*Y1)*PNORM1)
437 DET2=ABS((Z3*X1-X3*Z1)*PNORM1)
438 DET3=ABS((X3*Y1-Y3*X1)*PNORM1)
439 DET= MAX(DET1,DET2,DET3)
440 ELSE
441 DET=ZERO
442 ENDIF
443 IF (DET < EM5) THEN
444 CALL ANCMSG(MSGID=508,
445 . MSGTYPE=MSGERROR,
446 . ANMODE=ANINFO_BLIND_1,
447 . I1=ID,
448 . C1=TITR)
449 ENDIF
450 ENDIF
451C
452C-------------------------------------------------------------------------
453C SOLIDES
454C--------------------------------------------------------------
455 CALL SECSTRI(NSEGS,NSTRF(K3),IXS,IXS10,IXS16,IXS20,NSTRF(K2),NNOD,ITAB,I,NOPRINT)
456 IF(NSTRF(K0)>=102)THEN
457 CALL ZERORE(1,10+30*NNOD,SECBUF(KR0))
458 ELSEIF(NSTRF(K0)>=101)THEN
459 CALL ZERORE(1,10+24*NNOD,SECBUF(KR0))
460 ELSEIF(NSTRF(K0)>=100)THEN
461 CALL ZERORE(1,10+12*NNOD,SECBUF(KR0))
462 ELSE
463 CALL ZERORE(1,10,SECBUF(KR0))
464 ENDIF
465 SECBUF(KR0) = DELTAT
466 SECBUF(KR0+1) = ZERO
467 SECBUF(KR0+2) = ALPHA
468 SECBUF(KR0+3) = ZERO
469
470.OR. IF(NSTRF(K0)==1NSTRF(K0)==2)THEN
471 IF(SECBUF(1)==ZERO)THEN
472 SECBUF(1) = DELTAT
473 ELSEIF(ABS((SECBUF(1)-DELTAT)/SECBUF(1)) > EM06 )THEN
474 CALL ANCMSG(MSGID=356,
475 . MSGTYPE=MSGERROR,
476 . ANMODE=ANINFO_BLIND_2,
477 . I1=ID,
478 . C1=TITR)
479 ENDIF
480 ENDIF
481
482.AND. IF(NSTRF(K0)>=1NSTRF(K0)<=10)THEN
483 NSTRF(1)=NSTRF(1)+1
484.AND. ELSEIF(NSTRF(K0)>=100NSTRF(K0)<=200)THEN
485 NSTRF(2)=NSTRF(2)+1
486 DO J=1,8
487 NSTRF(15+J)=NSTRF(K0+14+J)
488 ENDDO
489 ENDIF
490 IF(NSTRF(K0)==1)THEN
491 LREC = LREC+6*NNOD
492 ELSEIF(NSTRF(K0)==2)THEN
493 LREC = LREC+12*NNOD
494 ENDIF
495
496 NSTRF(K0+23) = ID
497 NSTRF(K0+24) = K9+2*NSEGTG
498 NSTRF(K0+25) = KR0+10
499 IF(NSTRF(K0)>=100)NSTRF(K0+25) = NSTRF(K0+25)+12*NNOD
500 IF(NSTRF(K0)>=101)NSTRF(K0+25) = NSTRF(K0+25)+12*NNOD
501 IF(NSTRF(K0)>=102)NSTRF(K0+25) = NSTRF(K0+25)+6*NNOD
502
503 KR0 = NSTRF(K0+25)
504 K0 = NSTRF(K0+24)
505C-------------------------------------------------------------
506 NODTAG = 0
507 TAGELEMS = 0
508 ENDDO
509 CALL UDOUBLE(SECTIDS,1,NSECT,MESS,0,BID)
510
511C file rec length
512 NSTRF(6)=LREC*4
513
514C-------------------------------------------------------------
515 2900 FORMAT(/' section',I10,' id',I10/
516 + ' ---------------'/
517 + ' TYPE . . . . . . . . . . . . . . .',I10/
518 + ' filename . . . . . . . . . . . . .',A/
519 + ' deltat . . . . . . . . . . . . . .',1PG20.13/
520 + ' alpha. . . . . . . . . . . . . . .',1PG20.13/
521 + ' frame TYPE . . . . . . . . . . . .',I10/
522 + ' number of interfaces . . . . . . .',I10/
523 + ' interfaces:')
524 2901 FORMAT(/' section',I10,' id',I10/
525 + ' ---------------'/
526 + ' TYPE . . . . . . . . . . . . . . .',I8/
527 + ' frame TYPE . . . . . . . . . . . .',I8/)
528 3000 FORMAT(/
529 + ' number of nodes. . . . . . . . . .',I10/
530 + ' nodes:')
531 3100 FORMAT(/
532 + ' number of shell elements . . . . .',I10/
533 + ' shell n1 n2 n3 n4')
534 3200 FORMAT(/
535 + ' number of 3 nodes shell elements .',I10/
536 + ' shell n1 n2 n3')
537 3300 FORMAT(/
538 + ' number of brick elements . . . . .',I10/
539 + ' brick n1 n2 n3 n4',
540 + ' n5 n6 n7 n8')
541 3400 FORMAT(/
542 + ' number of quad elements . . . . .',I10/
543 + ' quad n1 n2 n3 n4')
544 3500 FORMAT(/
545 + ' number of truss elements . . . . .',I10/
546 + ' truss n1 n2')
547 3600 FORMAT(/
548 + ' number of beam elements . . . . .',I10/
549 + ' beam n1 n2')
550 3700 FORMAT(/
551 + ' number of spring elements . . . . .',I8/
552 + ' spring n1 n2')
553C
554 DEALLOCATE(NODTAG)
555 DEALLOCATE(TAGELEMS)
556 RETURN
#define my_real
Definition cppsort.cpp:32
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
integer function elegror(igu, igrele, ngrele, mot, ibuf, nib, mess, nfram, tagelems, istyp, id, titr)
Definition elegror.F:34
#define alpha
Definition eval.h:35
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string(name, sval, size, is_available)
subroutine hm_option_start(entity_type)
#define max(a, b)
Definition macros.h:21
initmumps id
integer, parameter nchartitle
integer, parameter ncharfield
integer, parameter ncharline
subroutine section(nnod, n1, n2, n3, nstrf, x, v, vr, fsav, fopta, secfcum, ms, in, ifram, xsec)
Definition section.F:34
integer function nodgrnr5(igu, igs, ibuf, igrnod, itabm1, mess)
Definition freform.F:303
integer function usr2sys(iu, itabm1, mess, id)
Definition sysfus.F:160