def METHOD_NAME(blk):
    """
    electrolyzer costing method
    """
    # ---------------------------------------------------------------------
    make_capital_cost_var(blk)
    blk.membrane_cost = pyo.Var(
        initialize=1e5,
        domain=pyo.NonNegativeReals,
        units=blk.costing_package.base_currency,
        doc="membrane capital cost",
    )
    blk.anode_cost = pyo.Var(
        initialize=1e5,
        domain=pyo.NonNegativeReals,
        units=blk.costing_package.base_currency,
        doc="anode capital cost",
    )
    blk.cathode_cost = pyo.Var(
        initialize=1e5,
        domain=pyo.NonNegativeReals,
        units=blk.costing_package.base_currency,
        doc="cathode capital cost",
    )
    blk.membrane_replacement_cost = pyo.Var(
        initialize=1e5,
        domain=pyo.NonNegativeReals,
        units=blk.costing_package.base_currency / blk.costing_package.base_period,
        doc="membrane replacement cost",
    )
    # ---------------------------------------------------------------------
    make_fixed_operating_cost_var(blk)
    # not using cost_membrane() utility to bypass required naming conventions
    blk.membrane_cost_constraint = pyo.Constraint(
        expr=blk.membrane_cost
        == pyo.units.convert(
            blk.costing_package.electrolyzer.membrane_unit_cost
            * blk.unit_model.membrane_area,
            to_units=blk.costing_package.base_currency,
        )
    )
    blk.anode_cost_constraint = pyo.Constraint(
        expr=blk.anode_cost
        == pyo.units.convert(
            blk.costing_package.electrolyzer.anode_unit_cost
            * blk.unit_model.anode_area,
            to_units=blk.costing_package.base_currency,
        )
    )
    blk.cathode_cost_constraint = pyo.Constraint(
        expr=blk.cathode_cost
        == pyo.units.convert(
            blk.costing_package.electrolyzer.cathode_unit_cost
            * blk.unit_model.cathode_area,
            to_units=blk.costing_package.base_currency,
        )
    )
    blk.capital_cost_constraint = pyo.Constraint(
        expr=blk.capital_cost
        == (blk.membrane_cost + blk.anode_cost + blk.cathode_cost)
        / blk.costing_package.electrolyzer.fraction_material_cost
    )
    # ---------------------------------------------------------------------
    make_fixed_operating_cost_var(blk)
    blk.membrane_replacement_cost_constraint = pyo.Constraint(
        expr=blk.membrane_replacement_cost
        == pyo.units.convert(
            blk.costing_package.electrolyzer.factor_membrane_replacement
            * blk.costing_package.electrolyzer.membrane_unit_cost
            * blk.unit_model.membrane_area,
            to_units=blk.costing_package.base_currency
            / blk.costing_package.base_period,
        )
    )
    blk.costing_package.cost_flow(
        pyo.units.convert(blk.unit_model.power, to_units=pyo.units.kW),
        "electricity",
    )
    blk.fixed_operating_cost_constraint = pyo.Constraint(
        expr=blk.fixed_operating_cost == blk.membrane_replacement_cost
    )