-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Dual mortar #15215
Comments
Function calls in Assembly, ComputeMortarFunctor, and SubProblem Get conforming and nonconforming cases to converge, and checked Jacobian pattern Fix broken tests, code restructure, and add tests, Address issue idaholab#15215
Function calls in Assembly, ComputeMortarFunctor, and SubProblem Get conforming and nonconforming cases to converge, and checked Jacobian pattern Fix broken tests, code restructure, and add tests, Address issue idaholab#15215
Get conforming and nonconforming cases to converge, and checked Jacobian pattern Fix broken tests, code restructure, and add tests, Address issue idaholab#15215
Get conforming and nonconforming cases to converge, and checked Jacobian pattern Fix broken tests, code restructure, and add tests, Address issue idaholab#15215
Get conforming and nonconforming cases to converge, checked Jacobian pattern Fix broken tests, code restructure, and add tests Address issue idaholab#15215
Get conforming and nonconforming cases to converge, checked Jacobian pattern Fix broken tests, code restructure, and add tests Address issue idaholab#15215
Mortar formulation results in a singular Jacobian for conforming mesh while using Dirichlet BCs. Two (nearly) zero singular values are associated with the Lagrange multipliers DOFs at the boundary. Refs #15216 (comment) |
Get conforming and nonconforming cases to converge, checked Jacobian pattern Fix broken tests, code restructure, and add tests Address issue idaholab#15215
Remove test for the conforming mesh Rebase against devel Address issue idaholab#15215
…mputeMortarFunctor classes, issue idaholab#15215
…mputeMortarFunctor classes, issue idaholab#15215
Here I am including some initial verifications of dual mortar implementation using MMS. The result is shown for a 2D diffusion problem in a unit square with analytical solution u(x,y) = sin(2pix)sin(2piy). The domain is composed of two subdomains (left and right), where solution continuity is enforced via using Lagrange multipliers (LMs) along the vertical interface. In this case the LM, \lambda=-2pisin(2pi*y). The analytical solution is shown below: The LM also converges with refined mesh: The upper-right sub-block of Jacobian (which couples slave and LM) is simplified/diagonalized: |
@lindsayad @jwpeterson here are some initial verification results. I will be working on different element types and convergence studies as @lindsayad suggested. |
Yea some L2/H1 error plots would be great. Very neat figures! |
@dewenyushu these results look very promising indeed, the sparsity patterns are especially interesting to see. I think the relative sizes of the u1 and u2 blocks indicate that you have chosen the LM/slave variable to be on the coarser mesh? From what I recall, this approach gives better results than the converse, but I'm also curious whether it makes any difference to your results. When the method is used in practice, sometimes it is not possible to pick a "coarse" side and obviously users can always set up problems incorrectly. Also I was asking @lindsayad about it previously, but for the dual LM method, the dual basis functions are piecewise-discontinuous, so I would expect the LM solution to also be piecewise discontinuous. I can't tell from your figure if that's the case or whether the LM variable is actually continuous? Can you comment on this/help me understand this aspect better? |
Get conforming and nonconforming cases to converge, checked Jacobian pattern Fix broken tests, code restructure, and add tests Address issue idaholab#15215
Remove test for the conforming mesh Rebase against devel Address issue idaholab#15215
…mputeMortarFunctor classes, issue idaholab#15215
I could have sworn that you advised picking the finer side as the slave side, but going back through your technical report, I actually don't see any statement regarding about a choice of side. In your test case 9.2 the slave side is about twice as fine as the master side. |
In your biorthogonality equation, is the domain "\Gamma_e" a single edge in the discretization (Popp's Eqn (18)) or is it the entire contact interface (Popp's Eqn (17))? I think you are referring to Popp's Eqn (17), in which case the dual basis will be continuous, but you have to solve a "global" (i.e. on the entire contact interface) L2-projection problem to get the continuous dual basis function coefficients. From what I can tell, you have actually implemented Popp's (18) in libmesh, i.e. local L2-projections on an element-by-element basis, which should in general lead to a discontinuous dual basis. The dual Lagrange basis functions you posted above are discontinuous because, unlike the primal Lagrange basis functions, they do not go to zero at the element boundary on either side of the element... This is difficult to explain in words, but you can also look at e.g. Fig. 3.2 in (Wohmuth 2000) to try and get some idea of what I am talking about. All that being said, your method seems to work so there is probably more that I am just not understanding about the approach... |
add components for system condensing extract dofs in subdomains and on the contact interface get a condensed representation of the system show convergence using condensed system untrack files, update per libmesh change, address comments from Fande add tests and documentation
fix parallel issues show convergence using AMG for both diffusion and mortar-based contact problems add tests and documentation
fix parallel issues show convergence using AMG for both diffusion and mortar-based contact problems add tests and documentation
fix parallel issues show convergence using AMG for both diffusion and mortar-based contact problems add tests and documentation
fix parallel issues show convergence using AMG for both diffusion and mortar-based contact problems add tests and documentation
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Address issue idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Address issue idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Address issue idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215 Address comments
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215 Address comments
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215 Address comments
Fix parallel issues, Work with mortar-based mechanical contact, Add test cases and documentation, Update inputs and documentation Address issue idaholab#15215 Address comments
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Fix parallel issues, Work with mortar-based mechanical contact, Momery and efficiency improvement Add tests for different dinv and adaptive condensation Fix memory leak Update documentation Refs idaholab#15215
Reason
The dual basis is often utilized in the dual Lagrange approach. Here, the shape functions for the Lagrange multipliers (LMs) satisfy the biorthogonal condition across the interface. The biorthogonal condition results in a diagonalized local mass matrix, which allows to condense out the LMs and transform the saddle point problem in to a positive definite one.
Design
Add dual shape functions in libmesh (see issue 2550)
Proof of concept using diffusion with
EqualValueConstraint
Enable dual mortar for mechanical contact
Interface for condensing out the LMs
Impact
Improve the performance for mortar-based contact problems by producing a positive definite system and allows a broader range of preconditioners/solvers
The text was updated successfully, but these errors were encountered: