public class Psimu extends Object
Modifier and Type | Class and Description |
---|---|
static class |
Psimu.StorageType
Enumerate to choose the storage type to use for the results when running in master mode.
|
Constructor and Description |
---|
Psimu(fr.cnes.sirius.patrius.orbits.Orbit initialOrbitIn,
fr.cnes.sirius.patrius.bodies.ExtendedOneAxisEllipsoid earthIn,
UserFramesConfsEnum userFramesConfigurationIn,
AbstractNumericalIntegratorData numericalIntegratorDataIn,
fr.cnes.sirius.patrius.assembly.Vehicle vehicleIn,
fr.cnes.sirius.patrius.propagation.MassProvider massModelIn,
fr.cnes.sirius.patrius.forces.ForceModelsData forceModelsIn,
fr.cnes.genopus.nonWidget.maneuvers.CustomManeuverSequence maneuversSeq,
fr.cnes.sirius.patrius.attitudes.AttitudeProvider attitudesSequenceIn)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addForceModel(fr.cnes.sirius.patrius.forces.ForceModel forceModel)
Method to add an external force model to the numerical propagator.
|
void |
closeDataBaseConnection()
Close database connection.
|
fr.cnes.sirius.patrius.assembly.Assembly |
getAssembly()
Get assembly.
|
fr.cnes.sirius.patrius.bodies.ExtendedOneAxisEllipsoid |
getEarth()
Get Earth shape.
|
fr.cnes.sirius.patrius.forces.ForceModelsData |
getfModels()
Get force models.
|
fr.cnes.sirius.patrius.orbits.Orbit |
getInitialOrbit()
Get initial orbit.
|
fr.cnes.genopus.nonWidget.maneuvers.CustomManeuverSequence |
getManeuversSequence()
Get maneuvers data.
|
fr.cnes.sirius.patrius.propagation.MassProvider |
getMassModel()
Get the mass model.
|
fr.cnes.sirius.patrius.propagation.numerical.NumericalPropagator |
getNumPropagator()
Get the numerical propagator.
|
double |
getPropagationDuration()
Get propagation duration.
|
fr.cnes.sirius.patrius.propagation.SpacecraftState |
getSpacecraftState(int index)
Get the spacecraft state with the requested index.
|
List<fr.cnes.sirius.patrius.propagation.SpacecraftState> |
getSpacecraftStateList()
Get the list of spacecraft state after a propagation in master mode.
|
fr.cnes.sirius.patrius.propagation.SpacecraftState |
getSpacecraftStateOnlyEvents(int index)
Get the spacecraft state with the requested index from a list without events.
|
List<fr.cnes.sirius.patrius.propagation.SpacecraftState> |
getSpacecraftStateOnlyEventsList()
Get the list of events spacecraft state after a propagation in master mode.
|
fr.cnes.sirius.patrius.propagation.SpacecraftState |
getSpacecraftStateWithoutEvents(int index)
Get the spacecraft state with the requested index from a list without events.
|
List<fr.cnes.sirius.patrius.propagation.SpacecraftState> |
getSpacecraftStateWithoutEventsList()
Get the list of spacecraft state without events after a propagation in master mode.
|
Object |
getVariable(int index,
String key)
Method to get an element of a list of output variables (given by the index).
|
Object |
getVariableOnlyEvents(int index,
String key)
Method to get an element of a list of output variables (given by the index) only for events.
|
Map<String,Object> |
getVariables(int index)
Method to get a list of output variables (given by the index).
|
List<Map<String,Object>> |
getVariablesList()
Method to get lists of output variables.
|
Map<String,Object> |
getVariablesOnlyEvents(int index)
Method to get a list of output variables (given by the index) only for events.
|
List<Map<String,Object>> |
getVariablesOnlyEventsList()
Method to get lists of output variables only for events.
|
Map<String,Object> |
getVariablesWithoutEvents(int index)
Method to get a list of output variables (given by the index) without events.
|
List<Map<String,Object>> |
getVariablesWithoutEventsList()
Method to get lists of output variables without events.
|
Object |
getVariableWithoutEvents(int index,
String key)
Method to get an element of a list of output variables (given by the index) without events.
|
void |
printSV(String title,
fr.cnes.sirius.patrius.orbits.Orbit originalOrbit,
fr.cnes.sirius.patrius.frames.Frame outputFrame,
fr.cnes.sirius.patrius.propagation.MassProvider massModelIn)
Prints the spacecraft state (epoch, frame, mass, Cartesian and Keplerian parameters).
|
void |
propagateInMasterMode(OutputConfig outputConfig,
List<fr.cnes.genopus.nonWidget.events.CustomEventDetector> eventsToDetect,
Psimu.StorageType storageType)
Method to propagate the orbit in IHM mode.
|
void |
propagateInMasterMode(OutputConfig outputConfig,
List<fr.cnes.genopus.nonWidget.events.CustomEventDetector> eventsToDetect,
Psimu.StorageType storageMemory,
Psimu.StorageType storageFile)
Method to propagate the orbit in IHM mode.
|
fr.cnes.sirius.patrius.propagation.SpacecraftState |
propagateInSlaveMode()
Method to propagate the orbit in slave mode.
|
void |
saveVTSFiles(String outputDir,
String resultName)
Save the VTS files.
|
public Psimu(fr.cnes.sirius.patrius.orbits.Orbit initialOrbitIn, fr.cnes.sirius.patrius.bodies.ExtendedOneAxisEllipsoid earthIn, UserFramesConfsEnum userFramesConfigurationIn, AbstractNumericalIntegratorData numericalIntegratorDataIn, fr.cnes.sirius.patrius.assembly.Vehicle vehicleIn, fr.cnes.sirius.patrius.propagation.MassProvider massModelIn, fr.cnes.sirius.patrius.forces.ForceModelsData forceModelsIn, fr.cnes.genopus.nonWidget.maneuvers.CustomManeuverSequence maneuversSeq, fr.cnes.sirius.patrius.attitudes.AttitudeProvider attitudesSequenceIn) throws PsimuException
earthIn
- earth shape.userFramesConfigurationIn
- user frames configuration.initialOrbitIn
- initial orbit to propagatenumericalIntegratorDataIn
- numerical integrator datavehicleIn
- vehiclemassModelIn
- mass model.forceModelsIn
- force models.maneuversSeq
- maneuvers sequence.attitudesSequenceIn
- attitude sequence (it might be null if no attitude laws are expected)PsimuException
- in case of problem creating the propagator.public fr.cnes.sirius.patrius.propagation.SpacecraftState propagateInSlaveMode() throws PsimuPropagationException
PsimuPropagationException
- in case the propagation fails.public void propagateInMasterMode(OutputConfig outputConfig, List<fr.cnes.genopus.nonWidget.events.CustomEventDetector> eventsToDetect, Psimu.StorageType storageType) throws PsimuPropagationException
eventsToDetect
- list of events to detect (it might be null if no single events have to be
detected)outputConfig
- output configuration (it might be null for slave mode propagation)storageType
- storage type to save the results.PsimuPropagationException
- psimu exceptionpublic void propagateInMasterMode(OutputConfig outputConfig, List<fr.cnes.genopus.nonWidget.events.CustomEventDetector> eventsToDetect, Psimu.StorageType storageMemory, Psimu.StorageType storageFile) throws PsimuPropagationException
eventsToDetect
- list of events to detect (it might be null if no single events have to be
detected)outputConfig
- output configuration (it might be null for slave mode propagation)storageMemory
- memory storage type to save the results.storageFile
- file storage type to save the results.PsimuPropagationException
- psimu exceptionpublic List<Map<String,Object>> getVariablesList() throws PsimuException
PsimuException
- if problem when getting the listpublic List<Map<String,Object>> getVariablesWithoutEventsList() throws PsimuException
PsimuException
- if problem when getting the listpublic List<Map<String,Object>> getVariablesOnlyEventsList() throws PsimuException
PsimuException
- if problem when getting the listpublic Map<String,Object> getVariables(int index) throws PsimuOutputManagerException
index
- index in the listPsimuOutputManagerException
- output manager exceptionpublic Map<String,Object> getVariablesWithoutEvents(int index) throws PsimuOutputManagerException
index
- index in the listPsimuOutputManagerException
- output manager exceptionpublic Map<String,Object> getVariablesOnlyEvents(int index) throws PsimuOutputManagerException
index
- index in the listPsimuOutputManagerException
- output manager exceptionpublic Object getVariable(int index, String key) throws PsimuOutputManagerException
index
- index in the listkey
- key parameter defining the element.PsimuOutputManagerException
- output manager exceptionpublic Object getVariableWithoutEvents(int index, String key) throws PsimuOutputManagerException
index
- index in the listkey
- key parameter defining the element.PsimuOutputManagerException
- output manager exceptionpublic Object getVariableOnlyEvents(int index, String key) throws PsimuOutputManagerException
index
- index in the listkey
- key parameter defining the element.PsimuOutputManagerException
- output manager exceptionpublic List<fr.cnes.sirius.patrius.propagation.SpacecraftState> getSpacecraftStateList() throws PsimuException
PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public List<fr.cnes.sirius.patrius.propagation.SpacecraftState> getSpacecraftStateWithoutEventsList() throws PsimuException
PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public List<fr.cnes.sirius.patrius.propagation.SpacecraftState> getSpacecraftStateOnlyEventsList() throws PsimuException
PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public fr.cnes.sirius.patrius.propagation.SpacecraftState getSpacecraftState(int index) throws PsimuException
index
- index of the spacecraft state to get.PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public fr.cnes.sirius.patrius.propagation.SpacecraftState getSpacecraftStateWithoutEvents(int index) throws PsimuException
index
- index of the spacecraft state to get.PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public fr.cnes.sirius.patrius.propagation.SpacecraftState getSpacecraftStateOnlyEvents(int index) throws PsimuException
index
- index of the spacecraft state to get.PsimuException
- if the list does not exist because the propagation has not been performed or
because it was done un FILE storage mode.public fr.cnes.genopus.nonWidget.maneuvers.CustomManeuverSequence getManeuversSequence()
public fr.cnes.sirius.patrius.propagation.numerical.NumericalPropagator getNumPropagator()
public fr.cnes.sirius.patrius.propagation.MassProvider getMassModel()
public fr.cnes.sirius.patrius.forces.ForceModelsData getfModels()
public fr.cnes.sirius.patrius.orbits.Orbit getInitialOrbit()
public fr.cnes.sirius.patrius.bodies.ExtendedOneAxisEllipsoid getEarth()
public double getPropagationDuration()
public fr.cnes.sirius.patrius.assembly.Assembly getAssembly()
public void printSV(String title, fr.cnes.sirius.patrius.orbits.Orbit originalOrbit, fr.cnes.sirius.patrius.frames.Frame outputFrame, fr.cnes.sirius.patrius.propagation.MassProvider massModelIn) throws fr.cnes.sirius.patrius.utils.exception.PatriusException
AppPSimu.setVerbose(boolean)
is
available to modify it).title
- titleoriginalOrbit
- original orbitoutputFrame
- output framemassModelIn
- mass modelfr.cnes.sirius.patrius.utils.exception.PatriusException
- if internal error occurspublic void addForceModel(fr.cnes.sirius.patrius.forces.ForceModel forceModel) throws PsimuException
forceModel
- force model to be added.PsimuException
- if force model is null or if its acceleration cannot be computed.public void saveVTSFiles(String outputDir, String resultName) throws PsimuException
outputDir
- output directory.resultName
- result name to compose the filename.PsimuException
- In case the files cannot be generated.public void closeDataBaseConnection()
Copyright © 2022. All rights reserved.