A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
leo-mobility-test-suite.cc File Reference
#include "ns3/double.h"
#include "ns3/geographic-positions.h"
#include "ns3/leo-circular-orbit-mobility-model.h"
#include "ns3/leo-circular-orbit-position-allocator.h"
#include "ns3/leo-orbital-shell.h"
#include "ns3/log.h"
#include "ns3/node.h"
#include "ns3/simulator.h"
#include "ns3/test.h"
#include "ns3/uinteger.h"
#include <cmath>
#include <numbers>
#include <sstream>
Include dependency graph for leo-mobility-test-suite.cc:

Go to the source code of this file.

Classes

class  LeoEarthRotationTestCase
 Test that Earth rotation causes the orbital plane to drift westward in the ECEF frame. More...
class  LeoInitialPositionTestCase
 Test that a satellite at time 0 is placed at the analytically expected ECEF position for a given altitude, inclination, and longitude. More...
class  LeoLongitudeOffsetTestCase
 Test that a non-zero initial longitude offsets the orbital plane correctly at time 0. More...
class  LeoMobilityTestSuite
 LEO mobility test suite. More...
class  LeoOrbitalOffsetTestCase
 Test that a non-zero orbital offset correctly rotates the satellite along its orbital plane via the Rodrigues rotation in RotatePlane(). More...
class  LeoOrbitalProgressTestCase
 Test that on-demand orbital progress produces the expected position after a quarter orbital period. More...
class  LeoOrbitConstructorTestCase
 Test that LeoOrbitalShell constructor correctly handles Delta and Star parameters. More...
class  LeoOrbitPositionStructTestCase
 Test that LeoCircularOrbitAllocator::GetNextOrbitPosition() returns the correct structured values matching GetNext() and DoSetPosition(). More...
class  LeoOrbitSerializationTestCase
 Test LeoOrbitalShell serialization and deserialization round-trip. More...
class  LeoPhasingFactorTestCase
 Test that the Walker Delta phasing factor correctly staggers satellites in adjacent orbital planes. More...
class  LeoWalkerStarTestCase
 Test that Walker Star constellations (RaanSpanDeg = 180) space orbital planes over 180 degrees instead of 360 degrees. More...

Variables

static constexpr double EARTH_RADIUS_KM = GeographicPositions::EARTH_SPHERE_RADIUS / 1000.0
 Earth sphere radius in km (must match the model).
static LeoMobilityTestSuite g_leoMobilityTestSuite
 Static variable for test initialization.
static constexpr double GM_KM3_S2 = 398600.7
 Geocentric gravitational constant in km^3/s^2 (must match the model).
static constexpr double ORBIT_HEIGHT_KM = EARTH_RADIUS_KM + 1000.0
 Orbit height in km (geocentric radius) for altitude = 1000 km.
static constexpr double ORBIT_RADIUS_M = (EARTH_RADIUS_KM + 1000.0) * 1000.0
 Orbit radius in meters for altitude = 1000 km.
static constexpr double TOLERANCE = 10.0
 Tolerance in meters for ECEF position comparisons.

Variable Documentation

◆ EARTH_RADIUS_KM

double EARTH_RADIUS_KM = GeographicPositions::EARTH_SPHERE_RADIUS / 1000.0
staticconstexpr

Earth sphere radius in km (must match the model).

Definition at line 36 of file leo-mobility-test-suite.cc.

◆ g_leoMobilityTestSuite

LeoMobilityTestSuite g_leoMobilityTestSuite
static

Static variable for test initialization.

Definition at line 885 of file leo-mobility-test-suite.cc.

◆ GM_KM3_S2

double GM_KM3_S2 = 398600.7
staticconstexpr

Geocentric gravitational constant in km^3/s^2 (must match the model).

Definition at line 42 of file leo-mobility-test-suite.cc.

Referenced by LeoEarthRotationTestCase::DoRun(), and LeoOrbitalProgressTestCase::DoRun().

◆ ORBIT_HEIGHT_KM

double ORBIT_HEIGHT_KM = EARTH_RADIUS_KM + 1000.0
staticconstexpr

Orbit height in km (geocentric radius) for altitude = 1000 km.

Definition at line 45 of file leo-mobility-test-suite.cc.

Referenced by LeoEarthRotationTestCase::DoRun(), and LeoOrbitalProgressTestCase::DoRun().

◆ ORBIT_RADIUS_M

◆ TOLERANCE

double TOLERANCE = 10.0
staticconstexpr

Tolerance in meters for ECEF position comparisons.

Definition at line 33 of file leo-mobility-test-suite.cc.