feat: beaminteraction -> potential: add potential reduction distributed endpoint moment compensation#2091
Open
davidrudlstorfer wants to merge 2 commits into
Conversation
Contributor
Author
|
What I forgot: the AI found a bug in the derivatives. This is included in the first commit |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an optional “distributed endpoint moment compensation” to the beaminteraction potential-reduction formulation to improve convergence by removing the distributed endpoint moment contribution near beam endpoints, including corresponding linearization updates and a new regression test case.
Changes:
- Introduce a new input parameter
potential_reduction_endpoint_moment_compensationand wire it into beam potential evaluation. - Update force/moment evaluation and stiffness assembly to apply the endpoint-moment compensation behavior.
- Add a new regression test (input + reference CSVs) for the endpoint moment compensation option.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
src/beaminteraction/src/potential/4C_beaminteraction_potential_pair_beam_to_beam.cpp |
Implements the endpoint moment compensation behavior in force/moment evaluation and stiffness assembly; also adjusts a geometry linearization call argument. |
src/beaminteraction/src/potential/4C_beaminteraction_potential_input.hpp |
Adds the new boolean parameter to the beam potential parameter struct. |
src/beaminteraction/src/potential/4C_beaminteraction_potential_input.cpp |
Registers the new YAML/input-file parameter with description and default. |
tests/list_of_tests.cmake |
Adds a new test case and CSV comparisons for the endpoint moment compensation scenario. |
tests/input_files/beam3r_herm2line3_static_vdW_singlelengthsspec_smallsepapprox_simple_end_point_potential_reduction_strategy_endpoint_moment_comp.4C.yaml |
New test input enabling potential_reduction_endpoint_moment_compensation: true. |
tests/input_files/ref/beam3r_herm2line3_static_vdW_singlelengthsspec_smallsepapprox_simple_end_point_potential_reduction_strategy_endpoint_moment_comp/beams-101_monitor_dbc.csv |
Reference output for reaction monitor 101 for the new test. |
tests/input_files/ref/beam3r_herm2line3_static_vdW_singlelengthsspec_smallsepapprox_simple_end_point_potential_reduction_strategy_endpoint_moment_comp/beams-103_monitor_dbc.csv |
Reference output for reaction monitor 103 for the new test. |
tests/input_files/ref/beam3r_herm2line3_static_vdW_singlelengthsspec_smallsepapprox_simple_end_point_potential_reduction_strategy_endpoint_moment_comp/beams_energy.csv |
Reference energy output for the new test. |
tmp/xxx-timings.yaml |
Added timing report artifact (should not be committed). |
tmp/xxx-101_monitor_dbc.csv |
Added generated output artifact (should not be committed). |
tmp/xxx-103_monitor_dbc.csv |
Added generated output artifact (should not be committed). |
tmp/xxx_energy.csv |
Added generated output artifact (should not be committed). |
365aef4 to
08c4599
Compare
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 and Context
This PR adds the next new option for the beaminteraction -> potential -> potential reduction strategy.
The distributed end point moment often influences convergence badly although this effect is not of real interest. Therefore, this PR introduces the new option to compensate this moment. Note that the formulation is not not fully conservative anymore, BUT only in the vicinity of beam endpoints. In the beam interior the formulation is still fully conservative.
This also required some changes of the corresponding linearization. ChatGPT helped me with that. Afterwards I again compared that the analytical and FAD derived stiffness matrix is identical for a few test cases.
Related Issues and Pull Requests
Follows #2088