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

Contact mechanics tolerance #957

Open
IvarStefansson opened this issue Sep 25, 2023 · 10 comments
Open

Contact mechanics tolerance #957

IvarStefansson opened this issue Sep 25, 2023 · 10 comments
Assignees
Labels
priority - high Issue/PR of high priority.

Comments

@IvarStefansson
Copy link
Contributor

We need to decide what to do with the tolerance in the tangential contact mechanics equation. This at least involves revisiting Hüeber/Wohlmuth and ensuring our value does not violate their recommendations.

@jwboth
Copy link
Contributor

jwboth commented Sep 25, 2023

Very good idea as I have very little intuition for its impact (it being absolute for instance) and thus having always some doubts. I will try to do this in the following two days.

@mariusnevland
Copy link
Contributor

I believe this is also related to issue #926 about possibly re-defining the friction bound.

@IvarStefansson
Copy link
Contributor Author

I agree that it's related. But I don't think it's covered by that issue, is it?

@mariusnevland
Copy link
Contributor

While I do mention the possibility of changing the tolerance in that issue, the main focus of that issue is still the definition of the friction bound. But resolving one of these issues could influence the other one, since the tolerance is related to the definition of the friction bound.

@jwboth
Copy link
Contributor

jwboth commented Sep 27, 2023

While looking at the code for the first time I am raising some stupid questions. I will make use of this platform to collect them. I do not necessarily expect them to be relevant for the actual topic.

My first question is. Should one be afraid of a switch in sign of the derivative of the tangential_fracture_deformation_equation when b < tol and b>tol? In the former it is 1, while in the latter it is b-norm_tantgenial_sum, it being zero for b being less than norm_tangential_sum. Does not sound like a very smooth function. When switching between states is a particular problem, my intuition would be, Newton could struggle more, when the piecewise defined derivative makes such unnecessary jumps. One could even consider weighting characteristic * t_t with a smaller number than 1 to allow for a smoother transition. A natural and smooth extension would be to use tol - norm_tangential_sum as weighting factor.

Maybe this comment is completely off, I wanted to state it nevertheless.

@IvarStefansson
Copy link
Contributor Author

Are you talking about the derivative w.r.t. t_t? Should we discuss in person?

@jwboth
Copy link
Contributor

jwboth commented Sep 27, 2023

After discussion with @IvarStefansson:

  1. It may be of interest to consider a setup in which fracture is very close to just in contact, and being trouble some for Newton. Hardcoded modifications of the code would allow testing of the idea of "preconditioning" the tangential function through the partial rescaling, entering the derivative of the equation wrt. t_t.

  2. The tolerance of interest enters the characteristic function, aiming at detecting open and closed cells based on b. To simplify the intuition, it holds b = -F t_n, and F is of order 1, such that the criterion is directly related with comparing whether the normal traction is small (smaller than tol=1e-5) or large. The normal traction is a part of the elasticity problem and thereby strongly related to the material parameters, in particular the Lame parameters. One could think of two scenarios: 1. Lame parameters of order 1, 2. Lame parameters of order 1e9. The normal traction would be proportional to these parameters for adequately scaled boundary conditions aiming at the creating the same scenario. Thus, it could be sensible to scale tol with some elasticity modulus, e.g., drained bulk modulus or so, consistent with the conditioning of the problem. By this, one would consider a relative normal traction force detecting open and closed cells. One possibility would be to scale such elasticity modulus with machine precision eps or slightly larger number, if eps turns out to be way to small.

@keileg @mariusnevland what do you think, especially regarding point 2? If this is meaningful for you, one suggestion would be, that @mariusnevland who has identified cases in which the choice of the tolerance of interest plays an important role, runs his test cases and compare the current setup. @IvarStefansson would implement the possibility to choose the tolerance from outside prior to testing.

@mariusnevland
Copy link
Contributor

I think point 2 sounds reasonable. Since we check whether a cell is open or closed based on the value of t_n, it would make sense to have the tolerance somehow related to some "characteristic value" of t_n.

Also, as I mention in issue #926, changing the definition of the friction bound from $b=-F\lambda_n$ to $b=-F(\lambda_n+\tilde{c}([[\mathbf{u}]]_n-g))$ might make it safer to lower the tolerance, since the presence of the $\tilde{c}([[\mathbf{u}]]_n-g)$ term should reduce $b$ further in the case of an open cell. I can imagine that this would give us more distinctly different values of $b$ for open and closed cells, which is probably a good thing. Here we also have the interesting possibility of adding more or less weight to $\tilde{c}([[\mathbf{u}]]_n-g)$ by adjusting $\tilde{c}$.

Regarding the derivative with respect to t_t, I can mention that for the regularized complementary functions that I use in the Uzawa algorithm I'm working on, this derivative becomes 1 for both open and closed cells.

@mariusnevland
Copy link
Contributor

To elaborate a bit on the second paragraph above: If $b=-F\lambda_n$, then theoretically, a cell is open if $b=0$ and closed if $b&gt;0$. However, if $b=-F(\lambda_n+\tilde{c}([[\mathbf{u}]]_n-g))$, then a cell is open if $b&lt;0$ and closed if $b \geq 0$. The latter sounds better to me, as the distinction between the states is clearer.

@keileg
Copy link
Contributor

keileg commented Sep 29, 2023

It all makes sense to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority - high Issue/PR of high priority.
Projects
None yet
Development

No branches or pull requests

4 participants