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, unput
activateConstraintsByType, 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, writeConfigItem
public 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.GPanel
public void generic() throws fr.cnes.genius.exception.GException
generic
in class fr.cnes.genius.lowLevel.GPanel
fr.cnes.genius.exception.GException
public void read() throws fr.cnes.genius.exception.GException
read
in interface fr.cnes.genius.main.GReadWrite
fr.cnes.genius.exception.GException
public void write() throws fr.cnes.genius.exception.GException
write
in interface fr.cnes.genius.main.GReadWrite
fr.cnes.genius.exception.GException
public void display() throws fr.cnes.genius.exception.GException
display
in interface fr.cnes.genius.main.GDisplay
fr.cnes.genius.exception.GException
public void clear() throws fr.cnes.genius.exception.GException
clear
in interface fr.cnes.genius.main.GClear
fr.cnes.genius.exception.GException
public 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.GComponent
public void after(fr.cnes.genius.main.GEvent e) throws fr.cnes.genius.exception.GException
after
in interface fr.cnes.genius.main.GListener
fr.cnes.genius.exception.GException
public void before(fr.cnes.genius.main.GEvent arg0) throws fr.cnes.genius.exception.GException
before
in interface fr.cnes.genius.main.GListener
fr.cnes.genius.exception.GException
public 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.GCondensedStatusInterface
Copyright © 2023. All rights reserved.