Class: PvModule

Inherits:
ActiveCsv show all
Defined in:
lib/PVLIB_Ruby/models/pv_module.rb

Overview

This is a model in model-view-controller design pattern. In this case, it is expending ActiveCsv, i.e. it is analogous to ActiveRecord. Hence, it’s a placeholder for data from CSV file.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ActiveCsv

create, #load_data, #persisted?, #valid?

Instance Attribute Details

#aObject

Returns the value of attribute a.



9
10
11
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 9

def a
  @a
end

#a_windObject

Returns the value of attribute a_wind.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def a_wind
  @a_wind
end

#alphaimpObject

Returns the value of attribute alphaimp.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def alphaimp
  @alphaimp
end

#alphaiscObject

Returns the value of attribute alphaisc.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def alphaisc
  @alphaisc
end

#areaObject

Returns the value of attribute area.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def area
  @area
end

#bObject

Returns the value of attribute b.



9
10
11
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 9

def b
  @b
end

#b_windObject

Returns the value of attribute b_wind.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def b_wind
  @b_wind
end

#betavmpObject

Returns the value of attribute betavmp.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def betavmp
  @betavmp
end

#betavocObject

Returns the value of attribute betavoc.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def betavoc
  @betavoc
end

#cObject

Returns the value of attribute c.



9
10
11
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 9

def c
  @c
end

#deltObject

Returns the value of attribute delt.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def delt
  @delt
end

#fdObject

Returns the value of attribute fd.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def fd
  @fd
end

#imp0Object

Returns the value of attribute imp0.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def imp0
  @imp0
end

#isc0Object

Returns the value of attribute isc0.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def isc0
  @isc0
end

#ix0Object

Returns the value of attribute ix0.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def ix0
  @ix0
end

#ixx0Object

Returns the value of attribute ixx0.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def ixx0
  @ixx0
end

#materialObject

Returns the value of attribute material.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def material
  @material
end

#mbetavmpObject

Returns the value of attribute mbetavmp.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def mbetavmp
  @mbetavmp
end

#mbetavocObject

Returns the value of attribute mbetavoc.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def mbetavoc
  @mbetavoc
end

#nObject

Returns the value of attribute n.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def n
  @n
end

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def name
  @name
end

#npObject

Returns the value of attribute np.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def np
  @np
end

#nsObject

Returns the value of attribute ns.



8
9
10
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 8

def ns
  @ns
end

#vintageObject

Returns the value of attribute vintage.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def vintage
  @vintage
end

#vmp0Object

Returns the value of attribute vmp0.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def vmp0
  @vmp0
end

#voc0Object

Returns the value of attribute voc0.



7
8
9
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 7

def voc0
  @voc0
end

Instance Method Details

#air_mass_variation_polynomial_coefficientsObject



15
16
17
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 15

def air_mass_variation_polynomial_coefficients
  convert_coefficients_to_bigdecimal(self.a)
end

#angle_of_incidence_polynominal_coefficientsObject



19
20
21
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 19

def angle_of_incidence_polynominal_coefficients
  convert_coefficients_to_bigdecimal(self.b)
end

#cell_module_back_surface_temperature_differenceObject



91
92
93
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 91

def cell_module_back_surface_temperature_difference
  BigDecimal(self.delt.to_s)
end

#diffuse_irradiance_factorObject



23
24
25
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 23

def diffuse_irradiance_factor
  BigDecimal(self.fd)
end

#diode_factorObject



51
52
53
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 51

def diode_factor
  BigDecimal(self.n.to_s)
end

#fifth_point_current_0Object



79
80
81
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 79

def fifth_point_current_0
  BigDecimal(self.ixx0.to_s)
end

#fourth_point_current_0Object



75
76
77
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 75

def fourth_point_current_0
  BigDecimal(self.ix0.to_s)
end

#irradiance_dependent_temperature_coefficient_for_maximum_power_point_voltageObject



71
72
73
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 71

def irradiance_dependent_temperature_coefficient_for_maximum_power_point_voltage
  BigDecimal(self.mbetavmp.to_s)
end

#irradiance_dependent_temperature_coefficient_for_open_circuit_voltageObject



59
60
61
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 59

def irradiance_dependent_temperature_coefficient_for_open_circuit_voltage
  BigDecimal(self.mbetavoc.to_s)
end

#maximum_power_point_current_0Object



31
32
33
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 31

def maximum_power_point_current_0
  BigDecimal(self.imp0.to_s)
end

#maximum_power_point_voltage_0Object



63
64
65
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 63

def maximum_power_point_voltage_0
  BigDecimal(self.vmp0.to_s)
end

#normalized_temperature_coefficient_for_maximum_power_point_currentObject



39
40
41
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 39

def normalized_temperature_coefficient_for_maximum_power_point_current
  BigDecimal(self.alphaimp.to_s)
end

#normalized_temperature_coefficient_for_short_circuit_currentObject



27
28
29
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 27

def normalized_temperature_coefficient_for_short_circuit_current
  BigDecimal(self.alphaisc.to_s)
end

#number_of_cells_in_seriesObject



47
48
49
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 47

def number_of_cells_in_series
  BigDecimal(self.ns.to_s)
end

#open_circuit_voltage_0Object



43
44
45
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 43

def open_circuit_voltage_0
  BigDecimal(self.voc0.to_s)
end

#performance_coefficientsObject



35
36
37
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 35

def performance_coefficients
  convert_coefficients_to_bigdecimal(self.c)
end

#short_circuit_current_0Object



11
12
13
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 11

def short_circuit_current_0
  BigDecimal(self.isc0.to_s)
end

#temperature_coefficient_for_maximum_power_point_voltageObject



67
68
69
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 67

def temperature_coefficient_for_maximum_power_point_voltage
  BigDecimal(self.betavmp.to_s)
end

#temperature_coefficient_for_open_circuit_voltageObject



55
56
57
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 55

def temperature_coefficient_for_open_circuit_voltage
  BigDecimal(self.betavoc.to_s)
end

#temperature_upper_limit_coefficientObject



83
84
85
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 83

def temperature_upper_limit_coefficient
  BigDecimal(self.a_wind.to_s)
end

#wind_speed_decrease_rate_coefficientObject



87
88
89
# File 'lib/PVLIB_Ruby/models/pv_module.rb', line 87

def wind_speed_decrease_rate_coefficient
  BigDecimal(self.b_wind.to_s)
end