|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--jv.object.PsObject
|
+--jvx.numeric.PnFunction
|
+--jvx.numeric.PnEnergy
Energy functional on triangulated surfaces including gradient and hessian computations.
Surface must contain all boundary information. Domain is only used by some energy functionals to compute the stiffness matrix.
| Field Summary | |
protected PgBndPolygon[] |
m_bndList
Array of boundary curves. |
protected boolean |
m_bNormal
Restrict gradient to normal component. |
protected boolean |
m_bTangential
Restrict gradient to tangential component. |
protected int |
m_dim
Dimension of vertices in image triangulation. |
protected PgElementSet |
m_domain
Domain of map, or null. |
protected int[] |
m_index
For each interior vertex this index array stores its position in the global vertex array. |
protected int[] |
m_invIndex
For each regular vertex this index array stores either a -1 or its position in the interior vertex array m_index. |
protected int |
m_noiv
Number of free vertices, determines number of free variables = m_noiv*m_dim. |
protected int |
m_nop
Number of vertices in triangulation. |
protected PnStiffMatrix |
m_stiffMatrix
Stiffness matrix. |
protected PdVector |
m_store
Vector for intermediate storage. |
protected PgElementSet |
m_surface
Surface or image of map. |
| Fields inherited from class jvx.numeric.PnFunction |
m_bEvaluable |
| Fields inherited from class jv.object.PsObject |
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_SELECTED, IS_USED, m_infoPanel, m_name, m_panelList, m_parent, m_tag, m_updateList, NUM_TAGS |
| Constructor Summary | |
PnEnergy()
|
|
| 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. |
abstract PdMatrix |
evalHessian(PdMatrix hessian)
Subclass must supply method to compute hessian of energy. |
int |
getNumOfVariables()
Get number of free variables of energy. |
PdVector[] |
getSpectrum(PdVector eValue,
PdVector[] eVector)
Compute eigenvalues and eigenvectors of normalized hessian. |
void |
init()
If instance has missing name then assign default name 'object_NUMBER' where number is the total number of already created instances. |
void |
initSurface(PgElementSet domain,
PgElementSet surface)
Method called from energyMinimizer.minimizeStep() to update the stiffness matrix after conjugate gradient method has returned. |
boolean |
setSurface(PgElementSet domain,
PgElementSet surface)
Set domain and surface, and initialize energy structure. |
void |
testEigenvalues()
|
| Methods inherited from class jvx.numeric.PnFunction |
enableEvaluation, isEvaluable |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, toString, update, updatePanels |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected PgElementSet m_domain
protected PgElementSet m_surface
protected int m_nop
protected int m_noiv
protected int m_dim
protected PnStiffMatrix m_stiffMatrix
protected PgBndPolygon[] m_bndList
protected PdVector m_store
protected boolean m_bTangential
protected boolean m_bNormal
protected int[] m_index
protected int[] m_invIndex
| Constructor Detail |
public PnEnergy()
| Method Detail |
public void init()
PsObjectinit in class PsObject
public void initSurface(PgElementSet domain,
PgElementSet surface)
public int getNumOfVariables()
getNumOfVariables in class PnFunction
public boolean setSurface(PgElementSet domain,
PgElementSet surface)
public double eval(PdVector coord)
eval in class PnFunctioncoord - Coordinate vector with list of doublesvgp.discrete.harmonic.PnAreaEnergy
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.evalGradient in class PnFunctioncoord - Coordinate vector with list of doublesgradient - Gradient vector to be modified, maybe null.vgp.discrete.harmonic.PnAreaEnergypublic abstract PdMatrix evalHessian(PdMatrix hessian)
evalHessian in class PnFunctionhessian - Hessian of energy with square size
public PdVector[] getSpectrum(PdVector eValue,
PdVector[] eVector)
eValue - Vector to store the eigenvalues. Size will be adjusted.eVector - Possibly empty array to store the eigenvectors. Will be returned.public void testEigenvalues()
|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||