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,IDUM,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