hydesign.nrelcsm.nrel_csm_cost_2015
Copyright (c) NREL. All rights reserved.
Classes
Compute blade cost in the form of \(cost = k*mass\). |
|
Compute hub cost in the form of \(cost = k*mass\). |
|
Compute pitch system cost in the form of \(cost = k*mass\). |
|
Compute spinner cost in the form of \(cost = k*mass\). |
|
Aggregates the hub, pitch system, and spinner costs into a single component |
|
Sum of individual component costs to get overall rotor cost. |
|
Compute low speed shaft cost in the form of \(cost = k*mass\). |
|
Compute (single) main bearing cost in the form of \(cost = k*mass\). |
|
Compute gearbox cost in the form of \(cost = k*mass\). |
|
Compute brake cost in the form of \(cost = k*mass\). |
|
Compute high speed shaft cost in the form of \(cost = k*mass\). |
|
Compute generator cost in the form of \(cost = k*mass\). |
|
Compute bedplate cost in the form of \(cost = k*mass\). |
|
Compute yaw system cost in the form of \(cost = k*mass\). |
|
Compute converter cost in the form of \(cost = k*mass\). |
|
Compute hydraulic cooling cost in the form of \(cost = k*mass\). |
|
Compute nacelle cover cost in the form of \(cost = k*mass\). |
|
Compute electrical connection cost in the form of \(cost = k*mass\). |
|
Compute controls cost in the form of \(cost = k*mass\). |
|
Compute platforms cost in the form of \(cost = k*mass\). |
|
Compute transformer cost in the form of \(cost = k*mass\). |
|
Aggregates the nacelle system costs into a single component |
|
Compute tower cost in the form of \(cost = k*mass\). |
|
The tower is not aggregated with any other component, but for consistency |
|
Aggregates the turbine system costs into a single value with allowances for |
|
Print cost outputs to the terminal |
|
Print cost outputs to the terminal |
Module Contents
- class hydesign.nrelcsm.nrel_csm_cost_2015.BladeCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute blade cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $14.6 USD/kg. Cost includes materials and manufacturing costs. Cost can be overridden with use of blade_cost_external
- Parameters:
- Returns:
blade_cost – Blade cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.HubCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute hub cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $3.9 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
hub_cost – Hub cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.PitchSystemCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute pitch system cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $22.1 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
pitch_system_cost – Pitch system cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.SpinnerCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute spinner cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $11.1 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
spinner_cost – Spinner cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.HubSystemCostAdder2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Aggregates the hub, pitch system, and spinner costs into a single component that is transported to the project site and could therefore incur additional costs. Cost multipliers are of the form, \(c_{hubsys} = (1+kt_{hubsys}+kp_{hubsys}) (1+ko_{hubsys}+ka_{hubsys}) (c_{hub} + c_{pitch} + c_{spinner})\)
Where conceptually, \(kt\) is a transportation multiplier, \(kp\) is a profit multiplier, \(ko\) is an overhead cost multiplier, and \(ka\) is an assembly cost multiplier
By default, \(kt=kp=ko=ka=0\).
- Parameters:
hub_cost (float, [USD]) – Hub component cost
hub_mass (float, [kg]) – Hub component mass
pitch_system_cost (float, [USD]) – Pitch system cost
pitch_system_mass (float, [kg]) – Pitch system mass
spinner_cost (float, [USD]) – Spinner component cost
spinner_mass (float, [kg]) – Spinner component mass
hub_assemblyCostMultiplier (float) – Rotor assembly cost multiplier
hub_overheadCostMultiplier (float) – Rotor overhead cost multiplier
hub_profitMultiplier (float) – Rotor profit multiplier
hub_transportMultiplier (float) – Rotor transport multiplier
- Returns:
hub_system_mass_tcc (float, [kg]) – Mass of the hub system, including hub, spinner, and pitch system for the blades
hub_system_cost (float, [USD]) – Overall wind sub-assembly capial costs including transportation costs
- 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.nrelcsm.nrel_csm_cost_2015.RotorCostAdder2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Sum of individual component costs to get overall rotor cost. No additional transport and assembly multipliers are included because it is assumed that each component is transported separately.
- Parameters:
- Returns:
rotor_cost (float, [USD]) – Rotor cost
rotor_mass_tcc (float, [kg]) – Rotor mass, including blades, pitch system, hub, and spinner
- compute(inputs, outputs, discrete_inputs, discrete_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.nrelcsm.nrel_csm_cost_2015.LowSpeedShaftCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute low speed shaft cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $11.9 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
lss_cost – Low speed shaft cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.BearingCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute (single) main bearing cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $4.5 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
main_bearing_cost – Main bearing cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.GearboxCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute gearbox cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $12.9 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
gearbox_cost – Gearbox cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.BrakeCost2020(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute brake cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2020 to be $3.6254 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
brake_cost – Brake cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.HighSpeedShaftCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute high speed shaft cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $6.8 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
hss_cost – High speed shaft cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.GeneratorCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute generator cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $12.4 USD/kg. Cost includes materials and manufacturing costs. Cost can be overridden with use of generator_cost_external
- Parameters:
- Returns:
generator_cost – Generator cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.BedplateCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute bedplate cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $2.9 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
bedplate_cost – Bedplate cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.YawSystemCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute yaw system cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $8.3 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
yaw_system_cost – Yaw system cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.ConverterCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute converter cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $18.8 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
converter_cost – Converter cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.HydraulicCoolingCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute hydraulic cooling cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $124.0 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
hvac_cost – HVAC cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.NacelleCoverCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute nacelle cover cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $5.7 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
cover_cost – Cover cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.ElecConnecCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute electrical connection cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $41.85 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
elec_cost – Electrical connection costs
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.ControlsCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute controls cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $21.15 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
controls_cost – Controls cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.PlatformsMainframeCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute platforms cost in the form of \(cost = k*mass\). Value of \(k\) was NOT updated in 2015 and remains the same as original CSM, $17.1 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
platforms_cost – Platforms cost
- Return type:
float, [USD]
- compute(inputs, outputs, discrete_inputs, discrete_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.nrelcsm.nrel_csm_cost_2015.TransformerCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute transformer cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $18.8 USD/kg. Cost includes materials and manufacturing costs.
- Parameters:
- Returns:
transformer_cost – Transformer cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.NacelleSystemCostAdder2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Aggregates the nacelle system costs into a single component that is transported to the project site and could therefore incur additional costs. Cost multipliers are of the form, \(c_{nacellesys} = (1+kt_{nacelle}+kp_{nacelle}) (1+ko_{nacelle}+ka_{nacelle}) c_{nacelle}\)
Where conceptually, \(kt\) is a transportation multiplier, \(kp\) is a profit multiplier, \(ko\) is an overhead cost multiplier, and \(ka\) is an assembly cost multiplier
By default, \(kt=kp=ko=ka=0\).
- Parameters:
lss_cost (float, [USD]) – Component cost
lss_mass (float, [kg]) – Component mass
main_bearing_cost (float, [USD]) – Component cost
main_bearing_mass (float, [kg]) – Component mass
gearbox_cost (float, [USD]) – Component cost
gearbox_mass (float, [kg]) – Component mass
brake_cost (float, [USD]) – Component cost
brake_mass (float, [kg]) – Component mass
hss_cost (float, [USD]) – Component cost
hss_mass (float, [kg]) – Component mass
generator_cost (float, [USD]) – Component cost
generator_mass (float, [kg]) – Component mass
bedplate_cost (float, [USD]) – Component cost
bedplate_mass (float, [kg]) – Component mass
yaw_system_cost (float, [USD]) – Component cost
yaw_mass (float, [kg]) – Component mass
converter_cost (float, [USD]) – Component cost
converter_mass (float, [kg]) – Component mass
hvac_cost (float, [USD]) – Component cost
hvac_mass (float, [kg]) – Component mass
cover_cost (float, [USD]) – Component cost
cover_mass (float, [kg]) – Component mass
elec_cost (float, [USD]) – Component cost
controls_cost (float, [USD]) – Component cost
platforms_mass (float, [kg]) – Component cost
platforms_cost (float, [USD]) – Component cost
transformer_cost (float, [USD]) – Component cost
transformer_mass (float, [kg]) – Component mass
main_bearing_number (int) – number of bearings
nacelle_assemblyCostMultiplier (float) – nacelle assembly cost multiplier
nacelle_overheadCostMultiplier (float) – nacelle overhead cost multiplier
nacelle_profitMultiplier (float) – nacelle profit multiplier
nacelle_transportMultiplier (float) – nacelle transport multiplier
- Returns:
nacelle_cost (float, [USD]) – component cost
nacelle_mass_tcc (float) – Nacelle mass, with all nacelle components, without the rotor
- compute(inputs, outputs, discrete_inputs, discrete_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.nrelcsm.nrel_csm_cost_2015.TowerCost2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Compute tower cost in the form of \(cost = k*mass\). Value of \(k\) was updated in 2015 to be $2.9 USD/kg. Cost includes materials and manufacturing costs. Cost can be overridden with use of tower_cost_external
- Parameters:
- Returns:
tower_parts_cost – Tower parts cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.TowerCostAdder2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
The tower is not aggregated with any other component, but for consistency there are allowances for additional costs incurred from transportation and assembly complexity, \(c_{towersys} = (1+kt_{tower}+kp_{tower}) (1+ko_{tower}+ka_{tower}) c_{tower}\)
Where conceptually, \(kt\) is a transportation multiplier, \(kp\) is a profit multiplier, \(ko\) is an overhead cost multiplier, and \(ka\) is an assembly cost multiplier
By default, \(kt=kp=ko=ka=0\).
- Parameters:
tower_parts_cost (float, [USD]) – component cost
tower_assemblyCostMultiplier (float) – tower assembly cost multiplier
tower_overheadCostMultiplier (float) – tower overhead cost multiplier
tower_profitMultiplier (float) – tower profit cost multiplier
tower_transportMultiplier (float) – tower transport cost multiplier
- Returns:
tower_cost – tower cost
- Return type:
float, [USD]
- 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.nrelcsm.nrel_csm_cost_2015.TurbineCostAdder2015(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Aggregates the turbine system costs into a single value with allowances for additional costs incurred from transportation and assembly complexity. Costs are reported per kW. Cost multipliers are of the form, \(c_{turbine} = (1+kt_{turbine}+kp_{turbine}) (1+ko_{turbine}+ka_{turbine}) (c_{rotor} + c_{nacelle} + c_{tower})\)
Where conceptually, \(kt\) is a transportation multiplier, \(kp\) is a profit multiplier, \(ko\) is an overhead cost multiplier, and \(ka\) is an assembly cost multiplier
By default, \(kt=kp=ko=ka=0\).
- Parameters:
rotor_cost (float, [USD]) – Rotor cost
rotor_mass_tcc (float) – Rotor mass
nacelle_cost (float, [USD]) – Nacelle cost
nacelle_mass_tcc (float) – Nacelle mass
tower_cost (float, [USD]) – Tower cost
tower_mass (float, [kg]) – Tower mass
machine_rating (float) – Machine rating
turbine_assemblyCostMultiplier (float) – Turbine multiplier for assembly cost in manufacturing
turbine_overheadCostMultiplier (float) – Turbine multiplier for overhead
turbine_profitMultiplier (float) – Turbine multiplier for profit markup
turbine_transportMultiplier (float) – Turbine multiplier for transport costs
- Returns:
turbine_mass_tcc (float) – Turbine total mass, without foundation
turbine_cost (float, [USD]) – Overall wind turbine capital costs including transportation costs
turbine_cost_kW (float) – Overall wind turbine capial costs including transportation costs
- 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.nrelcsm.nrel_csm_cost_2015.Outputs2Screen(**kwargs)[source]
Bases:
openmdao.api.ExplicitComponent
Print cost outputs to the terminal
- Parameters:
blade_cost (float, [USD]) – blade cost
blade_mass (float, [kg]) – Blade mass
hub_cost (float, [USD]) – hub cost
hub_mass (float, [kg]) – Hub mass
pitch_system_cost (float, [USD]) – pitch_system cost
pitch_system_mass (float, [kg]) – Pitch system mass
spinner_cost (float, [USD]) – spinner cost
spinner_mass (float, [kg]) – Spinner mass
lss_cost (float, [USD]) – lss cost
lss_mass (float, [kg]) – LSS mass
main_bearing_cost (float, [USD]) – main_bearing cost
main_bearing_mass (float, [kg]) – Main bearing mass
gearbox_cost (float, [USD]) – gearbox cost
gearbox_mass (float, [kg]) – LSS mass
hss_cost (float, [USD]) – hss cost
hss_mass (float, [kg]) – HSS mass
brake_cost (float, [USD]) – brake cost
brake_mass (float, [kg]) – brake mass
generator_cost (float, [USD]) – generator cost
generator_mass (float, [kg]) – Generator mass
bedplate_cost (float, [USD]) – bedplate cost
bedplate_mass (float, [kg]) – Bedplate mass
yaw_system_cost (float, [USD]) – yaw_system cost
yaw_mass (float, [kg]) – Yaw system mass
hvac_cost (float, [USD]) – hvac cost
hvac_mass (float, [kg]) – HVAC mass
cover_cost (float, [USD]) – cover cost
cover_mass (float, [kg]) – Cover mass
elec_cost (float, [USD]) – elec cost
controls_cost (float, [USD]) – controls cost
platforms_cost (float, [USD]) – platforms cost
transformer_cost (float, [USD]) – transformer cost
transformer_mass (float, [kg]) – Transformer mass
converter_cost (float, [USD]) – converter cost
converter_mass (float, [kg]) – Converter mass
rotor_cost (float, [USD]) – rotor cost
rotor_mass_tcc (float) – Rotor mass
nacelle_cost (float, [USD]) – nacelle cost
nacelle_mass_tcc (float) – Nacelle mass
tower_cost (float, [USD]) – tower cost
tower_mass (float, [kg]) – Tower mass
turbine_cost (float, [USD]) – Overall turbine costs
turbine_cost_kW (float) – Overall wind turbine capital costs including transportation costs per kW
turbine_mass_tcc (float) – Turbine mass
- 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.nrelcsm.nrel_csm_cost_2015.Turbine_CostsSE_2015(**kwargs)[source]
Bases:
openmdao.api.Group
Print cost outputs to the terminal
- setup()[source]
Build this group.
This method should be overidden by your Group’s method. The reason for using this method to add subsystem is to save memory and setup time when using your Group while running under MPI. This avoids the creation of systems that will not be used in the current process.
You may call ‘add_subsystem’ to add systems to this group. You may also issue connections, and set the linear and nonlinear solvers for this group level. You cannot safely change anything on children systems; use the ‘configure’ method instead.
- Available attributes:
name pathname comm options