Fix regression of test grid 2d_mesh_NETGEN/D2
fix restricting local H, which was broken by a defaut netgen::mparam.minh
This commit is contained in:
parent
997b0b500d
commit
1ead0a723d
@ -301,15 +301,14 @@ static TError addSegmentsToMesh(netgen::Mesh& ngMesh,
|
|||||||
ngMesh.AddSegment (seg);
|
ngMesh.AddSegment (seg);
|
||||||
{
|
{
|
||||||
// restrict size of elements near the segment
|
// restrict size of elements near the segment
|
||||||
netgen::Point3d ngP1(n->X(), n->Y(), n->Z());
|
SMESH_TNodeXYZ np1( n ), np2( uvPtVec[ i+1 ].node );
|
||||||
n = uvPtVec[ i+1 ].node;
|
|
||||||
netgen::Point3d ngP2(n->X(), n->Y(), n->Z());
|
|
||||||
// get an average size of adjacent segments to avoid sharp change of
|
// get an average size of adjacent segments to avoid sharp change of
|
||||||
// element size (regression on issue 0020452, note 0010898)
|
// element size (regression on issue 0020452, note 0010898)
|
||||||
int iPrev = SMESH_MesherHelper::WrapIndex( i-1, nbSegments );
|
int iPrev = SMESH_MesherHelper::WrapIndex( i-1, nbSegments );
|
||||||
int iNext = SMESH_MesherHelper::WrapIndex( i+1, nbSegments );
|
int iNext = SMESH_MesherHelper::WrapIndex( i+1, nbSegments );
|
||||||
double avgH = ( segLen[ iPrev ] + segLen[ i ] + segLen[ iNext ]) / 3;
|
double avgH = ( segLen[ iPrev ] + segLen[ i ] + segLen[ iNext ]) / 3;
|
||||||
ngMesh.RestrictLocalH( netgen::Center( ngP1,ngP2), avgH );
|
|
||||||
|
NETGENPlugin_Mesher::RestrictLocalSize( ngMesh, 0.5*(np1+np2), avgH );
|
||||||
}
|
}
|
||||||
#ifdef DUMP_SEGMENTS
|
#ifdef DUMP_SEGMENTS
|
||||||
cout << "Segment: " << seg.edgenr << endl
|
cout << "Segment: " << seg.edgenr << endl
|
||||||
|
Loading…
Reference in New Issue
Block a user