OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_prop_generic.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| hm_read_prop_generic ../starter/source/properties/hm_read_prop_generic.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_properties ../starter/source/properties/hm_read_properties.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| fretitl2 ../starter/source/starter/freform.F
30!|| hm_read_prop28 ../starter/source/properties/xelem/hm_read_prop28.F
31!|| hm_read_prop32 ../starter/source/properties/spring/hm_read_prop32.F
32!|| hm_read_prop33 ../starter/source/properties/spring/hm_read_prop33.F
33!|| hm_read_prop34 ../starter/source/properties/sph/hm_read_prop34.F
34!|| hm_read_prop35 ../starter/source/properties/spring/hm_read_prop35.F
35!|| hm_read_prop36 ../starter/source/properties/spring/hm_read_prop36.F
36!|| hm_read_prop43 ../starter/source/properties/solid/hm_read_prop43.F
37!|| hm_read_prop44 ../starter/source/properties/spring/hm_read_prop44.F
38!|| hm_read_prop45 ../starter/source/properties/spring/hm_read_prop45.F
39!|| hm_read_prop46 ../starter/source/properties/spring/hm_read_prop46.F
40!|| hm_read_prop_user ../starter/source/properties/user_spring_solid/hm_read_prop_user.F
41!|| hm_read_prop_user4 ../starter/source/properties/user_spring_solid/hm_read_prop_user4.F
42!||--- uses -----------------------------------------------------
43!|| defaults_mod ../starter/source/modules/defaults_mod.f90
44!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
45!|| message_mod ../starter/share/message_module/message_mod.F
46!|| reader_old_mod ../starter/share/modules1/reader_old_mod.F90
47!|| submodel_mod ../starter/share/modules1/submodel_mod.F
48!||====================================================================
50 1 IGTYP ,IG ,IDTITL ,KEYTYPE ,GEO ,
51 2 IGEO ,LBUFGEO ,BUFGEO ,IADBUF ,UNITAB ,
52 3 ISKN ,KNOT ,IAD_KNOT,PROP_TAG ,LSUBMODEL,
53 4 RTRANS ,SUB_ID ,IUNIT ,SUB_INDEX,DEFAULTS )
54C-----------------------------------------------
55C M o d u l e s
56C-----------------------------------------------
57 USE unitab_mod
58 USE message_mod
59 USE elbuftag_mod
61 USE defaults_mod
63 USE reader_old_mod , ONLY : kline
64C-----------------------------------------------
65C I m p l i c i t T y p e s
66C-----------------------------------------------
67#include "implicit_f.inc"
68C-----------------------------------------------
69C C o m m o n B l o c k s
70C-----------------------------------------------
71#include "com01_c.inc"
72#include "com04_c.inc"
73#include "scr17_c.inc"
74#include "scr19_c.inc"
75#include "units_c.inc"
76#include "param_c.inc"
77#include "tablen_c.inc"
78C-----------------------------------------------
79C D u m m y A r g u m e n t s
80C-----------------------------------------------
81C INPUT ARGUMENTS
82 CHARACTER(LEN=NCHARTITLE),INTENT(IN):: IDTITL
83 CHARACTER(LEN=NCHARLINE) :: KEYTYPE
84 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
85 INTEGER,INTENT(IN):: IG,ISKN(LISKN,*),SUB_ID,IUNIT,SUB_INDEX
86 my_real ,INTENT(IN):: rtrans(ntransf,*)
87 TYPE(submodel_data),INTENT(IN) :: LSUBMODEL(NSUBMOD)
88C OUTPUT ARGUMENTS
89 INTEGER,INTENT(OUT):: IGTYP
90C MODIFIED ARGUMENT
91 INTEGER,INTENT(INOUT) :: IGEO(NPROPGI), LBUFGEO, IADBUF, IAD_KNOT
92 my_real ,INTENT(INOUT)::
93 . geo(npropg), knot(*)
94 DOUBLE PRECISION,INTENT(INOUT):: BUFGEO(*)
95 TYPE(prop_tag_) , DIMENSION(0:MAXPROP),INTENT(INOUT) :: PROP_TAG
96 TYPE(defaults_), INTENT(IN) :: DEFAULTS
97C-----------------------------------------------
98C L o c a l V a r i a b l e s
99C-----------------------------------------------
100 INTEGER ISKW,IADFUN,IADMAT,IADPID,IADTAB
101 INTEGER I, ILAW,NPG,JCVT,NUVAR(2)
102 my_real PARGEO(100),STIF,TTHICK
103 my_real QA,QB
104 CHARACTER FILNAM*512,CLAW*4
105 INTEGER LEN_FILNAM
106 CHARACTER(LEN=NCHARTITLE) :: TITR
107C=======================================================================
108c------------------------------
109 DO i = 1,100
110 pargeo(i) = zero
111 ENDDO
112C
113 DO i = 1, bgeosize
114 bufgeo0(i) = zero
115 ENDDO
116C
117 nuvar(1)= 0
118 nuvar(2)= 0
119 nuparam = 0
120 njfunc = 0
121 njmat = 0
122 njpid = 0
123 njtab = 0
124C
125 igeo(1) =ig
126 igeo(5) = 4 ! ISMSTR
127C
128 CALL fretitl2(titr,igeo(npropgi-ltitr+1),ltitr)
129C
130 SELECT CASE(keytype(1:len_trim(keytype)))
131
132 CASE ('TYPE28','NSTRAND')
133 igtyp =28
134 CALL hm_read_prop28(iout , nuvar ,pargeo,unitab,ig,
135 . titr ,igtyp ,prop_tag,lsubmodel,iunit)
136
137 CASE ('TYPE32','SPR_PRE')
138 igtyp =32
139 CALL hm_read_prop32(iout , nuvar ,pargeo,unitab,ig,
140 . igtyp,prop_tag,titr,lsubmodel)
141
142 CASE ('TYPE33','KJOINT')
143 igtyp =33
144 CALL hm_read_prop33(iout ,nuvar ,pargeo,unitab,
145 . iunit ,ig ,titr ,prop_tag,
146 . igtyp ,lsubmodel)
147
148 CASE ('TYPE34','SPH')
149 igtyp =34
150 CALL hm_read_prop34(geo,igeo,iout,nuvar,pargeo,
151 . qa,qb,iskn,ig,titr,unitab,
152 . prop_tag,igtyp,lsubmodel)
153
154 CASE ('TYPE35','STITCH')
155 igtyp =35
156 CALL hm_read_prop35(iout , nuvar ,pargeo,unitab,
157 . ig,igtyp ,prop_tag,lsubmodel)
158
159 CASE ('TYPE36','PREDIT')
160 igtyp =36
161 CALL hm_read_prop36(iout , nuvar ,pargeo,unitab,
162 . iskn,ig,titr,igtyp,prop_tag,geo,
163 . lsubmodel,sub_index)
164 CASE ('USER4')
165C--------------------------------------------------
166C rupture property for interface type 2
167C ( not a true user property )
168C--------------------------------------------------
169 igtyp=37
170 CALL hm_read_prop_user4(iout ,nuvar ,pargeo ,unitab ,lsubmodel)
171
172
173 CASE ('TYPE43','CONNECT')
174 igtyp=43
175 CALL hm_read_prop43(geo ,igeo ,iout ,ig ,
176 . nuvar ,pargeo ,igtyp ,prop_tag,
177 . unitab ,lsubmodel,defaults%SOLID)
178
179 CASE ('TYPE44','SPR_CRUS')
180 igtyp=44
181 CALL hm_read_prop44(iout ,ig ,nuvar ,pargeo,
182 . unitab,iskn ,igeo ,titr ,igtyp ,
183 . prop_tag,lsubmodel ,sub_index,iunit)
184
185 CASE ('TYPE45','KJOINT2')
186 igtyp =45
187 CALL hm_read_prop45(iout , nuvar ,pargeo,unitab,igtyp,
188 . ig,prop_tag,titr,lsubmodel,iunit)
189
190 CASE ('TYPE46','SPR_MUSCLE')
191 igtyp =46
192 CALL hm_read_prop46(iout , nuvar ,pargeo,unitab,igtyp,
193 . ig,prop_tag,titr,lsubmodel,iunit)
194
195 CASE ('TYPE29','TYPE30','TYPE31',
196 . 'USER1' ,'USER2' ,'USER3')
197C--------------------------------------------------
198C HM READING PROPERTY USERnn
199C--------------------------------------------------
201 . iout ,nuvar ,pargeo ,unitab,igtyp,
202 . ig ,titr ,lsubmodel,iunit ,iskn ,
203 . keytype ,prop_tag)
204!
205 CASE DEFAULT
206 CALL ancmsg(msgid=1647,anmode=aninfo,msgtype=msgerror,
207 . i1=ig,c1='titr',I2=IGTYP) ! This message can not occur !
208
209 END SELECT
210C
211 IGEO(11)=IGTYP
212 GEO(12) =IGTYP+EM01
213C-----
214 LBUFGEO = LBUFGEO + NUPARAM + NJFUNC + NJMAT + NJPID + NJTAB
215C
216 DO I=1,NUPARAM
217 BUFGEO(IADBUF+I-1)=BUFGEO0(I)
218 ENDDO
219 IADFUN = IADBUF + NUPARAM
220 DO I=1,NJFUNC
221 BUFGEO(IADFUN+I-1)=JFUNC(I)
222 ENDDO
223 IADMAT = IADFUN + NJFUNC
224 DO I=1,NJMAT
225 BUFGEO(IADMAT+I-1)=JMAT(I)
226 ENDDO
227 IADPID = IADMAT + NJMAT
228 DO I=1,NJPID
229 BUFGEO(IADPID+I-1)=JPID(I)
230 ENDDO
231 IADTAB = IADPID + NJPID
232 DO I=1,NJTAB
233 BUFGEO(IADTAB+I-1)=JTAB(I)
234 ENDDO
235C
236 ISKW = NINT(PARGEO(1))
237 STIF = PARGEO(2)
238 IFRWV = MAX(IFRWV,NINT(PARGEO(3)))
239 NPG = NINT(PARGEO(4))
240 JCVT = NINT(PARGEO(5))
241C
242.AND. IF (ISKW == 0 IGTYP /= 34) ISKW = 1
243 GEO(2)=ISKW
244 IGEO(2)=ISKW
245 IGEO(4)=NPG
246 GEO(3)=STIF
247 GEO(8)=5
248 GEO(25) = NUVAR(1)
249 GEO(26) = NUPARAM
250 GEO(27) = IADBUF
251 GEO(28) = NJFUNC
252 GEO(29) = IADFUN
253 GEO(30) = NJMAT
254 GEO(31) = IADMAT
255 GEO(32) = NJPID
256 GEO(33) = IADPID
257 GEO(35) = NUVAR(2)
258 GEO(36) = NJTAB
259 GEO(37) = IADTAB
260C
261 IGEO(16) = JCVT
262 IGEO(27) = NUVAR(1)
263 IGEO(28) = NUVAR(2)
264 IGEO(52) = NUPARAM
265 IGEO(53) = NJFUNC
266 IGEO(54) = NJMAT
267 IGEO(55) = NJPID
268 IGEO(56) = NJTAB
269 IGEO(57) = IADBUF
270 IGEO(58) = IADFUN
271 IGEO(59) = IADMAT
272 IGEO(60) = IADPID
273 IGEO(61) = IADTAB
274C-----------
275 IADBUF = IADTAB + NJTAB
276C-----------
277.and..or..and. IF (IGTYP > 28 IGTYP < 32 IGTYP > 36 IGTYP < 43) THEN ! prop user
278 PROP_TAG(IGTYP)%G_SIG = 6
279 PROP_TAG(IGTYP)%G_VOL = 1
280 PROP_TAG(IGTYP)%G_EINT = 1
281 PROP_TAG(IGTYP)%G_OFF = 1
282 PROP_TAG(IGTYP)%G_FILL = 1
283 PROP_TAG(IGTYP)%L_SIG = 6
284 PROP_TAG(IGTYP)%L_VOL = 1
285 PROP_TAG(IGTYP)%L_EINT = 1
286 PROP_TAG(IGTYP)%L_OFF = 1
287 PROP_TAG(IGTYP)%NUVAR = IGEO(27) ! User solid property
288 IGEO(4) = 1 ! NPT
289 PROP_TAG(IGTYP)%L_SIG = 6
290 PROP_TAG(IGTYP)%L_VOL = 1
291 PROP_TAG(IGTYP)%L_EINT = 1
292 ENDIF ! IF (IGTYP)
293C-----------
294 RETURN
295
296 RETURN
297 END
298
#define my_real
Definition cppsort.cpp:32
subroutine hm_read_prop28(iout, nuvar, pargeo, unitab, id, titr, igtyp, prop_tag, lsubmodel, iunit)
subroutine hm_read_prop32(iout, nuvar, pargeo, unitab, ig, igtyp, prop_tag, titr, lsubmodel)
subroutine hm_read_prop33(iout, nuvar, pargeo, unitab, iunit, id, titr, prop_tag, igtyp, lsubmodel)
subroutine hm_read_prop34(geo, igeo, iout, nuvar, pargeo, qa, qb, iskn, ig, titr, unitab, prop_tag, igtyp, lsubmodel)
subroutine hm_read_prop35(iout, nuvar, pargeo, unitab, id, igtyp, prop_tag, lsubmodel)
subroutine hm_read_prop36(iout, nuvar, pargeo, unitab, iskn, ig, titr, igtyp, prop_tag, geo, lsubmodel, sub_id)
subroutine hm_read_prop43(geo, igeo, iout, ig, nuvar, pargeo, igtyp, prop_tag, unitab, lsubmodel, defaults_solid)
subroutine hm_read_prop44(iout, ig, nuvar, pargeo, unitab, iskn, igeo, titr, igtyp, prop_tag, lsubmodel, sub_id, iunit)
subroutine hm_read_prop45(iout, nuvar, pargeo, unitab, igtyp, id, prop_tag, titr, lsubmodel, iunit)
subroutine hm_read_prop46(iout, nuvar, pargeo, unitab, igtyp, id, prop_tag, titr, lsubmodel, iunit)
subroutine hm_read_prop_generic(igtyp, ig, idtitl, keytype, geo, igeo, lbufgeo, bufgeo, iadbuf, unitab, iskn, knot, iad_knot, prop_tag, lsubmodel, rtrans, sub_id, iunit, sub_index, defaults)
subroutine hm_read_prop_user4(iout, nuvar, pargeo, unitab, lsubmodel)
subroutine hm_read_prop_user(iout, nuvar, pargeo, unitab, igtyp, ig, title, lsubmodel, iunit, iskn, key, prop_tag)
integer, parameter nchartitle
integer, parameter ncharline
integer nsubmod
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 fretitl2(titr, iasc, l)
Definition freform.F:804
program starter
Definition starter.F:39