The packages MeshTools (@Pinti) and FEMAddons seem to feature similar functions. I sometimes had strange (i.e. inconsistent results where meshing would work/not work without changing anything). Which one should I use?
My main question: Both packages have an Extrude function that can generate a 3D mesh by extrusion of a 2D mesh (see below). However, if I generate a 2D mesh using the SMTAddMesh command (part of the AceFEM package) the function doesn't work. I guess it is due to the objectt nature of the mesh created by AceFEM. Any idea on how to use the Extrude function so it is compatible with AceFEM or how to transform an AceFEM object so it is compatible?
Thank you.
Mathematica code:
Needs["MeshTools`"]
mesh2D = ToElementMesh[
Rectangle[{0, 0}, {2, 1}],
MaxCellMeasure -> 1/2,
"MeshOrder" -> 1,
"MeshElementType" -> QuadElement
]
mesh3D = ExtrudeMesh[mesh2D, 2, 3]
Show[
mesh3D["Wireframe"[
"MeshElement" -> "MeshElements",
"MeshElementStyle" -> FaceForm[LightBlue],
Axes -> True,
AxesLabel -> {"X", "Y", "Z"}
]
],
Graphics3D[{PointSize[Large], Point[mesh3D["Coordinates"]]}]
]
AceFEM code:
SMTInputData[];
L = 100; H = 20; nx = 3; ny = 3;
points = {{0, 0}, {L, 0}, {L/2, 2 H}, {0, H}};
SMTAddDomain[
"A", {"ML:", "SE", "PE", "Q1", "DF", "HY", "Q1",
"D", {{"NeoHooke", "WA"}}}, {}];
mesh2D = SMTAddMesh[Polygon[points], "A", "Division" -> {nx, ny}];
SMTAnalysis[];
SMTShowMesh["Marks" -> True]
mesh3D = ExtrudeMesh[mesh2D, 2, 3]