Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
22576: EDF 8029 SMESH: Bug with 3D viscous layer
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_ViscousLayers.cxx
diff --git
a/src/StdMeshers/StdMeshers_ViscousLayers.cxx
b/src/StdMeshers/StdMeshers_ViscousLayers.cxx
index 1f6d46263460186259fe57f14cafee07b51facb4..11dec7d1e436f1d4992eb11871e7ca2efa1e33d3 100644
(file)
--- a/
src/StdMeshers/StdMeshers_ViscousLayers.cxx
+++ b/
src/StdMeshers/StdMeshers_ViscousLayers.cxx
@@
-2379,8
+2379,8
@@
bool _ViscousBuilder::smoothAndCheck(_SolidData& data,
else
{
// smooth on FACE's
else
{
// smooth on FACE's
- int step = 0, badNb = 0; moved = true;
- while (( ++step <=
5
&& moved ) || improved )
+ int step = 0,
stepLimit = 5,
badNb = 0; moved = true;
+ while (( ++step <=
stepLimit
&& moved ) || improved )
{
dumpFunction(SMESH_Comment("smooth")<<data._index<<"_Fa"<<sInd
<<"_InfStep"<<nbSteps<<"_"<<step); // debug
{
dumpFunction(SMESH_Comment("smooth")<<data._index<<"_Fa"<<sInd
<<"_InfStep"<<nbSteps<<"_"<<step); // debug
@@
-2391,6
+2391,10
@@
bool _ViscousBuilder::smoothAndCheck(_SolidData& data,
moved |= data._edges[i]->Smooth(badNb);
improved = ( badNb < oldBadNb );
moved |= data._edges[i]->Smooth(badNb);
improved = ( badNb < oldBadNb );
+ // issue 22576. no bad faces but still there are intersections to fix
+ if ( improved && badNb == 0 )
+ stepLimit = step + 3;
+
dumpFunctionEnd();
}
if ( badNb > 0 )
dumpFunctionEnd();
}
if ( badNb > 0 )