class Gtengine::Simple::PikOptimizer
Attributes
air[RW]
cycles[RW]
end_pik[RW]
optimum[RW]
start_pik[RW]
step[RW]
t_g[RW]
Public Class Methods
new(air, start_pik, end_pik, t_g, step = 1)
click to toggle source
# File lib/gtengine/simple/pik_optimizer.rb, line 4 def initialize(air, start_pik, end_pik, t_g, step = 1) @air, @start_pik, @end_pik, @t_g, @step = air, start_pik, end_pik, t_g, step @cycles = [] optimize end
Public Instance Methods
calc_result(pik)
click to toggle source
# File lib/gtengine/simple/pik_optimizer.rb, line 16 def calc_result(pik) c = Gtengine::Simple::Cycle.new(air, pik, t_g) @cycles << c if c.burner.q_ks rescue false end
info()
click to toggle source
# File lib/gtengine/simple/pik_optimizer.rb, line 27 def info cycles.each { |c| c.info } puts "Optimal pi_k: #{optimal.pi_k}, q_ks: #{optimal.q_ks}" end
optimal()
click to toggle source
# File lib/gtengine/simple/pik_optimizer.rb, line 23 def optimal cycles.sort { |a, b| a.burner.q_ks <=> b.burner.q_ks }.first end
optimize()
click to toggle source
# File lib/gtengine/simple/pik_optimizer.rb, line 10 def optimize Range.new(start_pik, end_pik).step(step).each do |pik| calc_result(pik) end end