Roy's comments are right on target.
Functionally, to move a node you simply assign a new Point value to it:
mesh.node(n) = Point(x_new, y_new, z_new);
for example. A number of functions in src/mesh/mesh_modification.C alter
the mesh in such a fashion.
[mailto:libmesh-users-admin@...] On Behalf Of Roy Stogner
Sent: Wednesday, July 27, 2005 1:02 PM
To: Michael Povolotskyi
Subject: Re: [Libmesh-users] how to change node position
On Wed, 27 Jul 2005, Michael Povolotskyi wrote:
> Dear Libmesh developers,
> I have a question.
> After solving a PDE with libmesh, I'd like to change positions of some
> nodes. Is it possible to change slightly positions of grid nodes "by
> hand", keeping the connectivity?
If the grid has not been adaptively refined, then as long as you don't give
any elements singular Jacobians you ought to be able to move any nodes
whereever you want.
If the grid has been adaptively refined, there are currently some pretty
severe geometric constraints: hanging node constraint calculations assume
that child faces map back to the "reference child" of their parent's faces,
and element coarsening projections assume that entire child elements map
back to the reference child. Really the only safe way to move nodes on
adaptive meshes AFAIK is to move only the nodes of the coarsest elements
independently, then walk down the tree of child elements and move their
nodes to the correct intermediate positions.
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from
IBM. Find simple to follow Roadmaps, straightforward articles, informative
Webcasts and more! Get everything you need to get up to speed, fast.
Libmesh-users mailing list