public class GPIntegrator extends fr.cnes.genius.lowLevel.GPanel implements fr.cnes.genius.main.GReadWrite, fr.cnes.genius.main.GClear, fr.cnes.genius.main.GListener, fr.cnes.genius.main.GCondensedStatusInterface, GPPatrius<fr.cnes.sirius.patrius.math.ode.FirstOrderIntegrator>
| Modifier and Type | Class and Description |
|---|---|
static class |
GPIntegrator.IntegratorTypeEnum
Enumeration for first order integrators types.
|
static class |
GPIntegrator.Tolerances
Tolerances definition options.
|
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_ABS_MASS_TOL
Default absolute mass tolerance for simplified tolerances (1E-3 kg).
|
static double |
DEFAULT_REL_MASS_TOLERANCE
Default relative mass tolerance for simplified tolerances (1E-5).
|
static int |
THREE_DIM
3D vector length.
|
static int |
TOL_LENGTH
Tolerances length.
|
| Constructor and Description |
|---|
GPIntegrator()
Empty constructor.
|
GPIntegrator(GPIntegrator.IntegratorTypeEnum[] displayedIntegrators,
GPIntegrator.IntegratorTypeEnum integratorType)
Creates a new instance.
|
GPIntegrator(String widgetId)
Creates a new instance with Dormand-Prince integrator as default displayed integrator.
|
GPIntegrator(String widgetId,
GPIntegrator.IntegratorTypeEnum[] displayedIntegrators,
GPIntegrator.IntegratorTypeEnum integratorType)
Creates a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
after(fr.cnes.genius.main.GEvent e) |
void |
attachCopyPasteMenu(String label,
fr.cnes.genius.main.GComponent.CopyPasteOperation... operationList) |
void |
before(fr.cnes.genius.main.GEvent arg0) |
void |
clear() |
void |
display() |
void |
generic() |
double |
getAbsMassTolerance()
Get the absolute mass tolerance.
|
double |
getDOPMaxTimestep()
Get the DOP max timestep.
|
fr.cnes.genius.highLevel.GEntryReal |
getDOPMaxTimestepWidget()
Get the DOP max timestep widget.
|
double |
getDOPMinTimestep()
Get the DOP min timestep.
|
fr.cnes.genius.highLevel.GEntryReal |
getDOPMinTimestepWidget()
Get the DOP min timestep.
|
GPDop853 |
getDopPanel()
Returns the DOP panel.
|
double[][] |
getDOPTolerances(fr.cnes.sirius.patrius.orbits.Orbit initOrbit)
Get the DOP tolerances (absolutes and relative).
|
GPIntegrator.Tolerances |
getDOPToleranceType()
Get the DOP max timestep.
|
fr.cnes.sirius.patrius.orbits.Orbit |
getInitialOrbit()
Get initial orbit.
|
fr.cnes.sirius.patrius.math.ode.FirstOrderIntegrator |
getPatriusObject()
Returns the PATRIUS object associated to a GENOPUS widget.
|
double |
getRelMassTolerance()
Get the relative mass tolerance.
|
double |
getRKTimestep()
Get the Runge-Kutta timestep.
|
fr.cnes.genius.highLevel.GChoice |
getTolerancesDefinition()
Method to get the tolerance definition (Complete, Reduced or Simplified)
|
GPIntegrator.IntegratorTypeEnum |
getTypeOfInteg()
Method to get the type of selected integrator
|
boolean |
isDOPBypassMinStep()
Get the DOP bypass min step flag.
|
boolean |
isMassEnable()
Method to know if the mass tolerances are visible or not.
|
void |
read() |
protected void |
setDefaultConstraints()
Set the default constraints.
|
void |
setDOPParameters(double minStep,
double maxStep,
boolean bypassMinStep,
GPIntegrator.Tolerances displayedTolerance)
Set DOP parameters.
|
void |
setDOPTolerancesComplete(double[] absTol,
double[] relTol)
Set DOP tolerances in case of complete model.
|
void |
setDOPTolerancesReduced(double[] absTol,
double[] relTol)
Set DOP tolerances in case of reduced model.
|
void |
setDOPTolerancesSimplified(double localPositionError)
Set DOP tolerance in case of simplified model.
|
void |
setInitialOrbit(fr.cnes.sirius.patrius.orbits.Orbit initialOrbit)
Set initial orbit.
|
void |
setMassEnable(boolean massEnable)
Method to set if the mass is visible or not.
|
void |
setRKParameters(double timestep)
Set fixed time step integrators parameters (RK4 and RK6 integrators).
|
void |
updateCondensedStatus(fr.cnes.genius.main.GCondensedStatus condensedStatus) |
void |
updateIntervalAbsoluteTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
Method to update an absolute tolerance.
|
void |
updateIntervalMassAbsoluteTolerances(fr.cnes.genius.interval.GInterval newInterval)
Method to update the absolute mass tolerance.
|
void |
updateIntervalMassRelativeTolerances(fr.cnes.genius.interval.GInterval newInterval)
Method to update the relative mass tolerance.
|
void |
updateIntervalMaxTimeStepDop(fr.cnes.genius.interval.GInterval newInterval)
Method to update the interval of validity of the DOP max step.
|
void |
updateIntervalMinTimeStepDop(fr.cnes.genius.interval.GInterval newInterval)
Method to update the interval of validity of the DOP min step.
|
void |
updateIntervalReducedAbsoluteTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
Method to update an absolute reduced tolerance.
|
void |
updateIntervalReducedRelativeTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
Method to update a relative reduced tolerance.
|
void |
updateIntervalRelativeTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
Method to update e relative tolerance.
|
void |
updateIntervaltimeStepRK(fr.cnes.genius.interval.GInterval newInterval)
Method to update the interval of validity of the RK step.
|
void |
updateStatus()
Update the status of the widget.
|
void |
write() |
clearConstraint, getClassConstraint, getComponent, getHorizontalScroll, getInnerDescendantClassConstraint, getJPanel, getJScrollPane, getLayoutConstraints, getStringClassConstraint, getVerticalScroll, mainClear, mainDisplay, processMouseWheelEvent, put, setClassConstraint, setColumnConstraints, setConstraint, setHorizontalScroll, setInnerDescendantClassConstraint, setLayoutConstraints, setMargins, setPanelConstraints, setPreferredSize, setRowConstraints, setUnitIncrement, setVerticalScroll, unputactivateConstraintsByType, attachCopyPasteMenu, beginOfElement, beginOfElement, beginOfElement, beginOfElement, clearAllInnerDescendantConstraint, clearInnerDescendantContraint, composeWidgetId, doDisplay, endOfElement, getCommentInConfigFile, getConstraint, getCurrentOperation, getDisplayIndicatorStatus, getDisplayIsModifiedIndicator, getElement, getGClassName, getGPanel, getGParent, getGUnitInConfigFile, getInnerDescendantConstraint, getName, getNameInConfigFile, getOperationSaveValue, getPathInConfigFile, getSimpleWidgetId, getStatus, getStringConstraint, getSubComponent, getWidgetId, handleCopyPasteEvent, handleCopyPasteEvent, handleProcessEventException, isCopyPasteEvent, isEnabled, isForcedStatus, isModified, launchInvalidPositionException, mouseWheelMoved, parseSimpleConstraint, processGEvent, setBusyCursor, setCommentInConfigFile, setCopyPasteMenuEnabled, setCurrentOperation, setDataForConstraintsByType, setDisplayIsModifiedIndicator, setElement, setEnabled, setForcedStatus, setGPanel, setGParent, setGUnitInConfigFile, setInnerDescendantConstraint, setName, setNameAndCommentInConfigFile, setNameInConfigFile, setPathInConfigFile, setStatus, setStringConstraint, setToolTipText, setWidgetId, setWidth, setWindowBusyCursor, updateIsModifiedIndicator, writeCollection, writeCollection, writeCollection, writeCollection, writeConfigItem, writeConfigItem, writeConfigItem, writeConfigItem, writeConfigItempublic static final int TOL_LENGTH
public static final int THREE_DIM
public static final double DEFAULT_ABS_MASS_TOL
public static final double DEFAULT_REL_MASS_TOLERANCE
public GPIntegrator()
throws fr.cnes.genius.exception.GArithmeticException,
fr.cnes.genius.exception.GIntervalException
fr.cnes.genius.exception.GArithmeticException - if some error concerning timestep definition occursfr.cnes.genius.exception.GIntervalException - if some error concerning interval definition occurspublic GPIntegrator(String widgetId) throws fr.cnes.genius.exception.GIntervalException
widgetId - widget identifier.fr.cnes.genius.exception.GIntervalException - if some error concerning interval definition occurspublic GPIntegrator(GPIntegrator.IntegratorTypeEnum[] displayedIntegrators, GPIntegrator.IntegratorTypeEnum integratorType) throws fr.cnes.genius.exception.GIntervalException
displayedIntegrators - integrators to be displayedintegratorType - default displayed integrator typefr.cnes.genius.exception.GIntervalException - if some error concerning interval definition occurspublic GPIntegrator(String widgetId, GPIntegrator.IntegratorTypeEnum[] displayedIntegrators, GPIntegrator.IntegratorTypeEnum integratorType) throws fr.cnes.genius.exception.GIntervalException
widgetId - widget identifier.displayedIntegrators - integrators to be displayedintegratorType - default displayed integrator typefr.cnes.genius.exception.GIntervalException - if some error concerning interval definition occursprotected final void setDefaultConstraints()
setDefaultConstraints in class fr.cnes.genius.lowLevel.GPanelpublic void generic()
throws fr.cnes.genius.exception.GException
generic in class fr.cnes.genius.lowLevel.GPanelfr.cnes.genius.exception.GExceptionpublic void read()
throws fr.cnes.genius.exception.GException
read in interface fr.cnes.genius.main.GReadWritefr.cnes.genius.exception.GExceptionpublic void write()
throws fr.cnes.genius.exception.GException
write in interface fr.cnes.genius.main.GReadWritefr.cnes.genius.exception.GExceptionpublic void display()
throws fr.cnes.genius.exception.GException
display in interface fr.cnes.genius.main.GDisplayfr.cnes.genius.exception.GExceptionpublic void clear()
throws fr.cnes.genius.exception.GException
clear in interface fr.cnes.genius.main.GClearfr.cnes.genius.exception.GExceptionpublic final void updateStatus()
public double getRKTimestep()
public fr.cnes.genius.highLevel.GEntryReal getDOPMinTimestepWidget()
public double getDOPMinTimestep()
public fr.cnes.genius.highLevel.GEntryReal getDOPMaxTimestepWidget()
public double getDOPMaxTimestep()
public boolean isDOPBypassMinStep()
public GPIntegrator.Tolerances getDOPToleranceType()
public double[][] getDOPTolerances(fr.cnes.sirius.patrius.orbits.Orbit initOrbit)
throws fr.cnes.genius.exception.GException
initOrbit - the initial orbitfr.cnes.genius.exception.GException - exception thrown if initial orbit is nullpublic double getAbsMassTolerance()
public double getRelMassTolerance()
public void setRKParameters(double timestep)
throws fr.cnes.genius.exception.GArithmeticException
timestep - timestepfr.cnes.genius.exception.GArithmeticException - thrown if value is NaNpublic void setDOPParameters(double minStep,
double maxStep,
boolean bypassMinStep,
GPIntegrator.Tolerances displayedTolerance)
throws fr.cnes.genius.exception.GArithmeticException,
fr.cnes.genius.exception.GIntervalException
minStep - min timestepmaxStep - max timestepbypassMinStep - true if min step bypass should be activateddisplayedTolerance - tolerance typefr.cnes.genius.exception.GArithmeticException - thrown if one value is NaNfr.cnes.genius.exception.GIntervalException - thrown when building validity intervalspublic void setDOPTolerancesComplete(double[] absTol,
double[] relTol)
throws fr.cnes.genius.exception.GArithmeticException
absTol - absolute tolerances (x7: x, y, z, vx, vy, vz, mass)relTol - relative tolerances (x7: x, y, z, vx, vy, vz, mass)fr.cnes.genius.exception.GArithmeticException - thrown if one value is NaNpublic void setDOPTolerancesReduced(double[] absTol,
double[] relTol)
throws fr.cnes.genius.exception.GArithmeticException
absTol - absolute tolerances (x3: pos, vel, mass)relTol - relative tolerances (x3: pos, vel, mass)fr.cnes.genius.exception.GArithmeticException - thrown if one value is NaNpublic void setDOPTolerancesSimplified(double localPositionError)
throws fr.cnes.genius.exception.GArithmeticException
localPositionError - local position errorfr.cnes.genius.exception.GArithmeticException - thrown if value is NaNpublic void setInitialOrbit(fr.cnes.sirius.patrius.orbits.Orbit initialOrbit)
initialOrbit - initial orbitpublic fr.cnes.sirius.patrius.orbits.Orbit getInitialOrbit()
public fr.cnes.sirius.patrius.math.ode.FirstOrderIntegrator getPatriusObject()
throws fr.cnes.genius.exception.GException
getPatriusObject in interface GPPatrius<fr.cnes.sirius.patrius.math.ode.FirstOrderIntegrator>fr.cnes.genius.exception.GException - if the PATRIUS object cannot be created from the widget datapublic void attachCopyPasteMenu(String label, fr.cnes.genius.main.GComponent.CopyPasteOperation... operationList)
attachCopyPasteMenu in class fr.cnes.genius.main.GComponentpublic void after(fr.cnes.genius.main.GEvent e)
throws fr.cnes.genius.exception.GException
after in interface fr.cnes.genius.main.GListenerfr.cnes.genius.exception.GExceptionpublic void before(fr.cnes.genius.main.GEvent arg0)
throws fr.cnes.genius.exception.GException
before in interface fr.cnes.genius.main.GListenerfr.cnes.genius.exception.GExceptionpublic GPDop853 getDopPanel()
public GPIntegrator.IntegratorTypeEnum getTypeOfInteg()
public fr.cnes.genius.highLevel.GChoice getTolerancesDefinition()
public boolean isMassEnable()
public void setMassEnable(boolean massEnable)
massEnable - true if the mass tolerances are visiblepublic void updateIntervaltimeStepRK(fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
newInterval - new nterval of validity of the RK stepfr.cnes.genius.exception.GIntervalException - Exception when building the interval of validitypublic void updateIntervalMinTimeStepDop(fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
newInterval - new nterval of validity of the RK stepfr.cnes.genius.exception.GIntervalException - Exception when building the interval of validitypublic void updateIntervalMaxTimeStepDop(fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
newInterval - new nterval of validity of the RK stepfr.cnes.genius.exception.GIntervalException - Exception when building the interval of validitypublic void updateIntervalAbsoluteTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
index - index of the tolerance in the listnewInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateIntervalRelativeTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
index - index of the tolerance in the listnewInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateIntervalReducedAbsoluteTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
index - index of the tolerance in the listnewInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateIntervalReducedRelativeTolerances(int index,
fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
index - index of the tolerance in the listnewInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateIntervalMassAbsoluteTolerances(fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
newInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateIntervalMassRelativeTolerances(fr.cnes.genius.interval.GInterval newInterval)
throws fr.cnes.genius.exception.GIntervalException
newInterval - new interval of validityfr.cnes.genius.exception.GIntervalException - exception due to the inetrval of validity buildingpublic void updateCondensedStatus(fr.cnes.genius.main.GCondensedStatus condensedStatus)
updateCondensedStatus in interface fr.cnes.genius.main.GCondensedStatusInterfaceCopyright © 2025. All rights reserved.