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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_prop33_trans_jnt (iout, ityp, skflag, pargeo, is_encrypted, unitab, iunit, id, titr, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_prop33_trans_jnt()

subroutine hm_read_prop33_trans_jnt ( integer iout,
integer ityp,
integer skflag,
pargeo,
logical is_encrypted,
type (unit_type_), intent(in) unitab,
integer iunit,
integer id,
character(len=nchartitle) titr,
type(submodel_data), dimension(*), intent(in) lsubmodel )

Definition at line 37 of file hm_read_prop33_trans_jnt.F.

39 USE unitab_mod
40 USE message_mod
41 USE submodel_mod
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C A n a l y s e M o d u l e
49C-----------------------------------------------
50C----------+---------+---+---+--------------------------------------------
51C VAR | SIZE |TYP| RW| DEFINITION
52C----------+---------+---+---+--------------------------------------------
53C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
54C----------+---------+---+---+--------------------------------------------
55C PARGEO | * | F | W | 1)SKEW NUMBER
56C | | | | 2)STIFNESS FOR INTERFACE
57C | | | | 3)FRONT WAVE OPTION
58C | | | | 4)... not yet used
59C----------+---------+---+---+------------------------------------------|
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
63 INTEGER IOUT, ITYP, SKFLAG,IUNIT
64 my_real pargeo(*)
65
66 INTEGER ID
67 CHARACTER(LEN=NCHARTITLE) :: TITR
68 LOGICAL IS_ENCRYPTED
69 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
70C=======================================================================
71C L o c a l V a r i a b l e s
72C-----------------------------------------------
73 INTEGER IERROR,IDSK1,IDSK2,IFUN_XX,IFUN_CXX,ZEROI,OFLAG
74 my_real
75 . xk,xtyp,xflg,xsk1,xsk2,knn,kxx,cr,cxx,mass,iner,
76 . fac_m,fac_l,fac_t,fac_ct,fac_cr,fac_kt,fac_kr,fac_ctx,fac_crx,
77 . fac_ff,fac_mm
78C-----------------------------------------------
79 INTEGER SET_U_PNU,SET_U_GEO,KFUNC
80 EXTERNAL set_u_pnu,set_u_geo
81 parameter(kfunc=29)
82 DATA zeroi/0/
83 LOGICAL IS_AVAILABLE
84C=======================================================================
85C---- TRANSLATIONAL JOINT
86C=======================================================================
87 fac_m = unitab%FAC_M(iunit)
88 fac_l = unitab%FAC_L(iunit)
89 fac_t = unitab%FAC_T(iunit)
90 fac_mm = one / fac_t
91 fac_ct = fac_m / fac_t
92 fac_cr = fac_m * fac_l**2 / fac_t
93 fac_kt = fac_ct / fac_t
94 fac_kr = fac_cr / fac_t
95 fac_ctx = fac_t / fac_l
96 fac_crx = fac_t
97 fac_ff = fac_m / fac_t
98 oflag = 0
99C
100C--------------------------------------------------
101C EXTRACT DATAS (INTEGER VALUES)
102C--------------------------------------------------
103 CALL hm_get_intv('Idsk1',idsk1,is_available,lsubmodel)
104 CALL hm_get_intv('Idsk2',idsk2,is_available,lsubmodel)
105 CALL hm_get_intv('Xt_fun',ifun_xx,is_available,lsubmodel)
106C--------------------------------------------------
107C EXTRACT DATAS (REAL VALUES)
108C--------------------------------------------------
109 CALL hm_get_floatv('Xk',xk,is_available,lsubmodel,unitab)
110 CALL hm_get_floatv('Cr',cr,is_available,lsubmodel,unitab)
111 CALL hm_get_floatv('Kn',knn,is_available,lsubmodel,unitab)
112 CALL hm_get_floatv('Ktx',kxx,is_available,lsubmodel,unitab)
113C--- viscosity
114C--------------------------------------------------
115C EXTRACT DATAS (INTEGER VALUES)
116C--------------------------------------------------
117 CALL hm_get_intv('Ctx_Fun',ifun_cxx,is_available,lsubmodel)
118 IF(.NOT.is_available) oflag = oflag + 1
119C--------------------------------------------------
120C EXTRACT DATAS (REAL VALUES)
121C--------------------------------------------------
122 CALL hm_get_floatv('Ctx',cxx,is_available,lsubmodel,unitab)
123 IF(.NOT.is_available) oflag = oflag + 1
124C-----------------------
125 IF (idsk1<=0.0.OR.idsk1<=0) THEN
126 CALL ancmsg(msgid=386,
127 . msgtype=msgerror,
128 . anmode=aninfo_blind_1,
129 . i1=id,
130 . c1=titr)
131 ENDIF
132 IF (knn==0.) THEN
133 CALL ancmsg(msgid=387,
134 . msgtype=msgerror,
135 . anmode=aninfo_blind_1,
136 . i1=id,
137 . c1=titr)
138 ENDIF
139 IF (cr<zero.OR.cr>1.) THEN
140 CALL ancmsg(msgid=388,
141 . msgtype=msgerror,
142 . anmode=aninfo_blind_1,
143 . i1=id,
144 . c1=titr)
145 ENDIF
146 IF (cr==zero) cr = fiveem2
147C
148 xtyp = ityp
149 xflg = skflag
150 xsk1 = idsk1
151 xsk2 = idsk2
152 mass = zero
153 iner = zero
154C
155 IF(cxx==zero.AND.ifun_cxx/=0)cxx = one
156 IF(kxx==zero.AND.ifun_xx/=0) kxx = one
157C-----------------------
158 IF (ifun_xx /= 0) kxx = kxx * fac_ff
159 IF (ifun_cxx /= 0) cxx = cxx * fac_ff
160C-----------------------
161 pargeo(1) = 0
162 pargeo(2) = xk
163 pargeo(3) = 0
164C-----------------------
165 ierror = set_u_geo(1,xtyp)
166 ierror = set_u_geo(2,xsk1)
167 ierror = set_u_geo(3,xsk2)
168 ierror = set_u_geo(4,kxx)
169 ierror = set_u_geo(5,knn)
170 ierror = set_u_geo(6,knn)
171 ierror = set_u_geo(7,knn)
172 ierror = set_u_geo(8,knn)
173 ierror = set_u_geo(9,knn)
174 ierror = set_u_geo(10,knn)
175 ierror = set_u_geo(11,zero)
176 ierror = set_u_geo(12,mass)
177 ierror = set_u_geo(13,iner)
178 ierror = set_u_geo(14,xflg)
179 ierror = set_u_geo(15,zero)
180 ierror = set_u_geo(16,cr)
181 ierror = set_u_geo(17,cr)
182 ierror = set_u_geo(18,cr)
183 ierror = set_u_geo(19,cr)
184 ierror = set_u_geo(20,cr)
185 ierror = set_u_geo(21,cxx)
186 ierror = set_u_geo(22,zero)
187 ierror = set_u_geo(23,zero)
188 ierror = set_u_geo(24,zero)
189 ierror = set_u_geo(25,zero)
190 ierror = set_u_geo(26,zero)
191 ierror = set_u_geo(27,fac_ctx)
192 ierror = set_u_geo(28,fac_crx)
193 ierror = set_u_pnu(1,ifun_xx,kfunc)
194 ierror = set_u_pnu(2,zeroi,kfunc)
195 ierror = set_u_pnu(3,zeroi,kfunc)
196 ierror = set_u_pnu(4,zeroi,kfunc)
197 ierror = set_u_pnu(5,zeroi,kfunc)
198 ierror = set_u_pnu(6,zeroi,kfunc)
199 ierror = set_u_pnu(7,ifun_cxx,kfunc)
200 ierror = set_u_pnu(8,zeroi,kfunc)
201 ierror = set_u_pnu(9,zeroi,kfunc)
202 ierror = set_u_pnu(10,zeroi,kfunc)
203 ierror = set_u_pnu(11,zeroi,kfunc)
204 ierror = set_u_pnu(12,zeroi,kfunc)
205C-----------------------
206 WRITE(iout,500)
207 IF(is_encrypted)THEN
208 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
209 ELSE
210 IF (oflag==2) THEN
211 WRITE(iout,1001) idsk1,idsk2,xk,cr,knn,kxx,ifun_xx
212 ELSE
213 WRITE(iout,1000)idsk1,idsk2,xk,cr,knn,kxx,ifun_xx,cxx,ifun_cxx
214 ENDIF
215 ENDIF
216C-----------------------
217 RETURN
218C-----------------------
219 500 FORMAT(
220 & 5x,'JOINT TYPE . . . . . . TRANSLATIONAL JOINT'//)
221 1000 FORMAT(
222 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
223 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
224 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
225 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
226 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
227 & 5x,'TRANSLATIONAL LINEAR STIFFNESS KXX . . =',1pg20.13/,
228 & 5x,'TRANSLATIONAL FUNCTION ID. . . . . . . =',i10/,
229 & 5x,'LINEAR DAMPING CXX . . . . . . . . . . =',1pg20.13/,
230 & 5x,'USER XX DAMPING FUNCTION . . . . . . . =',i10//)
231 1001 FORMAT(
232 & 5x,'SKEW 1 FRAME ID. . . . . . . . . . . . =',i10/,
233 & 5x,'SKEW 2 FRAME ID. . . . . . . . . . . . =',i10/,
234 & 5x,'STIFFNESS FOR INTERFACE K=E*A/L. . . . =',1pg20.13/,
235 & 5x,'CRITICAL DAMPING COEFFICIENT . . . . . =',1pg20.13/,
236 & 5x,'BLOCKING STIFFNESS KNN . . . . . . . . =',1pg20.13/,
237 & 5x,'TRANSLATIONAL LINEAR STIFFNESS KXX . . =',1pg20.13/,
238 & 5x,'TRANSLATIONAL FUNCTION ID. . . . . . . =',i10//)
239 RETURN
#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)
initmumps id
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
integer function set_u_pnu(ivar, ip, k)
Definition uaccess.F:127
integer function set_u_geo(ivar, a)
Definition uaccess.F:64