mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 21:00:33 +05:00
Plugin blocFissure, bug EDF 12976, regression on some tests, a first correction
This commit is contained in:
parent
bc95c31002
commit
c178a1a491
@ -48,7 +48,7 @@ class casStandard(fissureGenerique):
|
||||
if self.dicoParams.has_key('reptrav'):
|
||||
self.reptrav = self.dicoParams['reptrav']
|
||||
else:
|
||||
reptrav = '.'
|
||||
self.reptrav = '.'
|
||||
self.numeroCas = numeroCas
|
||||
if self.numeroCas != 0:
|
||||
self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
|
||||
@ -62,6 +62,8 @@ class casStandard(fissureGenerique):
|
||||
step = self.dicoParams['step']
|
||||
else:
|
||||
step = -1 # exécuter toutes les étapes
|
||||
if not self.dicoParams.has_key('aretesVives'):
|
||||
self.dicoParams['aretesVives'] = 0
|
||||
if self.numeroCas == 0: # valeur par défaut : exécution immédiate, sinon execution différée dans le cas d'une liste de problèmes
|
||||
self.executeProbleme(step)
|
||||
|
||||
@ -121,7 +123,8 @@ class casStandard(fissureGenerique):
|
||||
nomFicFissure = self.nomCas,
|
||||
nbsegRad = self.dicoParams['nbSegRad'],
|
||||
nbsegCercle = self.dicoParams['nbSegCercle'],
|
||||
areteFaceFissure = self.dicoParams['areteFaceFissure'])
|
||||
areteFaceFissure = self.dicoParams['areteFaceFissure'],
|
||||
aretesVives = self.dicoParams['aretesVives'])
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
|
||||
|
@ -81,6 +81,9 @@ def construitFissureGenerale(maillagesSains,
|
||||
nbsegRad = maillageFissureParams['nbsegRad'] # nombre de couches selon un rayon du pipe
|
||||
nbsegCercle = maillageFissureParams['nbsegCercle'] # nombre de secteur dans un cercle du pipe
|
||||
areteFaceFissure = maillageFissureParams['areteFaceFissure']
|
||||
lgAretesVives = 0
|
||||
if maillageFissureParams.has_key('aretesVives'):
|
||||
lgAretesVives = maillageFissureParams['aretesVives']
|
||||
|
||||
pointIn_x = 0.0
|
||||
pointIn_y = 0.0
|
||||
@ -121,6 +124,9 @@ def construitFissureGenerale(maillagesSains,
|
||||
#edgeFondExt = elementsDefaut[14]
|
||||
centreFondFiss = elementsDefaut[15]
|
||||
#tgtCentre = elementsDefaut[16]
|
||||
if lgAretesVives == 0:
|
||||
lgAretesVives = dmoyen
|
||||
|
||||
|
||||
O, OX, OY, OZ = triedreBase()
|
||||
|
||||
@ -246,7 +252,7 @@ def construitFissureGenerale(maillagesSains,
|
||||
|
||||
# --- edges de bord, faces défaut à respecter
|
||||
|
||||
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen)
|
||||
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives)
|
||||
|
||||
# --- maillage faces de fissure
|
||||
|
||||
|
@ -8,7 +8,7 @@ import SMESH
|
||||
|
||||
from putName import putName
|
||||
|
||||
def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
|
||||
def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives):
|
||||
"""
|
||||
edges de bord, faces défaut à respecter
|
||||
"""
|
||||
@ -36,7 +36,7 @@ def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
|
||||
aretesVivesC = geompy.MakeCompound(aretesVivesCoupees)
|
||||
meshAretesVives = smesh.Mesh(aretesVivesC)
|
||||
algo1d = meshAretesVives.Segment()
|
||||
hypo1d = algo1d.LocalLength(dmoyen,[],1e-07)
|
||||
hypo1d = algo1d.LocalLength(lgAretesVives,[],1e-07)
|
||||
putName(algo1d.GetSubMesh(), "aretesVives")
|
||||
putName(algo1d, "algo1d_aretesVives")
|
||||
putName(hypo1d, "hypo1d_aretesVives")
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>666</width>
|
||||
<height>589</height>
|
||||
<width>663</width>
|
||||
<height>624</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@ -416,16 +416,18 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>aretes face fissure</string>
|
||||
<string>triangles face fissure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dsb_areteFaceFissure">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Faces externes de la zone à remailler.</p><p>Mailage en triangles : valeur cible des arêtes.</p></body></html></string>
|
||||
<string><html><head/><body><p>Faces externes de la zone à remailler.</p><p>Maillage en triangles : valeur cible des arêtes des triangles.</p></body></html></string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>5</number>
|
||||
@ -435,6 +437,28 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>aretes vives</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="dsb_aretesVives">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Arêtes vives de la zone à remailler.</p><p>Longueur des segments sur ces arêtes.</p><p>Ce paramètre est <span style=" font-weight:600; font-style:italic; color:#2631c1;">optionnel</span> : laissé à 0,</p><p>il est est ajusté automatiquement.</p></body></html></string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>100000.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
@ -482,7 +506,7 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="le_nomres">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Nom des résultats.</p><p>Le fichier maillage résultat sera rangé dans le répertoire de travail, sous le nom fissure_<span style=" font-weight:600; font-style:italic; color:#0055ff;">Nom</span>.med</p><p><br/></p></body></html></string>
|
||||
<string><html><head/><body><p>Nom des résultats.</p><p>Le fichier maillage résultat sera rangé dans le répertoire de travail, sous le nom <span style=" font-weight:600; font-style:italic; color:#0055ff;">Nom</span>.med</p><p><br/></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -98,6 +98,7 @@ def fissureGeneraleDlg(context):
|
||||
nbSegRad = 5,
|
||||
nbSegCercle = 32,
|
||||
areteFaceFissure = 10,
|
||||
areteVives = 0,
|
||||
reptrav = '.',
|
||||
nomres = 'casStandard_fissure.med',
|
||||
verbosite = 0)
|
||||
@ -115,6 +116,10 @@ def fissureGeneraleDlg(context):
|
||||
self.ui.sb_couronnes.setValue(dico['nbSegRad'])
|
||||
self.ui.sb_secteurs.setValue(dico['nbSegCercle'])
|
||||
self.ui.dsb_areteFaceFissure.setValue(dico['areteFaceFissure'])
|
||||
if dico.has_key('aretesVives'):
|
||||
self.ui.dsb_aretesVives.setValue(dico['aretesVives'])
|
||||
else:
|
||||
self.ui.dsb_aretesVives.setValue(0)
|
||||
self.ui.le_reptrav.setText(os.path.abspath(dico['reptrav']))
|
||||
self.ui.le_nomres.setText(os.path.split(dico['nomres'])[1])
|
||||
self.ui.cb_log.setCurrentIndex(dico['verbosite'])
|
||||
@ -324,6 +329,7 @@ def fissureGeneraleDlg(context):
|
||||
nbSegRad = self.ui.sb_couronnes.value(),
|
||||
nbSegCercle = self.ui.sb_secteurs.value(),
|
||||
areteFaceFissure = self.ui.dsb_areteFaceFissure.value(),
|
||||
aretesVives = self.ui.dsb_aretesVives.value(),
|
||||
reptrav = str(self.ui.le_reptrav.text()),
|
||||
nomres = str(self.ui.le_nomres.text()),
|
||||
verbosite = self.ui.cb_log.currentIndex()
|
||||
|
Loading…
Reference in New Issue
Block a user