Model { Name "train" Version 2.00 SimParamPage Solver SampleTimeColors off WideVectorLines off PaperOrientation landscape StartTime "0.0" StopTime "10.0" Solver ode45 RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption RefineOutputTimes OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg warning MinStepSizeMsg warning UnconnectedInputMsg warning UnconnectedOutputMsg warning UnconnectedLineMsg warning ConsistencyChecking off ZeroCross on BlockDefaults { Orientation right ForegroundColor black BackgroundColor white DropShadow off NamePlacement normal FontName "Helvetica" FontSize 10 FontWeight normal FontAngle normal ShowName on } AnnotationDefaults { HorizontalAlignment center VerticalAlignment middle ForegroundColor black BackgroundColor white DropShadow off FontName "Helvetica" FontSize 10 FontWeight normal FontAngle normal } System { Name "train" Location [394, 440, 894, 700] Open on ScreenColor white Block { BlockType SignalGenerator Name "F" Position [25, 15, 55, 45] WaveForm square Amplitude "1" Frequency "1" Units Hertz } Block { BlockType Gain Name "Friction_1" Position [30, 58, 90, 102] Gain "mu*g*M1" } Block { BlockType Gain Name "Friction_2" Position [30, 168, 90, 212] Gain "mu*g*M2" } Block { BlockType Sum Name "Sum_F1" Position [110, 64, 140, 96] Inputs "+--" } Block { BlockType Sum Name "Sum_F2" Position [110, 142, 140, 173] Inputs "+-" } Block { BlockType Scope Name "View_v1" Position [425, 15, 455, 45] Floating off Location [188, 365, 512, 604] Open off Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitMaxRows on MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Scope Name "View_x1" Position [425, 65, 455, 95] Floating off Location [188, 365, 512, 604] Open off Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitMaxRows on MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Scope Name "View_x2" Position [425, 145, 455, 175] Floating off Location [188, 365, 512, 604] Open off Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitMaxRows on MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Gain Name "a1" Position [180, 57, 230, 103] Gain "1/M1" } Block { BlockType Gain Name "a2" Position [180, 136, 230, 184] Gain "1/M2" } Block { BlockType Gain Name "spring" Position [30, 120, 60, 150] Gain "k" } Block { BlockType Integrator Name "v1" Position [260, 65, 290, 95] ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Integrator Name "v2" Position [260, 145, 290, 175] ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Integrator Name "x1" Position [325, 65, 355, 95] ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Sum Name "x1-x2" Position [325, 207, 355, 238] Orientation left Inputs "-+" } Block { BlockType Integrator Name "x2" Position [325, 145, 355, 175] ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Line { SrcBlock "v2" SrcPort 1 Points [5, 0] Branch { Points [0, 55; -285, 0] DstBlock "Friction_2" DstPort 1 } Branch { DstBlock "x2" DstPort 1 } } Line { SrcBlock "Friction_2" SrcPort 1 DstBlock "Sum_F2" DstPort 2 } Line { SrcBlock "spring" SrcPort 1 Points [0, 0] Branch { Points [0, 15] DstBlock "Sum_F2" DstPort 1 } Branch { Points [30, 0] DstBlock "Sum_F1" DstPort 3 } } Line { SrcBlock "x1-x2" SrcPort 1 Points [-315, 0; 0, -90] DstBlock "spring" DstPort 1 } Line { SrcBlock "x1" SrcPort 1 Points [25, 0] Branch { Points [0, 150] DstBlock "x1-x2" DstPort 2 } Branch { DstBlock "View_x1" DstPort 1 } } Line { SrcBlock "x2" SrcPort 1 Points [10, 0] Branch { DstBlock "x1-x2" DstPort 1 } Branch { DstBlock "View_x2" DstPort 1 } } Line { SrcBlock "Friction_1" SrcPort 1 DstBlock "Sum_F1" DstPort 2 } Line { SrcBlock "v1" SrcPort 1 Points [5, 0] Branch { Points [0, -70; -295, 0; 0, 70] DstBlock "Friction_1" DstPort 1 } Branch { Points [10, 0] Branch { DstBlock "x1" DstPort 1 } Branch { Points [0, -50] DstBlock "View_v1" DstPort 1 } } } Line { SrcBlock "F" SrcPort 1 Points [35, 0] DstBlock "Sum_F1" DstPort 1 } Line { SrcBlock "a1" SrcPort 1 DstBlock "v1" DstPort 1 } Line { SrcBlock "a2" SrcPort 1 DstBlock "v2" DstPort 1 } Line { SrcBlock "Sum_F2" SrcPort 1 DstBlock "a2" DstPort 1 } Line { SrcBlock "Sum_F1" SrcPort 1 DstBlock "a1" DstPort 1 } } }