[SMApp] - Analysis of multiple loadcases#14426
Draft
T-Siemer wants to merge 9 commits into
Draft
Conversation
…nstraint_analysis
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: Analysis of multiple loadcases
📝 Description
Implemented a two-stage workflow for the analysis of multiple loadcases in the
StructuralMechancisApplication, currently limited to linear static:multi_load_constraint_preparation.py)multi_load_constraint_analysis.py)The preparation stage builds the global LHS once and builds one RHS per load process defined in the input. It also prepares a fixity-definition dictionary and returns the relevant data through
GetFinalData()for subsequent stages.The solving stage applies the requested fixities, solves the "primitive" load cases individually, stores the resulting solution vectors, and then forms the requested combinations by linear superposition of the primitive solutions. The combined results are written back to the model DOFs and can be output per combination.
A small change was necessary in the sequential orchestrator to be able to pass the output data from the preparation stage to the solving stage. I created a copy of the file and added a few lines (see changelog).
I also created some Python bindings for C++ functions. (see changelog).
🆕 Changelog
multi_load_constraint_preparation.pytoStructuralMechanicsApplicationmulti_load_constraint_analysis.pytoStructuralMechanicsApplicationcustom_sequential_orchestrator.py(kratos/python_scripts/orchestrators/custom_sequential_orchestrator.py)kratos/future/python/add_linear_solvers_to_python.cppandkratos/future/python/add_strategies_to_python.cpp