Migrate monolithic FSI to new solid time integration#1661
Draft
georghammerl wants to merge 3 commits into4C-multiphysics:mainfrom
Draft
Migrate monolithic FSI to new solid time integration#1661georghammerl wants to merge 3 commits into4C-multiphysics:mainfrom
georghammerl wants to merge 3 commits into4C-multiphysics:mainfrom
Conversation
31bf4ce to
51683ff
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 draft outlines the changes required to migrate the monolithic FSI approach to the new solid time-integration scheme. At this stage, the adaptive time‑stepping framework is not included; this will follow in a second step. To simplify comparison of results, a temporary boolean switch is introduced in the FSI files to toggle between the old and new time integration. This flag will, of course, be removed once the transition is complete.
The following code modifications are required to enable the new solid time integration for monolithic FSI:
StructureNOXCorrectionWrappermust be applied.initial_guess()is no longer needed with the new solid time integration.BlockSparseMatrixreplaces theCore::LinAlg::SparseMatrixto account for the necessary block structure. This approach is highly intrusive and not (easily) feasible in the new solid time integration. Current workaround: whenever the block matrix is needed in the FSI routines, the matrix is copied into aBlockSparseMatrix. This is clearly not a performant solution, but no detailed performance analysis has been conducted yet.MonolithStructureSplitneeds to be moved tosetup_system()becausedbc_map_extractoris not available at that point in the new solid time integration.structure_field()->get_constraint_manager()->have_monitor()has not yet been addressed. Is this required?Possible remedies to improve the current implementation:
FSIStructureWrapperto ensure a unified location for solid → FSI RHS handling.MonolithicStructureSplitto find a cleaner or more performant solution.Interested parties
@mayrmt @maxfirmbach