29 SUBROUTINE iwcontdd_type25(NLEDGE,NUMNOD,NSN,NMN,IEDGE,NRTM,NEDGE,NSV,MSR,IRECT,IWCONT,NSNT,NMNT,INTBUF_TAB)
49#include "implicit_f.inc"
53 INTEGER,
INTENT(in) :: NLEDGE
54 INTEGER,
INTENT(in) :: NUMNOD
55 INTEGER,
INTENT(in) :: NSN
56 INTEGER,
INTENT(in) :: NMN
57 INTEGER,
INTENT(in) :: IEDGE
58 INTEGER,
INTENT(in) :: NRTM
59 INTEGER,
INTENT(in) :: NEDGE
60 INTEGER,
DIMENSION(NSN),
INTENT(in) :: NSV
61 INTEGER,
DIMENSION(NMN),
INTENT(in) :: MSR
62 INTEGER,
DIMENSION(4,NRTM),
INTENT(in) :: IRECT
63 INTEGER,
DIMENSION(5,NUMNOD),
INTENT(inout) :: IWCONT
64 INTEGER,
INTENT(inout) :: NSNT
65 INTEGER,
INTENT(inout) :: NMNT
66 TYPE(intbuf_struct_),
INTENT(in) :: INTBUF_TAB
71 INTEGER :: S_NODE_ID,M_NODE_ID,S_NODE_ID_2
72 INTEGER :: NODE_ID_1,NODE_ID_2,NODE_ID_3,NODE_ID_4
73 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAG_NODE
80 iwcont(1,s_node_id) = iwcont(1,s_node_id)+1
89 iwcont(2,m_node_id) = iwcont(2,m_node_id)+1
98 ALLOCATE(tag_node(numnod))
99 tag_node(1:numnod) = 0
103 node_id_1 = intbuf_tab%LEDGE((i-1)*nledge+5)
104 node_id_2 = intbuf_tab%LEDGE((i-1)*nledge+6)
105 IF(intbuf_tab%LEDGE((i-1)*nledge+7)<0) cycle
106 IF(tag_node(node_id_1)==0)
THEN
107 iwcont(1,node_id_1) = iwcont(1,node_id_1)+1
108 tag_node(node_id_1) = 1
111 IF(tag_node(node_id_2)==0)
THEN
112 iwcont(1,node_id_2) = iwcont(1,node_id_2)+1
113 tag_node(node_id_2) = 1
118 tag_node(1:numnod) = 0
122 IF(iabs(intbuf_tab%LEDGE((i-1)*nledge+7))==1) cycle
123 node_id_1 = intbuf_tab%LEDGE((i-1)*nledge+5)
124 node_id_2 = intbuf_tab%LEDGE((i-1)*nledge+6)
125 IF(tag_node(node_id_1)==0)
THEN
126 iwcont(2,node_id_1) = iwcont(2,node_id_1)+1
127 tag_node(node_id_1) = 1
130 IF(tag_node(node_id_2)==0)
THEN
131 iwcont(2,node_id_2) = iwcont(2,node_id_2)+1
132 tag_node(node_id_2) = 1
137 tag_node(1:numnod) = 0
141 IF(intbuf_tab%MSEGTYP24(i)/=0) cycle
142 node_id_1 = irect(1,i)
143 node_id_2 = irect(2,i)
144 node_id_3 = irect(3,i)
145 node_id_4 = irect(4,i)
147 IF(tag_node(node_id_1)==0)
THEN
148 iwcont(2,node_id_1) = iwcont(2,node_id_1)+1
153 iwcont(2,node_id_2) = iwcont(2,node_id_2)+1
154 tag_node(node_id_2) = 1
158 iwcont(2,node_id_3) = iwcont(2,node_id_3)+1
159 tag_node(node_id_3) = 1
162 IF(tag_node(node_id_4)==0)
THEN
163 iwcont(2,node_id_4) = iwcont(2,node_id_4)+1
164 tag_node(node_id_4) = 1
subroutine iwcontdd_type25(nledge, numnod, nsn, nmn, iedge, nrtm, nedge, nsv, msr, irect, iwcont, nsnt, nmnt, intbuf_tab)