- Notifications
You must be signed in to change notification settings - Fork41
meshpro/meshzoo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
When generating meshes for FEM/FVM computations, sometimes your geometry is so simplethat you don't need a complex mesh generator (likepygmsh,MeshPy,mshr,pygalmesh,dmsh),but something simple and fast that makes use of the structure of the domain. Entermeshzoo.
Install meshzoofrom PyPI with
pip install meshzoo
Licenses for personal and academic use can be purchasedhere.You'll receive a confirmation email with a license key.Install the key with
plm add <your-license-key>
on your machine and you're good to go.
For commercial use, please contactsupport@mondaytech.com.
importmeshzoobary,cells=meshzoo.triangle(8)# corners = np.array(# [# [0.0, -0.5 * numpy.sqrt(3.0), +0.5 * numpy.sqrt(3.0)],# [1.0, -0.5, -0.5],# ]# )# points = np.dot(corners, bary).T# Process the mesh, e.g., write it to a file using meshio# meshio.write_points_cells("triangle.vtk", points, {"triangle": cells})
importmeshzooimportnumpyasnppoints,cells=meshzoo.rectangle_tri(np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11),variant="zigzag",# or "up", "down", "center")points,cells=meshzoo.rectangle_quad(np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11),cell_type="quad4",# or "quad8", "quad9")
meshzoo.ngon(4, 8) | meshzoo.ngon(6, 8) | meshzoo.ngon(9, 8) |
importmeshzoopoints,cells=meshzoo.ngon(5,11)
meshzoo.disk(4, 8) | meshzoo.disk(6, 8) | meshzoo.disk(9, 8) |
The disk meshes are inflations of regular polygons.
importmeshzoopoints,cells=meshzoo.disk(6,11)points,cells=meshzoo.disk_quad(10,cell_type="quad4")# or "quad8", "quad9"
importmeshzoopoints,cells=meshzoo.moebius(num_twists=1,nl=60,nw=11)
![]() | ![]() |
---|
importmeshzoopoints,cells=meshzoo.uv_sphere(num_points_per_circle=20,num_circles=10,radius=1.0)points,tri,quad=meshzoo.geo_sphere(num_points_per_circle=20,num_circles=10,radius=1.0)
Spheres can also be generated by refining the faces ofplatonicsolids and then "inflating" them. meshzooimplements a few of them. The sphere generated from the icosahedron has thehighest-quality (most equilateral) triangles.
All cells are oriented such that its normals point outwards.
![]() | ![]() | ![]() |
---|---|---|
meshzoo.tetra_sphere(10) | meshzoo.octa_sphere(10) | meshzoo.icosa_sphere(10) |
![]() | ![]() |
---|
importmeshzoopoints,cells=meshzoo.ball_tetra(10)points,cells=meshzoo.ball_hexa(10)
importmeshzoopoints,cells=meshzoo.tube(length=1.0,radius=1.0,n=30)
![]() | ![]() |
---|
importmeshzooimportnumpyasnppoints,cells=meshzoo.cube_tetra(np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11))points,cells=meshzoo.cube_hexa(np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11),np.linspace(0.0,1.0,11))
About
A collection of meshes for canonical domains