Personal tools
You are here: Home openCMISS Wiki cm field parameters
Views

History for cm field parameters

changed:
-
The meaning of parameters describing fields in cm can be summarised by
observing how they are used to calculate the parameters for interpolation over
an element in the subroutine 'XPXE'.  A simplified XPXE is below::

      ! nj identifies a field (called "variable" in cm).
      ! ne identifies an element.
      ! nb identifies the interpolation used for this field over the
      !    element.  It is called the "basis function" in cm.
      nb=NBJ(nj,ne)
      IF(nb.GT.0) THEN
        ! ns identifies a parameter for the interpolation of the field over
        ! the element.
        ns=0
	! nn contains an element-local identifier for a node in the element.
        DO nn=1,NNT(nb)
	  ! np contains a global node identifier.
          np=NPNE(nn,nb,ne)
	  ! nv identifies what is called a "version" of the node.
          nv=NVJE(nn,nb,nj,ne)
          ! mk contains an interpolation-parameter identifier in the scope of
          !    element-local node nn.
          !    When there is more than one parameter, these typically represent
          !    derivative parameters for Hemite interpolation.
          DO mk=1,NKT(nn,nb)
            ns=ns+1
	    ! nk contains a field parameter identifier in the scope of
            ! global node np.
            nk=NKJE(mk,nn,nj,ne)
            ! XP contains the global-nodal field parameters.
            ! SE contains what are called "scale factors".
	    ! XE contains the parameters for interpolation of the field over
            ! the element.
            XE(ns,nj)=XP(nk,nv,nj,np)*SE(ns,nb,ne)
          ENDDO !mk
        ENDDO !nn
        ! na identifies a field/interpolation parameter that is not associated
        ! with any node but with the element itself.
        DO na=1,NAT(nb) !for each auxilliary parameter
          ns=ns+1
          XE(ns,nj)=XA(na,nj,ne)
        ENDDO !na
      ENDIF !nb.GT.0

While the above applies to independent variables, the process for dependent
variables is similar with all 'j's in the variable names above replaced with
'h's.


Versions

  * There is little difference between having multiple versions of one node and
using multiple nodes.

    Different fields can use different versions of a node, but they cannot use
different nodes if they use the same interpolation in the element.

  * Versions are usually used when multiple values for a field parameter are
required at one geometric location.

  * Versions are often used when there is limited continuity (usually C0) near
a node so some (derivative) nodal parameters differ in the adjacent elements.

    However using a different version requires that all nodal parameters are
specified independently for each adjacent element, and so other measures need to
be used to ensure that the desired continuity is provided (i.e. the
appropriate (derivative) parameters match between the appropriate versions for
adjacent elements.

  * The same functionality could be implemented through the NKJE mapping from
    global-nodal parameters to the element-node-local set of parameters.

Scale factors

  * The scale factors 'SE' were initially introduced so that the same
global-nodal (derivative) parameters could be used by adjacent elements even
when the elements were of quite different sizes while maintaining the required
continuity.  In practice however the complicated requirements of the
relationships between these parameters for the desired continuity have meant
that the scale factors are very rarely used in this way.

    Scale factors are usually equal in adjacent elements and are therefore usually
    redundant because the degrees of freedom are already provided by the nodal
    parameters.  They are often used however to scale the nodal parameters
    such that their values are similar to arc-length derivatives.

  * The same scale factor is used for all fields that use the same
interpolation in the element.

  * A matrix mapping between the global-nodal field parameters and the
    local-element-node set of interpolation parameters may provide a mechanism
    for minimizing the number of derivative parameters that must be specified
    and the number of constraints required to ensure continuity for first
    derivatives at vertices between non-regular numbers of elements.