[IgaApplication]:: [IgaModelerSbm] Analytical projection feature added if importing NURBS curves - #14832
Open
ThomasLillieskold wants to merge 14 commits into
Open
[IgaApplication]:: [IgaModelerSbm] Analytical projection feature added if importing NURBS curves#14832ThomasLillieskold wants to merge 14 commits into
ThomasLillieskold wants to merge 14 commits into
Conversation
…_update' into GapSbm_AlphaOuter_Changes
…mporting NURBS. Still to check
… Linealized Projection available
…tParameters and Updates of tests
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Analytical quadrature reads the wrong setting key, and importer validation tests are omitted from standard suites.
Review effort: Balanced
Findings: 1
Open (3)
What changed in this PR
Adds analytical 2D NURBS projection support to IgaApplication’s Shifted Boundary Method.
Changes:
- Introduces selectable analytical and linealized projection modes.
- Creates projection nodes with oriented normals for SBM conditions.
- Adds projection validation and curved/rational NURBS tests.
| File | Description |
|---|---|
test_stokes_sbm_conditions.py |
Selects linealized projection. |
test_stokes_sbm_conditions_3d.py |
Selects linealized 3D projection. |
test_stokes_elements_and_conditions.py |
Updates support-condition settings. |
test_sbm_laplacian_3d.py |
Selects linealized projection. |
test_modelers_sbm.py |
Tests analytical projections and validation. |
test_import_nurbs_modeler.py |
Tests NURBS mapping validation. |
sbm_solid_tests.py |
Updates solid SBM settings. |
complex_2d_nurbs.json |
Reorients a NURBS curve. |
test_sbm_3d_workflow.cpp |
Updates 3D workflow settings. |
snake_sbm_process.cpp |
Retains original NURBS geometries. |
import_nurbs_sbm_modeler.cpp |
Validates condition mappings. |
iga_modeler_sbm.h |
Declares projection-specific creation methods. |
iga_modeler_sbm.cpp |
Implements analytical and linealized projections. |
sbm_solid_condition.cpp |
Supports explicit projection nodes. |
sbm_load_solid_condition.cpp |
Uses projected nodes and normals. |
sbm_laplacian_condition_neumann.cpp |
Uses analytical projection data. |
sbm_laplacian_condition_dirichlet.cpp |
Supports explicit projection nodes. |
sbm_fluid_condition_dirichlet.cpp |
Supports explicit projection nodes. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| } | ||
| }] """) | ||
|
|
||
| def test_missing_layer_mapping_for_nurbs_curve(self): |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



📝 Description
Add analytical projection onto 2D NURBS skins for the Shifted Boundary Method (SBM) in
IgaApplication. SBM settings now select"analytical"or"linealized"throughsbm_parameters.projection_type.Key changes
Validation
test_modelers_sbm.py(21 tests) andtest_import_nurbs_modeler.py(6 tests).KratosIgaCoreTest(25 passed, 8 skipped),KratosCoreTest(1612 passed, 4 skipped), andKratosStructuralMechanicsCoreTest(116 passed).🆕 Changelog
IgaApplication.