Class: DcToAcConversion
- Inherits:
-
Object
- Object
- DcToAcConversion
- Defined in:
- lib/PVLIB_Ruby/dc_to_ac_conversion.rb
Overview
This class uses Sandia’s Grid-Connected PV Inverter model, which is based on: SAND2007-5036, “Performance Model for Grid-Connected Photovoltaic Inverters by D. King, S. Gonzalez, G. Galbraith, W. Boyson Since this paper was not available any more, we referred to pvpmc.sandia.gov/modeling-steps/dc-to-ac-conversion/sandia-inverter-model/ Other inverter models are realized by subclasses.
Instance Method Summary collapse
- #ac_power(dc_input_voltage, dc_input_power) ⇒ Object
-
#initialize(inverter) ⇒ DcToAcConversion
constructor
A new instance of DcToAcConversion.
Constructor Details
#initialize(inverter) ⇒ DcToAcConversion
Returns a new instance of DcToAcConversion.
9 10 11 |
# File 'lib/PVLIB_Ruby/dc_to_ac_conversion.rb', line 9 def initialize(inverter) @inverter = inverter end |
Instance Method Details
#ac_power(dc_input_voltage, dc_input_power) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/PVLIB_Ruby/dc_to_ac_conversion.rb', line 13 def ac_power(dc_input_voltage, dc_input_power) # A = Pdc0 * ( 1 + C1 * (Vdc - Vdc0) ) dc_power_adjustment_parameter = @inverter. * (1 + @inverter. * (dc_input_voltage - @inverter.)) # B = Ps0 * ( 1 + C2 * (Vdc - Vdc0) ) starting_dc_power_adjustment_parameter = @inverter.starting_dc_power * (1 + @inverter.coefficient_for_starting_dc_power * (dc_input_voltage - @inverter.)) # C = C0 * ( 1 + C3 * (Vdc - Vdc0) ) coefficient_adjustment_parameter = @inverter.power_adjustment_coefficient * (1 + @inverter.coefficient_for_power_adjustment_coefficient * (dc_input_voltage - @inverter.)) ac_power = (@inverter. / (dc_power_adjustment_parameter - starting_dc_power_adjustment_parameter) - coefficient_adjustment_parameter * (dc_power_adjustment_parameter - starting_dc_power_adjustment_parameter)) * (dc_input_power - starting_dc_power_adjustment_parameter) + coefficient_adjustment_parameter * (dc_input_power - starting_dc_power_adjustment_parameter).power(2) adjust_ac_power(ac_power) end |