Skip to content
LIBRARY
tests.PointMassOrbit.md

tests.PointMassOrbit

Free-flying PointMass in a point-gravity field: started on a circular orbit, the orbital radius must stay constant.

isroot = true because frame_a is connected to nothing – the point mass owns its (world-aligned) frame orientation. Compared with the equivalent Body-based PointGravityOrbit, this model carries no rotational state at all, so it must solve with strictly fewer unknowns.

Usage

MultibodyComponents.tests.PointMassOrbit(r_orbit=7e6, v_orbit=sqrt(3.986004418e14 / r_orbit))

Parameters:

NameDescriptionUnitsDefault value
r_orbitOrbit radius [m] (LEO-ish)7e6

Behavior

Dict{MIME{Symbol("text/plain")}, String} with 1 entry: MIME type text/plain => "Error displaying result"

Source

dyad
"""
Free-flying `PointMass` in a point-gravity field: started on a circular orbit,
the orbital radius must stay constant.

`isroot = true` because `frame_a` is connected to nothing -- the point mass owns
its (world-aligned) frame orientation. Compared with the equivalent `Body`-based
`PointGravityOrbit`, this model carries no rotational state at all, so it must
solve with strictly fewer unknowns.
"""
example component PointMassOrbit
  world = MultibodyComponents.World() {}
  mass = MultibodyComponents.PointMass(m = 1, isroot = true, linearStatePriority = 1000, point_gravity = true, render = false, r_0(initial = [r_orbit, 0, 0]), v_0(initial = [0, v_orbit, 0])) {}
  "Orbit radius [m] (LEO-ish)"
  parameter r_orbit::Real = 7e6
  "Circular orbit speed for the default field constant"
  final parameter v_orbit::Real = sqrt(3.986004418e14 / r_orbit)
relations
end
Flattened Source
dyad
"""
Free-flying `PointMass` in a point-gravity field: started on a circular orbit,
the orbital radius must stay constant.

`isroot = true` because `frame_a` is connected to nothing -- the point mass owns
its (world-aligned) frame orientation. Compared with the equivalent `Body`-based
`PointGravityOrbit`, this model carries no rotational state at all, so it must
solve with strictly fewer unknowns.
"""
example component PointMassOrbit
  world = MultibodyComponents.World() {}
  mass = MultibodyComponents.PointMass(m = 1, isroot = true, linearStatePriority = 1000, point_gravity = true, render = false, r_0(initial = [r_orbit, 0, 0]), v_0(initial = [0, v_orbit, 0])) {}
  "Orbit radius [m] (LEO-ish)"
  parameter r_orbit::Real = 7e6
  "Circular orbit speed for the default field constant"
  final parameter v_orbit::Real = sqrt(3.986004418e14 / r_orbit)
relations
metadata {}
end


Test Cases

No test cases defined.

  • Examples

  • Experiments

  • Analyses