OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_prop43.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_prop43 ../starter/source/properties/solid/hm_read_prop43.F
25!||--- called by ------------------------------------------------------
26!|| hm_read_prop_generic ../starter/source/properties/hm_read_prop_generic.F
27!||--- calls -----------------------------------------------------
28!|| hm_get_floatv ../starter/source/devtools/hm_reader/hm_get_floatv.F
29!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
30!|| hm_option_is_encrypted ../starter/source/devtools/hm_reader/hm_option_is_encrypted.F
31!||--- uses -----------------------------------------------------
32!|| defaults_mod ../starter/source/modules/defaults_mod.F90
33!|| elbuftag_mod ../starter/share/modules1/elbuftag_mod.F
34!|| message_mod ../starter/share/message_module/message_mod.F
35!|| submodel_mod ../starter/share/modules1/submodel_mod.F
36!||====================================================================
37 SUBROUTINE hm_read_prop43(GEO ,IGEO ,IOUT ,IG ,
38 . NUVAR ,PARGEO,IGTYP,PROP_TAG,
39 . UNITAB,LSUBMODEL,DEFAULTS_SOLID)
40C============================================================================
41C M o d u l e s
42C-----------------------------------------------
43 USE unitab_mod
44 USE message_mod
45 USE submodel_mod
46 USE elbuftag_mod
47 USE defaults_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C----------+---------+---+---+--------------------------------------------
55#include "param_c.inc"
56#include "tablen_c.inc"
57C----------+---------+---+---+--------------------------------------------
58C VAR | SIZE |TYP| RW| DEFINITION
59C----------+---------+---+---+--------------------------------------------
60C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
61C NUVAR | 1 | I | W | NUMBER OF USER ELEMENT VARIABLES
62C----------+---------+---+---+--------------------------------------------
63C PARGEO | * | F | W | 1)SKEW NUMBER
64C | | | | 2)STIFNESS FOR INTERFACE
65C | | | | 3)FRONT WAVE OPTION
66C | | | | 4)... not yet used
67C----------+---------+---+---+--------------------------------------------
68C D u m m y A r g u m e n t s
69C-----------------------------------------------
70 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
71 INTEGER IGEO(NPROPGI)
72 INTEGER IG,IGTYP
73 my_real geo(*)
74
75 TYPE(prop_tag_) , DIMENSION(0:MAXPROP) :: PROP_TAG
76 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
77 my_real
78 . pargeo(*)
79 TYPE(solid_defaults_), INTENT(IN) :: DEFAULTS_SOLID
80C-----------------------------------------------
81C L o c a l V a r i a b l e s
82C-----------------------------------------------
83 INTEGER IOUT,IERROR,NUVAR,NPG,JCVT,ISMSTR
84 INTEGER IHBE_DS,ISST_DS,IPLA_DS,IFRAME_DS
86 . tthick
87 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
88C=======================================================================
89 is_encrypted = .false.
90 is_available = .false.
91C
92 nuvar = 0
93 npg = 4
94 jcvt = 1
95 ismstr = 0
96!--- defaults values
97 ihbe_ds= defaults_solid%ISOLID
98 isst_ds= defaults_solid%ISMSTR
99 iframe_ds= defaults_solid%IFRAME
100C
101C--------------------------------------------------
102C EXTRACT DATA (IS OPTION CRYPTED)
103C--------------------------------------------------
104 CALL hm_option_is_encrypted(is_encrypted)
105C--------------------------------------------------
106C EXTRACT DATAS (INTEGER VALUES)
107C--------------------------------------------------
108 CALL hm_get_intv('Ismstr',ismstr,is_available,lsubmodel)
109C--------------------------------------------------
110C EXTRACT DATAS (REAL VALUES)
111C--------------------------------------------------
112 CALL hm_get_floatv('THICK',tthick,is_available,lsubmodel,unitab)
113C
114 geo(41) = tthick
115C
116 pargeo(1) = 0
117 pargeo(2) = 0
118 pargeo(3) = 0
119 pargeo(4) = npg
120 pargeo(5) = jcvt
121 IF (ismstr == 0) ismstr = isst_ds
122 IF (ismstr < 0 .OR. isst_ds==-2) ismstr = 1
123 IF (ismstr == 0 .OR. ismstr == 2 .OR. ismstr == 3) ismstr = 1
124 IF (ismstr == 10) ismstr = 4
125
126 igeo(5) = ismstr
127c
128C-----------
129c
130 IF(.NOT. is_encrypted)THEN
131 IF(tthick > 0) THEN
132 WRITE(iout,1100) ig,ismstr,tthick
133 ELSE
134 WRITE(iout,1000) ig,ismstr
135 ENDIF
136 ELSE
137 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
138 ENDIF
139
140 prop_tag(igtyp)%G_SIG = 6
141 prop_tag(igtyp)%L_SIG = 6
142 prop_tag(igtyp)%G_VOL = 1
143 prop_tag(igtyp)%L_VOL = 1
144 prop_tag(igtyp)%G_EINT = 1
145 prop_tag(igtyp)%L_EINT = 1
146 prop_tag(igtyp)%G_GAMA = 9
147 prop_tag(igtyp)%G_FILL = 1
148
149C-----------
150 RETURN
151C-----------
152 1000 FORMAT(
153 & 5x,'SOLID SPOTWELD PROPERTY SET'/,
154 & 5x,'PROPERTY SET ID . . . . . . . . . . . .=',i10/,
155 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/)
156 1100 FORMAT(
157 & 5x,'SOLID SPOTWELD PROPERTY SET'/,
158 & 5x,'PROPERTY SET ID . . . . . . . . . . . .=',i10/,
159 & 5x,'SMALL STRAIN FLAG . . . . . . . . . . .=',i10/,
160 & 5x,'TRUE THICKNESS . . . . . . . . . . . .=',1pg20.13/)
161C-----------
162 RETURN
163 END SUBROUTINE hm_read_prop43
#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_prop43(geo, igeo, iout, ig, nuvar, pargeo, igtyp, prop_tag, unitab, lsubmodel, defaults_solid)