Dear libMesh developers,

I would like to propose the attached patch (against r6373) for the
trunk. It reflects the fact that the term "two-dimensional sphere in
three-dimensional space" is ambiguous: It could be a flat disk, or a
hollow sphere. Both topologies are very relevant in practice, but only
the former is implemented in libMesh. In somy of my simulations, I
also need the latter.

The patch extends the MeshTools::Generation::build_sphere() function
to optionally build what is called an "icosasphere" (or, more rarely,
"icosphere"). That is, a regularly triangulated 2D spherical mesh,
obtained by iterative refinement of a regular icosahedron. The patch
fits quite nicely into the preexisting code. An icosasphere can be
built by setting the new flag "flat" to false (default true) when
building a 2D mesh in 3D space.

At the same time, I have also made the Laplace smoothing optional for
build_sphere(). It was previously hard-coded to 2, which is somewhat
ugly in itself, but the actual reason why I generalized it is simply
that one might want to build the exact icosasphere instead of a
smoothed (shrunk) one.

The API change is fully backward compatible due to the use of default arguments.

Best regards,
Roman

Attachment: patch.diff
Description: Binary data

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to