Adaptive mesh generation and refinement
Project description
adaptmesh
Create triangular meshes by the adaptive process.
This is work-in-progress. I'm currently writing a short whitepaper which explains the logic behind this simple mesh generator. The basic idea is the use standard techniques from adaptive finite element methods, an arbitrary initial mesh, and a robust mesh smoothing algorithm. The next step is to make this more usable, i.e., add support for holes and tagging of boundaries. In future I hope to extend the generator to tetrahedral meshes. Stay tuned.
Installation
pip install adaptmesh
Dependencies
numpy
scipy
matplotlib
scikit-fem
Examples
Square with default settings
from adaptmesh import triangulate
m = triangulate([(0., 0.),
(1., 0.),
(1., 1.),
(0., 1.),])
Non-convex shape
from adaptmesh import triangulate
m = triangulate([(0.0, 0.0),
(1.1, 0.0),
(1.2, 0.5),
(0.7, 0.6),
(2.0, 1.0),
(1.0, 2.0),
(0.5, 1.5),], quality=0.95) # default: 0.9
Licensing
The main source code of adaptmesh
is distributed under the MIT License.
adaptmesh
ships with customized versions of the following packages:
tri v0.3.1.dev0
(ported to Python 3; MIT)optimesh v0.6.2
(trimmed down version with minor changes to the edge flipping; the last version with MIT)meshplex v0.12.3
(trimmed down version with minor changes, i.e. removal of unnecessary imports; the last version with MIT)
The licenses of the included packages can be found also in LICENSE.md
and the
respective subdirectories, i.e. ./adaptmesh/*/LICENSE
. See LICENSE.md
for
more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for adaptmesh-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 207cd7a2a49ff59b96a35dcdc1063a9df43e1cf4053d551acc00c6e9a1ef28db |
|
MD5 | 07e0089a7b4d0a2ff34a62ffe556386d |
|
BLAKE2b-256 | 6178883aa31894f9efa1e6cbcc0a45b6411ac9837a25ae95f98e75093ea71cce |