Lines Matching refs:nodes

33 …if (graph->nodes[i].count > 1 && graph->nodes[i].special_dof == PCBDDCGRAPH_DIRICHLET_MARK) size++;  in PCBDDCGraphGetDirichletDofsB()
39 …if (graph->nodes[i].count > 1 && graph->nodes[i].special_dof == PCBDDCGRAPH_DIRICHLET_MARK) dirdof… in PCBDDCGraphGetDirichletDofsB()
59 if (graph->nodes[i].special_dof == PCBDDCGRAPH_DIRICHLET_MARK) size++; in PCBDDCGraphGetDirichletDofs()
65 if (graph->nodes[i].special_dof == PCBDDCGRAPH_DIRICHLET_MARK) dirdofs_idxs[size++] = i; in PCBDDCGraphGetDirichletDofs()
94 …erASCIISynchronizedPrintf(viewer, " which_dof: %" PetscInt_FMT "\n", graph->nodes[i].which_dof)); in PCBDDCGraphASCIIView()
95 …CIISynchronizedPrintf(viewer, " special_dof: %" PetscInt_FMT "\n", graph->nodes[i].special_dof)); in PCBDDCGraphASCIIView()
96 …ViewerASCIISynchronizedPrintf(viewer, " shared by: %" PetscInt_FMT "\n", graph->nodes[i].count)); in PCBDDCGraphASCIIView()
98 if (graph->nodes[i].count) { in PCBDDCGraphASCIIView()
100 …for (j = 0; j < graph->nodes[i].count; j++) PetscCall(PetscViewerASCIISynchronizedPrintf(viewer, "… in PCBDDCGraphASCIIView()
105 …edPrintf(viewer, " number of local groups: %" PetscInt_FMT "\n", graph->nodes[i].local_groups_co… in PCBDDCGraphASCIIView()
107 if (graph->nodes[i].local_groups_count) { in PCBDDCGraphASCIIView()
109 … = 0; j < graph->nodes[i].local_groups_count; j++) PetscCall(PetscViewerASCIISynchronizedPrintf(vi… in PCBDDCGraphASCIIView()
128 …SynchronizedPrintf(viewer, " interface subset id: %" PetscInt_FMT "\n", graph->nodes[i].subset)); in PCBDDCGraphASCIIView()
129nodes[i].subset && graph->subset_ncc) PetscCall(PetscViewerASCIISynchronizedPrintf(viewer, " ncc… in PCBDDCGraphASCIIView()
138 … PetscInt_FMT ", neighs:", i, graph->cptr[i + 1] - graph->cptr[i], graph->nodes[node_num].which_do… in PCBDDCGraphASCIIView()
140 … (j = 0; j < graph->nodes[node_num].count; j++) PetscCall(PetscViewerASCIISynchronizedPrintf(viewe… in PCBDDCGraphASCIIView()
143 …level > 2 || graph->twodim || graph->nodes[node_num].count > 2 || (graph->nodes[node_num].count ==… in PCBDDCGraphASCIIView()
217 …if (graph->cptr[i + 1] - graph->cptr[i] > graph->custom_minimal_size && graph->nodes[repdof].count… in PCBDDCGraphGetCandidatesIS()
218 …if (!graph->twodim && graph->nodes[repdof].count == 2 && graph->nodes[repdof].special_dof != PCBDD… in PCBDDCGraphGetCandidatesIS()
558 if (graph->nodes[repdof].count > 2 && ccsize > graph->custom_minimal_size) { in PCBDDCGraphComputeConnectedComponents()
579 PCBDDCGraphNode *PETSC_RESTRICT nodes = graph->nodes; in PCBDDCGraphComputeCC_Private() local
594 if (!nodes[dof].touched && nodes[dof].subset == pid) { in PCBDDCGraphComputeCC_Private()
595 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
604 if (!nodes[dof].touched && nodes[dof].subset == pid) { in PCBDDCGraphComputeCC_Private()
605 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
623 if (!nodes[dof].touched && nodes[dof].subset == pid && local_subs[dof] == sid) { in PCBDDCGraphComputeCC_Private()
624 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
633 if (!nodes[dof].touched && nodes[dof].subset == pid && local_subs[dof] == sid) { in PCBDDCGraphComputeCC_Private()
634 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
647 if (!nodes[dof].touched && nodes[dof].subset == pid && local_subs[dof] == sid) { in PCBDDCGraphComputeCC_Private()
648 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
657 if (!nodes[dof].touched && nodes[dof].subset == pid) { in PCBDDCGraphComputeCC_Private()
658 nodes[dof].touched = PETSC_TRUE; in PCBDDCGraphComputeCC_Private()
678 for (PetscInt i = 0; i < graph->nvtxs; i++) graph->nodes[i].touched = PETSC_FALSE; in PCBDDCGraphComputeConnectedComponentsLocal()
681 …if (graph->nodes[i].special_dof == PCBDDCGRAPH_DIRICHLET_MARK || graph->nodes[i].count < 2) graph-… in PCBDDCGraphComputeConnectedComponentsLocal()
698 while (graph->nodes[subset_idxs[first]].touched) first++; in PCBDDCGraphComputeConnectedComponentsLocal()
699 graph->nodes[subset_idxs[first]].touched = PETSC_TRUE; in PCBDDCGraphComputeConnectedComponentsLocal()
758 for (i = 0; i < nvtxs; i++) graph->nodes[i].touched = PETSC_FALSE; in PCBDDCGraphSetUp()
773 graph->nodes[i].count = nodecount[i]; in PCBDDCGraphSetUp()
775 PetscCall(PetscMalloc1(nodecount[i], &graph->nodes[i].neighbours_set)); in PCBDDCGraphSetUp()
776 PetscCall(PetscArraycpy(graph->nodes[i].neighbours_set, nodeneighs[i], nodecount[i])); in PCBDDCGraphSetUp()
780 for (j = 0, nself = 0; j < graph->nodes[i].count; j++) in PCBDDCGraphSetUp()
781 if (graph->nodes[i].neighbours_set[j] == rank) nself++; in PCBDDCGraphSetUp()
785 PetscCall(PetscCalloc1(nodecount[i], &graph->nodes[i].neighbours_set)); in PCBDDCGraphSetUp()
825 graph->nodes[i].local_sub = graph->local_subs[i]; in PCBDDCGraphSetUp()
826 for (j = 0, c = 0; j < graph->nodes[i].count; j++) { in PCBDDCGraphSetUp()
827 if (graph->nodes[i].neighbours_set[j] == rank) c++; in PCBDDCGraphSetUp()
830 PetscCall(PetscMalloc1(c, &graph->nodes[i].local_groups)); in PCBDDCGraphSetUp()
831 for (j = 0; j < c; j++) graph->nodes[i].local_groups[j] = multi_root_subs[start[gid] + j]; in PCBDDCGraphSetUp()
832 PetscCall(PetscSortInt(c, graph->nodes[i].local_groups)); in PCBDDCGraphSetUp()
833 graph->nodes[i].local_groups_count = c; in PCBDDCGraphSetUp()
851 …for (i = 0; i < nvtxs; i++) graph->nodes[i].which_dof = k; /* by default a dof belongs to the comp… in PCBDDCGraphSetUp()
865 graph->nodes[is_indices[jj]].which_dof = k + b; in PCBDDCGraphSetUp()
879 graph->nodes[is_indices[i]].special_dof = PCBDDCGRAPH_NEUMANN_MARK; in PCBDDCGraphSetUp()
892 graph->nodes[is_indices[i]].touched = PETSC_TRUE; in PCBDDCGraphSetUp()
893 graph->nodes[is_indices[i]].subset = 0; in PCBDDCGraphSetUp()
895 graph->nodes[is_indices[i]].special_dof = PCBDDCGRAPH_DIRICHLET_MARK; in PCBDDCGraphSetUp()
906 …if (is_indices[i] > -1 && is_indices[i] < nvtxs && graph->nodes[is_indices[i]].special_dof != PCBD… in PCBDDCGraphSetUp()
907 graph->nodes[is_indices[i]].special_dof = PCBDDCGRAPH_SPECIAL_MARK - j; in PCBDDCGraphSetUp()
917 const PetscInt icount = graph->nodes[i].count; in PCBDDCGraphSetUp()
918 if (graph->nodes[i].count < 2) { in PCBDDCGraphSetUp()
919 graph->nodes[i].touched = PETSC_TRUE; in PCBDDCGraphSetUp()
920 graph->nodes[i].subset = 0; in PCBDDCGraphSetUp()
923 graph->nodes[i].shared = PETSC_FALSE; in PCBDDCGraphSetUp()
925 if (graph->nodes[i].neighbours_set[k] != rank) { in PCBDDCGraphSetUp()
926 graph->nodes[i].shared = PETSC_TRUE; in PCBDDCGraphSetUp()
930 graph->nodes[i].shared = PETSC_TRUE; in PCBDDCGraphSetUp()
935 for (i = 0; i < nvtxs; i++) graph->nodes[i].shared = PETSC_TRUE; in PCBDDCGraphSetUp()
941 if (graph->nodes[i].touched) nodes_touched++; in PCBDDCGraphSetUp()
959 if (graph->nodes[i].touched) continue; in PCBDDCGraphSetUp()
960 graph->nodes[i].touched = PETSC_TRUE; in PCBDDCGraphSetUp()
961 PetscCall(PetscHMapPCBDDCGraphNodePut(subsetmaps, &graph->nodes[i], &iter, &missing)); in PCBDDCGraphSetUp()
968 graph->nodes[i].subset = subset; in PCBDDCGraphSetUp()
976 const PetscInt subset = graph->nodes[i].subset - 1; in PCBDDCGraphSetUp()
1122 const PetscInt ls = graph->nodes[subset_idxs[j]].local_sub; in PCBDDCGraphSetUp()
1125 if (graph->nodes[subset_idxs[k]].local_sub == ls) { in PCBDDCGraphSetUp()
1186 PetscCall(PetscFree(graph->nodes[i].neighbours_set)); in PCBDDCGraphReset()
1187 PetscCall(PetscFree(graph->nodes[i].local_groups)); in PCBDDCGraphReset()
1189 PetscCall(PetscFree(graph->nodes)); in PCBDDCGraphReset()
1233 PetscCall(PetscCalloc1(graph->nvtxs, &graph->nodes)); in PCBDDCGraphInit()
1235 for (n = 0; n < graph->nvtxs; n++) graph->nodes[n].which_dof = -1; in PCBDDCGraphInit()