Example 151: Using collapsed elements

Created August 21 2006 by Glenn Ramsey.

This example illustrates one aspect of the use of versions when creating collapsed elements. There is a discussion of some the details here. Be aware that this mesh would require some mappings to be defined to tie the derivatives of the lines between nodes 1 and 3 together for it to be correct, but since this is not relevant to the point being made here it is not demonstrated.


The mesh in this example has a collapsed element with an adjacent element on either side. Node 1 has 2 versions to allow it to have one derivative for each line attached it, but it actually should have 4 versions.

To view the mesh first run the cm script to export the mesh:
cm $CMISS_EXAMPLES/1/15/151/cmiss_input/example_151.com

View the mesh like this (in bash or the equivalent in your shell):
cmgui $CMISS_EXAMPLES/1/15/151/cmiss_input/view.com

Notice that element 1 is inverted near nodes 1 and 3, both nodes 1 and 3 have 2 versions. Notice also that the mesh appears correct near other nodes that also have 2 versions (nodes 2 and 4).

Now edit the ipnode file and change the values for both versions of deriv 1 at node 3 to zero and export the mesh again:
cm $CMISS_EXAMPLES/1/15/151/cmiss_input/example_151.com

and then view the mesh again in cmgui. Now the mesh appears correct at node 3.

Do the same for node 1. Now, the mesh appears correct at node 1 but the Xi1 line through node 1 is no longer continuous and the mesh is not what you wanted.

This is caused by the use of the collapsed derivative in the interpolation of the collapsed element, which should be omitted from the interpolation. The interpolation is correct at nodes 2 and 4 because the value of the collapsed derivative is already zero.

In the current implementation of CMISS the way to make element 1 have the proper parameters interpolation values of the collapsed derivative is by having an additional 2 versions at nodes 1 to allow elements 2 and 3 to share a non-zero value for the collapsed derivative and to allow element 1 to use zero for this parameter. Note that this currently also requires that all the other DOF's for those nodes are manually mapped together using 'fem define mapping' and is not demonstrated here.

If additional elements are added to the mesh which share nodes 2 or 4 then additional versions may also have to be added to get the the proper interpolation.

Some collapsed element topologies, notably the commonly used "apex" configuration, are not affected by this issue because in this configuration the collapsed derivative is already set to zero and therefore does not affect the interpolation.

The comfile run by this example is as follows:

# Example 151

# The built in perl interpreter has trouble with some of the code in this
# scripts so run it in natively.
#system("perl makemesh.pl");

fem de para;r;memory

fem de coord;r;allow_mapping

fem def base;r;tricubic

$name = "example_151";

fem de node;r;$name
fem de elem;r;$name

fem de fibr;d;finite         #zero fibre angle
fem de elem;d fibre

# for $j (1..3){
#    fem update nodes deriv $j
# }
fem update scale_factor normalise

# fem de node;w;$name
# fem de elem;w;$name

# Export initial mesh

# We need to load the mapping for the exported mesh to be correct
# so define a dummy fitting problem so that mapping works.
# fem def data;r;dummy
# fem update field from geometry
# fem define elem;d field
# fem def xi;c
# fem def fit;r;dummy geometry
# fem def mapping;r;$name

$ref = "example_151";
fem export nodes;$ref as $ref;
fem export elements;$ref as $ref;

Files used by this example are:

Name                  Modified     Size

example_151.com 21-Aug-2006 896 allow_mapping.ipcoor 21-Aug-2006 688 elements.txt 21-Aug-2006 80 example_151.ipelem 21-Aug-2006 3.6k example_151.ipnode 21-Aug-2006 30k makemesh.pl 21-Aug-2006 1.7k memory.ippara 21-Aug-2006 5.9k nodes.txt 21-Aug-2006 93 tricubic.ipbase 21-Aug-2006 3.3k view.com 21-Aug-2006 2.2k

Download the entire example:

Name                      Modified     Size

examples_1_15_151.tar.gz 10-Mar-2007 7.9k

Html last generated: Sun Mar 6 05:50:08 2016

Input last modified: Mon Aug 21 19:42:58 2006

CMISS Help / Examples / 1 / 15 / 151