OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_mat00.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_mat00 (mtag, ipm, pm, unitab, id, titr, lsubmodel, israte, matparam)

Function/Subroutine Documentation

◆ hm_read_mat00()

subroutine hm_read_mat00 ( type(mlaw_tag_), intent(inout) mtag,
integer, dimension(npropmi), intent(inout) ipm,
dimension(npropm), intent(inout) pm,
type (unit_type_), intent(in) unitab,
integer, intent(in) id,
character(len=nchartitle), intent(in) titr,
type(submodel_data), dimension(*), intent(in) lsubmodel,
integer, intent(inout) israte,
type(matparam_struct_), intent(inout) matparam )

Definition at line 36 of file hm_read_mat00.F.

38C-----------------------------------------------
39C D e s c r i p t i o n
40C-----------------------------------------------
41C ROUTINE DESCRIPTION :
42C ===================
43C READ MAT LAW00 WITH HM READER
44C-----------------------------------------------
45C DUMMY ARGUMENTS DESCRIPTION:
46C ===================
47C
48C NAME DESCRIPTION
49C
50C IPM MATERIAL ARRAY(INTEGER)
51C PM MATERIAL ARRAY(REAL)
52C UNITAB UNITS ARRAY
53C ID MATERIAL ID(INTEGER)
54C TITR MATERIAL TITLE
55C LSUBMODEL SUBMODEL STRUCTURE
56C-----------------------------------------------
57C M o d u l e s
58C-----------------------------------------------
59 USE unitab_mod
60 USE message_mod
61 USE elbuftag_mod
62 USE submodel_mod
63 USE matparam_def_mod
65C-----------------------------------------------
66C I m p l i c i t T y p e s
67C-----------------------------------------------
68#include "implicit_f.inc"
69C-----------------------------------------------
70C C o m m o n B l o c k s
71C-----------------------------------------------
72#include "units_c.inc"
73#include "param_c.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77C INPUT ARGUMENTS
78 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
79 INTEGER,INTENT(IN)::ID
80 CHARACTER(LEN=NCHARTITLE) ,INTENT(IN)::TITR
81 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
82C MODIFIED ARGUMENT
83 INTEGER,INTENT(INOUT)::IPM(NPROPMI),ISRATE
84 my_real,INTENT(INOUT)::pm(npropm)
85 TYPE(MLAW_TAG_),INTENT(INOUT) :: MTAG
86 TYPE(MATPARAM_STRUCT_) ,INTENT(INOUT) :: MATPARAM
87C-----------------------------------------------
88C L o c a l V a r i a b l e s
89C-----------------------------------------------
91 . young, anu, g, c0, c1, e0, e1mn2, en1n2, sdsp, 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
99 CALL hm_option_is_encrypted(is_encrypted)
100
101 CALL hm_get_floatv('MAT_RHO', rho0 ,is_available,lsubmodel,unitab)
102 CALL hm_get_floatv('Refer_Rho',rhor ,is_available,lsubmodel,unitab)
103 CALL hm_get_floatv('MAT_E', young ,is_available,lsubmodel,unitab)
104 CALL hm_get_floatv('nu', anu ,is_available,lsubmodel,unitab)
105C--------------------------------------------------
106 IF (rhor == zero ) rhor=rho0
107
108 g=young/(two*(one+anu))
109 c0=zero
110 c1=young/(three*(one-two*anu))
111 e0=zero
112 e1mn2=young/(one-anu**2)
113 en1n2=anu*e1mn2
114 sdsp =sqrt(young/max(rhor,em20))
115 israte = 0
116C
117 pm(1) =rhor
118 pm(20)=young
119 pm(21)=anu
120 pm(70)=zero
121 pm(72)=zero
122 pm(32)=c1
123 pm(89) =rho0
124c-------------------------------
125 mtag%G_EINT = 0
126 mtag%L_EINT = 0
127 mtag%L_DP_DRHO = 0
128c-------------------------------
129 ! Properties compatibility
130 CALL init_mat_keyword(matparam,"SOLID_ISOTROPIC")
131 CALL init_mat_keyword(matparam,"SHELL_ISOTROPIC")
132 CALL init_mat_keyword(matparam,"SPRING_MATERIAL")
133 CALL init_mat_keyword(matparam,"BEAM_ALL")
134 CALL init_mat_keyword(matparam,"TRUSS")
135 CALL init_mat_keyword(matparam,"SPH")
136c-------------------------------
137 WRITE(iout,1001) trim(titr),id,0
138 WRITE(iout,1000)
139 IF(is_encrypted)THEN
140 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
141 ELSE
142 WRITE(iout,1100)rho0,young,anu
143 ENDIF
144C
145C-----------
146 RETURN
147 1000 FORMAT(
148 & 5x,' VOID MATERIAL ',/,
149 & 5x,' ------------- ',//)
150 1001 FORMAT(
151 & 5x,a,/,
152 & 5x,' MATERIAL NUMBER . . . . . . . . . . . .=',i10/,
153 & 5x,' MATERIAL LAW. . . . . . . . . . . . . .=',i10/)
154 1100 FORMAT(
155 & 5x,'INITIAL DENSITY . . . . . . . . . . . .=',1pg20.13/,
156 & 5x,'YOUNG MODULUS . . . . . . . . . . . . .=',1pg20.13/,
157 & 5x,'POISSON''S RATIO . . . . . . . . . . . .=',1pg20.13/)
158C-----------
159 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)
subroutine init_mat_keyword(matparam, keyword)
#define max(a, b)
Definition macros.h:21
initmumps id
integer, parameter nchartitle