Contact mechanics tolerance
IvarStefansson opened this issue · comments
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.
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.
I believe this is also related to issue #926 about possibly re-defining the friction bound.
I agree that it's related. But I don't think it's covered by that issue, is it?
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.
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.
Are you talking about the derivative w.r.t. t_t? Should we discuss in person?
After discussion with @IvarStefansson:
-
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.
-
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.
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
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.
To elaborate a bit on the second paragraph above: If
It all makes sense to me.