class Gtengine::Simple::Turbine

Constants

DEFAULTS

Attributes

average[RW]
burner[RW]
l_k[RW]
options[RW]
output[RW]

Public Class Methods

new(burner, l_k, options = {}) click to toggle source
# File lib/gtengine/simple/turbine.rb, line 11
def initialize(burner, l_k, options = {})
  @burner, @l_k = burner, l_k
  @options = DEFAULTS.merge(options)
  cycle
end

Public Instance Methods

cp() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 76
def cp
  average.average_cp
end
cycle() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 49
def cycle
  @average = Gtengine::Gas.new(t_vh, p_vh)
  5.times { update_average }
  @output = Gtengine::Gas.new(t_vyh, p_vyh)
end
eta() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 33
def eta
  options[:eta]
end
eta_m() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 29
def eta_m
  options[:eta_m]
end
g_ohl() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 25
def g_ohl
  options[:g_ohl]
end
info() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 80
def info
  puts "== Turbine Cp_sr: #{cp}, K: #{k}, Pi_t: #{pi_t}, КДП: #{eta}"
  puts "==== Вход T: #{t_vh.to_i} K, P: #{p_vh.to_i} Па, ALFA: #{input.alfa}, Cp: #{input.cp}"
  puts "==== Выход T: #{output.t.to_i} K, P: #{output.p.to_i} Па, , Cp: #{output.cp}\n\n"
end
input() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 17
def input
  burner.output
end
k() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 72
def k
  average.average_k
end
kpd() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 21
def kpd
  options[:kpd]
end
l_t() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 68
def l_t
  cp * t_vh * ((1.0 - (pi_t ** ((1.0 - k) / k))) * kpd)
end
p_vh() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 41
def p_vh
  burner.output.p
end
p_vyh() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 64
def p_vyh
  p_vh / pi_t
end
pi_t() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 45
def pi_t
  (1.0 / (1.0 - temp_pi_t)) ** ((k - 1.0) / k)
end
t_vh() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 37
def t_vh
  burner.output.t
end
t_vyh() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 60
def t_vyh
  t_vh * (1.0 - ((1.0 - (pi_t ** ((1.0 - k) / k))) * kpd))
end
update_average() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 55
def update_average
  @average.t = (t_vh + t_vyh) / 2.0
  @average.p = (p_vh + p_vyh) / 2.0
end

Private Instance Methods

temp_pi_t() click to toggle source
# File lib/gtengine/simple/turbine.rb, line 88
def temp_pi_t
  (l_k / (1.0 + burner.q_ks)) / (t_vh * cp * eta * eta_m * (1.0 - g_ohl))
end