Check result of Compute in examples

This commit is contained in:
Frederic Pons 2023-02-28 17:52:59 +01:00
parent 7fe1146f76
commit 796122663b
76 changed files with 123 additions and 120 deletions

View File

@ -56,7 +56,9 @@ isDone = Mesh_1.SplitQuadObject( Mesh_1, Diag13=True )
Mesh_1.Tetrahedron()
# 5) Compute 3D mesh
Mesh_1.Compute()
isDone = Mesh_1.Compute()
if not isDone:
raise Exception("Error when computing Mesh")
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser()

View File

@ -25,7 +25,7 @@ coords = list(range(-100,100,10))
cartHyp = cartAlgo.SetGrid( coords,coords,coords, 1000000)
# compute the mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("nb hexahedra",mesh.NbHexas())
print("nb tetrahedra",mesh.NbTetras())
print("nb polyhedra",mesh.NbPolyhedrons())
@ -34,7 +34,7 @@ print()
# define the grid by setting constant spacing
cartHyp = cartAlgo.SetGrid( "10","10","10", 1000000)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("nb hexahedra",mesh.NbHexas())
print("nb tetrahedra",mesh.NbTetras())
print("nb polyhedra",mesh.NbPolyhedrons())
@ -44,7 +44,7 @@ print()
# activate creation of faces
cartHyp.SetToCreateFaces( True )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("nb hexahedra",mesh.NbHexas())
print("nb tetrahedra",mesh.NbTetras())
print("nb polyhedra",mesh.NbPolyhedrons())
@ -53,7 +53,7 @@ print()
# enable consideration of shared faces
cartHyp.SetToConsiderInternalFaces( True )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("nb hexahedra",mesh.NbHexas())
print("nb tetrahedra",mesh.NbTetras())
print("nb polyhedra",mesh.NbPolyhedrons())
@ -64,7 +64,7 @@ print()
spaceFuns = ["5","10+10*t"]
cartAlgo.SetGrid( [spaceFuns, [0.5]], [spaceFuns, [0.5]], [spaceFuns, [0.25]], 10 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("nb hexahedra",mesh.NbHexas())
print("nb tetrahedra",mesh.NbTetras())
print("nb polyhedra",mesh.NbPolyhedrons())
@ -85,24 +85,24 @@ spc = "0.1" # spacing
mesh = smesh_builder.Mesh( box, "custom axes")
algo = mesh.BodyFitted()
algo.SetGrid( spc, spc, spc, 10000 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("Default axes")
print(" nb hex:",mesh.NbHexas())
# set axes using edges of the box
algo.SetAxesDirs( xDir, [-0.1,1,0], zDir )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("Manual axes")
print(" nb hex:",mesh.NbHexas())
# set optimal orthogonal axes
algo.SetOptimalAxesDirs( isOrthogonal=True )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("Optimal orthogonal axes")
print(" nb hex:",mesh.NbHexas())
# set optimal non-orthogonal axes
algo.SetOptimalAxesDirs( isOrthogonal=False )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("Optimal non-orthogonal axes")
print(" nb hex:",mesh.NbHexas())

View File

@ -45,15 +45,14 @@ Mesh_1 = smesh.Mesh(Sphere_1,'Mesh_1')
status = Mesh_1.AddHypothesis( Sphere_1, NETGEN_3D_Parameters_1 )
NETGEN_1D_2D_3D = Mesh_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
isDone = Mesh_1.Compute()
if not isDone:
raise Exception("Error when computing Mesh")
# Creating Dual mesh
dual_Mesh_1 = smesh.CreateDualMesh( Mesh_1, 'dual_Mesh_1', True)
assert(dual_Mesh_1.NbPolyhedrons() > 0)
assert(dual_Mesh_1.NbTetras() == 0)
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser()

View File

@ -27,8 +27,7 @@ algo3D.MaxElementVolume(900.)
# compute the mesh
ret = tetra.Compute()
if ret == 0:
print("problem when computing the mesh")
else:
print("mesh computed")
pass
if not ret:
raise Exception("problem when computing the mesh")
print("mesh computed")

View File

@ -52,11 +52,11 @@ mesh.Hexahedron()
surfaces = geom_builder.SubShapeAll(box, geom_builder.ShapeType["FACE"])
# method 1: no sub-mesh is created
mesh.Compute( surfaces[0] )
if not mesh.Compute( surfaces[0] ): raise Exception("Error when computing Mesh")
# method 2: a sub-mesh is created
submesh = mesh.GetSubMesh( surfaces[2], "submesh 2" )
submesh.Compute()
if not submesh.Compute(): raise Exception("Error when computing Mesh")
# compute the whole mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -35,14 +35,17 @@ mesh.Triangle(geom=Face_3)
# get existing sub-mesh priority order: F1 -> F2 -> F3
[[SubMesh_F1, SubMesh_F3, SubMesh_F2]] = mesh.GetMeshOrder()
isDone = mesh.Compute()
if not isDone: raise Exception("Error when computing Mesh")
print("Nb elements at initial order of sub-meshes:", mesh.NbElements())
# set new sub-mesh order: F2 -> F1 -> F3
isDone = mesh.SetMeshOrder([[SubMesh_F2, SubMesh_F1, SubMesh_F3]])
isDone = mesh.Compute()
if not isDone: raise Exception("Error when computing Mesh")
print("Nb elements at new order of sub-meshes:", mesh.NbElements())
# compute with other sub-mesh order: F3 -> F2 -> F1
isDone = mesh.SetMeshOrder([[SubMesh_F3, SubMesh_F2, SubMesh_F1]])
isDone = mesh.Compute()
if not isDone: raise Exception("Error when computing Mesh")
print("Nb elements at another order of sub-meshes:", mesh.NbElements())

View File

@ -41,19 +41,19 @@ hyp3 = algo_local.Arithmetic1D(1, 6)
hyp4 = algo_local.Propagation()
# compute the mesh
tria.Compute()
if not tria.Compute(): raise Exception("Error when computing Mesh")
PrintMeshInfo(tria)
# remove a local hypothesis
tria.RemoveHypothesis(hyp4, edge)
# compute the mesh
tria.Compute()
if not tria.Compute(): raise Exception("Error when computing Mesh")
PrintMeshInfo(tria)
# change the value of the 2D hypothesis
hyp2.SetMaxElementArea(2.)
# compute the mesh
tria.Compute()
if not tria.Compute(): raise Exception("Error when computing Mesh")
PrintMeshInfo(tria)

View File

@ -24,7 +24,7 @@ tetra.Triangle()
tetra.Tetrahedron()
# compute the mesh
tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")
# export the mesh in a MED file
medFile = tempfile.NamedTemporaryFile(suffix=".med").name

View File

@ -113,7 +113,7 @@ algo.Propagation()
hexa.Quadrangle()
hexa.Hexahedron()
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")
hexa.Group(group_a)
hexa.Group(group_b)

View File

@ -46,7 +46,7 @@ algo1D_1=Mesh_inf.Segment()
algo1D_1.NumberOfSegments(10)
algo2D_1=Mesh_inf.Quadrangle()
algo3D_1=Mesh_inf.Hexahedron()
Mesh_inf.Compute()
if not Mesh_inf.Compute(): raise Exception("Error when computing Mesh")
# create a group on the top face
Gsup1=Mesh_inf.Group(Fsup1, "Sup")
@ -59,7 +59,7 @@ algo1D_2=Mesh_sup.Segment()
algo1D_2.NumberOfSegments(5)
algo2D_2=Mesh_sup.Quadrangle()
algo3D_2=Mesh_sup.Hexahedron()
Mesh_sup.Compute()
if not Mesh_sup.Compute(): raise Exception("Error when computing Mesh")
# create a group on the top face
Gsup2=Mesh_sup.Group(Fsup2, "Sup")

View File

@ -20,7 +20,7 @@ localAlgo = mesh.Triangle(face)
mesh.Segment().NumberOfSegments( 3 )
mesh.Quadrangle()
mesh.Prism()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# objects to copy
fGroup = mesh.GroupOnGeom( face, "2D on face")
@ -56,4 +56,4 @@ smallBox = geom_builder.MakeScaleAlongAxes( box, None, 1, 0.5, 0.5 )
cutBox = geom_builder.MakeCut( box, smallBox, theName="box - smallBox" )
ok, newMesh, groups, submehses, hyps, invIDs = smesh_builder.CopyMeshWithGeom( mesh, cutBox, "cutBox" )
newMesh.Compute()
if not newMesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -31,4 +31,4 @@ deflection = 0.05
mesh = smesh_builder.Mesh( shape )
mesh.Segment().Adaptive( minSize, maxSize, deflection )
mesh.Triangle().MaxElementArea( 300 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -40,4 +40,4 @@ hexa.Quadrangle()
hexa.Hexahedron()
# compute the mesh
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")

View File

@ -43,4 +43,4 @@ algo_local = hexa.Segment(e_arc)
algo_local.Deflection1D(1.0)
# compute the mesh
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")

View File

@ -40,4 +40,4 @@ algo_local.StartEndLength(1, 6)
algo_local.Propagation()
# compute the mesh
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")

View File

@ -40,4 +40,4 @@ algo_local.LocalLength(2.)
algo_local.Propagation()
# compute the mesh
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")

View File

@ -40,4 +40,4 @@ algo = tria_mesh.Triangle()
algo.MaxElementArea(100)
# compute the mesh
tria_mesh.Compute()
if not tria_mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -31,6 +31,6 @@ algo3D.MaxElementVolume(200.)
# compute the mesh
ret = tetra.Compute()
if ret == 0:
print("problem when computing the mesh")
else:
print("Computation succeeded")
raise Exception("problem when computing the mesh")
print("Computation succeeded")

View File

@ -33,4 +33,4 @@ algo2D = tria.Triangle()
algo2D.LengthFromEdges()
# compute the mesh
tria.Compute()
if not tria.Compute(): raise Exception("Error when computing Mesh")

View File

@ -39,7 +39,7 @@ algo_local.Arithmetic1D(1, 4)
algo_local.Propagation()
# compute the mesh which contains prisms
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")
# create another mesh on the box
mesh = smesh_builder.Mesh(box, "Propagation of distribution of nodes")
@ -60,4 +60,4 @@ algo_local.Arithmetic1D(1, 4)
algo_local.PropagationOfDistribution()
# compute the mesh which contains hexahedra only
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -29,7 +29,7 @@ algo3D = hexa.Hexahedron()
algo1D.Arithmetic1D(1, 4)
# compute the mesh
hexa.Compute()
if not hexa.Compute(): raise Exception("Error when computing Mesh")
# 2. Create a tetrahedral mesh on the box
tetra = smesh_builder.Mesh(box, "Box : tetrahedrical mesh")
@ -48,4 +48,4 @@ algo1D.Arithmetic1D(1, 4)
algo2D.LengthFromEdges()
# compute the mesh
tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")

View File

@ -47,7 +47,7 @@ src_mesh.Segment().NumberOfSegments(9,10)
src_mesh.Quadrangle()
src_mesh.Hexahedron()
src_mesh.Triangle(f1) # triangular sub-mesh
src_mesh.Compute()
if not src_mesh.Compute(): raise Exception("Error when computing Mesh")
# Mesh the box using projection algorithms
@ -75,7 +75,7 @@ proj2D.SourceFace( f2 )
# 3D hypotheses to project prisms from the source to the target mesh
proj3D = tgt_mesh.Projection3D()
proj3D.SourceShape3D( box, src_mesh, v1F1, v1F2, v2F1, v2F2 )
tgt_mesh.Compute()
if not tgt_mesh.Compute(): raise Exception("Error when computing Mesh")
# Move the source mesh to visually compare the two meshes
src_mesh.TranslateObject( src_mesh, smesh_builder.MakeDirStruct( 210, 0, 0 ), Copy=False)

View File

@ -29,9 +29,9 @@ geom_builder.addToStudyInFather( box, Face_2, 'Face_2' )
src_mesh = smesh_builder.Mesh(Face_1, "Source mesh")
src_mesh.Segment().NumberOfSegments(15)
src_mesh.Triangle()
src_mesh.Compute()
if not src_mesh.Compute(): raise Exception("Error when computing Mesh")
# Mesh the target mesh using the algorithm Projection1D2D
tgt_mesh = smesh_builder.Mesh(Face_2, "Target mesh")
tgt_mesh.Projection1D2D().SourceFace(Face_1,src_mesh)
tgt_mesh.Compute()
if not tgt_mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -37,4 +37,4 @@ Mesh_1.AddHypothesis(Fixed_points_1D_1)
Regular_1D = Mesh_1.Segment()
Quadrangle_2D = Mesh_1.Quadrangle()
# Compute mesh
Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")

View File

@ -24,7 +24,7 @@ radial_Quad_algo = mesh.Quadrangle(algo=smeshBuilder.RADIAL_QUAD)
# The Radial Quadrange algorithm can work without any hypothesis
# In this case it uses "Default Nb of Segments" preferences parameter to discretize edges
# So by default there will be 15 segments in both radial and circular directions
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# The Radial Quadrange uses global or local 1d hypotheses if it does
# not have its own hypotheses.
@ -32,9 +32,9 @@ mesh.Compute()
# So that there will be 5 radial layers and 10 circular segments
global_Nb_Segments = mesh.Segment().NumberOfSegments(5)
local_Nb_Segments = mesh.Segment(circle).NumberOfSegments(10)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Define own parameters of Radial Quadrange algorithm
# The number of radial layers will be 4
radial_Quad_algo.NumberOfLayers( 4 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -28,4 +28,4 @@ Nb_Segments_1 = Regular_1D.NumberOfSegments(10)
Quadrangle_2D = Mesh_1.Quadrangle().TriangleVertex( triaVertex )
# Compute the mesh
Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")

View File

@ -36,8 +36,8 @@ Regular_1D_1 = Mesh_1.Segment(geom=Edge_2)
Nb_Segments_2 = Regular_1D_1.NumberOfSegments(10)
# Compute mesh (with Quadrangle Preference type)
isDone = Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")
# Change type to Reduced and compute again
Quadrangle_Parameters_1.SetQuadType( smeshBuilder.QUAD_REDUCED )
isDone = Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")

View File

@ -33,7 +33,7 @@ geom_builder.addToStudyInFather( boxes[1], midFace1, "middle Face")
srcMesh = smesh_builder.Mesh(boxes[0], "source mesh") # box coloser to CS origin
nSeg1 = srcMesh.Segment().NumberOfSegments(4)
srcMesh.Quadrangle()
srcMesh.Compute()
if not srcMesh.Compute(): raise Exception("Error when computing Mesh")
srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
# Import faces from midFace0 to the target mesh
@ -43,8 +43,8 @@ importAlgo = tgtMesh.UseExisting2DElements(midFace1)
import2hyp = importAlgo.SourceFaces( [srcFaceGroup] )
tgtMesh.Segment().NumberOfSegments(3)
tgtMesh.Quadrangle()
tgtMesh.Compute()
if not tgtMesh.Compute(): raise Exception("Error when computing Mesh")
# Import the whole source mesh with groups
import2hyp.SetCopySourceMesh(True,True)
tgtMesh.Compute()
if not tgtMesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -43,7 +43,7 @@ layersHyp = algo3D.ViscousLayers(thickness,numberOfLayers,stretchFactor,
ignoreFaces, # optional
groupName = groupName) # optional
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# retrieve boundary prisms created by mesh.Compute()
boundaryGroup = mesh.GetGroupByName( layersHyp.GetGroupName() )[0]
@ -65,7 +65,7 @@ mesh.Segment().NumberOfSegments( 5 )
vlHyp = mesh.Triangle().ViscousLayers2D( 2, 3, 1.5,
edgeIds, isEdgesToIgnore=True, # optional
groupName=groupName) # optional
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# retrieve boundary elements created by mesh.Compute()
quadrangles = mesh.GetGroupByName( vlHyp.GetGroupName() )[0]
@ -74,4 +74,4 @@ print( "Nb boundary quadrangles", quadrangles.Size() )
# viscous layers will be created on 3 edges, as we pass isEdgesToIgnore=False
vlHyp.SetEdges( edgeIds, False )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -28,4 +28,4 @@ mesh.Hexahedron()
# define refinement near vertices
algo1d.LengthNearVertex( 0.2 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -15,7 +15,7 @@ face = geom_builder.MakeFaceHW(100, 100, 1, theName="quadrangle")
mesh = smesh_builder.Mesh(face)
mesh.Segment().NumberOfSegments(10)
mesh.Triangle().MaxElementArea(25)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# get all free borders
filter = smesh_builder.GetFilter(SMESH.EDGE, SMESH.FT_FreeBorders)

View File

@ -16,7 +16,7 @@ geom_builder.addToStudy( face, "quadrangle" )
mesh = smesh_builder.Mesh(face)
mesh.Segment().NumberOfSegments(10)
mesh.Triangle().MaxElementArea(25)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# get all faces with free edges
filter = smesh_builder.GetFilter(SMESH.FACE, SMESH.FT_FreeEdges)

View File

@ -16,7 +16,7 @@ mesh = smesh_builder.Mesh( box, "Box" )
mesh.Segment().NumberOfSegments(10)
mesh.Quadrangle()
mesh.Hexahedron()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# copy all elements with translation and Merge nodes
mesh.TranslateObject( mesh, smesh_builder.MakeDirStruct( 10,0,0), Copy=True )
mesh.MergeNodes( mesh.FindCoincidentNodes(1e-7) )

View File

@ -16,7 +16,7 @@ mesh = smesh_builder.Mesh( box, "Box" )
mesh.Segment().NumberOfSegments(10)
mesh.Quadrangle()
mesh.Hexahedron()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# copy all elements with translation
mesh.TranslateObject( mesh, [10,0,0], Copy=True )
# create a filter to find nodes equal within tolerance of 1e-5

View File

@ -16,7 +16,7 @@ mesh = smesh_builder.Mesh( box, "Box" )
mesh.Segment().NumberOfSegments(10)
mesh.Quadrangle()
mesh.Hexahedron()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# copy all elements with translation and merge nodes
mesh.TranslateObject( mesh, [10,0,0], Copy=True )
mesh.MergeNodes( mesh.FindCoincidentNodes( 1e-5 ))

View File

@ -34,7 +34,7 @@ v000 = geom_builder.MakeVertex( 100,100,0, theName='v000' ) # can use box sub-ve
v001 = geom_builder.GetVertexNearPoint( box1, geom_builder.MakeVertex(100,100,100), theName='v001')
ijkAlgo.Renumber([ smeshBuilder.BlockCS( box1, v000, v001 ) ])
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Create filters with FT_ConnectedElements criterion by pointing a domain in different ways:

View File

@ -44,7 +44,7 @@ Mesh_1 = smesh_builder.Mesh(Partition_1)
Mesh_1.Segment().NumberOfSegments(15)
Mesh_1.Triangle().LengthFromEdges()
Mesh_1.Tetrahedron()
Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")
# relevant groups of volumes and faces

View File

@ -33,7 +33,7 @@ quadra.Quadrangle()
algo1D.NumberOfSegments(7)
# compute the mesh
quadra.Compute()
if not quadra.Compute(): raise Exception("Error when computing Mesh")
# create SMESH group on the face with name "SMESHGroup1"
aSmeshGroup1 = quadra.GroupOnGeom(face, "SMESHGroup1")

View File

@ -16,7 +16,7 @@ box = geom_builder.MakeBoxDXDYDZ(10,10,10)
mesh = smesh_builder.Mesh(box,"Quad mesh")
hyp1D = mesh.Segment().StartEndLength( 1, 4 )
mesh.Quadrangle()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# create a group on filter selecting faces of medium size
critaria = [ \
@ -30,7 +30,7 @@ print("Group on filter contains %s elements" % filtGroup.Size())
# group on filter is updated if the mesh is modified
hyp1D.SetStartLength( 2.5 )
hyp1D.SetEndLength( 2.5 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("After mesh change, group on filter contains %s elements" % filtGroup.Size())
# set a new filter defining the group

View File

@ -27,8 +27,8 @@ mesh2 = smesh_builder.Mesh(box2, 'box2')
mesh2.Segment().NumberOfSegments(5)
mesh2.Triangle().MaxElementArea(20)
mesh1.Compute()
mesh2.Compute()
if not mesh1.Compute(): raise Exception("Error when computing Mesh")
if not mesh2.Compute(): raise Exception("Error when computing Mesh")
# compute min distance from grp1 to the origin (not available yet)
smesh_builder.MinDistance(mesh1)

View File

@ -27,8 +27,8 @@ mesh2 = smesh_builder.Mesh(box2, 'box2')
mesh2.Segment().NumberOfSegments(5)
mesh2.Triangle().MaxElementArea(20)
mesh1.Compute()
mesh2.Compute()
if not mesh1.Compute(): raise Exception("Error when computing Mesh")
if not mesh2.Compute(): raise Exception("Error when computing Mesh")
# compute bounding box for mesh1
mesh1.BoundingBox()

View File

@ -19,7 +19,7 @@ submesh_1d = mesh.Segment().NumberOfSegments(5)
submesh_2d = mesh.Quadrangle()
submesh_3d = mesh.Hexahedron()
submesh_2d_face = mesh.Triangle(face)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# create a group

View File

@ -83,4 +83,4 @@ mesh.Quadrangle(sub_face4)
# finally compute whole mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -73,7 +73,7 @@ algo3d = tetra.Tetrahedron()
algo3d.MaxElementVolume(100)
# Compute the mesh
tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")
# Create a mesh group of all triangles generated on geom faces present in faces_group
group = tetra.Group(faces_group)

View File

@ -16,7 +16,7 @@ mesh = smesh_builder.Mesh(box, 'box')
mesh.Segment().NumberOfSegments(10)
mesh.Triangle().MaxElementArea(5)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
print("After Compute(): %s nodes, %s faces" % ( mesh.NbNodes(), mesh.NbFaces()))
# remove nodes #246 and #255

View File

@ -14,7 +14,7 @@ box = geom_builder.MakeBoxDXDYDZ(200, 200, 200)
mesh = smesh_builder.Mesh( box )
mesh.Segment().AutomaticLength(0.1)
mesh.Quadrangle()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# find node at (0,0,0) which is located on a geom vertex
node000 = None

View File

@ -46,7 +46,7 @@ def Mesh1D(shape1d, nbSeg, name):
algo = mesh1d_tool.Segment()
hyp = algo.NumberOfSegments(nbSeg)
isDone = mesh1d_tool.Compute()
if not isDone: print('Mesh ', name, ': computation failed')
if not isDone: raise Exception('Mesh %s: computation failed' % name)
return mesh1d_tool
# Create a mesh with six nodes, seven edges and two quadrangle faces

View File

@ -28,7 +28,7 @@ algo1D.NumberOfSegments(3)
Mesh_1.Quadrangle()
isDone = Mesh_1.Compute()
if not isDone: print('Mesh Mesh_1 : computation failed')
if not isDone: raise Exception('Mesh Mesh_1 : computation failed')
# build a triangle mesh on Face_2
Mesh_2 = smesh_builder.Mesh(Face_2)
@ -39,7 +39,7 @@ algo2D = Mesh_2.Triangle()
algo2D.MaxElementArea(240)
isDone = Mesh_2.Compute()
if not isDone: print('Mesh Mesh_2 : computation failed')
if not isDone: raise Exception('Mesh Mesh_2 : computation failed')
# create a 2d pattern
pattern = smesh_builder.GetPattern()
@ -60,7 +60,7 @@ Mesh_3.Segment().NumberOfSegments(1)
Mesh_3.Quadrangle()
Mesh_3.Hexahedron()
isDone = Mesh_3.Compute()
if not isDone: print('Mesh Mesh_3 : computation failed')
if not isDone: raise Exception('Mesh Mesh_3 : computation failed')
# create a 3d pattern (hexahedrons)
pattern_hexa = smesh_builder.GetPattern()
@ -103,7 +103,7 @@ Mesh_4.Segment().NumberOfSegments(1)
Mesh_4.Quadrangle()
Mesh_4.Hexahedron()
isDone = Mesh_4.Compute()
if not isDone: print('Mesh Mesh_4 : computation failed')
if not isDone: raise Exception('Mesh Mesh_4 : computation failed')
# create another 3d pattern (pyramids)
pattern_pyra = smesh_builder.GetPattern()

View File

@ -23,7 +23,7 @@ Mesh.Tetrahedron()
# compute mesh
Mesh.Compute()
if not Mesh.Compute(): raise Exception("Error when computing Mesh")
# convert to quadratic
# theForce3d = 1; this results in the medium node lying at the

View File

@ -37,7 +37,7 @@ algo3D = tetra.Tetrahedron()
algo3D.MaxElementVolume("MaxElementVolume")
# compute the mesh
ret = tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")
# translate the mesh
point = SMESH.PointStruct("Offset", 0., 0.)

View File

@ -72,4 +72,4 @@ mesh.Segment(bigQuad).LocalLength( 3 )
mesh.Triangle(bigQuad)
# compute the mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -29,4 +29,4 @@ algo1d.NumberOfSegments( circNbSeg ) # division of circle edges
algo2d = mesh.Quadrangle( smeshBuilder.QUAD_MA_PROJ )
algo2d.StartEndLength( circleLen2 / circNbSeg, circleLen1 / circNbSeg ) # radial division
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -20,7 +20,7 @@ mesh = smesh_builder.Mesh( Fuse, "Deflection_2D")
algo = mesh.Segment()
algo.LocalLength(35)
algo = mesh.Triangle()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# get min and max deflection
minMax = mesh.GetMinMax( SMESH.FT_Deflection2D )

View File

@ -23,7 +23,7 @@ algo = mesh.Segment()
algo.NumberOfSegments(5)
algo = mesh.Triangle()
algo.MaxElementArea(20.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# criterion : free borders
aFilter = smesh_builder.GetFilter(SMESH.EDGE, SMESH.FT_FreeBorders)

View File

@ -23,7 +23,7 @@ algo = mesh.Segment()
algo.NumberOfSegments(5)
algo = mesh.Triangle()
algo.MaxElementArea(20.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Criterion : Borders at multi-connection
nb_conn = 2

View File

@ -23,7 +23,7 @@ algo = mesh.Segment()
algo.NumberOfSegments(5)
algo = mesh.Triangle()
algo.MaxElementArea(20.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Criterion : Length > 3.
length_margin = 3.

View File

@ -18,7 +18,7 @@ idbox = geom_builder.addToStudy(box, "box")
mesh = smesh_builder.Mesh(box, "Mesh_free_nodes")
mesh.Segment().NumberOfSegments(10)
mesh.Triangle().MaxElementArea(150.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Remove some elements to obtain free nodes
# Criterion : AREA < 80.

View File

@ -42,7 +42,7 @@ Mesh_1 = smesh_builder.Mesh(Partition_1)
Mesh_1.Segment().MaxSize(34.641)
Mesh_1.Triangle()
Mesh_1.Tetrahedron()
Mesh_1.Compute()
if not Mesh_1.Compute(): raise Exception("Error when computing Mesh")
# create a group of free faces
aFilter = smesh_builder.GetFilter(SMESH.FACE, SMESH.FT_FreeFaces )

View File

@ -16,7 +16,7 @@ geom_builder.addToStudy( box, "box" )
mesh = smesh_builder.Mesh(box)
mesh.Segment().NumberOfSegments(3)
mesh.Quadrangle()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# remove 2 faces
allFaces = mesh.GetElementsByType(SMESH.FACE)

View File

@ -23,7 +23,7 @@ algo = mesh.Segment()
algo.NumberOfSegments(5)
algo = mesh.Triangle()
algo.MaxElementArea(20.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Criterion : Length 2D > 5.7
length_margin = 5.7

View File

@ -23,7 +23,7 @@ algo = mesh.Segment()
algo.NumberOfSegments(5)
algo = mesh.Triangle()
algo.MaxElementArea(20.)
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Criterion : MULTI-CONNECTION 2D = 3
nb_conn = 3

View File

@ -33,4 +33,4 @@ mesh.Projection1D2D( faces[1] ).SourceFace( faces[0] ) # projection faces[0] ->
prism_algo.NumberOfSegments( 4, 5. )
# compute the mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -24,7 +24,7 @@ mesh = smesh_builder.Mesh( shape )
mesh.Segment().NumberOfSegments(1)
mesh.Quadrangle()
mesh.Triangle( ff[1] )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# make group of quadrangles and extrude them into a hexahedron
quadGroup = mesh.Group( ff[0], "quads")

View File

@ -40,7 +40,7 @@ smeshhomard.SetLogInFile(True)
smeshhomard.SetLogFile(log_file_1)
smeshhomard.SetRemoveLogOnSuccess(False)
smeshhomard.SetVerboseLevel(3)
smeshhomard.Compute()
if not smeshhomard.Compute(): raise Exception("Error when computing Mesh")
if osp.isfile(output_med_1):
os.remove(output_med_1)
@ -79,7 +79,7 @@ smeshhomard.SetLogInFile(True)
smeshhomard.SetLogFile(log_file_2)
smeshhomard.SetRemoveLogOnSuccess(True)
smeshhomard.SetVerboseLevel(0)
smeshhomard.Compute()
if not smeshhomard.Compute(): raise Exception("Error when computing Mesh")
if osp.isfile(output_med_2):
print("Test Uniform refinement Case 2: Error: output med file has not been removed")

View File

@ -42,7 +42,7 @@ smeshhomard.SetLogInFile(True)
smeshhomard.SetLogFile(log_file_1)
smeshhomard.SetRemoveLogOnSuccess(False)
smeshhomard.SetVerboseLevel(3)
smeshhomard.Compute()
if not smeshhomard.Compute(): raise Exception("Error when computing Mesh")
if osp.isfile(output_med_1):
os.remove(output_med_1)
@ -85,7 +85,7 @@ smeshhomard.SetLogInFile(True)
smeshhomard.SetLogFile(log_file_2)
smeshhomard.SetRemoveLogOnSuccess(True)
smeshhomard.SetVerboseLevel(0)
smeshhomard.Compute()
if not smeshhomard.Compute(): raise Exception("Error when computing Mesh")
if osp.isfile(output_med_2):
print("Test Uniform refinement Case 2: Error: output med file has not been removed")

View File

@ -18,7 +18,7 @@ Regular_1D = Mesh1.Segment()
Nb_Segments_1 = Regular_1D.NumberOfSegments(3)
Nb_Segments_1.SetDistrType( 0 )
Quadrangle_2D = Mesh1.Quadrangle()
isDone = Mesh1.Compute()
if not Mesh1.Compute(): raise Exception("Error when computing Mesh")
#Perform scale operation for the whole mesh and creation of a new mesh
newMesh = Mesh1.ScaleMakeMesh(Mesh1,SMESH.PointStruct(100,100,200),[0.5,0.3,0.7],True,"ScaledMesh")

View File

@ -40,7 +40,7 @@ algo1D.NumberOfSegments(6)
algo2D = trias.Triangle()
algo2D.LengthFromEdges()
trias.Compute()
if not trias.Compute(): raise Exception("Error when computing Mesh")
# create a group of all triangles currently present in the mesh
faceTriGroup = trias.Group( face1, "face triangles" )
@ -49,7 +49,7 @@ faceTriGroup = trias.Group( face1, "face triangles" )
circlemesh = smesh_builder.Mesh(circle, "Path mesh")
algo = circlemesh.Segment()
algo.NumberOfSegments(10)
circlemesh.Compute()
if not circlemesh.Compute(): raise Exception("Error when computing Mesh")
# extrusion of the mesh
trias.ExtrusionAlongPath([], circlemesh, circle, 1, MakeGroups=True )

View File

@ -35,7 +35,7 @@ algo_local = mesh.Segment(edge1)
algo_local.Arithmetic1D(1, 4)
algo_local.Propagation()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# sew border to side
# FirstNodeIDOnFreeBorder, SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,

View File

@ -35,7 +35,7 @@ algo_local = mesh.Segment(edge1)
algo_local.Arithmetic1D(1, 4)
algo_local.Propagation()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# sew conform free borders
# FirstNodeID1, SecondNodeID1, LastNodeID1, FirstNodeID2, SecondNodeID2

View File

@ -24,7 +24,7 @@ mesh = smesh_builder.Mesh(shape, "Two faces : quadrangle mesh")
mesh.Segment().Arithmetic1D( 0.1, 0.4 )
mesh.Segment(q1).NumberOfSegments( 5 )
mesh.Quadrangle()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# sew free borders

View File

@ -30,7 +30,7 @@ algo_local = mesh.Segment(EdgesList[8])
algo_local.NumberOfSegments(4)
algo_local.Propagation()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# sew side elements

View File

@ -21,7 +21,7 @@ mesh.Quadrangle()
mesh.Hexahedron()
# Compute mesh
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Duplicate nodes only

View File

@ -25,7 +25,7 @@ mesh = smesh_builder.Mesh( shape, "test_Reorient2D")
mesh.AutomaticHexahedralization(0.5)
localAlgo = mesh.Segment(faces[0])
localAlgo.NumberOfSegments( 11 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
group = mesh.Group( faces[1] )
vec = geom_builder.MakeVectorDXDYDZ( 1, 1, 1 )

View File

@ -101,7 +101,7 @@ geom_builder.addToStudy( f2, "f2" )
# compute 1D mesh
mesh = smesh_builder.Mesh( box )
mesh.Segment().NumberOfSegments( 5 )
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# compute 2D mesh
mesh.Quadrangle()
@ -109,8 +109,8 @@ mesh.UseExistingFaces(f1) # UseExistingFaces() allows using my2DMeshing();
mesh.UseExistingFaces(f2) # assign UseExistingFaces() BEFORE calling my2DMeshing()!
my2DMeshing(f1, mesh)
my2DMeshing(f2, mesh)
assert mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# compute 3D mesh
mesh.Prism()
assert mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")

View File

@ -32,11 +32,11 @@ Regular_1D_1_1 = tetra.Segment(geom=Face_1)
Nb_Segments_1 = Regular_1D_1_1.NumberOfSegments(5)
Nb_Segments_1.SetDistrType( 0 )
Quadrangle_2D = tetra.Quadrangle(geom=Face_1)
isDone = tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")
submesh = Regular_1D_1_1.GetSubMesh()
# compute the mesh
tetra.Compute()
if not tetra.Compute(): raise Exception("Error when computing Mesh")
# Creation of group
group = tetra.CreateEmptyGroup( SMESH.FACE, 'Group' )

View File

@ -16,7 +16,7 @@ box = geom_builder.MakeBoxDXDYDZ(100,100,100)
# Create a mesh
mesh = smesh_builder.Mesh(box,"Mesh")
mesh.AutomaticHexahedralization()
mesh.Compute()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
# Create a point
x,y,z = 0, 0, 1