Closed WilkAndy closed 6 years ago
I've realised this is a large task, because of the multi-processor problems and sidesets. For posterity, what actually needs to happen (in contrast to what i wrote above) is that the 3D elements adjacent to the 2D elements need to be refined by chopping them into a big element and a thin element that joins the 2D element. I'm closing this issue now because we've thought of a different way of approaching the second disadvantage mentioned above.
Rationale
It is quite convenient to simulate fractures as 2D objects (with separate subdomainIDs) in a 3D mesh - mainly because of the ease of meshing. However, this has two disadvantages:
solid mechanics can't use this method because the stress and strain are 2D which precludes studying things like fracture opening
the flow (heat or fluid) along the fracture is can be "incorrect" in that it depends on the size of the neighbouring 3D elements. When i say "incorrect" i mean it is subject to the usual errors coming from the non-zero size of the finite elements. However, we want the accuracy of physics in the fracture to be dictated by the size of the 2D elements, not the 3D elements they are joined to.
Description
Given a (set of) subdomainID(s) corresponding to the 2D fractures, this MeshModifier will create 3D elements that are joined to those fractures. Each 2D element gets "thickened" to become 2 3D elements (which are very thin in practice): one on each side of the 2D element. The extra nodes created need not be joined to any other nodes in the mesh: the new 3D elements occupy the same space as some of the original 3D elements.
The input parameters will be:
the (set of) subdomainID(s) to thicken, which may consist of triangular, quad, or bar elements.
a real positive number, which is the desired fracture thickness (one day this could be a Function, or a vector of numbers, one for each subdomain, or something even more complicated).
So this is basically a special MeshExtruder, where we extrude in the normal direction and negative-normal direction of each element in the subdomainID.
Sidesets will also have to be created in the same way that MeshExtruder does.
Impact
Ability to ore accurately model physics in and around thin fractures.