예제 #1
0
    def coeff_tau_eq(x, y):
        result = [0, _c['h_0'][3]]

        for i in range(M):
            result.append((_c['h_n'][0][0] * sinh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][0][1] * sinh(a_[0][1] * alpha[i] * y)) *
                          cos(alpha[i] * x) * alpha[i])
            result.append((_c['h_n'][1][0] * cosh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][1][1] * cosh(a_[0][1] * alpha[i] * y)) *
                          cos(alpha[i] * x) * alpha[i])
            result.append((_c['h_n'][2][0] * sinh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][2][1] * sinh(a_[0][1] * alpha[i] * y)) *
                          cos(alpha[i] * x))
            result.append((_c['h_n'][3][0] * cosh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][3][1] * cosh(a_[0][1] * alpha[i] * y)) *
                          cos(alpha[i] * x))

        result.extend([0, _c['g_0'][3]])

        for i in range(M):
            result.append((_c['g_n'][0][0] * cosh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][0][1] * cosh(a_[1][1] * beta[i] * x)) *
                          cos(beta[i] * y) * beta[i])
            result.append((_c['g_n'][1][0] * sinh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][1][1] * sinh(a_[1][1] * beta[i] * x)) *
                          cos(beta[i] * y) * beta[i])
            result.append((_c['g_n'][2][0] * sinh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][2][1] * sinh(a_[1][1] * beta[i] * x)) *
                          cos(beta[i] * y))
            result.append((_c['g_n'][3][0] * cosh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][3][1] * cosh(a_[1][1] * beta[i] * x)) *
                          cos(beta[i] * y))

        return result
예제 #2
0
    def coeff_sigma_y_eq(x, y):
        result = [0, 0]
        '''
        if x == 0:
            result.extend([0, ] * (4*M + 2))

            for i in range(M):
                result.extend(
                    [
                        0,
                        sum(_c['g_n'][1]) * beta[i] * sin(beta[i]*y),
                        sum(_c['g_n'][2]) * sin(beta[i]*y),
                        0
                    ]
                )
        elif y == 0:
            for i in range(M):
                result.extend(
                    [0, 0, sum(_c['h_n'][2]) * sin(alpha[i]*x), 0]
                )

            result.extend([0, ] * (4*M + 2))
        else:
            for i in range(M):
                result.append(
                    (
                        _c['h_n'][0][0] * cosh(a_[0][0] * alpha[i] * y) +
                        _c['h_n'][0][1] * cosh(a_[0][1] * alpha[i] * y)
                    ) * sin(alpha[i]*x) * alpha[i]
                )
                result.append(
                    (
                        _c['h_n'][1][0] * sinh(a_[0][0] * alpha[i] * y) +
                        _c['h_n'][1][1] * sinh(a_[0][1] * alpha[i] * y)
                    ) * sin(alpha[i]*x) * alpha[i]
                )
                result.append(
                    (
                        _c['h_n'][2][0] * cosh(a_[0][0] * alpha[i] * y) +
                        _c['h_n'][2][1] * cosh(a_[0][1] * alpha[i] * y)
                    ) * sin(alpha[i]*x)
                )
                result.append(
                    (
                        _c['h_n'][3][0] * sinh(a_[0][0] * alpha[i] * y) +
                        _c['h_n'][3][1] * sinh(a_[0][1] * alpha[i] * y)
                    ) * sin(alpha[i]*x)
                )

            result.extend([0, 0])

            for i in range(M):
                result.append(
                    (
                        _c['g_n'][0][0] * sinh(a_[1][0] * beta[i] * x) +
                        _c['g_n'][0][1] * sinh(a_[1][1] * beta[i] * x)
                    ) * sin(beta[i]*y) * beta[i]
                )
                result.append(
                    (
                        _c['g_n'][1][0] * cosh(a_[1][0] * beta[i] * x) +
                        _c['g_n'][1][1] * cosh(a_[1][1] * beta[i] * x)
                    ) * sin(beta[i]*y) * beta[i]
                )
                result.append(
                    (
                        _c['g_n'][2][0] * cosh(a_[1][0] * beta[i] * x) +
                        _c['g_n'][2][1] * cosh(a_[1][1] * beta[i] * x)
                    ) * sin(beta[i]*y)
                )
                result.append(
                    (
                        _c['g_n'][3][0] * sinh(a_[1][0] * beta[i] * x) +
                        _c['g_n'][3][1] * sinh(a_[1][1] * beta[i] * x)
                    ) * sin(beta[i]*y)
                )
        '''
        for i in range(M):
            result.append((_c['h_n'][0][0] * cosh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][0][1] * cosh(a_[0][1] * alpha[i] * y)) *
                          sin(alpha[i] * x) * alpha[i])
            result.append((_c['h_n'][1][0] * sinh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][1][1] * sinh(a_[0][1] * alpha[i] * y)) *
                          sin(alpha[i] * x) * alpha[i])
            result.append((_c['h_n'][2][0] * cosh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][2][1] * cosh(a_[0][1] * alpha[i] * y)) *
                          sin(alpha[i] * x))
            result.append((_c['h_n'][3][0] * sinh(a_[0][0] * alpha[i] * y) +
                           _c['h_n'][3][1] * sinh(a_[0][1] * alpha[i] * y)) *
                          sin(alpha[i] * x))

        result.extend([0, 0])

        for i in range(M):
            result.append((_c['g_n'][0][0] * sinh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][0][1] * sinh(a_[1][1] * beta[i] * x)) *
                          sin(beta[i] * y) * beta[i])
            result.append((_c['g_n'][1][0] * cosh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][1][1] * cosh(a_[1][1] * beta[i] * x)) *
                          sin(beta[i] * y) * beta[i])
            result.append((_c['g_n'][2][0] * cosh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][2][1] * cosh(a_[1][1] * beta[i] * x)) *
                          sin(beta[i] * y))
            result.append((_c['g_n'][3][0] * sinh(a_[1][0] * beta[i] * x) +
                           _c['g_n'][3][1] * sinh(a_[1][1] * beta[i] * x)) *
                          sin(beta[i] * y))

        return result
