hydesign.costs.costs_solarX

Classes

sf_cost

Solar Field (SF) Cost Model - Calculates the capital and operational expenses

cpv_cost

Concentrated Photovoltaic (cpv) Cost Model - Calculates CAPEX and OPEX

cst_cost

Concentrated Solar Thermal (cst) Cost Model - Calculates the capital and

H2Cost

Hydrogen Production Cost Model - Calculates the capital and operational expenses

shared_cost

Shared Cost Model - Calculates costs for electrical infrastructure, land rental, and tower.

Module Contents

class hydesign.costs.costs_solarX.sf_cost(heliostat_cost_per_m2, sf_opex_cost_per_m2)[source]

Bases: openmdao.api.ExplicitComponent

Solar Field (SF) Cost Model - Calculates the capital and operational expenses for a solar field based on the input parameters.

heliostat_cost_per_m2[source]
sf_opex_cost_per_m2[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.costs.costs_solarX.cpv_cost(cpv_cost_per_m2, inverter_cost_per_MW_DC, cpv_fixed_opex_cost_per_m2)[source]

Bases: openmdao.api.ExplicitComponent

Concentrated Photovoltaic (cpv) Cost Model - Calculates CAPEX and OPEX for cpv systems based on installation and equipment costs.

cpv_cost_per_m2[source]
inverter_cost_per_MW_DC[source]
cpv_fixed_opex_cost_per_m2[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.costs.costs_solarX.cst_cost(cst_th_collector_cost_per_m2, ms_installation_cost_per_m3, steam_turbine_cost_per_MW, heat_exchnager_cost_per_MW, fixed_opex_per_MW)[source]

Bases: openmdao.api.ExplicitComponent

Concentrated Solar Thermal (cst) Cost Model - Calculates the capital and operational expenses for cst systems based on collector, molten salt tank, and turbine-related costs.

cst_th_collector_cost_per_m2[source]
ms_installation_cost_per_m3[source]
steam_turbine_cost_per_MW[source]
heat_exchnager_cost_per_MW[source]
fixed_opex_per_MW[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.costs.costs_solarX.H2Cost(reactor_cost_per_m2, maximum_h2_production_reactor_kg_per_m2, el_heater_cost_kg_per_h, pipe_pump_valves_cost_kg_per_h, psa_cost_kg_per_h, carbon_capture_cost_kg_per_h, dni_installation_cost_kg_per_h, el_installation_cost_kg_per_h, maintenance_cost_kg_per_h, life_h, carbon_capture=False)[source]

Bases: openmdao.api.ExplicitComponent

Hydrogen Production Cost Model - Calculates the capital and operational expenses for H2 production based on reactor, installation, and maintenance costs.

life_h[source]
carbon_capture = False[source]
maximum_h2_production_reactor_kg_per_m2[source]
reactor_cost_per_m2[source]
el_heater_cost_kg_per_h[source]
pipe_pump_valves_cost_kg_per_h[source]
psa_cost_kg_per_h[source]
carbon_capture_cost_kg_per_h[source]
dni_installation_cost_kg_per_h[source]
el_installation_cost_kg_per_h[source]
maintenance_cost_kg_per_h[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.

class hydesign.costs.costs_solarX.shared_cost(grid_connection_cost_per_mw, grid_h2_connection_cost_per_kg_h, grid_thermal_connection_cost_per_mwt, land_cost_m2, BOS_soft_cost, tower_cost_per_m)[source]

Bases: openmdao.api.ExplicitComponent

Shared Cost Model - Calculates costs for electrical infrastructure, land rental, and tower.

BOS_soft_cost[source]
grid_connection_cost_per_mw[source]
grid_h2_connection_cost_per_kg_h[source]
grid_thermal_connection_cost_per_mwt[source]
land_cost_m2[source]
tower_cost_per_m[source]
setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)[source]

Compute outputs given inputs. The model is assumed to be in an unscaled state.

An inherited component may choose to either override this function or to define a compute_primal function.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.

  • discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.