Prise en compte de la courbure de la face à mailler

This commit is contained in:
GERALD NICOLAS 2021-04-16 10:51:45 +02:00
parent 8eb3c73cbd
commit 0d11241615
6 changed files with 20 additions and 8 deletions

View File

@ -30,7 +30,7 @@ from blocFissure.gmu.casStandard import casStandard
# ----------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------
LOGFILE = os.path.join(tempfile.gettempdir(),"blocFissure.log") LOGFILE = os.path.join(tempfile.gettempdir(),"blocFissure.log")
#initLog.setDebug(LOGFILE) # debug = 10 #initLog.setDebug(LOGFILE) # debug = 10
initLog.setVerbose(LOGFILE) # info = 20 #initLog.setVerbose(LOGFILE) # info = 20
#initLog.setRelease(LOGFILE) # warning = 30 #initLog.setRelease(LOGFILE) # warning = 30
#initLog.setPerfTests(LOGFILE) # critical = 50 #initLog.setPerfTests(LOGFILE) # critical = 50
#initLog.setAlways(LOGFILE) # critical = 50 #initLog.setAlways(LOGFILE) # critical = 50

View File

@ -75,6 +75,9 @@ def genereMeshCalculZoneDefaut(facefiss, minSize, maxSize, \
hypo2d.SetOptimize( 1 ) hypo2d.SetOptimize( 1 )
hypo2d.SetFineness( 2 ) hypo2d.SetFineness( 2 )
hypo2d.SetMinSize( minSize ) hypo2d.SetMinSize( minSize )
hypo2d.SetChordalErrorEnabled (True)
hypo2d.SetChordalError( maxSize*0.25 )
hypo2d.SetUseSurfaceCurvature (True)
hypo2d.SetQuadAllowed( 0 ) hypo2d.SetQuadAllowed( 0 )
putName(algo2d, "{}_2d_zoneFiss".format(mailleur), i_pref=nro_cas) putName(algo2d, "{}_2d_zoneFiss".format(mailleur), i_pref=nro_cas)
putName(hypo2d, "hypo1d_zoneFiss", i_pref=nro_cas) putName(hypo2d, "hypo1d_zoneFiss", i_pref=nro_cas)

View File

@ -55,6 +55,9 @@ def insereFissureLongue_d (facePeau, edgePeauFiss, groupEdgesBordPeau, bordsLibr
hypo2d.SetOptimize( 1 ) hypo2d.SetOptimize( 1 )
hypo2d.SetFineness( 2 ) hypo2d.SetFineness( 2 )
hypo2d.SetMinSize( 2 ) hypo2d.SetMinSize( 2 )
hypo2d.SetChordalErrorEnabled (True)
hypo2d.SetChordalError( 250. )
hypo2d.SetUseSurfaceCurvature (True)
hypo2d.SetQuadAllowed( 0 ) hypo2d.SetQuadAllowed( 0 )
putName(algo2d.GetSubMesh(), "facePeau", i_pref=nro_cas) putName(algo2d.GetSubMesh(), "facePeau", i_pref=nro_cas)
putName(algo2d, "{}_2d_facePeau".format(mailleur), i_pref=nro_cas) putName(algo2d, "{}_2d_facePeau".format(mailleur), i_pref=nro_cas)

View File

@ -55,6 +55,9 @@ def insereFissureLongue_e (faceFiss, edgePeauFiss, groupEdgesPeauFiss, group_gen
hypo2d.SetOptimize( 1 ) hypo2d.SetOptimize( 1 )
hypo2d.SetFineness( 2 ) hypo2d.SetFineness( 2 )
hypo2d.SetMinSize( 2 ) hypo2d.SetMinSize( 2 )
hypo2d.SetChordalErrorEnabled (True)
hypo2d.SetChordalError( mesh_size*0.25 )
hypo2d.SetUseSurfaceCurvature (True)
hypo2d.SetQuadAllowed( 0 ) hypo2d.SetQuadAllowed( 0 )
putName(algo2d.GetSubMesh(), "faceFiss", i_pref=nro_cas) putName(algo2d.GetSubMesh(), "faceFiss", i_pref=nro_cas)
putName(algo2d, "{}_2d_faceFiss".format(mailleur), i_pref=nro_cas) putName(algo2d, "{}_2d_faceFiss".format(mailleur), i_pref=nro_cas)

View File

@ -37,7 +37,7 @@ def mailleFacesFissure(faceFissureExterne, \
logging.info("Maillage avec %s pour le cas n°%s", mailleur, nro_cas) logging.info("Maillage avec %s pour le cas n°%s", mailleur, nro_cas)
meshFaceFiss = smesh.Mesh(faceFissureExterne) meshFaceFiss = smesh.Mesh(faceFissureExterne)
logging.info("Maillage avec %s", mailleur) putName(meshFaceFiss.GetMesh(), "faceFiss", i_pref=nro_cas)
if ( mailleur == "MeshGems"): if ( mailleur == "MeshGems"):
algo2d = meshFaceFiss.Triangle(algo=smeshBuilder.MG_CADSurf) algo2d = meshFaceFiss.Triangle(algo=smeshBuilder.MG_CADSurf)
hypo2d = algo2d.Parameters() hypo2d = algo2d.Parameters()
@ -54,22 +54,23 @@ def mailleFacesFissure(faceFissureExterne, \
hypo2d.SetOptimize( 1 ) hypo2d.SetOptimize( 1 )
hypo2d.SetFineness( 2 ) hypo2d.SetFineness( 2 )
hypo2d.SetMinSize( rayonPipe/float(nbsegRad) ) hypo2d.SetMinSize( rayonPipe/float(nbsegRad) )
hypo2d.SetChordalErrorEnabled (True)
hypo2d.SetChordalError( areteFaceFissure*0.25 ) hypo2d.SetChordalError( areteFaceFissure*0.25 )
hypo2d.SetUseSurfaceCurvature (True)
hypo2d.SetQuadAllowed( 0 ) hypo2d.SetQuadAllowed( 0 )
putName(algo2d.GetSubMesh(), "faceFiss", i_pref=nro_cas)
putName(algo2d, "{}_2d_faceFiss".format(mailleur), i_pref=nro_cas) putName(algo2d, "{}_2d_faceFiss".format(mailleur), i_pref=nro_cas)
putName(hypo2d, "hypo2d_faceFiss", i_pref=nro_cas) putName(hypo2d, "hypo2d_faceFiss", i_pref=nro_cas)
logging.info("UseExisting1DElements depuis '%s'", edgesPipeFissureExterneC.GetName()) logging.info("UseExisting1DElements depuis '%s'", edgesPipeFissureExterneC.GetName())
algo1d = meshFaceFiss.UseExisting1DElements(geom=edgesPipeFissureExterneC) algo1d = meshFaceFiss.UseExisting1DElements(geom=edgesPipeFissureExterneC)
hypo1d = algo1d.SourceEdges([ edgeFaceFissGroup ],0,0)
putName(algo1d.GetSubMesh(), "edgeFissPeau", i_pref=nro_cas) putName(algo1d.GetSubMesh(), "edgeFissPeau", i_pref=nro_cas)
putName(algo1d, "algo1d_edgeFissPeau", i_pref=nro_cas) putName(algo1d, "edgeFissPeau_UseExisting1DElements", i_pref=nro_cas)
putName(hypo1d, "hypo1d_edgeFissPeau", i_pref=nro_cas) hypo1d = algo1d.SourceEdges([ edgeFaceFissGroup ],0,0)
putName(hypo1d, "edgeFissPeau_SourceEdges", i_pref=nro_cas)
grpFaceFissureExterne = meshFaceFiss.GroupOnGeom(faceFissureExterne, "fisOutPi", SMESH.FACE)
grpEdgesPeauFissureExterne = meshFaceFiss.GroupOnGeom(edgesPeauFissureExterneC,'edgesPeauFissureExterne',SMESH.EDGE)
grpEdgesPipeFissureExterne = meshFaceFiss.GroupOnGeom(edgesPipeFissureExterneC,'edgesPipeFissureExterne',SMESH.EDGE) grpEdgesPipeFissureExterne = meshFaceFiss.GroupOnGeom(edgesPipeFissureExterneC,'edgesPipeFissureExterne',SMESH.EDGE)
grpEdgesPeauFissureExterne = meshFaceFiss.GroupOnGeom(edgesPeauFissureExterneC,'edgesPeauFissureExterne',SMESH.EDGE)
grpFaceFissureExterne = meshFaceFiss.GroupOnGeom(faceFissureExterne, "fisOutPi", SMESH.FACE)
is_done = meshFaceFiss.Compute() is_done = meshFaceFiss.Compute()
text = "meshFaceFiss.Compute" text = "meshFaceFiss.Compute"

View File

@ -79,7 +79,9 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
hypo2d.SetOptimize( 1 ) hypo2d.SetOptimize( 1 )
hypo2d.SetFineness( 2 ) hypo2d.SetFineness( 2 )
hypo2d.SetMinSize( rayonPipe/float(nbsegRad) ) hypo2d.SetMinSize( rayonPipe/float(nbsegRad) )
hypo2d.SetChordalErrorEnabled (True)
hypo2d.SetChordalError( dmoyen*0.25 ) hypo2d.SetChordalError( dmoyen*0.25 )
hypo2d.SetUseSurfaceCurvature (True)
hypo2d.SetQuadAllowed( 0 ) hypo2d.SetQuadAllowed( 0 )
putName(algo2d, "{}_2d_facePeau".format(mailleur), ifil, nro_cas) putName(algo2d, "{}_2d_facePeau".format(mailleur), ifil, nro_cas)
putName(hypo2d, "hypo2d_facePeau", ifil, nro_cas) putName(hypo2d, "hypo2d_facePeau", ifil, nro_cas)