Skip to main content

N-dimensional B-spline library for numerical mechanics and geometry

Project description

bsplyne

bsplyne is a Python library for working with N-dimensional B-splines. It implements the Cox-de Boor algorithm for basis evaluation, order elevation, knot insertion, and provides a connectivity class for multi-patch structures. Additionally, it includes visualization tools with export capabilities to Paraview.

Installation

Since bsplyne is not yet on PyPI, you can install it locally as follows:

git clone https://github.com/Dorian210/bsplyne
cd bsplyne
pip install -e .

Dependencies

Make sure you have the following dependencies installed:

  • numpy
  • numba
  • scipy
  • matplotlib
  • meshio
  • tqdm

Main Modules

  • BSplineBasis
    Implements B-spline basis function evaluation using the Cox-de Boor recursion formula.

  • BSpline
    Provides methods for creating and manipulating N-dimensional B-splines, including order elevation and knot insertion.

  • MultiPatchBSplineConnectivity
    Manages the connectivity between multiple N-dimensional B-spline patches.

  • CouplesBSplineBorder (less documented)
    Handles coupling between B-spline borders.

Examples

Several example scripts demonstrating the usage of bsplyne can be found in the examples/ directory. These scripts cover:

  • Basis evaluation on a curved line
  • Plotting with Matplotlib
  • Order elevation
  • Knot insertion
  • Surface examples
  • Exporting to Paraview

Documentation

The full API documentation is available in the docs/ directory of the project or via the online documentation portal.

Contributions

At the moment, I am not actively reviewing contributions. However, if you encounter issues or have suggestions, feel free to open an issue.

License

This project is licensed under the CeCILL License.

Project details


Download files

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

Source Distribution

bsplyne-1.0.1.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

bsplyne-1.0.1-py3-none-any.whl (56.1 kB view details)

Uploaded Python 3

File details

Details for the file bsplyne-1.0.1.tar.gz.

File metadata

  • Download URL: bsplyne-1.0.1.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for bsplyne-1.0.1.tar.gz
Algorithm Hash digest
SHA256 509f12c079869bec139f13835688c492ec7d2c13bfbfe6ad586552a01e78cf4d
MD5 0545a2246e785344b144a62f3640cbf3
BLAKE2b-256 2c4e0c99de93339355962fedf1c93e8223f4eec4c97eb4b1a202ddcf29db895b

See more details on using hashes here.

File details

Details for the file bsplyne-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: bsplyne-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 56.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for bsplyne-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38535788b241850de15c885bd1d0c72e9d575a6ac028f5e8bac6fda7b30a4259
MD5 7e8beef4f7c8be906bf43aab3089678c
BLAKE2b-256 ac1c79456743d0bbf9fb4cbd47d0afd25a227cdcc0dd590ebca5e591ac722f9a

See more details on using hashes here.

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