Class: Ilm::Chemical::Reactors::ContinuousStirredTankReactor

Inherits:
Reactor
  • Object
show all
Defined in:
lib/ilm/chemical/reactors/continuous_stirred_tank_reactor.rb

Overview

This class is for cst reactors

Instance Attribute Summary

Attributes inherited from Reactor

#input, #output, #reaction, #system, #volume

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ ContinuousStirredTankReactor

Returns a new instance of ContinuousStirredTankReactor.



8
9
10
# File 'lib/ilm/chemical/reactors/continuous_stirred_tank_reactor.rb', line 8

def initialize(args = {})
  super args
end

Class Method Details

.humanized_nameObject



24
25
26
# File 'lib/ilm/chemical/reactors/continuous_stirred_tank_reactor.rb', line 24

def self.humanized_name
  'Continuous stirred-tank reactor'
end

Instance Method Details

#find_volumeObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ilm/chemical/reactors/continuous_stirred_tank_reactor.rb', line 12

def find_volume
  # accumulation is zero
  compound_formula = @reaction.rate_equation.split(' ').first.split('r').last
  ci = @input[:substance].species[compound_formula]
  co = @output[:substance].species[compound_formula]
  input = @input[:quantity] * ci[:weight_percent] /
          (100 * ci[:compound].molar_mass)
  output = @output[:quantity] * co[:weight_percent] /
           (100 * co[:compound].molar_mass)
  x = (input - output) / input
end