ADCS.satellite_hardware.disturbances.helpers.geometry_config module

class ADCS.satellite_hardware.disturbances.helpers.geometry_config.GeometryConfig(geometry_faces)[source]

Bases: object

Satellite Geometry Configuration

The GeometryConfig class defines the geometric and aerodynamic properties of the satellite’s external surfaces. This configuration is used by disturbance and actuator models such as Drag_Disturbance to compute forces and torques.

Each entry in the geometry configuration represents one surface element (e.g., a panel or face) with attributes describing its physical and aerodynamic properties.

Structure of a Geometry Entry

Each geometry element is expected to contain the following ordered parameters:

Key

Description

index

Unique integer identifier for the surface element.

area

Surface area \(A_i\) [m²].

centroid

Centroid position vector \(\mathbf{r}_i\) in body frame [m].

normal

Surface normal unit vector \(\mathbf{n}_i\) in body frame.

eta_s

Specular reflection coefficient (0–1).

eta_d

Diffuse reflection coefficient (0–1).

eta_a

Absorptivity coefficient (0–1).

CD

Drag coefficient \(C_{D,i}\) of the surface.

Parameters:
  • geometry (list[dict[str, any]]) – List of dictionaries defining geometry parameters for all satellite surfaces. Each entry must include the keys listed above.

  • geometry_faces (List[GeometryFace])

class ADCS.satellite_hardware.disturbances.helpers.geometry_config.GeometryFace(area, centroid, normal, eta_s=0, eta_d=0, eta_a=0, CD=0)[source]

Bases: object

Parameters:
  • area (float)

  • centroid (ndarray)

  • normal (ndarray)

  • eta_s (float)

  • eta_d (float)

  • eta_a (float)

  • CD (float)

classmethod from_dict(data)[source]

Create a GeometryFace from a dictionary.

Accepts either ‘CD’ or ‘CD’ for drag coefficient, and defaults unspecified eta/CD values to 0.

Parameters:

data (Dict[str, Any])

Return type:

GeometryFace

to_dict()[source]

Convert this GeometryFace to a dictionary representation.

Return type:

Dict[str, Any]