def METHOD_NAME(self):
    super().METHOD_NAME()
    # ---------------------------------------
    # Isothermal pump set up
    # ---------------------------------------
    if hasattr(self.control_volume, "enthalpy_balances"):
        self.control_volume.del_component(self.control_volume.enthalpy_balances)
    @self.control_volume.Constraint(
        self.flowsheet().config.time, doc="Isothermal constraint"
    )
    def isothermal_balance(b, t):
        return b.properties_in[t].temperature == b.properties_out[t].temperature
    # ---------------------------------------
    # Variable efficiency pump set-up
    # ---------------------------------------
    if self.config.variable_efficiency is not VariableEfficiency.none:
        # create additional pyomo variables
        self.bep_flow = Var(
            initialize=1.0,
            doc="Best efficiency point flowrate of the centrifugal pump",
            units=pyunits.m**3 / pyunits.s,
        )
        self.bep_eta = Var(
            initialize=0.8,
            doc="Best efficiency of the centrifugal pump",
            units=pyunits.dimensionless,
        )
        self.flow_ratio = Var(
            self.flowsheet().time,
            initialize=1.0,
            doc="Ratio of pump flowrate to best efficiency point flowrate",
            units=pyunits.dimensionless,
        )
        # add constraints
        @self.Constraint(self.flowsheet().time, doc="Pump flow ratio")
        def flow_ratio_constraint(b, t):
            return (
                b.flow_ratio[t] * b.bep_flow
                == b.control_volume.properties_in[t].flow_vol
            )
    if self.config.variable_efficiency is VariableEfficiency.flow:
        @self.Expression(
            self.flowsheet().time,
            doc="Expression for variable pump efficiency based on flow only",
        )
        def eta_ratio(b, t):
            return Expr_if(
                b.flow_ratio[t] < 0.6,
                0.4,
                Expr_if(
                    b.flow_ratio[t] > 1.4,
                    0.4,
                    -0.995 * b.flow_ratio[t] ** 2 + 1.977 * b.flow_ratio[t] + 0.018,
                ),
            )
    elif self.config.variable_efficiency is VariableEfficiency.flow_head:
        raise NotImplementedError(
            "Config option 'VariableEfficiency.flow_head' is not fully implemented yet"
        )
        # TODO - Implement pump efficiency expression based on flow and head (bep_head, head_ratio)
    else:
        pass
    if self.config.variable_efficiency is not VariableEfficiency.none:
        # replace the constant efficiency assumption using eta_ratio
        # must be done after the eta_ratio expression is created.
        @self.Constraint(self.flowsheet().time, doc="Actual pump efficiency")
        def eta_constraint(b, t):
            return b.efficiency_pump[t] == (b.bep_eta * b.eta_ratio[t])