Untitled
unknown
matlab
2 months ago
10 kB
6
Indexable
Never
%General Mission Analysis Tool(GMAT) Script %Created: 2023-10-17 16:56:24 %---------------------------------------- %---------- Spacecraft %---------------------------------------- Create Spacecraft DefaultSC; GMAT DefaultSC.DateFormat = TAIModJulian; GMAT DefaultSC.Epoch = '21545'; GMAT DefaultSC.CoordinateSystem = EarthMJ2000Eq; GMAT DefaultSC.DisplayStateType = Cartesian; GMAT DefaultSC.X = 7100; GMAT DefaultSC.Y = 0; GMAT DefaultSC.Z = 1300; GMAT DefaultSC.VX = 0; GMAT DefaultSC.VY = 7.35; GMAT DefaultSC.VZ = 1; 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.AtmosDensityScaleFactor = 1; GMAT DefaultSC.ExtendedMassPropertiesModel = 'None'; GMAT DefaultSC.Tanks = {ChemicalTank1}; GMAT DefaultSC.Thrusters = {ChemicalThruster1}; GMAT DefaultSC.NAIFId = -10005001; GMAT DefaultSC.NAIFIdReferenceFrame = -9005001; 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.AtmosDensityScaleFactorSigma = 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 = EarthFixed; GMAT DefaultSC.EulerAngleSequence = '321'; %---------------------------------------- %---------- Hardware Components %---------------------------------------- Create ChemicalThruster ChemicalThruster1; GMAT ChemicalThruster1.CoordinateSystem = Local; GMAT ChemicalThruster1.Origin = Earth; GMAT ChemicalThruster1.Axes = SpacecraftBody; GMAT ChemicalThruster1.ThrustDirection1 = 1; GMAT ChemicalThruster1.ThrustDirection2 = 0; GMAT ChemicalThruster1.ThrustDirection3 = 0; GMAT ChemicalThruster1.DutyCycle = 1; GMAT ChemicalThruster1.ThrustScaleFactor = 10; GMAT ChemicalThruster1.DecrementMass = false; GMAT ChemicalThruster1.Tank = {ChemicalTank1}; GMAT ChemicalThruster1.MixRatio = [ 1 ]; GMAT ChemicalThruster1.GravitationalAccel = 9.81; GMAT ChemicalThruster1.C1 = 10; GMAT ChemicalThruster1.C2 = 0; GMAT ChemicalThruster1.C3 = 0; GMAT ChemicalThruster1.C4 = 0; GMAT ChemicalThruster1.C5 = 0; GMAT ChemicalThruster1.C6 = 0; GMAT ChemicalThruster1.C7 = 0; GMAT ChemicalThruster1.C8 = 0; GMAT ChemicalThruster1.C9 = 0; GMAT ChemicalThruster1.C10 = 0; GMAT ChemicalThruster1.C11 = 0; GMAT ChemicalThruster1.C12 = 0; GMAT ChemicalThruster1.C13 = 0; GMAT ChemicalThruster1.C14 = 0; GMAT ChemicalThruster1.C15 = 0; GMAT ChemicalThruster1.C16 = 0; GMAT ChemicalThruster1.K1 = 300; GMAT ChemicalThruster1.K2 = 0; GMAT ChemicalThruster1.K3 = 0; GMAT ChemicalThruster1.K4 = 0; GMAT ChemicalThruster1.K5 = 0; GMAT ChemicalThruster1.K6 = 0; GMAT ChemicalThruster1.K7 = 0; GMAT ChemicalThruster1.K8 = 0; GMAT ChemicalThruster1.K9 = 0; GMAT ChemicalThruster1.K10 = 0; GMAT ChemicalThruster1.K11 = 0; GMAT ChemicalThruster1.K12 = 0; GMAT ChemicalThruster1.K13 = 0; GMAT ChemicalThruster1.K14 = 0; GMAT ChemicalThruster1.K15 = 0; GMAT ChemicalThruster1.K16 = 0; Create ChemicalTank ChemicalTank1; GMAT ChemicalTank1.AllowNegativeFuelMass = false; GMAT ChemicalTank1.FuelMass = 756; GMAT ChemicalTank1.Pressure = 1500; GMAT ChemicalTank1.Temperature = 20; GMAT ChemicalTank1.RefTemperature = 20; GMAT ChemicalTank1.Volume = 0.75; GMAT ChemicalTank1.FuelDensity = 1260; GMAT ChemicalTank1.PressureModel = PressureRegulated; %---------------------------------------- %---------- 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 = 4; GMAT DefaultProp_ForceModel.GravityField.Earth.Order = 4; GMAT DefaultProp_ForceModel.GravityField.Earth.StmLimit = 100; GMAT DefaultProp_ForceModel.GravityField.Earth.PotentialFile = 'JGM2.cof'; GMAT DefaultProp_ForceModel.GravityField.Earth.TideModel = 'None'; %---------------------------------------- %---------- Propagators %---------------------------------------- Create Propagator DefaultProp; GMAT DefaultProp.FM = DefaultProp_ForceModel; GMAT DefaultProp.Type = RungeKutta89; GMAT DefaultProp.InitialStepSize = 60; GMAT DefaultProp.Accuracy = 9.999999999999999e-12; GMAT DefaultProp.MinStep = 0.001; GMAT DefaultProp.MaxStep = 2700; GMAT DefaultProp.MaxStepAttempts = 50; GMAT DefaultProp.StopIfAccuracyIsViolated = true; %---------------------------------------- %---------- Burns %---------------------------------------- Create FiniteBurn DefaultFB; GMAT DefaultFB.Thrusters = {ChemicalThruster1}; GMAT DefaultFB.ThrottleLogicAlgorithm = 'MaxNumberOfThrusters'; Create ImpulsiveBurn DefaultIB; GMAT DefaultIB.CoordinateSystem = Local; GMAT DefaultIB.Origin = Earth; GMAT DefaultIB.Axes = VNB; GMAT DefaultIB.Element1 = 0; GMAT DefaultIB.Element2 = 0; GMAT DefaultIB.Element3 = 0; GMAT DefaultIB.DecrementMass = false; GMAT DefaultIB.Isp = 300; GMAT DefaultIB.GravitationalAccel = 9.81; %---------------------------------------- %---------- Solvers %---------------------------------------- Create DifferentialCorrector DC1; GMAT DC1.ShowProgress = true; GMAT DC1.ReportStyle = Normal; GMAT DC1.ReportFile = 'DifferentialCorrectorDC1.data'; GMAT DC1.MaximumIterations = 25; GMAT DC1.DerivativeMethod = ForwardDifference; GMAT DC1.Algorithm = NewtonRaphson; %---------------------------------------- %---------- Subscribers %---------------------------------------- Create OrbitView DefaultOrbitView; GMAT DefaultOrbitView.SolverIterations = Current; GMAT DefaultOrbitView.UpperLeft = [ 0.4405882352941177 0 ]; GMAT DefaultOrbitView.Size = [ 0.5 0.509829619921363 ]; GMAT DefaultOrbitView.RelativeZOrder = 1961; GMAT DefaultOrbitView.Maximized = false; GMAT DefaultOrbitView.Add = {DefaultSC, Earth}; GMAT DefaultOrbitView.CoordinateSystem = EarthMJ2000Eq; GMAT DefaultOrbitView.DrawObject = [ true true ]; GMAT DefaultOrbitView.DataCollectFrequency = 1; GMAT DefaultOrbitView.UpdatePlotFrequency = 50; GMAT DefaultOrbitView.NumPointsToRedraw = 0; GMAT DefaultOrbitView.ShowPlot = true; GMAT DefaultOrbitView.MaxPlotPoints = 20000; GMAT DefaultOrbitView.ShowLabels = true; GMAT DefaultOrbitView.ViewPointReference = Earth; GMAT DefaultOrbitView.ViewPointVector = [ 30000 0 0 ]; GMAT DefaultOrbitView.ViewDirection = Earth; GMAT DefaultOrbitView.ViewScaleFactor = 1; GMAT DefaultOrbitView.ViewUpCoordinateSystem = EarthMJ2000Eq; GMAT DefaultOrbitView.ViewUpAxis = Z; GMAT DefaultOrbitView.EclipticPlane = Off; GMAT DefaultOrbitView.XYPlane = On; GMAT DefaultOrbitView.WireFrame = Off; GMAT DefaultOrbitView.Axes = On; GMAT DefaultOrbitView.Grid = Off; GMAT DefaultOrbitView.SunLine = Off; GMAT DefaultOrbitView.UseInitialView = On; GMAT DefaultOrbitView.StarCount = 7000; GMAT DefaultOrbitView.EnableStars = On; GMAT DefaultOrbitView.EnableConstellations = On; Create GroundTrackPlot DefaultGroundTrackPlot; GMAT DefaultGroundTrackPlot.SolverIterations = Current; GMAT DefaultGroundTrackPlot.UpperLeft = [ 0.000588235294117647 0.509829619921363 ]; GMAT DefaultGroundTrackPlot.Size = [ 0.5 0.509829619921363 ]; GMAT DefaultGroundTrackPlot.RelativeZOrder = 1937; GMAT DefaultGroundTrackPlot.Maximized = false; GMAT DefaultGroundTrackPlot.Add = {DefaultSC}; GMAT DefaultGroundTrackPlot.DataCollectFrequency = 1; GMAT DefaultGroundTrackPlot.UpdatePlotFrequency = 50; GMAT DefaultGroundTrackPlot.NumPointsToRedraw = 0; GMAT DefaultGroundTrackPlot.ShowPlot = true; GMAT DefaultGroundTrackPlot.MaxPlotPoints = 20000; GMAT DefaultGroundTrackPlot.CentralBody = Earth; GMAT DefaultGroundTrackPlot.TextureMap = 'ModifiedBlueMarble.jpg'; Create XYPlot XYPlot1; GMAT XYPlot1.SolverIterations = Current; GMAT XYPlot1.UpperLeft = [ 0.09 0.3525557011795544 ]; GMAT XYPlot1.Size = [ 0.7105882352941176 0.6068152031454783 ]; GMAT XYPlot1.RelativeZOrder = 1942; GMAT XYPlot1.Maximized = false; GMAT XYPlot1.XVariable = DefaultSC.A1ModJulian; GMAT XYPlot1.YVariables = {DefaultSC.Earth.TA}; GMAT XYPlot1.ShowGrid = true; GMAT XYPlot1.ShowPlot = true; 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 = 'ReportFile1.txt'; GMAT ReportFile1.Precision = 16; GMAT ReportFile1.Add = {DefaultSC.Earth.Altitude}; GMAT ReportFile1.WriteHeaders = true; GMAT ReportFile1.LeftJustify = On; GMAT ReportFile1.ZeroFill = Off; GMAT ReportFile1.FixedWidth = true; GMAT ReportFile1.Delimiter = ' '; GMAT ReportFile1.ColumnWidth = 23; GMAT ReportFile1.WriteReport = true; %---------------------------------------- %---------- Arrays, Variables, Strings %---------------------------------------- Create Variable bruntime; GMAT bruntime = 0; %---------------------------------------- %---------- Mission Sequence %---------------------------------------- BeginMissionSequence; Propagate DefaultProp(DefaultSC) {DefaultSC.ElapsedSecs = 12000.0}; BeginFiniteBurn DefaultFB(DefaultSC); Propagate DefaultProp(DefaultSC) {DefaultSC.ElapsedSecs = 12000.0}; EndFiniteBurn DefaultFB(DefaultSC);