📄 fluidpipelinesimulinkmodels.mdl
字号:
SrcBlock "Transfer Fcn" SrcPort 1 Points [70, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { Points [0, 250] DstBlock "Mux" DstPort 2 } } Line { SrcBlock "Transfer Fcn1" SrcPort 1 Points [50, 0] Branch { DstBlock "Sum5" DstPort 2 } Branch { Points [0, 220] DstBlock "Mux" DstPort 4 } } Line { SrcBlock "Transfer Fcn6" SrcPort 1 Points [30, 0] Branch { DstBlock "Sum5" DstPort 3 } Branch { Points [0, 190] DstBlock "Mux" DstPort 6 } } Line { SrcBlock "Transfer Fcn7" SrcPort 1 Points [10, 0] Branch { DstBlock "Sum5" DstPort 4 } Branch { Points [0, 160] DstBlock "Mux" DstPort 8 } } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Gain1" DstPort 1 } Annotation { Position [182, 32] VerticalAlignment top Text "Pa" } Annotation { Position [187, 347] VerticalAlignment top Text "Ps" } Annotation { Position [687, 149] VerticalAlignment top Text "Qa" } Annotation { Position [689, 463] VerticalAlignment top Text "Qs" } } } Block { BlockType SubSystem Name "PQ-pipeline" Ports [2, 3, 0, 0, 0] Position [290, 43, 325, 87] ShowPortLabels off MaskType "PQ-pipeline" MaskDescription "Linear dynamic model of a rigid uniform fluid t""ransmission line with inputs = pressure P0 and volumetric flow rate (inflow p""ositive) Q1 at the ends, outputs = pressure P1 and flow rate Q0 and mode sha""pes p. The pressure at x is P0 + p*sin(pi*(1:2:15)'*x/length/2)" MaskHelp "The model is documented in J. Makinen, R. Piche"" and A. Ellman (2000), Fluid Transmission Line Modeling Using a Variational M""ethod, ASME Journal of Dynamic Systems, Measurement, and Control,122 (1), 153""-162.\n" MaskPromptString "fluid density|kinematic viscosity|length|radius""|speed of sound|initial pressure|filtering" MaskStyleString "edit,edit,edit,edit,edit,edit,popup(None|Hann|H""amming|Riemann|Blackman-Harris)" MaskTunableValueString "on,on,on,on,on,on,on" MaskVariables "p1=@1;p2=@2;p3=@3;p4=@4;p5=@5;p6=@6;p7=@7;" MaskInitialization "T=p3/p5; ee=8*p2*T/p4^2; Z0=p1*p5/(pi*p4^2); jj""=(1:2:15)/2; e=sqrt(jj*pi*ee)/2+7*ee/16; w=jj*pi-sqrt(jj*pi*ee)/4+ee/16;Pinit""=pi*p4^2*p6/p1/p5; switch p7,case 1, k=ones(1,8);case 2, k=cos(jj*pi/8.5/2).^""2;case 3, k=0.54+.46*cos(jj*pi/8.5);case 4, k= 8.5 ./(jj*pi).*sin(jj*pi/8.5);""case 5, k= 0.42323+0.49755*cos(jj*pi/8.5)+0.07922*cos(2*jj*pi/8.5);end; b2=1"" ./(2*sum(k ./w.^2)); b1=-2*b2*pi*sum(k.*jj.*(-1).^(1:8)./w.^2);" MaskDisplay "plot(-4,-10,24,16,[0 0 20 20],[0 2 2 0],[0 0 20"" 20],[6 4 4 6])" MaskIconFrame on MaskIconOpaque on MaskIconRotate none MaskIconUnits autoscale MaskValueString "2|0|60|.1|500|0|Blackman-Harris" System { Name "PQ-pipeline" Location [5, 81, 931, 731] Open off ToolBar off StatusBar off ScreenColor white PaperOrientation landscape PaperPositionMode auto PaperType usletter PaperUnits inches Block { BlockType Inport Name "P0" Position [15, 240, 35, 260] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Inport Name "Q1" Position [130, 265, 150, 285] Port "2" PortWidth "-1" SampleTime "-1" } Block { BlockType Constant Name "Constant" Position [15, 209, 65, 231] ShowName off Value "Pinit" } Block { BlockType Demux Name "Demux" Ports [1, 8, 0, 0, 0] Position [325, 13, 365, 497] Outputs "8" } Block { BlockType Integrator Name "Integrator" Ports [1, 1, 0, 0, 0] Position [175, 259, 205, 291] ShowName off ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType StateSpace Name "Matrix\nGain1" Position [225, 221, 250, 249] ShowName off A "[]" B "[]" C "[]" D "K" X0 "0" MaskType "Matrix Gain" MaskDescription "Matrix Gain." MaskHelp "Multiplies input vector by entered matrix t""o produce output vector (y=Au)." MaskPromptString "Gain matrix:" MaskStyleString "edit" MaskTunableValueString "on" MaskInitialization "K = @1;" MaskDisplay "disp('K')" MaskIconFrame on MaskIconOpaque on MaskIconRotate none MaskIconUnits autoscale MaskValueString "-2 ./(pi.*[1; 3; 5; 7; 9; 11; 13; 15])" } Block { BlockType StateSpace Name "Matrix\nGain4" Position [225, 261, 250, 289] ShowName off A "[]" B "[]" C "[]" D "K" X0 "0" MaskType "Matrix Gain" MaskDescription "Matrix Gain." MaskHelp "Multiplies input vector by entered matrix t""o produce output vector (y=Au)." MaskPromptString "Gain matrix:" MaskStyleString "edit" MaskTunableValueString "on" MaskInitialization "K = @1;" MaskDisplay "disp('K')" MaskIconFrame on MaskIconOpaque on MaskIconRotate none MaskIconUnits autoscale MaskValueString "-Z0 .*[-1; 1 ;- 1; 1; -1; 1; -1; 1]./T" } Block { BlockType StateSpace Name "Matrix\nGain5" Position [810, 648, 840, 692] ShowName off A "[]" B "[]" C "[]" D "K" X0 "0" MaskType "Matrix Gain" MaskDescription "Matrix Gain." MaskHelp "Multiplies input vector by entered matrix t""o produce output vector (y=Au)." MaskPromptString "Gain matrix:" MaskStyleString "edit" MaskTunableValueString "on" MaskInitialization "K = @1;" MaskDisplay "disp('K')" MaskIconFrame on MaskIconOpaque on MaskIconRotate none MaskIconUnits autoscale MaskValueString "-pi./(2*Z0) .*[1, 3, 5, 7, 9, 11, 13, 1""5]" } Block { BlockType Mux Name "Mux" Ports [8, 1, 0, 0, 0] Position [745, 560, 775, 775] Inputs "8" } Block { BlockType Sum Name "Sum1" Ports [2, 1, 0, 0, 0] Position [270, 213, 290, 297] ShowName off Inputs "++" } Block { BlockType Sum Name "Sum2" Ports [2, 1, 0, 0, 0] Position [90, 204, 105, 266] ShowName off Inputs "-+" } Block { BlockType Sum Name "Sum5" Ports [9, 1, 0, 0, 0] Position [735, 23, 755, 547] ShowName off Inputs "+-+-+-+-+" } Block { BlockType TransferFcn Name "Transfer Fcn" Position [430, 18, 635, 72] ShowName off Numerator "[2*T^2*k(1) 2*T*ee*b2*k(1) 0]" Denominator "[T^2 e(1)*T w(1)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn1" Position [430, 77, 635, 133] ShowName off Numerator "[2*T^2*k(2) 2*T*ee*b2*k(2) 0]" Denominator "[T^2 e(2)*T w(2)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn11" Position [430, 318, 635, 372] ShowName off Numerator "[2*T^2*k(6) 2*T*ee*b2*k(6) 0]" Denominator "[T^2 e(6)*T w(6)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn12" Position [430, 378, 635, 432] ShowName off Numerator "[2*T^2*k(7) 2*T*ee*b2*k(7) 0]" Denominator "[T^2 e(7)*T w(7)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn13" Position [430, 258, 635, 312] ShowName off Numerator "[2*T^2*k(5) 2*T*ee*b2*k(5) 0]" Denominator "[T^2 e(5)*T w(5)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn14" Position [430, 438, 635, 492] ShowName off Numerator "[2*T^2*k(8) 2*T*ee*b2*k(8) 0]" Denominator "[T^2 e(8)*T w(8)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn15" Position [875, 643, 995, 697] ShowName off Numerator "[1]" Denominator "[T ee*b1 ]" } Block { BlockType TransferFcn Name "Transfer Fcn6" Position [430, 137, 635, 193] ShowName off Numerator "[2*T^2*k(3) 2*T*ee*b2*k(3) 0]" Denominator "[T^2 e(3)*T w(3)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn7" Position [430, 198, 635, 252] ShowName off Numerator "[2*T^2*k(4) 2*T*ee*b2*k(4) 0]" Denominator "[T^2 e(4)*T w(4)^2 ]" } Block { BlockType Outport Name "P1" Position [795, 269, 835, 301] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "Q0" Position [1045, 655, 1090, 685] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "p" Position [825, 525, 870, 555] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Demux" SrcPort 8 DstBlock "Transfer Fcn14" DstPort 1 } Line { SrcBlock "Demux" SrcPort 7 DstBlock "Transfer Fcn12" DstPort 1 } Line { SrcBlock "Demux" SrcPort 6 DstBlock "Transfer Fcn11" DstPort 1 } Line { SrcBlock "Demux" SrcPort 5 DstBlock "Transfer Fcn13" DstPort 1 } Line { SrcBlock "Transfer Fcn14" SrcPort 1 Points [0, 0] Branch { DstBlock "Sum5" DstPort 8 } Branch { Points [0, 290] DstBlock "Mux" DstPort 8 } } Line { SrcBlock "Demux" SrcPort 4 DstBlock "Transfer Fcn7" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "Transfer Fcn6" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Transfer Fcn1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 } Line { SrcBlock "Matrix\nGain1" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Q1" SrcPort 1 DstBlock "Integrator" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "P1" DstPort 1 } Line { SrcBlock "Integrator" SrcPort 1 DstBlock "Matrix\nGain4" DstPort 1 } Line { SrcBlock "Matrix\nGain4" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Transfer Fcn12" SrcPort 1 Points [10, 0] Branch { Points [0, 325] DstBlock "Mux" DstPort 7 } Branch { DstBlock "Sum5" DstPort 7 } } Line { SrcBlock "Transfer Fcn11" SrcPort 1 Points [20, 0] Branch { Points [0, 360] DstBlock "Mux" DstPort 6 } Branch { DstBlock "Sum5" DstPort 6 } } Line { SrcBlock "Transfer Fcn13" SrcPort 1 Points [30, 0] Branch { Points [0, 395] DstBlock "Mux" DstPort 5 } Branch { DstBlock "Sum5" DstPort 5 } } Line { SrcBlock "Transfer Fcn7" SrcPort 1 Points [40, 0] Branch { Points [0, 430] DstBlock "Mux" DstPort 4 } Branch { DstBlock "Sum5" DstPort 4 } } Line { SrcBlock "Transfer Fcn6" SrcPort 1 Points [50, 0] Branch { Points [0, 465] DstBlock "Mux" DstPort 3 } Branch { DstBlock "Sum5" DstPort 3 } } Line { SrcBlock "Transfer Fcn1" SrcPort 1 Points [60, 0] Branch { Points [0, 500] DstBlock "Mux" DstPort 2 } Branch { DstBlock "Sum5" DstPort 2 } } Line { SrcBlock "Transfer Fcn" SrcPort 1 Points [70, 0] Branch { Points [0, 535] DstBlock "Mux" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "Transfer Fcn15" SrcPort 1 DstBlock "Q0" DstPort 1 } Line { SrcBlock "Matrix\nGain5" SrcPort 1 DstBlock "Transfer Fcn15" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Matrix\nGain1" DstPort 1 } Line { SrcBlock "P0" SrcPort 1 Points [25, 0] Branch { Points [0, 275] DstBlock "Sum5" DstPort 9 } Branch { DstBlock "Sum2" DstPort 2 } } Line {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -