Center Manifold Maps
The center module provides Poincare maps for center manifolds of collinear libration points.
Main Classes
- class hiten.system.maps.center.CenterManifoldMap[source]
Bases:
_HitenBase
Poincare map for a center manifold.
- Parameters:
center_manifold (
CenterManifold
) – The center manifold.energy (float) – The energy of the center manifold.
- center_manifold
The center manifold.
- Type:
- property center_manifold: CenterManifold
The center manifold.
- property config
Get the map configuration.
- compute(section_coord='q3', overrides=None, **kwargs)[source]
Compute the Poincare map.
- Parameters:
- Returns:
The results of the Poincare map.
- Return type:
- to_synodic(pt, *, section_coord=None, tol=1e-12)[source]
Convert a plane point to initial conditions for integration.
- Parameters:
- Returns:
Initial conditions [q1, q2, q3, p1, p2, p3] for integration.
- Return type:
ndarray, shape (6,)
- plot(section_coord=None, *, dark_mode=True, save=False, filepath='poincare_map.svg', axes=None, **kwargs)[source]
Plot the Poincare map.
- Parameters:
section_coord (str, optional) – Section coordinate identifier. If None, uses the default section.
dark_mode (bool, default=True) – If True, use dark mode styling.
save (bool, default=False) – If True, save the plot to file.
filepath (str, default='poincare_map.svg') – File path for saving the plot.
axes (Sequence[str], optional) – Axes to plot. If None, uses the section plane coordinates.
**kwargs – Additional keyword arguments passed to the plotting function.
- Returns:
The generated plot figure.
- Return type:
- plot_interactive(*, steps=1000, method='adaptive', order=8, frame='rotating', dark_mode=True, axes=None, section_coord=None)[source]
Create an interactive plot of the Poincare map.
- Parameters:
steps (int, default=1000) – Number of integration steps for trajectory propagation.
method ({'fixed', 'symplectic', 'adaptive'}, default='adaptive') – Integration method for trajectory propagation.
order (int, default=6) – Integration order for Runge-Kutta methods.
frame (str, default='rotating') – Reference frame for trajectory visualization.
dark_mode (bool, default=True) – If True, use dark mode styling.
axes (Sequence[str], optional) – Axes to plot. If None, uses the section plane coordinates.
section_coord (str, optional) – Section coordinate identifier. If None, uses the default section.
- Returns:
A tuple containing: - The interactive plot figure - A dictionary with key ‘orbit’ that will contain the latest
computed orbit after clicking on a point (initially None)
- Return type:
Notes
Clicking on points in the plot will propagate trajectories from those points and display the resulting orbits. The latest orbit can be accessed via the returned dictionary.
Examples
>>> fig, orbit_container = pm.plot_interactive() >>> # After clicking on a point in the plot >>> latest_orbit = orbit_container['orbit']
- __setstate__(state)[source]
Restore the CenterManifoldMap instance after unpickling.
The heavy, non-serialisable dynamical system is reconstructed lazily using the stored value of center_manifold and energy.
- Parameters:
state (dict) – Dictionary containing the serialized state of the CenterManifoldMap.
- load_inplace(filepath, **kwargs)[source]
Load orbit data from a file in place.
- Parameters:
filepath (str)
- Return type:
None