OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat101.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_mat101 (uparam, maxuparam, nuparam, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, imatvis, pm, lsubmodel, mat_id, titr, matparam)

Function/Subroutine Documentation

◆ hm_read_mat101()

subroutine hm_read_mat101 ( intent(inout) uparam,
integer, intent(in) maxuparam,
integer, intent(inout) nuparam,
integer, intent(inout) nuvar,
integer, dimension(maxfunc), intent(inout) ifunc,
integer, intent(in) maxfunc,
integer, intent(inout) nfunc,
intent(inout) parmat,
type (unit_type_), intent(in) unitab,
integer, intent(inout) imatvis,
intent(inout) pm,
type(submodel_data), dimension(*), intent(in) lsubmodel,
integer, intent(in) mat_id,
character(len=nchartitle), intent(in) titr,
type(matparam_struct_), intent(inout) matparam )

Definition at line 35 of file hm_read_mat101.F.

39C----------------------------------------------------------------
40C MODULES
41C----------------------------------------------------------------
42 USE submodel_mod
43 USE unitab_mod
44 USE message_mod
45 USE matparam_def_mod
47C----------------------------------------------------------------
48C I M P L I C I T T Y P E S
49C----------------------------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C C o m m o n B l o c k s
53C-----------------------------------------------
54#include "units_c.inc"
55#include "param_c.inc"
56C----------------------------------------------------------------
57C D U M M Y A R G U M E N T S
58C----------------------------------------------------------------
59 my_real, DIMENSION(MAXUPARAM) ,INTENT(INOUT) :: uparam
60 INTEGER, INTENT(IN) :: MAT_ID,MAXUPARAM,MAXFUNC
61 INTEGER, INTENT(INOUT) :: NUPARAM,NUVAR,IMATVIS,
62 . IFUNC(MAXFUNC),NFUNC
63 my_real, DIMENSION(100),INTENT(INOUT) :: parmat
64 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
65 my_real, DIMENSION(NPROPM) ,INTENT(INOUT) :: pm
66 TYPE(SUBMODEL_DATA), DIMENSION(*),INTENT(IN) :: LSUBMODEL
67 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
68 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
73 . rho0,dr,deref,de1,dpoiss,dve1,dve2,dedot_ref,
74 . gamv_ref, alphap, dq, dv, dm, dc3, dc4, calphak1, calphak2, h0,
75 . des1_0, dc5, dc6, dc7, dc8, dc9, dc10, h1, des2_0, dc11, dc12,
76 . dc13, dc14, dc1, dc2, dlambda, rhoa, cv, theta0, beta0, btheta0,
77 . factor, temp_opt, thetai, thetag,stifint,
78 . c1,c2,c3,c4,c5,mu,lm,d,beta,facpl, scale1, scale2
79 CHARACTER(LEN=NCHARFIELD) ::STRING,KEYNET
80 CHARACTER(LEN=NCHARTITLE) :: KEY
81 INTEGER ILAW
82C
83 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
84C=======================================================================
85C=============================================
86 is_encrypted = .false.
87 is_available = .false.
88 ilaw = 101
89c------------------------------------------
90 CALL hm_option_is_encrypted(is_encrypted)
91c------------------------------------------
92card1 - Density
93 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
94card2
95 CALL hm_get_floatv('MAT_E' ,deref ,is_available, lsubmodel, unitab)
96 CALL hm_get_floatv('MAT_ALPHA1' ,de1 ,is_available, lsubmodel, unitab)
97 CALL hm_get_floatv('MAT_NU' ,dpoiss ,is_available, lsubmodel, unitab)
98 CALL hm_get_floatv('VE1' ,dve1 ,is_available, lsubmodel, unitab)
99card3
100 CALL hm_get_floatv('VE2' ,dve2 ,is_available, lsubmodel, unitab)
101 CALL hm_get_floatv('EPSILONref' ,dedot_ref ,is_available, lsubmodel, unitab)
102 CALL hm_get_floatv('GAMMA0' ,gamv_ref ,is_available, lsubmodel, unitab)
103 CALL hm_get_floatv('alpha_p' ,ALPHAP ,IS_AVAILABLE, LSUBMODEL, UNITAB)
104card4
105 CALL HM_GET_FLOATV('deltah' ,DQ ,IS_AVAILABLE, LSUBMODEL, UNITAB)
106 CALL HM_GET_FLOATV('mat_vol' ,DV ,IS_AVAILABLE, LSUBMODEL, UNITAB)
107 CALL HM_GET_FLOATV('mat_m' ,DM ,IS_AVAILABLE, LSUBMODEL, UNITAB)
108 CALL HM_GET_FLOATV('mat_c3' ,DC3 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
109card5
110 CALL HM_GET_FLOATV('mat_c4' ,DC4 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
111 CALL HM_GET_FLOATV('alphak1' ,CALPHAK1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
112 CALL HM_GET_FLOATV('alphak2' ,CALPHAK2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
113 CALL HM_GET_FLOATV('mat_hard' ,H0 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
114card6
115 CALL HM_GET_FLOATV('zeta1i' ,DES1_0 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
116 CALL HM_GET_FLOATV('mat_c5' ,DC5 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
117 CALL HM_GET_FLOATV('mat_c6' ,DC6 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
118 CALL HM_GET_FLOATV('mat_c7' ,DC7 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
119card7
120 CALL HM_GET_FLOATV('mat_c8' ,DC8 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
121 CALL HM_GET_FLOATV('mat_c9' ,DC9 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
122 CALL HM_GET_FLOATV('mat_c_10' ,DC10 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
123 CALL HM_GET_FLOATV('mat_hard1' ,H1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
124card8
125 CALL HM_GET_FLOATV('zeta2i' ,DES2_0 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
126 CALL HM_GET_FLOATV('mat_c_11' ,DC11 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
127 CALL HM_GET_FLOATV('mat_c_12' ,DC12 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
128 CALL HM_GET_FLOATV('mat_c13' ,DC13 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
129card10
130 CALL HM_GET_FLOATV('mat_c14' ,DC14 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
131 CALL HM_GET_FLOATV('mat_c1' ,DC1 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
132 CALL HM_GET_FLOATV('mat_c2' ,DC2 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
133 CALL HM_GET_FLOATV('lambdal' ,DLAMBDA ,IS_AVAILABLE, LSUBMODEL, UNITAB)
134card11
135 CALL HM_GET_FLOATV('mat_rho_ref' ,RHOA ,IS_AVAILABLE, LSUBMODEL, UNITAB)
136 CALL HM_GET_FLOATV('mat_cv_ref' ,CV ,IS_AVAILABLE, LSUBMODEL, UNITAB)
137 CALL HM_GET_FLOATV('mat_tref' ,THETA0 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
138 CALL HM_GET_FLOATV('alpha_th' ,BETA0 ,IS_AVAILABLE, LSUBMODEL, UNITAB)
139card12
140 CALL HM_GET_FLOATV('theta_glass' ,THETAG ,IS_AVAILABLE, LSUBMODEL, UNITAB)
141 CALL HM_GET_FLOATV('omega' ,FACTOR ,IS_AVAILABLE, LSUBMODEL, UNITAB)
142 CALL HM_GET_FLOATV('theta_flag' ,TEMP_OPT ,IS_AVAILABLE, LSUBMODEL, UNITAB)
143 CALL HM_GET_FLOATV('heat_t0' ,THETAI ,IS_AVAILABLE, LSUBMODEL, UNITAB)
144
145 DR = 8.314 ! J/K/mol
146
147 DR = DR * UNITAB%FAC_T_WORK* UNITAB%FAC_T_WORK / UNITAB%FAC_M_WORK /UNITAB%FAC_L_WORK / UNITAB%FAC_L_WORK
148 NUPARAM = 42
149C-----------------------------------------------
150C USER MATERIAL PARAMETERS DEFINITION
151C-----------------------------------------------
152
153 UPARAM(1) = DEREF
154 UPARAM(2) = DE1
155 UPARAM(3) = DPOISS
156 UPARAM(4) = DVE1
157 UPARAM(5) = DVE2
158 UPARAM(6) = DEDOT_REF
159 UPARAM(7) = GAMV_REF
160 UPARAM(8) = ALPHAP
161 UPARAM(9) = DQ
162 UPARAM(10) = DV
163 UPARAM(11) = DM
164 UPARAM(12) = DC3
165 UPARAM(13) = DC4
166 UPARAM(14) = CALPHAK1
167 UPARAM(15) = CALPHAK2
168 UPARAM(16) = H0
169 UPARAM(17) = DES1_0
170 UPARAM(18) = DC5
171 UPARAM(19) = DC6
172 UPARAM(20) = DC7
173 UPARAM(21) = DC8
174 UPARAM(22) = DC9
175 UPARAM(23) = DC10
176 UPARAM(24) = H1
177 UPARAM(25) = DES2_0
178 UPARAM(26) = DC11
179 UPARAM(27) = DC12
180 UPARAM(28) = DC13
181 UPARAM(29) = DC14
182 UPARAM(30) = DC1
183 UPARAM(31) = DC2
184 UPARAM(32) = DLAMBDA
185 UPARAM(33) = RHOA
186 UPARAM(34) = CV
187 UPARAM(35) = THETA0
188 UPARAM(36) = BETA0
189 !UPARAM(37) = BTHETA0
190 UPARAM(38) = FACTOR
191 UPARAM(39) = TEMP_OPT
192 UPARAM(40) = THETAI
193 UPARAM(41) = THETAG
194 UPARAM(42) = DR
195C-------------------------------------------------
196C NUMBER OF USER ELEMENT VARIABLES AND CURVES
197C-------------------------------------------------
198C
199 NUVAR = 42
200 NFUNC = 0
201C used for interface (solid+shell)
202 STIFINT = DEREF*(1-DPOISS)/(1+DPOISS)/(1-2*DPOISS)
203 PARMAT(1) = STIFINT/THREE !RBULK
204 PARMAT(2) = STIFINT
205 PARMAT(3) = DPOISS
206c
207 ! PM table
208 PM(1) = RHO0
209 PM(89) = RHO0
210 PM(100) = PARMAT(1)
211 IMATVIS = 1
212c-----------------
213 CALL INIT_MAT_KEYWORD(MATPARAM,"INCOMPRESSIBLE")
214 CALL INIT_MAT_KEYWORD(MATPARAM,"TOTAL")
215 CALL INIT_MAT_KEYWORD(MATPARAM,"HOOK")
216 ! Properties compatibility
217 CALL INIT_MAT_KEYWORD(MATPARAM,"SOLID_ISOTROPIC")
218c-----------------------------------------------------------------------
219 WRITE(IOUT,900) TRIM(TITR),MAT_ID,ILAW
220 WRITE(IOUT,1000)
221 IF (IS_ENCRYPTED) THEN
222 WRITE(IOUT,'(5x,a,//)')'confidential data'
223 ELSE
224 WRITE(IOUT,1050) RHO0
225 WRITE(IOUT,1100) DEREF, DE1, DPOISS, DVE1, DVE2, DEDOT_REF,
226 . GAMV_REF, ALPHAP, DQ, DV, DM, DC3, DC4, CALPHAK1, CALPHAK2, H0,
227 . DES1_0, DC5, DC6, DC7, DC8, DC9, DC10, H1, DES2_0, DC11, DC12,
228 . DC13, DC14, DC1, DC2, DLAMBDA, RHOA, CV, THETA0, BETA0,
229 . FACTOR, TEMP_OPT, THETAI, THETAG
230 ENDIF
231C
232 900 FORMAT(/
233 & 5X,A,/,
234 & 5X,'material number. . . . . . . . . . . . =',I10/,
235 & 5X,'material law . . . . . . . . . . . . . =',I10/)
236 1000 FORMAT(
237 & 5X,' material model : viscoplastic model - bouvard ',/,
238 & 5X,' --------------------------------------------- ',/)
239 1050 FORMAT(
240 & 5X,'initial density . . . . . . . . . . . .=',1PG20.13/)
241 1100 FORMAT(
242 & 5X,'deref . . . . . . . . . . . . . . . . .=',1PG20.13/
243 & 5X,'de1 . . . . . . . . . . . . . . . . . .=',1PG20.13/
244 & 5X,'dpoiss. . . . . . . . . . . . . . . . .=',1PG20.13/
245 & 5X,'dve1. . . . . . . . . . . . . . . . . .=',1PG20.13/
246 & 5X,'dve2. . . . . . . . . . . . . . . . . .=',1PG20.13/
247 & 5X,'dedot_ref . . . . . . . . . . . . . . .=',1PG20.13/
248 & 5X,'gamv_ref. . . . . . . . . . . . . . . .=',1PG20.13/
249 & 5X,'alphap. . . . . . . . . . . . . . . . .=',1PG20.13/
250 & 5X,'dq. . . . . . . . . . . . . . . . . . .=',1PG20.13/
251 & 5X,'dv. . . . . . . . . . . . . . . . . . .=',1PG20.13/
252 & 5X,'dm. . . . . . . . . . . . . . . . . . .=',1PG20.13/
253 & 5X,'dc3 . . . . . . . . . . . . . . . . . .=',1PG20.13/
254 & 5X,'dc4 . . . . . . . . . . . . . . . . . .=',1PG20.13/
255 & 5X,'calphak1. . . . . . . . . . . . . . . .=',1PG20.13/
256 & 5X,'calphak2. . . . . . . . . . . . . . . .=',1PG20.13/
257 & 5X,'h0. . . . . . . . . . . . . . . . . . .=',1PG20.13/
258 & 5X,'des1_0. . . . . . . . . . . . . . . . .=',1PG20.13/
259 & 5X,'dc5 . . . . . . . . . . . . . . . . . .=',1PG20.13/
260 & 5X,'dc6 . . . . . . . . . . . . . . . . . .=',1PG20.13/
261 & 5X,'dc7 . . . . . . . . . . . . . . . . . .=',1PG20.13/
262 & 5X,'dc8 . . . . . . . . . . . . . . . . . .=',1PG20.13/
263 & 5X,'dc9 . . . . . . . . . . . . . . . . . .=',1PG20.13/
264 & 5X,'dc10. . . . . . . . . . . . . . . . . .=',1PG20.13/
265 & 5X,'h1. . . . . . . . . . . . . . . . . . .=',1PG20.13/
266 & 5X,'des2_0. . . . . . . . . . . . . . . . .=',1PG20.13/
267 & 5X,'dc11. . . . . . . . . . . . . . . . . .=',1PG20.13/
268 & 5X,'dc12. . . . . . . . . . . . . . . . . .=',1PG20.13/
269 & 5X,'dc13. . . . . . . . . . . . . . . . . .=',1PG20.13/
270 & 5X,'dc14. . . . . . . . . . . . . . . . . .=',1PG20.13/
271 & 5X,'dc1 . . . . . . . . . . . . . . . . . .=',1PG20.13/
272 & 5X,'dc2 . . . . . . . . . . . . . . . . . .=',1PG20.13/
273 & 5X,'dlambda . . . . . . . . . . . . . . . .=',1PG20.13/
274 & 5X,'rhoa. . . . . . . . . . . . . . . . . .=',1PG20.13/
275 & 5X,'cv. . . . . . . . . . . . . . . . . . .=',1PG20.13/
276 & 5X,'theta0. . . . . . . . . . . . . . . . .=',1PG20.13/
277 & 5X,'beta0 . . . . . . . . . . . . . . . . .=',1PG20.13/
278 & 5X,'factor. . . . . . . . . . . . . . . . .=',1PG20.13/
279 & 5X,'temp_opt. . . . . . . . . . . . . . . .=',1PG20.13/
280 & 5X,'thetai. . . . . . . . . . . . . . . . .=',1PG20.13/
281 & 5X,'thetag. . . . . . . . . . . . . . . . .=',1PG20.13/)
282
283C
284 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_option_is_encrypted(is_encrypted)
integer, parameter nchartitle
integer, parameter ncharfield