Closed brendanjmeade closed 9 months ago
@brendanjmeade - I have been thinking about this in a lot of detail, and I may have finally convinced myself why stresses cannot be continuous at corners no matter how we deal with slip and slip gradients at overlapping nodes of a non=planar fault. This ties back in with the links you posted above (both of our works), as well as implementations of bulk plasticity and/or viscoelasticity. Long story short - the stress singularities exist because we are enforcing continuity of tractions on either side of a node, and the traction vector only has 2 components while the stress tensor has 3. I've provided some details here - https://github.com/brendanjmeade/bemcs/blob/main/Derivation_slipgradient_smoothness.ipynb
I agree with you that unless the mesh is itself smooth, which it is trivially for planar faults, we should not expect continuity of stresses. However, because we are enforcing continuity of the slip vector at a given node and continuity of the direction gradient of the slip vector, we should expect a much milder form of singularity than we would for constant slip elements. Do you think this is worth working out - the order of the singularity?
@brendanjmeade - OMG i am super excited because I may have been totally wrong with my previous comment. Please take a look at https://github.com/brendanjmeade/bemcs/blob/main/Nonplanarpatches_rotation.ipynb Stresses are smooth! I just made sure the unit vectors were properly applied at voila! I am really really hungry right now so maybe it's my low blood sugar talking - but way too excited that it works! will come back from lunch and check again.
@mallickrishg Ok...I didn't quite expect this, but that's why we do the calculations!
I certainly haven't understood it all, but my reading of the Nonplanarpatches_rotation
notebook is that the fundamental idea is to specify slip in global x, y coordinates at element centroids and then solve for the shear and normal slip (at the 3 quadratic nodes per element) that satisfy the prescribed slip at the centers and all of the continuity BCs between elements. With a ton of careful algebra (super impressive and readable!), this works! As I try to understand this, slip on the fault is continuous in (x, y) space by construction.
Outside of being amazed (!) two ideas immediately spring to mind:
This is so interesting!
@brendanjmeade - response to question 1 is your intuition is spot on. It is such an interesting idea that indeed at node centers we will have 0 fault-normal slip since we imposed it, but that hides the more interesting things that are going on fault element edge nodes. Below are figures for a 3-element fault meeting at right angles where I impose purely shear slip on each element. The stresses are once again continuous, but slip at each node is exactly what you suggested.
Figure of slip at each node ($s_x$ for the first 3 and last 3 nodes is shear-slip, while $s_y$ is shear-slip for the 3 nodes of the middle element fault element)
Displacements and stresses
I keep thinking that we've messed up somewhere, these results are too good to be true.
Another check to show what happens when we force tensile slip to be 0 at fault element centers. Below I plot both ($s_x,s_y$) and the local values of ($s_s,s_n$) for each patch. The big circles are at patch centers. The thing that really stands out to me is that slip in the local $s_s,s_n$ is not continuous. I wonder what the implications of this behaviour is for rough fault simulations.... i wonder what it means for how we think about asperities at the micro-scale. If the stresses are now bounded, does that mean we can start making calculations for what wavelengths of roughness are actually relevant for yielding/bulk damage or things like that? Just thinking out loud here.
The step-like fault example is extraordinary! You designed a super tough problem that I think aids in understanding. As we discussed earlier in this issue, the slip away from element centroids can do some very different things than at the centroids. I see that there are two interesting ways to understand this:
If the stresses are now bounded, does that mean we can start making calculations for what wavelengths of roughness are actually relevant for yielding/bulk damage or things like that? Just thinking out loud here.
Probably (and calculating total strain energy too!), but there's a lot we should really nail down first. In terms of the rough fault questions, I think we now have a real way to do this and it's different. I think the most interesting thing about this is that it's really the combination of continuity and shear and normal slip that makes this possible. I still think that the singularities could be eliminated for the shear-only case if we had C2 meshes. The C2 mesh case is something I don't know how to do analytically because I don't think I could calculate element Green's functions along curved segments.
- The same step geometry but with more elements on each of the three straight segments. Does the solution converge with mesh resolution?
I can try this tomorrow
Regarding C2 meshes, I don't think I have ever encountered greens functions for non C0 meshes. I know FEM codes typically use basis functions on higher order meshes, but even there I don't have any exposure to curvilinear meshes.
It just dawned on me while cycling today, I was going downhill on a banked road and it suddenly made sense! Of course if the mesh is itself smooth, then if slip is perfectly parallel to the shape of the fault - that guarantees that for uniform magnitude of slip, its gradients are smooth! Unfortunately c2 mesh greens functions might be really hard to derive. I vaguely recall Pierre Romanet previously at ENS Paris, and later in jamstec, writing a paper or presenting somewhere about this. Need to go search for this.
I very much agree.
For Greens functions, see: https://academic.oup.com/qjmam/article/67/3/505/1941937 and references therein. Also numerical integration of point sources over C2 meshes is sometimes used (e.g., https://link.springer.com/book/10.1007/978-3-030-23339-6). In fact, I'd bet there are at least a hundred papers on both. I think it's conceptually the right thing to do in many ways.
However, as with almost everything in the BEM literature, we have to ask questions:
I would use any (all) of these C2 methods if they were closer to the technology stage. I suspect that they are not, and that why things like quadrature by expansion were developed. And the NYU/Flatiron group that developed that seems to be betting on ultra-high order Gaussian nowadays.
I definitely know the Romanet work and it's very very good but it's only developed for small curvature cases. He does a sort of approximation that is supposed to be pretty good for the shear stress. A step in the right direction!
There is the idea that one could add fold-like structures at fault intersections and apply appropriate kinematically consistent slip and that the stresses might nearly cancel at near the fault intersection? I've never tried this but perhaps you have in one of your papers?
For Greens functions, see: https://academic.oup.com/qjmam/article/67/3/505/1941937 and references therein. Also numerical integration of point sources over C2 meshes is sometimes used (e.g., https://link.springer.com/book/10.1007/978-3-030-23339-6). In fact, I'd bet there are at least a hundred papers on both. I think it's conceptually the right thing to do in many ways.
Wow! those articles/books are fantastic - i just did not know you could do such cool things with complex representations! mind blown! Though it now makes me think like you - if all these tools exist, is it not in use because people (like me) just haven't come across this work before? Or is it because these tools do not work for general cases?
There is the idea that one could add fold-like structures at fault intersections and apply appropriate kinematically consistent slip and that the stresses might nearly cancel at near the fault intersection? I've never tried this but perhaps you have in one of your papers?
I did think about this previously. In fact in my previous article on this topic I have a figure that looks exactly like what you shared. I had tried to make it work with regular constant slip boundary elements but it needs a lot of careful element size/mesh selection to avoid singularity-related stress blow ups at the junction where 3 fault segments meet. It was really not worth it then, but perhaps now that we have better tools this is something to explore. However, my 2 cents from spending some time thinking about this previously, it is not a short project. To come up with something profound or a meaningful contribution will require us to drop everything and obsess about on-fault & off-fault processes, and I don't think I will have that kind of time in the future.
Wow! those articles/books are fantastic - i just did not know you could do such cool things with complex representations! mind blown! Though it now makes me think like you - if all these tools exist, is it not in use because people (like me) just haven't come across this work before? Or is it because these tools do not work for general cases?
It makes no sense to me unless a lot of this stuff doesn't work well or is just too complicated. If I ever got a singularity-free C2 mesh version working, I'm pretty sure I'd spend the rest of my career making that thing awesome for applications far beyond earth science. There's just a general sense of "Where is all the code?" after reading these papers.
but it needs a lot of careful element size/mesh selection to avoid singularity-related stress blow ups at the junction where 3 fault segments meet
Understood!
Now that the stress singularities along planar segments can be eliminated there is still the issue of the singularities at corners. I think these are always going to be there unless the corners are truly smooth (e.g., C2 mesh). I don't know how to do that.
There are at least two paths forward: