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

Go to the source code of this file.

Functions/Subroutines

subroutine hm_read_inter_lagmul_type02 (ipari, frigap, noint, igrnod, igrsurf, def_inter, titr, unitab, lsubmodel, npari, nparir)

Function/Subroutine Documentation

◆ hm_read_inter_lagmul_type02()

subroutine hm_read_inter_lagmul_type02 ( integer, dimension(npari) ipari,
frigap,
integer noint,
type (group_), dimension(ngrnod), target igrnod,
type (surf_), dimension(nsurf), target igrsurf,
integer, dimension(100) def_inter,
character(len=nchartitle) titr,
type (unit_type_), intent(in) unitab,
type(submodel_data), dimension(nsubmod) lsubmodel,
integer, intent(in) npari,
integer, intent(in) nparir )
Parameters
[in]nparirarray sizes IPARI and FRIGAP

Definition at line 37 of file hm_read_inter_lagmul_type02.F.

41C============================================================================
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE unitab_mod
46 USE message_mod
47 USE groupdef_mod
50C-----------------------------------------------
51C I m p l i c i t T y p e s
52C-----------------------------------------------
53#include "implicit_f.inc"
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "scr17_c.inc"
58C-----------------------------------------------
59C D u m m y A r g u m e n t s
60C-----------------------------------------------
61 INTEGER,INTENT(IN) :: NPARI, NPARIR !< array sizes IPARI and FRIGAP
62 INTEGER ISU1,ISU2,NOINT
63 INTEGER IPARI(NPARI),DEF_INTER(100)
64 my_real frigap(nparir) , stfac
65 CHARACTER(LEN=NCHARTITLE)::TITR
66C-----------------------------------------------
67 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
68 TYPE (SURF_) ,TARGET , DIMENSION(NSURF) :: IGRSURF
69 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
70 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
71C----------------------s-------------------------
72C C o m m o n B l o c k s
73C-----------------------------------------------
74#include "com04_c.inc"
75#include "units_c.inc"
76C-----------------------------------------------
77C L o c a l V a r i a b l e s
78C-----------------------------------------------
79 INTEGER NTYP, ILEV, IPRINT,IASSIGN,IGNORE,
80 . IDEL2,IBUC,INTKG,IS1,IS2
82 . startt,stopt,dsearch
83 CHARACTER(LEN=NCHARKEY) :: KEY1
84 INTEGER, DIMENSION(:), POINTER :: INGR2USR
85 LOGICAL IS_AVAILABLE
86C-----------------------------------------------
87C E x t e r n a l F u n c t i o n s
88C-----------------------------------------------
89 INTEGER NGR2USR
90C=======================================================================
91C READING LAGRANGE MULTIPLIER INTERFACES /INTER/LAGMUL/TYPE2
92C=======================================================================
93
94C Initializations
95 is1=0
96 is2=0
97 ibuc=0
98C
99 ntyp = 2
100 ipari(15)=noint
101 ipari(7) =ntyp
102C
103 iprint = 0
104C------------------------------------------------------------
105C Card1
106C------------------------------------------------------------
107 CALL hm_get_intv('secondaryentityids',isu1,is_available,lsubmodel)
108 CALL hm_get_intv('mainentityids',isu2,is_available,lsubmodel)
109 CALL hm_get_intv('Isearch',ibuc,is_available,lsubmodel)
110 CALL hm_get_floatv('dsearch',dsearch,is_available,lsubmodel,unitab)
111C
112 key1='IBUC'
113 iassign = 1
114 CALL definter(key1 ,ibuc ,iassign ,iprint ,
115 . ntyp ,def_inter)
116
117C
118 IF(ibuc==0)ibuc=2
119C------------------------------------------------------------
120 IF (isu1==0) THEN
121 CALL ancmsg(msgid=1001,
122 . anmode=aninfo_blind_1,
123 . msgtype=msgerror,
124 . i1=noint,
125 . c1=titr)
126 END IF
127 IF(isu2 == 0) THEN
128 CALL ancmsg(msgid=119,
129 . anmode=aninfo_blind_1,
130 . msgtype=msgerror,
131 . i1=noint,
132 . c1=titr)
133 END IF
134C
135 is1=2
136 is2=1
137 ingr2usr => igrnod(1:ngrnod)%ID
138 isu1=ngr2usr(isu1,ingr2usr,ngrnod)
139 ingr2usr => igrsurf(1:nsurf)%ID
140 isu2=ngr2usr(isu2,ingr2usr,nsurf)
141 IF (igrnod(isu1)%NENTITY == 0) THEN
142 CALL ancmsg(msgid=1131,
143 . anmode=aninfo_blind_1,
144 . msgtype=msgerror,
145 . i1=noint,
146 . c1=titr)
147 END IF
148
149C-------*STORAGE IN IPARI AND FRIGAP *-------------------
150C
151 ipari(12) = ibuc
152
153 ipari(45) = isu1
154 ipari(46) = isu2
155 ipari(13) = is1*10+is2
156
157 frigap(4) = dsearch
158
159 idel2 = 0
160 ipari(17)= idel2
161C
162C IGNORE is working with /INTER/LAGMUL/TYPE2 but not documented
163 ignore = 0
164 ipari(34) = ignore
165
166 intkg = 0
167 ipari(65) = intkg
168
169 ilev = 0
170 ipari(20) = ilev
171
172 startt = zero
173 stopt = ep30
174 frigap(3) = startt
175 frigap(11)= stopt
176C
177C------------------------------------------------------------
178C PRINTOUT
179C------------------------------------------------------------
180C
181 WRITE(iout,1602) ibuc,frigap(4)
182C
183 IF(is1==0)THEN
184 WRITE(iout,'(6X,A)')'NO SECONDARY SURFACE INPUT'
185 ELSEIF(is1==1)THEN
186 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
187 ELSEIF(is1==2)THEN
188 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY NODES'
189 ELSEIF(is1==3)THEN
190 WRITE(iout,'(6X,A)')'SECONDARY SURFACE INPUT BY SEGMENTS'
191 ELSEIF(is1==4 )THEN
192 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY BRICKS'
193 ELSEIF(is1==5 )THEN
194 WRITE(iout,'(6X,A)')'SECONDARY SIDE INPUT BY SOLID ELEMENTS'
195 ENDIF
196 IF(is2==0)THEN
197 WRITE(iout,'(6X,A)')'NO MAIN SURFACE INPUT'
198 ELSEIF(is2==1)THEN
199 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
200 ELSEIF(is2==2)THEN
201 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY NODES'
202 ELSEIF(is2==3)THEN
203 WRITE(iout,'(6X,A)')'MAIN SURFACE INPUT BY SEGMENTS'
204 ELSEIF(is2==4)THEN
205 WRITE(iout,'(6X,A)')'MAIN SURFACE REFERS ',
206 . 'TO HYPER-ELLIPSOIDAL SURFACE'
207 ENDIF
208C
209C--------------------------------------------------------------
210 RETURN
211
212 1602 FORMAT(//
213 . ' TYPE==2 TIED SLIDING ' //
214 . ' LAGRANGE MULTIPLIER FORMULATION ' /
215 . ' SEARCH FORMULATION. . . . . . . . . . . . ',i5/,
216 . ' SEARCH DISTANCE . . . . . . . . . . . . . ',1pg20.13/)
217
#define my_real
Definition cppsort.cpp:32
subroutine definter(key, ival, flag, iprint, ityp, def_inter)
Definition definter.F:46
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer, parameter nchartitle
integer, parameter ncharkey
integer nsubmod
integer function ngr2usr(iu, igr, ngr)
Definition nintrr.F:325
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