43 . IDTITL ,UNITAB ,LSUBMODEL)
52 USE defbeam_sect_new_mod
57#include "implicit_f.inc"
62#include "tablen_c.inc"
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,NIP,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,ryi,rzi
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)
109 CALL hm_get_intv(
'Iref' ,iref,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)
114 CALL hm_get_intv(
'Translation_Wx2',ir2x,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)
133 IF (ismstr==3) geo(5)=ep06
142 IF (ismstr==2 .OR. ismstr==4)
THEN
144 ELSEIF (ismstr==1 .OR. ismstr==3)
THEN
158 IF (dr == zero) dr = em02
160 nip =
min(nip,nipmax)
174 . anmode=aninfo_blind_1,
185 ELSEIF (isect <= 6)
THEN
191 IF (intr == 0) intr = 2
192 IF ((l(2)==zero).AND.(l(1)> zero)) l(2) = l(1)
197 IF (l(1) == zero)
THEN
200 . anmode=aninfo_blind_1,
205 ELSEIF ((isect >= 10).AND.(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
217 . anmode=aninfo_blind_1,
230 . anmode=aninfo_blind_1,
237 . anmode=aninfo_blind_1,
250 . anmode=aninfo_blind_1,
262 . anmode=aninfo_blind_1,
269 IF (isect == 0.AND.iref == 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 IF(.NOT. is_encrypted)
THEN
305 WRITE(iout,1000)ig,iss,ir1x,ir1y,ir1z,ir2x,ir2y,ir2z,dm,dr,isect,l(1)
306 IF(isect==1.OR.isect==3)
THEN
307 WRITE(iout,1002) l(2)
308 ELSEIF ((isect >= 7).AND.(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 IF(geo( 3)/=zero.AND.igeo(5)== 0)igeo(5)=nint(geo(3))
339 IF(geo(171)/=zero.AND.igeo(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
349 prop_tag(igtyp)%G_SKEW = 3
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)
371 & 5x,
'SECOND SIZE OF SECTION L2 . . . . . . .=',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 IYY . . . . . . . . .=',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.171324492379170,
456 7 0.129484966168870,0.279705391489277,0.381830050505119,
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.333333333333333,
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. ,
519 9 0.027777777777778,0.165495361560806,0.274538712500162,
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.830223896278567,
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/
562 IF (intr < 1 .OR. intr > 9)
THEN
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)
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.
648 r1 = sqrt((six-sqr6)/ten)*l(1)
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
700 r1 = 0.5477225575*l(1)
701 r2 = 0.8062257748*l(1)
703 d2 = a_lobatto(4,5)*l(1)
709 geo(ipa+ip) = pi*r1*r1
710 ai = pi * (r2*r2 - r1*r1)/eight
712 geo(ipy+ip) = d2*cos(phi)
713 geo(ipz+ip) = d2*sin(phi)
718 ai = pi * (r3*r3 - r2*r2)/eight
720 geo(ipy+ip) = l(1)*cos(phi)
721 geo(ipz+ip) = l(1)*sin(phi)
725 ELSEIF (intr == 25)
THEN
729 r3 = 0.859124693*l(1)
731 d2 = a_lobatto(5,7)*l(1)
732 d3 = a_lobatto(6,7)*l(1)
733 d4 = a_lobatto(7,7)*l(1)
737 geo(ipa+ip) = pi*r1*r1
740 ai = pi * (r2*r2 - r1*r1)/eight
742 geo(ipy+ip) = d2*cos(phi)
743 geo(ipz+ip) = d2*sin(phi)
748 ai = pi * (r3*r3 - r2*r2)/eight
750 geo(ipy+ip) = d3*cos(phi)
751 geo(ipz+ip) = d3*sin(phi)
756 ai = pi * (r4*r4 - r3*r3)/eight
758 geo(ipy+ip) = d4*cos(phi)
759 geo(ipz+ip) = d4*sin(phi)
771 IF (intr /= 1.AND. intr /= 9 .AND. intr /= 17 )
THEN
774 . anmode=aninfo_blind_1,
778 ELSEIF (intr == 1)
THEN
783 ELSEIF (intr == 9)
THEN
789 geo(ipa+ip) = pi*r2*r2
793 ai = pi*(l(1)*l(1) - r2*r2)/eight
795 geo(ipy+ip) = l(1)*sin(phi)
796 geo(ipz+ip) = l(1)*cos(phi)
802 geo(ipy+ip) = r1*cos(phi)
803 geo(ipz+ip) = r1*sin(phi)
807 ELSEIF (intr == 17)
THEN
813 ai = pi * (r3*r3 - r2*r2)/eight
819 geo(ipa+ip) = pi*r1*r1
821 geo(ipy+ip) = l(1)*cos(phi)
822 geo(ipz+ip) = l(1)*sin(phi)
827 ai = pi * (r2*r2 - r1*r1)/eight
845 r2 = l(1) / sqrt(em20+nc)
848 len(i) = (r2 + r1*(sqr3-one)) / sqr3
850 r2 = l(1)*sqrt((i+one)/nc)
854 geo(ipy+ip) = len(i)*sin(phi)
855 geo(ipz+ip) = len(i)*cos(phi)