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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_lagmul_type17 (ipari, stfac, frigap, noint, igrbric, lsubmodel)

Function/Subroutine Documentation

◆ hm_read_inter_lagmul_type17()

subroutine hm_read_inter_lagmul_type17 ( integer, dimension(*) ipari,
stfac,
frigap,
integer noint,
type (group_), dimension(ngrbric), target igrbric,
type(submodel_data), dimension(*) lsubmodel )

Definition at line 35 of file hm_read_inter_lagmul_type17.F.

38C============================================================================
39C M o d u l e s
40C-----------------------------------------------
41 USE message_mod
42 USE groupdef_mod
43 USE submodel_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER ISU1,ISU2,NOINT
52 INTEGER IPARI(*)
53 my_real stfac
54 my_real frigap(*)
55 TYPE (GROUP_) ,TARGET, DIMENSION(NGRBRIC) :: IGRBRIC
56 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
57C----------------------s-------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "com01_c.inc"
61#include "com04_c.inc"
62#include "scr06_c.inc"
63#include "units_c.inc"
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER :: ISU10,ISU20,MULTIMP,ITIED,NTYP,IS1,IS2
68 my_real :: startt,bumult,stopt,gap,fric
69 INTEGER, DIMENSION(:), POINTER :: INGR2USR
70 LOGICAL IS_AVAILABLE
71C-----------------------------------------------
72C E x t e r n a l F u n c t i o n s
73C-----------------------------------------------
74 INTEGER NGR2USR
75C=======================================================================
76C READING LAGRANGE MULTIPLIER INTERFACES /INTER/LAGMUL/TYPE17
77C=======================================================================
78c Initializations
79 ntyp = 17
80 startt = zero
81 stopt = ep20
82 gap = zero
83 stfac = one_fifth
84 fric = zero
85c------------------------------------------------------------
86c Card1
87 CALL hm_get_intv('secondaryentityids ',isu10,is_available,lsubmodel)
88 CALL hm_get_intv('mainentityids',isu20,is_available,lsubmodel)
89c
90c Card2
91 CALL hm_get_intv('Itied' ,itied,is_available,lsubmodel)
92c------------------------------------------------------------
93c CHECKS
94c------------------------------------------------------------
95 is1 = 5
96 is2 = 5
97 ingr2usr => igrbric(1:ngrbric)%ID
98 isu1 = ngr2usr(isu10,ingr2usr,ngrbric)
99 isu2 = ngr2usr(isu20,ingr2usr,ngrbric)
100c
101 bumult = bmul0
102 multimp=24
103c
104 IF (nspmd > 1) THEN
105 CALL ancmsg(msgid=755,msgtype=msgerror,anmode=aninfo,c1='TYPE 17 LAGRANGE INTERFACE')
106 END IF
107c------------------------------------------------------------
108c STORAGE
109c------------------------------------------------------------
110 ipari(7) = ntyp
111 ipari(13) = is1*10+is2
112 ipari(15) = noint
113 ipari(23) = multimp
114 ipari(30) = itied
115 ipari(15) = noint
116 ipari(45) = isu1
117 ipari(46) = isu2
118C
119 frigap(1) = fric
120 frigap(2) = gap
121 frigap(3) = startt
122 frigap(4) = bumult
123 frigap(5) = one
124 frigap(11)= stopt
125C------------------------------------------------------------
126C PRINTOUT
127C------------------------------------------------------------
128 WRITE(iout,1000)isu10,isu20,itied,startt,stopt
129C
130 IF (is1 == 0) THEN
131 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
132 ELSEIF (is1 == 1) THEN
133 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
134 ELSEIF (is1 == 2) THEN
135 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
136 ELSEIF (is1 == 3) THEN
137 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
138 ELSEIF (is1 == 4 ) THEN
139 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
140 ELSEIF (is1 == 5 ) THEN
141 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
142 ENDIF
143 IF (is2 == 0) THEN
144 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
145 ELSEIF (is2 == 1) THEN
146 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
147 ELSEIF (is2 == 2) THEN
148 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
149 ELSEIF (is2 == 3) THEN
150 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
151 ELSEIF (is2 == 4) THEN
152 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
153 . 'TO HYPER-ELLIPSOIDAL SURFACE'
154 ENDIF
155 WRITE(iout,'(A)')' '
156c-----------
157 RETURN
158c--------------------------------------------------------------
159 1000 FORMAT(//
160 . ' TYPE 17 SURFACE/SURFACE 16 NODES THICK SHELL' //,
161 . ' FIRST SOLID ELEMENT GROUP. . . . . . . . . ',i10/,
162 . ' SECOND SOLID ELEMENT GROUP . . . . . . . . ',i10/,
163 . ' ITIED . . . . . . . . . . . . . . . . . . . ',i10/,
164 . ' 0: SLIDING '/,
165 . ' 1: TIED (during contact)'/,
166 . ' 2: TIED (no rebound)'/,
167 . ' START TIME. . . . . . . . . . . . . . . . . ',1pg20.13/,
168 . ' STOP TIME . . . . . . . . . . . . . . . . . ',1pg20.13//)
169c--------------------------------------------------------------
#define my_real
Definition cppsort.cpp:32
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer function ngr2usr(iu, igr, ngr)
Definition nintrr.F:323
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:895