Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 9 committers (11.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A collection of B-spline tools in Julia
Basic Info
- Host: GitHub
- Owner: jipolanco
- License: mit
- Language: Julia
- Default Branch: master
- Homepage: https://jipolanco.github.io/BSplineKit.jl/dev/
- Size: 8.19 MB
Statistics
- Stars: 59
- Watchers: 3
- Forks: 9
- Open Issues: 5
- Releases: 66
Topics
Metadata Files
README.md
BSplineKit.jl
Tools for B-spline based Galerkin and collocation methods in Julia.
Features
This package provides:
B-spline bases of arbitrary order on uniform and non-uniform grids;
evaluation of splines and their derivatives and integrals;
spline interpolations, smoothing splines and function approximation;
periodic splines;
basis recombination, for generating bases satisfying homogeneous boundary conditions using linear combinations of B-splines. Supported boundary conditions include Dirichlet, Neumann, Robin, and generalisations of these;
banded Galerkin and collocation matrices for solving differential equations, using B-spline and recombined bases;
efficient "banded" 3D arrays as an extension of banded matrices. These can store 3D tensors associated to quadratic terms in Galerkin methods.
Example usage
The following is a very brief overview of some of the functionality provided by this package.
- Interpolate discrete data using cubic splines (B-spline order
k = 4):
julia
xdata = (0:10).^2 # points don't need to be uniformly distributed
ydata = rand(length(xdata))
itp = interpolate(xdata, ydata, BSplineOrder(4))
itp(12.3) # interpolation can be evaluated at any intermediate point
- Create B-spline basis of order
k = 6(polynomial degree 5) from a given set of breakpoints:
julia
breaks = log2.(1:16) # breakpoints don't need to be uniformly distributed either
B = BSplineBasis(BSplineOrder(6), breaks)
- Approximate known function by a spline in a previously constructed basis:
julia
f(x) = exp(-x) * sin(x)
fapprox = approximate(f, B)
f(2.3), fapprox(2.3) # (0.07476354233090601, 0.0747642348243861)
- Create derived basis satisfying homogeneous Robin boundary conditions on the two boundaries:
julia
bc = Derivative(0) + 3Derivative(1)
R = RecombinedBSplineBasis(B, bc) # satisfies u ∓ 3u' = 0 on the left/right boundary
- Construct mass matrix and stiffness matrix for the Galerkin method in the recombined basis:
julia
# By default, M and L are Hermitian banded matrices
M = galerkin_matrix(R)
L = galerkin_matrix(R, (Derivative(1), Derivative(1)))
- Construct banded 3D tensor associated to non-linear term of the Burgers equation:
julia
T = galerkin_tensor(R, (Derivative(0), Derivative(1), Derivative(0)))
See the heat equation example in the docs for the use of these tools to solve partial differential equations.
References
C. de Boor, A Practical Guide to Splines. New York: Springer-Verlag, 1978.
J. P. Boyd, Chebyshev and Fourier Spectral Methods, Second Edition. Mineola, N.Y: Dover Publications, 2001.
O. Botella and K. Shariff, B-spline Methods in Fluid Dynamics, Int. J. Comput. Fluid Dyn. 17, 133 (2003).
Owner
- Name: Juan Ignacio Polanco
- Login: jipolanco
- Kind: user
- Location: Grenoble, France
- Website: https://jipolanco.gitlab.io
- Repositories: 6
- Profile: https://github.com/jipolanco
CNRS researcher
Citation (CITATION.cff)
cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Polanco
given-names: Juan Ignacio
affiliation: Univ Lyon, CNRS, École Centrale de Lyon, LMFA
orcid: https://orcid.org/0000-0001-7705-753X
website: https://jipolanco.gitlab.io
title: "BSplineKit.jl: a collection of B-spline tools in Julia"
version: 0.8.0
doi: 10.5281/zenodo.5150350
date-released: 2021-07-31
repository-code: https://github.com/jipolanco/BSplineKit.jl
license: MIT
GitHub Events
Total
- Create event: 10
- Commit comment event: 11
- Release event: 6
- Issues event: 13
- Watch event: 9
- Delete event: 6
- Issue comment event: 43
- Push event: 57
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 12
Last Year
- Create event: 10
- Commit comment event: 11
- Release event: 6
- Issues event: 13
- Watch event: 9
- Delete event: 6
- Issue comment event: 43
- Push event: 57
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 12
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Juan Ignacio Polanco | j****c@g****m | 332 |
| github-actions[bot] | 4****] | 16 |
| dependabot[bot] | 4****] | 5 |
| Phillip Alday | p****y | 2 |
| tlow22 | 3****2 | 1 |
| Tim Holy | t****y@g****m | 1 |
| Jon Fintzi | f****r@n****v | 1 |
| Jishnu Bhattacharya | j****b@g****m | 1 |
| Alexander Seiler | s****x@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 23
- Total pull requests: 90
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Total issue authors: 17
- Total pull request authors: 9
- Average comments per issue: 7.65
- Average comments per pull request: 0.64
- Merged pull requests: 85
- Bot issues: 0
- Bot pull requests: 24
Past Year
- Issues: 7
- Pull requests: 13
- Average time to close issues: 5 days
- Average time to close pull requests: 1 day
- Issue authors: 6
- Pull request authors: 4
- Average comments per issue: 2.0
- Average comments per pull request: 0.54
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 4
Top Authors
Issue Authors
- Kevin-Mattheus-Moerman (5)
- jipolanco (2)
- asparc (2)
- mattiasvillani (1)
- naufalwx (1)
- zahachtah (1)
- Syndrius (1)
- alecloudenback (1)
- palday (1)
- behinger (1)
- rayqu1126 (1)
- panbroggi (1)
- sjkobayashi (1)
- lhapp27 (1)
- michakraus (1)
Pull Request Authors
- jipolanco (62)
- github-actions[bot] (19)
- dependabot[bot] (10)
- fintzij (2)
- palday (2)
- jishnub (1)
- tlow22 (1)
- timholy (1)
- goggle (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 940 total
- Total dependent packages: 9
- Total dependent repositories: 0
- Total versions: 66
juliahub.com: BSplineKit
A collection of B-spline tools in Julia
- Homepage: https://jipolanco.github.io/BSplineKit.jl/dev/
- Documentation: https://docs.juliahub.com/General/BSplineKit/stable/
- License: MIT
-
Latest release: 0.19.0
published 10 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia latest composite