opengnc.experimental.interfaces package

Submodules

opengnc.experimental.interfaces.gmat module

GMAT Python API integration for high-fidelity truth propagation.

class opengnc.experimental.interfaces.gmat.GMATInterface[source]

Bases: ExternalPropagator

Standardized interface for the NASA GMAT Python API.

connect(**kwargs: Any) bool[source]

Establish connection or initialize the tool.

disconnect() None[source]

Clean up resources and disconnect.

propagate(initial_state: ndarray, start_jd: float, duration_sec: float, step_sec: float) dict[str, ndarray][source]

Run propagation in the external tool.

Parameters:
  • initial_state (np.ndarray) – Initial state [x, y, z, vx, vy, vz] in meters and m/s.

  • start_jd (float) – Start time in Julian Date.

  • duration_sec (float) – Propagation duration in seconds.

  • step_sec (float) – Output time step in seconds.

Returns:

Dictionary containing ‘times’ (Julian Dates) and ‘states’ (nx6 array).

Return type:

Dict[str, np.ndarray]

setup_force_model(gravity_deg: int = 20, drag: bool = True) None[source]

Module contents

Experimental interoperability modules.

class opengnc.experimental.interfaces.GMATInterface[source]

Bases: ExternalPropagator

Standardized interface for the NASA GMAT Python API.

connect(**kwargs: Any) bool[source]

Establish connection or initialize the tool.

disconnect() None[source]

Clean up resources and disconnect.

propagate(initial_state: ndarray, start_jd: float, duration_sec: float, step_sec: float) dict[str, ndarray][source]

Run propagation in the external tool.

Parameters:
  • initial_state (np.ndarray) – Initial state [x, y, z, vx, vy, vz] in meters and m/s.

  • start_jd (float) – Start time in Julian Date.

  • duration_sec (float) – Propagation duration in seconds.

  • step_sec (float) – Output time step in seconds.

Returns:

Dictionary containing ‘times’ (Julian Dates) and ‘states’ (nx6 array).

Return type:

Dict[str, np.ndarray]

setup_force_model(gravity_deg: int = 20, drag: bool = True) None[source]