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
initLog.py
insereFissureElliptique.py
insereFissureGenerale.py
insereFissureLongue_a.py
insereFissureLongue_b.py
insereFissureLongue_c.py

View File

@ -25,9 +25,12 @@ import math
from .geomsmesh import geompy
from .geomsmesh import smesh
from .putName import putName
def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
centreFondFiss, wireFondFiss, wirePipeFiss,
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad):
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad, \
nro_cas=-1):
"""Préparation maillage du pipe :
- 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("Pour le cas n°%d", nro_cas)
# --- option de maillage selon le rayon de courbure du fond de fissure
lenEdgeFondExt = 0
@ -60,7 +64,10 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
meshFondExt = smesh.Mesh(wireFondFiss)
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()
text = "calculePointsAxiauxPipe meshFondExt.Compute"

View File

@ -59,8 +59,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
step=-1, mailleur="MeshGems", nro_cas=-1):
"""procédure complète fissure générale"""
logging.info('start')
logging.info("Usage du mailleur %s", mailleur)
logging.info("pour le cas %d", nro_cas)
logging.info("Usage du mailleur %s pour le cas n°%d", mailleur, nro_cas)
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,
# - vecteurs tangents au fond de fissure (normal au disque maillé)
(centres, gptsdisks, raydisks) = calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut, \
centreFondFiss, wireFondFiss, wirePipeFiss, \
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad)
(centres, gptsdisks, raydisks) = calculePointsAxiauxPipe (edgesFondFiss, edgesIdByOrientation, facesDefaut, \
centreFondFiss, wireFondFiss, wirePipeFiss, \
lenSegPipe, rayonPipe, nbsegCercle, nbsegRad, \
nro_cas)
# --- recherche des points en trop (externes au volume à remailler)
# - on associe chaque extrémité du pipe à une face filling
@ -179,11 +179,14 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
# --- 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
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives)
(internalBoundary, bordsLibres, grpAretesVives) = \
mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives, \
nro_cas)
# --- maillage faces de fissure
@ -191,7 +194,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
mailleFacesFissure(faceFissureExterne, \
edgesPipeFissureExterneC, edgesPeauFissureExterneC, \
meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \
mailleur)
mailleur, nro_cas)
# --- maillage faces de peau

View File

@ -46,7 +46,7 @@ def construitFissureGenerale_c(maillageSain, meshBoiteDefaut, \
mailleur="MeshGems", nro_cas=-1):
"""construction de la fissure générale - maillage"""
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']
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"""
logging.info("start")
logging.info("Pour le cas n°%d", nro_cas)
facesNonCoupees = 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):
"""edges de bord, faces défaut à respecter"""
logging.info('start')
logging.info("Pour le cas n°%d", nro_cas)
_ = smesh.CreateFilterManager()
_, internalBoundary, _NoneGroup = internalBoundary.MakeBoundaryElements( SMESH.BND_1DFROM2D, '', '', 0, [ ])

View File

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

View File

@ -40,7 +40,8 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
mailleur="MeshGems", nro_cas=-1):
"""maillage faces de peau"""
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)
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