jvx.numeric
Class PnAreaEnergy
- java.lang.Object
-
- jv.object.PsObject
-
- jvx.numeric.PnFunction
-
- jvx.numeric.PnEnergy
-
- jvx.numeric.PnAreaEnergy
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf
public class PnAreaEnergy extends PnEnergy
Area energy including gradient and hessian computations. Domain geometry may be missing.- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 04.01.01, 1.50 revised (kp) Domain geometry may be missing.
21.04.99, 1.00 created (kp) from PnDiriEnergy.
-
-
Field Summary
-
Fields inherited from class jv.object.PsObject
HAS_BOUNDARY_PANEL, 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
Constructors Constructor and Description PnAreaEnergy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doubleeval(PdVector coord)Compute area energy of a coord vector using newly initialized stiffness matrix.PdVectorevalGradient(PdVector coord, PdVector gradient)Evaluate Area gradient of a coord vector using the stiffness matrix of a PnArea instance.PdMatrixevalHessian(PdMatrix hessian)Compute Hessian of Area energy of a coord vector using the stiffness matrix.voidinit()If instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.voidinitSurface(PgElementSet domain, PgElementSet surface)Method called from energyMinimizer.minimizeStep() to update the stiffness matrix after conjugate gradient method has returned.booleansetSurface(PgElementSet domain, PgElementSet surface)Set domain and surface, and initialize energy structure.-
Methods inherited from class jvx.numeric.PnEnergy
computeNormalizedHessian, getConstrain, getNumOfVariables, getSpectrum, getZeroGradientAtBounds, isEnabledConstrainMatrix, isUseConstrainMatrix, setConstrain, setEnabledConstrainMatrix, setUseConstrainMatrix, 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, update, updatePanels
-
-
-
-
Method Detail
-
init
public void init()
Description copied from class:PsObjectIf instance has missing name then assign default name 'Object_NUMBER' where number is the total number of already created instances.
-
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. PnDiriEnergy should copy surface into domain if in iteration mode i.e. if dimension of domain and surface are equal.- Overrides:
initSurfacein classPnEnergy- Version:
- 26.08.99 revised (kp) Creation of stiffness matrix moved to subclasses.
-
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:
setSurfacein classPnEnergy- Parameters:
domain- additional geometry used to specify mapssurface- geometry which is usually optimized
-
eval
public double eval(PdVector coord)
Compute area energy of a coord vector using newly initialized stiffness matrix. Method uses the array m_store for intermediate storage and modifies its entries.
-
evalGradient
public PdVector evalGradient(PdVector coord, PdVector gradient)
Evaluate Area gradient of a coord vector using the stiffness matrix of a PnArea instance.- Overrides:
evalGradientin classPnEnergy- Parameters:
coord- Coordinate vector with list of doublesgradient- Gradient vector to be modified- See Also:
PnEnergy- Author:
- Konrad Polthier
- Version:
- 21.04.99, 2.00 revised (kp)
21.04.99, 1.00 created (kp) Derived from PnDiriEnergy.evalGradient()
-
evalHessian
public PdMatrix evalHessian(PdMatrix hessian)
Compute Hessian of Area energy of a coord vector using the stiffness matrix. If argument isnull, 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:
evalHessianin classPnEnergy- Parameters:
hessian- Empty hessian of Area energy- Returns:
- Hessian of Area energy
- See Also:
PnEnergy- Author:
- Konrad Polthier
- Version:
- 21.04.99, 2.00 revised (kp)
21.04.99, 1.00 created (kp) Derived from PnDiriEnergy.evalHessian()
-
-
"