Personal tools
You are here: Home cmgui Wiki UsingVersions
Views

UsingVersions

last edited 5 years ago by glennr

When creating a cubic hermite mesh that uses collapsed elements there are several issues to consider regarding the use of versions.

Conditions under which this advice is relevant

  • the mesh uses cubic hermite basis functions
  • an element has at least one collapsed edge
  • the collapsed node has at least 2 versions
  • the collapsed element has an adjacent element in same direction as the collapsed line
  • the mesh use the rectangular cartesian coordinate system

Symptoms of incorrect version design

  • in cmgui there is a "wrinkle" at the collapsed node
  • in cm, there are numerical problems when attempting to solve an elasticity problem, e.g. volume less than zero, singular matrix, non-convergence

The cause of the symptoms mentioned above

The wrong interpolation formula is being used in the collapsed element.

The standard cubic interpolation formula between two nodes is a function of the position and first derivative at each node (e.g. Bradley1997, eqn 3 ), however when the element contains a collapsed node then the derivative in the collapsed direction is not defined and therefore should not be part of the interpolation. This is described in Bradley1997 by equations 13-16.

Discussion

The reason why this problem is not evident in some meshes is that when the derivative in the collapsed direction is set to zero then that term is excluded from the standard interpolation formula and the formula works fine.

Examples of this are the collapsed element in example 21h that has no adjacent elements and the apex of the rectangular cartesian heart mesh. In these cases there are no adjacent elements that use the derivative in the collapsed direction and it remains set to zero in all versions of the node and the correct interpolation function is used.

In a case where there are one or more elements adjacent to the collapsed element in the collapsed direction and the same version is used in the adjacent element(s) then the derivative of the relevant versions in the collapsed direction may be set to a non-zero value for a better representation in the adjacent element. If the standard interpolation formula is used for the collapsed element then these derivative values will be used and the wrong interpolation will result. If a different version is used in the adjacent element then the derivative value can be set appropriately in each element (but there will not necessarily be C1 continuity).

The image below shows a case where the incorrect number of versions has been used. 2 have been used at the collpased nodes where 4 are required to provide sufficient degrees of freedom to allow different interpolation to be used in the collapsed elements and the adjacent uncollapsed elements.

a mesh with too few versions

Example

Example 151 demonstrates some aspects which should be considered when using collapsed elements.

References

Bradley1997: Bradley, C.; Pullan, A. & Hunter, P. Geometric modelling of the human torso using cubic hermite elements. Annals of Biomedical Engineering, 1997, 25, 96-111


not defined? --karl, Mon, 21 Aug 2006 13:01:35 +1200 reply

I don't have access to Bradley1997. It would be at http://www.springerlink.com.ezproxy.auckland.ac.nz/content/1573-9686/?sortorder=asc&p_o=82 if the University were subscribed.

I can't imagine why the derivative in the collapsed direction would be undefined.

In rectangular Cartesian coordinates the parameter used for the element interpolation will normally need to be zero for C0 continuity and to avoid the wrinkles described here. If the scale factor is zero then the derivative value stored at the node would be arbitrary and hence undefined.

In cylindrical coordinates, the theta derivative should not be zero at a node at r=0. This provides a good argument for the scale factor not being zero.

Bradley1997 --glennr, Mon, 21 Aug 2006 13:29:10 +1200 reply

In RC coords the derivative in the collapsed direction is undefined because the line it describes has zero length. I have created example 151 to demonstrate.

The paper is here: http://www.bioeng.auckland.ac.nz/publications/publications_display.php?publication_id=85

If you are logged in there will a link to a pdf of a draft of the paper.

There might also be a paper copy in the shelves outside the library.

Bradley1997 --karl, Mon, 21 Aug 2006 14:24:30 +1200 reply

The line only has zero length in RC coords if the derivative is zero.

Equations 13-16 describe a different "Hermite-Sector" element. This element removes the derivative radially from the collapsed node (not the derivative along the collapsed line). The 2D interpolation is a tensor-product so the interpolation along the collapsed line is still given by the standard formula in equation 3.

To retain C0 continuity between a Hermite-Sector element and an adjacent Hermite element, the derivative along the intersection in the Hermite element would need to be constrained to be a linear function of the other parameters.

I see no need to introduce a new element type when the Hermite element is suitable (with appropriate choice of parameters). But, even if you did want a new element type, the Hermite-Sector element would not do what you are wanting it to do.

Contributing to this site

Please add to the wiki any relevant information that you think might be useful to other users of this website. For example, you might like to contribute your experiences, questions and answers.

You are encouraged to contribute to this site regardless of your level of experience. Contributions are welcomed from new and regular visitors.

If you ask a question and receive an answer from a developer you should record it in the wiki. This information is extremely useful and can help other users overcome the same problem.

See how to add and edit pages for more information.