5
$\begingroup$

The packages MeshTools (@Pinti) and FEMAddons seem to feature similar functions. I sometimes had strange (i.e. inconsistent results when 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] 
$\endgroup$

1 Answer 1

0
$\begingroup$

SMTAddMesh imports the mesh description into AceFEM. The actual mesh is generated by SMTAnalysis command. There is no AceFEM command that would export the AceFEM mesh back to Mathematica. General AceFEM meshes are too complex to be converted back to Mathematica mesh object.

About the 2D mesh extruded to 3D you have 2 possibilities:

  1. import your mesh3D object with SMTAddMesh
  2. look into AceFEM manual under "3D hexahedral unstructured/structured mesh"

Extrude 2D into 3D

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.