Skip to content

Conversation

@amgebauer
Copy link
Member

We are now using F=I+grad_u for every shape of the solid elements to compute the deformation gradient.

For the previously failing contact tests, I adapted the coordinates such that the two bodies are not in contact in the initial configuration (avoiding a singularity arising when computing the exact deformation gradient).

Draft for now since there might be some tests that fail due to tolerances.

Closes #70

@amgebauer amgebauer requested a review from Copilot December 2, 2025 16:30
Copilot finished reviewing on behalf of amgebauer December 2, 2025 16:59
Copy link

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

This PR standardizes the deformation gradient computation across all solid element shapes to consistently use F = I + grad_u (incremental formulation). Previously, hex8 elements used F = (X+u)^T * dN/dX^T (total formulation) while other element types used the incremental approach. To accommodate this change, contact test node coordinates were adjusted by adding a small offset (1e-16) to prevent initial contact singularities.

Key changes:

  • Unified deformation gradient calculation method across all element types
  • Modified contact test geometries to avoid numerical issues with the new formulation
  • Updated reference values in multiple test files to reflect the new computational approach

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/solid_3D_ele/4C_solid_3D_ele_calc_lib.hpp Removed conditional logic for hex8 elements; all elements now use F = I + grad_u formulation
tests/input_files/contact3D_nitsche_hex8_sym_coulomb.4C.yaml Adjusted node coordinates by adding 1e-16 offset to z-coordinates for nodes 1-125 to avoid initial contact
tests/input_files/contact3D_nitsche_hex8_sym_coulomb_new_struc.4C.yaml Same coordinate adjustment as above for consistency
tests/input_files/ssti_mono_3D_6hex8_elch_s2i_butlervolmerthermo_cycling.4C.yaml Updated expected displacement and scalar field values due to deformation gradient calculation change
tests/input_files/ssti_mono_3D_6hex8_elch_s2i_butlervolmerthermo_BGS-AMG_3x3.4C.yaml Updated expected scalar field value
tests/input_files/ssti_mono_3D_3hex8_elch_s2i_butlervolmerthermo_growthlaw.4C.yaml Updated expected displacement value
tests/input_files/ssi_mono_3D_hex8_elch_s2i_butlervolmercapacity_BGS-AMG_4x4.4C.yaml Updated multiple expected scalar field values
tests/input_files/ssi_mono_3D_hex8_elch_s2i_butlervolmer_grain_boundary_meshtying_BGS-AMG_5x5.4C.yaml Updated displacement and scalar field values
tests/input_files/ssi_mono_3D_2blocks_hex8_nonmatching_nitsche_contact_scatra_s2i_linearperm.4C.yaml Updated scalar and displacement values; standardized number format to scientific notation
tests/input_files/ssi_mono_3D_2blocks_hex8_nonmatching_nitsche_contact_scatra_s2i_constperm_BGS-AMG_3x3.4C.yaml Updated multiple scalar and displacement values
tests/input_files/ssi_mono_3D_2blocks_hex8_nonmatching_nitsche_contact_scatra_s2i_constperm_BGS-AMG_2x2.4C.yaml Updated multiple scalar and displacement values
tests/input_files/ssi_mono_3D_2blocks_hex8_nonmatching_nitsche_contact_scatra_s2i_constperm.4C.yaml Updated multiple scalar and displacement values; standardized number format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@amgebauer amgebauer force-pushed the use-consistent-way-to-compute-defgrd branch 2 times, most recently from 16f8e60 to 40b9aa1 Compare December 4, 2025 16:46
We are now using F=I+grad_u for every shape of the solid elements to
compute the deformation gradient.
@amgebauer amgebauer force-pushed the use-consistent-way-to-compute-defgrd branch from 40b9aa1 to 68bb046 Compare December 5, 2025 16:55
@amgebauer amgebauer marked this pull request as ready for review December 8, 2025 07:46
@amgebauer amgebauer changed the title Use consistent way to compute deformation gradient Use consistent way to compute the deformation gradient Dec 8, 2025
Copy link
Contributor

@rjoussen rjoussen left a comment

Choose a reason for hiding this comment

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

Does this mean contact simulations are no longer expected to work if the interfaces match exactly at the beginning?

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.

Unify computation of deformation gradient in new solid elements.

2 participants