OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat46.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_mat46 (uparam, maxuparam, nuparam, israte, imatvis, nuvar, ifunc, maxfunc, nfunc, parmat, unitab, mat_id, titr, mtag, lsubmodel, pm, ipm, matparam)

Function/Subroutine Documentation

◆ hm_read_mat46()

subroutine hm_read_mat46 ( dimension(maxuparam), intent(inout) uparam,
integer, intent(inout) maxuparam,
integer, intent(inout) nuparam,
integer, intent(inout) israte,
integer, intent(inout) imatvis,
integer, intent(inout) nuvar,
integer, dimension(maxfunc), intent(inout) ifunc,
integer, intent(inout) maxfunc,
integer, intent(inout) nfunc,
dimension(100), intent(inout) parmat,
type (unit_type_), intent(in) unitab,
integer, intent(in) mat_id,
character(len=nchartitle), intent(in) titr,
type(mlaw_tag_), intent(inout) mtag,
type(submodel_data), dimension(*), intent(in) lsubmodel,
dimension(npropm), intent(inout) pm,
integer, dimension(npropmi), intent(inout) ipm,
type(matparam_struct_), intent(inout) matparam )

Definition at line 37 of file hm_read_mat46.F.

41C-----------------------------------------------
42C D e s c r i p t i o n
43C-----------------------------------------------
44C READ MAT LAW46 WITH HM READER
45C
46C DUMMY ARGUMENTS DESCRIPTION:
47C ===================
48C
49C NAME DESCRIPTION
50C
51C PM MATERIAL ARRAY(REAL)
52C UNITAB UNITS ARRAY
53C ID MATERIAL ID(INTEGER)
54C TITR MATERIAL TITLE
55C LSUBMODEL SUBMODEL STRUCTURE
56C
57C-----------------------------------------------
58C M o d u l e s
59C-----------------------------------------------
60 USE elbuftag_mod
61 USE message_mod
62 USE submodel_mod
63 USE matparam_def_mod
64 USE unitab_mod
66C-----------------------------------------------
67C I m p l i c i t T y p e s
68C-----------------------------------------------
69#include "implicit_f.inc"
70C-----------------------------------------------
71C C o m m o n B l o c k s
72C-----------------------------------------------
73#include "units_c.inc"
74#include "param_c.inc"
75C-----------------------------------------------
76C D u m m y A r g u m e n t s
77C-----------------------------------------------
78 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
79 my_real, INTENT(INOUT) :: pm(npropm),parmat(100),uparam(maxuparam)
80 INTEGER, INTENT(INOUT) :: IPM(NPROPMI),ISRATE,IFUNC(MAXFUNC),NFUNC,MAXFUNC,MAXUPARAM,NUPARAM, NUVAR,IMATVIS
81 TYPE(MLAW_TAG_),INTENT(INOUT) :: MTAG
82 INTEGER,INTENT(IN) :: MAT_ID
83 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN) :: TITR
84 TYPE(SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL(*)
85 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
86C-----------------------------------------------
87C L o c a l V a r i a b l e s
88C-----------------------------------------------
89 my_real ssp,vis,smag,smag2,c1,cps,ca,fac_m,fac_l,fac_t,fac_c
90 INTEGER I,ISGS
91 my_real :: rho0, rhor
92 LOGICAL :: IS_AVAILABLE,IS_ENCRYPTED
93C-----------------------------------------------
94C S o u r c e L i n e s
95C-----------------------------------------------
96 is_encrypted = .false.
97 is_available = .false.
98 israte = 0
99 imatvis = 0
100 nuparam = 5
101 nfunc = 0
102 nuvar = 2
103 mtag%NUVAR = nuvar
104
105 !===READING
106 CALL hm_option_is_encrypted(is_encrypted)
107 !line+1
108 CALL hm_get_floatv('MAT_RHO' ,rho0 ,is_available, lsubmodel, unitab)
109 CALL hm_get_floatv('Refer_Rho' ,rhor ,is_available, lsubmodel, unitab)
110 !line-2
111 CALL hm_get_floatv('MAT_C' ,ssp ,is_available, lsubmodel, unitab)
112 CALL hm_get_floatv('MAT_NU' ,vis ,is_available, lsubmodel, unitab)
113 !line-3
114 CALL hm_get_intv ('Istf' ,isgs ,is_available, lsubmodel)
115 CALL hm_get_floatv('MAT_C5' ,smag ,is_available, lsubmodel, unitab)
116 CALL hm_get_floatv('MAT_CO1' ,cps ,is_available, lsubmodel, unitab)
117
118 !===DEFAULT
119 IF(rhor==zero)rhor=rho0
120 pm(1) =rhor
121 pm(89)=rho0
122 IF(isgs==0)smag2=zero
123 IF(isgs>=1)THEN
124 IF(smag==zero)THEN
125 smag=em01
126 smag2=em02
127 ELSE
128 smag2=smag**2
129 ENDIF
130 ENDIF
131 IF(isgs>=2)THEN
132 IF(cps==0)cps=smag
133 ca=(cps/smag)**2
134 ELSE
135 ca=zero
136 ENDIF
137 c1=pm(1)*ssp**2
138
139 !===STORAGE
140 uparam(1) = vis
141 uparam(2) = c1
142 uparam(3) = isgs+em01
143 uparam(4) = smag2
144 uparam(5) = ca
145 !
146 parmat(1) = c1
147
148 ! MATPARAM keywords
149
150 ! EOS/Thermo keyword for pressure treatment in elements
151 CALL init_mat_keyword(matparam,"HYDRO_EOS")
152
153 ! Properties compatibility
154 CALL init_mat_keyword(matparam,"SOLID_POROUS")
155
156 !===OUTPUT
157 WRITE(iout,1001) trim(titr),mat_id,46
158 WRITE(iout,'(5X,A,//)')' LES FLUID'
159 WRITE(iout,'(5X,A,//)')' ---------'
160 IF(is_encrypted)THEN
161 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
162 ELSE
163 IF(isgs==0)WRITE(iout,1000)rho0,rhor,ssp,vis
164 IF(isgs==1)WRITE(iout,1100)rho0,rhor,ssp,vis,smag
165 IF(isgs>=2)WRITE(iout,1200)rho0,rhor,ssp,vis,smag,cps
166 ENDIF
167
168c-----------
169 1000 FORMAT(
170 & 5x,40h les fluid ,/,
171 & 5x,40h --------- ,//
172 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',e12.4/,
173 & 5x,'REFERENCE DENSITY . . . . . . . . . . .=',e12.4/,
174 & 5x,40hsound speed . . . . . . . . . . . . . .=,e12.4/,
175 & 5x,40hmolecular dynamic viscosity . . . . . .=,e12.4/)
176 1001 FORMAT(
177 & 5x,a,/,
178 & 5x,'MATERIAL NUMBER . . . . . . . . . . . . =',i10/,
179 & 5x,'MATERIAL LAW. . . . . . . . . . . . . . =',i10/)
180 1100 FORMAT(
181 & 5x,40h les with smagorinsky sgs model ,/,
182 & 5x,40h ------------------------------ ,//
183 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',e12.4/,
184 & 5x,'REFERENCE DENSITY . . . . . . . . . . .=',e12.4/,
185 & 5x,40hsound speed . . . . . . . . . . . . . .=,e12.4/,
186 & 5x,40hmolecular dynamic viscosity . . . . . .=,e12.4/,
187 & 5x,40hsmagorinsky constant . . . . . . . . .=,e12.4//)
188 1200 FORMAT(
189 & 5x,40h les with acoustic smagorinsky sgs ,/,
190 & 5x,40h --------------------------------- ,//
191 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',e12.4/,
192 & 5x,'REFERENCE DENSITY . . . . . . . . . . .=',e12.4/,
193 & 5x,40hsound speed . . . . . . . . . . . . . .=,e12.4/,
194 & 5x,40hmolecular dynamic viscosity . . . . . .=,e12.4/,
195 & 5x,40hsmagorinsky constant . . . . . . . . .=,e12.4/,
196 & 5x,40hpressure damping. . . . . . . . . . . .=,e12.4//)
197c-----------
198
199 RETURN
#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_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine init_mat_keyword(matparam, keyword)
integer, parameter nchartitle