Пример #1
0
            # Right Boundary point
            b[n] = Ts
            A[n] = 1
            # Left Boundary point
            if i == 0:
                Au[0] = -k * dy / dx
                A[0] = -Au[0] + An
                b[0] = S * dx * dy / 4 + An * T[1][0]
            else:
                Au[0] = -2 * k * dy / dx
                A[0] = -Au[0] + An / 2 + As / 2
                b[0] = S * dx * dy / 2 + An * T[i + 1][0] / 2 + As * T[i - 1][0] / 2

            # Solve using TDMA
            TD = tdma_solve((A, Ad, Au), b)
            # Copy the result into the temperature matrix
            for a in range(0, n + 1):
                T[i][a] = TD[a]

    # Solve the matrix and keep track on the residuals
    iter += 1
    print iter, Rmax

# Analytical solution, for all points
for i in range(0, n + 1):
    for j in range(0, n + 1):
        # Series constants
        sum = 0
        delta = 1
        N = 1
Пример #2
0
            #Right Boundary point
            b[n] = Ts
            A[n] = 1
            #Left Boundary point
            if i == 0:
                Au[0] = -k * dy / dx
                A[0] = -Au[0] + An
                b[0] = S * dx * dy / 4 + An * T[1][0]
            else:
                Au[0] = -2 * k * dy / dx
                A[0] = -Au[0] + An / 2 + As / 2
                b[0] = S * dx * dy / 2 + An * T[i + 1][0] / 2 + As * T[
                    i - 1][0] / 2

            #Solve using TDMA
            TD = tdma_solve((A, Ad, Au), b)
            #Copy the result into the temperature matrix
            for a in range(0, n + 1):
                T[i][a] = TD[a]

    #Solve the matrix and keep track on the residuals
    iter += 1
    print iter, Rmax

#Analytical solution, for all points
for i in range(0, n + 1):
    for j in range(0, n + 1):
        #Series constants
        sum = 0
        delta = 1
        N = 1