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.AND..AND. IF(N2D>0IHBE/=0IHBE/=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.OR. IF ((ISMSTR==3)(ISMSTR==1)) GEO(5)=EP06
136C Temporary double storage - Delete GEO (12) = Igtyp after 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.OR. IF(ISMSTR==2ISMSTR==4)THEN
146 ISMSTR=0
147.OR. ELSEIF(ISMSTR==1ISMSTR==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.NOT. IF( 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.AND. IF(GEO(3)/=ZEROIGEO(5)== 0) IGEO(5)=NINT(GEO(3))
214.AND. IF(GEO(171)/=ZEROIGEO(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 damping(nodft, nodlt, v, vr, a, ar, damp, ms, in, igrnod, dim, itask, weight, tagslv_rby, wfext)
Definition damping.F:882
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)
subroutine area(d1, x, x2, y, y2, eint, stif0)
integer, parameter nchartitle
integer, parameter ncharfield