📄 fluidpipelinesimulinkmodels.mdl
字号:
SrcBlock "Mux" SrcPort 1 Points [10, 0] Branch { DstBlock "Matrix\nGain5" DstPort 1 } Branch { Points [0, -130] DstBlock "p" DstPort 1 } } } } Block { BlockType SubSystem Name "Q-pipeline" Ports [2, 3, 0, 0, 0] Position [100, 42, 135, 88] ShowPortLabels off MaskType "Q-pipeline" MaskDescription "Linear dynamic model of a rigid uniform fluid t""ransmission line with inputs= volumetric flow rate at the ends (inflow positi""ve), outputs=pressures at the ends and mode shapes p. The pressure at x is p*""cos(pi*(0:8)'*x/length)" 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:""8;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; if p7==1, k=ones(1,8);elseif p7==2, k=cos(jj*pi/9/2).^2;elseif p7==3, ""k=0.54+.46*cos(jj*pi/9);elseif p7==4, k= 9 ./(jj*pi).*sin(jj*pi/9);elseif p7=""=5, k= 0.42323+0.49755*cos(jj*pi/9)+0.07922*cos(2*jj*pi/9);else, k=ones(1,8)"";end; b=1 ./(8*sum(k(1:2:7) ./w(1:2:7).^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 "870|8e-5|19.74|6.17e-3|1400|0|Blackman-Harris" System { Name "Q-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 "Q0" Position [20, 20, 40, 40] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Inport Name "Q1" Position [25, 350, 45, 370] Port "2" PortWidth "-1" SampleTime "-1" } Block { BlockType Gain Name "Gain" Position [130, 338, 170, 372] ShowName off Gain "1/2" } Block { BlockType Gain Name "Gain1" Position [125, 25, 160, 55] ShowName off Gain "1/2" } Block { BlockType Gain Name "Gain2" Position [220, 24, 260, 56] ShowName off Gain "2/T" } Block { BlockType Gain Name "Gain3" Position [630, 145, 660, 175] ShowName off Gain "Z0" } Block { BlockType Gain Name "Gain4" Position [630, 430, 660, 460] ShowName off Gain "Z0" } Block { BlockType Gain Name "Gain5" Position [630, 635, 660, 665] ShowName off Gain "Z0" } Block { BlockType Integrator Name "Integrator" Ports [1, 1, 0, 0, 0] Position [290, 27, 315, 53] ShowName off ExternalReset none InitialConditionSource internal InitialCondition "Pinit" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Mux Name "Mux" Ports [9, 1, 0, 0, 0] Position [565, 584, 595, 716] Inputs "9" } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [100, 339, 115, 366] ShowName off Inputs "+-" } Block { BlockType Sum Name "Sum1" Ports [2, 1, 0, 0, 0] Position [95, 23, 110, 52] ShowName off Inputs "++" } Block { BlockType Sum Name "Sum2" Ports [2, 1, 0, 0, 0] Position [710, 152, 735, 183] ShowName off Inputs "++" } Block { BlockType Sum Name "Sum3" Ports [2, 1, 0, 0, 0] Position [715, 423, 740, 452] ShowName off Inputs "+-" } Block { BlockType Sum Name "Sum4" Ports [5, 1, 0, 0, 0] Position [580, 3, 595, 317] ShowName off Inputs "+++++" } Block { BlockType Sum Name "Sum5" Ports [4, 1, 0, 0, 0] Position [580, 320, 595, 570] ShowName off Inputs "++++" } Block { BlockType TransferFcn Name "Transfer Fcn" Position [205, 328, 410, 382] ShowName off Numerator "[4*k(1)*T 4*b*k(1)*ee]" Denominator "[T^2 e(1)*T w(1)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn1" Position [205, 387, 410, 443] ShowName off Numerator "[4*k(3)*T 4*b*k(3)*ee]" Denominator "[T^2 e(3)*T w(3)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn2" Position [205, 71, 410, 129] ShowName off Numerator "[4*k(2)*T 4*k(2)*ee]" Denominator "[T^2 e(2)*T w(2)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn3" Position [205, 133, 410, 187] ShowName off Numerator "[4*k(4)*T 4*k(4)*ee]" Denominator "[T^2 e(4)*T w(4)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn4" Position [205, 191, 410, 249] ShowName off Numerator "[4*k(6)*T 4*k(6)*ee]" Denominator "[T^2 e(6)*T w(6)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn5" Position [205, 252, 410, 308] ShowName off Numerator "[4*k(8)*T 4*k(8)*ee]" Denominator "[T^2 e(8)*T w(8)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn6" Position [205, 447, 410, 503] ShowName off Numerator "[4*k(5)*T 4*b*k(5)*ee]" Denominator "[T^2 e(5)*T w(5)^2 ]" } Block { BlockType TransferFcn Name "Transfer Fcn7" Position [205, 508, 410, 562] ShowName off Numerator "[4*k(7)*T 4*b*k(7)*ee]" Denominator "[T^2 e(7)*T w(7)^2 ]" } Block { BlockType Outport Name "P0" Position [775, 154, 815, 186] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "P1" Position [775, 425, 820, 455] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "p" Position [715, 635, 760, 665] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Gain" SrcPort 1 Points [0, 0] Branch { Points [0, 60] Branch { DstBlock "Transfer Fcn1" DstPort 1 } Branch { Points [0, 60] Branch { DstBlock "Transfer Fcn6" DstPort 1 } Branch { Points [0, 60] DstBlock "Transfer Fcn7" DstPort 1 } } } Branch { DstBlock "Transfer Fcn" DstPort 1 } } Line { SrcBlock "Gain1" SrcPort 1 Points [0, 0] Branch { Points [0, 60] Branch { DstBlock "Transfer Fcn2" DstPort 1 } Branch { Points [0, 60] Branch { Points [0, 60] Branch { DstBlock "Transfer Fcn4" DstPort 1 } Branch { Points [0, 60] DstBlock "Transfer Fcn5" DstPort 1 } } Branch { DstBlock "Transfer Fcn3" DstPort 1 } } } Branch { DstBlock "Gain2" DstPort 1 } } Line { SrcBlock "Gain4" SrcPort 1 Points [0, 0] Branch { Points [0, -270] DstBlock "Sum2" DstPort 2 } Branch { DstBlock "Sum3" DstPort 2 } } Line { SrcBlock "Gain3" SrcPort 1 Points [20, 0] Branch { Points [0, 270] DstBlock "Sum3" DstPort 1 } Branch { DstBlock "Sum2" DstPort 1 } } Line { SrcBlock "Q1" SrcPort 1 Points [30, 0] Branch { DstBlock "Sum1" DstPort 2 } Branch { DstBlock "Sum" DstPort 2 } } Line { SrcBlock "Sum3" SrcPort 1 DstBlock "P1" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "P0" DstPort 1 } Line { SrcBlock "Q0" SrcPort 1 Points [25, 0] Branch { Points [0, 315] DstBlock "Sum" DstPort 1 } Branch { DstBlock "Sum1" DstPort 1 } } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Integrator" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Gain3" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Integrator" SrcPort 1 Points [175, 0] Branch { Points [0, 550] DstBlock "Mux" DstPort 1 } Branch { DstBlock "Sum4" DstPort 1 } } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Gain5" DstPort 1 } Line { SrcBlock "Gain5" SrcPort 1 DstBlock "p" DstPort 1 } Line { SrcBlock "Transfer Fcn3" SrcPort 1 Points [40, 0] Branch { DstBlock "Sum4" DstPort 3 } Branch { Points [0, 490] DstBlock "Mux" DstPort 5 } } Line { SrcBlock "Transfer Fcn5" SrcPort 1 Points [0, 0] Branch { DstBlock "Sum4" DstPort 5 } Branch { Points [0, 430] DstBlock "Mux" DstPort 9 } } Line { SrcBlock "Transfer Fcn4" SrcPort 1 Points [20, 0] Branch { DstBlock "Sum4" DstPort 4 } Branch { Points [0, 460] DstBlock "Mux" DstPort 7 } } Line { SrcBlock "Transfer Fcn2" SrcPort 1 Points [60, 0] Branch { DstBlock "Sum4" DstPort 2 } Branch { Points [0, 520] DstBlock "Mux" DstPort 3 } } Line { 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 } } Annotation { Position [182, 337] VerticalAlignment top Text "Qa" } Annotation { Position [172, 22] VerticalAlignment top Text "Qs" } Annotation { Position [674, 138] VerticalAlignment top Text "Ps" } Annotation { Position [682, 454] VerticalAlignment top Text "Pa" } } } Annotation { Position [216, 162] Text "These blocks are described in:\nJ. Makinen, R. ""Piche and A. Ellman (2000),\n Fluid Transmission Line Modeling Using a Variat""ional Method, \nASME Journal of Dynamic Systems, Measurement, and Control,122"" (1), 153-162.\nAddress questions to robert.piche@tut.fi" } Annotation { Position [216, 22] Text "Fluid transmission lines" } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -