Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable FieldSplit preconditioner for mortar contact #14791

Open
1 of 2 tasks
dewenyushu opened this issue Feb 26, 2020 · 2 comments
Open
1 of 2 tasks

Enable FieldSplit preconditioner for mortar contact #14791

dewenyushu opened this issue Feb 26, 2020 · 2 comments
Labels
C: Modules P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.

Comments

@dewenyushu
Copy link
Contributor

dewenyushu commented Feb 26, 2020

Reason

Mortar contact formulations generally results in ill-conditioned saddle point systems that are numerically difficult to converge (see e.g. Computational Contact Mechanics by Peter Wiggers). The FieldSplit preconditioner allows to separate the entire problem into sub-systems and apply different preconditioners per sub-system. For the ill-conditioned sub-system (usually corresponds to the contact interface), it is recommended to use a direct solver because of its relatively small problem size. For the rest of the system, an iterative preconditioner (or solver) is recommended because it has nice scaling property and requires low memory for large-scale problems. However, the current FieldSplit preconditioner is not compatible with mortar contact.

Design

  • Check the current FieldSplit implementation and make it compatible with mortar contact
  • Compare FieldSplit performance with other solvers and preconditioners

Impact

Have a robust iterative preconditioner for the mortar contact problems.

@dewenyushu dewenyushu added P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software. labels Feb 26, 2020
@lindsayad lindsayad added P: normal A defect affecting operation with a low possibility of significantly affects. and removed P: normal A defect affecting operation with a low possibility of significantly affects. labels Feb 27, 2020
@lindsayad
Copy link
Member

Mortar contact results in ill-conditioned saddle point systems that are numerically difficult to converge.

I don't know that ill-conditioned is necessarily true. A well-scaled mortar problem with Lagrange Multipliers will have a good condition number. It's just that the existence of the saddle point which the LMs introduce limits the kinds of preconditioners that you can use, e.g. we are definitely not positive definite anymore so multi-grid doesn't work well. Going to field-split restores the positive definiteness of the primal problem so that you have a more flexible choice of preconditioners.

@dewenyushu
Copy link
Contributor Author

I don't know that ill-conditioned is necessarily true.

The ill-conditioned issue brought by mortar has been pointed out in text books such as Computational Contact Mechanics by Peter Wriggers. This issue extensively/generally exists for mortar formulations with Lagrange multipliers (I need to point this out). This is also why specially designed robust solvers/preconditioners are essential for these problems.

A well-scaled mortar problem with Lagrange Multipliers will have a good condition number.

I agree. The reason we need scaling is just because we originally have an ill-conditioned problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Modules P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.
Projects
None yet
Development

No branches or pull requests

3 participants