Module: BTAP::Geometry::Zones

Defined in:
lib/openstudio-standards/btap/geometry.rb

Overview

This Module contains methods that create, modify and query Thermal zone objects.

Class Method Summary collapse

Class Method Details

.create_thermal_zone(model, spaces_array = "") ⇒ Object



2606
2607
2608
2609
2610
# File 'lib/openstudio-standards/btap/geometry.rb', line 2606

def self.create_thermal_zone(model, spaces_array = "")
  thermal_zone = OpenStudio::Model::ThermalZone.new(model)
  BTAP::Geometry::Spaces::assign_spaces_to_thermal_zone(model, spaces_array, thermal_zone)
  return thermal_zone
end

.enumerate_model(model) ⇒ Object



2558
2559
2560
# File 'lib/openstudio-standards/btap/geometry.rb', line 2558

def self.enumerate_model(model)

end

.filter_core_zones(thermal_zones) ⇒ Array<OpenStudio::Model::ThermalZone] an array of zones

This method will filter an array of zones that have no external wall passed floors. Note: if you wish to avoid to create an array of spaces, simply put the space variable in [] brackets Ex: ( [space1,space2] )

Parameters:

Returns:



2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
# File 'lib/openstudio-standards/btap/geometry.rb', line 2589

def self.filter_core_zones(thermal_zones)
  array = Array.new()
  thermal_zones.getThermalZones.sort.each do |zone|
    zone.space.each do |space|
      if not space.is_a_perimeter_space?()
        array.push(zone)
        next
      end
    end
  end
  return array
end

.filter_perimeter_zones(thermal_zones) ⇒ Array<OpenStudio::Model::ThermalZone] an array of thermal zones.

This method will filter an array of zones that have an external wall passed floors. Note: if you wish to avoid to create an array of spaces, simply put the space variable in [] brackets Ex: get_all_surfaces_from_spaces( [space1,space2] )

Parameters:

Returns:



2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
# File 'lib/openstudio-standards/btap/geometry.rb', line 2569

def self.filter_perimeter_zones(thermal_zones)
  array = Array.new()
  thermal_zones.each do |zone|
    zone.space.each do |space|
      if space.is_a_perimeter_space?()
        array.push(zone)
        next
      end
    end
  end
  return array
end

.get_surfaces_from_thermal_zones(thermal_zone_array) ⇒ Object



2602
2603
2604
# File 'lib/openstudio-standards/btap/geometry.rb', line 2602

def self.get_surfaces_from_thermal_zones(thermal_zone_array)
  BTAP::Geometry::Surfaces::get_all_surfaces_from_thermal_zones(thermal_zone_array)
end