OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_prop35.F File Reference
#include "implicit_f.inc"
#include "tablen_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_prop35 (iout, nuvar, pargeo, unitab, id, igtyp, prop_tag, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_prop35()

subroutine hm_read_prop35 ( integer iout,
integer nuvar,
pargeo,
type (unit_type_), intent(in) unitab,
integer id,
integer igtyp,
type(prop_tag_), dimension(0:maxprop) prop_tag,
type(submodel_data), dimension(*), intent(in) lsubmodel )

Definition at line 38 of file hm_read_prop35.F.

40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE unitab_mod
44 USE elbuftag_mod
45 USE submodel_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "tablen_c.inc"
54C----------+---------+---+---+--------------------------------------------
55C VAR | SIZE |TYP| RW| DEFINITION
56C----------+---------+---+---+--------------------------------------------
57C IIN | 1 | I | R | INPUT FILE UNIT (D00 file)
58C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
59C NUVAR | 1 | I | W | NUMBER OF USER ELEMENT VARIABLES
60C----------+---------+---+---+--------------------------------------------
61C PARGEO | * | F | W | 1)SKEW NUMBER
62C | | | | 2)STIFNESS FOR INTERFACE
63C | | | | 3)FRONT WAVE OPTION
64C | | | | 4)... not yet used
65C----------+---------+---+---+--------------------------------------------
66C D u m m y A r g u m e n t s
67C-----------------------------------------------
68 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
69 INTEGER IOUT,NUVAR,ID,IGTYP
70 my_real
71 . pargeo(*)
72 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
73 EXTERNAL set_u_pnu,set_u_geo
74 parameter(kfunc=29)
75 TYPE(PROP_TAG_) , DIMENSION(0:MAXPROP) :: PROP_TAG
76 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
77C=======================================================================
78C L o c a l V a r i a b l e s
79C-----------------------------------------------
80 INTEGER IFUNC1,IFUNC2,IFUNC3,IFUNC4,IERROR,ILOAD
81 my_real
82 . amas,elastif,xlim1,xlim2,xk,d1,d2,rload,fscal
83 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
84C=======================================================================
85C
86 is_encrypted = .false.
87 is_available = .false.
88C
89C--------------------------------------------------
90C EXTRACT DATA (IS OPTION CRYPTED)
91C--------------------------------------------------
92 CALL hm_option_is_encrypted(is_encrypted)
93C--------------------------------------------------
94C EXTRACT DATAS (INTEGER VALUES)
95C--------------------------------------------------
96 CALL hm_get_intv('FUN_A1',ifunc1,is_available,lsubmodel)
97 CALL hm_get_intv('FUN_B1',ifunc2,is_available,lsubmodel)
98 CALL hm_get_intv('FUN_C1',ifunc3,is_available,lsubmodel)
99 CALL hm_get_intv('FUN_D1',ifunc4,is_available,lsubmodel)
100C--------------------------------------------------
101C EXTRACT DATAS (REAL VALUES)
102C--------------------------------------------------
103 CALL hm_get_floatv('amas',AMAS,IS_AVAILABLE,LSUBMODEL,UNITAB)
104 CALL HM_GET_FLOATV('elastif',ELASTIF,IS_AVAILABLE,LSUBMODEL,UNITAB)
105 CALL HM_GET_FLOATV('xlim1',XLIM1,IS_AVAILABLE,LSUBMODEL,UNITAB)
106 CALL HM_GET_FLOATV('xk',XK,IS_AVAILABLE,LSUBMODEL,UNITAB)
107 CALL HM_GET_FLOATV('damg',D1,IS_AVAILABLE,LSUBMODEL,UNITAB)
108 CALL HM_GET_FLOATV('fdelay',D2,IS_AVAILABLE,LSUBMODEL,UNITAB)
109 !units
110 CALL HM_GET_FLOATV_DIM('elastif',FSCAL,IS_AVAILABLE,LSUBMODEL,UNITAB)
111C
112C Hidden flag XLIM2,ILOAD - not documented
113 ILOAD = 0
114 XLIM2 = ZERO
115C----------------------
116C
117.NOT. IF( IS_ENCRYPTED)THEN
118 WRITE(IOUT,1400) ID
119 ELSE
120 WRITE(IOUT,1500) ID
121 ENDIF
122C
123 NUVAR = 3
124C
125 PARGEO(1) = 0
126 PARGEO(2) = XK
127C front wave = 1
128 PARGEO(3) = 1
129C
130.NOT. IF( IS_ENCRYPTED)THEN
131 WRITE(IOUT,1000)
132 . AMAS,ELASTIF,XLIM1,XLIM2,XK,D1,D2,ILOAD,
133 . IFUNC1,IFUNC2,IFUNC3,IFUNC4
134 ENDIF
135C
136 IERROR = SET_U_GEO(1,AMAS)
137 IERROR = SET_U_GEO(2,ELASTIF)
138 IERROR = SET_U_GEO(3,XLIM1)
139 IERROR = SET_U_GEO(4,XLIM2)
140 IERROR = SET_U_GEO(5,D1)
141 IERROR = SET_U_GEO(6,D2)
142 RLOAD = ILOAD
143 IERROR = SET_U_GEO(7,RLOAD)
144 IERROR = SET_U_GEO(8,FSCAL)
145 IERROR = SET_U_PNU(1,IFUNC1,KFUNC)
146 IERROR = SET_U_PNU(2,IFUNC2,KFUNC)
147 IERROR = SET_U_PNU(3,IFUNC3,KFUNC)
148 IERROR = SET_U_PNU(4,IFUNC4,KFUNC)
149C
150C-----------------------------
151C PROPERTY BUFFER
152C-----------------------------
153 PROP_TAG(IGTYP)%G_FOR = 3
154 PROP_TAG(IGTYP)%G_MOM = 5
155 PROP_TAG(IGTYP)%G_SKEW = 6
156 PROP_TAG(IGTYP)%G_MASS = 1
157 PROP_TAG(IGTYP)%G_V_REPCVT = 3 ! -- VITESSES REPERE CONVECTEE (V_REPCVT)
158 PROP_TAG(IGTYP)%G_VR_REPCVT = 3 ! -- VITESSES REPERE CONVECTEE (VR_REPCVT)
159 PROP_TAG(IGTYP)%G_NUVAR = NUVAR
160C
161 RETURN
162 999 CONTINUE
163 WRITE(IOUT,*)' **error in property 35 input'
164 RETURN
165 1000 FORMAT(
166 & 5X,'mass per unit length. . . . . . . . . .=',1PG20.13/,
167 & 5X,'stiffness per unit length . . . . . . .=',1PG20.13/,
168 & 5X,'traction transition deformation . . . .=',1PG20.13/,
169 & 5X,'compression transition deformation. . .=',1PG20.13/,
170 & 5X,'stiffness for INTERFACE . . . . . . . .=',1PG20.13/,
171 & 5X,'damage factor . . . . . . . . . . . . .=',1PG20.13/,
172 & 5X,'damage delay PARAMETER. . . . . . . . .=',1PG20.13/,
173 & 5X,'damage in load flag . . . . . . . . . .=',I10/,
174 & 5X,'initial traction user FUNCTION id . . .=',I10/,
175 & 5X,'initial compression user function id. .=',I10/,
176 & 5X,'final traction user function id . . . .=',I10/,
177 & 5X,'final compression user function id. . .=',I10//)
178 1400 FORMAT(
179 & 5X,'user property set'/,
180 & 5X,'property set number . . . . . . . . . .=',I10)
181C
182 1500 FORMAT(
183 & 5X,'user property set'/,
184 & 5X,'property set number . . . . . . . . . .=',I10,
185 & 5X,'confidential data'//)
#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)
initmumps id
for(i8=*sizetab-1;i8 >=0;i8--)
integer function set_u_pnu(ivar, ip, k)
Definition uaccess.F:127
integer function set_u_geo(ivar, a)
Definition uaccess.F:64