tank_design#

Design and cost algorithms from ordinary vessels.

References

class TankPurchaseCostAlgorithm(f_Cp, V_min, V_max, V_units, CE, material)[source]#

Create a TankPurchaseCostAlgorithm for vessel costing.

Parameters:
  • f_Cp (function) – Should return the purchase cost given the volume.

  • V_min (float) – Minimum volume at which cost is considered accurate.

  • V_max (float) – Maximum volume of a vessel.

  • V_units (str) – Units of measure for volume.

f_Cp#

Returns the purchase cost given the volume.

Type:

function

V_min#

Minimum volume at which cost is considered accurate.

Type:

float

V_max#

Maximum volume of a vessel.

Type:

float

V_units#

Units of measure for volume.

Type:

AbsoluteUnitsOfMeasure

Examples

Find the number of mixing tanks and the total purchase cost at a volume of 1 m^3 using the purchase cost equation from [1]:

>>> from biosteam.units.design_tools import TankPurchaseCostAlgorithm
>>> TankPurchaseCostAlgorithm(lambda V: 12080 * V **0.525,
...                             V_min=0.1, V_max=30, V_units='m^3',
...                             CE=525.4, material='Stainless steel')
TankPurchaseCostAlgorithm(f_Cp=<lambda>, V_min=0.1, V_max=30, CE=525.4, material=Stainless steel, V_units=m^3)
field_erected_tank_purchase_cost(V)[source]#

Return the purchase cost [USD] of a single, field-erected vessel assuming stainless steel construction material.

Parameters:

V (float) – Volume of tank [m^3].

Returns:

Cp – Purchase cost [USD].

Return type:

float

Notes

The purchase cost is given by [1].

If \(V < 2 \cdot 10^3\):

\(C_p^{2007} = 32500.0 + 79.35 V\)

Otherwise:

\(C_p^{2007} = 125000.0 + 47.1 V\)

Examples

>>> field_erected_tank_purchase_cost(300)
112610.0
compute_number_of_tanks_and_purchase_cost(total_volume, purchase_cost_algorithm)[source]#

Return number of tanks and purchase cost of a single tank.

Parameters:
storage_tank_purchase_cost_algorithms = {'Cone roof': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=265, n=0.513), V_min=10000.0, V_max=1000000.0, CE=567, material=Carbon steel, V_units=gal), 'Field erected': TankPurchaseCostAlgorithm(f_Cp=field_erected_tank_purchase_cost, V_min=0, V_max=50000.0, CE=525.4, material=Stainless steel, V_units=m^3), 'Floating roof': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=475, n=0.507), V_min=30000.0, V_max=1000000.0, CE=567, material=Carbon steel, V_units=gal), 'Gas holder': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=3595, n=0.43), V_min=4000.0, V_max=400000.0, CE=567, material=Carbon steel, V_units=ft^3), 'Spherical; 0-30 psig': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=68, n=0.72), V_min=10000.0, V_max=1000000.0, CE=567, material=Carbon steel, V_units=gal), 'Spherical; 30–200 psig': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=53, n=0.78), V_min=10000.0, V_max=750000.0, CE=567, material=Carbon steel, V_units=gal)}#

Cost algorithms for storage tank vessel types as in [1] [2].

mix_tank_purchase_cost_algorithms = {'Conventional': TankPurchaseCostAlgorithm(f_Cp=ExponentialFunctor(A=12080, n=0.525), V_min=0.1, V_max=30, CE=525.4, material=Stainless steel, V_units=m^3)}#

Cost algorithms for mix tank vessel types as in [2].