Commit 12da850e authored by Bryan Cazabonne's avatar Bryan Cazabonne
Browse files

Updated UML diagrams with last changes.

parent 105ea4d9
......@@ -55,8 +55,8 @@
package forces #CCCCC7 {
interface DSSTForceModel {
+void initialize()
+DerivativeStructure[] getMeanElementRate()
+void init(SpacecraftState initialState, AbsoluteDate target)
+Gradient[] getMeanElementRate()
+void updateShortPeriodTerms()
}
......@@ -71,13 +71,15 @@
}
class DSSTPartialDerivativesEquations {
+List<String> getAvailableParameters()
+void selectParameters(String ... parameters)
+void selectParamAndStep(String parameter, double hP)
+void setInitialJacobians()
+void freezeParametersSelection()
+void setInitialJacobians(SpacecraftState s0)
+DSSTJacobiansMapper getMapper()
}
class DSSTJacobiansMapper
class DSSTJacobiansMapper {
+void getStateJacobian(SpacecraftState state, double[][] dYdY0)
+void getParametersJacobian(SpacecraftState state, double[][] dYdP)
}
AdditionalEquations <|.. DSSTPartialDerivativesEquations
DSSTPartialDerivativesEquations *--> DSSTForceModel
......
......@@ -54,7 +54,7 @@
class AuxiliaryElements
interface DSSTForceModel {
+void initialize(AuxiliaryElements auxiliary, PropagationType type, double[] parameters)
+void initializeShortPeriodTerms(AuxiliaryElements auxiliary, PropagationType type, double[] parameters)
+double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliary, double[] parameters)
+void updateShortPeriodTerms(double[] parameters, SpacecraftState ... meanStates)
+EventDetector[] getEventsDetectors()
......
......@@ -40,7 +40,7 @@
package handlers #CBDBC8 {
interface "EventHandler<T extends EventDetector>" as EventHandler_T_ {
+init(SpacecraftState s0, AbsoluteDate target)
+init(SpacecraftState s0, AbsoluteDate target, T detector)
+Action eventOccurred(SpacecraftState s, T detector, boolean increasing)
+SpacecraftState resetState(T detector, SpacecraftState oldState)
}
......
......@@ -43,15 +43,17 @@
package files #DDEBD8 {
package sp3 #CBDBC8 {
class SP3File
class SP3
class SP3Coordinate
SP3File --> SP3Coordinate
SP3 --> SP3Coordinate
}
package ilrs #CBDBC8 {
class CPFFile
class CPF
class CPFWriter
class StreamingCpfWriter
class CPFCoordinate
CPFFile --> CPFCoordinate
CPF --> CPFCoordinate
}
package general #CBDBC8 {
......@@ -92,8 +94,10 @@
+getPropagator()
}
SP3File ..|> EphemerisFile
CPFFile ..|> EphemerisFile
SP3 ..|> EphemerisFile
CPF ..|> EphemerisFile
CPFWriter <--o StreamingCpfWriter
EphemerisFileWriter <|.. CPFWriter
EphemerisFile.SatelliteEphemeris <--* EphemerisFile
EphemerisFile.SatelliteEphemeris o--> EphemerisFile.EphemerisSegment
......
......@@ -54,7 +54,7 @@
package sequential #CBDBC8 {
interface ProcessNoiseMatrixProvider
interface CovarianceMatrixProvider
class KalmanEstimator {
+getOrbitalParametersDrivers()
......@@ -64,29 +64,35 @@
+estimationStep(measurement)
}
class Model {
+estimationStep(measurement)
abstract AbstractKalmanModel {
#updateReferenceTrajectories(propagators, pType, sType)
#analyticalDerivativeComputations(mapper, state)
+ProcessEstimate getEstimate()
+EstimatedMeasurement<?> getCorrectedMeasurement()
+SpacecraftState[] getCorrectedSpacecraftStates()
}
Model <-left-* KalmanEstimator
class KalmanModel
class DSSTKalmanModel
class TLEKalmanModel
AbstractKalmanModel <-left-* KalmanEstimator
KalmanEstimator *-right-> ExtendedKalmanFilter_T
Model *--> ProcessNoiseMatrixProvider
EstimatedMeasurement <-- Model
AbstractKalmanModel *--> CovarianceMatrixProvider
EstimatedMeasurement <-- AbstractKalmanModel
KalmanModel --|> AbstractKalmanModel
DSSTKalmanModel --|> AbstractKalmanModel
TLEKalmanModel --|> AbstractKalmanModel
}
}
package propagation #DDEBD8 {
interface Propagator
Propagator <-- Model : run
}
}
package user.application #F3EDF7 {
class MyProcessNoiseMatrixProvider #EAE6F7/B9B3D2
ProcessNoiseMatrixProvider <|-- MyProcessNoiseMatrixProvider
CovarianceMatrixProvider <|-- MyProcessNoiseMatrixProvider
}
@enduml
......@@ -46,11 +46,11 @@
class EstimatedMeasurement {
+getObservedMeasurement()
+getStateSize()
+getIteration()
+getState()
+getStates()
+getTimeOffset()
+[get|set]Value()
+[get|set]CurrentWeight()
+[get|set]EstimatedValue()
+[get|set]StateDerivatives()
+[get|set]ParameterDerivatives()
}
......@@ -59,7 +59,7 @@
+getParametersDrivers()
+modify(estimated)
}
class "On-board antenna" as Onboard
ObservedMeasurement *--> "*" EstimationModifier
ObservedMeasurement --> EstimatedMeasurement : create
......
......@@ -33,7 +33,7 @@
interface ForceModel {
+void addContribution()
+FieldVector3D<DerivativeStructure> accelerationDerivatives()
+FieldVector3D<Gradient> acceleration()
+EventDetector[] getEventsDetectors()
}
......@@ -68,8 +68,7 @@
interface TimeDerivativesEquations {
+void addKeplerContribution()
+void addXYZAcceleration()
+void addAcceleration()
+void addNonKeplerianAcceleration()
+void addMassDerivative()
}
......@@ -78,10 +77,9 @@
}
class PartialDerivativesEquations {
+List<String> getAvailableParameters()
+void selectParameters(String ... parameters)
+void selectParamAndStep(String parameter, double hP)
+void setInitialJacobians()
+void freezeParametersSelection()
+void setInitialJacobians(SpacecraftState s0)
+JacobiansMapper getMapper()
}
class Jacobianizer
......
......@@ -53,6 +53,7 @@
+setMass(mass)
}
class DSSTPropagatorBuilder
class KeplerianPropagatorBuilder
class TLEPropagatorBuilder
class EcksteinHechlerPropagatorBuilder
......@@ -85,6 +86,7 @@
PropagatorBuilder <|.. NumericalPropagatorBuilder
PropagatorBuilder <|.. KeplerianPropagatorBuilder
PropagatorBuilder <|.. TLEPropagatorBuilder
PropagatorBuilder <|.. DSSTPropagatorBuilder
PropagatorBuilder <|.right. EcksteinHechlerPropagatorBuilder
PropagatorConverter <|.. AbstractPropagatorConverter
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment