class EnergyPlus::SlabGtpFile
Attributes
averageTemps[RW]
convergence[RW]
months[RW]
Public Class Methods
new(path)
click to toggle source
# File lib/energyplus/SlabGtpFile.rb, line 28 def initialize(path) @path = Pathname.new(path) @convergence = false @months = [] @averageTemps = [] init end
Public Instance Methods
getGroundTemps()
click to toggle source
# File lib/energyplus/SlabGtpFile.rb, line 36 def getGroundTemps result = "Site:GroundTemperature:BuildingSurface,\n" result+= " #{@averageTemps[0]}, !- January Ground Temperature {C}\n" result+= " #{@averageTemps[1]}, !- February Ground Temperature {C}\n" result+= " #{@averageTemps[2]}, !- March Ground Temperature {C}\n" result+= " #{@averageTemps[3]}, !- April Ground Temperature {C}\n" result+= " #{@averageTemps[4]}, !- May Ground Temperature {C}\n" result+= " #{@averageTemps[5]}, !- June Ground Temperature {C}\n" result+= " #{@averageTemps[6]}, !- July Ground Temperature {C}\n" result+= " #{@averageTemps[7]}, !- August Ground Temperature {C}\n" result+= " #{@averageTemps[8]}, !- September Ground Temperature {C}\n" result+= " #{@averageTemps[9]}, !- October Ground Temperature {C}\n" result+= " #{@averageTemps[10]}, !- November Ground Temperature {C}\n" result+= " #{@averageTemps[11]}; !- December Ground Temperature {C}\n" return result end
Private Instance Methods
init()
click to toggle source
# File lib/energyplus/SlabGtpFile.rb, line 55 def init if @path.exist? File.open(@path) do |f| text = f.read parse(text) end end end
parse(text)
click to toggle source
# File lib/energyplus/SlabGtpFile.rb, line 64 def parse(text) # check for convergence regex = /(Convergence has been gained.).*\n/ if text.match(regex) then @convergence = true end #parse out the monthly values startRegex = /\s*Month\s*TAverage\s*TPerimeter\s*TCore\s*TInside\s*AverageFlux\s*PerimeterFlux\s*CoreFlux/ readingTable = false numRowsRead = 0 text.each_line do |line| if readingTable # split each row and count as read data = line.strip.split(/\s+/) numRowsRead += 1 # insert into members @months << data[2] @averageTemps << data[1] # only read 12 months if numRowsRead == 12 break end end # have we started reading the table yet if line.match(startRegex) readingTable = true end end end