MhkWave

Wrapper for SAM Simulation Core model: cmod_mhk_wave.cpp

Creating an Instance

There are three methods to create a new instance of a PySAM module. Using default populates the newclass’ attributes with default values specific to a config. Each technology-financialconfiguration corresponds to a SAM GUI configuration. Using new creates an instance with empty attributes. The wrap function allows compatibility with PySSC, for details, refer to PySSC.

MhkWave model description

Wave marine hydrokinetic system

PySAM.MhkWave.default(config) → MhkWave

Use financial config-specific default attributes config options:

  • “MEwaveLCOECalculator”
PySAM.MhkWave.from_existing(data, optional config) → MhkWave

Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

PySAM.MhkWave.new() → MhkWave
PySAM.MhkWave.wrap(ssc_data_t) → MhkWave

Use existing PySSC data

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap

Functions

class PySAM.MhkWave.MhkWave

This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.

assign(dict) → None

Assign attributes from nested dictionary, except for Outputs

nested_dict = { 'MHKWave': { var: val, ...}, ...}

execute(int verbosity) → None

Execute simulation with verbosity level 0 (default) or 1

export() → dict

Export attributes into nested dictionary

value(name, optional value) → Union[None, float, dict, sequence, str]

Get or set by name a value in any of the variable groups.

MHKWave Group

class PySAM.MhkWave.MhkWave.MHKWave
assign() → None

Assign attributes from dictionary

MHKWave_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

device_rated_power

Rated capacity of device [kW]

Required: True

Changes to this variable may require updating the values of the following:
  • number_devices
  • system_capacity
This variable may need to be updated if the values of the following have changed:
  • wave_power_matrix
Type:float
loss_additional

Additional losses [%]

Required: True

Type:float
loss_array_spacing

Array spacing loss [%]

Required: True

Type:float
loss_downtime

Array/WEC downtime loss [%]

Required: True

Type:float
loss_resource_overprediction

Resource overprediction loss [%]

Required: True

Type:float
loss_transmission

Transmission losses [%]

Required: True

Type:float
number_devices

Number of wave devices in the system

Constraints: INTEGER

Required: If not provided, assumed to be 1

Changes to this variable may require updating the values of the following:
  • system_capacity
This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • wave_power_matrix
Type:float
system_capacity

System Nameplate Capacity [kW]

Required: If not provided, assumed to be 0

This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • number_devices
  • wave_power_matrix
Type:float
wave_power_matrix

Wave Power Matrix

Required: True

Changes to this variable may require updating the values of the following:
  • device_rated_power
  • number_devices
  • system_capacity
Type:sequence[sequence]
wave_resource_matrix

Frequency distribution of wave resource as a function of Hs and Te

Required: True

Type:sequence[sequence]

Outputs Group

class PySAM.MhkWave.MhkWave.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

annual_energy

Annual energy production of array [kWh]

Type:float
annual_energy_distribution

Annual energy production as function of Hs and Te

Type:sequence[sequence]
capacity_factor

Capacity Factor [%]

Type:float
device_average_power

Average power production of a single device [kW]

Type:float