Changeset 1950
- Timestamp:
- 12/05/2008 07:57:47 AM (5 weeks ago)
- Location:
- Modelica_Fluid/branches/StreamConnector/Modelica_Fluid
- Files:
-
- 4 modified
-
Examples/AST_BatchPlant.mo (modified) (2 diffs)
-
Pipes.mo (modified) (8 diffs)
-
Test/TestOverdeterminedSteadyStateInit.mo (modified) (3 diffs)
-
Volumes.mo (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Modelica_Fluid/branches/StreamConnector/Modelica_Fluid/Examples/AST_BatchPlant.mo
r1949 r1950 1291 1291 fillColor={85,170,255}, 1292 1292 fillPattern=FillPattern.Solid), 1293 Line(points={{-200,100},{-200,-100},{0,-100},{0,100}}, color={0,0,0}), 1294 1293 Line(points={{-200,100},{-200,-100},{0,-100},{0,100}}, color={0,0,0}), 1295 1294 Text( 1296 1295 extent={{-198,74},{0,38}}, … … 2052 2051 lineColor={0,0,0}, 2053 2052 textString=DynamicSelect(" ", realString( 2054 level, 2055 1, 2053 level, 2054 1, 2056 2055 3))), 2057 2056 Line( -
Modelica_Fluid/branches/StreamConnector/Modelica_Fluid/Pipes.mo
r1949 r1950 182 182 extends Modelica_Fluid.Volumes.BaseClasses.PartialDistributedVolume( 183 183 final n = nNodes, 184 Qs_flow=heatTransfer.Q_flow); 184 Qs_flow = heatTransfer.Q_flow*nTubes); 185 186 // Note: define nTubes as Real to support inverse calculations 187 parameter Real nTubes(min=1)=1 "Number of parallel tubes" 188 annotation(Dialog(group="Geometry")); 185 189 186 190 // extending PartialPipe … … 259 263 final length=length, 260 264 state=medium.state, 261 m_flow = 0.5*(m_flow[1:n]+m_flow[2:n+1])) "Edit heat transfer parameters" 262 annotation (editButton=true, Placement(transformation(extent={{-20,-5},{20,35}}, rotation=0))); 265 m_flow = 0.5*(m_flow[1:n]+m_flow[2:n+1])/nTubes) 266 "Edit heat transfer parameters" 267 annotation (editButton=true, Placement(transformation(extent={{-20,-5},{20,35}}, rotation=0))); 263 268 264 269 equation … … 278 283 279 284 // Source/sink terms for mass and energy balances 280 fluidVolume=fill(V/n , n);285 fluidVolume=fill(V/n*nTubes, n); 281 286 Ws_flow=zeros(n); 282 287 for i in 1:n loop … … 317 322 fill(medium[1].p, n-1) = medium[2:n].p; 318 323 if modelStructure == ModelStructure.a_v_b then 319 m_flow[1] = pressureDrop.m_flow[1] ;324 m_flow[1] = pressureDrop.m_flow[1]*nTubes; 320 325 flowState[1] = state_a; 321 326 flowState[2] = medium[iLumped].state; 322 327 flowState[3] = state_b; 323 m_flow[n+1] = pressureDrop.m_flow[2] ;328 m_flow[n+1] = pressureDrop.m_flow[2]*nTubes; 324 329 elseif modelStructure == ModelStructure.av_b then 325 330 port_a.p = medium[1].p; 326 331 flowState[1] = medium[iLumped].state; 327 332 flowState[2] = state_b; 328 m_flow[n+1] = pressureDrop.m_flow[1] ;333 m_flow[n+1] = pressureDrop.m_flow[1]*nTubes; 329 334 elseif modelStructure == ModelStructure.a_vb then 330 m_flow[1] = pressureDrop.m_flow[1] ;335 m_flow[1] = pressureDrop.m_flow[1]*nTubes; 331 336 flowState[1] = state_a; 332 337 flowState[2] = medium[iLumped].state; … … 351 356 //m_flow[2:n+1] = pressureDrop.m_flow; 352 357 for i in 2:n+1 loop 353 m_flow[i] = pressureDrop.m_flow[i-1] ;358 m_flow[i] = pressureDrop.m_flow[i-1]*nTubes; 354 359 end for; 355 360 port_a.p = medium[1].p; … … 359 364 //m_flow[1:n] = pressureDrop.m_flow; 360 365 for i in 1:n loop 361 m_flow[i] = pressureDrop.m_flow[i] ;366 m_flow[i] = pressureDrop.m_flow[i]*nTubes; 362 367 end for; 363 368 port_b.p = medium[n].p; … … 366 371 //m_flow[2:n] = pressureDrop.m_flow[1:n-1]; 367 372 for i in 2:n loop 368 m_flow[i] = pressureDrop.m_flow[i-1] ;373 m_flow[i] = pressureDrop.m_flow[i-1]*nTubes; 369 374 end for; 370 375 port_a.p = medium[1].p; … … 463 468 //Geometry 464 469 parameter SI.Length length "Length" annotation(Dialog(tab="General", group="Geometry")); 465 parameter SI.Diameter diameter "Diameter of circular pipe" annotation(Dialog(group="Geometry", enable=isCircular));466 470 parameter SI.Length roughness(min=0)=2.5e-5 467 471 "Average height of surface asperities (default = smooth steel pipe)" 468 472 annotation(Dialog(group="Geometry",enable=WallFriction.use_roughness)); 473 parameter SI.Diameter diameter "Diameter of circular pipe" annotation(Dialog(group="Geometry", enable=isCircular)); 469 474 parameter Boolean isCircular=true 470 475 "= true if cross sectional area is circular" -
Modelica_Fluid/branches/StreamConnector/Modelica_Fluid/Test/TestOverdeterminedSteadyStateInit.mo
r1949 r1950 13 13 Pipes.DistributedPipe pipe( 14 14 redeclare package Medium = Modelica.Media.Water.StandardWater, 15 nNodes=5,16 15 h_start=2e6, 17 16 diameter=0.05, … … 19 18 use_T_start=false, 20 19 modelStructure=Modelica_Fluid.Types.ModelStructure.a_vb, 20 lumpedPressure=true, 21 21 p_a_start=10000000, 22 22 p_b_start=9900000, 23 lumpedPressure=true)23 nNodes=5) 24 24 annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); 25 25 ControlValves.ValveCompressible valve( … … 86 86 graphics), 87 87 Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100, 88 -100},{100,100}}), graphics={Rectangle(extent={{-100,100},{100,-100}}, 88 -100},{100,100}}), graphics={Rectangle(extent={{-100,100},{100,-100}}, 89 89 lineColor={0,0,255}), Text( 90 90 extent={{-60,60},{60,-60}}, -
Modelica_Fluid/branches/StreamConnector/Modelica_Fluid/Volumes.mo
r1949 r1950 332 332 lineColor={0,0,0}, 333 333 textString=DynamicSelect(" ", realString( 334 level, 335 1, 334 level, 335 1, 336 336 integer(precision)))), 337 337 Line( … … 657 657 lineColor={0,0,0}, 658 658 textString=DynamicSelect(" ", realString( 659 level, 660 1, 659 level, 660 1, 661 661 3))), 662 662 Line( … … 1073 1073 1074 1074 //Source terms, have to be set in inheriting class (to zero if not used) 1075 protected1076 1075 SI.Volume[n] fluidVolume 1077 1076 "Discretized volume, determine in inheriting class";
