OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_thpart.F File Reference
#include "implicit_f.inc"
#include "scr03_c.inc"
#include "scr17_c.inc"
#include "units_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com10_c.inc"
#include "warn_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_thpart (ipart, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_thpart()

subroutine hm_read_thpart ( integer, dimension(lipart1,*) ipart,
type (group_), dimension(ngrbric) igrbric,
type (group_), dimension(ngrquad) igrquad,
type (group_), dimension(ngrshel) igrsh4n,
type (group_), dimension(ngrsh3n) igrsh3n,
type (group_), dimension(ngrtrus) igrtruss,
type (group_), dimension(ngrbeam) igrbeam,
type (group_), dimension(ngrspri) igrspring,
type(submodel_data), dimension(nsubmod) lsubmodel )

Definition at line 42 of file hm_read_thpart.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE message_mod
48 USE groupdef_mod
49 USE submodel_mod
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "scr03_c.inc"
60#include "scr17_c.inc"
61#include "units_c.inc"
62#include "com01_c.inc"
63#include "com04_c.inc"
64#include "com10_c.inc"
65#include "warn_c.inc"
66C-----------------------------------------------
67C D u m m y A r g u m e n t s
68C-----------------------------------------------
69 INTEGER IPART(LIPART1,*)
70 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
71 TYPE (GROUP_) , DIMENSION(NGRQUAD) :: IGRQUAD
72 TYPE (GROUP_) , DIMENSION(NGRSHEL) :: IGRSH4N
73 TYPE (GROUP_) , DIMENSION(NGRSH3N) :: IGRSH3N
74 TYPE (GROUP_) , DIMENSION(NGRTRUS) :: IGRTRUSS
75 TYPE (GROUP_) , DIMENSION(NGRBEAM) :: IGRBEAM
76 TYPE (GROUP_) , DIMENSION(NGRSPRI) :: IGRSPRING
77 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
78C-----------------------------------------------
79C L o c a l V a r i a b l e s
80C-----------------------------------------------
81 INTEGER PID,MID,SID,ID,I,IMID,IPID,ISID,K,ITH,IGTYP,N,GR,IGR
82 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
83 CHARACTER MESS*40,TYP*6
84 INTEGER IDS, CNT, FLAG_FMT, FLAG_FMT_TMP, IFIX_TMP,NGROU,ITYP
85 CHARACTER(LEN=NCHARKEY) :: KEY
86 LOGICAL IS_ENCRYPTED,IS_AVAILABLE,IS_FOUND_SURF
87 my_real bid
88C-----------------------------------------------
89C E x t e r n a l F u n c t i o n s
90C-----------------------------------------------
91 INTEGER NINTRI,NINTRIGR
92 DATA mess/' THPART DEFINITION '/
93C-----------------------------------------------
94C S o u r c e L i n e s
95C-----------------------------------------------
96 WRITE(iout,'(//A)')' THPARTS'
97 WRITE(iout,'(A//)')' -----'
98
99 is_encrypted = .false.
100 is_available = .false.
101 is_found_surf = .false.
102
103 igrelem = 0
104 IF(nthpart>0) igrelem = 1
105 CALL hm_option_start('/THPART')
106
107 DO i=1,nthpart
108
109 titr = ''
110 typ = ''
111 CALL hm_option_read_key(lsubmodel,option_id = id,option_titr = titr ,keyword2 = key )
112 CALL hm_option_is_encrypted(is_encrypted)
113
114 typ(1:6)=key(1:6)
115 titr1=titr
116 CALL fretitl(titr,ipart(lipart1-ltitr+1,npart+i),ltitr)
117 CALL hm_get_intv('grelem_ID', gr ,is_available,lsubmodel)
118
119C ITYP : 1 BRIC,
120C 2 QUAD,
121C 3 SHELL,
122C 4 TRUSS,
123C 5 BEAM,
124C 6 SPRINGS,
125C 7 SHELL_3N
126
127 ityp = 0
128 igr = 0
129
130 IF (typ(1:6) == 'GRBRIC') THEN
131 ityp = 1
132 igr = nintrigr(gr,igrbric,ngrbric)
133 IF (ityp == igrbric(igr)%GRTYPE) is_found_surf = .true.
134
135 ELSEIF (typ(1:6) == 'GRQUAD') THEN
136 ityp = 2
137 igr = nintrigr(gr,igrquad,ngrquad)
138 IF (ityp == igrquad(igr)%GRTYPE) is_found_surf = .true.
139
140 ELSEIF (typ(1:6) == 'GRSHEL') THEN
141 ityp = 3
142 igr = nintrigr(gr,igrsh4n,ngrshel)
143 IF (ityp == igrsh4n(igr)%GRTYPE) is_found_surf = .true.
144
145 ELSEIF (typ(1:6) == 'GRTRUS') THEN
146 ityp = 4
147 igr = nintrigr(gr,igrtruss,ngrtrus)
148 IF (ityp == igrtruss(igr)%GRTYPE) is_found_surf = .true.
149
150 ELSEIF (typ(1:6) == 'GRBEAM') THEN
151 ityp = 5
152 igr = nintrigr(gr,igrbeam,ngrbeam)
153 IF (ityp == igrbeam(igr)%GRTYPE) is_found_surf = .true.
154
155 ELSEIF (typ(1:6) == 'GRSPRI') THEN
156 ityp = 6
157 igr = nintrigr(gr,igrspring,ngrspri)
158 IF (ityp == igrspring(igr)%GRTYPE) is_found_surf = .true.
159
160 ELSEIF (typ(1:6) == 'GRSH3N' .OR. typ(1:6) == 'GRTRIA') THEN
161 ityp = 7
162 igr = nintrigr(gr,igrsh3n,ngrsh3n)
163 IF (ityp == igrsh3n(igr)%GRTYPE) is_found_surf = .true.
164 ENDIF
165
166 IF(.NOT. is_found_surf)THEN
167 CALL ancmsg(msgid=763,msgtype=msgerror,anmode=aninfo,i1=id,c1=titr,i2=gr,c2=typ(1:6))
168 ENDIF
169
170 WRITE(iout,'(/A,I10,2A)')'THPART:',id,',',TRIM(TITR)
171 WRITE(IOUT,'(a)') '----'
172 WRITE(IOUT,'(a,a)')'TYPE of element group : ',TYP(1:6)
173 WRITE(IOUT,'(a,i10)')'element group id : ',GR
174
175 IPART(1,NPART+I)=IGR
176 IPART(2,NPART+I)=ITYP
177 IPART(4,NPART+I)=ID
178
179 IF(IPART(4,NPART+I) == 0) THEN
180 CALL ANCMSG(MSGID=493,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_1,C1=TITR1)
181 ENDIF
182
183 ENDDO
184
185 !-------------------------------------
186 ! Recherche des ID doubles
187 !-------------------------------------
188 CALL UDOUBLE(IPART(4,1),LIPART1,NPART+NTHPART,MESS,0,BID)
189
190 RETURN
191C
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_option_start(entity_type)
initmumps id
integer, parameter nchartitle
integer, parameter ncharkey
integer function nintrigr(iext, igr, ngr)
Definition nintrr.F:872
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine fretitl(titr, iasc, l)
Definition freform.F:620