Model { Name "cpc_digest" Version 4.00 SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off RecordCoverage off CovPath "/" CovSaveName "covdata" CovNameIncrementing off CovHtmlReporting on BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Apr 10 16:15:24 2001" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" ModifiedDateFormat "%" LastModifiedDate "Wed Apr 11 09:22:50 2001" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "Solver" StartTime "0.0" StopTime "200" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "auto" 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" SaveFormat "Array" LimitDataPoints off MaxDataPoints "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" SingleTaskRateTransMsg "none" MultiTaskRateTransMsg "error" IntegerOverflowMsg "warning" CheckForMatrixSingularity "none" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" LinearizationMsg "none" VectorMatrixConversionMsg "none" SfunCompatibilityCheckMsg "none" BlockPriorityViolationMsg "warning" ArrayBoundsChecking "none" ConsistencyChecking "none" ZeroCross on Profile off SimulationMode "normal" RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off TLCProfiler off TLCDebug off TLCCoverage off AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on ExtModeLogAll on OptimizeBlockIOStorage on BufferReuse on ParameterPooling on BlockReductionOpt off BooleanDataType 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 "cpc_digest" Location [25, 145, 603, 561] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on ReportName "simulink-default.rpt" Block { BlockType Clock Name "Clock" Position [240, 290, 260, 310] DisplayTime off Decimation "10" } Block { BlockType Step Name "Heat addition rate (C/day)" Position [140, 185, 160, 205] Time "5" Before "10" After "10" SampleTime "-1" VectorParams1D on } Block { BlockType Step Name "Influent flow rate (m^3/day)" Position [140, 125, 160, 145] Time "5" Before "300" After "90" SampleTime "-1" VectorParams1D on } Block { BlockType ToWorkspace Name "To Workspace" Position [360, 297, 410, 313] VariableName "Time" MaxDataPoints "1000" Decimation "1" SampleTime "0" SaveFormat "Array" } Block { BlockType ToWorkspace Name "To Workspace1" Position [400, 97, 450, 113] VariableName "Sout" MaxDataPoints "1000" Decimation "1" SampleTime "0" SaveFormat "Array" } Block { BlockType ToWorkspace Name "To Workspace2" Position [395, 213, 475, 227] VariableName "Temperature" MaxDataPoints "1000" Decimation "1" SampleTime "0" SaveFormat "Array" } Block { BlockType SubSystem Name "digester" Ports [2, 2] Position [290, 137, 320, 188] ShowPortLabels off TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDescription "Digester model" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "digester" Location [-24, 74, 780, 640] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [15, 90, 35, 110] Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [100, 190, 120, 210] Port "2" Interpolate on } Block { BlockType Constant Name "Constant" Position [75, 135, 95, 155] Value "300" VectorParams1D on } Block { BlockType Constant Name "Constant1" Position [80, 240, 100, 260] Value "10" VectorParams1D on } Block { BlockType Constant Name "Constant2" Position [650, 198, 685, 222] Value "1000" VectorParams1D on } Block { BlockType Constant Name "Constant3" Position [665, 385, 685, 405] Value "55" VectorParams1D on } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [530, 140, 570, 175] Outputs "2" BusSelectionMode off } Block { BlockType SubSystem Name "Measurement noise in \nthe digester tempera" "ture\n\n" Ports [0, 1] Position [545, 337, 590, 373] ShowPortLabels off TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Continuous White Noise." MaskDescription "White noise for continuous (s-domain) syste" "ms.\nBand-limited using zero-order-hold." MaskHelp "Implemented using white noise into Zero-Ord" "er Hold block. The seed and power can be vectors of the same length to produc" "e a vector of white noise sources. For faster simulation, set sample time to " "the highest value possible but in accordance with the fastest dynamics of sys" "tem." MaskPromptString "Noise Power:|Sample Time:|Seed" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskInitialization "Cov = @1; Ts = @2; seed = @3; r = rand(1,12" "); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];" MaskDisplay "plot(t(:),r2(:))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "[0.0003125]|0.5|[2]" MaskVariableAliases ",," System { Name "Measurement noise in \nthe digester tempe" "rature\n\n" Location [54, 341, 339, 470] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Gain Name "Gain" Position [155, 31, 195, 69] Gain "[sqrt(Cov)]/[sqrt(Ts)]" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType RandomNumber Name "White Noise" Position [25, 40, 45, 60] Mean "0" Variance "1" Seed "seed" SampleTime "-1" VectorParams1D on } Block { BlockType ZeroOrderHold Name "Zero-Order\nHold" Position [85, 34, 120, 66] SampleTime "Ts" } Block { BlockType Outport Name "Out_1" Position [230, 40, 250, 60] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "White Noise" SrcPort 1 DstBlock "Zero-Order\nHold" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Out_1" DstPort 1 } Line { SrcBlock "Zero-Order\nHold" SrcPort 1 DstBlock "Gain" DstPort 1 } } } Block { BlockType SubSystem Name "Measurement noise in the substrate conc." Ports [0, 1] Position [500, 67, 545, 103] ShowPortLabels off TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Continuous White Noise." MaskDescription "White noise for continuous (s-domain) syste" "ms.\nBand-limited using zero-order-hold." MaskHelp "Implemented using white noise into Zero-Ord" "er Hold block. The seed and power can be vectors of the same length to produc" "e a vector of white noise sources. For faster simulation, set sample time to " "the highest value possible but in accordance with the fastest dynamics of sys" "tem." MaskPromptString "Noise Power:|Sample Time:|Seed" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskInitialization "Cov = @1; Ts = @2; seed = @3; r = rand(1,12" "); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];" MaskDisplay "plot(t(:),r2(:))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "[0.15]|0.5|[241]" MaskVariableAliases ",," System { Name "Measurement noise in the substrate conc." Location [54, 341, 339, 470] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Gain Name "Gain" Position [155, 31, 195, 69] Gain "[sqrt(Cov)]/[sqrt(Ts)]" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType RandomNumber Name "White Noise" Position [25, 40, 45, 60] Mean "0" Variance "1" Seed "seed" SampleTime "-1" VectorParams1D on } Block { BlockType ZeroOrderHold Name "Zero-Order\nHold" Position [85, 34, 120, 66] SampleTime "Ts" } Block { BlockType Outport Name "Out_1" Position [230, 40, 250, 60] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "White Noise" SrcPort 1 DstBlock "Zero-Order\nHold" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Out_1" DstPort 1 } Line { SrcBlock "Zero-Order\nHold" SrcPort 1 DstBlock "Gain" DstPort 1 } } } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [345, 145, 375, 180] Inputs "2" DisplayOption "none" } Block { BlockType Saturate Name "Saturation" Position [205, 118, 235, 142] UpperLimit "300" LowerLimit "-300" LinearizeAsGain on } Block { BlockType Saturate Name "Saturation1" Position [215, 193, 245, 217] UpperLimit "10" LowerLimit "-10" LinearizeAsGain on } Block { BlockType Saturate Name "Saturation2" Position [625, 113, 655, 137] UpperLimit "2000" LowerLimit "-1000" LinearizeAsGain on } Block { BlockType StateSpace Name "State-Space" Position [405, 134, 480, 176] A "[0 -0.010667 0;0.0625 -0.053333 0; 0 0 -0." "0333333]" B "[0.12181 -0.03648*20;0.19033 0; -0.053333 " "0.096*20]" C "[0 0.5 0;0 0 0.125]" D "[0 0 ; 0 0]" X0 "[0;0;0]" Realization "auto" AbsoluteTolerance "auto" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [150, 125, 170, 145] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [150, 195, 170, 215] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum4" Ports [3, 1] Position [720, 134, 740, 186] IconShape "rectangular" Inputs "+++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum5" Ports [3, 1] Position [720, 327, 740, 363] IconShape "rectangular" Inputs "+++" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [770, 75, 790, 95] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "out_2" Position [765, 325, 785, 345] Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "State-Space" SrcPort 1 Points [30, 0] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [5, 0; 0, -10] DstBlock "State-Space" DstPort 1 } Line { SrcBlock "Saturation1" SrcPort 1 Points [40, 0; 0, -35] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Saturation1" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [5, 0; 0, -5] DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 Points [15, 0; 0, -40] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Constant" SrcPort 1 Points [15, 0; 0, -5] DstBlock "Sum" DstPort 2 } Line { SrcBlock "in_1" SrcPort 1 Points [45, 0; 0, 30] DstBlock "Sum" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 Points [10, 0; 0, -50] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Sum4" SrcPort 1 Points [10, 0] DstBlock "out_1" DstPort 1 } Line { SrcBlock "Constant3" SrcPort 1 Points [5, 0; 0, -50] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "out_2" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [60, 0; 0, 160] DstBlock "Sum5" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 Points [45, 0; 0, 25] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Measurement noise in the substrate conc." SrcPort 1 Points [125, 0; 0, 90] DstBlock "Sum4" DstPort 3 } Line { SrcBlock "Measurement noise in \nthe digester tempera" "ture\n\n" SrcPort 1 DstBlock "Sum5" DstPort 3 } Line { SrcBlock "Demux" SrcPort 1 Points [10, 0; 0, -25] DstBlock "Saturation2" DstPort 1 } Line { SrcBlock "Saturation2" SrcPort 1 Points [45, 0] DstBlock "Sum4" DstPort 1 } } } Line { SrcBlock "Influent flow rate (m^3/day)" SrcPort 1 Points [100, 0; 0, 15] DstBlock "digester" DstPort 1 } Line { SrcBlock "Heat addition rate (C/day)" SrcPort 1 Points [110, 0] DstBlock "digester" DstPort 2 } Line { SrcBlock "digester" SrcPort 1 Points [60, 0] DstBlock "To Workspace1" DstPort 1 } Line { SrcBlock "digester" SrcPort 2 Points [55, 0] DstBlock "To Workspace2" DstPort 1 } Line { SrcBlock "Clock" SrcPort 1 Points [0, 5] DstBlock "To Workspace" DstPort 1 } } }