This commit is contained in:
Michael Neunteufel 2019-09-13 09:42:05 +02:00
parent 4b26f39974
commit 9f79451fe1
2 changed files with 20 additions and 35 deletions

View File

@ -664,14 +664,8 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
INDEX_2_HASHTABLE<int> & surf_edges, NgArray<int, PointIndex::BASE> & facepoint, int dim, const FaceDescriptor & fd)
{
cout << "IN ClassifyTrig!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
HPREF_ELEMENT_TYPE type = HP_NONE;
cout << "el.index = " << el.index << endl;
cout << "edges = " << edges << endl;
cout << "edgepoint_dom = " << edgepoint_dom << endl;
cout << "face_edges = " << face_edges << endl;
cout << "surf_edges = " << surf_edges << endl;
cout << "facepoint = " << facepoint << endl;
HPREF_ELEMENT_TYPE type = HP_NONE;
int pnums[3];
int p[3];
@ -692,9 +686,9 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
{
p[m] = (j+m)%3 +1; // local vertex number
pnums[m] = el.PNum(p[m]); // global vertex number
cout << pnums[m] << " \t ";
// *testout << pnums[m] << " \t ";
}
cout << endl ;
// *testout << endl ;
if(dim == 3)
{
@ -768,11 +762,9 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
int ep2=p[eledges[k][1]-1];
INDEX_2 i2 = INDEX_2::Sort(el.PNum(ep1),el.PNum(ep2));
cout << "ep1 = " << ep1 << ", ep2 = " << ep2 << endl;
if(edges.Used(i2))
{
if(edgepoint_dom.Used(INDEX_2(fd.SurfNr(),pnums[ep1-1])) ||
edgepoint_dom.Used(INDEX_2(-1,pnums[ep1-1])) ||
edgepoint_dom.Used(INDEX_2(fd.SurfNr(),pnums[ep2-1])) ||
@ -793,17 +785,18 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
if(edgepoint.Test(pnums[k]) && (edgepoint_dom.Used(INDEX_2(fd.SurfNr(),pnums[k])) || edgepoint_dom.Used(INDEX_2(-1,pnums[k])))) //edgepoint, but not member of sing_edge on trig -> cp
{
INDEX_2 i2a=INDEX_2::Sort(el.PNum(p[k]), el.PNum(p[(k+1)%3]));
INDEX_2 i2b=INDEX_2::Sort(el.PNum(p[k]), el.PNum(p[(k+2)%3]));
INDEX_2 i2b=INDEX_2::Sort(el.PNum(p[k]), el.PNum(p[(k+2)%3]));
if(!edges.Used(i2a) && !edges.Used(i2b))
point_sing[p[k]-1] = 3;
}
for(int k=0;k<3;k++)
if(cornerpoint.Test(el.PNum(p[k])))
point_sing[p[k]-1] = 3;
point_sing[p[k]-1] = 3;
cout << "point_sing = " << point_sing[0] << point_sing[1] << point_sing[2] << endl;
cout << "edge_sing = " << edge_sing[0] << edge_sing[1] << edge_sing[2] << endl;
*testout << "point_sing = " << point_sing[0] << point_sing[1] << point_sing[2] << endl;
if(edge_sing[0] + edge_sing[1] + edge_sing[2] == 0)
{
int ps = point_sing[0] + point_sing[1] + point_sing[2];
@ -866,7 +859,7 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
if(type!=HP_NONE) break;
}
cout << "type = " << type << endl;
*testout << "type = " << type << endl;
for(int k=0;k<3;k++) el[k] = pnums[k];
/*if(type != HP_NONE)
@ -877,7 +870,6 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE<int> & edge
cout << " type " << type << endl;
}
*/
cout << "End ClassifyTrig!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
return(type);
}
#ifdef HPREF_OLD

View File

@ -615,7 +615,6 @@ namespace netgen
void DoRefinement (Mesh & mesh, NgArray<HPRefElement> & elements,
Refinement * ref, double fac1)
{
cout << "IN DOREFINEMENT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
elements.SetAllocSize (5 * elements.Size());
INDEX_2_HASHTABLE<int> newpts(elements.Size()+1);
INDEX_3_HASHTABLE<int> newfacepts(elements.Size()+1);
@ -1304,7 +1303,6 @@ namespace netgen
void HPRefinement (Mesh & mesh, Refinement * ref, int levels, double fac1, bool setorders, bool reflevels)
{
cout << "IN HPRefinement!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
PrintMessage (1, "HP Refinement called, levels = ", levels);
@ -1563,7 +1561,6 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
NgBitArray & cornerpoint, NgBitArray & edgepoint, INDEX_3_HASHTABLE<int> & faces, INDEX_2_HASHTABLE<int> & face_edges,
INDEX_2_HASHTABLE<int> & surf_edges, NgArray<int, PointIndex::BASE> & facepoint, int & levels, int & act_ref)
{
cout << "IN CheckSingularities!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
bool sing = 0;
if (mesh.GetDimension() == 3)
{
@ -1654,8 +1651,8 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
}
edgepoint.Or (cornerpoint);
cout << "cornerpoint = " << endl << cornerpoint << endl;
cout << "edgepoint = " << endl << edgepoint << endl;
(*testout) << "cornerpoint = " << endl << cornerpoint << endl;
(*testout) << "edgepoint = " << endl << edgepoint << endl;
facepoint = 0;
for (SurfaceElementIndex sei = 0; sei < mesh.GetNSE(); sei++)
@ -1730,9 +1727,9 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
edges.Set(i2,1);
edgepoint.Set(i2.I1());
edgepoint.Set(i2.I2());
cout << " singleft " << endl;
cout << " mesh.LineSegment(i).domout " << mesh.LineSegment(i).domout << endl;
cout << " mesh.LineSegment(i).domin " << mesh.LineSegment(i).domin << endl;
*testout << " singleft " << endl;
*testout << " mesh.LineSegment(i).domout " << mesh.LineSegment(i).domout << endl;
*testout << " mesh.LineSegment(i).domin " << mesh.LineSegment(i).domin << endl;
edgepoint_dom.Set (INDEX_2(mesh.LineSegment(i).domin, i2.I1()), 1);
edgepoint_dom.Set (INDEX_2(mesh.LineSegment(i).domin, i2.I2()), 1);
sing = 1;
@ -1747,9 +1744,9 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
edgepoint.Set(i2.I1());
edgepoint.Set(i2.I2());
cout << " singright " << endl;
cout << " mesh.LineSegment(i).domout " << mesh.LineSegment(i).domout << endl;
cout << " mesh.LineSegment(i).domin " << mesh.LineSegment(i).domin << endl;
*testout << " singright " << endl;
*testout << " mesh.LineSegment(i).domout " << mesh.LineSegment(i).domout << endl;
*testout << " mesh.LineSegment(i).domin " << mesh.LineSegment(i).domin << endl;
edgepoint_dom.Set (INDEX_2(mesh.LineSegment(i).domout, i2.I1()), 1);
edgepoint_dom.Set (INDEX_2(mesh.LineSegment(i).domout, i2.I2()), 1);
@ -1797,8 +1794,8 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
edgepoint.Or (cornerpoint);
cout << "2d sing edges: " << endl << edges << endl;
cout << "2d cornerpoints: " << endl << cornerpoint << endl
(*testout) << "2d sing edges: " << endl << edges << endl;
(*testout) << "2d cornerpoints: " << endl << cornerpoint << endl
<< "2d edgepoints: " << endl << edgepoint << endl;
facepoint = 0;
@ -1807,8 +1804,6 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
if (!sing)
cout << "PrepareElements no more to do for actual refinement " << act_ref << endl;
cout << "End CheckSingularities!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
return(sing);
}
@ -1816,7 +1811,6 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
bool ClassifyHPElements (Mesh & mesh, NgArray<HPRefElement> & elements, int & act_ref, int & levels)
{
cout << "IN ClassifyHPElements!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
INDEX_2_HASHTABLE<int> edges(mesh.GetNSeg()+1);
NgBitArray edgepoint(mesh.GetNP());
INDEX_2_HASHTABLE<int> edgepoint_dom(mesh.GetNSeg()+1);
@ -1962,7 +1956,6 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
if (misses[i])
cout << " in update classification missing case " << i << " occurred " << misses[i] << " times" << endl;
cout << "end ClassifyHPElements!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
return(sing);
}
}