43 . IDTITL ,UNITAB ,LSUBMODEL)
52 USE defbeam_sect_new_mod
57#include "implicit_f.inc"
62#include "tablen_c.inc"
67 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
69 INTEGER IGTYP,IG,NBADI
72 CHARACTER(LEN=NCHARTITLE)::IDTITL
73 TYPE(
prop_tag_) ,
DIMENSION(0:MAXPROP) :: PROP_TAG
78 CHARACTER(LEN=NCHARFIELD) :: STRING
80 INTEGER I,J,IP,INTR,INTS,,NIPMAX,NC,NS,IPY,IPZ,IPA,IREF,ISECT,
81 . irx,ir1x,ir1y,ir1z,ir2x,ir2y,ir2z,iss
82 INTEGER IHBE,ISMSTR,ISHEAR,NB_DIM,ID_FORMAT,INTR_MAX
84 . dm,dr,py,pz,ai,yi,zi,wi,
area,y0,z0,l(6),pun
86 . area_i,tixx_i,tiyy_i,tizz_i, ari,ini
87 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
91 is_encrypted = .false.
92 is_available = .false.
106 CALL hm_get_intv(
'Ismstr',ismstr,is_available,lsubmodel)
107 CALL hm_get_intv(
'ISFLAG',isect,is_available,lsubmodel)
108 CALL hm_get_intv(
'NIP' ,nip,is_available,lsubmodel)
110 CALL hm_get_intv(
'NITRS' ,intr,is_available,lsubmodel)
111 CALL hm_get_intv(
'Translation_Wx1',ir1x,is_available,lsubmodel)
112 CALL hm_get_intv(
'Translation_Wy1',ir1y,is_available,lsubmodel)
113 CALL hm_get_intv(
'Translation_Wz1',ir1z,is_available,lsubmodel)
115 CALL hm_get_intv(
'Translation_Wy2',ir2y,is_available,lsubmodel)
116 CALL hm_get_intv(
'Translation_Wz2',ir2z,is_available,lsubmodel)
128 CALL HM_GET_FLOATV('l5
',L(5),IS_AVAILABLE,LSUBMODEL,UNITAB)
129 CALL HM_GET_FLOATV('l6
',L(6),IS_AVAILABLE,LSUBMODEL,UNITAB)
133 IF (ISMSTR==3) GEO(5)=EP06
142.OR.
IF (ISMSTR==2 ISMSTR==4) THEN
144.OR.
ELSEIF (ISMSTR==1 ISMSTR==3) THEN
158 IF (DR == ZERO) DR = EM02
160 NIP = MIN(NIP,NIPMAX)
167 CALL HM_GET_FLOAT_ARRAY_INDEX('y_ip
',PY,IP,IS_AVAILABLE,LSUBMODEL,UNITAB)
168 CALL HM_GET_FLOAT_ARRAY_INDEX('z_ip
',PZ,IP,IS_AVAILABLE,LSUBMODEL,UNITAB)
169 CALL HM_GET_FLOAT_ARRAY_INDEX('area_ip
',AI,IP,IS_AVAILABLE,LSUBMODEL,UNITAB)
172 CALL ANCMSG(MSGID=314,
174 . ANMODE=ANINFO_BLIND_1,
185 ELSEIF (ISECT <= 6) THEN
191 IF (INTR == 0) INTR = 2
192.AND.
IF ((L(2)==ZERO)(L(1)> ZERO)) L(2) = L(1)
194 CALL DEFBEAM_SECT(GEO,ISECT,INTR,NIP,AREA,L,IG,IDTITL)
197 IF (L(1) == ZERO) THEN
198 CALL ANCMSG(MSGID=2092,
200 . ANMODE=ANINFO_BLIND_1,
205.AND.
ELSEIF ((ISECT >= 10)(ISECT <= 31)) THEN
211 CALL DEFBEAM_SECT_NEW(GEO,NPROPG,ISECT,INTR,INTR_MAX,NIP,AREA,L,NB_DIM)
214 IF (INTR > INTR_MAX) THEN
215 CALL ANCMSG(MSGID=3060,
217 . ANMODE=ANINFO_BLIND_1,
228 CALL ANCMSG(MSGID=3059,
230 . ANMODE=ANINFO_BLIND_1,
235 CALL ANCMSG(MSGID=3059,
237 . ANMODE=ANINFO_BLIND_1,
248 CALL ANCMSG(MSGID=3061,
250 . ANMODE=ANINFO_BLIND_1,
260 CALL ANCMSG(MSGID=977,
262 . ANMODE=ANINFO_BLIND_1,
269.AND.
IF (ISECT == 0IREF == 0) THEN
273 Y0 = Y0 + GEO(IPY+IP)*GEO(IPA+IP)
274 Z0 = Z0 + GEO(IPZ+IP)*GEO(IPA+IP)
280 GEO(IPY+IP) = GEO(IPY+IP) - Y0
281 GEO(IPZ+IP) = GEO(IPZ+IP) - Z0
284 IRX = MIN(1,IR1X+IR2X)
296 INI = ARI*ARI*ONE_OVER_12
299 AREA_I = AREA_I + ARI
300 TIYY_I = TIYY_I + INI + ARI * RYI*RYI
301 TIZZ_I = TIZZ_I + INI + ARI * RZI*RZI
303 TIXX_I = TIYY_I + TIZZ_I
304.NOT.
IF( IS_ENCRYPTED)THEN
305 WRITE(IOUT,1000)IG,ISS,IR1X,IR1Y,IR1Z,IR2X,IR2Y,IR2Z,DM,DR,ISECT,L(1)
306.OR.
IF(ISECT==1ISECT==3) THEN
307 WRITE(IOUT,1002) L(2)
308.AND.
ELSEIF ((ISECT >= 7)(NB_DIM > 1)) THEN
309 IF (NB_DIM > 1) WRITE(IOUT,1002) L(2)
310 IF (NB_DIM > 2) WRITE(IOUT,1203) L(3)
311 IF (NB_DIM > 3) WRITE(IOUT,1204) L(4)
312 IF (NB_DIM > 4) WRITE(IOUT,1205) L(5)
313 IF (NB_DIM > 5) WRITE(IOUT,1206) L(6)
317 WRITE(IOUT,1010) IP,Y0+GEO(IPY+IP),Z0+GEO(IPZ+IP),
320 WRITE(IOUT,1100)AREA_I,TIYY_I,TIZZ_I,TIXX_I
338.AND.
IF(GEO( 3)/=ZEROIGEO(5)== 0)IGEO(5)=NINT(GEO(3))
339.AND.
IF(GEO(171)/=ZEROIGEO(10)== 0) IGEO(10)=NINT(GEO(171))
345 PROP_TAG(IGTYP)%G_FOR = 3
346 PROP_TAG(IGTYP)%G_MOM = 3
347 PROP_TAG(IGTYP)%G_EINT = 2
348 PROP_TAG(IGTYP)%G_LENGTH = 1 ! total length
349 PROP_TAG(IGTYP)%G_SKEW = 3 ! local skew (RLOC)
350 PROP_TAG(IGTYP)%L_SIG = 3
351 PROP_TAG(IGTYP)%L_STRA = 3
357 & 5X,'integrated beam property set(
TYPE 18)
'/,
358 & 5X,'property set number . . . . . . . . . .=
',I10/,
359 & 5X,'small strain flag . . . . . . . . . . .=
',I10/,
360 & 5X,'node 1 local rotation release x dir.. .=
',I10/,
361 & 5X,'node 1 local rotation release y dir.. .=
',I10/,
362 & 5X,'node 1 local rotation release z dir.. .=
',I10/,
363 & 5X,'node 2 local rotation release x dir.. .=
',I10/,
364 & 5X,'node 2 local rotation release y dir.. .=
',I10/,
365 & 5X,'node 2 local rotation release z dir.. .=
',I10/,
366 & 5X,'beam structural membrane
damping. . . .=
',1PG20.13/,
367 & 5X,'beam structural flexural
damping. . . .=
',1PG20.13/,
368 & 5X,'section type. . . . . . . . . . . . . .=
',I10/,
369 & 5X,'first
SIZE of
section l1. . . . . . . .=
',1PG20.13)
373 & 5X,'number of integration points. . . . . .=
',I10//,
374 & 5X,'integration points:
')
376 & 5X,'point no: . . . . . . . . . . . . . =
',I10/,
377 & 8X,'local y position. . . . . . . . . . =
',1PG20.13/,
378 & 8X,'local z position. . . . . . . . . . =
',1PG20.13/,
379 & 8X,'point
area. . . . . . . . . . . . . =
',1PG20.13)
381 & 5X,'integrated beam property set(
TYPE 18)
'/,
382 & 5X,'property set number . . . . . . . . . .=
',I10,
383 & 5X,'confidential data
'//)
385 & 5X,'beam
area . . . . . . . . . . . . . . .=
',1PG20.13/,
386 & 5X,'moment of inertia
',1PG20.13/,
387 & 5X,'moment of inertia izz . . . . . . . . .=
',1PG20.13/,
388 & 5X,'moment of inertia ixx . . . . . . . . .=
',1PG20.13/)
391 & 5X,'third
SIZE of
section l3. . . . . . . .=
',1PG20.13)
393 & 5X,'fourth
SIZE of
section l4 . . . . . . .=
',1PG20.13)
395 & 5X,'fifth
SIZE of
section l5. . . . . . . .=',1pg20.13)
397 & 5x,
'SIXTH SIZE OF SECTION L6. . . . . . . .=',1pg20.13)
418#include
"implicit_f.inc"
422#include "param_c.inc"
426 INTEGER ISECT,INTR,NIP,IG
429 CHARACTER(LEN=NCHARTITLE)::IDTITL
433 INTEGER I,J,IP,NC,NS,IPY,IPZ,IPA
434 my_real AI,YI,ZI,WI,PHI,DPHI,R1,R2,R3,R4,D2, D3, D4
435 my_real w_gauss(9,9),a_gauss(9,9),w_lobatto(9,9),a_lobatto(9,9),len(10)
444 3 0.555555555555556,0.888888888888889,0.555555555555556,
447 4 0.347854845137454,0.652145154862546,0.652145154862546,
448 4 0.347854845137454,0. ,0.
450 5 0.236926885056189,0.478628670499366,0.568888888888889,
451 5 0.478628670499366,0.236926885056189,0. ,
453 6 0.171324492379170,0.360761573048139,0.467913934572691,
454 6 0.467913934572691,0.360761573048139,0.
457 7 0.417959183673469,0.381830050505119,0.279705391489277,
458 7 0.129484966168870,0. ,0. ,
459 8 0.101228536290376,0.222381034453374,0.313706645877887,
460 8 0.362683783378362,0.362683783378362,0.313706645877887,
461 8 0.222381034453374,0.101228536290376,0. ,
462 9 0.081274388361574,0.180648160694857,0.260610696402935,
463 9 0.312347077040003,0.330239355001260,0.312347077040003,
464 9 0.260610696402935,0.180648160694857,0.081274388361574/
469 2 -.577350269189626,0.577350269189626,0. ,
472 3 -.774596669241483,0. ,0.774596669241483,
475 4 -.861136311594053,-.339981043584856,0.339981043584856,
476 4 0.861136311594053,0. ,0. ,
478 5 -.906179845938664,-.538469310105683,0. ,
479 5 0.538469310105683,0.906179845938664,0. ,
481 6 -.932469514203152,-.661209386466265,-.238619186083197,
482 6 0.238619186083197,0.661209386466265,0.932469514203152,
484 7 -.949107912342759,-.741531185599394,-.405845151377397,
485 7 0. ,0.405845151377397,0.741531185599394,
486 7 0.949107912342759,0. ,0. ,
487 8 -.960289856497536,-.796666477413627,-.525532409916329,
488 8 -.183434642495650,0.183434642495650,0.525532409916329,
489 8 0.796666477413627,0.960289856497536,0. ,
490 9 -.968160239507626,-.836031107326636,-.613371432700590,
491 9 -.324253423403809,0. ,0.324253423403809,
492 9 0.613371432700590,0.836031107326636,0.968160239507626/
501 3 0.333333333333333,1.333333333333333,0.3
504 4 0.166666666666667,0.833333333333333,0.833333333333333,
505 4 0.166666666666667,0. ,0. ,
507 5 0.100000000000000,0.544444444444444,0.711111111111111,
508 5 0.544444444444444,0.100000000000000,0. ,
510 6 0.066666666666667,0.378474956297847,0.554858377035486,
511 6 0.554858377035486,0.378474956297847,0.066666666666667,
513 7 0.047619047619048,0.276826047361566,0.431745381209863,
514 7 0.487619047619048,0.431745381209863,0.276826047361566,
515 7 0.047619047619048,0. ,0. ,
516 8 0.035714285714286,0.210704227143506,0.341122692483504,
517 8 0.412458794658704,0.412458794658704,0.341122692483504,
518 8 0.210704227143506,0.035714285714286,0. ,
520 9 0.346428510973046,0.371519274376417,0.346428510973046,
521 9 0.274538712500162,0.165495361560806,0.027777777777778/
526 2 -1.00000000000000,1.000000000000000,0. ,
529 3 -1.00000000000000,0. ,1.000000000000000,
532 4 -1.00000000000000,-.447213595499958,0.447213595499958,
533 4 1.000000000000000,0. ,0. ,
535 5 -1.00000000000000,-.654653670707977,0. ,
536 5 0.654653670707977,1.000000000000000,0. ,
538 6 -1.00000000000000,-.765055323929465,-.285231516480645,
539 6 0.285231516480645,0.765055323929465,1.000000000000000,
541 7 -1.00000000000000,-.830223896278567,-.468848793470714,
542 7 0. ,0.468848793470714,0.830223896
543 7 1.000000000000000,0. ,0. ,
544 8 -1.00000000000000,-.871740148509607,-.591700181433142,
545 8 -.209299217902479,0.209299217902479,0.591700181433142,
546 8 0.871740148509607,1.000000000000000,0. ,
547 9 -1.00000000000000,-.899757995411460,-.677186279510737,
548 9 -.363117463826178,0. ,0.363117463826178,
549 9 0.677186279510737,0.899757995411460,1.000000000000000/
564 ELSEIF (intr == 1)
THEN
578 geo(ipy+ip)=a_gauss(i,intr)*r1
579 geo(ipz+ip)=a_gauss(j,intr)*r2
580 geo(ipa+ip)=w_gauss(i,intr)*w_gauss(j,intr)*ai
589 IF (intr < 1 .OR. intr > 9)
THEN
591 ELSEIF (intr == 1)
THEN
596 ELSEIF (intr == 2)
THEN
604 geo(ipy+ip) = r1*sin(phi)
605 geo(ipz+ip) = r1*cos(phi)
609 ELSEIF (intr == 3)
THEN
615 geo(ipa+ip) = ai*four
620 geo(ipy+ip) = r1*sin(phi)
621 geo(ipz+ip) = r1*cos(phi)
625 ELSEIF (intr == 4)
THEN
632 geo(ipa+ip) = area*fourth
636 geo(ipy+ip) = r1*sin(phi)
637 geo(ipz+ip) = r1*cos(phi)
641 ELSEIF (intr == 5)
THEN
646 geo(ipa+ip) = area/nine
647 ai = area*(sixteen + sqr6)/360.
651 geo(ipy+ip) = r1*cos(phi*ip)
652 geo(ipz+ip) = r1*sin(phi*ip)
655 ai = area*(sixteen - sqr6)/360.
656 r1 = sqrt((six+sqr6)/ten)*l(1)
658 geo(ipy+ip) = r1*cos(phi*ip)
659 geo(ipz+ip) = r1*sin(phi*ip)
668 IF (intr < 1 .OR. intr > 9)
THEN
671 . anmode=aninfo_blind_1,
674 ELSEIF (intr == 1)
THEN
688 geo(ipy+ip)=a_lobatto(i,intr)*r1
689 geo(ipz+ip)=a_lobatto(j,intr)*r2
690 geo(ipa+ip)=w_lobatto(i,intr)*w_lobatto(j,intr)*ai
699 r1 = 0.5477225575*l(1)
700 r2 = 0.8062257748*l(1)
702 d2 = a_lobatto(4,5)*l(1)
708 geo(ipa+ip) = pi*r1*r1
709 ai = pi * (r2*r2 - r1*r1)/eight
711 geo(ipy+ip) = d2*cos(phi)
712 geo(ipz+ip) = d2*sin(phi)
717 ai = pi * (r3*r3 - r2*r2)/eight
719 geo(ipy+ip) = l(1)*cos(phi)
720 geo(ipz+ip) = l(1)*sin(phi)
724 ELSEIF (intr == 25)
THEN
728 r3 = 0.859124693*l(1)
730 d2 = a_lobatto(5,7)*l(1)
731 d3 = a_lobatto(6,7)*l(1)
732 d4 = a_lobatto(7,7)*l(1)
736 geo(ipa+ip) = pi*r1*r1
739 ai = pi * (r2*r2 - r1*r1)/eight
741 geo(ipy+ip) = d2*cos(phi)
742 geo(ipz+ip) = d2*sin(phi)
747 ai = pi * (r3*r3 - r2*r2)/eight
749 geo(ipy+ip) = d3*cos(phi)
750 geo(ipz+ip) = d3*sin(phi)
755 ai = pi * (r4*r4 - r3*r3)/eight
757 geo(ipy+ip) = d4*cos(phi)
758 geo(ipz+ip) = d4*sin(phi)
770 IF (intr /= 1.AND. intr /= 9 .AND. intr /= 17 )
THEN
773 . anmode=aninfo_blind_1,
777 ELSEIF (intr == 1)
THEN
782 ELSEIF (intr == 9)
THEN
788 geo(ipa+ip) = pi*r2*r2
792 ai = pi*(l(1)*l(1) - r2*r2)/eight
794 geo(ipy+ip) = l(1)*sin(phi)
795 geo(ipz+ip) = l(1)*cos(phi)
801 geo(ipy+ip) = r1*cos(phi)
802 geo(ipz+ip) = r1*sin(phi)
806 ELSEIF (intr == 17)
THEN
812 ai = pi * (r3*r3 - r2*r2)/eight
818 geo(ipa+ip) = pi*r1*r1
820 geo(ipy+ip) = l(1)*cos(phi)
821 geo(ipz+ip) = l(1)*sin(phi)
826 ai = pi * (r2*r2 - r1*r1)/eight
828 geo(ipy+ip) = d2*cos(phi)
829 geo(ipz+ip) = d2*sin(phi)
844 r2 = l(1) / sqrt(em20+nc)
847 len(i) = (r2 + r1*(sqr3-one)) / sqr3
849 r2 = l(1)*sqrt((i+one)/nc)
853 geo(ipy+ip) = len(i)*sin(phi)
854 geo(ipz+ip) = len(i)*cos(phi)