empyrean.build_system¶
- build_system(force_model=ForceModelTier.STANDARD, frame=Frame.ECLIPTICJ2000, encounter_timescale_divisor=None)[source]¶
Assemble a reusable
BuiltSystemforce-model handle.Builds the force model once for
(force_model, frame)and freezesencounter_timescale_divisorinto its key, then reuse the returned handle across manypropagate()/generate_ephemeris()calls. Rebuild the handle after anyempyrean.initialize()/ data (re)load — a stale handle is rejected loudly by every forward-model call, never silently reused.- Parameters:
force_model (
ForceModelTier|str|int) – Force-model tier to freeze. DefaultForceModelTier.STANDARD.frame (
Frame|str|int) – Frame to freeze. DefaultFrame.ECLIPTICJ2000.encounter_timescale_divisor (
float|None) – Encounter-timescale divisor to freeze.None(default) freezes the engine default.
- Return type:
BuiltSystem- Returns:
BuiltSystem
Examples
>>> system = empyrean.build_system(force_model="standard", frame="icrf") >>> result = system.propagate(orbits, epochs) # reuses the force model >>> desc = system.describe() # provenance: tier, GR, perturbers, kernels