This is a dovetail joint:

enter image description here

and I'd like to see the stresses and deformation on the joint.I haven't seen any modeling of disconnected regions with FEM, only connected regions, so I'm curious if you can do it. I guess you "need" disconnected regions since one would like to study how the fit of the joint determines its strength.

I don't need a full answer, just to know if it's possible to couple the boundary conditions between these two meshes, and how to. The idea being fixing one side on one beam and applying a force on the other beam, when the join is together.

enter image description here

enter image description here

code for the regions:

L = 1
Subscript[\[CapitalGamma], D] = 
  DirichletCondition[{u[x, y] == 0., v[x, y] == 0.}, y == -L];
r = RegionUnion[Rectangle[{0, -L}, {10, 1}], 
   Triangle[{{9, 0}, {11, .75}, {11, -.75}}]];
r2 = RegionDifference[Rectangle[{10, -5}, {12, 5}], 
   Triangle[{{9, 0}, {11, .75}, {11, -.75}}]];
mesh =
  ToElementMesh[r, "MaxCellMeasure" -> 0.05, 
   MeshQualityGoal -> "Maximal"];
mesh2 =
  ToElementMesh[r2, "MaxCellMeasure" -> 0.05, 
   MeshQualityGoal -> "Maximal"];


the code of user21 is not exactly what I look for since the mesh regions are continuous. What's the problem with this? Wood joints only work on compression, not on tension, so the results we obtain with this mesh are totally unrealistic.

enter image description here

Note how the lower part of the green beam is pulled by the "endgrain" of the red beam, this cannot happen in reality. This is why I'm asking for discontinuous (disconnected) regions that I haven't seen on the documentation. Maybe another solution is to define lines where only compression happens?

To further elaborate on my comment, one could add a third region "air" around the joints, and give it a very low young modulus. This however will make the meshing far too small when the joints are precisely "cut".

  • 1
    $\begingroup$ I could imagine that making a sandwich of 3 materials, the middle one with a very low young modulus could do the trick, but I rather have two distinct entities. $\endgroup$ – tsuresuregusa Apr 6 '16 at 5:44

Here is a way to generate the mesh including region markers and different refinement in different regions:

L = 1; i1 = 0.625; i2 = 0.25;
(bmesh = ToBoundaryMesh[
    "Coordinates" -> {{0, -L}, {10, -L}, {10, -L + i1}, {11, -L + 
        i2}, {11, L - i2}, {10, L - i1}, {10, L}, {0, 
       L}, {10, -5}, {12, -5}, {12, 5}, {10, 5}}, 
    "BoundaryElements" -> {LineElement[Partition[Range[8], 2, 1, 1]], 
      LineElement[{{2, 9}, {9, 10}, {10, 11}, {11, 12}, {12, 7}}]}]);
mesh = ToElementMesh[bmesh, 
   "RegionMarker" -> {{{1, 0}, 1, 0.2}, {{11.5, 0}, 2, 0.03}}];

To visualize:

  "MeshElementStyle" -> {FaceForm[Green], FaceForm[Red]}]]

enter image description here

For more modeling please see the documentation here, here and here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.