def right__boundary_conditions():
    X_half = Data.Xn_minus_half(Data.l)

    pN = Data.p(Data.l)
    pN1 = Data.p(Data.l - Data.h)
    fN = Data.f(Data.l)
    fN1 = (2 * Data.alpha(Data.l - Data.h)) / Data.R * Data.Tenv

    KN = -(X_half + Data.alphaN * Data.h) / Data.h - Data.h * (5 * pN +
                                                               pN1) / 16
    MN = X_half / Data.h - Data.h * (pN + pN1) / 16
    PN = -Data.alphaN * Data.Tenv - Data.h * (3 * fN + fN1) / 8

    return KN, MN, PN
def left_boundary_conditions():
    X_half = Data.Xn_plus_half(Data.x0)
    p1 = Data.p(Data.x0 + Data.h)
    f1 = Data.f(Data.x0 + Data.h)

    p0 = Data.p(Data.x0)
    f0 = Data.f(Data.x0)

    p_half = (p0 + p1) / 2

    K0 = X_half + Data.h * Data.h * p_half / 8 + Data.h * Data.h * p0 / 4
    M0 = Data.h * Data.h * p_half / 8 - X_half
    P0 = Data.h * Data.F0 + Data.h * Data.h * (3 * f0 + f1) / 4

    return K0, M0, P0
def calc_coefficients():
    A = []
    B = []
    C = []
    D = []

    for i in arange(Data.x0, Data.l, Data.h):
        An = Data.Xn_minus_half(i) / Data.h
        Cn = Data.Xn_plus_half(i) / Data.h
        Bn = An + Cn + Data.p(i) * Data.h
        Dn = Data.f(i) * Data.h

        A.append(An)
        B.append(Bn)
        C.append(Cn)
        D.append(Dn)

    return A, B, C, D
Exemplo n.º 4
0
    def calc(self):
        try:
            row_increment = functools.partial(next, itertools.count())

            data = Data(l=self.read_cells(row_increment()),
                        R=self.read_cells(row_increment()),
                        Te=self.read_cells(row_increment()),
                        F0=self.read_cells(row_increment()),
                        k0=self.read_cells(row_increment()),
                        kN=self.read_cells(row_increment()),
                        alpha0=self.read_cells(row_increment()),
                        alphaN=self.read_cells(row_increment()),
                        h=self.read_cells(row_increment()))

        except:
            self.show_error_message()
            return

        temperature_calc.main_proc(data)
Exemplo n.º 5
0
def left_boundary_conditions():
    # relative to the current temperature
    X_half = Data.Xn_plus_half(Data.x0)
    p_half = Data.p(Data.x0 + Data.h / 2)
    p0 = Data.p(Data.x0)

    f0 = Data.f(Data.x0)
    f1 = Data.f(Data.x0 + Data.h)

    C0 = Data.C(Data.x0)
    C_half = Data.C(Data.x0 + Data.h / 2)

    K0 = Data.tau * (X_half / Data.h + Data.h / 8 * p_half + Data.h / 4 * p0) + \
        Data.h / 4 * C0 + Data.h / 8 * C_half

    M0 = Data.tau * (Data.h / 8 * p_half -
                     X_half / Data.h) + Data.h / 8 * C_half

    P0 = Data.tau * Data.F0 + Data.tau * Data.h / 8 * (3 * f0 + f1) + \
        Data.h / 4 * C0 * Data.T_past[Data.x0] + \
        Data.h / 8 * C_half * (Data.T_past[Data.x0] + Data.T_past[Data.x0 + Data.h])

    return K0, M0, P0
Exemplo n.º 6
0
def right_boundary_conditions():
    # relative to the current temperature
    X_half = Data.Xn_minus_half(Data.l)
    pN = Data.p(Data.l)
    p_half = Data.p(Data.l - Data.h / 2)

    fN = Data.f(Data.l)
    fN1 = Data.f(Data.l - Data.h)

    CN = Data.C(Data.l)
    C_half = Data.C(Data.l - Data.h / 2)

    KN = - Data.tau * (X_half / Data.h + Data.alphaN + Data.h / 4 * pN + Data.h / 8 * p_half) + \
        Data.h / 4 * CN + Data.h / 8 * C_half

    MN = Data.tau * (X_half / Data.h -
                     Data.h / 8 * p_half) + Data.h / 8 * C_half

    PN = - Data.alphaN * Data.Tenv * Data.tau - Data.tau * Data.h / 8 * (3 * fN + fN1) + \
        Data.h / 4 * CN * Data.T_past[Data.l] + \
        Data.h / 8 * C_half * (Data.T_past[Data.l] + Data.T_past[Data.l - Data.h])

    return KN, MN, PN
Exemplo n.º 7
0
def calc_coefficients():
    # relative to the current temperature
    A = []
    B = []
    D = []
    F = []

    for i in arange(Data.x0, Data.l, Data.h):
        i = round(i, Data.rounding)
        An = Data.tau * Data.Xn_minus_half(i) / Data.h
        Dn = Data.tau * Data.Xn_plus_half(i) / Data.h
        Bn = An + Dn + Data.p(i) * Data.h * Data.tau + Data.C(i) * Data.h
        Fn = Data.C(i) * Data.h * Data.T_past[i] + Data.f(
            i) * Data.h * Data.tau

        A.append(An)
        B.append(Bn)
        D.append(Dn)
        F.append(Fn)

    return A, B, D, F