1 # -*- coding: utf-8 -*-
4 from geomsmesh import smesh
5 from salome.smesh import smeshBuilder
7 # -----------------------------------------------------------------------------
8 # --- maillage face de fissure pour identification zone de defaut
10 def genereMeshCalculZoneDefaut(facefiss, minSize, maxSize):
16 meshFissure = smesh.Mesh(facefiss)
17 algo2d = meshFissure.Triangle(algo=smeshBuilder.NETGEN_1D2D)
18 hypo2d = algo2d.Parameters()
19 hypo2d.SetMaxSize( maxSize )
20 hypo2d.SetSecondOrder( 0 )
21 hypo2d.SetOptimize( 1 )
22 hypo2d.SetFineness( 2 )
23 hypo2d.SetMinSize( minSize )
24 hypo2d.SetQuadAllowed( 0 )
25 isDone = meshFissure.Compute()
26 smesh.SetName(algo2d, "algo2d_zoneFiss")
27 smesh.SetName(hypo2d, "hypo1d_zoneFiss")
29 coordsNoeudsFissure = []
30 nodeIds = meshFissure.GetNodesId()
32 coords = meshFissure.GetNodeXYZ(id)
33 coordsNoeudsFissure.append(coords[0])
34 coordsNoeudsFissure.append(coords[1])
35 coordsNoeudsFissure.append(coords[2])
36 return coordsNoeudsFissure