class Pulo::Pipeline
Attributes
cost[R]
flow[R]
flow_velocity[R]
friction_gradient[R]
friction_head[R]
hydraulic_power[R]
inlet_pressure[R]
inside_cylinder[R]
length[R]
mass[R]
outlet_pressure[R]
outside_cylinder[R]
pipe_type[R]
static_head[R]
total_head[R]
wall_area[R]
wall_density[R]
wall_thickness[R]
wall_volume[R]
Public Class Methods
new(args)
click to toggle source
# File lib/pulo/machine/hydraulics/pipe.rb, line 36 def initialize(args) @pipe_type_ref=args[:pipe] @pipe_type=PipeTypes.new().pipe_types[@pipe_type_ref] @length=args[:length] @cost=@length*@pipe_type[:unit_cost]/@pipe_type[:unit_length] @inside_cylinder=Cylinder.new(diameter: @pipe_type[:id], length: @length) @outside_cylinder=Cylinder.new(diameter: @pipe_type[:od], length: @length) @wall_thickness=@outside_cylinder.radius-@inside_cylinder.radius @wall_area=@outside_cylinder.area-@inside_cylinder.area @wall_volume=@outside_cylinder.volume-@inside_cylinder.volume @mass=@wall_volume*@pipe_type[:density] args[:static_head] ? @static_head=args[:static_head] : @static_head=Length.meters(0) args[:inlet_pressure] ? @inlet_pressure=args[:inlet_pressure] : @inlet_pressure=Pressure.pascals(0) args[:outlet_pressure] ? @outlet_pressure=args[:outlet_pressure] : @outlet_pressure=Pressure.pascals(0) @pressure_head=(@outlet_pressure-@inlet_pressure)/(Water.standard_density*Acceleration.standard_gravity) end
Public Instance Methods
flow=(val)
click to toggle source
# File lib/pulo/machine/hydraulics/pipe.rb, line 56 def flow=(val) @flow=val @flow_velocity=@flow/inside_cylinder.area head_for_flow() @hydraulic_power=((@flow*Water.standard_density)*Acceleration.standard_gravity)*@total_head end
head_for_flow()
click to toggle source
# File lib/pulo/machine/hydraulics/pipe.rb, line 63 def head_for_flow() k=(@pipe_type[:Chw]**1.85)*@inside_cylinder.face.diameter.meters.value**4.87 @friction_gradient=Dimensionless.n(10.67*@flow.cubic_meter_per_second.value**1.85/k) @friction_head=@length * @friction_gradient @total_head=@friction_head+@static_head+@pressure_head end