Open markriegler opened 2 months ago
Are those all new features or can this replace any of the existing section?
These are all new features.
[!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 updates enhance the capability to create and export multipatch geometries in a gismo-compatible format, introducing a class for structured data management. Users can now easily define NURBS curves, set boundary conditions, and specify function blocks, streamlining the export process. The new features are thoroughly tested to ensure reliability, making the splinepy
library more robust for computational simulations.
File | Change Summary |
---|---|
examples/export_gismo.py |
Enhanced with functions to create multipatch geometries, define boundary conditions, and export XML for gismo compatibility. |
splinepy/io/gismo.py |
Introduced the AdditionalBlocks class for managing structured data blocks, including methods for boundary conditions, function blocks, and assembly options, improving usability. |
tests/io/test_gismo.py |
Added tests to validate the export of function blocks and additional XML blocks, ensuring data integrity and adherence to the defined XML structure. |
tests/data/gismo_additional_blocks.xml |
New XML file defining a multi-patch geometry structure for simulations, including patches, boundaries, functions, and configuration options, ensuring detailed specification. |
sequenceDiagram
participant User
participant export_gismo.py
participant gismo
participant gismo_io
User->>export_gismo.py: Trigger export
export_gismo.py->>gismo_io: Prepare geometries and boundaries
gismo_io->>export_gismo.py: Return structured data
export_gismo.py->>gismo: Call export with data
gismo->>User: Exported XML File
In patches, our geometry thrives,
NURBS and boundaries come alive.
Functions bound, solutions clear,
Export to gismo, no fear.
With structured flow in files so neat,
Our code's journey is complete. 🎉
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?
Thanks for the update! Can you please go through the comments from the bot and mark them resolved afterwards? Feel free to leave a small comment if needed
Can i merge this PR or do you do it?
I will
Overview
I found the current implementation of exporting gismo-compatible xml-files regarding boundary conditions, custom functions and the assembly options too cumbersome and hard to read with all the nested curly brackets. Therefore, I added three new helper functions to gismo export: one for boundary conditions, one for a function block and one for the assembly options block. This should lead to clearer code.
New features
All related to gismo export.
Showcase
New example
examples/export_gismo.py
recreates the xml-file for gismo's Poisson example.Checklists
Summary by CodeRabbit
New Features
Enhancements
Testing