mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 13:50:33 +05:00
mpi - topology
This commit is contained in:
parent
2c3d08ec2a
commit
0d39c64fbe
@ -545,7 +545,8 @@ namespace netgen
|
|||||||
edgecoeffsindex[0] = 0;
|
edgecoeffsindex[0] = 0;
|
||||||
for (int i = 0; i < top.GetNEdges(); i++)
|
for (int i = 0; i < top.GetNEdges(); i++)
|
||||||
{
|
{
|
||||||
int glob = partop.GetDistantEdgeNum (0, i+1);
|
// int glob = partop.GetDistantEdgeNum (0, i+1);
|
||||||
|
int glob = partop.GetGlobalEdgeNum (i+1);
|
||||||
edgeorder[i] = master_edgeorder[glob-1];
|
edgeorder[i] = master_edgeorder[glob-1];
|
||||||
int ncoefs = master_edgecoeffsindex[glob]-master_edgecoeffsindex[glob-1];
|
int ncoefs = master_edgecoeffsindex[glob]-master_edgecoeffsindex[glob-1];
|
||||||
edgecoeffsindex[i+1] = edgecoeffsindex[i] + ncoefs;
|
edgecoeffsindex[i+1] = edgecoeffsindex[i] + ncoefs;
|
||||||
@ -554,7 +555,8 @@ namespace netgen
|
|||||||
|
|
||||||
for (int i = 0; i < top.GetNEdges(); i++)
|
for (int i = 0; i < top.GetNEdges(); i++)
|
||||||
{
|
{
|
||||||
int glob = partop.GetDistantEdgeNum (0, i+1);
|
// int glob = partop.GetDistantEdgeNum (0, i+1);
|
||||||
|
int glob = partop.GetGlobalEdgeNum (i+1);
|
||||||
int ncoefs = master_edgecoeffsindex[glob]-master_edgecoeffsindex[glob-1];
|
int ncoefs = master_edgecoeffsindex[glob]-master_edgecoeffsindex[glob-1];
|
||||||
for (int j = 0; j < ncoefs; j++)
|
for (int j = 0; j < ncoefs; j++)
|
||||||
edgecoeffs[edgecoeffsindex[i]+j] = master_edgecoeffs[master_edgecoeffsindex[glob-1]+j];
|
edgecoeffs[edgecoeffsindex[i]+j] = master_edgecoeffs[master_edgecoeffsindex[glob-1]+j];
|
||||||
@ -567,7 +569,8 @@ namespace netgen
|
|||||||
facecoeffsindex[0] = 0;
|
facecoeffsindex[0] = 0;
|
||||||
for (int i = 0; i < top.GetNFaces(); i++)
|
for (int i = 0; i < top.GetNFaces(); i++)
|
||||||
{
|
{
|
||||||
int glob = partop.GetDistantFaceNum (0, i+1);
|
// int glob = partop.GetDistantFaceNum (0, i+1);
|
||||||
|
int glob = partop.GetGlobalFaceNum (i+1);
|
||||||
faceorder[i] = master_faceorder[glob-1];
|
faceorder[i] = master_faceorder[glob-1];
|
||||||
int ncoefs = master_facecoeffsindex[glob]-master_facecoeffsindex[glob-1];
|
int ncoefs = master_facecoeffsindex[glob]-master_facecoeffsindex[glob-1];
|
||||||
facecoeffsindex[i+1] = facecoeffsindex[i] + ncoefs;
|
facecoeffsindex[i+1] = facecoeffsindex[i] + ncoefs;
|
||||||
@ -576,7 +579,8 @@ namespace netgen
|
|||||||
|
|
||||||
for (int i = 0; i < top.GetNFaces(); i++)
|
for (int i = 0; i < top.GetNFaces(); i++)
|
||||||
{
|
{
|
||||||
int glob = partop.GetDistantFaceNum (0, i+1);
|
// int glob = partop.GetDistantFaceNum (0, i+1);
|
||||||
|
int glob = partop.GetGlobalFaceNum (i+1);
|
||||||
int ncoefs = master_facecoeffsindex[glob]-master_facecoeffsindex[glob-1];
|
int ncoefs = master_facecoeffsindex[glob]-master_facecoeffsindex[glob-1];
|
||||||
for (int j = 0; j < ncoefs; j++)
|
for (int j = 0; j < ncoefs; j++)
|
||||||
facecoeffs[facecoeffsindex[i]+j] = master_facecoeffs[master_facecoeffsindex[glob-1]+j];
|
facecoeffs[facecoeffsindex[i]+j] = master_facecoeffs[master_facecoeffsindex[glob-1]+j];
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -78,15 +78,29 @@ namespace netgen
|
|||||||
int GetNDistantElNums ( int locelnum ) const
|
int GetNDistantElNums ( int locelnum ) const
|
||||||
{ return loc2distel[locelnum-1].Size() / 2 + 1; }
|
{ return loc2distel[locelnum-1].Size() / 2 + 1; }
|
||||||
|
|
||||||
|
int GetGlobalPNum ( int locpnum ) const
|
||||||
|
{ return loc2distvert[locpnum][0]; }
|
||||||
|
|
||||||
|
int GetGlobalEdgeNum ( int locedgenum ) const
|
||||||
|
{ return loc2distedge[locedgenum-1][0]; }
|
||||||
|
|
||||||
|
int GetGlobalFaceNum ( int locfacenum ) const
|
||||||
|
{ return loc2distface[locfacenum-1][0]; }
|
||||||
|
|
||||||
|
int GetGlobalElNum ( int locelnum ) const
|
||||||
|
{ return loc2distel[locelnum-1][0]; }
|
||||||
|
|
||||||
|
/*
|
||||||
int GetDistantPNum ( int proc, int locpnum ) const;
|
int GetDistantPNum ( int proc, int locpnum ) const;
|
||||||
int GetDistantEdgeNum ( int proc, int locedgenum ) const;
|
int GetDistantEdgeNum ( int proc, int locedgenum ) const;
|
||||||
int GetDistantFaceNum ( int proc, int locedgenum ) const;
|
int GetDistantFaceNum ( int proc, int locedgenum ) const;
|
||||||
int GetDistantElNum ( int proc, int locelnum ) const;
|
int GetDistantElNum ( int proc, int locelnum ) const;
|
||||||
|
*/
|
||||||
|
|
||||||
int GetDistantPNums ( int locpnum, int * distpnums ) const;
|
void GetDistantPNums ( int locpnum, int * distpnums ) const;
|
||||||
int GetDistantEdgeNums ( int locedgenum, int * distedgenums ) const;
|
void GetDistantEdgeNums ( int locedgenum, int * distedgenums ) const;
|
||||||
int GetDistantFaceNums ( int locedgenum, int * distfacenums ) const;
|
void GetDistantFaceNums ( int locedgenum, int * distfacenums ) const;
|
||||||
int GetDistantElNums ( int locelnum, int * distfacenums ) const;
|
void GetDistantElNums ( int locelnum, int * distfacenums ) const;
|
||||||
|
|
||||||
void Print() const;
|
void Print() const;
|
||||||
|
|
||||||
@ -97,8 +111,7 @@ namespace netgen
|
|||||||
bool IsExchangeElement ( int elnum ) const { return false; }
|
bool IsExchangeElement ( int elnum ) const { return false; }
|
||||||
|
|
||||||
|
|
||||||
bool IsExchangeSEl ( int selnum ) const { return loc2distsurfel[selnum-1].Size() > 1; }
|
// bool IsExchangeSEl ( int selnum ) const { return loc2distsurfel[selnum-1].Size() > 1; }
|
||||||
|
|
||||||
|
|
||||||
bool IsExchangeVert (int dest, int vnum ) const
|
bool IsExchangeVert (int dest, int vnum ) const
|
||||||
{
|
{
|
||||||
@ -124,13 +137,11 @@ namespace netgen
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsExchangeElement (int dest, int elnum ) const { return false; }
|
// bool IsExchangeElement (int dest, int elnum ) const { return false; }
|
||||||
|
|
||||||
void Update();
|
void Update();
|
||||||
|
|
||||||
void UpdateCoarseGrid();
|
void UpdateCoarseGrid();
|
||||||
void UpdateRefinement ();
|
|
||||||
void UpdateTopology ();
|
|
||||||
void UpdateExchangeElements();
|
void UpdateExchangeElements();
|
||||||
|
|
||||||
void UpdateCoarseGridGlobal();
|
void UpdateCoarseGridGlobal();
|
||||||
|
Loading…
Reference in New Issue
Block a user