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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_type15 (ipari, stfac, frigap, noint, igrsurf, titr, lsubmodel, unitab)

Function/Subroutine Documentation

◆ hm_read_inter_type15()

subroutine hm_read_inter_type15 ( integer, dimension(*) ipari,
stfac,
frigap,
integer noint,
type (surf_), dimension(nsurf), target igrsurf,
character(len=nchartitle), intent(in) titr,
type(submodel_data), dimension(*), intent(in) lsubmodel,
type (unit_type_), intent(in) unitab )

Definition at line 36 of file hm_read_inter_type15.F.

39C============================================================================
40C
41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE message_mod
45 USE groupdef_mod
46 USE submodel_mod
47 USE unitab_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER ISU1,ISU2,NOINT
60 INTEGER IPARI(*)
61 my_real stfac
62 my_real frigap(*)
63 CHARACTER(LEN=NCHARTITLE),INTENT(IN) :: TITR
64 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
65 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
66C-----------------------------------------------
67 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
68C-----------------------------------------------
69C C o m m o n B l o c k s
70C-----------------------------------------------
71#include "com04_c.inc"
72#include "units_c.inc"
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 CHARACTER(LEN=NCHARTITLE) :: TITR1
77 INTEGER I,J,L, NTYP,IS1, IS2,ISU20,INTKG
78 my_real fric,gap,startt,stopt,visc
79 INTEGER, DIMENSION(:), POINTER :: INGR2USR
80 LOGICAL IS_AVAILABLE
81C-----------------------------------------------
82C E x t e r n a l F u n c t i o n s
83C-----------------------------------------------
84 INTEGER NGR2USR
85C-----------------------------------------------
86C=======================================================================
87C READING PENALTY INTERFACE /INTER/TYPE15
88C=======================================================================
89
90C Initializations
91 is1=0
92 is2=0
93 intkg = 0
94C
95 fric = zero
96 gap = zero
97 startt = zero
98 stopt=ep30
99 visc = zero
100C
101 ntyp = 15
102 ipari(15)=noint
103 ipari(7)=ntyp
104
105 is_available = .false.
106C--------------------------------------------------
107C EXTRACT DATAS (INTEGER VALUES)
108C--------------------------------------------------
109 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
110 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
111C--------------------------------------------------
112C EXTRACT DATAS (REAL VALUES)
113C--------------------------------------------------
114 CALL hm_get_floatv('STIFF1',stfac,is_available,lsubmodel,unitab)
115 CALL hm_get_floatv('FRIC',fric,is_available,lsubmodel,unitab)
116
117C....* CHECKS *.............
118
119 is1=1
120 is2=4
121 ingr2usr => igrsurf(1:nsurf)%ID
122 IF(isu1/=0)isu1=ngr2usr(isu1,ingr2usr,nsurf)
123 isu20=isu2
124 isu2=ngr2usr(isu2,ingr2usr,nsurf)
125 IF ( igrsurf(isu2)%TYPE/=100
126 . .AND.igrsurf(isu2)%TYPE/=101) THEN
127 titr1 = igrsurf(isu20)%TITLE
128 CALL ancmsg(msgid=111,
129 . msgtype=msgerror,
130 . anmode=aninfo,
131 . i1=noint,
132 . c1=titr,
133 . i2=isu20,
134 . c2=titr1)
135 END IF
136
137C.......* Storage IPARI FRIGAP *........
138 ipari(45)=isu1
139 ipari(46)=isu2
140 ipari(13)=is1*10+is2
141C
142C.....* CHECKS *.....
143C
144 visc =zero
145 startt=zero
146 stopt =ep30
147
148C.....* Storage IPARI FRIGAP *.......
149 frigap(1)=fric
150 frigap(3)=startt
151 frigap(11)=stopt
152 frigap(14)=visc
153C
154 ipari(65) = intkg
155 frigap(2)=gap
156
157C
158C------------------------------------------------------------
159C PRINTOUT
160C------------------------------------------------------------
161C
162 WRITE(iout,1615)stfac,fric,startt,stopt
163
164C--------------------------------------------------------------
165 IF(is1==0)THEN
166 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
167 ELSEIF(is1==1)THEN
168 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
169 ELSEIF(is1==2)THEN
170 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
171 ELSEIF(is1==3)THEN
172 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
173 ELSEIF(is1==4 )THEN
174 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
175 ELSEIF(is1==5 )THEN
176 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
177 ENDIF
178 IF(is2==0)THEN
179 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
180 ELSEIF(is2==1)THEN
181 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
182 ELSEIF(is2==2)THEN
183 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
184 ELSEIF(is2==3)THEN
185 WRITE(iout,'(6X,A)')'main surface input by segments'
186 ELSEIF(IS2==4)THEN
187 WRITE(IOUT,'(6x,a)')'main surface refers ',
188 . 'to hyper-ellipsoidal surface'
189 ENDIF
190C
191C--------------------------------------------------------------
192 1000 FORMAT(/1X,' INTERFACE number :',I10,1X,A)
193C------------
194 RETURN
195
196
197 1615 FORMAT(//
198 . ' type==15 elements to hyper-ellipsoid ' //,
199 . ' INTERFACE stiffness factor. . . . . . . . . ',1PG20.13/,
200 . ' friction coefficient . . . . . . . . . . . ',1PG20.13/,
201 . ' start time. . . . . . . . . . . . . . . . . ',1PG20.13/,
202 . ' stop time . . . . . . . . . . . . . . . . . ',1PG20.13/)
203
#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)
integer, parameter nchartitle
integer function ngr2usr(iu, igr, ngr)
Definition nintrr.F:325
int main(int argc, char *argv[])
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