$(instance)TubeBase Icon

TubeBase

This component extends from TwoPorts

Usage

TubeBase(area, length, perimeter, shape_factor, head_factor, add_inertia=false, d_h=4*area/perimeter, m_flow0)

Parameters:

NameDescriptionUnitsDefault value
aream2
lengthm
perimeterm
shape_factor
head_factor
add_inertiafalse
d_hm4 * area / perimeter
m_flow0kg/s

Connectors

Variables

NameDescriptionUnits
ΔpPa
m_flowkg/s
rhokg/m3
muPa.s
velocitym/s
sheerPa
ff

Behavior

Behavior of this component cannot be rendered because it includes path variables.

Source

component TubeBase
  extends TwoPorts
  parameter area::Area
  parameter length::Length
  parameter perimeter::Length
  parameter shape_factor::Real
  parameter head_factor::Real
  parameter add_inertia::Boolean = false
  final parameter d_h::Length = 4*area/perimeter
  variable rho::Density
  variable mu::DynamicViscosity
  variable velocity::Velocity
  variable sheer::Pressure
  variable ff::Real
  parameter m_flow0::MassFlowRate
relations
  initial m_flow = m_flow0
  rho = density(port_a.medium, port_a.p)
  mu = viscosity(port_a.medium)
  velocity = m_flow/(rho*area)
  ff = friction_factor(m_flow, area, d_h, mu, shape_factor)
  sheer = 0.5*rho*reg_pow(velocity, 2)*ff*head_factor*(length/d_h)
  Δp = if add_inertia then sheer+(length/area)*der(m_flow) else sheer
  m_flow = port_a.m_flow
end
Flattened Source
component TubeBase
  port_a = Port()
  port_b = Port()
  variable Δp::AbsolutePressure
  variable m_flow::MassFlowRate
  parameter area::Area
  parameter length::Length
  parameter perimeter::Length
  parameter shape_factor::Real
  parameter head_factor::Real
  parameter add_inertia::Boolean = false
  final parameter d_h::Length = 4*area/perimeter
  variable rho::Density
  variable mu::DynamicViscosity
  variable velocity::Velocity
  variable sheer::Pressure
  variable ff::Real
  parameter m_flow0::MassFlowRate
relations
  continuity(port_a.medium, port_b.medium)
  port_a.m_flow+port_b.m_flow = 0
  Δp = port_a.p-port_b.p
  initial m_flow = m_flow0
  rho = density(port_a.medium, port_a.p)
  mu = viscosity(port_a.medium)
  velocity = m_flow/(rho*area)
  ff = friction_factor(m_flow, area, d_h, mu, shape_factor)
  sheer = 0.5*rho*reg_pow(velocity, 2)*ff*head_factor*(length/d_h)
  Δp = if add_inertia then sheer+(length/area)*der(m_flow) else sheer
  m_flow = port_a.m_flow
metadata {}
end

Test Cases

  • Examples
  • Experiments
  • Analyses