1
$\begingroup$

I need to integrate a rather complicated function on an ellipsoidal surface, specifically a prolate spheroid surface.

Im using the mathematica 10 feature of discretize the regions in mesh and pass the discretized region to NIntegrate.

However when i define the ellipsoidal surface region as:

region = BoundaryDiscretizeRegion[
 Ellipsoid[{0, 0, 0}, {1, 0.125, 0.125}], MaxCellMeasure -> 0.1]

and i do

RegionDimension[region]

the answer is 3 so it is discretizing the whole volume not only the surface.

To confirm what seen above i computed the Integral in the case of a sphere:

NIntegrate[1, {x, y, z} ∈
  BoundaryDiscretizeRegion[Ellipsoid[{0, 0, 0}, {1, 1, 1}], 
   MaxCellMeasure -> 0.01]]

whose result is 4.1798 that is $\approx \frac{4}{3} \pi$ confirming that he is performing the integration over the VOLUME not over the surface...

Am i doing something wrong?

Thanks in advance for the help

$\endgroup$
  • $\begingroup$ What you probably want is DiscretizeRegion on the RegionBoundary of your ellipsoid. If you look at BoundaryDiscretizeRegion documentation you can see the result doesn't consist of the boundary alone... it's just that discretization occurs only on it. $\endgroup$ – kirma Jul 15 '15 at 15:51
  • $\begingroup$ I did it, hower when i do DiscretizeRegion[ RegionBoundary[Ellipsoid[{0, 0, 0}, {1, 0.125, 0.125}]], MeshQualityGoal -> 10] the result is the same whatever MeshQualitiGoal or MaxCellMeasure i specify. i don't know why $\endgroup$ – SSC Napoli Jul 15 '15 at 15:53
  • $\begingroup$ Related: /86196 $\endgroup$ – hYPotenuser Jul 15 '15 at 16:15
  • 1
    $\begingroup$ I solved the problem in the following way: region = RegionBoundary[ BoundaryDiscretizeRegion[Ellipsoid[{0, 0, 0}, {1, 0.125, 0.125}], MaxCellMeasure -> 0.1]] in this way i can specify the mesh quality without any problem $\endgroup$ – SSC Napoli Jul 15 '15 at 16:28
  • $\begingroup$ @user3810266 BTW: MaxCellMeasure is not really reliable on pre-v10.2 versions; see mathematica.stackexchange.com/questions/54925/… . Also, you don't really need to perform discretization in many cases at all! $\endgroup$ – kirma Jul 15 '15 at 16:40
4
$\begingroup$

After thinking about it, i solved the problem by considering:

region = RegionBoundary[
 BoundaryDiscretizeRegion[Ellipsoid[{0, 0, 0}, {1, 0.125, 0.125}], 
 MaxCellMeasure -> 0.1]]

in this only the surface is discretized and the mesh quality can be specified by MaxCellMeasure.

$\endgroup$

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.