Skip to content

Enable nurbs in 2D SOLID elements#1902

Open
amgebauer wants to merge 1 commit into4C-multiphysics:mainfrom
amgebauer:enable-nurbs-in-2d-solid-elements
Open

Enable nurbs in 2D SOLID elements#1902
amgebauer wants to merge 1 commit into4C-multiphysics:mainfrom
amgebauer:enable-nurbs-in-2d-solid-elements

Conversation

@amgebauer
Copy link
Copy Markdown
Member

Enable nurbs in 2D solid elements.

@amgebauer amgebauer requested a review from Copilot March 27, 2026 16:18
@amgebauer amgebauer changed the title Enable nurbs in 2D solid elements Enable nurbs in 2D SOLID elements Mar 27, 2026
@amgebauer amgebauer requested a review from eulovi March 27, 2026 16:36
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables NURBS9 support for 2D solid elements by extending the solid element type system (factory/calc/integration/input specs) and updating regression input files to use SOLID NURBS9 with the newer parameter naming.

Changes:

  • Add nurbs9 to implemented 2D solid cell types, plus required template instantiations (material evaluation, calc, extrapolation, fiber utilities).
  • Add integration-rule applicability wiring for nurbs9 and update solid line shape selection to emit NURBS line cell types when parent is NURBS.
  • Update multiple test input YAMLs from WALL/WALLNURBS to SOLID syntax (THICKNESS, PLANE_ASSUMPTION, etc.).

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/input_files/w1nurbs9_pbc.4C.yaml Migrates NURBS9 2D elements to SOLID ... THICKNESS/PLANE_ASSUMPTION syntax for regression.
tests/input_files/w1_w1nurbs.4C.yaml Converts mixed NURBS9/QUAD4 wall elements to 2D solid element syntax.
tests/input_files/meshtying2D_nurbs9_dual_new_struct.4C.yaml Updates meshtying NURBS9 elements to SOLID syntax to exercise new capability.
tests/input_files/meshtying2D_nurbs9_dual.4C.yaml Same as above for the non-“new_struct” variant.
tests/input_files/contact2D_nurbs9_std_new_struc.4C.yaml Updates contact NURBS9 elements to SOLID syntax for regression.
tests/input_files/contact2D_nurbs9_dual_consistent_new_struct.4C.yaml Converts consistent dual contact case elements to SOLID NURBS9 syntax.
tests/input_files/contact2D_nurbs9_dual_consistent.4C.yaml Same conversion for the non-“new_struct” variant.
src/solid_3D_ele/4C_solid_3D_ele_line.cpp Makes line element shape() NURBS-aware based on parent element cell type.
src/solid_3D_ele/4C_solid_3D_ele_factory.hpp Adds nurbs9 to the set of supported 2D solid cell types.
src/solid_3D_ele/4C_solid_3D_ele_calc_lib_plane.cpp Adds explicit instantiations for plane formulations with nurbs9.
src/solid_3D_ele/4C_solid_3D_ele_calc_lib_integration.hpp Defines applicable integration rules for nurbs9.
src/solid_3D_ele/4C_solid_3D_ele_calc.cpp Registers nurbs9 for packability verification and solid calc instantiations.
src/solid_3D_ele/4C_solid_3D_ele.cpp Adds input spec definition for 2D SOLID nurbs9 elements.
src/core/fem/src/general/utils/4C_fem_general_utils_gauss_point_extrapolation.cpp Enables GP-to-node extrapolation instantiations for nurbs9.
src/core/fem/src/general/node/4C_fem_general_fiber_node_utils.cpp Enables nodal fiber detection instantiation for nurbs9.

@amgebauer amgebauer force-pushed the enable-nurbs-in-2d-solid-elements branch from 035fbdf to 6bced7f Compare March 30, 2026 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants