-
Notifications
You must be signed in to change notification settings - Fork 63
Description
This issue was originally created by @mayrmt in https://gitlab.lrz.de/baci/baci/-/issues/149 long time ago
Expectations
Dirichlet boundary conditions can be applied at the meshtying interface.
Current Behavior
The input allows for imposing Dirichlet BCs (i.e. prescribe DBC on master side of the interface, leave slave side unconstrained). However, the nonlinear solver does not converge. After a few Newton steps, the STRUCTURE-F-Norm stagnates.
Motivation and Context
Imposition of DBCs on interfaces has been possible in the old time integration framework. Since this is an essential capability, we want to have it available in the new structure framework as well.
At first glance, I see two possible sources for this error:
- The residual vector used for convergence checking does not reflect the DBCs properly.
- DBCs are applied during a call to
runPreApplyJacobianInverse()on the structure model evaluator. Afterwards, the meshtying condensation is performed in the meshtying model evaluatorsrunPreApplyJacobianInverse(). This step might mess with the boundary conditions that have been previously applied.
Definition of Done
- Enable imposition of DBCs on meshtying interfaces.
- Add test case to cover that functionality.
- Double check if imposition of DBCs on slave interface is still throwing an error.
Possible Solution
Related Issues
Additional Information
As far as I know, we always apply DBCs first during the call to runPreApplyJacobianInverse() on the structure model evaluator and then do various modifications to the linear system through runPreApplyJacobianInverse() of all other model evaluators. We do not have control or any specific strategy to define the order of all these calls to runPreApplyJacobianInverse().