46 USE reader_old_mod ,
ONLY : line
47 USE user_id_mod ,
ONLY : id_limit
51#include "implicit_f.inc"
60 TYPE (UNIT_TYPE_),
INTENT(IN) :: UNITAB
62 INTEGER,
INTENT(IN) :: NUMNUSR
63 INTEGER,
INTENT(IN) :: IS_DYNA
68 INTEGER FLAG_FMT,FLAG_FMT_TMP,IFIX_TMP,IFLAGUNIT, UID, ID
70 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SUB_NOD,UID_NOD
71 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ITAB
72 my_real,
DIMENSION(:,:),
ALLOCATABLE :: x
73 real*8,
DIMENSION(:,:),
ALLOCATABLE :: hm_x
74 real*8,
DIMENSION(:),
ALLOCATABLE :: dmerge
75 CHARACTER(LEN=NCHARFIELD) :: KEY
82 ALLOCATE (itab(numnusr+numcnod),stat=stat)
83 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'ITAB')
84 ALLOCATE (x(3,numnusr+numcnod),stat=stat)
85 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'X')
86 ALLOCATE (sub_nod(numnusr+numcnod),stat=stat)
87 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'SUB_NOD')
88 ALLOCATE (uid_nod(numnusr+numcnod),stat=stat)
89 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'UID_NOD')
90 ALLOCATE (hm_x(3,numnusr+numcnod),stat=stat)
91 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'HM_X')
92 ALLOCATE (dmerge(numcnod),stat=stat)
93 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,c1=
'DMERGE')
94 sub_nod(1:numnusr+numcnod) = 0
95 uid_nod(1:numnusr+numcnod) = 0
96 dmerge(1:numcnod) = zero
100 CALL cpp_nodes_read(itab,hm_x,dmerge,sub_nod,uid_nod)
106 DO i=1,numnusr+numcnod
112 IF(sub_nod(n) /= 0)
THEN
113 IF(uid_nod(n) == 0 .AND. lsubmodel(sub_nod(n))%UID /= 0) uid_nod(n) = lsubmodel(sub_nod(n))%UID
115 IF ( itab(n) > id_limit%GLOBAL )
THEN
116 CALL ancmsg(msgid=509,anmode=aninfo,msgtype=msgerror,i1=itab(n),c1=line,c2=
'/NODE')
121 IF(uid_nod(n) /= uid )
THEN
125 IF (unitab%UNIT_ID(j) == uid)
THEN
126 fac_l = unitab%FAC_L(j)
131 IF (uid/=0 .AND. iflagunit==0 .AND. i <= numnusr)
THEN
132 CALL ancmsg(msgid=643,anmode=aninfo,msgtype=msgerror,i1=uid,c1=
'/NODE')
133 ELSEIF (uid/=0 .AND. iflagunit==0 .AND. i > numnusr)
THEN
134 CALL ancmsg(msgid=643,anmode=aninfo,msgtype=msgerror,i1=uid,c1=
'/CNODE')
137 x(1,n) = x(1,n)*fac_l
138 x(2,n) = x(2,n)*fac_l
139 x(3,n) = x(3,n)*fac_l
141 IF(
ALLOCATED(sub_nod))
DEALLOCATE(sub_nod)
142 IF(
ALLOCATED(uid_nod))
DEALLOCATE(uid_nod)
143 IF(
ALLOCATED(hm_x))
DEALLOCATE(hm_x)
144 IF(
ALLOCATED(dmerge))
DEALLOCATE(dmerge)
subroutine contrl(multi_fvm, lsubmodel, is_dyna, detonators, user_windows, mat_elem, names_and_titles, lipart1, defaults, glob_therm, pblast, output)
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)