61#include "implicit_f.inc"
65#include "analyse_name.inc"
76 INTEGER LJOINT(*), ITABM1(*), IKINE(*), ITAB(*)
77 INTEGER NOM_OPT(LNOPT1,*)
79 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
84 INTEGER :: K, I, NS, J, LJ, NU, IDIR,ID,N1,N2,IGU,IKINE1(3*NUMNOD),UID,NY,SUB_ID,IGS
87 CHARACTER(LEN=NCHARTITLE) :: TITR
88 LOGICAL :: IS_AVAILABLE
92 INTEGER USR2SYS,NODGRNR5
93 EXTERNAL usr2sys,nodgrnr5
95 DATA mess/
'CYLINDRICAL JOINTS DEFINITION '/
98 is_available = .false.
119 . submodel_id = sub_id,
120 . option_titr = titr)
123 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
125 CALL hm_get_intv(
'independentnode',n1,is_available,lsubmodel)
126 CALL hm_get_intv(
'dependentnodes',n2,is_available,lsubmodel)
127 CALL hm_get_intv(
'dependentnodeset',igu,is_available,lsubmodel)
129 ns=2+nodgrnr5(igu,igs,ljoint(k+3),igrnod,itabm1,mess)
131 ljoint(k+1)=usr2sys(n1,itabm1,mess,id)
132 ljoint(k+2)=usr2sys(n2,itabm1,mess,id)
133 CALL anodset(ljoint(k+1), check_used)
134 CALL anodset(ljoint(k+2), check_used)
136 WRITE (iout,1000) id,ns
137 WRITE (iout,1100) (itab(ljoint(k+j)),j=1,ns)
140 ALLOCATE(
cyl_join(i)%SECONDARY_NODE(ns) )
142 nu = itab(ljoint(k+lj))
143 cyl_join(i)%SECONDARY_NODE(lj) = ljoint(k+lj)
147 CALL kinset(64,nu,ikine(ljoint(k+lj)),idir,0
148 . ,ikine1(ljoint(k+lj)))
155 ALLOCATE(
cyl_join(i)%MAIN_NODE(2) )
156 cyl_join(i)%MAIN_NODE(1:2) = ljoint(k+1:k+2)
163 CALL udouble(nom_opt,lnopt1,njoint,mess,0,bid)
166 1000
FORMAT(/
' CYLINDRICAL JOINT ',i10, /
167 + ,
' -------------------'/
170 1100
FORMAT(7x,10i10)