PanelSrp
Defined in: panel_srp.rs:26
pub struct PanelSrpAttitude-dependent solar radiation pressure model using flat surface panels.
Implements LoadModel to produce both translational acceleration and
SRP torque from per-panel radiation forces. For the SpacecraftShape::Sphere
variant, the cr and area are read from the shape itself.
Per-panel force (simplified per panel):
F_panel = -P_sr × Cr × A × cos(θ) × (AU/r_sun)² × ŝ [N]where θ is the angle between the panel normal and the Sun direction,
and ŝ is the unit vector from the satellite toward the Sun.
Methods
Section titled “Methods”panels()
Section titled “panels()”fn panels(panels: [Vec<super::SurfacePanel>](https://doc.rust-lang.org/std/vec/struct.Vec.html)) -> Self
Create a panel-based (attitude-dependent) SRP model from surface panels.
for_earth()
Section titled “for_earth()”fn for_earth(shape: SpacecraftShape) -> Self
Create an SRP model for Earth orbit with cylindrical Earth shadow.
For the SpacecraftShape::Sphere variant, cr and area come from
the shape. For SpacecraftShape::Panels, each panel carries its own cr.
fn new(shape: SpacecraftShape) -> Self
Create an SRP model without shadow.
with_shadow_body()
Section titled “with_shadow_body()”fn with_shadow_body(self, radius: f64) -> Self
Set or override the shadow body radius (builder pattern).