3
$\begingroup$

Questions seems to be simple answerde, but in Mathemtica v11.0.1 I didn't find a solution

Needs["NDSolve`FEM`"];
scheibe =ParametricRegion[{  r Cos[\[CurlyPhi]], r Sin[\[CurlyPhi]], 
z}, {{r, 1/2, 1}, {\[CurlyPhi], 0, 2 Pi}, {z, -1, 1}}];
RegionPlot3D[scheibe, Boxed -> False]

enter image description here

The region scheibe is ok but meshing

ToElementMesh[scheibe] 
DiscretizeGraphics [scheibe]

fails in both cases.

What could be the reason? Is there a workaround? Thanks.

The purpose behind my question is, I want to solve poisson equation in cylindrical coordinates in a predefined mesh.

$\endgroup$
4
  • $\begingroup$ The first case using ToElementMesh works for me Mathematica 12.0 running on a Mac. Try: scheibemesh = ToElementMesh[scheibe]; scheibemesh["Wireframe"]. The second attempt using DiscretizeGraphics doesn't work as this function can only discrete 3D graphics primitives or give approximations to certain types of non-linear primitives. This means that Parametric regions cannot be converted into a mesh using this second method as I understand. Maybe others can help as to why the first doesn't work. $\endgroup$
    – Dunlop
    Aug 23, 2019 at 11:25
  • 2
    $\begingroup$ BoundaryDiscretizeRegion[ RegionProduct[Line[{{-1}, {1}}], Annulus[{0, 0}, {1/2, 1}]]] might serve as alternative. $\endgroup$ Aug 23, 2019 at 11:48
  • $\begingroup$ @HenrikSchumacher Thanks, this gives me a boundary mesh, which might be transformed to 3D mesh... $\endgroup$ Aug 23, 2019 at 12:07
  • $\begingroup$ @Dunlop Thanks, it seems to be a version problem (ToElementMesh, v11) Perhaps I'll find workaround to get a 3Dmesh $\endgroup$ Aug 23, 2019 at 12:09

1 Answer 1

3
$\begingroup$

This works fine in Version 12.0:

ToElementMesh[scheibe]["Wireframe"]

enter image description here

$\endgroup$
4
  • $\begingroup$ Thanks, unfortunately my version is 11.0.1 . Is there a simple workaround? $\endgroup$ Aug 26, 2019 at 8:55
  • $\begingroup$ @UlrichNeumann, I do not have 11.0.1 installed, but maybe something like this: ToElementMesh[RegionProduct[Annulus[], Line[{{0}, {1}}]]]["Wireframe"] $\endgroup$
    – user21
    Aug 26, 2019 at 9:27
  • $\begingroup$ Thank you, that works. in principle. My problem is I would like to control the mesh structure. I only need around three layers in thickness-direction(much smaller the radial dimension) combined with a "rougher" mesh of the annulus. $\endgroup$ Aug 26, 2019 at 9:35
  • $\begingroup$ @UlrichNeumann, then I think fixing this for your version is a good bet. $\endgroup$
    – user21
    Aug 26, 2019 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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