public class PnAreaVolEnergy extends PnDiriEnergy
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 and Description |
---|
PnAreaVolEnergy() |
Modifier and Type | Method and Description |
---|---|
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.
|
initSurface
computeNormalizedHessian, getConstrain, getNumOfVariables, getSpectrum, getZeroGradientAtBounds, isEnabledConstrainMatrix, isUseConstrainMatrix, setConstrain, setEnabledConstrainMatrix, setUseConstrainMatrix, setZeroGradientAtBounds, testEigenvalues
enableEvaluation, isEvaluable
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
public void init()
PsObject
init
in class PnDiriEnergy
public boolean setSurface(PgElementSet domain, PgElementSet surface)
setSurface
in class PnDiriEnergy
domain
- additional geometry used to specify mapssurface
- geometry which is usually optimizedpublic boolean update(java.lang.Object event)
update
in interface PsUpdateIf
update
in class PsObject
event
- carries a lot of informationPsObject.setParent(PsUpdateIf)
,
PsObject.getFather()
,
PsObject.addUpdateListener(PsUpdateIf)
public double eval(PdVector coord)
eval
in class PnEnergy
coord
- Coordinate vector with list of doublesPnAreaEnergy
public PdVector evalGradient(PdVector coord, PdVector gradient)
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).
evalGradient
in class PnEnergy
coord
- Coordinate vector with list of doublesgradient
- Gradient vector to be modified, maybe null
.PnAreaEnergy
public PdMatrix evalHessian(PdMatrix hessian)
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.evalHessian
in class PnDiriEnergy
hessian
- Empty hessian of energy"