Example #1
0
    def __init__(self, n):
        super(BatteryConstraints, self).__init__()
        self.n = n

        self.add_param("SOC", np.ones(self.n), units="unitless")
        self.add_output("Cons1", 1.0)

        self.KS = KSfunction()
        self.rho = 50
        self.SOC_min = 0.8
Example #2
0
class BatteryConstraints(Component):

    def __init__(self, n):
        super(BatteryConstraints, self).__init__()
        self.n = n

        self.add_param("SOC", np.ones(self.n), units="unitless")
        self.add_output("Cons1", 1.0)

        self.KS = KSfunction()
        self.rho = 50
        self.SOC_min = 0.8

    def solve_nonlinear(self, params, unknowns, resids):
        SOC = params['SOC']
        #print SOC.min()
        unknowns['Cons1'] = self.KS.compute(self.SOC_min - SOC, self.rho)
    def linearize(self, p, u, r):
        J = {}

        J['Cons1', 'SOC'] = - self.KS.derivatives()[0].reshape((1, self.n))

        return J