Introduction
The Initial Conditions panel defines the complete starting state of a spacecraft at the beginning of a simulation. This includes:
- Translational state (position and velocity)
- Mass properties (mass and inertia tensor)
- Rotational state (angular velocity and attitude)

These values are used to build the spacecraft state vector that SatModeler propagates forward in time. Even when alternative input formats are provided (Keplerian elements, Euler angles), SatModeler always converts them to the internal state representation used for initialization:
- Position and velocity in ECI
- Attitude as a quaternion (Body Frame with respect to ECI)
Translational Initial State
Position and Velocity (in ECI)
You can directly define the spacecraft translational state as:
- Position (ECI): (km)
- Velocity (ECI): (km/s)
What “ECI” means
ECI stands for Earth-Centered Inertial. In SatModeler, the ECI frame corresponds specifically to the J2000 inertial reference frame, a widely used standard in astrodynamics.
The J2000 ECI frame is centered at Earth’s center of mass and is defined with respect to Earth’s mean equator and equinox at the reference epoch J2000.0 (January 1, 2000, 12:00 TT). It is treated as inertial for orbital propagation purposes.
SatModeler adopts the following right-handed J2000 ECI axis definition:
- X axis (ECI X)
Points from Earth toward the mean vernal equinox direction at J2000, defined by the intersection of Earth’s equatorial plane with the ecliptic at the J2000 epoch. - Z axis (ECI Z)
Aligned with Earth’s mean rotation axis at J2000, pointing toward the North celestial pole. - Y axis (ECI Y)
Completes the right-handed system, such that X × Y = Z.
Because the J2000 ECI frame does not rotate with Earth, it provides a stable inertial reference. This makes it particularly suitable for numerical orbit propagation, as spacecraft motion is not contaminated by Earth’s diurnal rotation and inertial effects are handled consistently over long simulation durations.
Alternatively: Keplerian Elements (Extended Set)
Instead of entering and directly, you may define the orbit using extended Keplerian elements. This is often more intuitive when you want to specify an orbit by its classical geometry (size, shape, tilt, and orientation). Even if you input Keplerian elements, SatModeler always computes the equivalent ECI position and velocity
Core elements (always used):
- Semi-major axis (km)
- Eccentricity
- Inclination (deg)
Orientation/phase elements depend on whether the orbit is circular () and/or equatorial ().
Why “extended” Keplerian elements are needed
Some classical Keplerian angles lose their physical meaning in special orbital configurations. When this happens, alternative angular parameters must be used to uniquely define the spacecraft position along the orbit.
The problematic cases are:
- Circular orbits
The Argument of Periapsis (AOP) is undefined because the orbit has no unique periapsis. - Equatorialatorial orbits
The Right Ascension of the Ascending Node (RAAN) is undefined because the line of nodes does not exist. - Circular and equatorial orbits
Both the periapsis and the line of nodes are undefined.
To handle these situations, SatModeler uses an extended Keplerian element set, automatically requesting only the angular parameters that remain well-defined for the selected orbit geometry.
-
Circular + Equatorial orbit (e = 0, i = 0)
- Use: True Longitude (True Lon)
- This single angle replaces the combination of the RAAN, the Argument of Periapsis, and the True Anomaly, and directly locates the spacecraft along the orbit from the inertial reference direction.
-
Circular + Non-equatorial orbit (e = 0, i ≠ 0)
- Use: Argument of Latitude (AOL)
- Since the orbit is circular, the Argument of Periapsis is undefined. The Argument of Latitude replaces the Argument of Periapsis and the True Anomaly, while the RAAN remains well-defined and is still required.
-
Non-circular + Equatorial orbit (e ≠ 0, i = 0)
- Use: True Argument of Periapsis (True AOP)
- Because the orbit is equatorial, the RAAN is undefined. The True Argument of Periapsis replaces the RAAN and the True Anomaly, while the periapsis direction remains meaningful.
-
Non-circular + Non-equatorial orbit (e ≠ 0, i ≠ 0)
- Use: Classical angular set
- Right Ascension of the Ascending Node, which defines the orientation of the orbital plane in inertial space.
- Argument of Periapsis, which defines the orientation of the ellipse within the orbital plane.
- True Anomaly, which defines the spacecraft position along the orbit.
Mass Properties
Mass
Set the spacecraft mass (kg). This mass is used throughout the simulation, including:
- Translational dynamics (inertial response to forces)
- Any force models that depend on mass-normalized acceleration internally
Inertia Tensor
Set the inertia matrix (3×3 matrix) in the Body Frame, expressed about the spacecraft’s center of mass.
- Units are kg·m²
- The inertia tensor governs how the spacecraft responds to applied torques
- For physically consistent models, the matrix should be symmetric and positive definite
This is the key mass property for attitude dynamics (especially for gravity-gradient, SRP/aero torques, magnetic torque, and control torques).
Rotational Initial State
Angular Velocity (Body Frame)
Set the initial angular velocity vector in the Body Frame:
- (deg/s)
This defines how fast the spacecraft is rotating at the initial time, expressed along the body axes. It is used directly as the initial condition for rotational propagation.
Attitude Quaternion (Body Frame with respect to ECI)
The most direct way to specify attitude is with a quaternion:
- Quat (BF wrt ECI):
This quaternion represents the spacecraft Body Frame orientation relative to ECI. Internally, SatModeler initializes attitude using this quaternion representation (normalized).
Alternatively: Euler Angles (321 sequence)
If preferred, attitude can be input using Euler angles, using the 321 sequence.
What “321” means here
A 321 set means the attitude is built by three successive rotations associated with axes:
- Axis 3 (Z) by ang₁
- Axis 2 (Y) by ang₂
- Axis 1 (X) by ang₃
This is the common aerospace yaw–pitch–roll style convention (Z then Y then X), and it matches the quaternion construction used internally by SatModeler.
Important behavior in SatModeler
Just like with Keplerian elements, Euler angles are an input format only. SatModeler will:
- Convert the 321 Euler angles into a normalized quaternion
- Use that quaternion as the actual initialization attitude
So the simulation always starts from the quaternion state, even if Euler angles were entered in the UI.
