Re: [Libmesh-users] how to change node position

 Re: [Libmesh-users] how to change node position From: Michael Povolotskyi - 2005-08-01 11:49:55 ``` Thank you very much, Roy, Martin and Ben for the answer.
Let me clarify a couple of points. Are these statements correct:

1) If there is no adpative mesh refinement, then I can modify coordinates of nodes.
2) If there are hanging nodes, then I can still change their coordinates, but in this case DOF constrains will be incorrect.

Thank you,
Michael.

Roy Stogner wrote:
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.
---
Roy Stogner

```

 [Libmesh-users] how to change node position From: Michael Povolotskyi - 2005-07-27 16:29:36 ``` 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?

Thank you,
Michael.

```
 Re: [Libmesh-users] how to change node position From: Roy Stogner - 2005-07-27 18:01:43 ```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. --- Roy Stogner ```
 Re: [Libmesh-users] how to change node position From: Michael Povolotskyi - 2005-08-01 11:49:55 ``` Thank you very much, Roy, Martin and Ben for the answer.
Let me clarify a couple of points. Are these statements correct:

1) If there is no adpative mesh refinement, then I can modify coordinates of nodes.
2) If there are hanging nodes, then I can still change their coordinates, but in this case DOF constrains will be incorrect.

Thank you,
Michael.

Roy Stogner wrote:
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.
---
Roy Stogner

```
 Re: [Libmesh-users] how to change node position From: Roy Stogner - 2005-08-01 13:39:14 ```On Mon, 1 Aug 2005, Michael Povolotskyi wrote: > Thank you very much, Roy, Martin and Ben for the answer. > Let me clarify a couple of points. Are these statements correct: > > 1) If there is no adpative mesh refinement, then I can modify coordinates > of nodes. Yes, but you do still need to be careful not to end up with any inverted or singular Jacobians on the new elements. > 2) If there are hanging nodes, then I can still change their coordinates, > but in this case DOF constrains will be incorrect. DOF constraints and element coarsening projections, at least. I can't think of any other code that assumes correctly nested elements, but I may be forgetting something. --- Roy Stogner ```
 Re: [Libmesh-users] how to change node position From: Michael Povolotskyi - 2005-08-01 14:08:39 ``` Thank you,
the last question on this topic, probably:

Imagine that I want to rotate all the mesh as a whole.
Will the DOF constraints be correct in this case?

Michael.

Roy Stogner wrote:
On Mon, 1 Aug 2005, Michael Povolotskyi wrote:

Thank you very much, Roy, Martin and Ben for the answer.
Let me clarify a couple of points. Are these statements correct:

1) If there is no adpative mesh refinement, then I can modify coordinates
of nodes.

Yes, but you do still need to be careful not to end up with any
inverted or singular Jacobians on the new elements.

2) If there are hanging nodes, then I can still change their coordinates,
but in this case DOF constrains will be incorrect.

DOF constraints and element coarsening projections, at least.  I can't
think of any other code that assumes correctly nested elements, but I
may be forgetting something.
---
Roy Stogner

--  ------------------------------------------------------------ Michael Povolotskyi, Ph.D. University of Rome "Tor Vergata" Department of Electronic Engineering Viale Politecnico, 1 - 00133 Rome - Italy   Phone + 39 06 72597367 Fax   + 39 06 2020519 http://www.optolab.uniroma2.it/pages/moshe/moshe.html; -------------------------------------------------------------
```
 Re: [Libmesh-users] how to change node position From: Roy Stogner - 2005-08-01 14:21:27 ```On Mon, 1 Aug 2005, Michael Povolotskyi wrote: > Thank you, > the last question on this topic, probably: > > Imagine that I want to rotate all the mesh as a whole. > Will the DOF constraints be correct in this case? Yes. Rotating scaling, or even shearing the mesh as a whole should at worst add a little more floating point error to the constraint calculations. The problems should only occur when you apply one transformation to a parent element and then a different transformation to its children. --- Roy ```

No, thanks