@@ -350,27 +350,6 @@ function StepSource(; P, name)
350
350
ODESystem (eqs, t, vars, pars; name, systems)
351
351
end
352
352
353
- function Pipe (; P, R, name)
354
- pars = @parameters begin
355
- p_int = P
356
- resistance = R
357
- end
358
-
359
- vars = []
360
-
361
- # nodes -------------------------------
362
- systems = @named begin
363
- HA = HydraulicPort (; P = p_int)
364
- HB = HydraulicPort (; P = p_int)
365
- end
366
-
367
- # equations ---------------------------
368
- eqs = [HA. p - HB. p ~ HA. dm * resistance / HA. viscosity
369
- 0 ~ HA. dm + HB. dm]
370
-
371
- ODESystem (eqs, t, vars, pars; name, systems)
372
- end
373
-
374
353
function StaticVolume (; P, V, name)
375
354
D = Differential (t)
376
355
@@ -401,6 +380,49 @@ function StaticVolume(; P, V, name)
401
380
defaults = [vrho => rho_0 * (1 + p_int / H. bulk)])
402
381
end
403
382
383
+ function PipeBase (; P, R, name)
384
+ pars = @parameters begin
385
+ p_int = P
386
+ resistance = R
387
+ end
388
+
389
+ vars = []
390
+
391
+ # nodes -------------------------------
392
+ systems = @named begin
393
+ HA = HydraulicPort (; P = p_int)
394
+ HB = HydraulicPort (; P = p_int)
395
+ end
396
+
397
+ # equations ---------------------------
398
+ eqs = [HA. p - HB. p ~ HA. dm * resistance / HA. viscosity
399
+ 0 ~ HA. dm + HB. dm]
400
+
401
+ ODESystem (eqs, t, vars, pars; name, systems)
402
+ end
403
+
404
+ function Pipe (; P, R, name)
405
+ pars = @parameters begin
406
+ p_int = P
407
+ resistance = R
408
+ end
409
+
410
+ vars = []
411
+
412
+ systems = @named begin
413
+ HA = HydraulicPort (; P = p_int)
414
+ HB = HydraulicPort (; P = p_int)
415
+ p12 = PipeBase (; P = p_int, R = resistance)
416
+ v1 = StaticVolume (; P = p_int, V = 0.01 )
417
+ v2 = StaticVolume (; P = p_int, V = 0.01 )
418
+ end
419
+
420
+ eqs = [connect (v1. H, p12. HA, HA)
421
+ connect (v2. H, p12. HB, HB)]
422
+
423
+ ODESystem (eqs, t, vars, pars; name, systems)
424
+ end
425
+
404
426
function TwoFluidSystem (; name)
405
427
pars = []
406
428
vars = []
0 commit comments