OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_prop03.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_prop03 ../starter/source/properties/beam/hm_read_prop03.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!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
30!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
31!|| hm_option_is_encrypted ../starter/source/devtools/hm_reader/hm_option_is_encrypted.F
32!||--- uses -----------------------------------------------------
33!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
34!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
35!|| message_mod ../starter/share/message_module/message_mod.F
36!|| submodel_mod ../starter/share/modules1/submodel_mod.F
37!||====================================================================
38 SUBROUTINE hm_read_prop03(GEO ,IGEO ,PROP_TAG ,IGTYP ,IG ,
39 . IDTITL ,UNITAB ,LSUBMODEL)
40C============================================================================
41C M o d u l e s
42C-----------------------------------------------
43 USE unitab_mod
44 USE elbuftag_mod
45 USE message_mod
46 USE submodel_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "units_c.inc"
57#include "com01_c.inc"
58#include "tablen_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
63 INTEGER IGEO(*)
64 INTEGER IGTYP,IG
66 . geo(*)
67 CHARACTER(LEN=NCHARTITLE)::IDTITL
68 TYPE(prop_tag_) , DIMENSION(0:MAXPROP) :: PROP_TAG
69 TYPE(submodel_data),INTENT(IN)::LSUBMODEL(*)
70C-----------------------------------------------
71C L o c a l V a r i a b l e s
72C-----------------------------------------------
73 INTEGER ISMSTR,ISHEAR,IHBE,
74 . ihbe_old,
75 . ir1x, ir1y, ir1z, ir2x, ir2y, ir2z,irx
77 . pun,cvis
78 CHARACTER(LEN=NCHARFIELD) :: STRING
79 CHARACTER CHROT*7
80 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
81C-----------------------------------------------
82C E x t e r n a l F u n c t i o n s
83C-----------------------------------------------
84 DATA pun/0.1/
85C=======================================================================
86C
87 is_encrypted = .false.
88 is_available = .false.
89C--------------------------------------------------
90C OLD HIDDEN FLAGS - SET TO ZERO
91C--------------------------------------------------
92 ihbe=0
93 ismstr=0
94 cvis=0
95C--------------------------------------------------
96C EXTRACT DATA (IS OPTION CRYPTED)
97C--------------------------------------------------
98 CALL hm_option_is_encrypted(is_encrypted)
99C--------------------------------------------------
100C EXTRACT DATAS (INTEGER VALUES)
101C--------------------------------------------------
102 CALL hm_get_intv('Ismstr',ismstr,is_available,lsubmodel)
103 CALL hm_get_intv('Translation_Wx1',ir1x,is_available,lsubmodel)
104 CALL hm_get_intv('Translation_Wy1',ir1y,is_available,lsubmodel)
105 CALL hm_get_intv('Translation_Wz1',ir1z,is_available,lsubmodel)
106 CALL hm_get_intv('Translation_Wx2',ir2x,is_available,lsubmodel)
107 CALL hm_get_intv('Translation_Wy2',ir2y,is_available,lsubmodel)
108 CALL hm_get_intv('Translation_Wz2',ir2z,is_available,lsubmodel)
109 CALL hm_get_intv('ISHEAR',ishear,is_available,lsubmodel)
110C--------------------------------------------------
111C EXTRACT DATAS (REAL VALUES)
112C--------------------------------------------------
113 CALL hm_get_floatv('MAT_Dm',geo(16),is_available,lsubmodel,unitab)
114 CALL hm_get_floatv('MAT_Df',geo(17),is_available,lsubmodel,unitab)
115 CALL hm_get_floatv('AREA',geo(1),is_available,lsubmodel,unitab)
116 CALL hm_get_floatv('IYY',geo(2),is_available,lsubmodel,unitab)
117 CALL hm_get_floatv('IZZ',geo(18),is_available,lsubmodel,unitab)
118 CALL hm_get_floatv('IXX',geo(4),is_available,lsubmodel,unitab)
119C----------------------
120C
121C----------------------
122 IF(n2d>0.AND.ihbe/=0.AND.ihbe/=2)THEN
123 ihbe_old=ihbe
124 ihbe=0
125 CALL ancmsg(msgid=321,
126 . msgtype=msgwarning,
127 . anmode=aninfo_blind_2,
128 . i1=ig,
129 . c1=idtitl,
130 . i2=ihbe_old,
131 . i3=ihbe)
132 ENDIF
133C
134 geo(3)=ismstr
135 IF ((ismstr==3).OR.(ismstr==1)) geo(5)=ep06
136C double stockage temporaire - supprimer GEO(12)=IGTYP apres tests
137 igeo( 1)=ig
138 igeo(10)=ihbe
139 igeo(11)=igtyp
140 geo(12) =igtyp+pun
141 geo(171)=ihbe
142C
143C----------------------
144C
145 IF(ismstr==2.OR.ismstr==4)THEN
146 ismstr=0
147 ELSEIF(ismstr==1.OR.ismstr==3)THEN
148 ismstr=1
149 ENDIF
150 IF(geo(17)==zero) geo(17)=em02
151C
152 irx=min(1,ir1x+ir2x)
153 geo(7)= 1.1-irx
154 geo(8)= 1.1-ir1y
155 geo(9)= 1.1-ir1z
156 geo(10)=1.1-ir2y
157 geo(11)=1.1-ir2z
158 IF(ishear/=0) THEN
159 geo(37)=one
160 ELSE
161 geo(37)=zero
162 ENDIF
163C
164 IF (geo(1)<=zero) THEN
165 CALL ancmsg(msgid=314,
166 . msgtype=msgerror,
167 . anmode=aninfo_blind_1,
168 . i1=ig,
169 . c1=idtitl,
170 . r1=geo(1))
171 ENDIF
172 IF (geo(2)<=zero) THEN
173 CALL ancmsg(msgid=315,
174 . msgtype=msgerror,
175 . anmode=aninfo_blind_1,
176 . i1=ig,
177 . c1=idtitl,
178 . r1=geo(2))
179 ENDIF
180 IF (geo(18)<=zero) THEN
181 CALL ancmsg(msgid=316,
182 . msgtype=msgerror,
183 . anmode=aninfo_blind_1,
184 . i1=ig,
185 . c1=idtitl,
186 . r1=geo(18))
187 ENDIF
188 IF (geo(4)<=zero) THEN
189 CALL ancmsg(msgid=317,
190 . msgtype=msgerror,
191 . anmode=aninfo_blind_1,
192 . i1=ig,
193 . c1=idtitl,
194 . r1=geo(4))
195 ENDIF
196 IF(.NOT. is_encrypted)THEN
197 WRITE(iout,1300)ig,geo(1),geo(2),geo(18),geo(4),
198 . ir1x,ir1y,ir1z,ir2x,ir2y,ir2z,ishear,
199 . geo(16),geo(17)
200 ELSE
201 WRITE(iout,1399)ig
202 ENDIF
203 geo(3)=ismstr
204C
205 ishear = geo(37)
206 IF(ishear==0)THEN
207 geo(37)=0
208 ELSEIF(ishear==1)THEN
209 geo(37)=1
210 ELSEIF(ishear==2)THEN
211 geo(37)=0
212 ENDIF
213 IF(geo(3)/=zero.AND.igeo(5)== 0) igeo(5)=nint(geo(3))
214 IF(geo(171)/=zero.AND.igeo(10)== 0) igeo(10)=nint(geo(171))
215C
216C-----------------------------
217C PROPERTY BUFFER
218C-----------------------------
219C
220 prop_tag(igtyp)%G_FOR = 3
221 prop_tag(igtyp)%G_MOM = 3
222 prop_tag(igtyp)%G_EINT = 2
223 prop_tag(igtyp)%G_LENGTH = 1 ! total length
224 prop_tag(igtyp)%G_SKEW = 3 ! local skew (RLOC)
225 prop_tag(igtyp)%L_STRA = 3
226C
227C------------------------------
228C----
229 RETURN
230C-----------
231 1300 FORMAT(
232 & 5x,'BEAM PROPERTY SET'/,
233 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
234 & 5x,'BEAM AREA . . . . . . . . . . . . . . .=',1pg20.13/,
235 & 5x,'MOMENT OF INERTIA IYY . . . . . . . . .=',1pg20.13/,
236 & 5x,'MOMENT OF INERTIA IZZ . . . . . . . . .=',1pg20.13/,
237 & 5x,'MOMENT OF INERTIA IXX . . . . . . . . .=',1pg20.13/,
238 & 5x,'NODE 1 LOCAL ROTATION RELEASE X DIR.. .=',i10/,
239 & 5x,'NODE 1 LOCAL ROTATION RELEASE Y DIR.. .=',i10/,
240 & 5x,'NODE 1 LOCAL ROTATION RELEASE Z DIR.. .=',i10/,
241 & 5x,'NODE 2 LOCAL ROTATION RELEASE X DIR.. .=',i10/,
242 & 5x,'NODE 2 LOCAL ROTATION RELEASE Y DIR.. .=',i10/,
243 & 5x,'NODE 2 LOCAL ROTATION RELEASE Z DIR.. .=',i10/,
244 & 5x,'SHEAR FORMULATION (0=YES/1=NO). . . . .=',i10/,
245 & 5x,'BEAM STRUCTURAL MEMBRANE DAMPING. . . .=',1pg20.13/,
246 & 5x,'BEAM STRUCTURAL FLEXURAL DAMPING. . . .=',1pg20.13/)
247 1399 FORMAT(
248 & 5x,'BEAM PROPERTY SET'/,
249 & 5x,'PROPERTY SET NUMBER . . . . . . . . . .=',i10/,
250 & 5x,'CONFIDENTIAL DATA'//)
251c
252 END
253
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_read_prop03(geo, igeo, prop_tag, igtyp, ig, idtitl, unitab, lsubmodel)
#define min(a, b)
Definition macros.h:20
integer, parameter nchartitle
integer, parameter ncharfield
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
program starter
Definition starter.F:39