[TrilinosApplication] Initial refactoring TrilinosBlockBuilderAndSolver using Trilinos Space instead of Epetra hardcode#14373
Open
loumalouomega wants to merge 34 commits intoKratosMultiphysics:masterfrom
Conversation
…onsistency in TrilinosSpace
… for library selection
…oved clarity and consistency
…nd without assembly
… space types and update related tests for consistency
…e clarity and consistency
…seSpace::GlobalAssemble for consistency
…AndSolver for improved consistency and clarity
…eateVectorCopy for safety with FEMultiVector
…improve vector handling
…ore generic GetMap function
…dling and ensure proper matrix initialization
… use LinearAlgebraLibrary check for improved compatibility
…ver to handle unsupported linear algebra libraries with an error message
…ixed dof identification
…eamline index management
…y and improve error handling
…embly and improve efficiency
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.
name: ✨ Feature
about: Initial refactoring using Trilinos Space instead of Epetra hardcode
📝 Description
This PR contains the follow-up refactor on top of
trilinos/improvement-trilinos-spaceto further decouple the Trilinos builder/solver utilities from directEpetraassumptions and move more of the matrix/vector structure handling intoTSparseSpace.Depends on #14371
Key changes
TrilinosBlockBuilderAndSolverto rely onTSparseSpacehelpers when building the system and constraint structures.TrilinosSpace::BuildSystemStructure()with a row/column block connectivity overload so rectangular sparsity patterns can be constructed explicitly.TrilinosBlockBuilderAndSolverto preserve the original master/slave sparsity pattern while still delegating graph creation toTSparseSpace.TSparseSpace::BuildConstraintsStructure().trilinos_assembling_utilities.hand aligned the affected tests.BuildSystemStructure().Validation
KratosTrilinosCoreTest89/89in the full MPI Trilinos suite).🆕 Changelog
TrilinosSpace, its python bindings and MPI test coverage #14371TrilinosBlockBuilderAndSolverto build system and constraint structures throughTSparseSpaceutilities.TrilinosSpace::BuildSystemStructureto preserve rectangular sparsity patterns.BuildSystemStructureoverload and preserve regression coverage.