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$
  • $\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 '19 at 11:25
  • 2
    $\begingroup$ BoundaryDiscretizeRegion[ RegionProduct[Line[{{-1}, {1}}], Annulus[{0, 0}, {1/2, 1}]]] might serve as alternative. $\endgroup$ – Henrik Schumacher Aug 23 '19 at 11:48
  • $\begingroup$ @HenrikSchumacher Thanks, this gives me a boundary mesh, which might be transformed to 3D mesh... $\endgroup$ – Ulrich Neumann Aug 23 '19 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$ – Ulrich Neumann Aug 23 '19 at 12:09
3
$\begingroup$

This works fine in Version 12.0:

ToElementMesh[scheibe]["Wireframe"]

enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks, unfortunately my version is 11.0.1 . Is there a simple workaround? $\endgroup$ – Ulrich Neumann Aug 26 '19 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 '19 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$ – Ulrich Neumann Aug 26 '19 at 9:35
  • $\begingroup$ @UlrichNeumann, then I think fixing this for your version is a good bet. $\endgroup$ – user21 Aug 26 '19 at 10:24

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.