45 . ITAB ,ITABM1 ,IKINE ,IKINE1LAG,NOM_OPT)
58#include "implicit_f.inc"
62#include "analyse_name.inc"
75 INTEGER (NNPBY,*),LPBYL(*),
76 . itab(*), itabm1(*),ikine(*),ikine1lag(*)
78 INTEGER NOM_OPT(LNOPT1,*)
80 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
85 INTEGER J,K,NR,MM,ID,IGU,,
86 . nsl,msl,sub_index,nrb,nrb_r2r
88 CHARACTER(LEN=NCHARTITLE) :: TITR
89 CHARACTER(LEN=NCHARKEY) :: KEY
91 DATA mess/
'RIGID BODY DEFINITIONS'/
95 INTEGER USR2SYS,NODGRNR6
96 EXTERNAL usr2sys,nodgrnr6
109 is_available = .false.
122 nrb_r2r = nrb_r2r + 1
123 IF (nsubdom > 0)
THEN
130 . option_titr = titr,
132 . submodel_index = sub_index)
133 IF(key(1:6)==
'LAGMUL')
THEN
135 IF (nsubdom > 0)
THEN
140 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,nrb),ltitr)
142 CALL hm_get_intv(
'node_ID',mm,is_available,lsubmodel)
143 mm = usr2sys(mm,itabm1,mess,id)
145 CALL hm_get_intv(
'grnd_ID',igu,is_available,lsubmodel)
146 nsl = nodgrnr6(mm,igu,igs,lpbyl(k+1),igrnod,itabm1,mess,id)
153 . msgtype=msgwarning,
154 . anmode=aninfo_blind_2,
160 CALL anodset(lpbyl(j+k), check_rb_s)
164 CALL kinset(512,itab(lpbyl(j+k)),ikine(lpbyl(j+k)),7,0,
165 . ikine1lag(lpbyl(j+k)))
171 lag_ncl = lag_ncl + nsl*6
172 lag_nkl = lag_nkl + nsl*21
174 WRITE(iout,1100)id,trim(titr),itab(mm),msl
176 WRITE(iout,1102) (itab(lpbyl(j+k)),j=1,nsl)
184 . /
' RIGID BODY DEFINITIONS (LAGRANGE MULTIPLIERS)'
185 . /
' -------------------------------------------- '/)
1861100
FORMAT( /5x,
'RIGID BODY ID ',i10,1x,a,
187 . /10x,
'PRIMARY NODE ',i10
188 . /10x,
'NUMBER OF NODES ',i10)
1891101
FORMAT( 10x,
'SECONDARY NODES ')
1901102
FORMAT( 9x,10i10)
subroutine hm_read_rbody_lagmul(rbyl, npbyl, lpbyl, igrnod, lsubmodel, itab, itabm1, ikine, ikine1lag, nom_opt)
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)