Simplification

This commit is contained in:
GERALD NICOLAS 2021-04-02 17:59:18 +02:00
parent 403a6925d3
commit 3f3ca40e45
9 changed files with 26 additions and 1463 deletions

View File

@ -89,7 +89,6 @@ SET(plugin_SCRIPTS
initEtude.py initEtude.py
initLog.py initLog.py
insereFissureElliptique.py insereFissureElliptique.py
insereFissureGenerale.py
insereFissureLongue_a.py insereFissureLongue_a.py
insereFissureLongue_b.py insereFissureLongue_b.py
insereFissureLongue_c.py insereFissureLongue_c.py

View File

@ -25,9 +25,12 @@ import math
from .geomsmesh import geompy from .geomsmesh import geompy
from .geomsmesh import smesh from .geomsmesh import smesh
from .putName import putName
def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut, def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
centreFondFiss, wireFondFiss, wirePipeFiss, centreFondFiss, wireFondFiss, wirePipeFiss,
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad): lenSegPipe, rayonPipe, nbsegCercle, nbsegRad, \
nro_cas=-1):
"""Préparation maillage du pipe : """Préparation maillage du pipe :
- détections des points a respecter : jonction des edges/faces constituant - détections des points a respecter : jonction des edges/faces constituant
@ -37,6 +40,7 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
""" """
logging.info('start') logging.info('start')
logging.info("Pour le cas n°%d", nro_cas)
# --- option de maillage selon le rayon de courbure du fond de fissure # --- option de maillage selon le rayon de courbure du fond de fissure
lenEdgeFondExt = 0 lenEdgeFondExt = 0
@ -60,7 +64,10 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
meshFondExt = smesh.Mesh(wireFondFiss) meshFondExt = smesh.Mesh(wireFondFiss)
algo1d = meshFondExt.Segment() algo1d = meshFondExt.Segment()
_ = algo1d.Adaptive(lgmin, lgmax, deflexion) # a ajuster selon la profondeur de la fissure hypo1d = algo1d.Adaptive(lgmin, lgmax, deflexion) # a ajuster selon la profondeur de la fissure
putName(algo1d.GetSubMesh(), "wireFondFiss", i_pref=nro_cas)
putName(algo1d, "algo1d_wireFondFiss", i_pref=nro_cas)
putName(hypo1d, "hypo1d_wireFondFiss", i_pref=nro_cas)
is_done = meshFondExt.Compute() is_done = meshFondExt.Compute()
text = "calculePointsAxiauxPipe meshFondExt.Compute" text = "calculePointsAxiauxPipe meshFondExt.Compute"

View File

@ -59,8 +59,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
step=-1, mailleur="MeshGems", nro_cas=-1): step=-1, mailleur="MeshGems", nro_cas=-1):
"""procédure complète fissure générale""" """procédure complète fissure générale"""
logging.info('start') logging.info('start')
logging.info("Usage du mailleur %s", mailleur) logging.info("Usage du mailleur %s pour le cas n°%d", mailleur, nro_cas)
logging.info("pour le cas %d", nro_cas)
shapeDefaut = shapesFissure[0] # faces de fissure, débordant shapeDefaut = shapesFissure[0] # faces de fissure, débordant
@ -150,9 +149,10 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
# - points sur les edges de fond de fissure et edges pipe/face fissure, # - points sur les edges de fond de fissure et edges pipe/face fissure,
# - vecteurs tangents au fond de fissure (normal au disque maillé) # - vecteurs tangents au fond de fissure (normal au disque maillé)
(centres, gptsdisks, raydisks) = calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut, \ (centres, gptsdisks, raydisks) = calculePointsAxiauxPipe (edgesFondFiss, edgesIdByOrientation, facesDefaut, \
centreFondFiss, wireFondFiss, wirePipeFiss, \ centreFondFiss, wireFondFiss, wirePipeFiss, \
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad) lenSegPipe, rayonPipe, nbsegCercle, nbsegRad, \
nro_cas)
# --- recherche des points en trop (externes au volume à remailler) # --- recherche des points en trop (externes au volume à remailler)
# - on associe chaque extrémité du pipe à une face filling # - on associe chaque extrémité du pipe à une face filling
@ -179,11 +179,14 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
# --- maillage effectif du pipe # --- maillage effectif du pipe
(meshPipe, meshPipeGroups, edgesCircPipeGroup) = construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad) (meshPipe, meshPipeGroups, edgesCircPipeGroup) = \
construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad)
# --- edges de bord, faces défaut à respecter # --- edges de bord, faces défaut à respecter
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives) (internalBoundary, bordsLibres, grpAretesVives) = \
mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives, \
nro_cas)
# --- maillage faces de fissure # --- maillage faces de fissure
@ -191,7 +194,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
mailleFacesFissure(faceFissureExterne, \ mailleFacesFissure(faceFissureExterne, \
edgesPipeFissureExterneC, edgesPeauFissureExterneC, \ edgesPipeFissureExterneC, edgesPeauFissureExterneC, \
meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \ meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \
mailleur) mailleur, nro_cas)
# --- maillage faces de peau # --- maillage faces de peau

