3
$\begingroup$

I have this square region and I want to generate a mesh it using quadrilateral elements for it and get the coordinates and incidents

plate

$\endgroup$
1
  • 8
    $\begingroup$ Have you tried anything? Mesh+F1 can get you quite far. Notice that your question could be migrated to any related site and no one would know it had anything to do with Mathematica. $\endgroup$
    – Kuba
    Apr 30, 2018 at 19:38

3 Answers 3

8
$\begingroup$

Here is something to get you started:

r1 = Rectangle[{0, 0}, {30, 30}];
r2 = Rectangle[{10, 10}, {20, 20}];

reg = DiscretizeRegion@RegionDifference[r1, r2]
MeshCoordinates @ reg

region

$\endgroup$
6
$\begingroup$

How about:

Needs["NDSolve`FEM`"]
mesh = ToElementMesh[
  RegionDifference[Rectangle[{-15, -15}, {15, 15}], 
   Rectangle[{-5, -5}, {5, 5}]], "MeshOrder" -> 1]
mesh["Wireframe"]

enter image description here

mesh["Coordinates"]
{{5., -5.}, {5., -3.33333},...}

ElementIncidents[mesh["MeshElements"]]
{{{265, 303, 87}, {25, 57, 176}, ....

Update:

If you want quad elements you can get those with the FEMAddOns Paclet.

Install the current paclet with:

ResourceFunction["FEMAddOnsInstall"][]

The load the paclet:

Needs["FEMAddOns`"]

Convert the triangle mesh to a quad mesh:

quadMesh = ToQuadMesh[mesh]
quadMesh["Wireframe"]

enter image description here

$\endgroup$
2
  • $\begingroup$ thank you that is great but I want to use quadrilateral element instead or triangular one $\endgroup$
    – Amr Saleh
    May 1, 2018 at 15:45
  • $\begingroup$ @AmrSaleh, see update for quad element mesh. $\endgroup$
    – user21
    Oct 5, 2018 at 11:01
3
$\begingroup$
DiscretizeRegion[LaminaData["FilledSquareWithSquareHole", "Region"][30, 10]]

enter image description here

Use the option MeshCellStyle -> {2 -> None, 1->Black} in DiscretizeRegion to get

enter image description here

LaminaData["FilledSquareWithSquareHole", "Diagram"]

enter image description here

$\endgroup$
4
  • $\begingroup$ may I ask a question, how can we install FEMAddOns in windows? I give a try, however, i have no idea how to install FEMAddOns.paclet, I never find such FEMAddOns.paclet folder... $\endgroup$
    – ABCDEMMM
    Mar 16, 2019 at 21:39
  • $\begingroup$ @ABCDEMMM, you can find installation instructions in the link given in user21's answer: GitHub FEMAAddOns package $\endgroup$
    – kglr
    Mar 16, 2019 at 21:43
  • $\begingroup$ thanks! but the form of a .paclet file??? $\endgroup$
    – ABCDEMMM
    Mar 16, 2019 at 21:44
  • $\begingroup$ okay, I find paclet file! thanks! $\endgroup$
    – ABCDEMMM
    Mar 16, 2019 at 21:47

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