Skip to main content

Collection of explicitly constructed meshes

Project description

meshzoo

PyPi Version PyPI pyversions GitHub stars Downloads

Discord

When generating meshes for FEM/FVM computations, sometimes your geometry is so simple that you don't need a complex mesh generator (like pygmsh, MeshPy, mshr, pygalmesh, dmsh), but something simple and fast that makes use of the structure of the domain. Enter meshzoo.

Installation

Install meshzoo from PyPI with

pip install meshzoo

How to get a license

Licenses for personal and academic use can be purchased here. 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 contact support@mondaytech.com.

Examples

Triangle

import meshzoo

bary, 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})

Rectangle

import meshzoo
import numpy as np

points, 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"
)

Regular polygon

meshzoo.ngon(4, 8) meshzoo.ngon(6, 8) meshzoo.ngon(9, 8)
import meshzoo

points, cells = meshzoo.ngon(5, 11)

Disk

meshzoo.disk(4, 8) meshzoo.disk(6, 8) meshzoo.disk(9, 8)

The disk meshes are inflations of regular polygons.

import meshzoo

points, cells = meshzoo.disk(6, 11)

points, cells = meshzoo.disk_quad(10, cell_type="quad4")  # or "quad8", "quad9"

Möbius strip

import meshzoo

points, cells = meshzoo.moebius(num_twists=1, nl=60, nw=11)

Sphere (surface)

import meshzoo

points, 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 of platonic solids and then "inflating" them. meshzoo implements a few of them. The sphere generated from the icosahedron has the highest-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)

Ball (solid)

import meshzoo

points, cells = meshzoo.ball_tetra(10)
points, cells = meshzoo.ball_hexa(10)

Tube

import meshzoo

points, cells = meshzoo.tube(length=1.0, radius=1.0, n=30)

Cube

import meshzoo
import numpy as np

points, 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)
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

meshzoo-0.12.2-cp314-none-any.whl (74.5 kB view details)

Uploaded CPython 3.14

meshzoo-0.12.2-cp313-none-any.whl (68.3 kB view details)

Uploaded CPython 3.13

meshzoo-0.12.2-cp312-none-any.whl (69.5 kB view details)

Uploaded CPython 3.12

meshzoo-0.12.2-cp311-none-any.whl (76.3 kB view details)

Uploaded CPython 3.11

meshzoo-0.12.2-cp310-none-any.whl (39.1 kB view details)

Uploaded CPython 3.10

File details

Details for the file meshzoo-0.12.2-cp314-none-any.whl.

File metadata

  • Download URL: meshzoo-0.12.2-cp314-none-any.whl
  • Upload date:
  • Size: 74.5 kB
  • Tags: CPython 3.14
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshzoo-0.12.2-cp314-none-any.whl
Algorithm Hash digest
SHA256 1ce0239fd03501cebe81c3db6a1b12698a4628b858cca5e43aff9e3b3504a4f8
MD5 c233b9333b3314bf3657ace94f2d507c
BLAKE2b-256 d2b80719ef429cb93b4e556e384000c2b87581241fd9ac9ecd3013dee3dff840

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshzoo-0.12.2-cp314-none-any.whl:

Publisher: release.yml on meshpro/meshzoo-dev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshzoo-0.12.2-cp313-none-any.whl.

File metadata

  • Download URL: meshzoo-0.12.2-cp313-none-any.whl
  • Upload date:
  • Size: 68.3 kB
  • Tags: CPython 3.13
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshzoo-0.12.2-cp313-none-any.whl
Algorithm Hash digest
SHA256 e612fa4cb4eed03ebc41218c9b72b41a4c6b36205a4a01b3b88c940df9799c43
MD5 49c569b8220d6df3cc565e73c1bde560
BLAKE2b-256 78884ababd9ff16935cad599db281cc469948b867b11e678a463403dbe1ebc67

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshzoo-0.12.2-cp313-none-any.whl:

Publisher: release.yml on meshpro/meshzoo-dev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshzoo-0.12.2-cp312-none-any.whl.

File metadata

  • Download URL: meshzoo-0.12.2-cp312-none-any.whl
  • Upload date:
  • Size: 69.5 kB
  • Tags: CPython 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshzoo-0.12.2-cp312-none-any.whl
Algorithm Hash digest
SHA256 94a998cfecb229dd9fce7ede8c061662ec925f1ee0c244fd66da2216cc3454e2
MD5 9de114297834723ccf5df636dcbe0c29
BLAKE2b-256 61f652b5a330af493b521150c6b8c354147fb337cff74f86cd7b804a8d75908b

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshzoo-0.12.2-cp312-none-any.whl:

Publisher: release.yml on meshpro/meshzoo-dev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshzoo-0.12.2-cp311-none-any.whl.

File metadata

  • Download URL: meshzoo-0.12.2-cp311-none-any.whl
  • Upload date:
  • Size: 76.3 kB
  • Tags: CPython 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshzoo-0.12.2-cp311-none-any.whl
Algorithm Hash digest
SHA256 b3872fd4fae382aba40d239a05f26ec89b1e99e25f7ab822095ec9b5b7c524a8
MD5 afeb2bec39e04d8b286746f91d641030
BLAKE2b-256 20b9c477e84ac60aa1ef6bbd9451a052d2fad974d7a570c9bb924fd7b03716e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshzoo-0.12.2-cp311-none-any.whl:

Publisher: release.yml on meshpro/meshzoo-dev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshzoo-0.12.2-cp310-none-any.whl.

File metadata

  • Download URL: meshzoo-0.12.2-cp310-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: CPython 3.10
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for meshzoo-0.12.2-cp310-none-any.whl
Algorithm Hash digest
SHA256 670c7a8c821501ab2889e9dee14c4b41d2ddce3213b00aecceca7c2ea8dab2a6
MD5 703a8edef1f1ef23bafc7e07b292e3c8
BLAKE2b-256 477d0ef022f4840448c207d5d471c989ace306ad699026654943c41a94eec374

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshzoo-0.12.2-cp310-none-any.whl:

Publisher: release.yml on meshpro/meshzoo-dev

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page