41 . IBOX ,IAD ,NBOX ,ITABM1 ,X ,
42 . RTRANS ,UNITAB ,LSUBMODEL)
55#include "implicit_f.inc"
64 INTEGER ,
INTENT(IN) :: NBOX
65 INTEGER ,
INTENT(INOUT) :: IAD
66 INTEGER ,
DIMENSION(NUMNOD),
INTENT(IN) :: ITABM1
67 my_real,
DIMENSION(3,NUMNOD),
INTENT(IN) :: x
68 my_real,
DIMENSION(NTRANSF,NRTRANS),
INTENT(IN) :: rtrans
69 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
70 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
71 TYPE (BOX_),
DIMENSION(NBBOX) :: IBOX
75 INTEGER I, N1, N2, UID, BOXID, SUB_ID,
77CHARACTER(LEN=NCHARKEY) :: KEY
78 CHARACTER(LEN=NCHARTITLE) :: TITR,MESS
79 LOGICAL :: IS_AVAILABLE
84 DATA MESS/
'MULTI-BOX DEFINITION '/
117 . option_titr = titr,
122 DO iunit=1,unitab%NUNITS
123 IF (unitab%UNIT_ID(iunit) == uid)
THEN
128 IF (uid > 0 .AND. flagunit == 0)
THEN
129 CALL ancmsg(msgid=659,anmode=aninfo,msgtype=msgerror,
139 CALL hm_get_intv (
'cylinder_direction_node' ,n2 ,is_available, lsubmodel)
140 CALL hm_get_floatv(
'cylinder_diameter' ,diam ,is_available, lsubmodel, unitab)
144 CALL hm_get_floatv(
'cylinder_base_z' ,zp1 ,is_available, lsubmodel
147 CALL hm_get_floatv(
'cylinder_direction_y' ,yp2 ,is_available, lsubmodel, unitab
148 CALL hm_get_floatv(
'cylinder_direction_z' ,zp2 ,is_available, lsubmodel, unitab)
152 IF (n1 > 0 .and. n2 > 0)
THEN
154 xp1 = x(1,usr2sys(n1,itabm1,mess,boxid))
155 yp1 = x(2,usr2sys(n1,itabm1,mess,boxid))
156 zp1 = x(3,usr2sys(n1,itabm1,mess,boxid))
157 xp2 = x(1,usr2sys(n2,itabm1,mess,boxid))
158 yp2 = x(2,usr2sys(n2,itabm1,mess,boxid))
159 zp2 = x(3,usr2sys(n2,itabm1,mess,boxid))
162 IF (sub_id > 0)
CALL subrotpoint(xp1,yp1,zp1,rtrans,sub_id,lsubmodel)
166 IF ((xp1 == zero .and. yp1 == zero .and. zp1 == zero) .and.
167 . (xp2 == zero .and. yp2 == zero .and. zp2 == zero))
THEN
168 CALL ancmsg(msgid=752, msgtype=msgerror, anmode=aninfo,
178 ibox(iad)%TITLE = trim(titr)
181 ibox(iad)%NBLEVELS= 0
184 ibox(iad)%ACTIBOX = 0
185 ibox(iad)%NBOXBOX = 0
188 ibox(iad)%DIAM = diam
195 ibox(iad)%SURFIAD = 0
196 ibox(iad)%NENTITY = 0
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)