31 . SHIFT_S_NODE,INTER_SEC_NODE,SEC_NODE_ID)
41#include "implicit_f.inc"
50 INTEGER,
INTENT(in) :: ITASK
51 INTEGER,
INTENT(in) :: SIZE_SEC_NODE
52 INTEGER,
DIMENSION(2*NUMNOD),
INTENT(in) :: ITAG
53 INTEGER,
DIMENSION(NINTER),
INTENT(inout) :: NEWFRONT
54 TYPE(intbuf_struct_),
DIMENSION(NINTER),
INTENT(inout) :: INTBUF_TAB
57! shift_s_node(i+1) - shift_s_node(i) = number of
interface per node
58 INTEGER,
DIMENSION(NUMNOD+1),
INTENT(in) :: SHIFT_S_NODE
60 INTEGER,
DIMENSION(SIZE_SEC_NODE),
INTENT(in) :: INTER_SEC_NODE,
66 INTEGER :: LOCAL_COUNTER,SHIFT
67 INTEGER :: NB_INTERFACE,NIN,NODE_ID
68 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LOCAL_INDEX_SECONDARY_NODE
71 first = 1 + itask * (numnod / nthread)
72 last = (itask + 1) * (numnod / nthread)
73 IF(itask+1==nthread) last = numnod
74 ALLOCATE( local_index_secondary_node( last-first+1 ) )
79 local_counter = local_counter + 1
80 local_index_secondary_node(local_counter) = i
86 k = local_index_secondary_node(i)
87 nb_interface = shift_s_node(k+1) - shift_s_node(k)
88 shift = shift_s_node(k)
90 nin = inter_sec_node(shift+j)
91 node_id = sec_node_id(shift+j)
93 IF(intbuf_tab(nin)%STFNS(node_id)>zero)
THEN ! check
the current state
94 intbuf_tab(nin)%STFNS(node_id) = -intbuf_tab(nin)%STFNS(node_id)
100 DEALLOCATE( local_index_secondary_node )
subroutine check_nodal_state(itask, itag, newfront, intbuf_tab, size_sec_node, shift_s_node, inter_sec_node, sec_node_id)