40 . MERGE_NODE_TOL,NMERGE_NODE_CAND,NMERGE_NODE_DEST)
53#include "implicit_f.inc"
62 INTEGER MERGE_NODE_TAB(4,*),NMERGE_NODE_CAND,NMERGE_NODE_DEST
64 . x(3,*),merge_node_tol(*)
67 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRNOD) :: IGRNOD
71 INTEGER I,J,ID,UID,IDN,GR_ID,GR_IDS,MERGE_TYPE,FLAG_FULL_MERGE
72 CHARACTER(LEN=NCHARTITLE) :: TITR
73 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGNOD1,TAGNOD2,TAGNOD_TEMP
75 my_real tol,xn,xmin,xmax,ymin,
ymax,zmin,zmax,dx,dy,dz,tol_def
80 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
87 ALLOCATE(tagnod1(numnod),tagnod2(numnod),tagnod_temp(numnod))
94 is_available = .false.
104 . option_titr = titr)
109 CALL hm_get_intv (
'Type' ,merge_type ,is_available, lsubmodel)
116 IF (igrnod(j)%ID == gr_id) gr_ids = j
118 IF (gr_ids == 0)
THEN
122 . c1=
'IN /MERGE/NODE DEFINITION',
127 IF ((tol_def == zero).AND.(tol == zero))
THEN
137 xmin =
min(xmin,x(1,j))
138 xmax =
max(xmax,x(1,j))
139 ymin =
min(ymin,x(2,j))
141 zmin =
min(zmin,x(3,j))
142 zmax =
max(zmax,x(3,j))
147 tol_def = em05*(dx+dy+dz)/(three*exp(third*log(xn)))
152 IF (merge_type == 0) merge_type = 1
153 IF (merge_type == 1)
THEN
155 DO j=1,igrnod(gr_ids)%NENTITY
156 tagnod1(igrnod(gr_ids)%ENTITY(j)) = 1
157 tagnod2(igrnod(gr_ids)%ENTITY(j)) = 1
159 ELSEIF (merge_type == 2)
THEN
161 tagnod_temp(1:numnod) = 0
162 DO j=1,igrnod(gr_ids)%NENTITY
163 tagnod1(igrnod(gr_ids)%ENTITY(j)) = 1
164 tagnod_temp(igrnod(gr_ids)%ENTITY(j)) = 1
167 IF (tagnod_temp(j)==0) tagnod2(j) = 1
172 IF (flag_full_merge == 0)
THEN
177 . anmode=aninfo_blind_1,
178 . i1=id,i2=flag_full_merge)
181 tagnod1(1:numnod) = 1
182 tagnod2(1:numnod) = 1
186 IF (tol == zero) tol = tol_def
190 IF (tagnod1(j) == 1) nmerge_node_cand = nmerge_node_cand + 1
191 IF (tagnod2(j) == 1) nmerge_node_dest = nmerge_node_dest + 1
193 merge_node_tab(1,i) = merge_type
194 merge_node_tab(2,i) = gr_ids
195 merge_node_tab(3,i) = gr_id
196 merge_node_tab(4,i) = id
197 merge_node_tol(i) = tol
199 WRITE(iout,1100) id,trim(titr),tol,merge_type,gr_id
203 DEALLOCATE(tagnod1,tagnod2,tagnod_temp)
209 .
' MERGE/NODE DEFINITIONS '/
210 .
' ---------------------- ')
2111100
FORMAT(/5x,
'MERGE NODE ID ',i10,1x,a
212 . /5x,
'TOLERANCE. . . . . . . . . . . . . . . . .',1pg20.4
213 . /5x,
'MERGING TYPE. . . . . . . . . . . . . . . ',i10
214 . /5x,
'GROUP OF NODES. . . . . . . . . . . . . . ',i10)
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
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)