4.1.1.1. bca_tool_code.engine_cost_modules package

4.1.1.1.1. Submodules

4.1.1.1.2. bca_tool_code.engine_cost_modules.engine_package_cost module

calc_avg_package_cost_per_step(settings, cost_object, vehicle, standardyear_id, labor=False)[source]
Parameters:
  • settings – object; the SetInputs class object.

  • cost_object – object; an object of the PieceCost class (e.g., settings.engine_costs or settings.replacement_costs).

  • vehicle – object; an object of the Vehicle class.

  • standardyear_id – int; the implementation year associated with the cost.

  • labor – boolean; if True, a labor cost from the RepairAndMaintenance class will be included in the package cost.

Returns:

Updates the engine_costs object dictionary to include the year-over-year package costs, including learning effects, associated with implementation of each new standard.

Note

Tech penetrations are applied here.

calc_package_cost(settings, cost_object, vehicle)[source]
Parameters:
  • settings – object; the SetInputs class object.

  • cost_object – object; an object of the PieceCost class (e.g., settings.engine_costs or settings.replacement_costs).

  • vehicle – object; an object of the Vehicle class.

Returns:

The package average cost and package cost associated with the passed vehicle.

4.1.1.1.3. bca_tool_code.engine_cost_modules.indirect_cost module

calc_project_markup_value(settings, vehicle, markup_factor_name)[source]

This function calculates the project markup value for the passed markup_factor (Warranty, RnD, Other, Profit).

Parameters:
  • settings – object; the SetInputs class object.

  • vehicle – object; an object of the Vehicle class.

  • markup_factor_name – str; represents the name of the project markup factor value to return (warranty, r and d, other, etc.).

Returns:

A single markup factor value to be used in the project having been adjusted in accordance with the proposed warranty and useful life changes and the Absolute/Relative scaling entries.

Note

The project markup factor differs from the input markup factors by scaling where that scaling (if applicable) is done based on the “Absolute” or “Relative” entries in the input file and by the scaling metric (Miles or Age) entries of the warranty/useful life input files. Whether Miles or Age is used is set via the BCA_General_Inputs file.

calc_indirect_cost(settings, vehicle, pkg_cost)[source]
Parameters:
  • settings – object; the SetInputs class object.

  • vehicle – object; an object of the Vehicle class.

  • pkg_cost – numeric; the direct manufacturing cost for the given vehicle.

Returns:

A dictionary of indirect cost contributors and their values.

calc_indirect_cost_new_warranty(settings, vehicle)[source]
Parameters:
  • settings – object; the SetInputs class object.

  • vehicle – object; an object of the Vehicle class.

Returns:

A dictionary of indirect cost contributors and their values.

4.1.1.1.4. bca_tool_code.engine_cost_modules.tech_cost module

calc_tech_cost(settings, vehicle)[source]
Parameters:
  • settings – object; an object of the SetInputs class.

  • vehicle – object; an object of the Vehicle class.

Returns:

The tech cost per vehicle and tech cost (direct plus indirect).