Documentation of 'jvx.numeric.PnAlignmentEnergy' Java class
PnAlignmentEnergy ("JavaView Reference Manual")
"JavaView? v5.03.003"
jvx.numeric

Class PnAlignmentEnergy

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, PsUpdateIf


    public class PnAlignmentEnergy
    extends PnEnergy
    Alignment energy for non-conforming meshes. The alignment energy measure the deviation of two adjacent triangles of a non-conforming mesh from being aligned along the heights at the common vertex. Minimizers of this energy are minimizers of the discrete area functional of non-conforming meshes.
    See Also:
    Serialized Form
    Author:
    Konrad Polthier
    Version:
    02.05.02, 1.10 revised (kp) Name changed to PnAlignmentEnergy.
    17.04.99, 1.01 revised (kp) Method 'evalGradient' moved from class PnDiriGradient.
    18.04.02, 1.00 created (kp)
    • Constructor Detail

      • PnAlignmentEnergy

        public PnAlignmentEnergy()
    • Method Detail

      • init

        public void init()
        Description copied from class: PsObject
        If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
        Overrides:
        init in class PnEnergy
      • initSurface

        public void initSurface(PgElementSet domain,
                                PgElementSet surface)
        Method called from energyMinimizer.minimizeStep() to update the stiffness matrix after conjugate gradient method has returned. E.g. PnAlignmentEnergy should copy surface into domain if in iteration mode i.e. if dimension of domain and surface are equal.
        Overrides:
        initSurface in class PnEnergy
      • initJc

        public void initJc(PdVector coord)
        Recalculate an array containing all rotated edge vectors. Method must be called whenever either eval() or evalGradient() is evaluated since both methods access the array of rotated edges.
      • setSurface

        public boolean setSurface(PgElementSet domain,
                                  PgElementSet surface)
        Set domain and surface, and initialize energy structure. Method is called from outside whenever domain or surface has been updated.
        Overrides:
        setSurface in class PnEnergy
        Parameters:
        domain - additional geometry used to specify maps
        surface - geometry which is usually optimized
      • eval

        public double eval(PdVector coord)
        Compute edge energy of a coord vector.
        Overrides:
        eval in class PnEnergy
        Parameters:
        coord - Coordinate vector with list of doubles
        Returns:
        double Energy of coordinate vector
        See Also:
        PnEnergy
        Author:
        Konrad Polthier
        Version:
        18.04.99, 2.00 revised (kp)
        18.04.99, 1.00 created (kp)
      • evalGradient

        public PdVector evalGradient(PdVector coord,
                                     PdVector gradient)
        Evaluate gradient of a coord vector using the stiffness matrix. Along boundary gradient is modified to fulfill any boundary constraints. Special feature for outside calls: If outside wants to evaluate the gradient without allocating gradient, then instead of gradient a null may be passed. In this case the gradient information is store in an internal variable which is returned as gradient. Handle with care and do not modify size returned gradient.

        If no special boundary constraints are set, then you may use setZeroGradientAtBounds(boolean) to set the gradient zero at the boundary (or free again).

        Overrides:
        evalGradient in class PnEnergy
        Parameters:
        coord - Coordinate vector with list of doubles
        gradient - Gradient vector to be modified, maybe null.
        See Also:
        PnAreaEnergy
        Author:
        Konrad Polthier
        Version:
        03.03.02, 1.00 created (kp)
"JavaView? v5.03.003"

"

The software JavaView? is copyright protected. All Rights Reserved.
"

You see the box below because you did not login.