Model { Name "respss" Version 2.09 SimParamPage Solver SampleTimeColors off InvariantConstants off WideVectorLines off ShowLineWidths off PaperOrientation landscape PaperType usletter PaperUnits inches StartTime "0.0" StopTime "10." Solver ode15s RelTol "1e-3" AbsTol "1e-3" Refine "1" MaxStep "0.005" InitialStep "auto" FixedStep "0.005" MaxOrder 5 OutputOption RefineOutputTimes OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime off TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput off 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 SimulationMode normal RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_vc.tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off ExtModeMexFile "ext_comm" ExtModeBatchMode off 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 } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight normal FontAngle normal } System { Name "respss" Location [37, 65, 714, 560] Open on ScreenColor white Block { BlockType Fcn Name "1/VdotA" Position [160, 215, 200, 235] Expr "1/u" } Block { BlockType Constant Name "CO2 Intercept" Position [460, 125, 495, 145] Value "37" } Block { BlockType Gain Name "CO2-O2\nInteraction\nGain\n" Position [590, 225, 620, 265] Gain "32" } Block { BlockType Constant Name "Controller Const\n" Position [555, 157, 600, 183] Value "1.48" } Block { BlockType Gain Name "Conv.Factor" Position [155, 121, 205, 149] Gain "863" } Block { BlockType Gain Name "Conv.Factor1" Position [165, 301, 215, 329] Gain "863" } Block { BlockType Constant Name "O2 const" Position [450, 310, 495, 330] Value "38.6" } Block { BlockType Reference Name "PAO2 vs PACO2" Ports [2, 0, 0, 0, 0] Position [445, 212, 475, 243] SourceBlock "simulink/Sinks/XY Graph" SourceType "XY scope." xmin "35" xmax "65" ymin "50" ymax "150" st "-1" } Block { BlockType Constant Name "PICO2" Position [150, 80, 170, 100] Value "0" } Block { BlockType Constant Name "PIO2" Position [205, 360, 245, 380] Value "150" } Block { BlockType Product Name "Product" Ports [2, 1, 0, 0, 0] Position [250, 128, 280, 152] Inputs "2" } Block { BlockType Product Name "Product1" Ports [2, 1, 0, 0, 0] Position [245, 298, 275, 322] Inputs "2" } Block { BlockType Product Name "Product2" Ports [2, 1, 0, 0, 0] Position [715, 158, 745, 182] Inputs "2" } Block { BlockType Fcn Name "Reciprocal" Position [570, 350, 610, 370] Expr "1/u" } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [407, 555, 438, 575] Orientation down Operator >= } Block { BlockType Saturate Name "Saturation" Position [355, 355, 385, 375] UpperLimit "150" LowerLimit "40" } Block { BlockType Stop Name "Stop Simulation" Position [630, 543, 670, 577] } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [305, 84, 325, 106] Inputs "++" } Block { BlockType Sum Name "Sum1" Ports [2, 1, 0, 0, 0] Position [300, 354, 320, 376] Inputs "-+" } Block { BlockType Sum Name "Sum2" Ports [2, 1, 0, 0, 0] Position [530, 90, 550, 110] Inputs "+-" } Block { BlockType Sum Name "Sum3" Ports [2, 1, 0, 0, 0] Position [515, 350, 535, 370] Inputs "-+" } Block { BlockType Sum Name "Sum4" Ports [2, 1, 0, 0, 0] Position [75, 215, 95, 235] Inputs "-+" } Block { BlockType Sum Name "Sum5" Ports [2, 1, 0, 0, 0] Position [660, 165, 680, 185] Inputs "++" } Block { BlockType ToWorkspace Name "To Workspace1" Position [475, 401, 540, 419] VariableName "pao2" Buffer "1" Decimation "1" SampleTime "0" } Block { BlockType ToWorkspace Name "To Workspace2" Position [475, 16, 540, 34] VariableName "paco2" Buffer "1" Decimation "1" SampleTime "0" } Block { BlockType ToWorkspace Name "To Workspace4" Position [180, 491, 245, 509] VariableName "vent" Buffer "1" Decimation "1" SampleTime "0" } Block { BlockType Constant Name "VdotCO2\n" Position [85, 125, 125, 145] Value "0.232" } Block { BlockType Constant Name "VdotD" Position [25, 185, 45, 205] Value "1" } Block { BlockType SubSystem Name "VdotEin\nInput\nRamp" Ports [0, 1, 0, 0, 0] Position [25, 545, 65, 585] Orientation up ShowPortLabels off MaskType "Repeating table" MaskDescription "Repeating table.\nEnter values of time and " "output for first cycle." MaskHelp "Repeats cycle given in table. Time values " "should be monotonically increasing." MaskPromptString "Time values:|Output values:" MaskStyleString "edit,edit" MaskInitialization "period = max(@1); t = @1; y = @2;" MaskDisplay "plot([t,t+period,t+2*period],[y,y,y])" MaskIconFrame on MaskIconOpaque on MaskIconRotate none MaskIconUnits autoscale MaskValueString "[0 10 10.1]|[4 10 10]" System { Name "VdotEin\nInput\nRamp" Location [5, 40, 315, 196] Open off ScreenColor white Block { BlockType Clock Name "Clock" Position [45, 60, 65, 80] Location [30, 40, 140, 75] } Block { BlockType Fcn Name "Fcn1" Position [110, 60, 150, 80] Expr "rem(u[1],period)" } Block { BlockType Lookup Name "Look-Up Table" Position [210, 58, 250, 82] InputValues "t" OutputValues "y" } Block { BlockType Outport Name "out_1" Position [285, 60, 305, 80] Port "1" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Look-Up Table" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Clock" SrcPort 1 DstBlock "Fcn1" DstPort 1 } Line { SrcBlock "Fcn1" SrcPort 1 DstBlock "Look-Up Table" DstPort 1 } } } Block { BlockType Reference Name "VdotEout\nvs\nVdotEin" Ports [2, 0, 0, 0, 0] Position [405, 465, 440, 500] Orientation down SourceBlock "simulink/Sinks/XY Graph" SourceType "XY scope." xmin "0" xmax "20" ymin "0" ymax "20" st "-1" } Block { BlockType Constant Name "VdotO2" Position [95, 305, 135, 325] Value "0.290" } Block { BlockType Saturate Name "Zero \nThreshold" Position [755, 350, 785, 370] Orientation down UpperLimit "20" LowerLimit "0" } Line { SrcBlock "VdotCO2\n" SrcPort 1 DstBlock "Conv.Factor" DstPort 1 } Line { SrcBlock "PICO2" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Conv.Factor" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "VdotO2" SrcPort 1 DstBlock "Conv.Factor1" DstPort 1 } Line { SrcBlock "1/VdotA" SrcPort 1 Points [15, 0] Branch { Points [0, -80] DstBlock "Product" DstPort 2 } Branch { Points [0, 80] DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Conv.Factor1" SrcPort 1 DstBlock "Product1" DstPort 2 } Line { SrcBlock "PIO2" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Product1" SrcPort 1 Points [5, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "CO2 Intercept" SrcPort 1 Points [0, -30] DstBlock "Sum2" DstPort 2 } Line { SrcBlock "O2 const" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Sum3" SrcPort 1 DstBlock "Reciprocal" DstPort 1 } Line { SrcBlock "VdotD" SrcPort 1 Points [10, 0] DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "1/VdotA" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 Points [0, -40] DstBlock "Sum" DstPort 2 } Line { SrcBlock "VdotEin\nInput\nRamp" SrcPort 1 Points [0, -10] Branch { Points [370, 0] DstBlock "Relational\nOperator" DstPort 1 } Branch { Points [110, 0; 0, -30] DstBlock "To Workspace4" DstPort 1 } Branch { Points [0, -85] Branch { Points [0, -215] DstBlock "Sum4" DstPort 2 } Branch { Points [370, 0] DstBlock "VdotEout\nvs\nVdotEin" DstPort 1 } } } Line { SrcBlock "Zero \nThreshold" SrcPort 1 Points [0, 75; -225, 0] Branch { DstBlock "VdotEout\nvs\nVdotEin" DstPort 2 } Branch { Points [0, 80; -115, 0] DstBlock "Relational\nOperator" DstPort 2 } } Line { SrcBlock "Relational\nOperator" SrcPort 1 Points [0, 15; 155, 0; 0, -35] DstBlock "Stop Simulation" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Reciprocal" SrcPort 1 Points [25, 0; 0, -35; -95, 0; 0, -80] DstBlock "CO2-O2\nInteraction\nGain\n" DstPort 1 } Line { SrcBlock "Controller Const\n" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { SrcBlock "CO2-O2\nInteraction\nGain\n" SrcPort 1 Points [10, 0; 0, -65] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Product2" DstPort 2 } Line { SrcBlock "Sum2" SrcPort 1 Points [140, 0; 0, 65] DstBlock "Product2" DstPort 1 } Line { SrcBlock "Product2" SrcPort 1 Points [20, 0] DstBlock "Zero \nThreshold" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [80, 0] Branch { Points [15, 0] Branch { DstBlock "Sum2" DstPort 1 } Branch { Points [0, -70] DstBlock "To Workspace2" DstPort 1 } } Branch { Points [0, 125] DstBlock "PAO2 vs PACO2" DstPort 1 } } Line { SrcBlock "Saturation" SrcPort 1 Points [0, 0] Branch { Points [55, 0] Branch { DstBlock "Sum3" DstPort 2 } Branch { Points [0, 45] DstBlock "To Workspace1" DstPort 1 } } Branch { Points [0, -130] DstBlock "PAO2 vs PACO2" DstPort 2 } } Annotation { Position [117, 207] VerticalAlignment top Text "VdotA" } Annotation { Position [467, 77] VerticalAlignment top Text "PACO2" } Annotation { Position [292, 272] VerticalAlignment top Text "LUNG O2 EXCHANGE" } Annotation { Position [302, 177] VerticalAlignment top Text "LUNG CO2 EXCHANGE" } Annotation { Position [417, 347] VerticalAlignment top Text "PAO2" } Annotation { Position [657, 427] VerticalAlignment top Text "VdotEout" } Annotation { Position [77, 412] VerticalAlignment top Text "VdotEin" } Annotation { Position [712, 272] VerticalAlignment top Text "CONTROLLER" } } }