Я распространил орбиту с большой полуосью 7000 км и остальными элементами кеплеровской орбиты 0 на GMAT. Поскольку орбита круговая и находится в экваториальной плоскости, она не должна меняться со временем. Первоначально у меня Z = 0, но со временем значение Z значительно меняется (примерно 2 км в день 1). Когда я построил эту орбиту в MATLAB, ее угол наклона и большая полуось менялись с течением времени. Каким может быть возможное объяснение этому?
Ниже приведен сценарий GMAT:
%General Mission Analysis Tool(GMAT) Script
%Created: 2020-08-08 13:43:20
%----------------------------------------
%---------- Spacecraft
%----------------------------------------
Create Spacecraft DefaultSC;
GMAT DefaultSC.DateFormat = UTCGregorian;
GMAT DefaultSC.Epoch = '21 Mar 2019 00:00:00.000';
GMAT DefaultSC.CoordinateSystem = EarthMJ2000Eq;
GMAT DefaultSC.DisplayStateType = Keplerian;
GMAT DefaultSC.SMA = 7000;
GMAT DefaultSC.ECC = 0;
GMAT DefaultSC.INC = 0;
GMAT DefaultSC.RAAN = 0;
GMAT DefaultSC.AOP = 0;
GMAT DefaultSC.TA = 0;
GMAT DefaultSC.DryMass = 850;
GMAT DefaultSC.Cd = 2.2;
GMAT DefaultSC.Cr = 1.8;
GMAT DefaultSC.DragArea = 15;
GMAT DefaultSC.SRPArea = 1;
GMAT DefaultSC.SPADDragScaleFactor = 1;
GMAT DefaultSC.SPADSRPScaleFactor = 1;
GMAT DefaultSC.NAIFId = -10008001;
GMAT DefaultSC.NAIFIdReferenceFrame = -9008001;
GMAT DefaultSC.OrbitColor = Red;
GMAT DefaultSC.TargetColor = Teal;
GMAT DefaultSC.OrbitErrorCovariance = [ 1e+70 0 0 0 0 0 ; 0 1e+70 0 0 0 0 ; 0 0 1e+70 0 0 0 ; 0 0 0 1e+70 0 0 ; 0 0 0 0 1e+70 0 ; 0 0 0 0 0 1e+70 ];
GMAT DefaultSC.CdSigma = 1e+70;
GMAT DefaultSC.CrSigma = 1e+70;
GMAT DefaultSC.Id = 'SatId';
GMAT DefaultSC.Attitude = CoordinateSystemFixed;
GMAT DefaultSC.SPADSRPInterpolationMethod = Bilinear;
GMAT DefaultSC.SPADSRPScaleFactorSigma = 1e+70;
GMAT DefaultSC.SPADDragInterpolationMethod = Bilinear;
GMAT DefaultSC.SPADDragScaleFactorSigma = 1e+70;
GMAT DefaultSC.ModelFile = 'aura.3ds';
GMAT DefaultSC.ModelOffsetX = 0;
GMAT DefaultSC.ModelOffsetY = 0;
GMAT DefaultSC.ModelOffsetZ = 0;
GMAT DefaultSC.ModelRotationX = 0;
GMAT DefaultSC.ModelRotationY = 0;
GMAT DefaultSC.ModelRotationZ = 0;
GMAT DefaultSC.ModelScale = 1;
GMAT DefaultSC.AttitudeDisplayStateType = 'Quaternion';
GMAT DefaultSC.AttitudeRateDisplayStateType = 'AngularVelocity';
GMAT DefaultSC.AttitudeCoordinateSystem = EarthMJ2000Eq;
GMAT DefaultSC.EulerAngleSequence = '321';
%----------------------------------------
%---------- ForceModels
%----------------------------------------
Create ForceModel DefaultProp_ForceModel;
GMAT DefaultProp_ForceModel.CentralBody = Earth;
GMAT DefaultProp_ForceModel.PrimaryBodies = {Earth};
GMAT DefaultProp_ForceModel.Drag = None;
GMAT DefaultProp_ForceModel.SRP = Off;
GMAT DefaultProp_ForceModel.RelativisticCorrection = Off;
GMAT DefaultProp_ForceModel.ErrorControl = RSSStep;
GMAT DefaultProp_ForceModel.GravityField.Earth.Degree = 2;
GMAT DefaultProp_ForceModel.GravityField.Earth.Order = 0;
GMAT DefaultProp_ForceModel.GravityField.Earth.StmLimit = 100;
GMAT DefaultProp_ForceModel.GravityField.Earth.PotentialFile = 'JGM3.cof';
GMAT DefaultProp_ForceModel.GravityField.Earth.TideModel = 'None';
Create ForceModel InternalODEModel;
GMAT InternalODEModel.CentralBody = Earth;
GMAT InternalODEModel.PrimaryBodies = {Earth};
GMAT InternalODEModel.Drag = None;
GMAT InternalODEModel.SRP = Off;
GMAT InternalODEModel.RelativisticCorrection = Off;
GMAT InternalODEModel.ErrorControl = None;
GMAT InternalODEModel.GravityField.Earth.Degree = 2;
GMAT InternalODEModel.GravityField.Earth.Order = 0;
GMAT InternalODEModel.GravityField.Earth.StmLimit = 100;
GMAT InternalODEModel.GravityField.Earth.PotentialFile = 'JGM2.cof';
GMAT InternalODEModel.GravityField.Earth.TideModel = 'None';
%----------------------------------------
%---------- Propagators
%----------------------------------------
Create Propagator DefaultProp;
GMAT DefaultProp.FM = InternalODEModel;
GMAT DefaultProp.Type = AdamsBashforthMoulton;
GMAT DefaultProp.InitialStepSize = 1;
GMAT DefaultProp.Accuracy = 1e-10;
GMAT DefaultProp.MinStep = 1;
GMAT DefaultProp.MaxStep = 1;
GMAT DefaultProp.MaxStepAttempts = 50;
GMAT DefaultProp.StopIfAccuracyIsViolated = false;
GMAT DefaultProp.LowerError = 1e-13;
GMAT DefaultProp.TargetError = 9.999999999999999e-12;
%----------------------------------------
%---------- Subscribers
%----------------------------------------
Create ReportFile ReportFile1;
GMAT ReportFile1.SolverIterations = Current;
GMAT ReportFile1.UpperLeft = [ 0 0 ];
GMAT ReportFile1.Size = [ 0 0 ];
GMAT ReportFile1.RelativeZOrder = 0;
GMAT ReportFile1.Maximized = false;
GMAT ReportFile1.Filename = <Enter file name and location>;
GMAT ReportFile1.Precision = 20;
GMAT ReportFile1.Add = {DefaultSC.UTCGregorian, DefaultSC.EarthMJ2000Eq.X, DefaultSC.EarthMJ2000Eq.Y, DefaultSC.EarthMJ2000Eq.Z, DefaultSC.EarthMJ2000Eq.VX, DefaultSC.EarthMJ2000Eq.VY, DefaultSC.EarthMJ2000Eq.VZ, DefaultSC.DefaultProp_ForceModel.AccelerationX, DefaultSC.DefaultProp_ForceModel.AccelerationY, DefaultSC.DefaultProp_ForceModel.AccelerationZ};
GMAT ReportFile1.WriteHeaders = true;
GMAT ReportFile1.LeftJustify = On;
GMAT ReportFile1.ZeroFill = Off;
GMAT ReportFile1.FixedWidth = false;
GMAT ReportFile1.Delimiter = ',';
GMAT ReportFile1.ColumnWidth = 30;
GMAT ReportFile1.WriteReport = true;
%----------------------------------------
%---------- Mission Sequence
%----------------------------------------
BeginMissionSequence;
Propagate DefaultProp(DefaultSC) {DefaultSC.ElapsedSecs = 86400};
В InternalODEModel
вашем сценарии у вас включен J2. Установите степень на ноль, и проблема должна быть устранена.
Create ForceModel InternalODEModel;
GMAT InternalODEModel.CentralBody = Earth;
GMAT InternalODEModel.PrimaryBodies = {Earth};
GMAT InternalODEModel.Drag = None;
GMAT InternalODEModel.SRP = Off;
GMAT InternalODEModel.RelativisticCorrection = Off;
GMAT InternalODEModel.ErrorControl = None;
GMAT InternalODEModel.GravityField.Earth.Degree = 2; <--------- PROBLEM
GMAT InternalODEModel.GravityField.Earth.Order = 0;
GMAT InternalODEModel.GravityField.Earth.StmLimit = 100;
GMAT InternalODEModel.GravityField.Earth.PotentialFile = 'JGM2.cof';
GMAT InternalODEModel.GravityField.Earth.TideModel = 'None';
GMAT DefaultSC.CoordinateSystem = EarthMJ2000Eq;
и GMAT DefaultSC.INC = 0;
подтвердить, что это экваториальный? Кроме того, могут ли присутствовать эффекты Солнца или Луны, или сценарий OP гарантирует, что они отключены? Спасибо!
Дэвид Хаммен
GMAT DefaultProp.Type = AdamsBashforthMoulton
Вот твоя проблема. У GMAT паршивые пропагандисты.Том Спилкер
Левавит
Криштиану