34 |
|
|
35 |
if (self == NULL) |
if (self == NULL) |
36 |
return; |
return; |
37 |
mpiRankOfDOF = TMPMEMALLOC(self->Nodes->numNodes, Esys_MPI_rank); |
mpiRankOfDOF = new Esys_MPI_rank[self->Nodes->numNodes]; |
38 |
if (!Dudley_checkPtr(mpiRankOfDOF)) |
if (!Dudley_checkPtr(mpiRankOfDOF)) |
39 |
{ |
{ |
40 |
|
|
57 |
/* create a local labeling of the DOFs */ |
/* create a local labeling of the DOFs */ |
58 |
Dudley_NodeFile_setDOFRange(&min_dof_id, &max_dof_id, self->Nodes); |
Dudley_NodeFile_setDOFRange(&min_dof_id, &max_dof_id, self->Nodes); |
59 |
len = max_dof_id - min_dof_id + 1; |
len = max_dof_id - min_dof_id + 1; |
60 |
tmp_node_localDOF_mask = TMPMEMALLOC(len, index_t); /* local mask for used nodes */ |
tmp_node_localDOF_mask = new index_t[len]; /* local mask for used nodes */ |
61 |
tmp_node_localDOF_map = TMPMEMALLOC(self->Nodes->numNodes, index_t); |
tmp_node_localDOF_map = new index_t[self->Nodes->numNodes]; |
62 |
if (!((Dudley_checkPtr(tmp_node_localDOF_mask) && Dudley_checkPtr(tmp_node_localDOF_map)))) |
if (!((Dudley_checkPtr(tmp_node_localDOF_mask) && Dudley_checkPtr(tmp_node_localDOF_map)))) |
63 |
{ |
{ |
64 |
|
|
105 |
Dudley_Mesh_createColoring(self, tmp_node_localDOF_map); |
Dudley_Mesh_createColoring(self, tmp_node_localDOF_map); |
106 |
|
|
107 |
} |
} |
108 |
TMPMEMFREE(tmp_node_localDOF_mask); |
delete[] tmp_node_localDOF_mask; |
109 |
TMPMEMFREE(tmp_node_localDOF_map); |
delete[] tmp_node_localDOF_map; |
110 |
} |
} |
111 |
TMPMEMFREE(mpiRankOfDOF); |
delete[] mpiRankOfDOF; |
112 |
return; |
return; |
113 |
} |
} |