jvx.numeric
Class PnVolumeEnergy
- java.lang.Object
-
- jv.object.PsObject
-
- jvx.numeric.PnFunction
-
- jvx.numeric.PnEnergy
-
- jvx.numeric.PnVolumeEnergy
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, PsUpdateIf
public class PnVolumeEnergy extends PnEnergy
Volume energy is the difference of the oriented volume of a surface with a given constant. The volume of a surface is defined as the volume of the cone of the surface over its origin. This class includes gradient and hessian computations. Domain geometry may be missing.- See Also:
- Serialized Form
- Author:
- Konrad Polthier
- Version:
- 04.05.02, 1.10 revised (kp)
04.05.02, 1.00 created (kp).
-
-
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 PnVolumeEnergy()
-
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 volume gradient of a coord vector.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, evalHessian, 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:
- 04.05.02, 1.10 revised (kp)
04.05.02, 1.00 created (kp).
-
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 volume gradient of a coord vector.- Overrides:
evalGradientin classPnEnergy- Parameters:
coord- Coordinate vector with list of doublesgradient- Gradient vector to be modified- See Also:
PnEnergy- Author:
- Konrad Polthier
- Version:
- 04.05.02, 1.10 revised (kp)
04.05.02, 1.00 created (kp).
-
-
"