|
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.PnGeodesicRK
Discret Runge-Kutta method on ElementSets. ElementSet must be triangulated.
PgElementSet.triangulate(jv.geom.PgElementSet), Serialized Form| Field Summary | |
protected boolean |
m_fast
If m_fast == true then a first order (i.e. euler) method is used. |
protected PgElementSet |
m_geom
Discrete surface. |
protected double |
m_lastLength
Euklidian length of the last rk-step. |
protected PgPolygonOnElementSet |
m_outpoly
Contains the polygon of the whole RK integration. |
| 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 | |
PnGeodesicRK(PgElementSet geom)
|
|
| Method Summary | |
void |
eval(int elemInd,
PdBary bary,
PdBaryDir out)
Evaluate vector field on given element at given barycentric coordinate. |
double |
getStepLength()
|
PgPolygonOnElementSet |
getStepPolygon()
|
boolean |
nextStep()
Calculates the next step of actual integration. |
boolean |
prepareSolve(PgPolygonOnElementSet outpoly,
int iniElem,
PdBary iniPoint,
double h)
If not method solve is used, this method has to be
called before integration. |
protected int |
rungeKutta(int elemInd,
PdBary pos,
PdBaryDir dir,
double stepsize)
Calculates next direction of runge-kutta step. |
void |
setFirstOrder(boolean flag)
Sets integration method to euler if flag is true, else to 4th-order Runge-Kutta. |
void |
setFourthOrder(boolean flag)
Sets integration method to 4th-order Runge-Kutta if flag is true, else to euler. |
void |
setGeometry(PgElementSet geom)
Sets underlying geometry. |
void |
solve(PgPolygonOnElementSet outpoly,
int iniElem,
PdBary iniPoint,
double h,
int numIterations)
Returns a whole integral line. |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, init, 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_geom
protected boolean m_fast
protected PgPolygonOnElementSet m_outpoly
protected double m_lastLength
| Constructor Detail |
public PnGeodesicRK(PgElementSet geom)
| Method Detail |
public void setGeometry(PgElementSet geom)
geom - new underlying geometrypublic void setFirstOrder(boolean flag)
flag - true: euler; false: 4th-order RKpublic void setFourthOrder(boolean flag)
flag - true: 4th-order RK; false: euler
public void solve(PgPolygonOnElementSet outpoly,
int iniElem,
PdBary iniPoint,
double h,
int numIterations)
prepareSolve, nextStep
and getStepPolygon.outpoly - output: here the polygon is savediniElem - initial element indexiniPoint - initial barycentric coordinatesh - stepsizenumIterations - length of polygon is h*numIterationsprepareSolve(jvx.geom.PgPolygonOnElementSet, int, jv.vecmath.PdBary, double),
nextStep(),
getStepPolygon()
public boolean prepareSolve(PgPolygonOnElementSet outpoly,
int iniElem,
PdBary iniPoint,
double h)
solve is used, this method has to be
called before integration. It initializes all internal variables.outpoly - output: here the polygon is savediniElem - initial element indexiniPoint - initial barycentric coordinatesh - stepsizesolve(jvx.geom.PgPolygonOnElementSet, int, jv.vecmath.PdBary, double, int)public boolean nextStep()
solve(jvx.geom.PgPolygonOnElementSet, int, jv.vecmath.PdBary, double, int),
prepareSolve(jvx.geom.PgPolygonOnElementSet, int, jv.vecmath.PdBary, double),
getStepPolygon()public PgPolygonOnElementSet getStepPolygon()
public double getStepLength()
protected int rungeKutta(int elemInd,
PdBary pos,
PdBaryDir dir,
double stepsize)
elemInd - global element index of starting pointpos - barycentric coordinates of starting pointdir - output: barycentric directionstepsize - stepsize
public void eval(int elemInd,
PdBary bary,
PdBaryDir out)
elemInd - the element in which the vector field will be evaluatedbary - barycentric coordinates of the point in which the vector field will be evaluatedout - output: in this PdBaryDir the evaluated direction will be storedPnElementRK.eval(int, jv.vecmath.PdBary, jv.vecmath.PdBaryDir),
PnVertexRK.eval(int, jv.vecmath.PdBary, jv.vecmath.PdBaryDir),
PnTranslationRK.eval(int, jv.vecmath.PdBary, jv.vecmath.PdBaryDir)
|
JavaView® v2.00.008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||