Thomas,
My initial mesh is not great - here's where I begin:
|
|GridGenerator::hyper_sphere(triangulation,Point<spacedim>(0,0,0),1.0);
triangulation.set_all_manifold_ids(0);
triangulation.refine_global(initial_global_refinement);
|
|/* interpolate the map from triangulation to desired geometry for the first
time
a,b,c are the axes of an ellipsoid */|
|VectorTools::interpolate(bending_dof_handler,
Initial_map_sphere_to_ellipsoid<spacedim>(a,b,c),
global_euler_vector);
|
const MappingQEulerian<dim,Vector<double>,spacedim> mapping (2, dof_handler,
euler_vector);
doubleInitial_map_sphere_to_ellipsoid<spacedim>::value(constPoint<spacedim>&p,constunsignedintcomponent)
const
{
doublenorm_p =p.distance(Point<spacedim>(0,0,0));
// return the difference between the point on the ellipse and the point on
the original geometry
returnabc_coeffs[component]*p(component)/norm_p -p(component);
}
|
This gets me an ellipsoid, but the corners of the original hyper_sphere are
just translated onto the ellipsoid by euler_vector. (The color map shows the
mean curvature of the surface.)
<https://lh3.googleusercontent.com/-tO37r5w5pMg/WCvK3kE48oI/AAAAAAAAFq4/kMmbQ6kBMq0GBVGAk4w6g29HP9TOK-q_gCLcB/s1600/Screen%2BShot%2B2016-11-15%2Bat%2B9.55.44%2BPM.png>
I want to deform this shape in response to a scalar function (illustrated by
the new colormap) on the surface, so I adaptively refine and then let the
evolution go forward (the deformation will reduce a global free energy on the
surface) - here's how that looks:
<https://lh3.googleusercontent.com/-kJCXHwbjHUA/WCvMEWPD7gI/AAAAAAAAFrA/mdvLijljl7cITiw7lGTR6lOcnqbN-CBIACLcB/s1600/Screen%2BShot%2B2016-11-15%2Bat%2B9.59.21%2BPM.png>
A few timesteps later the surface (and mesh) evolve to look like this: (the
color map shows the mean curvature again)
<https://lh3.googleusercontent.com/-dunjJsO_ka8/WCvMd_nofbI/AAAAAAAAFrE/9SQV3Kpp0FcFBgGA6Tu-wA-zjVRNdWodACLcB/s1600/Screen%2BShot%2B2016-11-15%2Bat%2B10.02.30%2BPM.png>
This eventually crashes as the quadrilaterals become distorted.
It's not my research field, but there should be literature on these sorts of
phenomena. I think that ultimately, you need to find a way to relax mesh nodes
in tangential directions.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.