JavaView© v3.95.000

jvx.numeric
Class PnAreaVolEnergy

java.lang.Object
  extended byjv.object.PsObject
      extended byjvx.numeric.PnFunction
          extended byjvx.numeric.PnEnergy
              extended byjvx.numeric.PnDiriEnergy
                  extended byjvx.numeric.PnAreaVolEnergy
All Implemented Interfaces:
java.lang.Cloneable, PsUpdateIf, java.io.Serializable

public class PnAreaVolEnergy
extends PnDiriEnergy

Dirichlet energy with volume term is used to minimize area under a volume constraint.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
 
Constructor Summary
PnAreaVolEnergy()
           
 
Method Summary
 double eval(PdVector coord)
          Compute Area energy of a coord vector using the stiffness matrix of a PnArea instance.
 PdVector evalGradient(PdVector coord, PdVector gradient)
          Evaluate Area gradient of a coord vector using the stiffness matrix of a PnArea instance.
 PdMatrix evalHessian(PdMatrix hessian)
          Compute full hessian of Diri energy of a coord vector using the stiffness matrix.
 void init()
          If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
 boolean setSurface(PgElementSet domain, PgElementSet surface)
          Set domain and surface, and initialize energy structure.
 boolean update(java.lang.Object event)
          Update the class whenever a child has changed.
 
Methods inherited from class jvx.numeric.PnDiriEnergy
initSurface
 
Methods inherited from class jvx.numeric.PnEnergy
getNumOfVariables, getSpectrum, getZeroGradientAtBounds, isEnabledConstrainMatrix, setEnabledConstrainMatrix, setZeroGradientAtBounds, testEigenvalues
 
Methods inherited from class jvx.numeric.PnFunction
enableEvaluation, isEvaluable
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, updatePanels
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PnAreaVolEnergy

public PnAreaVolEnergy()
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 PnDiriEnergy

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 PnDiriEnergy

update

public boolean update(java.lang.Object event)
Update the class whenever a child has changed. Method is usually invoked from the children.

Specified by:
update in interface PsUpdateIf
Overrides:
update in class PsObject
See Also:
PsObject.setParent(PsUpdateIf), PsObject.getFather(), PsObject.addUpdateListener(PsUpdateIf)

eval

public double eval(PdVector coord)
Compute Area energy of a coord vector using the stiffness matrix of a PnArea instance. Method uses the array m_store of PnArea for intermediate storage and modifies its entries.

Overrides:
eval in class PnEnergy
Parameters:
coord - Coordinate vector with list of doubles
Returns:
double Energy of coordinate vector
See Also:
PnAreaEnergy

evalGradient

public PdVector evalGradient(PdVector coord,
                             PdVector gradient)
Evaluate Area gradient of a coord vector using the stiffness matrix of a PnArea instance. 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

evalHessian

public PdMatrix evalHessian(PdMatrix hessian)
Compute full hessian of Diri energy of a coord vector using the stiffness matrix. If argument is null, then a new matrix of full size is created and returned. Size of argument is enlarged if necessary. Boundary and deleted vertices are not considered.

Overrides:
evalHessian in class PnDiriEnergy
Parameters:
hessian - Empty hessian of energy
Returns:
Hessian of energy

JavaView© v3.95.000

The software JavaView© is copyright protected. All Rights Reserved.