SubDyn: add per-member discretization support to align meshes with HydroDyn#3385
Open
luwang00 wants to merge 39 commits into
Open
SubDyn: add per-member discretization support to align meshes with HydroDyn#3385luwang00 wants to merge 39 commits into
luwang00 wants to merge 39 commits into
Conversation
The third term in the calculation was incorrect. This routine has not been used since it was added in 2014, so no results will be affected. This was reported on the forum here: https://forums.nlr.gov/t/beamdyn-questions/9518/3
[BugFix] Error in `Quaternion_to_DCM` calculation
…mary file Update AllFmt format strings in BeamDyn_IO.f90 for Init_Nodes and Init_QP arrays to use proper spacing and trailing comma in Fortran format specs. This was preventing writing of this information. Remove redundant format statement from yaml_write_array2R[48]
I missed the usage of it right afterwards
Fix format issue preventing fields from appearing in BeamDyn YAML summary file
… option introduced in the previous commit 9450632
…e pretension in Fg
…load output channels
…Corrected the figure for the element local coordinate system.
Add optional per-member MDivSize parsing and resolve per-member MemberNDiv with global NDiv fallback. Refactor FEM discretization to use per-member divisions, cache MemberElemStart, and avoid max-width MemberNodes storage. Update output mapping and summary generation to reconstruct member node ordinals from connectivity and MemberElemStart. Register and document SD_2Beam_MixedDiscretization regression case and update r-test submodule pointer. Co-authored-by: GitHub Copilot <copilot@github.com>
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.
This PR is ready. Need to merge PR #3356 into
rc-5.0.1and mergerc-5.0.1intodevfirst.Feature or improvement description
This PR adds optional element-length-based discretization for beam member to SubDyn. In the SubDyn input file, the
MEMBERStable now accepts a new optional 8th column at the end calledMDivSize. It defines the maximum length in meters of the resulting equal-length elements after discretizing the member. Effectively, it behaves the same way asMDivSizein the HydroDyn input file.Each member can have a different
MDivSize. If omitted for a given member, that particular member will revert back toNDivelements as before. This allows for backward compatibility.MDivSizeis always ignored for non-beam members, including cables, rigid links, and spring elements, which are not subdivided.Internally, SubDyn initialization and output have been revised to support differing number of elements for each member. When requesting beam member nodal outputs (load and motion),
NodeCntmust be less than or equal toNDiv+1if default discretization based onNDivis used (MDivSizenot specified), or be less than or equal to the actual number of nodes belonging to that member after discretization based onMDivSize. Users can refer to the SubDyn summary file for the number of nodes belonging to each member.The primary purpose of this change is to simplify mesh alignment between SubDyn and HydroDyn for hydroelastic simulations. Aligned meshes between the two modules are recommended to ensure physical results. With this update, if a member has the same starting and ending joint coordinates and the same
MDivSizein the two module input files, the internal mesh nodes will also be aligned between the two modules. Additionally, if members have drastically different lengths in SubDyn, theMDivSizebased discretization is more appropriate compared to the uniform subdivision based onNDiv. The latter will either result in excessive discretization of short members or inadequate discretization of long members.Impacted areas of the software
SubDyn, docs, r-test
Generative AI usage
Co-authored-by: Microsoft Copilot copilot@microsoft.com
Test results, if applicable
No change to existing r-tests (all passed); added a new SubDyn module r-test called
SD_2Beam_MixedDiscretizationto demonstrate the new discretization capability for beams.