Open markriegler opened 2 months ago
[!IMPORTANT]
Review skipped
Auto reviews are disabled on base/target branches other than the default branch.
Please check the settings in the CodeRabbit UI or the
.coderabbit.yaml
file in this repository. To trigger a single review, invoke the@coderabbitai review
command.You can disable this status message by setting the
reviews.review_status
tofalse
in the CodeRabbit configuration file.
The recent updates to the splinepy
library introduce several enhancements, including the new FieldIntegrator
class and improved integration functions. These changes streamline spline parameter handling and boost accuracy while ensuring robust testing and documentation that validate the integration logic and transformations.
Files | Change Summary |
---|---|
examples/iga/.../galerkin_laplace_problem_field_integrator.py |
New script demonstrating the FieldIntegrator class for solving the Galerkin Laplace problem, detailing geometry preparation and computational functions for matrix assembly and visualization. |
splinepy/helpme/.../integrate.py |
Added _get_integral_measure and _default_quadrature_orders for improved integration handling; refactored volume for clarity; and introduced the FieldIntegrator class to encapsulate integration logic. |
tests/.../test_volume_integration.py |
Renamed VolumeIntegrationTest to IntegratorTest , introducing new methods for enhanced test coverage across spline types and user-defined functions, improving error handling and integration validation. |
.github/workflows/... |
Enhanced CI workflows for documentation generation and testing, transitioning from unittest to pytest , and refining dependency handling for better performance. |
README.md |
Expanded installation instructions and enhanced the introduction for clarity and usability. |
docs/... |
Various documentation updates, including the addition of a C++ API section and improved Doxygen configurations for better output structure. |
include/splinepy/... |
Added licensing information to key header files and improved several spline classes for enhanced clarity and functionality of method signatures. |
🐇 In the meadow where splines play,
New changes hop in, brightening the day.
Integrations dance, tests take flight,
FieldIntegrator shines, oh what a sight!
With each curve and twist, we refine and improve,
In the world of math, we joyfully move! 🌼✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
I think there was an issue with rebase. Do you need some help with that?
There are still some commits which do some unnecessary things (e.g. removing a function in one commit and later commit adds the same function again), but I tried to reduce the total number of commits.
Overview
FieldIntegrator
is a class to discretize PDEs into a system of equations. This should be ideal for rapid prototyping. It creates the corresponding matrices and vectors based on the user's input which consists of:New features
Transformation
class: computes supports, Jacobians and quadrature points for elements in a patchFieldIntegrator
class: assemble system matrix and right hand side vectorShowcase
Examples will be added in the
examples
folderChecklists
Summary by CodeRabbit
New Features
FieldIntegrator
class.FieldIntegrator
class to manage integration processes.volume
function for better performance and accuracy in integration tasks.Bug Fixes
Documentation
parametric_function
method for better clarity.