예제 #3
0
    def coeff_u_eq(x, y):
        result = [_c['h_0'][0], _c['h_0'][3] * y]

        if x == 0:
            for i in range(M):
                result.append(_c['h_n'][0][0] * cosh(a_[0][0] * alpha[i] * y) +
                              _c['h_n'][0][1] * cosh(a_[0][1] * alpha[i] * y))
                result.append(_c['h_n'][1][0] * sinh(a_[0][0] * alpha[i] * y) +
                              _c['h_n'][1][1] * sinh(a_[0][1] * alpha[i] * y))
                result.append(
                    (_c['h_n'][2][0] * cosh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][2][1] * cosh(a_[0][1] * alpha[i] * y)) /
                    alpha[i])
                result.append(
                    (_c['h_n'][3][0] * sinh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][3][1] * sinh(a_[0][1] * alpha[i] * y)) /
                    alpha[i])

            result.extend([0, 0])

            for i in range(M):
                result.extend([sum(_c['g_n'][0]) * sin(beta[i] * y), 0, 0, 0])
        elif y == 0:
            for i in range(M):
                result.extend([sum(_c['h_n'][0]) * cos(alpha[i] * x), 0, 0, 0])

            result.extend([
                0,
            ] * (2 + 4 * M))
        else:
            for i in range(M):
                result.append(
                    (_c['h_n'][0][0] * cosh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][0][1] * cosh(a_[0][1] * alpha[i] * y)) *
                    cos(alpha[i] * x))
                result.append(
                    (_c['h_n'][1][0] * sinh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][1][1] * sinh(a_[0][1] * alpha[i] * y)) *
                    cos(alpha[i] * x))
                result.append(
                    (_c['h_n'][2][0] * cosh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][2][1] * cosh(a_[0][1] * alpha[i] * y)) *
                    cos(alpha[i] * x) / alpha[i])
                result.append(
                    (_c['h_n'][3][0] * sinh(a_[0][0] * alpha[i] * y) +
                     _c['h_n'][3][1] * sinh(a_[0][1] * alpha[i] * y)) *
                    cos(alpha[i] * x) / alpha[i])

            result.extend([0, 0])

            for i in range(M):
                result.append(
                    (_c['g_n'][0][0] * cosh(a_[1][0] * beta[i] * x) +
                     _c['g_n'][0][1] * cosh(a_[1][1] * beta[i] * x)) *
                    sin(beta[i] * y))
                result.append(
                    (_c['g_n'][1][0] * sinh(a_[1][0] * beta[i] * x) +
                     _c['g_n'][1][1] * sinh(a_[1][1] * beta[i] * x)) *
                    sin(beta[i] * y))
                result.append(
                    (_c['g_n'][2][0] * sinh(a_[1][0] * beta[i] * x) +
                     _c['g_n'][2][1] * sinh(a_[1][1] * beta[i] * x)) *
                    sin(beta[i] * y) / beta[i])
                result.append(
                    (_c['g_n'][3][0] * cosh(a_[1][0] * beta[i] * x) +
                     _c['g_n'][3][1] * cosh(a_[1][1] * beta[i] * x)) *
                    sin(beta[i] * y) / beta[i])

        return result