Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Orekit
Orekit
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 37
    • Issues 37
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Packages
    • Packages
    • Container Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Orekit
  • OrekitOrekit
  • Issues
  • #586

Closed
Open
Opened Aug 13, 2019 by Evan Ward@evanward1
  • Report abuse
  • New issue
Report abuse New issue

Set Propagator's default attitude provider to be aligned with Propagator.getFrame()

For performance reasons when possible the default attitude provider should be aligned with the Propagator's Frame. This avoid computing frame transformations to/from EME2000 when the user isn't interested in the attitude. Some performance profiling on my machine has shown that for the TLEPropagator computing the attitude is about as expensive as computing the position and velocity. In other words, there is a factor of two slow down if the default attitude law is not changed and the user doesn't need an EME2000 aligned attitude. I think most analytical propagators would benefit from changing the default attitude provider including EphemerisSegmentPropagator and Ephemeris. Since this changes semantics and may subtly break some applications I think we should wait until the next major release to make the change. I can add a FrameAligned AttitudeProvider now.

Workaround until this is fully implemented:

TLEPropagator p = ...; 
Frame teme = FramesFactory.getTEME()
// with new FrameAligned class
p.setAttitudeProvider(new FrameAligned(teme)); 
// with existing classes, but not as fast
p.setAttitudeProvider(new FixedRate(epoch, teme, AngularCoordinates.IDENTITY));
Assignee
Assign to
11.0
Milestone
11.0
Assign milestone
Time tracking
None
Due date
None
2
Labels
Enhancement performance
Assign labels
  • View project labels
Reference: orekit/orekit#586