View File

@ -46,7 +46,7 @@ def construitFissureGenerale_c(maillageSain, meshBoiteDefaut, \
mailleur="MeshGems", nro_cas=-1): mailleur="MeshGems", nro_cas=-1):
"""construction de la fissure générale - maillage""" """construction de la fissure générale - maillage"""
logging.info('start') logging.info('start')
logging.info("Usage du mailleur %s", mailleur) logging.info("Usage du mailleur %s pour le cas n°%d", mailleur, nro_cas)
nomRep = maillageFissureParams['nomRep'] nomRep = maillageFissureParams['nomRep']
nomFicSain = maillageFissureParams['nomFicSain'] nomFicSain = maillageFissureParams['nomFicSain']

View File

@ -41,6 +41,7 @@ def fusionMaillageDefaut(maillageSain, maillageDefautCible, maillageInterneCible
"""Groupe de quadrangles de face transformé en face géométrique par filling""" """Groupe de quadrangles de face transformé en face géométrique par filling"""
logging.info("start") logging.info("start")
logging.info("Pour le cas n°%d", nro_cas)
facesNonCoupees = list() facesNonCoupees = list()
facesCoupees = list() facesCoupees = list()

File diff suppressed because it is too large Load Diff

View File

@ -32,6 +32,7 @@ def mailleAretesEtJonction (internalBoundary, aretesVivesCoupees, lgAretesVives,
nro_cas=-1): nro_cas=-1):
"""edges de bord, faces défaut à respecter""" """edges de bord, faces défaut à respecter"""
logging.info('start') logging.info('start')
logging.info("Pour le cas n°%d", nro_cas)
_ = smesh.CreateFilterManager() _ = smesh.CreateFilterManager()
_, internalBoundary, _NoneGroup = internalBoundary.MakeBoundaryElements( SMESH.BND_1DFROM2D, '', '', 0, [ ]) _, internalBoundary, _NoneGroup = internalBoundary.MakeBoundaryElements( SMESH.BND_1DFROM2D, '', '', 0, [ ])

View File

@ -34,6 +34,7 @@ def mailleFacesFissure(faceFissureExterne, \
mailleur="MeshGems", nro_cas=-1): mailleur="MeshGems", nro_cas=-1):
"""maillage faces de fissure""" """maillage faces de fissure"""
logging.info('start') logging.info('start')
logging.info("Maillage avec %s pour le cas n°%d", mailleur, nro_cas)
meshFaceFiss = smesh.Mesh(faceFissureExterne) meshFaceFiss = smesh.Mesh(faceFissureExterne)
logging.info("Maillage avec %s", mailleur) logging.info("Maillage avec %s", mailleur)

View File

@ -40,7 +40,8 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
mailleur="MeshGems", nro_cas=-1): mailleur="MeshGems", nro_cas=-1):
"""maillage faces de peau""" """maillage faces de peau"""
logging.info('start') logging.info('start')
logging.info(mailleur+" pour le cas n° %d"%nro_cas) logging.info("Maillage avec %s pour le cas n°%d", mailleur, nro_cas)
nbFacesFilling = len(partitionsPeauFissFond) nbFacesFilling = len(partitionsPeauFissFond)
boutFromIfil = [None for _ in range(nbFacesFilling)] boutFromIfil = [None for _ in range(nbFacesFilling)]
if idFillingFromBout[0] != idFillingFromBout[1]: # repérage des extremites du pipe quand elles débouchent sur des faces différentes if idFillingFromBout[0] != idFillingFromBout[1]: # repérage des extremites du pipe quand elles débouchent sur des faces différentes