Skip to main content

A package for N dimensions B-splines.

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.0.tar.gz (59.6 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.0-py3-none-any.whl (55.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bsplyne-1.0.0.tar.gz
  • Upload date:
  • Size: 59.6 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.0.tar.gz
Algorithm Hash digest
SHA256 606a21a9bd14906006eecb7b9f8ab308e57cb1a562e993285205bece794b9fad
MD5 1607835cf908c9662b9237aafe25957a
BLAKE2b-256 93e18593f02e58378caeaaccc1e6ec13afba8d8dd85ecc019ee5b5ccc702a891

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bsplyne-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 55.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e52ae69804ce281d51d5b62264d041fa59c30e33239c9062aa38e22388cd5818
MD5 efcc68bb9dc04e44e7f9437b1817dd3b
BLAKE2b-256 342c6683f21cdc5cb668b6ff1b83311850f3731a27371776cd9c12cce7c0b908

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