Source code for autopdex.spaces

# spaces.py
# Copyright (C) 2024 Tobias Bode
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.

"""
Definition of different kinds of solution spaces, including

- Moving Least Squares (MLS) methods
- Simplex-shaped finite elements with shape functions defined via least squares
- Isoparametric line, quadrilateral and brick shape functions for user elements

Supports both direct and compiled modes (with precomputation of discrete shape functions 
and derivatives) for MLS and simplex-shaped elements.
"""

import sys

import jax
import jax.numpy as jnp
import numpy as np

from autopdex.utility import jit_with_docstring, matrix_inv


## Helper functions
def _polynomial_basis(x, order):
    """
    Generate a polynomial basis of a given order and dimensionality.

    Args:
      x (jnp.ndarray): The input coordinates.
      order (int): The order of the polynomial basis.

    Returns:
      jnp.ndarray: The polynomial basis evaluated at the input coordinates.

    Notes:
      - Supports up to 4 dimensions and polynomial orders up to 10 for 1D and 3 for 2D, 3D and 4D.
    """
    n_dim = x.shape[0]
    match n_dim:
        case 1:
            match order:
                case 0:
                    return jnp.asarray([1.0])
                case 1:
                    return jnp.asarray([1.0, x])
                case 2:
                    return jnp.asarray([1.0, x, x**2])
                case 3:
                    return jnp.asarray([1.0, x, x**2, x**3])
                case 4:
                    return jnp.asarray([1.0, x, x**2, x**3, x**4])
                case 5:
                    return jnp.asarray([1.0, x, x**2, x**3, x**4, x**5])
                case 6:
                    return jnp.asarray([1.0, x, x**2, x**3, x**4, x**5, x**6])
                case 7:
                    return jnp.asarray([1.0, x, x**2, x**3, x**4, x**5, x**6, x**7])
                case 8:
                    return jnp.asarray(
                        [1.0, x, x**2, x**3, x**4, x**5, x**6, x**7, x**8]
                    )
                case 9:
                    return jnp.asarray(
                        [1.0, x, x**2, x**3, x**4, x**5, x**6, x**7, x**8, x**9]
                    )
                case 10:
                    return jnp.asarray(
                        [1.0, x, x**2, x**3, x**4, x**5, x**6, x**7, x**8, x**9, x**10]
                    )
                case _:
                    sys.ext("Polynomial basis not implemented for this order!")
        case 2:
            match order:
                case 0:
                    return jnp.asarray([1.0])
                case 1:
                    return jnp.asarray([1.0, x[0], x[1]])
                case 2:
                    return jnp.asarray(
                        [1.0, x[0], x[1], x[0] ** 2, x[0] * x[1], x[1] ** 2]
                    )
                case 3:
                    return jnp.asarray(
                        [
                            1.0,
                            x[0],
                            x[1],
                            x[0] ** 2,
                            x[0] * x[1],
                            x[1] ** 2,
                            x[0] ** 3,
                            x[0] ** 2 * x[1],
                            x[0] * x[1] ** 2,
                            x[1] ** 3,
                        ]
                    )
                case _:
                    sys.ext("Polynomial basis not implemented for this order!")
        case 3:
            match order:
                case 0:
                    return jnp.asarray([1.0])
                case 1:
                    return jnp.asarray([1.0, x[0], x[1], x[2]])
                case 2:
                    return jnp.asarray(
                        [
                            1.0,
                            x[0],
                            x[1],
                            x[2],
                            x[0] ** 2,
                            x[1] ** 2,
                            x[2] ** 2,
                            x[0] * x[1],
                            x[0] * x[2],
                            x[1] * x[2],
                        ]
                    )
                case 3:
                    return jnp.asarray(
                        [
                            1.0,
                            x[0],
                            x[1],
                            x[2],
                            x[0] ** 2,
                            x[1] ** 2,
                            x[2] ** 2,
                            x[0] * x[1],
                            x[0] * x[2],
                            x[1] * x[2],
                            x[0] ** 3,
                            x[1] ** 3,
                            x[2] ** 3,
                            x[0] ** 2 * x[1],
                            x[0] ** 2 * x[2],
                            x[1] ** 2 * x[0],
                            x[1] ** 2 * x[2],
                            x[2] ** 2 * x[0],
                            x[2] ** 2 * x[1],
                            x[0] * x[1] * x[2],
                        ]
                    )
                case _:
                    sys.ext("Polynomial basis not implemented for this order!")
        case 4:
            match order:
                case 0:
                    return jnp.asarray([1.0])
                case 1:
                    return jnp.asarray([1.0, x[0], x[1], x[2], x[3]])
                case 2:
                    return jnp.asarray(
                        [
                            1.0,
                            x[0],
                            x[1],
                            x[2],
                            x[3],
                            x[0] ** 2,
                            x[1] ** 2,
                            x[2] ** 2,
                            x[3] ** 2,
                            x[0] * x[1],
                            x[0] * x[2],
                            x[0] * x[3],
                            x[1] * x[2],
                            x[1] * x[3],
                            x[2] * x[3],
                        ]
                    )
                case 3:
                    return jnp.asarray(
                        [
                            1.0,
                            x[0],
                            x[1],
                            x[2],
                            x[3],
                            x[0] ** 2,
                            x[1] ** 2,
                            x[2] ** 2,
                            x[3] ** 2,
                            x[0] * x[1],
                            x[0] * x[2],
                            x[0] * x[3],
                            x[1] * x[2],
                            x[1] * x[3],
                            x[2] * x[3],
                            x[0] ** 3,
                            x[1] ** 3,
                            x[2] ** 3,
                            x[3] ** 3,
                            x[0] ** 2 * x[1],
                            x[0] ** 2 * x[2],
                            x[0] ** 2 * x[3],
                            x[1] ** 2 * x[0],
                            x[1] ** 2 * x[2],
                            x[1] ** 2 * x[3],
                            x[2] ** 2 * x[0],
                            x[2] ** 2 * x[1],
                            x[2] ** 2 * x[3],
                            x[3] ** 2 * x[0],
                            x[3] ** 2 * x[1],
                            x[3] ** 2 * x[1],
                            x[0] * x[1] * x[2],
                            x[0] * x[1] * x[3],
                            x[0] * x[2] * x[3],
                            x[1] * x[2] * x[3],
                        ]
                    )
                case _:
                    sys.exit("Polynomial basis not implemented for this order!")
        case _:
            sys.exit("Polynomial basis not implemented for this dimensionality!")


def _compute_poly_basis_length(n_dim, order):
    """
    Compute the number of coefficients for a polynomial basis given its dimensionality and order.

    Args:
      n_dim (int): The number of dimensions of the polynomial basis.
      order (int): The order of the polynomial basis.

    Returns:
      int: The number of coefficients in the polynomial basis.
    """
    match n_dim:
        case 1:
            return order + 1
        case 2:
            return np.sum([i + 1 for i in range(order + 1)])
        case 3:
            return np.sum(
                [np.sum([j + 1 for j in range(i + 1)]) for i in range(order + 1)]
            )
        case 4:
            return np.sum(
                [
                    np.sum(
                        [np.sum([k + 1 for k in range(j + 1)]) for j in range(i + 1)]
                    )
                    for i in range(order + 1)
                ]
            )
        case _:
            sys.exit("Polynomial basis not implemented for this dimensionality!")


@jit_with_docstring(static_argnames=["static_settings", "set"])
def _shape_fun(x_i, i, local_dofs, settings, static_settings, set):
    return solution_space(x_i, i, local_dofs, settings, static_settings, set)


_shape_funs = jax.jit(
    jax.vmap(_shape_fun, (0, 0, 0, None, None, None), 0),
    static_argnames=["static_settings", "set"],
)


@jit_with_docstring(static_argnames=["static_settings", "set"])
def _shape_fun_dx(x_i, i, local_dofs, settings, static_settings, set):
    return jax.jacfwd(solution_space)(
        x_i, i, local_dofs, settings, static_settings, set
    )


_shape_funs_dx = jax.jit(
    jax.vmap(_shape_fun_dx, (0, 0, 0, None, None, None), 0),
    static_argnames=["static_settings", "set"],
)


@jit_with_docstring(static_argnames=["static_settings", "set"])
def _shape_fun_dxx(x_i, i, local_dofs, settings, static_settings, set):
    return jax.jacfwd(jax.jacfwd(solution_space))(
        x_i, i, local_dofs, settings, static_settings, set
    )


_shape_funs_dxx = jax.jit(
    jax.vmap(_shape_fun_dxx, (0, 0, 0, None, None, None), 0),
    static_argnames=["static_settings", "set"],
)



### Spaces defined in the reference configuration, for assembling modes user potential/residual/element
[docs]def fem_iso_line_quad_brick(x, xI, fI, settings, overwrite_diff, n_dim): """ Compute isoparametric finite element shape functions for line, quadrilateral, and brick elements. Args: x (jnp.ndarray): The position of the evaluation point. xI (jnp.ndarray): The positions of neighboring nodes. fI (jnp.ndarray): The data at neighboring nodes. settings (dict): Dictionary containing various settings (not directly used in this function but passed for compatibility). overwrite_diff (bool): If True, overwrites the derivative to be with respect to the initial configuration instead of the reference configuration. n_dim (int): The dimensionality of the elements (1 for line, 2 for quadrilateral, 3 for brick). Returns: float: The computed finite element approximation (sum_i shape_fun_i nodal_values_i) Notes: - This function currently supports line elements up to order 20, quadrilateral elements up to order 20, and brick elements up to order 2. - Though the input `x` is a reference coordinate, its derivative is replaced with respect to the initial configuration when `overwrite_diff` is True. - Warning: Only first-order spatial derivatives are supported in the custom JVP implementation with overwritten derivatives. - Warning: The derivatives with respect to xI are set to zero. """ n_nodes = xI.shape[0] match n_dim: case 1: """The following shape functions were generated using the code below: # Line elements import numpy as np import sympy as sp for n in range(1,21): #n = 8 # Order of shape functions print("case " + str((n+1)) + ":") # Lagrange polynomials x = sp.Symbol('x') xI = np.concatenate(([-1, 1], np.array([-1 + 2 * sp.Rational(i, n) for i in range(1, n)]))) polys = [x - xi for xi in xI] denom = sp.prod(polys) num = [denom / poly for poly in polys] numI = [num[i].subs(x, xI[i]) for i in range(len(num))] Ln = [sp.simplify(num[i] / numI[i]).subs(x, sp.Symbol('xi')).n(20) for i in range(len(num))] # Common subexpression elimination subexpr, reduced_expr = sp.cse(Ln) utility.to_jax_function(subexpr, reduced_expr) """ match n_nodes: case 2: def shape_functions(xi): x0 = 0.5 * xi return jnp.asarray([0.5 - x0, x0 + 0.5]) case 3: def shape_functions(xi): x0 = 0.5 * xi return jnp.asarray( [x0 * (xi - 1.0), x0 * (xi + 1.0), 1.0 - xi**2] ) case 4: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = xi + 1.0 x3 = x2 * (x0 - 1.0) x4 = 0.5625 * xi - 0.5625 return jnp.asarray( [ -0.5625 * xi**3 + 0.5625 * xi**2 + 0.0625 * xi - 0.0625, 0.0625 * x1 * x3, x3 * x4, -x1 * x2 * x4, ] ) case 5: def shape_functions(xi): x0 = xi - 1.0 x1 = 2.0 * xi x2 = x1 - 1.0 x3 = x0 * x2 * xi x4 = x1 + 1.0 x5 = 0.16666666666666666667 * x4 x6 = xi + 1.0 x7 = x6 * xi return jnp.asarray( [ x3 * x5, x2 * x5 * x7, -1.3333333333333333333 * x3 * x6, 4.0 * xi**4 - 5.0 * xi**2 + 1.0, -1.3333333333333333333 * x0 * x4 * x7, ] ) case 6: def shape_functions(xi): x0 = 5.0 * xi x1 = x0 + 1.0 x2 = xi - 1.0 x3 = x0 - 1.0 x4 = x0 - 3.0 x5 = x1 * x2 * x3 * x4 x6 = x0 + 3.0 x7 = 0.0013020833333333333333 * x6 x8 = xi + 1.0 x9 = x3 * x4 * x8 x10 = 0.032552083333333333333 * x8 x11 = x2 * x6 x12 = 0.065104166666666666667 * x11 return jnp.asarray( [ -x5 * x7, x1 * x7 * x9, x10 * x5, -x12 * x9, x1 * x12 * x4 * x8, -x1 * x10 * x11 * x3, ] ) case 7: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = xi - 1.0 x3 = x0 - 1.0 x4 = x0 - 2.0 x5 = x1 * x2 * x3 * x4 * xi x6 = x0 + 2.0 x7 = 0.0125 * x6 x8 = xi + 1.0 x9 = x3 * x4 * x8 * xi x10 = 0.225 * x8 x11 = x2 * x6 x12 = 0.5625 * x11 x13 = x1 * xi return jnp.asarray( [ x5 * x7, x1 * x7 * x9, -x10 * x5, x12 * x9, -20.25 * xi**6 + 31.5 * xi**4 - 12.25 * xi**2 + 1.0, x12 * x13 * x4 * x8, -x10 * x11 * x13 * x3, ] ) case 8: def shape_functions(xi): x0 = 7.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = xi - 1.0 x4 = x0 - 1.0 x5 = x0 - 3.0 x6 = x0 - 5.0 x7 = x1 * x2 * x3 * x4 * x5 * x6 x8 = x0 + 5.0 x9 = 0.000010850694444444444444 * x8 x10 = xi + 1.0 x11 = x1 * x10 * x4 * x5 * x6 x12 = 0.00053168402777777777778 * x10 x13 = x3 * x8 x14 = 0.0015950520833333333333 * x13 x15 = x10 * x2 * x4 * x6 x16 = x13 * x5 x17 = 0.0026584201388888888889 * x16 x18 = x1 * x2 return jnp.asarray( [ -x7 * x9, x11 * x2 * x9, x12 * x7, -x11 * x14, x15 * x17, -x10 * x17 * x18 * x6, x1 * x14 * x15, -x12 * x16 * x18 * x4, ] ) case 9: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 4.0 * xi x3 = x2 + 1.0 x4 = xi - 1.0 x5 = x0 - 1.0 x6 = x2 - 1.0 x7 = x2 - 3.0 x8 = x1 * x3 * x4 * x5 * x6 * x7 * xi x9 = x2 + 3.0 x10 = 0.0015873015873015873016 * x9 x11 = xi + 1.0 x12 = x11 * x3 * x5 * x6 * x7 * xi x13 = 0.050793650793650793651 * x11 x14 = x4 * x9 x15 = 0.088888888888888888889 * x14 x16 = x1 * x11 * x6 * x7 * xi x17 = x14 * x5 x18 = 0.35555555555555555556 * x17 x19 = x1 * x3 * xi return jnp.asarray( [ x10 * x8, x1 * x10 * x12, -x13 * x8, x12 * x15, -x16 * x18, 113.77777777777777778 * xi**8 - 213.33333333333333333 * xi**6 + 121.33333333333333333 * xi**4 - 22.777777777777777778 * xi**2 + 1.0, -x11 * x18 * x19 * x7, x15 * x16 * x3, -x13 * x17 * x19 * x6, ] ) case 10: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 9.0 * xi x3 = x2 + 1.0 x4 = x2 + 5.0 x5 = xi - 1.0 x6 = x0 - 1.0 x7 = x2 - 1.0 x8 = x2 - 5.0 x9 = x2 - 7.0 x10 = x1 * x3 * x4 * x5 * x6 * x7 * x8 * x9 x11 = x2 + 7.0 x12 = 4.3596540178571428571e-7 * x11 x13 = xi + 1.0 x14 = x1 * x13 * x3 * x6 * x7 * x8 * x9 x15 = 0.000035313197544642857143 * x13 x16 = x11 * x5 x17 = 0.00014125279017857142857 * x16 x18 = x13 * x3 * x4 * x6 * x7 * x9 x19 = x16 * x8 x20 = 0.00010986328125 * x19 x21 = x1 * x13 * x4 * x7 * x9 x22 = x19 * x6 x23 = 0.000494384765625 * x22 x24 = x1 * x3 * x4 return jnp.asarray( [ -x10 * x12, x12 * x14 * x4, x10 * x15, -x14 * x17, x18 * x20, -x21 * x23, x13 * x23 * x24 * x9, -x20 * x21 * x3, x1 * x17 * x18, -x15 * x22 * x24 * x7, ] ) case 11: def shape_functions(xi): x0 = 5.0 * xi x1 = x0 + 1.0 x2 = x0 + 2.0 x3 = x0 + 3.0 x4 = xi - 1.0 x5 = x0 - 1.0 x6 = x0 - 2.0 x7 = x0 - 4.0 x8 = x0 - 3.0 x9 = x1 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * xi x10 = x0 + 4.0 x11 = 6.8893298059964726631e-6 * x10 x12 = xi + 1.0 x13 = x1 * x12 * x2 * x5 * x6 * x7 * x8 * xi x14 = 0.00034446649029982363316 * x12 x15 = x10 * x4 x16 = 0.0015500992063492063492 * x15 x17 = x1 * x12 * x3 * x5 * x6 * x7 * xi x18 = x15 * x8 x19 = 0.0041335978835978835979 * x18 x20 = x12 * x2 * x3 * x5 * x7 * xi x21 = x18 * x6 x22 = 0.0072337962962962962963 * x21 x23 = x1 * x2 * x3 * xi return jnp.asarray( [ x11 * x9, x11 * x13 * x3, -x14 * x9, x13 * x16, -x17 * x19, x20 * x22, -678.16840277777777778 * xi**10 + 1491.9704861111111111 * xi**8 - 1110.0260416666666667 * xi**6 + 331.81423611111111111 * xi**4 - 36.590277777777777778 * xi**2 + 1.0, x12 * x22 * x23 * x7, -x1 * x19 * x20, x16 * x17 * x2, -x14 * x21 * x23 * x5, ] ) case 12: def shape_functions(xi): x0 = 11.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = xi - 1.0 x6 = x0 - 1.0 x7 = x0 - 3.0 x8 = x0 - 5.0 x9 = x0 - 7.0 x10 = x0 - 9.0 x11 = x1 * x10 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 x12 = x0 + 9.0 x13 = 1.345572227733686067e-10 * x12 x14 = xi + 1.0 x15 = x1 * x10 * x14 * x2 * x3 * x6 * x7 * x8 * x9 x16 = 1.6281423955577601411e-8 * x14 x17 = x12 * x5 x18 = 8.1407119777888007055e-8 * x17 x19 = x1 * x10 * x14 * x2 * x4 * x6 * x7 * x8 x20 = x17 * x9 x21 = 2.4422135933366402116e-7 * x20 x22 = x1 * x10 * x14 * x3 * x4 * x6 * x7 x23 = x20 * x8 x24 = 4.8844271866732804233e-7 * x23 x25 = x10 * x14 * x2 * x3 * x4 * x6 x26 = x23 * x7 x27 = 6.8381980613425925926e-7 * x26 x28 = x1 * x2 * x3 * x4 return jnp.asarray( [ -x11 * x13, x13 * x15 * x4, x11 * x16, -x15 * x18, x19 * x21, -x22 * x24, x25 * x27, -x10 * x14 * x27 * x28, x1 * x24 * x25, -x2 * x21 * x22, x18 * x19 * x3, -x16 * x26 * x28 * x6, ] ) case 13: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 3.0 * xi x3 = x2 + 1.0 x4 = 6.0 * xi x5 = x4 + 1.0 x6 = x2 + 2.0 x7 = xi - 1.0 x8 = x0 - 1.0 x9 = x2 - 1.0 x10 = x4 - 1.0 x11 = x2 - 2.0 x12 = x4 - 5.0 x13 = x1 * x10 * x11 * x12 * x3 * x5 * x6 * x7 * x8 * x9 * xi x14 = x4 + 5.0 x15 = 0.000010822510822510822511 * x14 x16 = xi + 1.0 x17 = x1 * x10 * x11 * x12 * x16 * x3 * x5 * x8 * x9 * xi x18 = 0.00077922077922077922078 * x16 x19 = x14 * x7 x20 = 0.0021428571428571428571 * x19 x21 = x10 * x12 * x16 * x3 * x5 * x6 * x8 * x9 * xi x22 = x11 * x19 x23 = 0.0047619047619047619048 * x22 x24 = x1 * x10 * x12 * x16 * x5 * x6 * x9 * xi x25 = x22 * x8 x26 = 0.016071428571428571429 * x25 x27 = x1 * x10 * x12 * x16 * x3 * x6 * xi x28 = x25 * x9 x29 = 0.051428571428571428571 * x28 x30 = x1 * x3 * x5 * x6 * xi return jnp.asarray( [ x13 * x15, x15 * x17 * x6, -x13 * x18, x17 * x20, -x21 * x23, x24 * x26, -x27 * x29, 4199.04 * xi**12 - 10614.24 * xi**10 + 9729.72 * xi**8 - 4002.57 * xi**6 + 740.74 * xi**4 - 53.69 * xi**2 + 1.0, -x12 * x16 * x29 * x30, x26 * x27 * x5, -x23 * x24 * x3, x1 * x20 * x21, -x10 * x18 * x28 * x30, ] ) case 14: def shape_functions(xi): x0 = 13.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = xi - 1.0 x7 = x0 - 1.0 x8 = x0 - 3.0 x9 = x0 - 5.0 x10 = x0 - 7.0 x11 = x0 - 9.0 x12 = x0 - 11.0 x13 = ( x1 * x10 * x11 * x12 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x14 = x0 + 11.0 x15 = 2.5484322494956175512e-13 * x14 x16 = xi + 1.0 x17 = x1 * x10 * x11 * x12 * x16 * x2 * x3 * x4 * x7 * x8 * x9 x18 = 4.3068505016475936615e-11 * x16 x19 = x14 * x6 x20 = 2.5841103009885561969e-10 * x19 x21 = x1 * x10 * x12 * x16 * x2 * x3 * x5 * x7 * x8 * x9 x22 = x11 * x19 x23 = 9.4750711036247060553e-10 * x22 x24 = x1 * x12 * x16 * x2 * x4 * x5 * x7 * x8 * x9 x25 = x10 * x22 x26 = 2.3687677759061765138e-9 * x25 x27 = x1 * x12 * x16 * x3 * x4 * x5 * x7 * x8 x28 = x25 * x9 x29 = 4.2637819966311177249e-9 * x28 x30 = x12 * x16 * x2 * x3 * x4 * x5 * x7 x31 = x28 * x8 x32 = 5.6850426621748236332e-9 * x31 x33 = x1 * x2 * x3 * x4 * x5 return jnp.asarray( [ -x13 * x15, x15 * x17 * x5, x13 * x18, -x17 * x20, x21 * x23, -x24 * x26, x27 * x29, -x30 * x32, x12 * x16 * x32 * x33, -x1 * x29 * x30, x2 * x26 * x27, -x23 * x24 * x3, x20 * x21 * x4, -x18 * x31 * x33 * x7, ] ) case 15: def shape_functions(xi): x0 = 7.0 * xi x1 = x0 + 1.0 x2 = x0 + 2.0 x3 = x0 + 4.0 x4 = x0 + 3.0 x5 = x0 + 5.0 x6 = xi - 1.0 x7 = x0 - 1.0 x8 = x0 - 2.0 x9 = x0 - 4.0 x10 = x0 - 3.0 x11 = x0 - 6.0 x12 = x0 - 5.0 x13 = ( x1 * x10 * x11 * x12 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi ) x14 = x0 + 6.0 x15 = 5.6206653428875651098e-10 * x14 x16 = xi + 1.0 x17 = ( x1 * x10 * x11 * x12 * x16 * x2 * x3 * x4 * x7 * x8 * x9 * xi ) x18 = 5.5082520360298138076e-8 * x16 x19 = x14 * x6 x20 = 3.5803638234193789749e-7 * x19 x21 = x1 * x10 * x11 * x16 * x2 * x4 * x5 * x7 * x8 * x9 * xi x22 = x12 * x19 x23 = 1.43214552936775159e-6 * x22 x24 = x1 * x10 * x11 * x16 * x2 * x3 * x5 * x7 * x8 * xi x25 = x22 * x9 x26 = 3.9384002057613168724e-6 * x25 x27 = x1 * x11 * x16 * x3 * x4 * x5 * x7 * x8 * xi x28 = x10 * x25 x29 = 7.8768004115226337449e-6 * x28 x30 = x11 * x16 * x2 * x3 * x4 * x5 * x7 * xi x31 = x28 * x8 x32 = 0.000011815200617283950617 * x31 x33 = x1 * x2 * x3 * x4 * x5 * xi return jnp.asarray( [ x13 * x15, x15 * x17 * x5, -x13 * x18, x17 * x20, -x21 * x23, x24 * x26, -x27 * x29, x30 * x32, -26700.013890817901235 * xi**14 + 76285.753973765432099 * xi**12 - 82980.21809799382716 * xi**10 + 43487.464081790123457 * xi**8 - 11465.29836612654321 * xi**6 + 1445.3903549382716049 * xi**4 - 74.078055555555555556 * xi**2 + 1.0, x11 * x16 * x32 * x33, -x1 * x29 * x30, x2 * x26 * x27, -x23 * x24 * x4, x20 * x21 * x3, -x18 * x31 * x33 * x7, ] ) case 16: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 5.0 * xi x3 = x2 + 1.0 x4 = 15.0 * xi x5 = x4 + 1.0 x6 = x2 + 3.0 x7 = x4 + 7.0 x8 = x4 + 11.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x4 - 1.0 x13 = x2 - 3.0 x14 = x4 - 7.0 x15 = x4 - 11.0 x16 = x4 - 13.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x3 * x5 * x6 * x7 * x8 * x9 ) x18 = x4 + 13.0 x19 = 7.0887023423470131059e-13 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x20 * x3 * x5 * x6 * x7 ) x22 = 1.5949580270280779488e-10 * x20 x23 = x18 * x9 x24 = 1.1164706189196545642e-9 * x23 x25 = ( x1 * x10 * x11 * x12 * x13 * x14 * x16 * x20 * x3 * x5 * x7 * x8 ) x26 = x15 * x23 x27 = 1.6126797828839454816e-9 * x26 x28 = x1 * x10 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x8 x29 = x13 * x26 x30 = 1.4514118045955509334e-8 * x29 x31 = x10 * x11 * x12 * x16 * x20 * x3 * x5 * x6 * x7 * x8 x32 = x14 * x29 x33 = 6.3862119402204241071e-9 * x32 x34 = x1 * x11 * x12 * x16 * x20 * x5 * x6 * x7 * x8 x35 = x10 * x32 x36 = 1.7739477611723400298e-8 * x35 x37 = x1 * x12 * x16 * x20 * x3 * x6 * x7 * x8 x38 = x11 * x35 x39 = 6.8423699359504544005e-8 * x38 x40 = x1 * x3 * x5 * x6 * x7 * x8 return jnp.asarray( [ -x17 * x19, x19 * x21 * x8, x17 * x22, -x21 * x24, x25 * x27, -x28 * x30, x31 * x33, -x34 * x36, x37 * x39, -x16 * x20 * x39 * x40, x36 * x37 * x5, -x3 * x33 * x34, x1 * x30 * x31, -x27 * x28 * x7, x24 * x25 * x6, -x12 * x22 * x38 * x40, ] ) case 17: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 4.0 * xi x3 = x2 + 1.0 x4 = 8.0 * xi x5 = x4 + 1.0 x6 = x2 + 3.0 x7 = x4 + 3.0 x8 = x4 + 5.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x4 - 1.0 x13 = x2 - 3.0 x14 = x4 - 3.0 x15 = x4 - 5.0 x16 = x4 - 7.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x18 = x4 + 7.0 x19 = 7.8306956613834920713e-10 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x20 * x3 * x5 * x7 * x8 * xi ) x22 = 1.0023290446570869851e-7 * x20 x23 = x18 * x9 x24 = 3.7587339174640761942e-7 * x23 x25 = ( x1 * x10 * x11 * x12 * x14 * x15 * x16 * x20 * x3 * x5 * x6 * x7 * xi ) x26 = x13 * x23 x27 = 3.508151656299804448e-6 * x26 x28 = ( x10 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x7 * x8 * xi ) x29 = x15 * x26 x30 = 2.850373220743591114e-6 * x29 x31 = x1 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x8 * xi x32 = x10 * x29 x33 = 0.000027363582919138474694 * x32 x34 = x1 * x11 * x12 * x16 * x20 * x5 * x6 * x7 * x8 * xi x35 = x14 * x32 x36 = 0.000025083284342543601803 * x35 x37 = x1 * x12 * x16 * x20 * x3 * x6 * x7 * x8 * xi x38 = x11 * x35 x39 = 0.000071666526692981719437 * x38 x40 = x1 * x3 * x5 * x6 * x7 * x8 * xi return jnp.asarray( [ x17 * x19, x19 * x21 * x6, -x17 * x22, x21 * x24, -x25 * x27, x28 * x30, -x31 * x33, x34 * x36, -x37 * x39, 173140.53095490047871 * xi**16 - 551885.44241874527589 * xi**14 + 694168.40804232804233 * xi**12 - 441984.42698916603679 * xi**10 + 152107.76187452758881 * xi**8 - 28012.603597883597884 * xi**6 + 2562.5271453766691862 * xi**4 - 97.755011337868480726 * xi**2 + 1.0, -x16 * x20 * x39 * x40, x36 * x37 * x5, -x3 * x33 * x34, x30 * x31 * x7, -x1 * x27 * x28, x24 * x25 * x8, -x12 * x22 * x38 * x40, ] ) case 18: def shape_functions(xi): x0 = 17.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = x0 + 11.0 x7 = x0 + 13.0 x8 = xi - 1.0 x9 = x0 - 1.0 x10 = x0 - 3.0 x11 = x0 - 5.0 x12 = x0 - 7.0 x13 = x0 - 9.0 x14 = x0 - 11.0 x15 = x0 - 13.0 x16 = x0 - 15.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x18 = x0 + 15.0 x19 = 3.6464518221949655895e-19 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x2 * x20 * x3 * x4 * x5 * x6 * x9 ) x22 = 1.0538245766143450554e-16 * x20 x23 = x18 * x8 x24 = 8.4305966129147604429e-16 * x23 x25 = ( x1 * x10 * x11 * x12 * x13 * x14 * x16 * x2 * x20 * x3 * x4 * x5 * x7 * x9 ) x26 = x15 * x23 x27 = 4.2152983064573802214e-15 * x26 x28 = ( x1 * x10 * x11 * x12 * x13 * x16 * x2 * x20 * x3 * x4 * x6 * x7 * x9 ) x29 = x14 * x26 x30 = 1.4753544072600830775e-14 * x29 x31 = ( x1 * x10 * x11 * x12 * x16 * x2 * x20 * x3 * x5 * x6 * x7 * x9 ) x32 = x13 * x29 x33 = 3.8359214588762160015e-14 * x32 x34 = x1 * x10 * x11 * x16 * x2 * x20 * x4 * x5 * x6 * x7 * x9 x35 = x12 * x32 x36 = 7.671842917752432003e-14 * x35 x37 = x1 * x10 * x16 * x20 * x3 * x4 * x5 * x6 * x7 * x9 x38 = x11 * x35 x39 = 1.2055753156468107433e-13 * x38 x40 = x16 * x2 * x20 * x3 * x4 * x5 * x6 * x7 * x9 x41 = x10 * x38 x42 = 1.5069691445585134292e-13 * x41 x43 = x1 * x2 * x3 * x4 * x5 * x6 * x7 return jnp.asarray( [ -x17 * x19, x19 * x21 * x7, x17 * x22, -x21 * x24, x25 * x27, -x28 * x30, x31 * x33, -x34 * x36, x37 * x39, -x40 * x42, x16 * x20 * x42 * x43, -x1 * x39 * x40, x2 * x36 * x37, -x3 * x33 * x34, x30 * x31 * x4, -x27 * x28 * x5, x24 * x25 * x6, -x22 * x41 * x43 * x9, ] ) case 19: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 9.0 * xi x3 = x2 + 1.0 x4 = x0 + 2.0 x5 = x2 + 2.0 x6 = x2 + 4.0 x7 = x2 + 5.0 x8 = x2 + 7.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x0 - 2.0 x13 = x2 - 2.0 x14 = x2 - 4.0 x15 = x2 - 8.0 x16 = x2 - 5.0 x17 = x2 - 7.0 x18 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi ) x19 = x2 + 8.0 x20 = 1.0247761692089423182e-12 * x19 x21 = xi + 1.0 x22 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x21 * x3 * x4 * x5 * x6 * x7 * xi ) x23 = 1.6601373941184865555e-10 * x21 x24 = x19 * x9 x25 = 1.4111167850007135721e-9 * x24 x26 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x21 * x3 * x5 * x6 * x7 * x8 * xi ) x27 = x17 * x24 x28 = 2.5086520622234907949e-9 * x27 x29 = ( x1 * x10 * x11 * x13 * x14 * x15 * x16 * x21 * x3 * x4 * x5 * x6 * x8 * xi ) x30 = x12 * x27 x31 = 2.8222335700014271443e-8 * x30 x32 = ( x1 * x10 * x11 * x13 * x14 * x15 * x21 * x3 * x4 * x5 * x7 * x8 * xi ) x33 = x16 * x30 x34 = 7.902253996003996004e-8 * x33 x35 = ( x10 * x11 * x13 * x15 * x21 * x3 * x4 * x5 * x6 * x7 * x8 * xi ) x36 = x14 * x33 x37 = 5.7071834415584415584e-8 * x36 x38 = x1 * x11 * x13 * x15 * x21 * x3 * x4 * x6 * x7 * x8 * xi x39 = x10 * x36 x40 = 2.9351229128014842301e-7 * x39 x41 = x1 * x11 * x15 * x21 * x4 * x5 * x6 * x7 * x8 * xi x42 = x13 * x39 x43 = 4.0357940051020408163e-7 * x42 x44 = x1 * x3 * x4 * x5 * x6 * x7 * x8 * xi return jnp.asarray( [ x18 * x20, x20 * x22 * x8, -x18 * x23, x22 * x25, -x26 * x28, x29 * x31, -x32 * x34, x35 * x37, -x38 * x40, x41 * x43, -1139827.4301937679369 * xi**18 + 4010503.9210521464445 * xi**16 - 5723632.7564645448023 * xi**14 + 4288221.5882976921237 * xi**12 - 1825541.0625608358578 * xi**10 + 447065.31380067163584 * xi**8 - 60894.246929607780612 * xi**6 + 4228.3941844706632653 * xi**4 - 124.72118622448979592 * xi**2 + 1.0, x15 * x21 * x43 * x44, -x3 * x40 * x41, x37 * x38 * x5, -x1 * x34 * x35, x31 * x32 * x6, -x28 * x29 * x7, x25 * x26 * x4, -x11 * x23 * x42 * x44, ] ) case 20: def shape_functions(xi): x0 = 19.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = x0 + 11.0 x7 = x0 + 13.0 x8 = x0 + 15.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x0 - 3.0 x12 = x0 - 5.0 x13 = x0 - 7.0 x14 = x0 - 9.0 x15 = x0 - 11.0 x16 = x0 - 13.0 x17 = x0 - 15.0 x18 = x0 - 17.0 x19 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x20 = x0 + 17.0 x21 = 2.9791273057148411679e-22 * x20 x22 = xi + 1.0 x23 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x7 ) x24 = 1.0754649573630576616e-19 * x22 x25 = x20 * x9 x26 = 9.6791846162675189544e-19 * x25 x27 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x8 ) x28 = x17 * x25 x29 = 5.4848712825515940742e-18 * x28 x30 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x18 * x2 * x22 * x3 * x4 * x5 * x7 * x8 ) x31 = x16 * x28 x32 = 2.1939485130206376297e-17 * x31 x33 = ( x1 * x10 * x11 * x12 * x13 * x14 * x18 * x2 * x22 * x3 * x4 * x6 * x7 * x8 ) x34 = x15 * x31 x35 = 6.581845539061912889e-17 * x34 x36 = ( x1 * x10 * x11 * x12 * x13 * x18 * x2 * x22 * x3 * x5 * x6 * x7 * x8 ) x37 = x14 * x34 x38 = 1.5357639591144463408e-16 * x37 x39 = ( x1 * x10 * x11 * x12 * x18 * x2 * x22 * x4 * x5 * x6 * x7 * x8 ) x40 = x13 * x37 x41 = 2.8521330669268289186e-16 * x40 x42 = x1 * x10 * x11 * x18 * x22 * x3 * x4 * x5 * x6 * x7 * x8 x43 = x12 * x40 x44 = 4.2781996003902433779e-16 * x43 x45 = x10 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x7 * x8 x46 = x11 * x43 x47 = 5.2289106226991863507e-16 * x46 x48 = x1 * x2 * x3 * x4 * x5 * x6 * x7 * x8 return jnp.asarray( [ -x19 * x21, x21 * x23 * x8, x19 * x24, -x23 * x26, x27 * x29, -x30 * x32, x33 * x35, -x36 * x38, x39 * x41, -x42 * x44, x45 * x47, -x18 * x22 * x47 * x48, x1 * x44 * x45, -x2 * x41 * x42, x3 * x38 * x39, -x35 * x36 * x4, x32 * x33 * x5, -x29 * x30 * x6, x26 * x27 * x7, -x10 * x24 * x46 * x48, ] ) case 21: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 5.0 * xi x3 = x2 + 1.0 x4 = 10.0 * xi x5 = x4 + 1.0 x6 = x2 + 2.0 x7 = x2 + 4.0 x8 = x2 + 3.0 x9 = x4 + 3.0 x10 = x4 + 7.0 x11 = xi - 1.0 x12 = x0 - 1.0 x13 = x2 - 1.0 x14 = x4 - 1.0 x15 = x2 - 2.0 x16 = x2 - 4.0 x17 = x2 - 3.0 x18 = x4 - 3.0 x19 = x4 - 7.0 x20 = x4 - 9.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x22 = x4 + 9.0 x23 = 2.6306032789197855094e-13 * x22 x24 = xi + 1.0 x25 = ( x1 * x10 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x24 * x3 * x5 * x6 * x8 * x9 * xi ) x26 = 5.2612065578395710189e-11 * x24 x27 = x11 * x22 x28 = 2.499073114973796234e-10 * x27 x29 = ( x1 * x12 * x13 * x14 * x15 * x17 * x18 * x19 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x30 = x16 * x27 x31 = 2.9988877379685554807e-9 * x30 x32 = ( x1 * x10 * x12 * x13 * x14 * x15 * x17 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x9 * xi ) x33 = x19 * x30 x34 = 6.3726364431831803966e-9 * x33 x35 = ( x10 * x12 * x13 * x14 * x15 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x36 = x17 * x33 x37 = 8.1569746472744709076e-9 * x36 x38 = ( x1 * x10 * x13 * x14 * x15 * x18 * x20 * x24 * x3 * x5 * x7 * x8 * x9 * xi ) x39 = x12 * x36 x40 = 5.0981091545465443173e-8 * x39 x41 = ( x1 * x10 * x13 * x14 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * xi ) x42 = x15 * x39 x43 = 2.0392436618186177269e-7 * x42 x44 = ( x1 * x10 * x13 * x14 * x20 * x24 * x5 * x6 * x7 * x8 * x9 * xi ) x45 = x18 * x42 x46 = 1.6568854752276269031e-7 * x45 x47 = x1 * x10 * x14 * x20 * x24 * x3 * x6 * x7 * x8 * x9 * xi x48 = x13 * x45 x49 = 4.4183612672736717416e-7 * x48 x50 = x1 * x10 * x3 * x5 * x6 * x7 * x8 * x9 * xi return jnp.asarray( [ x21 * x23, x23 * x25 * x7, -x21 * x26, x25 * x28, -x29 * x31, x32 * x34, -x35 * x37, x38 * x40, -x41 * x43, x44 * x46, -x47 * x49, 7594058.4281266233059 * xi**20 - 29237124.948287499728 * xi**18 + 46662451.417466849566 * xi**16 - 40202717.496749499983 * xi**14 + 20418933.234909475907 * xi**12 - 6274158.9818744284408 * xi**10 + 1153141.6151619398331 * xi**8 - 121028.00916570045942 * xi**6 + 6598.7171853566529492 * xi**4 - 154.97677311665406904 * xi**2 + 1.0, -x20 * x24 * x49 * x50, x46 * x47 * x5, -x3 * x43 * x44, x40 * x41 * x9, -x37 * x38 * x6, x1 * x34 * x35, -x31 * x32 * x8, x10 * x28 * x29, -x14 * x26 * x48 * x50, ] ) case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case 2: """The following shape functions were generated using the code below: # Quadrilateral elements via tensor product line elements import numpy as np import sympy as sp for n in range(1,21): #n = 8 # Order of shape functions print("case " + str((n+1)**2) + ":") # Lagrange polynomials x = sp.Symbol('x') xI = np.concatenate(([-1], np.array([-1 + 2 * sp.Rational(i, n) for i in range(1, n)]), [1])) polys = [x - xi for xi in xI] denom = sp.prod(polys) num = [denom / poly for poly in polys] numI = [num[i].subs(x, xI[i]) for i in range(len(num))] Ln = [sp.simplify(num[i] / numI[i]).subs(x, sp.Symbol('xi[0]')) for i in range(len(num))] def square_indices(l, u): indices = [] if l < u: indices.extend([[l, l], [u, l], [u, u], [l, u]]) for k in range(l+1, u, 1): indices.append([k, l]) for k in range(l+1, u, 1): indices.append([u, k]) for k in range(u-1, l, -1): indices.append([k, u]) for k in range(u-1, l, -1): indices.append([l, k]) else: indices = [[l, u]] return indices ordering = square_indices(0, n) for k in range(1, n): l = k u = n - k if l <= u: ordering += square_indices(l, u) # Tensor product shape functions QnTensorProduct = sp.Matrix([[Ln_i * Ln_j.subs(sp.Symbol('xi[0]'), sp.Symbol('xi[1]')).simplify() for Ln_j in Ln] for Ln_i in Ln]) # Node ordering Qn = [QnTensorProduct[i, j].n(20) for (i,j) in ordering] # Common subexpression elimination subexpr, reduced_expr = sp.cse(Qn) utility.to_jax_function(subexpr, reduced_expr) """ match n_nodes: case 4: def shape_functions(xi): x0 = 0.5 * xi[0] x1 = 0.5 - x0 x2 = 0.5 * xi[1] x3 = 0.5 - x2 x4 = x0 + 0.5 x5 = x2 + 0.5 return jnp.asarray([x1 * x3, x3 * x4, x4 * x5, x1 * x5]) case 9: def shape_functions(xi): x0 = xi[0] * (xi[0] - 1.0) x1 = xi[1] * (xi[1] - 1.0) x2 = 0.25 * x1 x3 = xi[0] * (xi[0] + 1.0) x4 = xi[1] * (xi[1] + 1.0) x5 = 0.25 * x4 x6 = 1.0 - xi[0] ** 2 x7 = 0.5 * x6 x8 = 1.0 - xi[1] ** 2 x9 = 0.5 * x8 return jnp.asarray( [ x0 * x2, x2 * x3, x3 * x5, x0 * x5, x1 * x7, x3 * x9, x4 * x7, x0 * x9, x6 * x8, ] ) case 16: def shape_functions(xi): x0 = ( -0.5625 * xi[0] ** 3 + 0.5625 * xi[0] ** 2 + 0.0625 * xi[0] - 0.0625 ) x1 = ( -0.5625 * xi[1] ** 3 + 0.5625 * xi[1] ** 2 + 0.0625 * xi[1] - 0.0625 ) x2 = xi[0] + 1.0 x3 = 3.0 * xi[0] x4 = x2 * (x3 + 1.0) x5 = x3 - 1.0 x6 = x1 * x5 x7 = xi[1] + 1.0 x8 = 3.0 * xi[1] x9 = x7 * (x8 - 1.0) x10 = x5 * x9 x11 = x8 + 1.0 x12 = x11 * x4 x13 = x0 * x11 x14 = xi[0] - 1.0 x15 = 0.5625 * x14 x16 = xi[1] - 1.0 x17 = 0.03515625 * x16 x18 = x12 * x7 x19 = 0.03515625 * x14 x20 = x10 * x2 x21 = 0.5625 * x16 x22 = 0.31640625 * x14 * x16 return jnp.asarray( [ x0 * x1, 0.0625 * x4 * x6, 0.00390625 * x10 * x12, 0.0625 * x13 * x9, x15 * x2 * x6, -x1 * x15 * x4, x10 * x17 * x4, -x17 * x18 * x5, -x12 * x19 * x9, x11 * x19 * x20, -x13 * x21 * x7, x0 * x21 * x9, x20 * x22, -x22 * x4 * x9, x18 * x22, -x11 * x2 * x22 * x5 * x7, ] ) case 25: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 2.0 * xi[1] x3 = x2 + 1.0 x4 = x2 - 1.0 x5 = x3 * x4 * xi[1] x6 = x1 * x5 x7 = 2.0 * xi[0] x8 = x7 + 1.0 x9 = x7 - 1.0 x10 = x8 * x9 * xi[0] x11 = 0.027777777777777777778 * x10 x12 = x11 * x6 x13 = xi[0] + 1.0 x14 = xi[1] + 1.0 x15 = x11 * x14 * x5 x16 = x0 * xi[0] x17 = x16 * x9 x18 = 0.22222222222222222222 * x13 x19 = x18 * x6 x20 = 4.0 * xi[0] ** 4 - 5.0 * xi[0] ** 2 + 1.0 x21 = x1 * x20 x22 = 0.16666666666666666667 * x5 x23 = x16 * x8 x24 = x14 * xi[1] x25 = x24 * x4 x26 = x1 * x10 x27 = x18 * x26 x28 = 4.0 * xi[1] ** 4 - 5.0 * xi[1] ** 2 + 1.0 x29 = x13 * x28 x30 = 0.16666666666666666667 * x10 x31 = x24 * x3 x32 = x14 * x18 * x5 x33 = 0.22222222222222222222 * x0 * x26 x34 = 1.7777777777777777778 * x1 * x13 x35 = x25 * x34 x36 = x31 * x34 x37 = 1.3333333333333333333 * x21 x38 = 1.3333333333333333333 * x29 return jnp.asarray( [ x0 * x12, x12 * x13, x13 * x15, x0 * x15, -x17 * x19, x21 * x22, -x19 * x23, -x25 * x27, x29 * x30, -x27 * x31, -x23 * x32, x14 * x20 * x22, -x17 * x32, -x31 * x33, x0 * x28 * x30, -x25 * x33, x17 * x35, x23 * x35, x23 * x36, x17 * x36, -x25 * x37, -x23 * x38, -x31 * x37, -x17 * x38, x20 * x28, ] ) case 36: def shape_functions(xi): x0 = 5.0 * xi[1] x1 = x0 + 3.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 5.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = xi[1] - 1.0 x9 = x4 - 1.0 x10 = x0 - 1.0 x11 = x4 - 3.0 x12 = x0 - 3.0 x13 = x10 * x11 * x12 * x5 * x6 * x7 * x8 * x9 x14 = 1.6954210069444444444e-6 * x13 x15 = xi[0] + 1.0 x16 = x1 * x15 x17 = xi[1] + 1.0 x18 = x17 * x7 x19 = x16 * x18 x20 = x10 * x11 * x12 * x5 * x6 * x9 x21 = 1.6954210069444444444e-6 * x20 x22 = x18 * x3 x23 = 0.000042385525173611111111 * x15 x24 = x3 * x8 x25 = x23 * x24 x26 = x10 * x11 * x6 * x9 x27 = x24 * x26 x28 = x12 * x15 x29 = 0.000084771050347222222222 * x28 x30 = x29 * x7 x31 = x10 * x5 x32 = x11 * x6 x33 = x31 * x32 x34 = x12 * x9 x35 = x31 * x34 x36 = x35 * x6 x37 = x17 * x23 x38 = x19 * x8 x39 = 0.000084771050347222222222 * x38 x40 = x11 * x35 x41 = x32 * x5 x42 = x34 * x41 x43 = 0.000042385525173611111111 * x26 * x5 x44 = x22 * x29 x45 = x22 * x8 x46 = 0.000084771050347222222222 * x45 x47 = x17 * x2 x48 = 0.0010596381293402777778 * x8 x49 = x28 * x9 x50 = x31 * x6 x51 = x18 * x2 x52 = 0.0010596381293402777778 * x15 x53 = 0.0021192762586805555556 * x26 x54 = x28 * x51 * x8 x55 = 0.0021192762586805555556 * x33 x56 = 0.0021192762586805555556 * x49 x57 = x31 * x45 x58 = x15 * x45 x59 = x17 * x24 * x56 x60 = 0.0042385525173611111111 * x11 x61 = x45 * x49 return jnp.asarray( [ x14 * x3, -x14 * x16, x19 * x21, -x21 * x22, -x20 * x25, x27 * x30, -x24 * x30 * x33, x25 * x36 * x7, x13 * x37, -x39 * x40, x39 * x42, -x38 * x43, -x22 * x23 * x36, x33 * x44, -x26 * x44, x20 * x3 * x37, x43 * x45, -x42 * x46, x40 * x46, -0.000042385525173611111111 * x13 * x47, x15 * x20 * x47 * x48, -x48 * x49 * x50 * x51, x45 * x50 * x52 * x9, -x17 * x27 * x5 * x52, -x53 * x54, x54 * x55, x56 * x57, -x45 * x5 * x56 * x6, -x55 * x58, x53 * x58, x41 * x59, -x11 * x31 * x59, x10 * x60 * x61, -x28 * x57 * x60, 0.0042385525173611111111 * x28 * x41 * x45, -0.0042385525173611111111 * x32 * x61, ] ) case 49: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 3.0 * xi[1] x3 = x2 + 1.0 x4 = x2 + 2.0 x5 = x2 - 1.0 x6 = x2 - 2.0 x7 = x3 * x4 * x5 * x6 * xi[1] x8 = x1 * x7 x9 = 3.0 * xi[0] x10 = x9 + 1.0 x11 = x9 + 2.0 x12 = x9 - 1.0 x13 = x9 - 2.0 x14 = x10 * x11 * x12 * x13 * xi[0] x15 = 0.00015625 * x14 x16 = x15 * x8 x17 = xi[0] + 1.0 x18 = xi[1] + 1.0 x19 = x15 * x18 * x7 x20 = x17 * x8 x21 = x0 * x10 * x12 * xi[0] x22 = 0.0028125 * x21 x23 = x20 * x22 x24 = x0 * x13 * xi[0] x25 = x12 * x24 x26 = 0.00703125 * x11 x27 = x20 * x26 x28 = ( -20.25 * xi[0] ** 6 + 31.5 * xi[0] ** 4 - 12.25 * xi[0] ** 2 + 1.0 ) x29 = x1 * x28 x30 = 0.0125 * x7 x31 = x10 * x24 x32 = x18 * x5 * x6 * xi[1] x33 = x1 * x14 x34 = x17 * x33 x35 = x32 * x34 x36 = 0.0028125 * x3 x37 = 0.00703125 * x4 x38 = ( -20.25 * xi[1] ** 6 + 31.5 * xi[1] ** 4 - 12.25 * xi[1] ** 2 + 1.0 ) x39 = x17 * x38 x40 = 0.0125 * x14 x41 = x18 * x4 * xi[1] x42 = x34 * x41 x43 = x3 * x6 x44 = 0.00703125 * x43 x45 = x36 * x5 x46 = x11 * x17 x47 = x18 * x7 x48 = x22 * x47 x49 = x17 * x26 * x47 x50 = x13 * x17 x51 = x0 * x33 x52 = x41 * x51 x53 = x32 * x51 x54 = x1 * x21 x55 = x50 * x54 x56 = x3 * x32 x57 = 0.050625 * x56 x58 = x46 * x54 x59 = x41 * x58 x60 = x3 * x5 x61 = 0.050625 * x60 x62 = x41 * x55 x63 = x1 * x46 x64 = 0.1265625 * x63 x65 = x56 * x64 x66 = x29 * x32 x67 = 0.225 * x3 x68 = x32 * x4 x69 = 0.1265625 * x68 x70 = x11 * x39 x71 = 0.225 * x21 x72 = 0.1265625 * x43 x73 = x31 * x41 x74 = x60 * x64 x75 = x29 * x41 x76 = x25 * x41 x77 = 0.31640625 * x63 x78 = x68 * x77 x79 = x43 * x77 x80 = 0.5625 * x70 return jnp.asarray( [ x0 * x16, x16 * x17, x17 * x19, x0 * x19, -x13 * x23, x25 * x27, x29 * x30, x27 * x31, -x11 * x23, -x35 * x36, x35 * x37, x39 * x40, x42 * x44, -x42 * x45, -x46 * x48, x31 * x49, x18 * x28 * x30, x25 * x49, -x48 * x50, -x45 * x52, x44 * x52, x0 * x38 * x40, x37 * x53, -x36 * x53, x55 * x57, x57 * x58, x59 * x61, x61 * x62, -x25 * x65, -x66 * x67, -x31 * x65, -x58 * x69, -x70 * x71, -x59 * x72, -x73 * x74, -x5 * x67 * x75, -x74 * x76, -x62 * x72, -x13 * x39 * x71, -x55 * x69, x25 * x78, x31 * x78, x73 * x79, x76 * x79, 0.5625 * x4 * x66, x31 * x80, 0.5625 * x43 * x75, x25 * x80, x28 * x38, ] ) case 64: def shape_functions(xi): x0 = 7.0 * xi[1] x1 = x0 + 5.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 7.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = x0 + 3.0 x9 = x4 + 5.0 x10 = xi[1] - 1.0 x11 = x4 - 1.0 x12 = x0 - 1.0 x13 = x4 - 3.0 x14 = x0 - 3.0 x15 = x4 - 5.0 x16 = x0 - 5.0 x17 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x5 * x6 * x7 * x8 * x9 ) x18 = 1.1773756992669753086e-10 * x17 x19 = xi[0] + 1.0 x20 = x1 * x19 x21 = xi[1] + 1.0 x22 = x21 * x9 x23 = x20 * x22 x24 = x11 * x12 * x13 * x14 * x15 * x16 * x5 * x6 * x7 * x8 x25 = 1.1773756992669753086e-10 * x24 x26 = x22 * x3 x27 = 5.7691409264081790123e-9 * x19 x28 = x10 * x3 x29 = x27 * x28 x30 = x11 * x12 * x13 * x14 * x15 * x16 * x5 * x8 x31 = x28 * x30 x32 = x19 * x6 x33 = 1.7307422779224537037e-8 * x32 x34 = x33 * x9 x35 = x11 * x12 * x13 * x14 * x15 * x16 x36 = x28 * x35 x37 = 2.8845704632040895062e-8 * x7 x38 = x32 * x8 x39 = x37 * x38 x40 = x39 * x9 x41 = x12 * x13 * x14 * x5 x42 = x15 * x16 x43 = x28 * x42 x44 = x11 * x8 x45 = x14 * x44 x46 = x5 * x7 x47 = x12 * x46 x48 = x43 * x47 x49 = x44 * x6 x50 = x41 * x7 x51 = x16 * x50 x52 = x49 * x51 x53 = x21 * x27 x54 = x10 * x23 x55 = x54 * x6 x56 = 1.7307422779224537037e-8 * x35 * x46 x57 = x30 * x37 x58 = x13 * x42 x59 = x5 * x58 x60 = x37 * x45 * x59 x61 = x49 * x54 x62 = x47 * x58 x63 = 1.7307422779224537037e-8 * x62 x64 = x15 * x50 x65 = 5.7691409264081790123e-9 * x64 x66 = x26 * x42 x67 = x47 * x66 x68 = x45 * x67 x69 = x26 * x35 x70 = x26 * x30 x71 = x10 * x26 x72 = x49 * x71 x73 = x6 * x71 x74 = x2 * x21 x75 = 2.826879053940007716e-7 * x10 x76 = x11 * x38 x77 = x2 * x22 x78 = x76 * x77 x79 = 2.826879053940007716e-7 * x76 x80 = x10 * x77 x81 = 8.4806371618200231481e-7 * x32 x82 = 1.413439526970003858e-6 * x38 x83 = x80 * x82 x84 = 8.4806371618200231481e-7 * x47 x85 = x10 * x14 x86 = x51 * x71 x87 = 1.413439526970003858e-6 * x19 x88 = x13 * x16 x89 = x71 * x76 x90 = x14 * x89 x91 = 1.413439526970003858e-6 * x90 x92 = x12 * x7 x93 = x13 * x21 * x76 x94 = x14 * x46 x95 = 2.5441911485460069444e-6 * x32 x96 = x10 * x69 x97 = 4.2403185809100115741e-6 * x32 x98 = x7 * x96 x99 = x10 * x50 * x66 x100 = 4.2403185809100115741e-6 * x10 * x19 x101 = x38 * x71 x102 = 7.0671976348500192901e-6 * x19 * x8 x103 = 7.0671976348500192901e-6 * x58 return jnp.asarray( [ x18 * x3, -x18 * x20, x23 * x25, -x25 * x26, -x24 * x29, x31 * x34, -x36 * x40, x40 * x41 * x43, -x34 * x45 * x48, x29 * x52 * x9, x17 * x53, -x55 * x56, x54 * x57, -x55 * x60, x61 * x63, -x61 * x65, -x26 * x27 * x52, x33 * x68, -x39 * x41 * x66, x39 * x69, -x33 * x70, x24 * x3 * x53, x65 * x72, -x63 * x72, x60 * x73, -x57 * x71, x56 * x73, -5.7691409264081790123e-9 * x17 * x74, x19 * x24 * x74 * x75, -x51 * x75 * x78, x50 * x71 * x79, -x21 * x28 * x64 * x79, -x30 * x80 * x81, x35 * x7 * x83, -x42 * x50 * x83, x42 * x78 * x84 * x85, x11 * x81 * x86, -x44 * x86 * x87, x46 * x88 * x91, -x84 * x88 * x89, -x15 * x84 * x90, x64 * x71 * x82, -x13 * x15 * x91 * x92, 8.4806371618200231481e-7 * x15 * x41 * x89, 8.4806371618200231481e-7 * x48 * x93, -1.413439526970003858e-6 * x43 * x93 * x94, x21 * x31 * x7 * x87, -x21 * x36 * x46 * x81, x5 * x95 * x96, -x11 * x67 * x85 * x95, 2.5441911485460069444e-6 * x10 * x67 * x76, -2.5441911485460069444e-6 * x12 * x59 * x89, -x97 * x98, x97 * x99, x100 * x68, -4.2403185809100115741e-6 * x46 * x66 * x76 * x85, -4.2403185809100115741e-6 * x101 * x62, 4.2403185809100115741e-6 * x58 * x89 * x92, 4.2403185809100115741e-6 * x59 * x90, -x100 * x70, x102 * x98, -x102 * x99, x101 * x103 * x94, -x103 * x7 * x90, ] ) case 81: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 2.0 * xi[1] x3 = x2 + 1.0 x4 = 4.0 * xi[1] x5 = x4 + 1.0 x6 = x4 + 3.0 x7 = x2 - 1.0 x8 = x4 - 1.0 x9 = x4 - 3.0 x10 = x3 * x5 * x6 * x7 * x8 * x9 * xi[1] x11 = x1 * x10 x12 = 2.0 * xi[0] x13 = x12 + 1.0 x14 = 4.0 * xi[0] x15 = x14 + 1.0 x16 = x14 + 3.0 x17 = x12 - 1.0 x18 = x14 - 1.0 x19 = x14 - 3.0 x20 = x13 * x15 * x16 * x17 * x18 * x19 * xi[0] x21 = 2.5195263290501385739e-6 * x20 x22 = x11 * x21 x23 = xi[0] + 1.0 x24 = xi[1] + 1.0 x25 = x10 * x21 * x24 x26 = x11 * x23 x27 = x0 * x13 * x15 * x17 * x18 * xi[0] x28 = 0.000080624842529604434366 * x27 x29 = x26 * x28 x30 = x16 * x26 x31 = x0 * x15 * x18 * x19 * xi[0] x32 = 0.00014109347442680776014 * x31 x33 = x30 * x32 x34 = x0 * x17 * x19 * xi[0] x35 = x18 * x34 x36 = 0.00056437389770723104056 * x13 x37 = x30 * x36 x38 = ( 113.77777777777777778 * xi[0] ** 8 - 213.33333333333333333 * xi[0] ** 6 + 121.33333333333333333 * xi[0] ** 4 - 22.777777777777777778 * xi[0] ** 2 + 1.0 ) x39 = x1 * x38 x40 = 0.0015873015873015873016 * x10 x41 = x15 * x34 x42 = x24 * x5 * x7 * x8 * x9 * xi[1] x43 = x1 * x20 x44 = x23 * x43 x45 = x42 * x44 x46 = 0.000080624842529604434366 * x3 x47 = 0.00014109347442680776014 * x6 x48 = x24 * x6 * x7 * x8 * xi[1] x49 = x3 * x9 x50 = x48 * x49 x51 = 0.00056437389770723104056 * x44 x52 = ( 113.77777777777777778 * xi[1] ** 8 - 213.33333333333333333 * xi[1] ** 6 + 121.33333333333333333 * xi[1] ** 4 - 22.777777777777777778 * xi[1] ** 2 + 1.0 ) x53 = x23 * x52 x54 = 0.0015873015873015873016 * x20 x55 = x6 * x7 x56 = x24 * x49 * xi[1] x57 = x5 * x56 x58 = x55 * x57 x59 = x57 * x8 x60 = x47 * x59 x61 = x48 * x5 x62 = x46 * x61 x63 = x16 * x23 x64 = x10 * x24 * x63 x65 = x32 * x64 x66 = x36 * x64 x67 = x19 * x23 x68 = x0 * x43 x69 = 0.00056437389770723104056 * x68 x70 = x42 * x68 x71 = x1 * x27 x72 = x67 * x71 x73 = x3 * x42 x74 = 0.0025799949609473418997 * x73 x75 = x63 * x71 x76 = x3 * x61 x77 = 0.0025799949609473418997 * x76 x78 = x1 * x63 x79 = x73 * x78 x80 = 0.0045149911816578483245 * x31 x81 = x79 * x80 x82 = 0.018059964726631393298 * x13 x83 = x79 * x82 x84 = x39 * x42 x85 = 0.050793650793650793651 * x3 x86 = 0.0045149911816578483245 * x6 x87 = x75 * x86 x88 = 0.018059964726631393298 * x75 x89 = x16 * x53 x90 = 0.050793650793650793651 * x27 x91 = x76 * x78 x92 = x80 * x91 x93 = x82 * x91 x94 = x39 * x5 x95 = x72 * x86 x96 = 0.018059964726631393298 * x72 x97 = x31 * x78 x98 = x17 * x97 x99 = x42 * x6 x100 = 0.0079012345679012345679 * x99 x101 = x13 * x97 x102 = x59 * x6 x103 = 0.0079012345679012345679 * x102 x104 = x13 * x78 x105 = 0.031604938271604938272 * x104 x106 = x105 * x99 x107 = 0.088888888888888888889 * x6 x108 = 0.031604938271604938272 * x101 x109 = x13 * x89 x110 = 0.088888888888888888889 * x31 x111 = x102 * x105 x112 = x56 * x94 x113 = 0.031604938271604938272 * x98 x114 = 0.12641975308641975309 * x104 x115 = x114 * x50 x116 = x114 * x58 x117 = 0.35555555555555555556 * x109 return jnp.asarray( [ x0 * x22, x22 * x23, x23 * x25, x0 * x25, -x19 * x29, x17 * x33, -x35 * x37, x39 * x40, -x37 * x41, x13 * x33, -x16 * x29, -x45 * x46, x45 * x47, -x50 * x51, x53 * x54, -x51 * x58, x44 * x60, -x44 * x62, -x28 * x64, x13 * x65, -x41 * x66, x24 * x38 * x40, -x35 * x66, x17 * x65, -x10 * x24 * x28 * x67, -x62 * x68, x60 * x68, -x58 * x69, x0 * x52 * x54, -x50 * x69, x47 * x70, -x46 * x70, x72 * x74, x74 * x75, x75 * x77, x72 * x77, -x17 * x81, x35 * x83, -x84 * x85, x41 * x83, -x13 * x81, -x42 * x87, x50 * x88, -x89 * x90, x58 * x88, -x59 * x87, -x13 * x92, x41 * x93, -x48 * x85 * x94, x35 * x93, -x17 * x92, -x59 * x95, x58 * x96, -x19 * x53 * x90, x50 * x96, -x42 * x95, x100 * x98, x100 * x101, x101 * x103, x103 * x98, -x106 * x35, x107 * x84, -x106 * x41, -x108 * x50, x109 * x110, -x108 * x58, -x111 * x41, x107 * x112 * x8, -x111 * x35, -x113 * x58, x110 * x17 * x89, -x113 * x50, x115 * x35, x115 * x41, x116 * x41, x116 * x35, -0.35555555555555555556 * x39 * x50, -x117 * x41, -0.35555555555555555556 * x112 * x55, -x117 * x35, x38 * x52, ] ) case 100: def shape_functions(xi): x0 = 9.0 * xi[1] x1 = x0 + 7.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 3.0 * xi[0] x5 = x4 + 1.0 x6 = 3.0 * xi[1] x7 = x6 + 1.0 x8 = 9.0 * xi[0] x9 = x8 + 1.0 x10 = x0 + 1.0 x11 = x8 + 5.0 x12 = x0 + 5.0 x13 = x8 + 7.0 x14 = xi[1] - 1.0 x15 = x4 - 1.0 x16 = x6 - 1.0 x17 = x8 - 1.0 x18 = x0 - 1.0 x19 = x8 - 5.0 x20 = x0 - 5.0 x21 = x8 - 7.0 x22 = x0 - 7.0 x23 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x5 * x7 * x9 ) x24 = 1.900658315541792889e-13 * x23 x25 = xi[0] + 1.0 x26 = x1 * x25 x27 = xi[1] + 1.0 x28 = x13 * x27 x29 = x26 * x28 x30 = ( x10 * x11 * x12 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x5 * x7 * x9 ) x31 = 1.900658315541792889e-13 * x30 x32 = x28 * x3 x33 = 1.5395332355888522401e-11 * x25 x34 = x14 * x3 x35 = x33 * x34 x36 = ( x10 * x12 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x5 * x9 ) x37 = x34 * x36 x38 = x25 * x7 x39 = 6.1581329423554089605e-11 * x38 x40 = x13 * x39 x41 = x10 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x9 x42 = x34 * x41 x43 = 4.7896589551653180804e-11 * x11 x44 = x12 * x38 x45 = x43 * x44 x46 = x13 * x45 x47 = x10 * x15 * x17 * x18 * x19 * x20 * x21 * x22 x48 = x11 * x5 x49 = x44 * x48 x50 = x47 * x49 x51 = 2.1553465298243931362e-10 * x50 x52 = x16 * x34 x53 = x13 * x52 x54 = x10 * x18 * x19 * x20 * x21 * x22 * x9 x55 = x15 * x49 x56 = x54 * x55 x57 = 2.1553465298243931362e-10 * x56 x58 = x17 * x52 x59 = x5 * x54 x60 = x10 * x18 * x20 x61 = x21 * x60 x62 = x58 * x61 x63 = x12 * x9 x64 = x15 * x48 x65 = x22 * x64 x66 = x63 * x65 x67 = x19 * x60 x68 = x16 * x17 x69 = x66 * x68 x70 = x69 * x7 x71 = x67 * x70 x72 = x27 * x33 x73 = x14 * x29 x74 = x7 * x73 x75 = 6.1581329423554089605e-11 * x41 * x48 x76 = x36 * x43 x77 = x18 * x21 x78 = x70 * x77 x79 = x73 * x78 x80 = x19 * x20 x81 = 2.1553465298243931362e-10 * x80 x82 = x10 * x21 x83 = x70 * x81 * x82 x84 = x63 * x74 x85 = x47 * x5 x86 = x43 * x85 x87 = x10 * x19 x88 = 6.1581329423554089605e-11 * x87 x89 = x61 * x68 x90 = x19 * x89 x91 = 1.5395332355888522401e-11 * x64 * x90 x92 = x32 * x39 x93 = x61 * x69 x94 = x32 * x45 x95 = x16 * x32 x96 = x14 * x32 x97 = x7 * x96 x98 = x63 * x97 x99 = x78 * x96 x100 = x2 * x27 x101 = 1.2470219208269703145e-9 * x14 x102 = x2 * x28 x103 = x102 * x68 x104 = x55 * x9 x105 = x104 * x22 x106 = x105 * x67 x107 = 1.2470219208269703145e-9 * x104 x108 = x67 * x96 x109 = x108 * x68 x110 = x102 * x14 x111 = 4.988087683307881258e-9 * x38 x112 = 3.8796237536839076451e-9 * x11 x113 = x112 * x44 x114 = 1.7458306891577584403e-8 * x110 * x16 x115 = 3.8796237536839076451e-9 * x49 x116 = x14 * x54 x117 = 4.988087683307881258e-9 * x105 x118 = x65 * x9 x119 = x18 * x68 x120 = 1.7458306891577584403e-8 * x96 x121 = x105 * x80 x122 = x120 * x121 x123 = x10 * x68 x124 = x17 * x96 x125 = x117 * x87 x126 = 4.988087683307881258e-9 * x96 x127 = x9 * x90 x128 = x127 * x96 x129 = x14 * x95 x130 = x15 * x44 x131 = x130 * x5 x132 = x27 * x58 x133 = x132 * x77 x134 = 1.7458306891577584403e-8 * x121 x135 = 1.9952350733231525032e-8 * x96 x136 = x135 * x38 x137 = x135 * x77 x138 = x22 * x68 x139 = x138 * x87 x140 = x139 * x9 x141 = 1.551849501473563058e-8 * x96 x142 = x141 * x38 x143 = x11 * x41 x144 = 6.9833227566310337612e-8 * x38 x145 = x129 * x47 * x48 x146 = x116 * x64 * x95 x147 = x48 * x54 * x68 x148 = x141 * x25 x149 = x105 * x77 x150 = 6.9833227566310337612e-8 * x96 x151 = x150 * x20 * x68 x152 = x49 * x77 x153 = x140 * x141 x154 = x150 * x77 x155 = x11 * x130 x156 = x155 * x77 x157 = x44 * x9 x158 = x138 * x80 x159 = x158 * x9 x160 = x131 * x159 x161 = 1.2069940567016601562e-8 * x96 x162 = x12 * x25 x163 = x161 * x162 x164 = 5.4314732551574707031e-8 * x162 x165 = 5.4314732551574707031e-8 * x96 x166 = x159 * x165 x167 = x166 * x82 x168 = 2.4441629648208618164e-7 * x77 x169 = x158 * x55 * x96 x170 = x121 * x129 x171 = 2.4441629648208618164e-7 * x82 return jnp.asarray( [ x24 * x3, -x24 * x26, x29 * x31, -x31 * x32, -x30 * x35, x37 * x40, -x42 * x46, x51 * x53, -x53 * x57, x46 * x58 * x59, -x40 * x62 * x66, x13 * x35 * x71, x23 * x72, -x74 * x75, x73 * x76, -x79 * x81, x73 * x83, -x84 * x86, x79 * x88, -x84 * x91, -x32 * x33 * x71, x92 * x93, -x59 * x68 * x94, x57 * x95, -x51 * x95, x41 * x94, -x36 * x92, x3 * x30 * x72, x91 * x98, -x88 * x99, x86 * x98, -x83 * x96, x81 * x99, -x76 * x96, x75 * x97, -1.5395332355888522401e-11 * x100 * x23, x100 * x101 * x25 * x30, -x101 * x103 * x106, x107 * x109, -x107 * x19 * x27 * x62, -x110 * x111 * x36, x110 * x113 * x41, -x114 * x50, x114 * x56, -x103 * x115 * x116, x110 * x117 * x89, x109 * x111 * x118, -3.8796237536839076451e-9 * x108 * x25 * x69, x119 * x122, -x122 * x123, 3.8796237536839076451e-9 * x106 * x124, -x119 * x125 * x96, -x104 * x126 * x89, x115 * x128, -1.7458306891577584403e-8 * x104 * x129 * x19 * x61, x120 * x55 * x90, -x113 * x128 * x15, x126 * x127 * x131, x125 * x133, -3.8796237536839076451e-9 * x27 * x34 * x50 * x9, x132 * x134 * x82, -x133 * x134, x112 * x25 * x27 * x37, -x111 * x27 * x42 * x48, x136 * x41 * x5, -x118 * x136 * x89, x105 * x123 * x137, -x131 * x137 * x140, -x142 * x143, x144 * x145, -x144 * x146, x142 * x147, x148 * x93, -x149 * x151, x105 * x151 * x82, -1.551849501473563058e-8 * x105 * x124 * x61, -x152 * x153, 6.9833227566310337612e-8 * x129 * x149 * x87, -x139 * x154 * x55, x153 * x156, x141 * x157 * x85, -x150 * x160 * x82, x154 * x160, -x148 * x36, x143 * x163, -x147 * x163, 1.2069940567016601562e-8 * x124 * x49 * x54, -x11 * x157 * x161 * x47, -x145 * x164, x146 * x164, x152 * x166, -x167 * x49, -x165 * x56, x165 * x50, x155 * x167, -x156 * x166, x168 * x169, -x168 * x170, x170 * x171, -x169 * x171, ] ) case 121: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 5.0 * xi[1] x3 = x2 + 1.0 x4 = x2 + 2.0 x5 = x2 + 4.0 x6 = x2 + 3.0 x7 = x2 - 1.0 x8 = x2 - 2.0 x9 = x2 - 4.0 x10 = x2 - 3.0 x11 = x10 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi[1] x12 = x1 * x11 x13 = 5.0 * xi[0] x14 = x13 + 1.0 x15 = x13 + 2.0 x16 = x13 + 4.0 x17 = x13 + 3.0 x18 = x13 - 1.0 x19 = x13 - 2.0 x20 = x13 - 4.0 x21 = x13 - 3.0 x22 = x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * xi[0] x23 = 4.7462865175791395662e-11 * x22 x24 = x12 * x23 x25 = xi[0] + 1.0 x26 = xi[1] + 1.0 x27 = x11 * x23 * x26 x28 = x12 * x25 x29 = x0 * x14 * x15 * x17 * x18 * x19 * x21 * xi[0] x30 = 2.3731432587895697831e-9 * x29 x31 = x28 * x30 x32 = x16 * x28 x33 = x0 * x14 * x15 * x18 * x19 * x20 * xi[0] x34 = 1.0679144664553064024e-8 * x33 x35 = x32 * x34 x36 = x17 * x32 x37 = x0 * x14 * x18 * x20 * x21 * xi[0] x38 = 2.8477719105474837397e-8 * x37 x39 = x36 * x38 x40 = x0 * x19 * x20 * x21 * xi[0] x41 = x18 * x40 x42 = 4.9836008434580965445e-8 * x15 x43 = x36 * x42 x44 = ( -678.16840277777777778 * xi[0] ** 10 + 1491.9704861111111111 * xi[0] ** 8 - 1110.0260416666666667 * xi[0] ** 6 + 331.81423611111111111 * xi[0] ** 4 - 36.590277777777777778 * xi[0] ** 2 + 1.0 ) x45 = x1 * x44 x46 = 6.8893298059964726631e-6 * x11 x47 = x14 * x40 x48 = x10 * x26 * x3 * x4 * x7 * x8 * x9 * xi[1] x49 = x1 * x22 x50 = x25 * x49 x51 = x48 * x50 x52 = 2.3731432587895697831e-9 * x6 x53 = 1.0679144664553064024e-8 * x5 x54 = x10 * x26 * x3 * x5 * x7 * x8 * xi[1] x55 = x50 * x54 x56 = x6 * x9 x57 = 2.8477719105474837397e-8 * x56 x58 = x26 * x56 * x7 * x8 * xi[1] x59 = x10 * x5 x60 = x58 * x59 x61 = x4 * x50 x62 = 4.9836008434580965445e-8 * x61 x63 = ( -678.16840277777777778 * xi[1] ** 10 + 1491.9704861111111111 * xi[1] ** 8 - 1110.0260416666666667 * xi[1] ** 6 + 331.81423611111111111 * xi[1] ** 4 - 36.590277777777777778 * xi[1] ** 2 + 1.0 ) x64 = x25 * x63 x65 = 6.8893298059964726631e-6 * x22 x66 = x56 * x8 x67 = x26 * x59 * xi[1] x68 = x3 * x67 x69 = x66 * x68 x70 = x68 * x7 x71 = x57 * x70 x72 = x3 * x58 x73 = x53 * x72 x74 = x4 * x52 x75 = x16 * x25 x76 = x11 * x26 * x75 x77 = x17 * x76 x78 = x38 * x77 x79 = x42 * x77 x80 = x20 * x25 x81 = x0 * x49 x82 = x54 * x81 x83 = x4 * x81 x84 = 4.9836008434580965445e-8 * x83 x85 = x48 * x81 x86 = x1 * x29 x87 = x80 * x86 x88 = x48 * x6 x89 = 1.1865716293947848916e-7 * x88 x90 = x75 * x86 x91 = x54 * x90 x92 = x4 * x6 x93 = 1.1865716293947848916e-7 * x92 x94 = x54 * x87 x95 = x1 * x75 x96 = x88 * x95 x97 = 5.339572332276532012e-7 * x33 x98 = x96 * x97 x99 = x17 * x96 x100 = 1.4238859552737418699e-6 * x37 x101 = x100 * x99 x102 = 2.4918004217290482723e-6 * x15 x103 = x102 * x99 x104 = x45 * x48 x105 = 0.00034446649029982363316 * x6 x106 = 5.339572332276532012e-7 * x5 x107 = x106 * x90 x108 = 1.4238859552737418699e-6 * x56 x109 = x4 * x90 x110 = 2.4918004217290482723e-6 * x109 x111 = x16 * x64 x112 = 0.00034446649029982363316 * x29 x113 = x108 * x70 x114 = x4 * x72 x115 = x17 * x95 x116 = x115 * x54 x117 = x116 * x92 x118 = x100 * x117 x119 = x102 * x117 x120 = x4 * x45 x121 = x21 * x95 x122 = x121 * x54 x123 = x106 * x87 x124 = x4 * x87 x125 = 2.4918004217290482723e-6 * x124 x126 = x121 * x33 x127 = x48 * x5 x128 = 2.4028075495244394054e-6 * x127 x129 = x115 * x33 x130 = x114 * x5 x131 = 2.4028075495244394054e-6 * x130 x132 = x19 * x37 x133 = x115 * x127 x134 = 6.4074867987318384144e-6 * x133 x135 = 0.000011213101897780717225 * x15 x136 = x133 * x135 x137 = 0.0015500992063492063492 * x5 x138 = x15 * x37 x139 = 6.4074867987318384144e-6 * x56 x140 = x139 * x33 x141 = x129 * x4 x142 = 0.000011213101897780717225 * x141 x143 = x111 * x17 x144 = 0.0015500992063492063492 * x33 x145 = x139 * x70 x146 = x115 * x130 x147 = 6.4074867987318384144e-6 * x146 x148 = x135 * x146 x149 = x120 * x3 x150 = x126 * x4 x151 = 0.000011213101897780717225 * x150 x152 = 0.000017086631463284902438 * x56 x153 = x116 * x152 x154 = x115 * x4 x155 = x138 * x154 x156 = x152 * x70 x157 = x132 * x154 x158 = x15 * x41 x159 = 0.000029901605060748579267 * x56 x160 = x116 * x159 x161 = 0.0041335978835978835979 * x56 x162 = x15 * x47 x163 = 0.000029901605060748579267 * x155 x164 = x143 * x15 x165 = 0.0041335978835978835979 * x37 x166 = x154 * x162 x167 = x159 * x70 x168 = x149 * x67 x169 = x154 * x158 x170 = 0.000029901605060748579267 * x157 x171 = 0.000052327808856310013717 * x60 x172 = 0.000052327808856310013717 * x69 x173 = 0.0072337962962962962963 * x164 return jnp.asarray( [ x0 * x24, x24 * x25, x25 * x27, x0 * x27, -x20 * x31, x21 * x35, -x19 * x39, x41 * x43, x45 * x46, x43 * x47, -x15 * x39, x17 * x35, -x16 * x31, -x51 * x52, x51 * x53, -x55 * x57, x60 * x62, x64 * x65, x62 * x69, -x61 * x71, x61 * x73, -x55 * x74, -x30 * x76, x34 * x77, -x15 * x78, x47 * x79, x26 * x44 * x46, x41 * x79, -x19 * x78, x21 * x34 * x76, -x11 * x26 * x30 * x80, -x74 * x82, x73 * x83, -x71 * x83, x69 * x84, x0 * x63 * x65, x60 * x84, -x57 * x82, x53 * x85, -x52 * x85, x87 * x89, x89 * x90, x91 * x93, x93 * x94, -x21 * x98, x101 * x19, -x103 * x41, -x104 * x105, -x103 * x47, x101 * x15, -x17 * x98, -x107 * x48, x108 * x91, -x110 * x60, -x111 * x112, -x110 * x69, x109 * x113, -x107 * x114, -x117 * x97, x118 * x15, -x119 * x47, -x105 * x120 * x54, -x119 * x41, x118 * x19, -x122 * x92 * x97, -x114 * x123, x113 * x124, -x125 * x69, -x112 * x20 * x64, -x125 * x60, x108 * x94, -x123 * x48, x126 * x128, x128 * x129, x129 * x131, x126 * x131, -x132 * x134, x136 * x41, x104 * x137, x136 * x47, -x134 * x138, -x116 * x140, x142 * x60, x143 * x144, x142 * x69, -x141 * x145, -x138 * x147, x148 * x47, x137 * x149 * x58, x148 * x41, -x132 * x147, -x145 * x150, x151 * x69, x111 * x144 * x21, x151 * x60, -x122 * x140, x132 * x153, x138 * x153, x155 * x156, x156 * x157, -x158 * x160, -x161 * x45 * x54, -x160 * x162, -x163 * x60, -x164 * x165, -x163 * x69, -x166 * x167, -x161 * x168 * x7, -x167 * x169, -x170 * x69, -x143 * x165 * x19, -x170 * x60, x169 * x171, x166 * x171, x166 * x172, x169 * x172, 0.0072337962962962962963 * x120 * x60, x173 * x47, 0.0072337962962962962963 * x168 * x66, x173 * x41, x44 * x63, ] ) case 144: def shape_functions(xi): x0 = 11.0 * xi[1] x1 = x0 + 9.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 11.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = x0 + 3.0 x9 = x4 + 5.0 x10 = x0 + 5.0 x11 = x4 + 7.0 x12 = x0 + 7.0 x13 = x4 + 9.0 x14 = xi[1] - 1.0 x15 = x4 - 1.0 x16 = x0 - 1.0 x17 = x4 - 3.0 x18 = x0 - 3.0 x19 = x4 - 5.0 x20 = x0 - 5.0 x21 = x4 - 7.0 x22 = x0 - 7.0 x23 = x4 - 9.0 x24 = x0 - 9.0 x25 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x5 * x6 * x7 * x8 * x9 ) x26 = 1.8105646200481947198e-20 * x25 x27 = xi[0] + 1.0 x28 = x1 * x27 x29 = xi[1] + 1.0 x30 = x13 * x29 x31 = x28 * x30 x32 = ( x10 * x11 * x12 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x5 * x6 * x7 * x8 * x9 ) x33 = 1.8105646200481947198e-20 * x32 x34 = x3 * x30 x35 = 2.1907831902583156109e-18 * x27 x36 = x14 * x3 x37 = x35 * x36 x38 = ( x12 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x5 * x6 * x7 * x8 * x9 ) x39 = x36 * x38 x40 = x10 * x27 x41 = 1.0953915951291578055e-17 * x40 x42 = x13 * x41 x43 = ( x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x5 * x6 * x7 * x8 ) x44 = x36 * x43 x45 = 3.2861747853874734164e-17 * x11 x46 = x12 * x40 x47 = x45 * x46 x48 = x13 * x47 x49 = x20 * x36 x50 = x13 * x49 x51 = ( x15 * x16 * x17 * x18 * x19 * x21 * x22 * x23 * x24 * x5 * x6 * x8 ) x52 = x11 * x9 x53 = x46 * x52 x54 = x51 * x53 x55 = 6.5723495707749468328e-17 * x54 x56 = ( x15 * x16 * x17 * x18 * x21 * x22 * x23 * x24 * x6 * x7 * x8 ) x57 = x19 * x53 x58 = x50 * x57 x59 = 9.2012893990849255659e-17 * x58 x60 = x16 * x17 * x18 * x21 * x22 * x5 * x6 * x7 * x8 x61 = x23 * x24 x62 = x60 * x61 x63 = x61 * x8 x64 = x15 * x16 * x18 * x21 * x22 * x5 * x6 * x7 x65 = 6.5723495707749468328e-17 * x64 x66 = x63 * x65 x67 = x49 * x5 x68 = x56 * x9 x69 = x16 * x17 * x18 * x22 x70 = x6 * x69 x71 = x63 * x70 x72 = x12 * x7 x73 = x15 * x19 x74 = x52 * x73 x75 = x72 * x74 x76 = x71 * x75 x77 = x10 * x20 x78 = x12 * x77 x79 = x24 * x60 x80 = x74 * x79 x81 = x78 * x80 x82 = x29 * x35 x83 = x14 * x31 x84 = x52 * x83 x85 = 1.0953915951291578055e-17 * x10 * x43 x86 = x45 * x83 x87 = x17 * x61 x88 = x19 * x87 x89 = x65 * x78 * x88 x90 = x21 * x5 x91 = x69 * x90 x92 = x63 * x91 x93 = x75 * x77 x94 = x83 * x93 x95 = 9.2012893990849255659e-17 * x94 x96 = x17 * x22 * x6 * x90 x97 = x18 * x63 x98 = x96 * x97 x99 = x16 * x94 x100 = x63 * x96 x101 = 6.5723495707749468328e-17 * x100 x102 = x51 * x9 x103 = x10 * x102 * x72 x104 = x17 * x6 x105 = x90 * x97 x106 = x104 * x105 x107 = 1.0953915951291578055e-17 * x106 x108 = x23 * x60 x109 = 2.1907831902583156109e-18 * x108 * x74 * x78 x110 = x20 * x34 x111 = x110 * x5 x112 = x111 * x76 x113 = x110 * x57 x114 = 9.2012893990849255659e-17 * x113 x115 = x34 * x43 x116 = x34 * x38 x117 = x14 * x34 x118 = x117 * x93 x119 = x118 * x16 x120 = 9.2012893990849255659e-17 * x118 x121 = x117 * x52 x122 = x116 * x14 x123 = x2 * x29 x124 = 2.6508476602125618892e-16 * x14 x125 = x124 * x15 x126 = x2 * x30 x127 = x126 * x20 x128 = x57 * x79 x129 = x15 * x57 x130 = x129 * x29 x131 = x126 * x14 x132 = 1.3254238301062809446e-15 * x40 x133 = 3.9762714903188428338e-15 * x11 x134 = x133 * x46 x135 = x127 * x14 x136 = 7.9525429806376856677e-15 * x135 x137 = x135 * x56 x138 = 1.1133560172892759935e-14 * x57 x139 = x57 * x64 x140 = x139 * x63 x141 = 3.9762714903188428338e-15 * x53 x142 = 1.3254238301062809446e-15 * x7 x143 = x129 * x142 x144 = x5 * x71 x145 = x110 * x14 x146 = x145 * x80 x147 = x12 * x27 x148 = x113 * x14 x149 = x148 * x24 x150 = 7.9525429806376856677e-15 * x149 x151 = 1.1133560172892759935e-14 * x7 x152 = x15 * x8 x153 = x149 * x152 x154 = x151 * x153 x155 = x16 * x7 x156 = x104 * x142 * x16 x157 = x23 * x8 x158 = x111 * x14 x159 = x158 * x70 x160 = x108 * x145 x161 = 7.9525429806376856677e-15 * x148 x162 = x151 * x21 x163 = x148 * x70 x164 = x152 * x23 x165 = x160 * x73 x166 = x46 * x9 x167 = x130 * x67 x168 = x21 * x97 x169 = x167 * x63 x170 = x104 * x155 x171 = x170 * x22 x172 = x171 * x21 x173 = x104 * x22 x174 = x173 * x97 x175 = 6.6271191505314047231e-15 * x40 x176 = x115 * x14 x177 = x158 * x7 x178 = x129 * x158 x179 = x106 * x155 x180 = x145 * x166 x181 = x180 * x73 x182 = 1.9881357451594214169e-14 * x40 x183 = x11 * x176 x184 = x145 * x52 x185 = x184 * x40 x186 = 3.9762714903188428338e-14 * x185 x187 = x19 * x56 x188 = 5.5667800864463799674e-14 * x185 x189 = x19 * x62 x190 = x19 * x63 * x64 x191 = x158 * x52 * x56 x192 = 1.9881357451594214169e-14 * x27 x193 = x129 * x7 x194 = x63 * x69 x195 = 5.5667800864463799674e-14 * x129 * x177 x196 = 1.9881357451594214169e-14 * x117 x197 = 1.9881357451594214169e-14 * x179 x198 = x145 * x53 x199 = x15 * x198 x200 = 3.9762714903188428338e-14 * x155 x201 = x148 * x15 x202 = x201 * x6 x203 = x105 * x202 x204 = x168 * x201 x205 = x16 * x201 x206 = x11 * x46 x207 = x145 * x206 x208 = x207 * x73 x209 = x7 * x98 x210 = 5.5667800864463799674e-14 * x181 x211 = x7 * x92 x212 = x64 * x88 x213 = 5.9644072354782642507e-14 * x147 x214 = 5.9644072354782642507e-14 * x117 x215 = x147 * x184 x216 = 1.1928814470956528501e-13 * x215 x217 = 1.6700340259339139902e-13 * x215 x218 = 1.6700340259339139902e-13 * x199 x219 = x100 * x155 x220 = 1.1928814470956528501e-13 * x219 x221 = 1.1928814470956528501e-13 * x117 x222 = 1.6700340259339139902e-13 * x117 * x57 x223 = 1.6700340259339139902e-13 * x208 x224 = 2.3857628941913057003e-13 * x61 x225 = x15 * x163 x226 = x155 * x22 x227 = 3.3400680518678279804e-13 * x7 x228 = x227 * x61 x229 = 3.3400680518678279804e-13 * x201 x230 = 4.6760952726149591726e-13 * x7 x231 = 4.6760952726149591726e-13 * x148 return jnp.asarray( [ x26 * x3, -x26 * x28, x31 * x33, -x33 * x34, -x32 * x37, x39 * x42, -x44 * x48, x50 * x55, -x56 * x59, x59 * x62, -x58 * x66, x48 * x67 * x68, -x42 * x67 * x76, x13 * x37 * x81, x25 * x82, -x84 * x85, x38 * x86, -x84 * x89, x92 * x95, -x95 * x98, x101 * x99, -x103 * x86, x107 * x99, -x109 * x83, -x34 * x35 * x81, x112 * x41, -x111 * x47 * x68, x113 * x66, -x114 * x62, x114 * x56, -x110 * x55, x115 * x47, -x116 * x41, x3 * x32 * x82, x109 * x117, -x107 * x119, x103 * x117 * x45, -x101 * x119, x120 * x98, -x120 * x92, x121 * x89, -x122 * x45, x121 * x85, -2.1907831902583156109e-18 * x123 * x25, x123 * x124 * x27 * x32, -x125 * x127 * x128, x113 * x125 * x60, -2.6508476602125618892e-16 * x108 * x130 * x49, -x131 * x132 * x38, x131 * x134 * x43, -x136 * x54, x137 * x138, -x135 * x138 * x62, x136 * x140, -x137 * x141 * x5, x135 * x143 * x144, x132 * x146, -3.9762714903188428338e-15 * x146 * x147, x150 * x17 * x64, -x154 * x91, x154 * x18 * x96, -x150 * x152 * x155 * x96, 3.9762714903188428338e-15 * x117 * x128 * x15, -x153 * x156 * x18 * x90, -x143 * x157 * x159, x141 * x15 * x160, -x157 * x161 * x64, 1.1133560172892759935e-14 * x108 * x148, -x162 * x163 * x164, x161 * x164 * x70 * x90, -x134 * x165, 1.3254238301062809446e-15 * x165 * x166, x156 * x167 * x168, -3.9762714903188428338e-15 * x29 * x36 * x54 * x7, 7.9525429806376856677e-15 * x169 * x172, -x162 * x167 * x174, x162 * x169 * x69, -7.9525429806376856677e-15 * x139 * x29 * x49 * x87, x133 * x27 * x29 * x39, -x132 * x29 * x44 * x52, x175 * x176 * x9, -x175 * x177 * x71 * x74, 6.6271191505314047231e-15 * x170 * x178 * x97, -6.6271191505314047231e-15 * x179 * x181, -x182 * x183, x186 * x51, -x187 * x188, x188 * x189, -x186 * x190, x182 * x191, x112 * x14 * x192, -3.9762714903188428338e-14 * x159 * x193 * x61, x194 * x195, -x174 * x195, 3.9762714903188428338e-14 * x171 * x178 * x63, -x144 * x193 * x196, -x197 * x199, x200 * x203, -5.5667800864463799674e-14 * x148 * x179, 5.5667800864463799674e-14 * x170 * x204, -3.9762714903188428338e-14 * x106 * x205, x197 * x208, x102 * x196 * x46 * x7, -x100 * x181 * x200, x209 * x210, -x210 * x211, 3.9762714903188428338e-14 * x180 * x212, -x122 * x192, x183 * x213, -x191 * x213, x214 * x5 * x53 * x56, -x206 * x214 * x51 * x7, -x216 * x51, x187 * x217, -x189 * x217, x190 * x216, 1.1928814470956528501e-13 * x198 * x64 * x87, -x211 * x218, x209 * x218, -x199 * x220, -x140 * x221, x222 * x62, -x222 * x56, x221 * x54, x208 * x220, -x209 * x223, x211 * x223, -1.1928814470956528501e-13 * x207 * x212, x224 * x225 * x90, -x148 * x224 * x64, 2.3857628941913057003e-13 * x202 * x226 * x63 * x90, -2.3857628941913057003e-13 * x100 * x205, -x21 * x225 * x228, x163 * x228 * x90, x105 * x226 * x229, -x203 * x22 * x227, -3.3400680518678279804e-13 * x148 * x219, x172 * x229 * x63, x229 * x98, -x229 * x92, x194 * x201 * x21 * x230, -x211 * x231, x209 * x231, -x173 * x204 * x230, ] ) case 169: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 2.0 * xi[1] x3 = x2 + 1.0 x4 = 3.0 * xi[1] x5 = x4 + 1.0 x6 = 6.0 * xi[1] x7 = x6 + 1.0 x8 = x4 + 2.0 x9 = x6 + 5.0 x10 = x2 - 1.0 x11 = x4 - 1.0 x12 = x6 - 1.0 x13 = x4 - 2.0 x14 = x6 - 5.0 x15 = ( x10 * x11 * x12 * x13 * x14 * x3 * x5 * x7 * x8 * x9 * xi[1] ) x16 = x1 * x15 x17 = 2.0 * xi[0] x18 = x17 + 1.0 x19 = 3.0 * xi[0] x20 = x19 + 1.0 x21 = 6.0 * xi[0] x22 = x21 + 1.0 x23 = x19 + 2.0 x24 = x21 + 5.0 x25 = x17 - 1.0 x26 = x19 - 1.0 x27 = x21 - 1.0 x28 = x19 - 2.0 x29 = x21 - 5.0 x30 = ( x18 * x20 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * xi[0] ) x31 = 1.1712674050336387999e-10 * x30 x32 = x16 * x31 x33 = xi[0] + 1.0 x34 = xi[1] + 1.0 x35 = x15 * x31 * x34 x36 = x16 * x33 x37 = x0 * x18 * x20 * x22 * x23 * x25 * x26 * x27 * x28 * xi[0] x38 = 8.4331253162421993591e-9 * x37 x39 = x36 * x38 x40 = x24 * x36 x41 = x0 * x18 * x20 * x22 * x25 * x26 * x27 * x29 * xi[0] x42 = 2.3191094619666048237e-8 * x41 x43 = x40 * x42 x44 = x23 * x40 x45 = x0 * x20 * x22 * x26 * x27 * x28 * x29 * xi[0] x46 = 5.1535765821480107194e-8 * x45 x47 = x44 * x46 x48 = x18 * x44 x49 = x0 * x22 * x25 * x27 * x28 * x29 * xi[0] x50 = 1.7393320964749536178e-7 * x49 x51 = x48 * x50 x52 = x0 * x25 * x26 * x28 * x29 * xi[0] x53 = x27 * x52 x54 = 5.565862708719851577e-7 * x20 x55 = x48 * x54 x56 = ( 4199.04 * xi[0] ** 12 - 10614.24 * xi[0] ** 10 + 9729.72 * xi[0] ** 8 - 4002.57 * xi[0] ** 6 + 740.74 * xi[0] ** 4 - 53.69 * xi[0] ** 2 + 1.0 ) x57 = x1 * x56 x58 = 0.000010822510822510822511 * x15 x59 = x22 * x52 x60 = x10 * x11 * x12 * x13 * x14 * x3 * x34 * x5 * x7 * xi[1] x61 = x1 * x30 x62 = x33 * x61 x63 = x60 * x62 x64 = 8.4331253162421993591e-9 * x8 x65 = 2.3191094619666048237e-8 * x9 x66 = x10 * x11 * x12 * x13 * x34 * x5 * x7 * x9 * xi[1] x67 = x62 * x66 x68 = x14 * x8 x69 = 5.1535765821480107194e-8 * x68 x70 = x10 * x11 * x12 * x34 * x68 * x7 * xi[1] x71 = x3 * x62 x72 = x70 * x71 x73 = x13 * x9 x74 = 1.7393320964749536178e-7 * x73 x75 = x11 * x12 * x34 * x73 * xi[1] x76 = x10 * x68 x77 = x75 * x76 x78 = x5 * x71 x79 = 5.565862708719851577e-7 * x78 x80 = ( 4199.04 * xi[1] ** 12 - 10614.24 * xi[1] ** 10 + 9729.72 * xi[1] ** 8 - 4002.57 * xi[1] ** 6 + 740.74 * xi[1] ** 4 - 53.69 * xi[1] ** 2 + 1.0 ) x81 = x33 * x80 x82 = 0.000010822510822510822511 * x30 x83 = x11 * x73 x84 = x34 * x76 * xi[1] x85 = x7 * x84 x86 = x83 * x85 x87 = x12 * x85 x88 = x74 * x87 x89 = x7 * x75 x90 = x69 * x89 x91 = x5 * x65 x92 = x3 * x64 x93 = x24 * x33 x94 = x15 * x34 * x93 x95 = x23 * x94 x96 = x18 * x95 x97 = x50 * x96 x98 = x54 * x96 x99 = x29 * x33 x100 = x0 * x61 x101 = x100 * x66 x102 = x100 * x3 x103 = x102 * x70 x104 = x102 * x5 x105 = 5.565862708719851577e-7 * x104 x106 = x100 * x60 x107 = x1 * x37 x108 = x107 * x99 x109 = x60 * x8 x110 = 6.0718502276943835385e-7 * x109 x111 = x107 * x93 x112 = x111 * x66 x113 = x3 * x8 x114 = 6.0718502276943835385e-7 * x113 x115 = x108 * x66 x116 = x1 * x93 x117 = x109 * x116 x118 = 1.6697588126159554731e-6 * x41 x119 = x117 * x118 x120 = x117 * x23 x121 = 3.710575139146567718e-6 * x45 x122 = x120 * x121 x123 = x120 * x18 x124 = 0.000012523191094619666048 * x49 x125 = x123 * x124 x126 = 0.000040074211502782931354 * x20 x127 = x123 * x126 x128 = x57 * x60 x129 = 0.00077922077922077922078 * x8 x130 = 1.6697588126159554731e-6 * x9 x131 = x111 * x130 x132 = 3.710575139146567718e-6 * x68 x133 = x111 * x3 x134 = 0.000012523191094619666048 * x73 x135 = x133 * x134 x136 = x133 * x5 x137 = 0.000040074211502782931354 * x136 x138 = x24 * x81 x139 = 0.00077922077922077922078 * x37 x140 = x5 * x87 x141 = x132 * x89 x142 = x3 * x5 x143 = x142 * x70 x144 = x116 * x23 x145 = x144 * x66 x146 = x113 * x145 x147 = x146 * x18 x148 = x124 * x147 x149 = x126 * x147 x150 = x3 * x57 x151 = x116 * x28 x152 = x151 * x66 x153 = x108 * x130 x154 = x108 * x142 x155 = x140 * x3 x156 = x108 * x134 x157 = 0.000040074211502782931354 * x154 x158 = x3 * x70 x159 = x151 * x41 x160 = x60 * x9 x161 = 4.591836734693877551e-6 * x160 x162 = x144 * x41 x163 = x143 * x9 x164 = 4.591836734693877551e-6 * x163 x165 = x25 * x45 x166 = x144 * x160 x167 = 0.000010204081632653061224 * x166 x168 = x166 * x18 x169 = 0.000034438775510204081633 * x49 x170 = x168 * x169 x171 = 0.00011020408163265306122 * x20 x172 = x168 * x171 x173 = 0.0021428571428571428571 * x9 x174 = x18 * x45 x175 = 0.000010204081632653061224 * x68 x176 = x175 * x41 x177 = 0.000034438775510204081633 * x73 x178 = x162 * x177 x179 = x142 * x162 x180 = 0.00011020408163265306122 * x179 x181 = x138 * x23 x182 = 0.0021428571428571428571 * x41 x183 = x175 * x89 x184 = x144 * x163 x185 = 0.000010204081632653061224 * x184 x186 = x18 * x184 x187 = x169 * x186 x188 = x171 * x186 x189 = x150 * x5 x190 = x142 * x159 x191 = x159 * x177 x192 = 0.00011020408163265306122 * x190 x193 = 0.000022675736961451247166 * x68 x194 = x145 * x193 x195 = x144 * x174 x196 = x142 * x195 x197 = x193 * x89 x198 = x142 * x144 x199 = x165 * x198 x200 = x26 * x49 x201 = x18 * x68 x202 = x145 * x201 x203 = 0.000076530612244897959184 * x202 x204 = 0.00024489795918367346939 * x20 x205 = x202 * x204 x206 = 0.0047619047619047619048 * x68 x207 = x20 * x49 x208 = 0.000076530612244897959184 * x73 x209 = x195 * x208 x210 = 0.00024489795918367346939 * x196 x211 = x18 * x181 x212 = 0.0047619047619047619048 * x45 x213 = x198 * x207 x214 = x201 * x89 x215 = 0.000076530612244897959184 * x214 x216 = x198 * x59 x217 = x204 * x214 x218 = x189 * x7 x219 = x198 * x53 x220 = x198 * x200 x221 = x144 * x155 x222 = x165 * x208 x223 = 0.00024489795918367346939 * x199 x224 = x144 * x158 x225 = x18 * x73 x226 = 0.00025829081632653061224 * x225 x227 = x224 * x226 x228 = x221 * x226 x229 = 0.00082653061224489795918 * x20 * x225 x230 = x224 * x229 x231 = 0.016071428571428571429 * x73 x232 = 0.00082653061224489795918 * x18 x233 = x213 * x232 x234 = x20 * x211 x235 = 0.016071428571428571429 * x49 x236 = x221 * x229 x237 = x218 * x84 x238 = x220 * x232 x239 = 0.0026448979591836734694 * x18 * x20 x240 = x239 * x77 x241 = x239 * x86 x242 = 0.051428571428571428571 * x234 return jnp.asarray( [ x0 * x32, x32 * x33, x33 * x35, x0 * x35, -x29 * x39, x28 * x43, -x25 * x47, x26 * x51, -x53 * x55, x57 * x58, -x55 * x59, x20 * x51, -x18 * x47, x23 * x43, -x24 * x39, -x63 * x64, x63 * x65, -x67 * x69, x72 * x74, -x77 * x79, x81 * x82, -x79 * x86, x78 * x88, -x78 * x90, x72 * x91, -x67 * x92, -x38 * x94, x42 * x95, -x46 * x96, x20 * x97, -x59 * x98, x34 * x56 * x58, -x53 * x98, x26 * x97, -x25 * x46 * x95, x28 * x42 * x94, -x15 * x34 * x38 * x99, -x101 * x92, x103 * x91, -x104 * x90, x104 * x88, -x105 * x86, x0 * x80 * x82, -x105 * x77, x103 * x74, -x101 * x69, x106 * x65, -x106 * x64, x108 * x110, x110 * x111, x112 * x114, x114 * x115, -x119 * x28, x122 * x25, -x125 * x26, x127 * x53, -x128 * x129, x127 * x59, -x125 * x20, x122 * x18, -x119 * x23, -x131 * x60, x112 * x132, -x135 * x70, x137 * x77, -x138 * x139, x137 * x86, -x135 * x140, x136 * x141, -x131 * x143, -x118 * x146, x121 * x147, -x148 * x20, x149 * x59, -x129 * x150 * x66, x149 * x53, -x148 * x26, x121 * x146 * x25, -x113 * x118 * x152, -x143 * x153, x141 * x154, -x155 * x156, x157 * x86, -x139 * x29 * x81, x157 * x77, -x156 * x158, x115 * x132, -x153 * x60, x159 * x161, x161 * x162, x162 * x164, x159 * x164, -x165 * x167, x170 * x26, -x172 * x53, x128 * x173, -x172 * x59, x170 * x20, -x167 * x174, -x145 * x176, x158 * x178, -x180 * x77, x181 * x182, -x180 * x86, x155 * x178, -x179 * x183, -x174 * x185, x187 * x20, -x188 * x59, x173 * x189 * x70, -x188 * x53, x187 * x26, -x165 * x185, -x183 * x190, x155 * x191, -x192 * x86, x138 * x182 * x28, -x192 * x77, x158 * x191, -x152 * x176, x165 * x194, x174 * x194, x196 * x197, x197 * x199, -x200 * x203, x205 * x53, -x206 * x57 * x66, x205 * x59, -x203 * x207, -x158 * x209, x210 * x77, -x211 * x212, x210 * x86, -x155 * x209, -x213 * x215, x216 * x217, -x206 * x218 * x75, x217 * x219, -x215 * x220, -x221 * x222, x223 * x86, -x181 * x212 * x25, x223 * x77, -x222 * x224, x200 * x227, x207 * x227, x207 * x228, x200 * x228, -x230 * x53, x150 * x231 * x70, -x230 * x59, -x233 * x77, x234 * x235, -x233 * x86, -x236 * x59, x12 * x231 * x237, -x236 * x53, -x238 * x86, x211 * x235 * x26, -x238 * x77, x219 * x240, x216 * x240, x216 * x241, x219 * x241, -0.051428571428571428571 * x189 * x77, -x242 * x59, -0.051428571428571428571 * x237 * x83, -x242 * x53, x56 * x80, ] ) case 196: def shape_functions(xi): x0 = 13.0 * xi[1] x1 = x0 + 11.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 13.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = x0 + 3.0 x9 = x4 + 5.0 x10 = x0 + 5.0 x11 = x4 + 7.0 x12 = x0 + 7.0 x13 = x4 + 9.0 x14 = x0 + 9.0 x15 = x4 + 11.0 x16 = xi[1] - 1.0 x17 = x4 - 1.0 x18 = x0 - 1.0 x19 = x4 - 3.0 x20 = x0 - 3.0 x21 = x4 - 5.0 x22 = x0 - 5.0 x23 = x4 - 7.0 x24 = x0 - 7.0 x25 = x4 - 9.0 x26 = x0 - 9.0 x27 = x4 - 11.0 x28 = x0 - 11.0 x29 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x9 ) x30 = 6.4945069302692935024e-26 * x29 x31 = xi[0] + 1.0 x32 = x1 * x31 x33 = xi[1] + 1.0 x34 = x15 * x33 x35 = x32 * x34 x36 = ( x10 * x11 * x12 * x13 * x14 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x9 ) x37 = 6.4945069302692935024e-26 * x36 x38 = x3 * x34 x39 = 1.0975716712155106019e-23 * x31 x40 = x16 * x3 x41 = x39 * x40 x42 = ( x10 * x11 * x14 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x9 ) x43 = x40 * x42 x44 = x12 * x31 x45 = 6.5854300272930636114e-23 * x44 x46 = x15 * x45 x47 = ( x10 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x9 ) x48 = x40 * x47 x49 = 2.4146576766741233242e-22 * x13 x50 = x14 * x44 x51 = x49 * x50 x52 = x15 * x51 x53 = x24 * x40 x54 = x15 * x53 x55 = ( x10 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 ) x56 = x11 * x13 x57 = x50 * x56 x58 = x55 * x57 x59 = 6.0366441916853083105e-22 * x58 x60 = ( x10 * x17 * x18 * x19 * x20 * x21 * x22 * x25 * x26 * x27 * x28 * x5 * x6 * x8 * x9 ) x61 = x23 * x57 x62 = x54 * x61 x63 = 1.0865959545033554959e-21 * x62 x64 = ( x10 * x17 * x18 * x19 * x20 * x21 * x22 * x25 * x26 * x6 * x7 * x8 * x9 ) x65 = x27 * x28 x66 = x62 * x65 x67 = 1.4487946060044739945e-21 * x66 x68 = x10 * x18 * x19 * x20 * x21 * x22 * x5 * x6 * x7 * x8 * x9 x69 = x25 * x26 x70 = x68 * x69 x71 = x10 * x18 * x20 * x22 * x5 * x6 * x69 * x7 * x8 * x9 x72 = x17 * x65 x73 = x21 * x72 x74 = x71 * x73 x75 = 6.0366441916853083105e-22 * x19 x76 = x17 * x71 x77 = x60 * x7 x78 = x11 * x77 x79 = x23 * x56 x80 = x14 * x79 x81 = x26 * x68 x82 = x72 * x81 x83 = x80 * x82 x84 = x12 * x80 x85 = x24 * x64 x86 = x5 * x85 x87 = x28 * x86 x88 = x84 * x87 x89 = x33 * x39 x90 = x16 * x35 x91 = x12 * x90 x92 = 6.5854300272930636114e-23 * x47 * x56 x93 = x42 * x49 x94 = x18 * x20 * x22 * x5 * x6 * x69 * x7 * x9 x95 = x73 * x8 x96 = x94 * x95 x97 = x84 * x90 x98 = x24 * x75 x99 = x97 * x98 x100 = x73 * x94 x101 = x24 * x97 x102 = x10 * x19 x103 = x101 * x102 x104 = 1.0865959545033554959e-21 * x103 x105 = x18 * x95 x106 = x20 * x22 * x5 * x69 * x7 * x9 x107 = 1.4487946060044739945e-21 * x106 x108 = x103 * x107 x109 = x6 * x95 x110 = x6 * x69 x111 = x22 * x5 * x7 * x9 x112 = x105 * x111 x113 = x110 * x112 x114 = x10 * x20 x115 = x110 * x9 x116 = x5 * x7 x117 = x105 * x116 x118 = x115 * x117 x119 = x114 * x118 x120 = x55 * x9 x121 = x11 * x120 x122 = x121 * x14 * x49 x123 = x25 * x68 x124 = x123 * x72 x125 = 6.5854300272930636114e-23 * x124 x126 = x27 * x86 x127 = 1.0975716712155106019e-23 * x126 x128 = x24 * x38 x129 = x128 * x83 x130 = x38 * x61 x131 = x71 * x72 x132 = x130 * x131 x133 = x128 * x61 x134 = 1.0865959545033554959e-21 * x133 x135 = 1.4487946060044739945e-21 * x65 x136 = x133 * x70 x137 = x130 * x85 x138 = x38 * x47 x139 = x38 * x42 x140 = x16 * x84 x141 = x140 * x38 x142 = x128 * x140 x143 = x16 * x38 x144 = x12 * x143 x145 = x141 * x98 x146 = x102 * x142 x147 = 1.0865959545033554959e-21 * x146 x148 = x107 * x146 x149 = x2 * x33 x150 = 1.8548961243542129172e-21 * x16 x151 = x2 * x34 x152 = x151 * x61 x153 = x5 * x64 x154 = x33 * x53 * x61 x155 = x151 * x16 x156 = 1.1129376746125277503e-20 * x44 x157 = 4.0807714735792684179e-20 * x155 x158 = x13 * x50 x159 = 1.0201928683948171045e-19 * x24 x160 = x152 * x16 x161 = x160 * x24 x162 = 1.836347163110670788e-19 * x161 x163 = 2.4484628841475610507e-19 * x65 x164 = x131 * x19 x165 = x57 * x77 x166 = x143 * x87 x167 = 4.0807714735792684179e-20 * x31 x168 = 1.0201928683948171045e-19 * x19 x169 = x21 * x8 x170 = x16 * x28 x171 = x133 * x17 x172 = x170 * x171 x173 = x172 * x94 x174 = 1.836347163110670788e-19 * x102 x175 = x169 * x18 x176 = x172 * x175 x177 = x102 * x106 x178 = 2.4484628841475610507e-19 * x177 x179 = x169 * x6 x180 = x110 * x111 x181 = x115 * x20 x182 = 1.0201928683948171045e-19 * x102 x183 = x116 * x182 x184 = x16 * x27 x185 = x171 * x184 x186 = x126 * x143 x187 = 4.0807714735792684179e-20 * x186 x188 = x133 * x184 * x76 x189 = 2.4484628841475610507e-19 * x184 x190 = x22 * x5 x191 = x175 * x181 x192 = x20 * x22 x193 = x110 * x192 x194 = x158 * x23 x195 = x11 * x23 * x50 x196 = x118 * x20 x197 = x154 * x174 x198 = x154 * x178 x199 = 6.677626047675166502e-20 * x16 x200 = x199 * x44 x201 = x128 * x79 x202 = x133 * x72 x203 = x124 * x128 x204 = x16 * x44 x205 = 2.4484628841475610507e-19 * x204 x206 = x13 * x138 x207 = 6.1211572103689026268e-19 * x204 x208 = x128 * x56 x209 = x208 * x55 x210 = x201 * x204 x211 = 1.1018082978664024728e-18 * x210 x212 = 1.4690777304885366304e-18 * x65 x213 = x143 * x85 x214 = x208 * x77 x215 = 2.4484628841475610507e-19 * x16 x216 = x215 * x31 x217 = 6.1211572103689026268e-19 * x19 x218 = x20 * x26 x219 = x133 * x16 x220 = x219 * x6 x221 = x112 * x220 x222 = x102 * x218 x223 = x111 * x222 x224 = 1.1018082978664024728e-18 * x220 x225 = x18 * x73 x226 = 1.4690777304885366304e-18 * x219 x227 = 1.1018082978664024728e-18 * x221 x228 = x220 * x9 x229 = 6.1211572103689026268e-19 * x117 x230 = x203 * x215 x231 = x102 * x25 x232 = x20 * x231 x233 = 6.1211572103689026268e-19 * x16 x234 = x202 * x8 x235 = x18 * x234 x236 = x192 * x231 x237 = 1.4690777304885366304e-18 * x105 x238 = x105 * x190 x239 = x238 * x9 x240 = x128 * x195 x241 = x102 * x240 x242 = x113 * x16 x243 = 1.1018082978664024728e-18 * x241 x244 = x16 * x240 x245 = x177 * x244 x246 = x100 * x16 x247 = x16 * x31 x248 = x14 * x247 x249 = 8.9776972418743905194e-19 * x248 x250 = 8.9776972418743905194e-19 * x143 x251 = 4.0399637588434757337e-18 * x128 x252 = x247 * x80 x253 = x251 * x252 x254 = 5.3866183451246343116e-18 * x65 x255 = x128 * x252 x256 = x254 * x70 x257 = x128 * x16 x258 = x257 * x57 x259 = 2.2444243104685976298e-18 * x19 x260 = x259 * x96 x261 = x102 * x251 x262 = x261 * x57 x263 = 5.3866183451246343116e-18 * x177 x264 = x258 * x263 x265 = 2.2444243104685976298e-18 * x102 * x196 x266 = x130 * x16 x267 = 4.0399637588434757337e-18 * x266 x268 = x194 * x257 x269 = x194 * x261 x270 = x263 * x268 x271 = 5.6110607761714940746e-18 * x19 x272 = x117 * x219 x273 = x16 * x94 x274 = 5.6110607761714940746e-18 * x102 x275 = x16 * x235 x276 = x110 * x272 x277 = x19 * x219 x278 = x181 * x277 x279 = x22 * x7 x280 = 1.3466545862811585779e-17 * x105 x281 = 1.3466545862811585779e-17 * x65 x282 = 1.0099909397108689334e-17 * x219 x283 = 1.0099909397108689334e-17 * x102 x284 = 1.3466545862811585779e-17 * x177 x285 = x102 * x219 x286 = x116 * x285 x287 = x181 * x285 x288 = x102 * x282 x289 = x109 * x69 x290 = 1.3466545862811585779e-17 * x192 x291 = x225 * x287 x292 = x10 * x219 x293 = 1.8179836914795640802e-17 * x292 x294 = x115 * x285 x295 = 2.4239782553060854402e-17 * x279 x296 = 2.4239782553060854402e-17 * x285 x297 = x296 * x65 x298 = 2.4239782553060854402e-17 * x106 * x292 x299 = x20 * x296 x300 = x289 * x9 x301 = 3.231971007074780587e-17 * x192 * x285 * x7 x302 = 3.231971007074780587e-17 * x177 * x219 * x65 return jnp.asarray( [ x3 * x30, -x30 * x32, x35 * x37, -x37 * x38, -x36 * x41, x43 * x46, -x48 * x52, x54 * x59, -x60 * x63, x64 * x67, -x67 * x70, x63 * x74, -x66 * x75 * x76, x52 * x53 * x78, -x46 * x53 * x83, x15 * x41 * x88, x29 * x89, -x91 * x92, x90 * x93, -x96 * x99, x100 * x104, -x105 * x108, x108 * x109, -x104 * x113, x119 * x99, -x122 * x91, x101 * x125, -x127 * x97, -x38 * x39 * x88, x129 * x45, -x128 * x51 * x78, x132 * x98, -x134 * x74, x135 * x136, -x135 * x137, x134 * x60, -x128 * x59, x138 * x51, -x139 * x45, x3 * x36 * x89, x127 * x141, -x125 * x142, x122 * x144, -x119 * x145, x113 * x147, -x109 * x148, x105 * x148, -x100 * x147, x145 * x96, -x143 * x93, x144 * x92, -1.0975716712155106019e-23 * x149 * x29, x149 * x150 * x31 * x36, -x150 * x152 * x87, x130 * x150 * x86, -1.8548961243542129172e-21 * x153 * x154 * x27, -x155 * x156 * x42, x157 * x158 * x47, -x155 * x159 * x58, x162 * x60, -x160 * x163 * x85, x161 * x163 * x70, -x162 * x74, x159 * x160 * x164, -x157 * x165 * x24, 1.1129376746125277503e-20 * x161 * x82, x156 * x166 * x79, -x166 * x167 * x80, x168 * x169 * x173, -x173 * x174 * x21, x176 * x178, -x172 * x178 * x179, x174 * x176 * x180, -x176 * x181 * x183, 4.0807714735792684179e-20 * x130 * x153 * x170, -1.1129376746125277503e-20 * x123 * x172, -1.1129376746125277503e-20 * x185 * x81, x187 * x57, -x168 * x188, 1.836347163110670788e-19 * x188 * x21, -x136 * x189, x137 * x189, -x174 * x185 * x190 * x191, x175 * x183 * x185 * x193, -x187 * x194, 1.1129376746125277503e-20 * x186 * x195, 1.1129376746125277503e-20 * x124 * x154, -4.0807714735792684179e-20 * x33 * x40 * x58 * x9, x154 * x182 * x196, -x113 * x197, x109 * x198, -x105 * x198, x100 * x197, -x154 * x168 * x96, x13 * x167 * x33 * x43, -x156 * x33 * x48 * x56, x11 * x138 * x200, -x200 * x201 * x82, x199 * x202 * x68, -x195 * x199 * x203, -x205 * x206, x207 * x209, -x211 * x60, x212 * x213 * x44 * x79, -x210 * x212 * x70, x211 * x74, -x164 * x201 * x207, x205 * x214, x129 * x216, -x217 * x218 * x221, x223 * x224 * x225, -x112 * x222 * x226, x109 * x223 * x226, -x102 * x227 * x26, x222 * x228 * x229, -x130 * x215 * x82, -x230 * x57, x111 * x232 * x233 * x235 * x6, -x114 * x227 * x25, x123 * x212 * x219, -x228 * x236 * x237 * x7, x224 * x232 * x239, -x220 * x229 * x236, x194 * x230, 2.4484628841475610507e-19 * x121 * x143 * x50, -x196 * x233 * x241, x242 * x243, -1.4690777304885366304e-18 * x109 * x245, x237 * x245, -x243 * x246, x217 * x244 * x96, -x139 * x216, x206 * x249, -x214 * x249, x165 * x250, -x120 * x158 * x250, -2.2444243104685976298e-18 * x209 * x248, x253 * x60, -x213 * x254 * x31 * x80, x255 * x256, -x253 * x74, 2.2444243104685976298e-18 * x164 * x255, x258 * x260, -x246 * x262, x105 * x264, -x109 * x264, x242 * x262, -x258 * x265, -x132 * x16 * x259, x267 * x74, -x256 * x266, x254 * x266 * x64, -x267 * x60, 2.2444243104685976298e-18 * x143 * x58, x265 * x268, -x242 * x269, x109 * x270, -x105 * x270, x246 * x269, -x260 * x268, x193 * x271 * x272, -x234 * x271 * x273, x116 * x181 * x274 * x275, -x20 * x274 * x276, -1.0099909397108689334e-17 * x238 * x278, x278 * x279 * x280, -x169 * x277 * x281 * x94, x282 * x96, x202 * x273 * x283, -x275 * x284, x16 * x234 * x284 * x6, -x180 * x275 * x283, -x119 * x282, x191 * x281 * x286, -x280 * x287 * x7, x105 * x181 * x288 * x5, x22 * x276 * x283, -x286 * x289 * x290, x102 * x272 * x290 * x69, -x116 * x193 * x225 * x288, 1.8179836914795640802e-17 * x190 * x291, -x100 * x293, x113 * x293, -1.8179836914795640802e-17 * x238 * x294, -x291 * x295, x21 * x297 * x94, x105 * x298, -x109 * x298, -x175 * x180 * x297, x105 * x294 * x295, x190 * x299 * x300, -x239 * x299 * x69, x105 * x301 * x69 * x9, -x175 * x302, x179 * x302, -x300 * x301, ] ) case 225: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 7.0 * xi[1] x3 = x2 + 1.0 x4 = x2 + 2.0 x5 = x2 + 4.0 x6 = x2 + 3.0 x7 = x2 + 6.0 x8 = x2 + 5.0 x9 = x2 - 1.0 x10 = x2 - 2.0 x11 = x2 - 4.0 x12 = x2 - 3.0 x13 = x2 - 6.0 x14 = x2 - 5.0 x15 = ( x10 * x11 * x12 * x13 * x14 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi[1] ) x16 = x1 * x15 x17 = 7.0 * xi[0] x18 = x17 + 1.0 x19 = x17 + 2.0 x20 = x17 + 4.0 x21 = x17 + 3.0 x22 = x17 + 6.0 x23 = x17 + 5.0 x24 = x17 - 1.0 x25 = x17 - 2.0 x26 = x17 - 4.0 x27 = x17 - 3.0 x28 = x17 - 6.0 x29 = x17 - 5.0 x30 = ( x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * xi[0] ) x31 = 3.1591878896737389867e-19 * x30 x32 = x16 * x31 x33 = xi[0] + 1.0 x34 = xi[1] + 1.0 x35 = x15 * x31 * x34 x36 = x16 * x33 x37 = ( x0 * x18 * x19 * x20 * x21 * x23 * x24 * x25 * x26 * x27 * x29 * xi[0] ) x38 = 3.096004131880264207e-17 * x37 x39 = x36 * x38 x40 = x22 * x36 x41 = ( x0 * x18 * x19 * x20 * x21 * x24 * x25 * x26 * x27 * x28 * xi[0] ) x42 = 2.0124026857221717346e-16 * x41 x43 = x40 * x42 x44 = x23 * x40 x45 = x0 * x18 * x19 * x21 * x24 * x25 * x27 * x28 * x29 * xi[0] x46 = 8.0496107428886869382e-16 * x45 x47 = x44 * x46 x48 = x20 * x44 x49 = x0 * x18 * x19 * x24 * x25 * x26 * x28 * x29 * xi[0] x50 = 2.213642954294388908e-15 * x49 x51 = x48 * x50 x52 = x21 * x48 x53 = x0 * x18 * x24 * x26 * x27 * x28 * x29 * xi[0] x54 = 4.427285908588777816e-15 * x53 x55 = x52 * x54 x56 = x0 * x25 * x26 * x27 * x28 * x29 * xi[0] x57 = x24 * x56 x58 = 6.640928862883166724e-15 * x19 x59 = x52 * x58 x60 = ( -26700.013890817901235 * xi[0] ** 14 + 76285.753973765432099 * xi[0] ** 12 - 82980.21809799382716 * xi[0] ** 10 + 43487.464081790123457 * xi[0] ** 8 - 11465.29836612654321 * xi[0] ** 6 + 1445.3903549382716049 * xi[0] ** 4 - 74.078055555555555556 * xi[0] ** 2 + 1.0 ) x61 = x1 * x60 x62 = 5.6206653428875651098e-10 * x15 x63 = x18 * x56 x64 = ( x10 * x11 * x12 * x13 * x14 * x3 * x34 * x4 * x5 * x6 * x9 * xi[1] ) x65 = x1 * x30 x66 = x33 * x65 x67 = x64 * x66 x68 = 3.096004131880264207e-17 * x8 x69 = 2.0124026857221717346e-16 * x7 x70 = ( x10 * x11 * x12 * x14 * x3 * x34 * x4 * x6 * x7 * x9 * xi[1] ) x71 = x66 * x70 x72 = x13 * x8 x73 = 8.0496107428886869382e-16 * x72 x74 = x10 * x11 * x12 * x3 * x34 * x4 * x72 * x9 * xi[1] x75 = x5 * x66 x76 = x74 * x75 x77 = x14 * x7 x78 = 2.213642954294388908e-15 * x77 x79 = x10 * x12 * x3 * x34 * x77 * x9 * xi[1] x80 = x6 * x75 x81 = x79 * x80 x82 = x11 * x72 x83 = 4.427285908588777816e-15 * x82 x84 = x10 * x34 * x82 * x9 * xi[1] x85 = x12 * x77 x86 = x84 * x85 x87 = x4 * x80 x88 = 6.640928862883166724e-15 * x87 x89 = ( -26700.013890817901235 * xi[1] ** 14 + 76285.753973765432099 * xi[1] ** 12 - 82980.21809799382716 * xi[1] ** 10 + 43487.464081790123457 * xi[1] ** 8 - 11465.29836612654321 * xi[1] ** 6 + 1445.3903549382716049 * xi[1] ** 4 - 74.078055555555555556 * xi[1] ** 2 + 1.0 ) x90 = x33 * x89 x91 = 5.6206653428875651098e-10 * x30 x92 = x10 * x82 x93 = x34 * x85 * xi[1] x94 = x3 * x93 x95 = x92 * x94 x96 = x9 * x94 x97 = x83 * x96 x98 = x3 * x84 x99 = x78 * x98 x100 = x4 * x73 x101 = x6 * x69 x102 = x5 * x68 x103 = x22 * x33 x104 = x103 * x15 * x34 x105 = x104 * x23 x106 = x105 * x20 x107 = x106 * x21 x108 = x107 * x54 x109 = x107 * x58 x110 = x28 * x33 x111 = x0 * x65 x112 = x111 * x70 x113 = x111 * x5 x114 = x113 * x74 x115 = x113 * x6 x116 = x115 * x79 x117 = x115 * x4 x118 = 6.640928862883166724e-15 * x117 x119 = x111 * x64 x120 = x1 * x37 x121 = x110 * x120 x122 = x64 * x8 x123 = 3.0340840492426589229e-15 * x122 x124 = x103 * x120 x125 = x124 * x70 x126 = x5 * x8 x127 = 3.0340840492426589229e-15 * x126 x128 = x121 * x70 x129 = x1 * x103 x130 = x122 * x129 x131 = 1.9721546320077282999e-14 * x41 x132 = x130 * x131 x133 = x130 * x23 x134 = 7.8886185280309131995e-14 * x45 x135 = x133 * x134 x136 = x133 * x20 x137 = 2.1693700952085011299e-13 * x49 x138 = x136 * x137 x139 = x136 * x21 x140 = 4.3387401904170022597e-13 * x53 x141 = x139 * x140 x142 = 6.5081102856255033896e-13 * x19 x143 = x139 * x142 x144 = x61 * x64 x145 = 5.5082520360298138076e-8 * x8 x146 = 1.9721546320077282999e-14 * x7 x147 = x124 * x146 x148 = 7.8886185280309131995e-14 * x72 x149 = x124 * x5 x150 = 2.1693700952085011299e-13 * x77 x151 = x149 * x150 x152 = x149 * x6 x153 = x152 * x79 x154 = 4.3387401904170022597e-13 * x82 x155 = x152 * x4 x156 = 6.5081102856255033896e-13 * x155 x157 = x22 * x90 x158 = 5.5082520360298138076e-8 * x37 x159 = x154 * x96 x160 = x4 * x6 x161 = x160 * x98 x162 = x5 * x6 x163 = x162 * x74 x164 = x129 * x23 x165 = x164 * x70 x166 = x126 * x165 x167 = x166 * x20 x168 = x167 * x21 x169 = x140 * x168 x170 = x142 * x168 x171 = x5 * x61 x172 = x129 * x29 x173 = x172 * x70 x174 = x121 * x146 x175 = x121 * x5 x176 = x160 * x175 x177 = x150 * x175 x178 = 6.5081102856255033896e-13 * x176 x179 = x162 * x79 x180 = x172 * x41 x181 = x64 * x7 x182 = 1.2819005108050233949e-13 * x181 x183 = x164 * x41 x184 = x163 * x7 x185 = 1.2819005108050233949e-13 * x184 x186 = x26 * x45 x187 = x164 * x181 x188 = 5.1276020432200935797e-13 * x187 x189 = x187 * x20 x190 = 1.4100905618855257344e-12 * x49 x191 = x189 * x190 x192 = x189 * x21 x193 = 2.8201811237710514688e-12 * x53 x194 = x192 * x193 x195 = 4.2302716856565772032e-12 * x19 x196 = x192 * x195 x197 = 3.5803638234193789749e-7 * x7 x198 = x20 * x45 x199 = 5.1276020432200935797e-13 * x72 x200 = x199 * x41 x201 = x183 * x5 x202 = 1.4100905618855257344e-12 * x77 x203 = x201 * x202 x204 = 2.8201811237710514688e-12 * x82 x205 = x179 * x204 x206 = x160 * x201 x207 = 4.2302716856565772032e-12 * x206 x208 = x157 * x23 x209 = 3.5803638234193789749e-7 * x41 x210 = x204 * x96 x211 = x199 * x79 x212 = x164 * x184 x213 = 5.1276020432200935797e-13 * x212 x214 = x20 * x21 x215 = x212 * x214 x216 = x193 * x215 x217 = x195 * x215 x218 = x171 * x6 x219 = x20 * x27 x220 = x180 * x5 x221 = x160 * x220 x222 = x202 * x220 x223 = 4.2302716856565772032e-12 * x221 x224 = 2.0510408172880374319e-12 * x72 x225 = x165 * x224 x226 = x164 * x198 x227 = x226 * x5 x228 = x160 * x227 x229 = x224 * x79 x230 = x164 * x186 x231 = x160 * x5 x232 = x230 * x231 x233 = x219 * x49 x234 = x165 * x72 x235 = 5.6403622475421029376e-12 * x234 x236 = x214 * x234 x237 = 1.1280724495084205875e-11 * x53 x238 = x236 * x237 x239 = 1.6921086742626308813e-11 * x19 x240 = x236 * x239 x241 = 1.43214552936775159e-6 * x72 x242 = x214 * x49 x243 = 5.6403622475421029376e-12 * x77 x244 = x227 * x243 x245 = 1.1280724495084205875e-11 * x82 x246 = x179 * x245 x247 = 1.6921086742626308813e-11 * x228 x248 = x20 * x208 x249 = 1.43214552936775159e-6 * x45 x250 = x245 * x96 x251 = x164 * x242 x252 = x231 * x251 x253 = x72 * x79 x254 = 5.6403622475421029376e-12 * x253 x255 = x19 * x214 x256 = x164 * x231 x257 = x253 * x256 x258 = x237 * x257 x259 = x214 * x239 * x257 x260 = x218 * x4 x261 = x214 * x25 x262 = x233 * x256 x263 = x161 * x5 x264 = x230 * x243 x265 = 1.6921086742626308813e-11 * x232 x266 = x5 * x74 x267 = x164 * x233 x268 = 1.5510996180740783078e-11 * x77 x269 = x266 * x268 x270 = x263 * x268 x271 = x261 * x53 x272 = x164 * x77 x273 = x266 * x272 x274 = 3.1021992361481566157e-11 * x273 x275 = 4.6532988542222349235e-11 * x255 x276 = x273 * x275 x277 = 3.9384002057613168724e-6 * x77 x278 = x255 * x53 x279 = 3.1021992361481566157e-11 * x82 x280 = x179 * x279 x281 = 4.6532988542222349235e-11 * x252 x282 = x21 * x248 x283 = 3.9384002057613168724e-6 * x49 x284 = x279 * x96 x285 = x263 * x272 x286 = 3.1021992361481566157e-11 * x285 x287 = x275 * x285 x288 = x260 * x3 x289 = 4.6532988542222349235e-11 * x262 x290 = 6.2043984722963132314e-11 * x82 x291 = x271 * x290 x292 = x164 * x179 x293 = x278 * x290 x294 = x256 * x96 x295 = x255 * x57 x296 = 9.3065977084444698471e-11 * x82 x297 = x292 * x296 x298 = 7.8768004115226337449e-6 * x82 x299 = x255 * x63 x300 = 9.3065977084444698471e-11 * x256 x301 = x278 * x300 x302 = x19 * x282 x303 = 7.8768004115226337449e-6 * x53 x304 = x294 * x296 x305 = x288 * x93 x306 = x271 * x300 x307 = 1.3959896562666704771e-10 * x256 x308 = x307 * x86 x309 = x307 * x95 x310 = 0.000011815200617283950617 * x302 return jnp.asarray( [ x0 * x32, x32 * x33, x33 * x35, x0 * x35, -x28 * x39, x29 * x43, -x26 * x47, x27 * x51, -x25 * x55, x57 * x59, x61 * x62, x59 * x63, -x19 * x55, x21 * x51, -x20 * x47, x23 * x43, -x22 * x39, -x67 * x68, x67 * x69, -x71 * x73, x76 * x78, -x81 * x83, x86 * x88, x90 * x91, x88 * x95, -x87 * x97, x87 * x99, -x100 * x81, x101 * x76, -x102 * x71, -x104 * x38, x105 * x42, -x106 * x46, x107 * x50, -x108 * x19, x109 * x63, x34 * x60 * x62, x109 * x57, -x108 * x25, x106 * x27 * x50, -x105 * x26 * x46, x104 * x29 * x42, -x110 * x15 * x34 * x38, -x102 * x112, x101 * x114, -x100 * x116, x117 * x99, -x117 * x97, x118 * x95, x0 * x89 * x91, x118 * x86, -x116 * x83, x114 * x78, -x112 * x73, x119 * x69, -x119 * x68, x121 * x123, x123 * x124, x125 * x127, x127 * x128, -x132 * x29, x135 * x26, -x138 * x27, x141 * x25, -x143 * x57, -x144 * x145, -x143 * x63, x141 * x19, -x138 * x21, x135 * x20, -x132 * x23, -x147 * x64, x125 * x148, -x151 * x74, x153 * x154, -x156 * x86, -x157 * x158, -x156 * x95, x155 * x159, -x151 * x161, x148 * x153 * x4, -x147 * x163, -x131 * x166, x134 * x167, -x137 * x168, x169 * x19, -x170 * x63, -x145 * x171 * x70, -x170 * x57, x169 * x25, -x137 * x167 * x27, x134 * x166 * x26, -x126 * x131 * x173, -x163 * x174, x148 * x176 * x79, -x161 * x177, x159 * x176, -x178 * x95, -x158 * x28 * x90, -x178 * x86, x121 * x154 * x179, -x177 * x74, x128 * x148, -x174 * x64, x180 * x182, x182 * x183, x183 * x185, x180 * x185, -x186 * x188, x191 * x27, -x194 * x25, x196 * x57, x144 * x197, x196 * x63, -x19 * x194, x191 * x21, -x188 * x198, -x165 * x200, x203 * x74, -x183 * x205, x207 * x86, x208 * x209, x207 * x95, -x206 * x210, x161 * x203, -x206 * x211, -x198 * x213, x190 * x215, -x19 * x216, x217 * x63, x197 * x218 * x74, x217 * x57, -x216 * x25, x190 * x212 * x219, -x186 * x213, -x211 * x221, x161 * x222, -x210 * x221, x223 * x95, x157 * x209 * x29, x223 * x86, -x180 * x205, x222 * x74, -x173 * x200, x186 * x225, x198 * x225, x228 * x229, x229 * x232, -x233 * x235, x238 * x25, -x240 * x57, -x241 * x61 * x70, -x240 * x63, x19 * x238, -x235 * x242, -x244 * x74, x226 * x246, -x247 * x86, -x248 * x249, -x247 * x95, x228 * x250, -x161 * x244, -x252 * x254, x255 * x258, -x259 * x63, -x241 * x260 * x79, -x259 * x57, x258 * x261, -x254 * x262, -x263 * x264, x232 * x250, -x265 * x95, -x208 * x249 * x26, -x265 * x86, x230 * x246, -x264 * x266, x267 * x269, x251 * x269, x251 * x270, x267 * x270, -x271 * x274, x276 * x57, x171 * x277 * x74, x276 * x63, -x274 * x278, -x251 * x280, x281 * x86, x282 * x283, x281 * x95, -x252 * x284, -x278 * x286, x287 * x63, x277 * x288 * x84, x287 * x57, -x271 * x286, -x262 * x284, x289 * x95, x248 * x27 * x283, x289 * x86, -x267 * x280, x291 * x292, x292 * x293, x293 * x294, x291 * x294, -x295 * x297, -x218 * x298 * x79, -x297 * x299, -x301 * x86, -x302 * x303, -x301 * x95, -x299 * x304, -x298 * x305 * x9, -x295 * x304, -x306 * x95, -x25 * x282 * x303, -x306 * x86, x295 * x308, x299 * x308, x299 * x309, x295 * x309, 0.000011815200617283950617 * x260 * x86, x310 * x63, 0.000011815200617283950617 * x305 * x92, x310 * x57, x60 * x89, ] ) case 256: def shape_functions(xi): x0 = 15.0 * xi[1] x1 = x0 + 13.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 3.0 * xi[0] x5 = x4 + 1.0 x6 = 3.0 * xi[1] x7 = x6 + 1.0 x8 = 5.0 * xi[0] x9 = x8 + 1.0 x10 = 5.0 * xi[1] x11 = x10 + 1.0 x12 = 15.0 * xi[0] x13 = x12 + 1.0 x14 = x0 + 1.0 x15 = x8 + 3.0 x16 = x10 + 3.0 x17 = x12 + 7.0 x18 = x0 + 7.0 x19 = x12 + 11.0 x20 = x0 + 11.0 x21 = x12 + 13.0 x22 = xi[1] - 1.0 x23 = x4 - 1.0 x24 = x6 - 1.0 x25 = x8 - 1.0 x26 = x10 - 1.0 x27 = x12 - 1.0 x28 = x0 - 1.0 x29 = x8 - 3.0 x30 = x10 - 3.0 x31 = x12 - 7.0 x32 = x0 - 7.0 x33 = x12 - 11.0 x34 = x0 - 11.0 x35 = x12 - 13.0 x36 = x0 - 13.0 x37 = ( x11 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x7 * x9 ) x38 = 5.0249700898396030198e-25 * x37 x39 = xi[0] + 1.0 x40 = x1 * x39 x41 = xi[1] + 1.0 x42 = x21 * x41 x43 = x40 * x42 x44 = ( x11 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x7 * x9 ) x45 = 5.0249700898396030198e-25 * x44 x46 = x3 * x42 x47 = 1.1306182702139106794e-22 * x39 x48 = x22 * x3 x49 = x47 * x48 x50 = ( x11 * x13 * x14 * x15 * x17 * x18 * x20 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x7 * x9 ) x51 = x48 * x50 x52 = x16 * x39 x53 = 7.9143278914973747561e-22 * x52 x54 = x21 * x53 x55 = ( x11 * x13 * x14 * x17 * x18 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x7 * x9 ) x56 = x48 * x55 x57 = 1.143180695438509687e-21 * x19 x58 = x20 * x52 x59 = x57 * x58 x60 = x21 * x59 x61 = x30 * x48 x62 = x21 * x61 x63 = ( x11 * x13 * x14 * x18 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x7 * x9 ) x64 = x15 * x19 x65 = x58 * x64 x66 = x63 * x65 x67 = 1.0288626258946587183e-20 * x66 x68 = ( x11 * x13 * x14 * x17 * x18 * x23 * x24 * x25 * x26 * x27 * x28 * x31 * x32 * x33 * x34 * x35 * x36 * x7 * x9 ) x69 = x29 * x65 x70 = x62 * x69 x71 = 4.5269955539364983605e-21 * x70 x72 = ( x11 * x13 * x14 * x17 * x18 * x23 * x24 * x25 * x26 * x27 * x28 * x31 * x32 * x33 * x34 * x5 * x7 ) x73 = x35 * x36 x74 = x70 * x73 x75 = 1.2574987649823606557e-20 * x74 x76 = ( x11 * x14 * x17 * x18 * x23 * x24 * x25 * x26 * x27 * x28 * x31 * x32 * x5 * x7 * x9 ) x77 = x33 * x34 x78 = x74 * x77 x79 = 4.8503523792176768148e-20 * x78 x80 = ( x11 * x13 * x14 * x23 * x24 * x25 * x26 * x28 * x31 * x32 * x5 * x7 * x9 ) x81 = x17 * x18 x82 = x80 * x81 x83 = ( x11 * x13 * x14 * x23 * x24 * x26 * x28 * x32 * x5 * x7 * x81 * x9 ) x84 = x27 * x77 x85 = x31 * x84 x86 = x83 * x85 x87 = ( x11 * x14 * x24 * x25 * x26 * x28 * x32 * x5 * x81 * x85 * x9 ) x88 = x13 * x73 x89 = x7 * x88 x90 = x87 * x89 x91 = 1.0288626258946587183e-20 * x25 x92 = x27 * x83 x93 = x5 * x68 x94 = x15 * x93 x95 = x61 * x88 x96 = x34 * x76 x97 = x29 * x64 x98 = x20 * x97 x99 = x96 * x98 x100 = x16 * x98 x101 = x30 * x72 x102 = x101 * x9 x103 = x102 * x36 x104 = x100 * x103 x105 = x41 * x47 x106 = x22 * x43 x107 = x106 * x16 x108 = 7.9143278914973747561e-22 * x55 * x64 x109 = x50 * x57 x110 = x100 * x106 x111 = x30 * x73 x112 = x111 * x84 x113 = x17 * x80 x114 = x112 * x113 x115 = 1.0288626258946587183e-20 * x114 x116 = x30 * x88 x117 = x110 * x116 x118 = x23 * x87 x119 = 4.5269955539364983605e-21 * x118 x120 = x14 * x23 * x24 * x26 * x28 * x32 * x5 * x81 * x9 x121 = x120 * x85 x122 = x25 * x30 x123 = x122 * x89 x124 = x110 * x123 x125 = 1.2574987649823606557e-20 * x124 x126 = x28 * x85 x127 = x124 * x126 x128 = x11 * x23 * x24 * x26 * x32 * x5 * x81 * x9 x129 = 4.8503523792176768148e-20 * x128 x130 = x14 * x85 x131 = x129 * x130 x132 = x11 * x23 * x24 * x32 * x5 * x9 x133 = x14 * x81 x134 = x126 * x133 x135 = x132 * x134 x136 = x11 * x26 * x5 * x9 x137 = x23 * x32 x138 = x136 * x137 x139 = 4.5269955539364983605e-21 * x138 x140 = x30 * x89 x141 = x134 * x24 x142 = x136 * x23 x143 = x141 * x142 x144 = x140 * x143 x145 = x144 * x91 x146 = x17 * x63 x147 = x146 * x15 x148 = x147 * x20 * x57 x149 = x33 * x76 x150 = 7.9143278914973747561e-22 * x149 x151 = x102 * x35 x152 = 1.1306182702139106794e-22 * x151 x153 = x46 * x53 x154 = x116 * x99 x155 = x30 * x46 x156 = x46 * x69 x157 = x112 * x83 x158 = x69 * x90 x159 = 4.5269955539364983605e-21 * x155 x160 = x111 * x156 x161 = x77 * x82 x162 = 4.8503523792176768148e-20 * x160 x163 = x76 * x77 x164 = x101 * x73 x165 = x68 * x69 x166 = x46 * x55 x167 = x22 * x46 x168 = x100 * x167 x169 = x116 * x168 x170 = x16 * x167 x171 = x123 * x168 x172 = 1.2574987649823606557e-20 * x171 x173 = x2 * x41 x174 = 2.5438911079812990288e-20 * x22 x175 = x2 * x42 x176 = x175 * x69 x177 = x72 * x9 x178 = x35 * x69 x179 = x41 * x61 x180 = x175 * x22 x181 = 1.7807237755869093201e-19 * x52 x182 = 2.5721565647366467957e-19 * x180 x183 = x19 * x58 x184 = x180 * x30 x185 = 1.0185739996357121311e-18 * x184 x186 = x176 * x22 x187 = 2.8293722212103114753e-18 * x186 x188 = 1.0913292853239772833e-17 * x163 x189 = x111 * x186 x190 = 1.0913292853239772833e-17 * x161 x191 = x111 * x86 x192 = 2.3149409082629821162e-18 * x25 x193 = x65 * x93 x194 = 1.7807237755869093201e-19 * x96 x195 = x103 * x167 x196 = 2.5721565647366467957e-19 * x39 x197 = x22 * x36 x198 = 2.3149409082629821162e-18 * x197 x199 = x155 * x69 x200 = x113 * x84 x201 = 1.0185739996357121311e-18 * x118 x202 = x13 * x197 x203 = x199 * x202 x204 = 2.8293722212103114753e-18 * x121 x205 = x122 * x156 x206 = x205 * x7 x207 = x202 * x206 x208 = 1.0913292853239772833e-17 * x128 x209 = x207 * x208 x210 = 2.8293722212103114753e-18 * x135 x211 = x134 * x138 x212 = 1.0185739996357121311e-18 * x211 x213 = x13 * x206 x214 = 1.7807237755869093201e-19 * x149 x215 = x155 * x22 x216 = x178 * x215 x217 = x13 * x216 x218 = x151 * x167 x219 = 2.5721565647366467957e-19 * x218 x220 = x22 * x35 x221 = 2.3149409082629821162e-18 * x84 x222 = x11 * x137 * x26 x223 = x141 * x9 x224 = x222 * x223 x225 = x18 * x80 x226 = x183 * x29 x227 = x15 * x29 * x58 x228 = x41 * x69 * x95 x229 = x179 * x69 x230 = x229 * x89 x231 = x230 * x25 x232 = x208 * x231 x233 = 1.2465066429108365241e-18 * x52 x234 = x166 * x22 x235 = x116 * x167 x236 = x156 * x22 x237 = x116 * x236 x238 = x149 * x235 x239 = 1.800509595315652757e-18 * x52 x240 = x19 * x234 x241 = x215 * x52 x242 = x63 * x64 x243 = 7.1300179974499849178e-18 * x241 * x97 x244 = 1.9805605548472180327e-17 * x167 x245 = x52 * x97 x246 = x244 * x245 x247 = x111 * x163 x248 = x167 * x245 x249 = 7.6393049972678409834e-17 * x248 x250 = x111 * x161 x251 = 1.6204586357840874813e-17 * x25 x252 = x215 * x64 * x93 x253 = 1.800509595315652757e-18 * x167 x254 = x253 * x39 x255 = x27 * x34 x256 = 1.6204586357840874813e-17 * x255 x257 = x160 * x22 x258 = x113 * x257 x259 = x255 * x31 x260 = x120 * x259 x261 = x237 * x25 x262 = x11 * x261 x263 = x123 * x236 x264 = 1.9805605548472180327e-17 * x263 x265 = 7.6393049972678409834e-17 * x128 x266 = x259 * x28 x267 = x263 * x266 x268 = x14 * x263 x269 = x133 * x264 x270 = 7.1300179974499849178e-18 * x133 x271 = x142 * x24 x272 = x263 * x28 x273 = x133 * x272 x274 = x273 * x31 x275 = x271 * x274 x276 = 1.800509595315652757e-18 * x238 x277 = x257 * x33 x278 = x277 * x92 x279 = x136 * x32 x280 = x24 * x279 x281 = x272 * x31 x282 = x27 * x33 x283 = x270 * x281 * x282 x284 = x222 * x24 x285 = x284 * x5 x286 = x284 * x9 x287 = x123 * x227 x288 = x167 * x287 x289 = x244 * x287 x290 = x265 * x288 x291 = x118 * x235 x292 = x114 * x167 x293 = x20 * x39 x294 = 2.6007360821226095379e-18 * x293 x295 = 2.6007360821226095379e-18 * x167 x296 = 1.029891488520553377e-17 * x68 x297 = x39 * x98 x298 = x215 * x297 x299 = x167 * x297 x300 = 2.8608096903348704917e-17 * x299 x301 = 1.1034551662720214754e-16 * x299 x302 = 1.029891488520553377e-17 * x90 x303 = 2.3406624739103485841e-17 * x25 x304 = 2.3406624739103485841e-17 * x65 x305 = 1.029891488520553377e-17 * x65 x306 = x123 * x167 x307 = x306 * x65 x308 = 2.8608096903348704917e-17 * x307 x309 = 1.1034551662720214754e-16 * x128 x310 = x307 * x309 x311 = x211 * x306 x312 = x143 * x306 x313 = x236 * x73 x314 = 2.8608096903348704917e-17 * x313 x315 = 1.1034551662720214754e-16 * x313 x316 = 2.3406624739103485841e-17 * x226 x317 = 1.029891488520553377e-17 * x226 x318 = x226 * x306 x319 = 2.8608096903348704917e-17 * x318 x320 = x309 * x318 x321 = 2.1065962265193137257e-16 * x84 x322 = x17 * x268 x323 = x132 * x26 x324 = x126 * x18 x325 = x268 * x324 x326 = x126 * x322 x327 = 9.2690233966849803931e-17 * x326 x328 = 9.9310964964481932784e-16 * x323 x329 = x25 * x257 * x7 x330 = x126 * x14 * x17 x331 = 9.9310964964481932784e-16 * x77 x332 = 2.5747287213013834425e-16 * x236 x333 = x120 * x84 x334 = 2.5747287213013834425e-16 * x263 x335 = 9.9310964964481932784e-16 * x128 * x84 x336 = x273 * x84 x337 = 2.5747287213013834425e-16 * x132 x338 = 9.2690233966849803931e-17 * x138 x339 = 9.2690233966849803931e-17 * x263 x340 = x11 * x23 x341 = x26 * x5 x342 = x141 * x341 x343 = x223 * x26 x344 = x263 * x328 x345 = x134 * x263 x346 = 4.078370294541391373e-17 * x345 x347 = 1.1328806373726087147e-16 * x5 x348 = x222 * x347 x349 = 4.3696824584372050425e-16 * x77 x350 = x120 * x31 x351 = 1.1328806373726087147e-16 * x11 x352 = x223 * x263 x353 = x32 * x352 x354 = x263 * x81 x355 = 4.3696824584372050425e-16 * x354 x356 = x280 * x355 x357 = x140 * x236 x358 = x286 * x355 x359 = x137 * x263 x360 = 3.1468906593683575409e-16 * x359 x361 = 3.1468906593683575409e-16 * x357 x362 = 1.2138006828992236229e-15 * x329 x363 = 1.2138006828992236229e-15 * x77 x364 = 1.2138006828992236229e-15 * x126 x365 = x128 * x357 x366 = 1.2138006828992236229e-15 * x130 x367 = x285 * x354 x368 = 4.6818026340398625455e-15 * x128 x369 = x329 * x368 x370 = x368 * x77 return jnp.asarray( [ x3 * x38, -x38 * x40, x43 * x45, -x45 * x46, -x44 * x49, x51 * x54, -x56 * x60, x62 * x67, -x68 * x71, x72 * x75, -x76 * x79, x79 * x82, -x75 * x86, x71 * x90, -x78 * x91 * x92, x60 * x61 * x94, -x54 * x95 * x99, x104 * x21 * x49, x105 * x37, -x107 * x108, x106 * x109, -x110 * x115, x117 * x119, -x121 * x125, x127 * x129, -x124 * x131, x125 * x135, -x127 * x133 * x139, x110 * x145, -x107 * x148, x117 * x150, -x110 * x152, -x104 * x46 * x47, x153 * x154, -x155 * x59 * x94, x156 * x157 * x91, -x158 * x159, 1.2574987649823606557e-20 * x160 * x86, -x161 * x162, x162 * x163, -1.2574987649823606557e-20 * x156 * x164, x159 * x165, -x155 * x67, x166 * x59, -x153 * x50, x105 * x3 * x44, x152 * x168, -x150 * x169, x148 * x170, -x145 * x168, x134 * x139 * x171, -x135 * x172, x131 * x171, -x126 * x129 * x171, x121 * x172, -x119 * x169, x115 * x168, -x109 * x167, x108 * x170, -1.1306182702139106794e-22 * x173 * x37, x173 * x174 * x39 * x44, -x103 * x174 * x176, x102 * x156 * x174, -2.5438911079812990288e-20 * x177 * x178 * x179, -x180 * x181 * x50, x182 * x183 * x55, -2.3149409082629821162e-18 * x184 * x66, x165 * x185, -x164 * x187, x188 * x189, -x189 * x190, x187 * x191, -x158 * x185, x157 * x186 * x192, -x182 * x193 * x30, x116 * x186 * x194, x181 * x195 * x97, -x195 * x196 * x98, x198 * x199 * x200, -x201 * x203, x204 * x207, -x126 * x209, x130 * x209, -x207 * x210, x207 * x212, -x143 * x198 * x213, 2.5721565647366467957e-19 * x156 * x177 * x197, -x203 * x214, -x194 * x217, x219 * x65, -x205 * x220 * x221 * x83, 1.0185739996357121311e-18 * x217 * x7 * x87, -2.8293722212103114753e-18 * x216 * x86, x190 * x216, -x188 * x216, 2.8293722212103114753e-18 * x101 * x156 * x220, -1.0185739996357121311e-18 * x213 * x220 * x224, x216 * x221 * x225, -x219 * x226, 1.7807237755869093201e-19 * x218 * x227, x214 * x228, -2.5721565647366467957e-19 * x17 * x41 * x48 * x66, x143 * x192 * x230, -x212 * x231, x210 * x231, -x130 * x232, x126 * x232, -x204 * x231, x201 * x228, -2.3149409082629821162e-18 * x200 * x229 * x73, x19 * x196 * x41 * x51, -x181 * x41 * x56 * x64, x15 * x233 * x234, -x233 * x235 * x96 * x97, 1.2465066429108365241e-18 * x237 * x76, -1.2465066429108365241e-18 * x227 * x238, -x239 * x240, 1.6204586357840874813e-17 * x241 * x242, -x243 * x68, x164 * x246, -x247 * x249, x249 * x250, -x191 * x246, x243 * x90, -x157 * x248 * x251, x239 * x252, x154 * x254, -x256 * x258, 7.1300179974499849178e-18 * x260 * x262, -x260 * x264, x265 * x267, -x259 * x265 * x268, x132 * x266 * x269, -x138 * x267 * x270, x256 * x275, -1.800509595315652757e-18 * x236 * x88 * x96, -x276 * x65, x251 * x278, -x280 * x283, 1.9805605548472180327e-17 * x278 * x31, -7.6393049972678409834e-17 * x277 * x82, 7.6393049972678409834e-17 * x149 * x257, -x269 * x28 * x282 * x285 * x31, x283 * x286, -1.6204586357840874813e-17 * x225 * x27 * x277, x226 * x276, x147 * x253 * x58, -1.6204586357840874813e-17 * x143 * x288, 7.1300179974499849178e-18 * x211 * x288, -x135 * x289, x130 * x290, -x126 * x290, x121 * x289, -7.1300179974499849178e-18 * x227 * x291, 1.6204586357840874813e-17 * x227 * x292, -x254 * x50, x240 * x294, -x252 * x294, x193 * x295, -x146 * x183 * x295, -2.3406624739103485841e-17 * x215 * x242 * x293, x296 * x298, -x164 * x300, x247 * x301, -x250 * x301, x191 * x300, -x298 * x302, x157 * x299 * x303, x292 * x304, -x291 * x305, x121 * x308, -x126 * x310, x130 * x310, -x135 * x308, x305 * x311, -x304 * x312, -x303 * x313 * x83 * x84, x236 * x302, -x314 * x86, x161 * x315, -x163 * x315, x314 * x72, -x236 * x296, 2.3406624739103485841e-17 * x167 * x66, x312 * x316, -x311 * x317, x135 * x319, -x130 * x320, x126 * x320, -x121 * x319, x291 * x317, -x292 * x316, 2.1065962265193137257e-16 * x112 * x236 * x80, -x28 * x321 * x322 * x323, x271 * x273 * x321, -2.1065962265193137257e-16 * x271 * x325, -x286 * x327, 2.5747287213013834425e-16 * x285 * x326, -x328 * x329 * x330, x258 * x331, -x140 * x323 * x330 * x332, x280 * x327, 9.2690233966849803931e-17 * x262 * x333, -x333 * x334, x272 * x335, -x268 * x335, x336 * x337, -x336 * x338, -x136 * x141 * x339, x144 * x332, -x275 * x331, 9.9310964964481932784e-16 * x143 * x329, -x334 * x340 * x342, x339 * x340 * x343, x325 * x338, -x325 * x337, x130 * x18 * x344, -x324 * x344, 2.5747287213013834425e-16 * x137 * x24 * x325 * x341 * x9, -9.2690233966849803931e-17 * x14 * x261 * x323 * x324, 4.078370294541391373e-17 * x224 * x261, -4.078370294541391373e-17 * x237 * x87, x279 * x346, -x222 * x346 * x9, -x141 * x261 * x348, 4.3696824584372050425e-16 * x118 * x257, -x262 * x349 * x350, x121 * x237 * x351, 1.1328806373726087147e-16 * x341 * x353, -x126 * x356, x130 * x356, -x11 * x347 * x353, -1.1328806373726087147e-16 * x211 * x357, x138 * x274 * x349, -4.3696824584372050425e-16 * x211 * x329, x345 * x348, x137 * x351 * x352, -x130 * x358, x126 * x358, -1.1328806373726087147e-16 * x343 * x359, x342 * x360, -x121 * x361, x135 * x361, -x11 * x141 * x360 * x5, -x121 * x362, x263 * x350 * x363, x364 * x365, -x365 * x366, -x132 * x274 * x363, x135 * x362, x366 * x367, -x364 * x367, x126 * x369, -x281 * x370, x268 * x31 * x370, -x130 * x369, ] ) case 289: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 2.0 * xi[1] x3 = x2 + 1.0 x4 = 4.0 * xi[1] x5 = x4 + 1.0 x6 = 8.0 * xi[1] x7 = x6 + 1.0 x8 = x4 + 3.0 x9 = x6 + 3.0 x10 = x6 + 5.0 x11 = x6 + 7.0 x12 = x2 - 1.0 x13 = x4 - 1.0 x14 = x6 - 1.0 x15 = x4 - 3.0 x16 = x6 - 3.0 x17 = x6 - 5.0 x18 = x6 - 7.0 x19 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x3 * x5 * x7 * x8 * x9 * xi[1] ) x20 = x1 * x19 x21 = 2.0 * xi[0] x22 = x21 + 1.0 x23 = 4.0 * xi[0] x24 = x23 + 1.0 x25 = 8.0 * xi[0] x26 = x25 + 1.0 x27 = x23 + 3.0 x28 = x25 + 3.0 x29 = x25 + 5.0 x30 = x25 + 7.0 x31 = x21 - 1.0 x32 = x23 - 1.0 x33 = x25 - 1.0 x34 = x23 - 3.0 x35 = x25 - 3.0 x36 = x25 - 5.0 x37 = x25 - 7.0 x38 = ( x22 * x24 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * xi[0] ) x39 = 6.1319794541210246319e-19 * x38 x40 = x20 * x39 x41 = xi[0] + 1.0 x42 = xi[1] + 1.0 x43 = x19 * x39 * x42 x44 = x20 * x41 x45 = ( x0 * x22 * x24 * x26 * x27 * x28 * x29 * x31 * x32 * x33 * x34 * x35 * x36 * xi[0] ) x46 = 7.8489337012749115288e-17 * x45 x47 = x44 * x46 x48 = x30 * x44 x49 = ( x0 * x22 * x24 * x26 * x28 * x29 * x31 * x32 * x33 * x35 * x36 * x37 * xi[0] ) x50 = 2.9433501379780918233e-16 * x49 x51 = x48 * x50 x52 = x27 * x48 x53 = ( x0 * x22 * x24 * x26 * x28 * x31 * x32 * x33 * x34 * x35 * x37 * xi[0] ) x54 = 2.7471267954462190351e-15 * x53 x55 = x52 * x54 x56 = x29 * x52 x57 = ( x0 * x24 * x26 * x28 * x32 * x33 * x34 * x35 * x36 * x37 * xi[0] ) x58 = 2.232040521300052966e-15 * x57 x59 = x56 * x58 x60 = x22 * x56 x61 = x0 * x24 * x26 * x31 * x32 * x33 * x34 * x36 * x37 * xi[0] x62 = 2.1427589004480508474e-14 * x61 x63 = x60 * x62 x64 = x28 * x60 x65 = x0 * x26 * x31 * x33 * x34 * x35 * x36 * x37 * xi[0] x66 = 1.9641956587440466101e-14 * x65 x67 = x64 * x66 x68 = x0 * x31 * x32 * x34 * x35 * x36 * x37 * xi[0] x69 = x33 * x68 x70 = 5.6119875964115617431e-14 * x24 x71 = x64 * x70 x72 = ( 173140.53095490047871 * xi[0] ** 16 - 551885.44241874527589 * xi[0] ** 14 + 694168.40804232804233 * xi[0] ** 12 - 441984.42698916603679 * xi[0] ** 10 + 152107.76187452758881 * xi[0] ** 8 - 28012.603597883597884 * xi[0] ** 6 + 2562.5271453766691862 * xi[0] ** 4 - 97.755011337868480726 * xi[0] ** 2 + 1.0 ) x73 = x1 * x72 x74 = 7.8306956613834920713e-10 * x19 x75 = x26 * x68 x76 = ( x10 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x3 * x42 * x5 * x7 * x9 * xi[1] ) x77 = x1 * x38 x78 = x41 * x77 x79 = x76 * x78 x80 = 7.8489337012749115288e-17 * x8 x81 = 2.9433501379780918233e-16 * x11 x82 = ( x11 * x12 * x13 * x14 * x15 * x16 * x17 * x3 * x42 * x5 * x7 * x9 * xi[1] ) x83 = x78 * x82 x84 = x18 * x8 x85 = 2.7471267954462190351e-15 * x84 x86 = ( x12 * x13 * x14 * x16 * x17 * x42 * x5 * x7 * x84 * x9 * xi[1] ) x87 = x10 * x78 x88 = x86 * x87 x89 = x11 * x15 x90 = 2.232040521300052966e-15 * x89 x91 = x12 * x13 * x14 * x16 * x42 * x5 * x7 * x89 * xi[1] x92 = x3 * x87 x93 = x91 * x92 x94 = x17 * x84 x95 = 2.1427589004480508474e-14 * x94 x96 = x13 * x14 * x16 * x42 * x7 * x94 * xi[1] x97 = x9 * x92 x98 = x96 * x97 x99 = x12 * x89 x100 = 1.9641956587440466101e-14 * x99 x101 = x13 * x14 * x42 * x99 * xi[1] x102 = x16 * x94 x103 = x101 * x102 x104 = x5 * x97 x105 = 5.6119875964115617431e-14 * x104 x106 = ( 173140.53095490047871 * xi[1] ** 16 - 551885.44241874527589 * xi[1] ** 14 + 694168.40804232804233 * xi[1] ** 12 - 441984.42698916603679 * xi[1] ** 10 + 152107.76187452758881 * xi[1] ** 8 - 28012.603597883597884 * xi[1] ** 6 + 2562.5271453766691862 * xi[1] ** 4 - 97.755011337868480726 * xi[1] ** 2 + 1.0 ) x107 = x106 * x41 x108 = 7.8306956613834920713e-10 * x38 x109 = x13 * x99 x110 = x102 * x42 * xi[1] x111 = x110 * x7 x112 = x109 * x111 x113 = x111 * x14 x114 = x100 * x113 x115 = x101 * x7 x116 = x115 * x95 x117 = x5 * x90 x118 = x85 * x9 x119 = x3 * x81 x120 = x10 * x80 x121 = x30 * x41 x122 = x121 * x19 * x42 x123 = x122 * x27 x124 = x123 * x29 x125 = x124 * x22 x126 = x125 * x28 x127 = x126 * x66 x128 = x126 * x70 x129 = x37 * x41 x130 = x0 * x77 x131 = x130 * x82 x132 = x10 * x130 x133 = x132 * x86 x134 = x132 * x3 x135 = x134 * x91 x136 = x134 * x9 x137 = x136 * x96 x138 = x136 * x5 x139 = 5.6119875964115617431e-14 * x138 x140 = x130 * x76 x141 = x1 * x45 x142 = x129 * x141 x143 = x76 * x8 x144 = 1.0046635137631886757e-14 * x143 x145 = x121 * x141 x146 = x145 * x82 x147 = x10 * x8 x148 = 1.0046635137631886757e-14 * x147 x149 = x142 * x82 x150 = x1 * x121 x151 = x143 * x150 x152 = 3.7674881766119575338e-14 * x49 x153 = x151 * x152 x154 = x151 * x27 x155 = 3.5163222981711603649e-13 * x53 x156 = x154 * x155 x157 = x154 * x29 x158 = 2.8570118672640677965e-13 * x57 x159 = x157 * x158 x160 = x157 * x22 x161 = 2.7427313925735050846e-12 * x61 x162 = x160 * x161 x163 = x160 * x28 x164 = 2.5141704431923796609e-12 * x65 x165 = x163 * x164 x166 = 7.1833441234067990312e-12 * x24 x167 = x163 * x166 x168 = x73 * x76 x169 = 1.0023290446570869851e-7 * x8 x170 = 3.7674881766119575338e-14 * x11 x171 = x145 * x170 x172 = 3.5163222981711603649e-13 * x84 x173 = x10 * x145 x174 = 2.8570118672640677965e-13 * x89 x175 = x173 * x174 x176 = x173 * x3 x177 = x176 * x91 x178 = 2.7427313925735050846e-12 * x94 x179 = x176 * x9 x180 = 2.5141704431923796609e-12 * x99 x181 = x179 * x180 x182 = x179 * x5 x183 = 7.1833441234067990312e-12 * x182 x184 = x107 * x30 x185 = 1.0023290446570869851e-7 * x45 x186 = x113 * x5 x187 = x115 * x178 x188 = x3 * x9 x189 = x188 * x5 x190 = x189 * x96 x191 = x10 * x3 x192 = x191 * x86 x193 = x150 * x27 x194 = x193 * x82 x195 = x147 * x194 x196 = x195 * x29 x197 = x196 * x22 x198 = x197 * x28 x199 = x164 * x198 x200 = x166 * x198 x201 = x10 * x73 x202 = x150 * x34 x203 = x202 * x82 x204 = x142 * x170 x205 = x10 * x142 x206 = x188 * x205 x207 = x174 * x205 x208 = x189 * x205 x209 = x180 * x206 x210 = 7.1833441234067990312e-12 * x208 x211 = x191 * x91 x212 = x202 * x49 x213 = x11 * x76 x214 = 1.4128080662294840752e-13 * x213 x215 = x193 * x49 x216 = x11 * x192 x217 = 1.4128080662294840752e-13 * x216 x218 = x36 * x53 x219 = x193 * x213 x220 = 1.3186208618141851368e-12 * x219 x221 = x219 * x29 x222 = 1.0713794502240254237e-12 * x57 x223 = x221 * x222 x224 = x22 * x221 x225 = 1.0285242722150644067e-11 * x61 x226 = x224 * x225 x227 = x224 * x28 x228 = 9.4281391619714237284e-12 * x65 x229 = x227 * x228 x230 = 2.6937540462775496367e-11 * x24 x231 = x227 * x230 x232 = 3.7587339174640761942e-7 * x11 x233 = x29 * x53 x234 = 1.3186208618141851368e-12 * x84 x235 = x234 * x49 x236 = x10 * x215 x237 = 1.0713794502240254237e-12 * x89 x238 = x236 * x237 x239 = 1.0285242722150644067e-11 * x94 x240 = x211 * x239 x241 = x188 * x236 x242 = 9.4281391619714237284e-12 * x99 x243 = x241 * x242 x244 = x189 * x236 x245 = 2.6937540462775496367e-11 * x244 x246 = x184 * x27 x247 = 3.7587339174640761942e-7 * x49 x248 = x115 * x239 x249 = x234 * x91 x250 = x193 * x216 x251 = 1.3186208618141851368e-12 * x250 x252 = x22 * x29 x253 = x250 * x252 x254 = x253 * x28 x255 = x228 * x254 x256 = x230 * x254 x257 = x201 * x3 x258 = x29 * x31 x259 = x10 * x212 x260 = x188 * x259 x261 = x237 * x259 x262 = x189 * x259 x263 = x242 * x260 x264 = 2.6937540462775496367e-11 * x262 x265 = 1.2307128043599061277e-11 * x84 x266 = x194 * x265 x267 = x193 * x233 x268 = x10 * x267 x269 = x188 * x268 x270 = x265 * x91 x271 = x193 * x218 x272 = x10 * x188 x273 = x271 * x272 x274 = x258 * x57 x275 = x194 * x84 x276 = 9.9995415354242372877e-12 * x275 x277 = x252 * x275 x278 = 9.5995598740072677962e-11 * x61 x279 = x277 * x278 x280 = x277 * x28 x281 = 8.7995965511733288132e-11 * x65 x282 = x280 * x281 x283 = 2.5141704431923796609e-10 * x24 x284 = x280 * x283 x285 = 3.508151656299804448e-6 * x84 x286 = x252 * x57 x287 = 9.9995415354242372877e-12 * x89 x288 = x268 * x287 x289 = 9.5995598740072677962e-11 * x94 x290 = x211 * x289 x291 = 8.7995965511733288132e-11 * x99 x292 = x269 * x291 x293 = x189 * x268 x294 = 2.5141704431923796609e-10 * x293 x295 = x246 * x29 x296 = 3.508151656299804448e-6 * x53 x297 = x115 * x289 x298 = x193 * x286 x299 = x272 * x298 x300 = x84 * x91 x301 = 9.9995415354242372877e-12 * x300 x302 = x193 * x272 x303 = x252 * x28 x304 = x302 * x303 x305 = x300 * x304 x306 = x281 * x305 x307 = x283 * x305 x308 = x257 * x9 x309 = x252 * x35 x310 = x302 * x309 x311 = x274 * x302 x312 = x10 * x271 x313 = x287 * x312 x314 = x189 * x312 x315 = x273 * x291 x316 = 2.5141704431923796609e-10 * x314 x317 = x193 * x274 x318 = 8.1246274975321927963e-12 * x10 * x89 x319 = x318 * x86 x320 = x190 * x318 x321 = x193 * x61 x322 = x309 * x321 x323 = 7.7996423976309050844e-11 * x10 x324 = x86 * x89 x325 = x323 * x324 x326 = x32 * x65 x327 = x10 * x303 x328 = x193 * x327 x329 = x324 * x328 x330 = 7.1496721978283296607e-11 * x329 x331 = 2.0427634850938084745e-10 * x24 x332 = x329 * x331 x333 = 2.850373220743591114e-6 * x89 x334 = x24 * x65 x335 = x303 * x321 x336 = x298 * x94 x337 = 7.7996423976309050844e-11 * x211 x338 = 7.1496721978283296607e-11 * x99 x339 = x299 * x338 x340 = x10 * x189 x341 = 2.0427634850938084745e-10 * x340 x342 = x298 * x341 x343 = x22 * x295 x344 = 2.850373220743591114e-6 * x57 x345 = x115 * x189 x346 = x323 * x345 x347 = x190 * x89 x348 = x323 * x347 x349 = x328 * x347 x350 = 7.1496721978283296607e-11 * x349 x351 = x331 * x349 x352 = x308 * x5 x353 = x317 * x94 x354 = x311 * x338 x355 = x317 * x341 x356 = 7.4876567017256688811e-10 * x94 x357 = x211 * x356 x358 = x321 * x327 x359 = x322 * x340 x360 = 6.8636853099151964743e-10 * x94 x361 = x326 * x360 x362 = x193 * x211 * x303 x363 = x24 * x69 x364 = 1.9610529456900561355e-9 * x94 x365 = x362 * x364 x366 = 0.000027363582919138474694 * x94 x367 = x24 * x75 x368 = x334 * x360 x369 = 6.8636853099151964743e-10 * x61 x370 = x304 * x99 x371 = x370 * x96 x372 = 1.9610529456900561355e-9 * x103 x373 = x189 * x358 x374 = x28 * x343 x375 = 0.000027363582919138474694 * x61 x376 = 1.9610529456900561355e-9 * x112 x377 = x186 * x369 x378 = x328 * x345 x379 = x364 * x378 x380 = x352 * x7 x381 = x310 * x99 x382 = 6.2917115340889301014e-10 * x371 x383 = x186 * x370 x384 = 6.2917115340889301014e-10 * x383 x385 = 1.7976318668825514576e-9 * x371 x386 = 0.000025083284342543601803 * x99 x387 = x189 * x328 x388 = 1.7976318668825514576e-9 * x387 x389 = x334 * x388 x390 = x24 * x374 x391 = 0.000025083284342543601803 * x65 x392 = 1.7976318668825514576e-9 * x383 x393 = x110 * x380 x394 = x326 * x388 x395 = 5.1360910482358613073e-9 * x387 x396 = x103 * x395 x397 = x112 * x395 x398 = 0.000071666526692981719437 * x390 return jnp.asarray( [ x0 * x40, x40 * x41, x41 * x43, x0 * x43, -x37 * x47, x34 * x51, -x36 * x55, x31 * x59, -x35 * x63, x32 * x67, -x69 * x71, x73 * x74, -x71 * x75, x24 * x67, -x28 * x63, x22 * x59, -x29 * x55, x27 * x51, -x30 * x47, -x79 * x80, x79 * x81, -x83 * x85, x88 * x90, -x93 * x95, x100 * x98, -x103 * x105, x107 * x108, -x105 * x112, x104 * x114, -x104 * x116, x117 * x98, -x118 * x93, x119 * x88, -x120 * x83, -x122 * x46, x123 * x50, -x124 * x54, x125 * x58, -x126 * x62, x127 * x24, -x128 * x75, x42 * x72 * x74, -x128 * x69, x127 * x32, -x125 * x35 * x62, x124 * x31 * x58, -x123 * x36 * x54, x122 * x34 * x50, -x129 * x19 * x42 * x46, -x120 * x131, x119 * x133, -x118 * x135, x117 * x137, -x116 * x138, x114 * x138, -x112 * x139, x0 * x106 * x108, -x103 * x139, x100 * x137, -x135 * x95, x133 * x90, -x131 * x85, x140 * x81, -x140 * x80, x142 * x144, x144 * x145, x146 * x148, x148 * x149, -x153 * x34, x156 * x36, -x159 * x31, x162 * x35, -x165 * x32, x167 * x69, -x168 * x169, x167 * x75, -x165 * x24, x162 * x28, -x159 * x22, x156 * x29, -x153 * x27, -x171 * x76, x146 * x172, -x175 * x86, x177 * x178, -x181 * x96, x103 * x183, -x184 * x185, x112 * x183, -x181 * x186, x182 * x187, -x175 * x190, x172 * x177 * x9, -x171 * x192, -x152 * x195, x155 * x196, -x158 * x197, x161 * x198, -x199 * x24, x200 * x75, -x169 * x201 * x82, x200 * x69, -x199 * x32, x161 * x197 * x35, -x158 * x196 * x31, x155 * x195 * x36, -x147 * x152 * x203, -x192 * x204, x172 * x206 * x91, -x190 * x207, x187 * x208, -x186 * x209, x112 * x210, -x107 * x185 * x37, x103 * x210, -x209 * x96, x142 * x178 * x211, -x207 * x86, x149 * x172, -x204 * x76, x212 * x214, x214 * x215, x215 * x217, x212 * x217, -x218 * x220, x223 * x31, -x226 * x35, x229 * x32, -x231 * x69, x168 * x232, -x231 * x75, x229 * x24, -x226 * x28, x22 * x223, -x220 * x233, -x194 * x235, x238 * x86, -x215 * x240, x243 * x96, -x103 * x245, x246 * x247, -x112 * x245, x186 * x243, -x244 * x248, x190 * x238, -x241 * x249, -x233 * x251, x222 * x253, -x225 * x254, x24 * x255, -x256 * x75, x232 * x257 * x86, -x256 * x69, x255 * x32, -x225 * x253 * x35, x222 * x250 * x258, -x218 * x251, -x249 * x260, x190 * x261, -x248 * x262, x186 * x263, -x112 * x264, x184 * x247 * x34, -x103 * x264, x263 * x96, -x212 * x240, x261 * x86, -x203 * x235, x218 * x266, x233 * x266, x269 * x270, x270 * x273, -x274 * x276, x279 * x35, -x282 * x32, x284 * x69, -x285 * x73 * x82, x284 * x75, -x24 * x282, x279 * x28, -x276 * x286, -x288 * x86, x267 * x290, -x292 * x96, x103 * x294, -x295 * x296, x112 * x294, -x186 * x292, x293 * x297, -x190 * x288, -x299 * x301, x278 * x305, -x24 * x306, x307 * x75, -x285 * x308 * x91, x307 * x69, -x306 * x32, x278 * x300 * x310, -x301 * x311, -x190 * x313, x297 * x314, -x186 * x315, x112 * x316, -x246 * x296 * x36, x103 * x316, -x315 * x96, x271 * x290, -x313 * x86, x317 * x319, x298 * x319, x298 * x320, x317 * x320, -x322 * x325, x326 * x330, -x332 * x69, x201 * x333 * x86, -x332 * x75, x330 * x334, -x325 * x335, -x336 * x337, x339 * x96, -x103 * x342, x343 * x344, -x112 * x342, x186 * x339, -x336 * x346, -x335 * x348, x334 * x350, -x351 * x75, x333 * x352 * x96, -x351 * x69, x326 * x350, -x322 * x348, -x346 * x353, x186 * x354, -x112 * x355, x295 * x31 * x344, -x103 * x355, x354 * x96, -x337 * x353, x322 * x357, x335 * x357, x345 * x356 * x358, x115 * x356 * x359, -x361 * x362, x363 * x365, -x257 * x366 * x91, x365 * x367, -x362 * x368, -x369 * x371, x372 * x373, -x374 * x375, x373 * x376, -x370 * x377, -x368 * x378, x367 * x379, -x101 * x366 * x380, x363 * x379, -x361 * x378, -x377 * x381, x359 * x376, -x343 * x35 * x375, x359 * x372, -x369 * x381 * x96, x326 * x382, x334 * x382, x334 * x384, x326 * x384, -x363 * x385, x308 * x386 * x96, -x367 * x385, -x103 * x389, x390 * x391, -x112 * x389, -x367 * x392, x14 * x386 * x393, -x363 * x392, -x112 * x394, x32 * x374 * x391, -x103 * x394, x363 * x396, x367 * x396, x367 * x397, x363 * x397, -0.000071666526692981719437 * x103 * x352, -x398 * x75, -0.000071666526692981719437 * x109 * x393, -x398 * x69, x106 * x72, ] ) case 324: def shape_functions(xi): x0 = 17.0 * xi[1] x1 = x0 + 15.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 17.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = x0 + 3.0 x9 = x4 + 5.0 x10 = x0 + 5.0 x11 = x4 + 7.0 x12 = x0 + 7.0 x13 = x4 + 9.0 x14 = x0 + 9.0 x15 = x4 + 11.0 x16 = x0 + 11.0 x17 = x4 + 13.0 x18 = x0 + 13.0 x19 = x4 + 15.0 x20 = xi[1] - 1.0 x21 = x4 - 1.0 x22 = x0 - 1.0 x23 = x4 - 3.0 x24 = x0 - 3.0 x25 = x4 - 5.0 x26 = x0 - 5.0 x27 = x4 - 7.0 x28 = x0 - 7.0 x29 = x4 - 9.0 x30 = x0 - 9.0 x31 = x4 - 11.0 x32 = x0 - 11.0 x33 = x4 - 13.0 x34 = x0 - 13.0 x35 = x4 - 15.0 x36 = x0 - 15.0 x37 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x38 = 1.3296610891588984942e-37 * x37 x39 = xi[0] + 1.0 x40 = x1 * x39 x41 = xi[1] + 1.0 x42 = x19 * x41 x43 = x40 * x42 x44 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x45 = 1.3296610891588984942e-37 * x44 x46 = x3 * x42 x47 = 3.8427205476692166482e-35 * x39 x48 = x20 * x3 x49 = x47 * x48 x50 = ( x10 * x11 * x12 * x13 * x14 * x15 * x18 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x51 = x48 * x50 x52 = x16 * x39 x53 = 3.0741764381353733186e-34 * x52 x54 = x19 * x53 x55 = ( x10 * x11 * x12 * x13 * x14 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x56 = x48 * x55 x57 = 1.5370882190676866593e-33 * x17 x58 = x18 * x52 x59 = x57 * x58 x60 = x19 * x59 x61 = x32 * x48 x62 = x19 * x61 x63 = ( x10 * x11 * x12 * x14 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x64 = x15 * x17 x65 = x58 * x64 x66 = x63 * x65 x67 = 5.3798087667369033075e-33 * x66 x68 = ( x10 * x12 * x13 * x14 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x33 * x34 * x35 * x36 * x5 * x6 * x7 * x8 * x9 ) x69 = x31 * x65 x70 = x62 * x69 x71 = 1.39875027935159486e-32 * x70 x72 = ( x10 * x11 * x12 * x13 * x14 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x33 * x34 * x5 * x6 * x7 * x8 ) x73 = x35 * x36 x74 = x70 * x73 x75 = 2.7975005587031897199e-32 * x74 x76 = ( x10 * x11 * x12 * x13 * x14 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x5 * x6 * x8 * x9 ) x77 = x33 * x34 x78 = x74 * x77 x79 = 4.3960723065335838456e-32 * x78 x80 = ( x10 * x11 * x12 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x6 * x7 * x8 * x9 ) x81 = x13 * x14 x82 = x78 * x81 x83 = 5.495090383166979807e-32 * x82 x84 = ( x10 * x11 * x12 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x9 ) x85 = x29 * x30 x86 = x84 * x85 x87 = ( x10 * x12 * x22 * x24 * x25 * x26 * x27 * x28 * x5 * x6 * x7 * x8 * x85 * x9 ) x88 = x21 * x81 x89 = x11 * x88 x90 = x87 * x89 x91 = ( x10 * x22 * x23 * x24 * x26 * x27 * x28 * x6 * x7 * x8 * x85 * x89 * x9 ) x92 = x5 * x77 x93 = x12 * x92 x94 = x91 * x93 x95 = ( x22 * x23 * x24 * x25 * x26 * x28 * x6 * x8 * x85 * x89 * x9 * x93 ) x96 = x7 * x73 x97 = x10 * x96 x98 = x95 * x97 x99 = 5.3798087667369033075e-33 * x84 x100 = x30 * x99 x101 = x11 * x68 x102 = x101 * x15 x103 = x61 * x96 x104 = x34 * x76 x105 = x31 * x64 x106 = x105 * x18 x107 = x104 * x106 x108 = x106 * x16 x109 = x32 * x72 x110 = x109 * x9 x111 = x110 * x36 x112 = x108 * x111 x113 = x41 * x47 x114 = x20 * x43 x115 = x114 * x16 x116 = 3.0741764381353733186e-34 * x55 * x64 x117 = x50 * x57 x118 = x108 * x114 x119 = x32 * x73 x120 = x119 * x80 x121 = x13 * x92 x122 = x120 * x121 x123 = 5.3798087667369033075e-33 * x122 x124 = x118 * x25 x125 = 1.39875027935159486e-32 * x124 x126 = x119 * x91 x127 = x126 * x92 x128 = x118 * x96 x129 = x27 * x32 x130 = 2.7975005587031897199e-32 * x129 x131 = x130 * x95 x132 = x22 * x23 * x24 * x26 * x28 * x6 * x85 * x9 * x93 x133 = x89 * x97 x134 = x129 * x133 x135 = x124 * x134 x136 = 4.3960723065335838456e-32 * x135 x137 = x22 * x23 * x24 * x26 * x28 * x85 * x9 x138 = x8 * x93 x139 = 5.495090383166979807e-32 * x138 x140 = x135 * x139 x141 = x23 * x24 * x26 * x28 * x9 x142 = x6 * x85 x143 = x141 * x142 x144 = x142 * x23 * x28 * x9 x145 = x138 * x22 x146 = x145 * x26 x147 = x144 * x146 x148 = x133 * x24 x149 = x144 * x145 x150 = x148 * x149 x151 = x130 * x150 x152 = x134 * x24 x153 = x142 * x146 * x23 * x9 x154 = x152 * x153 x155 = x119 * x77 x156 = x29 * x88 x157 = x155 * x156 x158 = x157 * x99 x159 = x13 * x63 x160 = x15 * x159 x161 = x160 * x18 * x57 x162 = x32 * x76 x163 = x162 * x33 x164 = 3.0741764381353733186e-34 * x163 x165 = x110 * x35 x166 = 3.8427205476692166482e-35 * x165 x167 = x32 * x46 x168 = x167 * x96 x169 = x107 * x168 x170 = x46 * x69 x171 = x155 * x170 x172 = x171 * x88 x173 = x69 * x98 x174 = 1.39875027935159486e-32 * x167 x175 = 2.7975005587031897199e-32 * x170 x176 = x119 * x94 x177 = 4.3960723065335838456e-32 * x171 x178 = 5.495090383166979807e-32 * x81 x179 = x171 * x86 x180 = x120 * x77 x181 = x170 * x180 x182 = x109 * x73 x183 = x68 * x69 x184 = x46 * x55 x185 = x46 * x50 x186 = x20 * x46 x187 = x108 * x186 x188 = x187 * x96 x189 = x16 * x186 x190 = x187 * x25 x191 = 1.39875027935159486e-32 * x190 x192 = x134 * x190 x193 = 4.3960723065335838456e-32 * x192 x194 = x139 * x192 x195 = x2 * x41 x196 = 1.1105462382764036113e-32 * x20 x197 = x2 * x42 x198 = x197 * x69 x199 = x72 * x9 x200 = x35 * x69 x201 = x41 * x61 x202 = x197 * x20 x203 = 8.8843699062112288907e-32 * x52 x204 = 4.4421849531056144454e-31 * x202 x205 = x17 * x58 x206 = x202 * x32 x207 = 4.0423883073261091453e-30 * x206 x208 = x198 * x20 x209 = 8.0847766146522182906e-30 * x208 x210 = x155 * x208 x211 = 1.2704648965882057314e-29 * x210 x212 = 1.5880811207352571642e-29 * x81 x213 = x212 * x86 x214 = 1.5547647335869650559e-30 * x84 x215 = x30 * x88 x216 = x214 * x215 x217 = x101 * x65 x218 = 8.8843699062112288907e-32 * x104 x219 = x111 * x186 x220 = 4.4421849531056144454e-31 * x39 x221 = x20 * x36 x222 = x221 * x69 x223 = x167 * x80 x224 = 1.5547647335869650559e-30 * x223 x225 = x167 * x222 x226 = 4.0423883073261091453e-30 * x25 x227 = x226 * x91 * x92 x228 = x7 * x95 x229 = x170 * x221 x230 = x129 * x229 x231 = 8.0847766146522182906e-30 * x230 x232 = x132 * x89 x233 = 1.2704648965882057314e-29 * x25 x234 = x10 * x7 x235 = x230 * x234 x236 = x233 * x235 x237 = x137 * x138 x238 = 1.5880811207352571642e-29 * x237 x239 = x25 * x89 x240 = x235 * x239 x241 = x138 * x143 x242 = 1.5880811207352571642e-29 * x241 x243 = x149 * x24 x244 = x239 * x243 x245 = x153 * x226 x246 = x156 * x214 * x77 x247 = x20 * x200 x248 = x167 * x247 x249 = x165 * x186 x250 = 4.4421849531056144454e-31 * x249 x251 = x248 * x77 x252 = x170 * x20 x253 = x252 * x35 x254 = x23 * x87 x255 = x254 * x88 x256 = x14 * x92 x257 = x205 * x31 x258 = x15 * x31 * x58 x259 = x33 * x69 x260 = x103 * x41 x261 = x201 * x69 x262 = x261 * x73 x263 = x261 * x27 x264 = x25 * x263 x265 = x133 * x147 x266 = x233 * x263 x267 = x133 * x264 x268 = x132 * x133 x269 = x69 * x95 x270 = x20 * x52 x271 = 7.1074959249689831126e-31 * x270 x272 = 7.1074959249689831126e-31 * x96 x273 = x163 * x186 x274 = 3.5537479624844915563e-30 * x270 x275 = x17 * x184 x276 = x167 * x270 x277 = x63 * x64 x278 = 3.2339106458608873162e-29 * x105 * x276 x279 = 6.4678212917217746324e-29 * x186 x280 = x105 * x52 x281 = x279 * x280 x282 = 1.0163719172705645851e-28 * x76 x283 = x186 * x280 x284 = x155 * x283 x285 = 1.2704648965882057314e-28 * x81 x286 = x285 * x86 x287 = 1.0163719172705645851e-28 * x90 x288 = 1.2438117868695720447e-29 * x84 x289 = x215 * x288 x290 = x101 * x167 * x64 x291 = x20 * x39 x292 = 3.5537479624844915563e-30 * x291 x293 = x252 * x34 x294 = x293 * x5 x295 = 1.2438117868695720447e-29 * x120 x296 = x25 * x294 x297 = 3.2339106458608873162e-29 * x296 x298 = x12 * x8 x299 = x137 * x298 x300 = x129 * x96 x301 = x239 * x6 x302 = x300 * x301 x303 = x299 * x302 x304 = x134 * x296 x305 = 1.0163719172705645851e-28 * x304 x306 = x137 * x6 x307 = x12 * x306 x308 = 1.2704648965882057314e-28 * x304 x309 = x143 * x298 x310 = x22 * x298 x311 = x144 * x310 x312 = x26 * x311 x313 = 6.4678212917217746324e-29 * x152 x314 = x152 * x9 x315 = x142 * x23 x316 = x26 * x310 * x315 x317 = x314 * x316 x318 = 3.5537479624844915563e-30 * x96 x319 = x273 * x318 x320 = x252 * x33 x321 = x119 * x320 x322 = x25 * x5 x323 = x167 * x20 x324 = x133 * x323 x325 = x324 * x6 x326 = x320 * x5 x327 = x186 * x258 x328 = x25 * x327 x329 = 3.2339106458608873162e-29 * x328 x330 = x258 * x279 x331 = x152 * x25 x332 = x149 * x331 x333 = x134 * x328 x334 = 1.0163719172705645851e-28 * x333 x335 = 1.2704648965882057314e-28 * x333 x336 = x300 * x95 x337 = x18 * x291 x338 = 1.7768739812422457781e-29 * x337 x339 = 1.7768739812422457781e-29 * x186 x340 = 1.6169553229304436581e-28 * x68 x341 = x106 * x167 * x291 x342 = 3.2339106458608873162e-28 * x186 x343 = x106 * x39 x344 = x342 * x343 x345 = 5.0818595863528229255e-28 * x76 x346 = x186 * x343 x347 = x155 * x346 x348 = 6.3523244829410286569e-28 * x81 x349 = x348 * x86 x350 = 5.0818595863528229255e-28 * x90 x351 = 1.6169553229304436581e-28 * x98 x352 = 6.2190589343478602235e-29 * x84 x353 = x215 * x352 x354 = x186 * x65 x355 = 6.2190589343478602235e-29 * x122 x356 = x25 * x354 x357 = 1.6169553229304436581e-28 * x356 x358 = x342 * x65 x359 = x134 * x356 x360 = 5.0818595863528229255e-28 * x359 x361 = 6.3523244829410286569e-28 * x359 x362 = x157 * x352 x363 = x252 * x73 x364 = x363 * x77 x365 = 3.2339106458608873162e-28 * x363 x366 = x186 * x257 x367 = x25 * x366 x368 = 1.6169553229304436581e-28 * x367 x369 = x257 * x342 x370 = x134 * x367 x371 = 5.0818595863528229255e-28 * x370 x372 = 6.3523244829410286569e-28 * x370 x373 = x252 * x92 x374 = 2.1766706270217510782e-28 * x20 * x84 x375 = x13 * x21 x376 = x171 * x375 x377 = x171 * x29 x378 = x14 * x21 x379 = x20 * x376 x380 = x129 * x97 x381 = x24 * x380 x382 = x28 * x315 x383 = x146 * x25 x384 = x382 * x383 x385 = 1.1318687260513105607e-27 * x252 x386 = x11 * x375 x387 = x385 * x386 x388 = x25 * x252 x389 = 1.7786508552234880239e-27 * x388 x390 = x132 * x8 x391 = x386 * x390 x392 = x119 * x27 x393 = x10 * x392 x394 = 2.2233135690293600299e-27 * x20 x395 = x13 * x394 x396 = 5.6593436302565528034e-28 * x25 x397 = x396 * x69 x398 = x373 * x8 x399 = x22 * x398 x400 = x141 * x30 x401 = x134 * x400 x402 = x401 * x6 x403 = x145 * x385 x404 = x22 * x93 x405 = 2.2233135690293600299e-27 * x388 x406 = x134 * x6 x407 = x23 * x28 x408 = x30 * x407 x409 = 1.7786508552234880239e-27 * x252 x410 = x383 * x409 x411 = x314 * x6 x412 = x252 * x383 x413 = x141 * x29 x414 = x145 * x413 x415 = x406 * x413 x416 = x301 * x393 x417 = x146 * x331 x418 = x407 * x417 x419 = 5.6593436302565528034e-28 * x388 x420 = x380 * x419 x421 = x11 * x378 x422 = x153 * x381 x423 = x380 * x421 x424 = x25 * x385 x425 = x389 * x423 x426 = x405 * x423 x427 = x300 * x390 x428 = x306 * x8 x429 = 1.4714293438667037289e-27 * x25 x430 = x380 * x88 x431 = x306 * x398 x432 = x429 * x69 x433 = x388 * x422 x434 = x26 * x399 x435 = x331 * x382 x436 = 5.7806152794763360777e-27 * x388 x437 = x436 * x77 x438 = 5.7806152794763360777e-27 * x25 x439 = x11 * x81 x440 = x380 * x439 x441 = 4.6244922235810688622e-27 * x25 x442 = x142 * x28 x443 = x314 * x442 x444 = 2.9428586877334074578e-27 * x252 x445 = x323 * x69 x446 = x441 * x445 x447 = x324 * x438 * x69 x448 = x314 * x412 x449 = x252 * x393 x450 = x239 * x24 x451 = x388 * x430 x452 = 4.6244922235810688622e-27 * x451 x453 = x430 * x436 x454 = x388 * x427 x455 = 5.8857173754668149155e-27 * x252 x456 = x300 * x455 x457 = x146 * x450 x458 = 9.2489844471621377244e-27 * x252 x459 = 1.1561230558952672155e-26 * x252 x460 = x459 * x77 x461 = x442 * x9 x462 = x134 * x458 x463 = x134 * x459 x464 = x388 * x443 x465 = x388 * x440 x466 = x26 * x435 x467 = x26 * x464 x468 = x239 * x449 x469 = x134 * x388 * x77 x470 = 1.8167648021211341959e-26 * x469 x471 = 1.8167648021211341959e-26 * x465 x472 = 1.8167648021211341959e-26 * x468 x473 = 2.2709560026514177448e-26 * x469 x474 = 2.2709560026514177448e-26 * x465 return jnp.asarray( [ x3 * x38, -x38 * x40, x43 * x45, -x45 * x46, -x44 * x49, x51 * x54, -x56 * x60, x62 * x67, -x68 * x71, x72 * x75, -x76 * x79, x80 * x83, -x83 * x86, x79 * x90, -x75 * x94, x71 * x98, -x100 * x21 * x82, x102 * x60 * x61, -x103 * x107 * x54, x112 * x19 * x49, x113 * x37, -x115 * x116, x114 * x117, -x118 * x123, x125 * x127, -x128 * x131, x132 * x136, -x137 * x140, x140 * x143, -x136 * x147, x124 * x151, -x125 * x154, x118 * x158, -x115 * x161, x128 * x164, -x118 * x166, -x112 * x46 * x47, x169 * x53, -x102 * x167 * x59, x100 * x172, -x173 * x174, x175 * x176, -x177 * x90, x178 * x179, -x178 * x181, x177 * x76, -x175 * x182, x174 * x183, -x167 * x67, x184 * x59, -x185 * x53, x113 * x3 * x44, x166 * x187, -x164 * x188, x161 * x189, -x158 * x187, x154 * x191, -x151 * x190, x147 * x193, -x143 * x194, x137 * x194, -x132 * x193, x131 * x188, -x127 * x191, x123 * x187, -x117 * x186, x116 * x189, -3.8427205476692166482e-35 * x195 * x37, x195 * x196 * x39 * x44, -x111 * x196 * x198, x110 * x170 * x196, -1.1105462382764036113e-32 * x199 * x200 * x201, -x202 * x203 * x50, x204 * x205 * x55, -1.5547647335869650559e-30 * x206 * x66, x183 * x207, -x182 * x209, x211 * x76, -x180 * x208 * x212, x210 * x213, -x211 * x90, x176 * x209, -x173 * x207, x210 * x216, -x204 * x217 * x32, x208 * x218 * x32 * x96, x105 * x203 * x219, -x106 * x219 * x220, x121 * x222 * x224, -x225 * x227, x228 * x231, -x232 * x236, x238 * x240, -x240 * x242, x147 * x236 * x89, -x231 * x234 * x244, x235 * x24 * x245 * x89, -x225 * x246, 4.4421849531056144454e-31 * x199 * x229, -8.8843699062112288907e-32 * x163 * x229 * x7, -x218 * x248 * x7, x250 * x65, -x216 * x251, 4.0423883073261091453e-30 * x10 * x228 * x248, -8.0847766146522182906e-30 * x248 * x94, 1.2704648965882057314e-29 * x251 * x90, -x213 * x251, x212 * x223 * x247 * x77, -1.2704648965882057314e-29 * x162 * x253 * x77, 8.0847766146522182906e-30 * x109 * x253, -4.0423883073261091453e-30 * x251 * x255, x224 * x247 * x256, -x250 * x257, 8.8843699062112288907e-32 * x249 * x258, 8.8843699062112288907e-32 * x259 * x260 * x76, -4.4421849531056144454e-31 * x13 * x41 * x48 * x66, x246 * x262, -x148 * x245 * x263, 8.0847766146522182906e-30 * x150 * x264, -x265 * x266, x242 * x267, -x238 * x267, x266 * x268, -8.0847766146522182906e-30 * x260 * x269 * x27, x227 * x262, -1.5547647335869650559e-30 * x121 * x262 * x80, x17 * x220 * x41 * x51, -x203 * x41 * x56 * x64, x15 * x184 * x271, -x104 * x105 * x168 * x271, x162 * x252 * x272, -x258 * x272 * x273, -x274 * x275, 1.2438117868695720447e-29 * x276 * x277, -x278 * x68, x182 * x281, -x282 * x284, x180 * x283 * x285, -x284 * x286, x284 * x287, -x176 * x281, x278 * x98, -x284 * x289, x274 * x290, x169 * x292, -x13 * x294 * x295, x126 * x297, -6.4678212917217746324e-29 * x294 * x303, x305 * x307, -x299 * x308, x308 * x309, -x305 * x312, x296 * x311 * x313, -x297 * x317, x119 * x156 * x288 * x293, -x104 * x252 * x318, -x319 * x65, x289 * x321, -3.2339106458608873162e-29 * x259 * x299 * x322 * x325, 6.4678212917217746324e-29 * x12 * x126 * x326, -x287 * x321, x286 * x321, -x120 * x285 * x320, x282 * x321, -x28 * x313 * x316 * x320 * x322, 3.2339106458608873162e-29 * x255 * x321, -x14 * x295 * x326, x257 * x319, 3.5537479624844915563e-30 * x160 * x186 * x58, -x157 * x288 * x327, x154 * x329, -x330 * x332, x147 * x334, -x241 * x335, x237 * x335, -x132 * x334, x330 * x336, -x127 * x329, 1.2438117868695720447e-29 * x122 * x327, -x185 * x292, x275 * x338, -x290 * x338, x217 * x339, -x159 * x205 * x339, -6.2190589343478602235e-29 * x167 * x277 * x337, x340 * x341, -x182 * x344, x345 * x347, -x180 * x346 * x348, x347 * x349, -x347 * x350, x176 * x344, -x341 * x351, x347 * x353, x354 * x355, -x127 * x357, x336 * x358, -x132 * x360, x237 * x361, -x241 * x361, x147 * x360, -x332 * x358, x154 * x357, -x354 * x362, -x353 * x364, x252 * x351, -x365 * x94, x350 * x364, -x349 * x364, x348 * x364 * x80, -x345 * x364, x365 * x72, -x252 * x340, 6.2190589343478602235e-29 * x186 * x66, x362 * x366, -x154 * x368, x332 * x369, -x147 * x371, x241 * x372, -x237 * x372, x132 * x371, -x336 * x369, x127 * x368, -x355 * x366, 2.1766706270217510782e-28 * x120 * x373, -x30 * x374 * x376, x172 * x374, -x374 * x377 * x378, -5.6593436302565528034e-28 * x254 * x379, x381 * x384 * x387, -x389 * x391 * x393, x181 * x395, -x179 * x395, 1.7786508552234880239e-27 * x11 * x379 * x87, -x380 * x387 * x390, x323 * x391 * x397 * x97, x396 * x399 * x402, -x302 * x400 * x403, x389 * x402 * x404, -x145 * x401 * x405, x138 * x402 * x405, -x406 * x408 * x410 * x9, x25 * x403 * x408 * x411, -5.6593436302565528034e-28 * x23 * x30 * x411 * x412, -x325 * x397 * x414, x403 * x415, -x28 * x29 * x410 * x411, x377 * x394 * x81 * x84, -x310 * x405 * x415 * x77, x409 * x414 * x416, -x29 * x385 * x418 * x6, x141 * x145 * x156 * x420 * x6, x419 * x421 * x422, -x243 * x423 * x424, x147 * x425, -x241 * x426, x237 * x426, -x132 * x425, x421 * x424 * x427, -x11 * x21 * x256 * x420 * x428, x429 * x430 * x431, -x324 * x428 * x432 * x92, x148 * x153 * x323 * x432, -1.4714293438667037289e-27 * x433 * x88, -2.9428586877334074578e-27 * x434 * x435, 4.6244922235810688622e-27 * x137 * x398 * x416, -x126 * x437, x431 * x438 * x440, -x434 * x441 * x443, x127 * x444, 2.9428586877334074578e-27 * x168 * x20 * x269, -x268 * x446, x237 * x447, -x241 * x447, x265 * x446, -2.9428586877334074578e-27 * x150 * x25 * x445, -x154 * x444, 4.6244922235810688622e-27 * x142 * x448, -5.7806152794763360777e-27 * x433 * x439, x317 * x437, -4.6244922235810688622e-27 * x153 * x449 * x450, x315 * x417 * x444, 2.9428586877334074578e-27 * x243 * x451, -x147 * x452, x241 * x453, -x237 * x453, x132 * x452, -2.9428586877334074578e-27 * x454 * x88, x382 * x456 * x457, -x232 * x456 * x8, x149 * x152 * x455, -x145 * x435 * x455, -x392 * x458 * x95, x303 * x460, -1.1561230558952672155e-26 * x439 * x454, x300 * x457 * x458 * x461, x132 * x462, -x237 * x463, x241 * x463, -x147 * x462, -9.2489844471621377244e-27 * x145 * x464, 1.1561230558952672155e-26 * x243 * x465, -x311 * x331 * x460, 9.2489844471621377244e-27 * x244 * x449, x384 * x462, -x138 * x459 * x466, x418 * x459 * x85, -x404 * x458 * x466, 1.4534118416969073567e-26 * x232 * x388 * x393, -1.4534118416969073567e-26 * x404 * x467, 1.4534118416969073567e-26 * x134 * x412 * x461, -1.4534118416969073567e-26 * x147 * x468, -x307 * x470, x132 * x471, 1.8167648021211341959e-26 * x28 * x448 * x85, -1.8167648021211341959e-26 * x138 * x467, -x147 * x471, x312 * x470, x241 * x472, -x237 * x472, x299 * x473, -x237 * x474, x241 * x474, -x309 * x473, ] ) case 361: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 3.0 * xi[1] x3 = x2 + 1.0 x4 = 9.0 * xi[1] x5 = x4 + 1.0 x6 = x2 + 2.0 x7 = x4 + 2.0 x8 = x4 + 4.0 x9 = x4 + 8.0 x10 = x4 + 5.0 x11 = x4 + 7.0 x12 = x2 - 1.0 x13 = x4 - 1.0 x14 = x2 - 2.0 x15 = x4 - 2.0 x16 = x4 - 4.0 x17 = x4 - 8.0 x18 = x4 - 5.0 x19 = x4 - 7.0 x20 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x3 * x5 * x6 * x7 * x8 * x9 * xi[1] ) x21 = x1 * x20 x22 = 3.0 * xi[0] x23 = x22 + 1.0 x24 = 9.0 * xi[0] x25 = x24 + 1.0 x26 = x22 + 2.0 x27 = x24 + 2.0 x28 = x24 + 4.0 x29 = x24 + 8.0 x30 = x24 + 5.0 x31 = x24 + 7.0 x32 = x22 - 1.0 x33 = x24 - 1.0 x34 = x22 - 2.0 x35 = x24 - 2.0 x36 = x24 - 4.0 x37 = x24 - 8.0 x38 = x24 - 5.0 x39 = x24 - 7.0 x40 = ( x23 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * xi[0] ) x41 = 1.0501661969785547778e-24 * x40 x42 = x21 * x41 x43 = xi[0] + 1.0 x44 = xi[1] + 1.0 x45 = x20 * x41 * x44 x46 = x21 * x43 x47 = ( x0 * x23 * x25 * x26 * x27 * x28 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x38 * x39 * xi[0] ) x48 = 1.70126923910525874e-22 * x47 x49 = x46 * x48 x50 = x29 * x46 x51 = ( x0 * x23 * x25 * x26 * x27 * x28 * x30 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * xi[0] ) x52 = 1.446078853239469929e-21 * x51 x53 = x50 * x52 x54 = x31 * x50 x55 = ( x0 * x23 * x25 * x27 * x28 * x30 * x32 * x33 * x35 * x36 * x37 * x38 * x39 * xi[0] ) x56 = 2.570806850203502096e-21 * x55 x57 = x54 * x56 x58 = x26 * x54 x59 = ( x0 * x23 * x25 * x27 * x28 * x32 * x33 * x34 * x35 * x36 * x37 * x39 * xi[0] ) x60 = 2.892157706478939858e-20 * x59 x61 = x58 * x60 x62 = x30 * x58 x63 = ( x0 * x23 * x25 * x27 * x32 * x33 * x34 * x35 * x37 * x38 * x39 * xi[0] ) x64 = 8.0980415781410316025e-20 * x63 x65 = x62 * x64 x66 = x28 * x62 x67 = ( x0 * x25 * x27 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * xi[0] ) x68 = 5.8485855842129672685e-20 * x67 x69 = x66 * x68 x70 = x23 * x66 x71 = x0 * x25 * x32 * x33 * x34 * x36 * x37 * x38 * x39 * xi[0] x72 = 3.0078440147380974524e-19 * x71 x73 = x70 * x72 x74 = x0 * x32 * x34 * x35 * x36 * x37 * x38 * x39 * xi[0] x75 = x33 * x74 x76 = 4.135785520264883997e-19 * x27 x77 = x70 * x76 x78 = ( -1139827.4301937679369 * xi[0] ** 18 + 4010503.9210521464445 * xi[0] ** 16 - 5723632.7564645448023 * xi[0] ** 14 + 4288221.5882976921237 * xi[0] ** 12 - 1825541.0625608358578 * xi[0] ** 10 + 447065.31380067163584 * xi[0] ** 8 - 60894.246929607780612 * xi[0] ** 6 + 4228.3941844706632653 * xi[0] ** 4 - 124.72118622448979592 * xi[0] ** 2 + 1.0 ) x79 = x1 * x78 x80 = 1.0247761692089423182e-12 * x20 x81 = x25 * x74 x82 = ( x10 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x3 * x44 * x5 * x6 * x7 * x8 * xi[1] ) x83 = x1 * x40 x84 = x43 * x83 x85 = x82 * x84 x86 = 1.70126923910525874e-22 * x11 x87 = 1.446078853239469929e-21 * x9 x88 = ( x10 * x12 * x13 * x14 * x15 * x16 * x18 * x19 * x3 * x44 * x5 * x7 * x8 * x9 * xi[1] ) x89 = x84 * x88 x90 = x11 * x17 x91 = 2.570806850203502096e-21 * x90 x92 = ( x12 * x13 * x14 * x15 * x16 * x18 * x3 * x44 * x5 * x7 * x8 * x90 * xi[1] ) x93 = x6 * x84 x94 = x92 * x93 x95 = x19 * x9 x96 = 2.892157706478939858e-20 * x95 x97 = ( x12 * x13 * x15 * x16 * x18 * x3 * x44 * x5 * x7 * x95 * xi[1] ) x98 = x10 * x93 x99 = x97 * x98 x100 = x14 * x90 x101 = 8.0980415781410316025e-20 * x100 x102 = x100 * x12 * x13 * x15 * x16 * x44 * x5 * x7 * xi[1] x103 = x8 * x98 x104 = x102 * x103 x105 = x18 * x95 x106 = 5.8485855842129672685e-20 * x105 x107 = x105 * x12 * x13 * x15 * x44 * x5 * xi[1] x108 = x103 * x3 x109 = x107 * x108 x110 = x100 * x16 x111 = 3.0078440147380974524e-19 * x110 x112 = x110 * x13 * x15 * x44 * xi[1] x113 = x105 * x12 x114 = x112 * x113 x115 = x108 * x7 x116 = 4.135785520264883997e-19 * x115 x117 = ( -1139827.4301937679369 * xi[1] ** 18 + 4010503.9210521464445 * xi[1] ** 16 - 5723632.7564645448023 * xi[1] ** 14 + 4288221.5882976921237 * xi[1] ** 12 - 1825541.0625608358578 * xi[1] ** 10 + 447065.31380067163584 * xi[1] ** 8 - 60894.246929607780612 * xi[1] ** 6 + 4228.3941844706632653 * xi[1] ** 4 - 124.72118622448979592 * xi[1] ** 2 + 1.0 ) x118 = x117 * x43 x119 = 1.0247761692089423182e-12 * x40 x120 = x110 * x15 x121 = x113 * x44 * xi[1] x122 = x121 * x5 x123 = x120 * x122 x124 = x122 * x13 x125 = x111 * x124 x126 = x112 * x5 x127 = x106 * x126 x128 = x101 * x7 x129 = x3 * x96 x130 = x8 * x91 x131 = x10 * x87 x132 = x6 * x86 x133 = x29 * x43 x134 = x133 * x20 * x44 x135 = x134 * x31 x136 = x135 * x26 x137 = x136 * x30 x138 = x137 * x28 x139 = x138 * x23 x140 = x139 * x72 x141 = x139 * x76 x142 = x37 * x43 x143 = x0 * x83 x144 = x143 * x88 x145 = x143 * x6 x146 = x145 * x92 x147 = x10 * x145 x148 = x147 * x97 x149 = x147 * x8 x150 = x102 * x149 x151 = x149 * x3 x152 = x107 * x151 x153 = x151 * x7 x154 = 4.135785520264883997e-19 * x153 x155 = x143 * x82 x156 = x1 * x47 x157 = x142 * x156 x158 = x11 * x82 x159 = 2.7560561673505191588e-20 * x158 x160 = x133 * x156 x161 = x160 * x88 x162 = x11 * x6 x163 = 2.7560561673505191588e-20 * x162 x164 = x157 * x88 x165 = x1 * x133 x166 = x158 * x165 x167 = 2.342647742247941285e-19 * x51 x168 = x166 * x167 x169 = x166 * x31 x170 = 4.1647070973296733956e-19 * x55 x171 = x169 * x170 x172 = x169 * x26 x173 = 4.68529548449588257e-18 * x59 x174 = x172 * x173 x175 = x172 * x30 x176 = 1.3118827356588471196e-17 * x63 x177 = x175 * x176 x178 = x175 * x28 x179 = 9.4747086464250069749e-18 * x67 x180 = x178 * x179 x181 = x178 * x23 x182 = 4.8727073038757178728e-17 * x71 x183 = x181 * x182 x184 = 6.6999725428291120751e-17 * x27 x185 = x181 * x184 x186 = x79 * x82 x187 = 1.6601373941184865555e-10 * x11 x188 = 2.342647742247941285e-19 * x9 x189 = x160 * x188 x190 = 4.1647070973296733956e-19 * x90 x191 = x160 * x6 x192 = 4.68529548449588257e-18 * x95 x193 = x191 * x192 x194 = x10 * x191 x195 = x194 * x97 x196 = 1.3118827356588471196e-17 * x100 x197 = x194 * x8 x198 = 9.4747086464250069749e-18 * x105 x199 = x197 * x198 x200 = x197 * x3 x201 = x107 * x200 x202 = 4.8727073038757178728e-17 * x110 x203 = x200 * x7 x204 = 6.6999725428291120751e-17 * x203 x205 = x118 * x29 x206 = 1.6601373941184865555e-10 * x47 x207 = x124 * x202 x208 = x3 * x7 x209 = x126 * x208 x210 = x10 * x8 x211 = x210 * x3 x212 = x102 * x211 x213 = x10 * x6 x214 = x213 * x92 x215 = x165 * x31 x216 = x215 * x88 x217 = x162 * x216 x218 = x217 * x26 x219 = x218 * x30 x220 = x219 * x28 x221 = x220 * x23 x222 = x182 * x221 x223 = x184 * x221 x224 = x6 * x79 x225 = x165 * x39 x226 = x225 * x88 x227 = x157 * x188 x228 = x157 * x6 x229 = x210 * x228 x230 = x192 * x228 x231 = x208 * x229 x232 = x198 * x229 x233 = 6.6999725428291120751e-17 * x231 x234 = x107 * x211 x235 = x213 * x97 x236 = x225 * x51 x237 = x82 * x9 x238 = 1.9912505809107500923e-18 * x237 x239 = x215 * x51 x240 = x214 * x9 x241 = 1.9912505809107500923e-18 * x240 x242 = x34 * x55 x243 = x215 * x237 x244 = 3.5400010327302223862e-18 * x243 x245 = x243 * x26 x246 = 3.9825011618215001845e-17 * x59 x247 = x245 * x246 x248 = x245 * x30 x249 = 1.1151003253100200517e-16 * x63 x250 = x248 * x249 x251 = x248 * x28 x252 = 8.0535023494612559287e-17 * x67 x253 = x251 * x252 x254 = x23 * x251 x255 = 4.1418012082943601919e-16 * x71 x256 = x254 * x255 x257 = 5.6949766614047452638e-16 * x27 x258 = x254 * x257 x259 = 1.4111167850007135721e-9 * x9 x260 = x26 * x55 x261 = 3.5400010327302223862e-18 * x90 x262 = x261 * x51 x263 = x239 * x6 x264 = 3.9825011618215001845e-17 * x95 x265 = x263 * x264 x266 = 1.1151003253100200517e-16 * x100 x267 = x235 * x266 x268 = x210 * x263 x269 = 8.0535023494612559287e-17 * x105 x270 = x268 * x269 x271 = 4.1418012082943601919e-16 * x110 x272 = x234 * x271 x273 = x208 * x268 x274 = 5.6949766614047452638e-16 * x273 x275 = x205 * x31 x276 = 1.4111167850007135721e-9 * x51 x277 = x124 * x271 x278 = x107 * x266 x279 = x261 * x97 x280 = x215 * x240 x281 = 3.5400010327302223862e-18 * x280 x282 = x26 * x30 x283 = x280 * x282 x284 = x28 * x283 x285 = x23 * x284 x286 = x255 * x285 x287 = x257 * x285 x288 = x10 * x224 x289 = x26 * x38 x290 = x236 * x6 x291 = x210 * x290 x292 = x264 * x290 x293 = x208 * x291 x294 = x269 * x291 x295 = 5.6949766614047452638e-16 * x293 x296 = 6.2933351692981731311e-18 * x90 x297 = x216 * x296 x298 = x215 * x260 x299 = x298 * x6 x300 = x210 * x299 x301 = x296 * x97 x302 = x215 * x242 x303 = x210 * x6 x304 = x302 * x303 x305 = x289 * x59 x306 = x216 * x90 x307 = 7.0800020654604447725e-17 * x306 x308 = x282 * x306 x309 = 1.9824005783289245363e-16 * x63 x310 = x308 * x309 x311 = x28 * x308 x312 = 1.4317337510153343873e-16 * x67 x313 = x311 * x312 x314 = x23 * x311 x315 = 7.3632021480788625634e-16 * x71 x316 = x314 * x315 x317 = 1.0124402953608436025e-15 * x27 x318 = x314 * x317 x319 = 2.5086520622234907949e-9 * x90 x320 = x282 * x59 x321 = 7.0800020654604447725e-17 * x95 x322 = x299 * x321 x323 = 1.9824005783289245363e-16 * x100 x324 = x235 * x323 x325 = 1.4317337510153343873e-16 * x105 x326 = x300 * x325 x327 = 7.3632021480788625634e-16 * x110 x328 = x234 * x327 x329 = x208 * x300 x330 = 1.0124402953608436025e-15 * x329 x331 = x26 * x275 x332 = 2.5086520622234907949e-9 * x55 x333 = x124 * x327 x334 = x107 * x323 x335 = x215 * x320 x336 = x303 * x335 x337 = x90 * x97 x338 = 7.0800020654604447725e-17 * x337 x339 = x215 * x303 x340 = x28 * x282 x341 = x339 * x340 x342 = x337 * x341 x343 = x23 * x342 x344 = x315 * x343 x345 = x317 * x343 x346 = x288 * x8 x347 = x282 * x36 x348 = x339 * x347 x349 = x305 * x339 x350 = x302 * x6 x351 = x321 * x350 x352 = x208 * x304 x353 = x304 * x325 x354 = 1.0124402953608436025e-15 * x352 x355 = x215 * x305 x356 = 7.965002323643000369e-16 * x6 * x95 x357 = x356 * x92 x358 = x212 * x356 x359 = x215 * x63 x360 = x347 * x359 x361 = x6 * x95 x362 = x361 * x92 x363 = 2.2302006506200401033e-15 * x362 x364 = x32 * x67 x365 = x215 * x340 x366 = x362 * x365 x367 = 1.6107004698922511857e-15 * x366 x368 = x23 * x366 x369 = 8.2836024165887203838e-15 * x71 x370 = x368 * x369 x371 = 1.1389953322809490528e-14 * x27 x372 = x368 * x371 x373 = 2.8222335700014271443e-8 * x95 x374 = x23 * x67 x375 = x340 * x359 x376 = 2.2302006506200401033e-15 * x100 x377 = x235 * x376 x378 = 1.6107004698922511857e-15 * x105 x379 = x336 * x378 x380 = 8.2836024165887203838e-15 * x110 x381 = x234 * x6 x382 = x380 * x381 x383 = x208 * x336 x384 = 1.1389953322809490528e-14 * x383 x385 = x30 * x331 x386 = 2.8222335700014271443e-8 * x59 x387 = x124 * x380 x388 = x107 * x376 x389 = x212 * x361 x390 = 2.2302006506200401033e-15 * x389 x391 = x365 * x389 x392 = 1.6107004698922511857e-15 * x391 x393 = x23 * x391 x394 = x369 * x393 x395 = x371 * x393 x396 = x3 * x346 x397 = x208 * x349 x398 = x349 * x378 x399 = 1.1389953322809490528e-14 * x397 x400 = 6.2445618217361122893e-15 * x100 x401 = x235 * x400 x402 = x341 * x63 x403 = x208 * x402 x404 = x107 * x400 x405 = x348 * x63 x406 = x208 * x405 x407 = x364 * x365 x408 = 4.5099613156983033201e-15 * x100 x409 = x235 * x408 x410 = x100 * x23 x411 = x235 * x365 * x410 x412 = x35 * x71 x413 = 2.3194086766448417075e-14 * x412 x414 = x27 * x411 x415 = 3.1891869303866573478e-14 * x414 x416 = 7.902253996003996004e-8 * x100 x417 = 2.3194086766448417075e-14 * x71 x418 = x365 * x374 x419 = 4.5099613156983033201e-15 * x105 x420 = x402 * x419 x421 = 2.3194086766448417075e-14 * x110 x422 = x381 * x421 x423 = 3.1891869303866573478e-14 * x403 x424 = x28 * x385 x425 = 7.902253996003996004e-8 * x63 x426 = x124 * x421 x427 = x341 * x374 x428 = x107 * x208 x429 = x408 * x428 x430 = x27 * x341 x431 = x410 * x428 x432 = x430 * x431 x433 = 3.1891869303866573478e-14 * x432 x434 = x396 * x7 x435 = x341 * x364 x436 = x405 * x419 x437 = 3.1891869303866573478e-14 * x406 x438 = 3.2571942835598857312e-15 * x105 x439 = x102 * x438 x440 = x209 * x438 x441 = x341 * x412 x442 = x105 * x23 x443 = x102 * x442 x444 = 1.6751284886879412332e-14 * x443 x445 = 2.3033016719459191956e-14 * x430 x446 = x443 * x445 x447 = 5.7071834415584415584e-8 * x105 x448 = x430 * x71 x449 = 1.6751284886879412332e-14 * x110 x450 = x381 * x449 x451 = x208 * x427 x452 = 2.3033016719459191956e-14 * x451 x453 = x23 * x424 x454 = 5.7071834415584415584e-8 * x67 x455 = x124 * x449 x456 = x209 * x442 x457 = 1.6751284886879412332e-14 * x456 x458 = x445 * x456 x459 = x434 * x5 x460 = x208 * x435 x461 = 2.3033016719459191956e-14 * x460 x462 = x110 * x23 x463 = 8.6149465132522691991e-14 * x462 x464 = x365 * x381 x465 = x463 * x464 x466 = x208 * x448 x467 = x124 * x463 x468 = x208 * x441 x469 = 1.1845551455721870149e-13 * x462 x470 = x469 * x75 x471 = x27 * x464 x472 = 2.9351229128014842301e-7 * x110 x473 = x469 * x81 x474 = 1.1845551455721870149e-13 * x23 x475 = x466 * x474 x476 = x27 * x453 x477 = 2.9351229128014842301e-7 * x71 x478 = x208 * x430 x479 = x124 * x478 x480 = x121 * x459 x481 = x468 * x474 x482 = 1.6287633251617571455e-13 * x23 * x478 x483 = x114 * x482 x484 = x123 * x482 x485 = 4.0357940051020408163e-7 * x476 return jnp.asarray( [ x0 * x42, x42 * x43, x43 * x45, x0 * x45, -x37 * x49, x39 * x53, -x34 * x57, x38 * x61, -x36 * x65, x32 * x69, -x35 * x73, x75 * x77, x79 * x80, x77 * x81, -x27 * x73, x23 * x69, -x28 * x65, x30 * x61, -x26 * x57, x31 * x53, -x29 * x49, -x85 * x86, x85 * x87, -x89 * x91, x94 * x96, -x101 * x99, x104 * x106, -x109 * x111, x114 * x116, x118 * x119, x116 * x123, -x115 * x125, x115 * x127, -x109 * x128, x104 * x129, -x130 * x99, x131 * x94, -x132 * x89, -x134 * x48, x135 * x52, -x136 * x56, x137 * x60, -x138 * x64, x139 * x68, -x140 * x27, x141 * x81, x44 * x78 * x80, x141 * x75, -x140 * x35, x138 * x32 * x68, -x137 * x36 * x64, x136 * x38 * x60, -x135 * x34 * x56, x134 * x39 * x52, -x142 * x20 * x44 * x48, -x132 * x144, x131 * x146, -x130 * x148, x129 * x150, -x128 * x152, x127 * x153, -x125 * x153, x123 * x154, x0 * x117 * x119, x114 * x154, -x111 * x152, x106 * x150, -x101 * x148, x146 * x96, -x144 * x91, x155 * x87, -x155 * x86, x157 * x159, x159 * x160, x161 * x163, x163 * x164, -x168 * x39, x171 * x34, -x174 * x38, x177 * x36, -x180 * x32, x183 * x35, -x185 * x75, -x186 * x187, -x185 * x81, x183 * x27, -x180 * x23, x177 * x28, -x174 * x30, x171 * x26, -x168 * x31, -x189 * x82, x161 * x190, -x193 * x92, x195 * x196, -x102 * x199, x201 * x202, -x114 * x204, -x205 * x206, -x123 * x204, x203 * x207, -x199 * x209, x196 * x201 * x7, -x193 * x212, x190 * x195 * x8, -x189 * x214, -x167 * x217, x170 * x218, -x173 * x219, x176 * x220, -x179 * x221, x222 * x27, -x223 * x81, -x187 * x224 * x88, -x223 * x75, x222 * x35, -x179 * x220 * x32, x176 * x219 * x36, -x173 * x218 * x38, x170 * x217 * x34, -x162 * x167 * x226, -x214 * x227, x190 * x229 * x97, -x212 * x230, x107 * x196 * x231, -x209 * x232, x207 * x231, -x123 * x233, -x118 * x206 * x37, -x114 * x233, x202 * x228 * x234, -x102 * x232, x157 * x196 * x235, -x230 * x92, x164 * x190, -x227 * x82, x236 * x238, x238 * x239, x239 * x241, x236 * x241, -x242 * x244, x247 * x38, -x250 * x36, x253 * x32, -x256 * x35, x258 * x75, x186 * x259, x258 * x81, -x256 * x27, x23 * x253, -x250 * x28, x247 * x30, -x244 * x260, -x216 * x262, x265 * x92, -x239 * x267, x102 * x270, -x263 * x272, x114 * x274, x275 * x276, x123 * x274, -x273 * x277, x209 * x270, -x273 * x278, x212 * x265, -x268 * x279, -x260 * x281, x246 * x283, -x249 * x284, x252 * x285, -x27 * x286, x287 * x81, x259 * x288 * x92, x287 * x75, -x286 * x35, x252 * x284 * x32, -x249 * x283 * x36, x246 * x280 * x289, -x242 * x281, -x279 * x291, x212 * x292, -x278 * x293, x209 * x294, -x277 * x293, x123 * x295, x205 * x276 * x39, x114 * x295, -x272 * x290, x102 * x294, -x236 * x267, x292 * x92, -x226 * x262, x242 * x297, x260 * x297, x300 * x301, x301 * x304, -x305 * x307, x310 * x36, -x313 * x32, x316 * x35, -x318 * x75, -x319 * x79 * x88, -x318 * x81, x27 * x316, -x23 * x313, x28 * x310, -x307 * x320, -x322 * x92, x298 * x324, -x102 * x326, x299 * x328, -x114 * x330, -x331 * x332, -x123 * x330, x329 * x333, -x209 * x326, x329 * x334, -x212 * x322, -x336 * x338, x309 * x342, -x312 * x343, x27 * x344, -x345 * x81, -x319 * x346 * x97, -x345 * x75, x344 * x35, -x312 * x32 * x342, x309 * x337 * x348, -x338 * x349, -x212 * x351, x334 * x352, -x209 * x353, x333 * x352, -x123 * x354, -x275 * x332 * x34, -x114 * x354, x328 * x350, -x102 * x353, x302 * x324, -x351 * x92, x355 * x357, x335 * x357, x335 * x358, x355 * x358, -x360 * x363, x364 * x367, -x35 * x370, x372 * x75, x224 * x373 * x92, x372 * x81, -x27 * x370, x367 * x374, -x363 * x375, -x335 * x377, x102 * x379, -x335 * x382, x114 * x384, x385 * x386, x123 * x384, -x383 * x387, x209 * x379, -x383 * x388, -x375 * x390, x374 * x392, -x27 * x394, x395 * x81, x102 * x373 * x396, x395 * x75, -x35 * x394, x364 * x392, -x360 * x390, -x388 * x397, x209 * x398, -x387 * x397, x123 * x399, x331 * x38 * x386, x114 * x399, -x355 * x382, x102 * x398, -x355 * x377, x360 * x401, x375 * x401, x403 * x404, x404 * x406, -x407 * x409, x411 * x413, -x415 * x75, -x288 * x416 * x97, -x415 * x81, x414 * x417, -x409 * x418, -x102 * x420, x375 * x422, -x114 * x423, -x424 * x425, -x123 * x423, x403 * x426, -x209 * x420, -x427 * x429, x417 * x432, -x433 * x81, -x107 * x416 * x434, -x433 * x75, x341 * x413 * x431, -x429 * x435, -x209 * x436, x406 * x426, -x123 * x437, -x36 * x385 * x425, -x114 * x437, x360 * x422, -x102 * x436, x435 * x439, x427 * x439, x427 * x440, x435 * x440, -x441 * x444, x446 * x75, x102 * x346 * x447, x446 * x81, -x444 * x448, -x418 * x450, x114 * x452, x453 * x454, x123 * x452, -x451 * x455, -x448 * x457, x458 * x81, x112 * x447 * x459, x458 * x75, -x441 * x457, -x455 * x460, x123 * x461, x32 * x424 * x454, x114 * x461, -x407 * x450, x412 * x465, x27 * x465 * x71, x466 * x467, x467 * x468, -x470 * x471, -x107 * x396 * x472, -x471 * x473, -x114 * x475, -x476 * x477, -x123 * x475, -x473 * x479, -x13 * x472 * x480, -x470 * x479, -x123 * x481, -x35 * x453 * x477, -x114 * x481, x483 * x75, x483 * x81, x484 * x81, x484 * x75, 4.0357940051020408163e-7 * x114 * x434, x485 * x81, 4.0357940051020408163e-7 * x120 * x480, x485 * x75, x117 * x78, ] ) case 400: def shape_functions(xi): x0 = 19.0 * xi[1] x1 = x0 + 17.0 x2 = xi[0] - 1.0 x3 = x1 * x2 x4 = 19.0 * xi[0] x5 = x4 + 1.0 x6 = x0 + 1.0 x7 = x4 + 3.0 x8 = x0 + 3.0 x9 = x4 + 5.0 x10 = x0 + 5.0 x11 = x4 + 7.0 x12 = x0 + 7.0 x13 = x4 + 9.0 x14 = x0 + 9.0 x15 = x4 + 11.0 x16 = x0 + 11.0 x17 = x4 + 13.0 x18 = x0 + 13.0 x19 = x4 + 15.0 x20 = x0 + 15.0 x21 = x4 + 17.0 x22 = xi[1] - 1.0 x23 = x4 - 1.0 x24 = x0 - 1.0 x25 = x4 - 3.0 x26 = x0 - 3.0 x27 = x4 - 5.0 x28 = x0 - 5.0 x29 = x4 - 7.0 x30 = x0 - 7.0 x31 = x4 - 9.0 x32 = x0 - 9.0 x33 = x4 - 11.0 x34 = x0 - 11.0 x35 = x4 - 13.0 x36 = x0 - 13.0 x37 = x4 - 15.0 x38 = x0 - 15.0 x39 = x4 - 17.0 x40 = x0 - 17.0 x41 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x42 = 8.8751995036557687094e-44 * x41 x43 = xi[0] + 1.0 x44 = x1 * x43 x45 = xi[1] + 1.0 x46 = x21 * x45 x47 = x44 * x46 x48 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x49 = 8.8751995036557687094e-44 * x48 x50 = x3 * x46 x51 = 3.2039470208197325041e-41 * x43 x52 = x22 * x3 x53 = x51 * x52 x54 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x20 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x55 = x52 * x54 x56 = x18 * x43 x57 = 2.8835523187377592537e-40 * x56 x58 = x21 * x57 x59 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x60 = x52 * x59 x61 = 1.6340129806180635771e-39 * x19 x62 = x20 * x56 x63 = x61 * x62 x64 = x21 * x63 x65 = x36 * x52 x66 = x21 * x65 x67 = ( x10 * x11 * x12 * x13 * x14 * x16 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x35 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x68 = x17 * x19 x69 = x62 * x68 x70 = x67 * x69 x71 = 6.5360519224722543084e-39 * x70 x72 = ( x10 * x11 * x12 * x14 * x15 * x16 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x37 * x38 * x39 * x40 * x5 * x6 * x7 * x8 * x9 ) x73 = x35 * x69 x74 = x66 * x73 x75 = 1.9608155767416762925e-38 * x74 x76 = ( x10 * x12 * x13 * x14 * x15 * x16 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x37 * x38 * x5 * x6 * x7 * x8 * x9 ) x77 = x39 * x40 x78 = x74 * x77 x79 = 4.5752363457305780158e-38 * x78 x80 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x5 * x6 * x7 * x8 ) x81 = x37 * x38 x82 = x78 * x81 x83 = 8.4968674992139306009e-38 * x82 x84 = ( x10 * x11 * x12 * x13 * x14 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x33 * x34 * x5 * x6 * x8 * x9 ) x85 = x15 * x16 x86 = x82 * x85 x87 = 1.2745301248820895901e-37 * x86 x88 = ( x10 * x11 * x12 * x13 * x14 * x23 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x6 * x7 * x8 * x9 ) x89 = x86 * x88 x90 = x33 * x34 x91 = 1.5577590415225539435e-37 * x90 x92 = ( x10 * x11 * x12 * x24 * x25 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x5 * x6 * x7 * x8 * x9 ) x93 = x13 * x14 x94 = x91 * x93 x95 = x92 * x94 x96 = ( x10 * x11 * x12 * x24 * x26 * x27 * x28 * x29 * x30 * x31 * x32 * x5 * x7 * x8 * x9 ) x97 = x23 * x90 x98 = x6 * x93 x99 = x97 * x98 x100 = x96 * x99 x101 = x25 * x85 x102 = ( x10 * x101 * x11 * x12 * x26 * x28 * x29 * x30 * x31 * x32 * x5 * x7 * x8 * x9 ) x103 = x24 * x99 x104 = x102 * x103 x105 = ( x10 * x101 * x103 * x11 * x26 * x27 * x28 * x30 * x31 * x32 * x5 * x8 * x9 ) x106 = x7 * x81 x107 = x106 * x12 x108 = x105 * x107 x109 = ( x101 * x103 * x107 * x11 * x26 * x27 * x28 * x29 * x30 * x32 * x5 * x8 ) x110 = x77 * x9 x111 = x10 * x110 x112 = x109 * x111 x113 = 6.5360519224722543084e-39 * x5 x114 = x113 * x34 x115 = x13 * x72 x116 = x115 * x17 x117 = x110 * x65 x118 = x38 * x80 x119 = x35 * x68 x120 = x119 * x20 x121 = x118 * x120 x122 = x120 * x18 x123 = x36 * x76 x124 = x11 * x123 x125 = x124 * x40 x126 = x122 * x125 x127 = x45 * x51 x128 = x22 * x47 x129 = x128 * x18 x130 = 2.8835523187377592537e-40 * x59 * x68 x131 = x54 * x61 x132 = x122 * x128 x133 = x36 * x77 x134 = x133 * x84 x135 = x106 * x15 x136 = x134 * x135 x137 = 6.5360519224722543084e-39 * x136 x138 = x132 * x133 x139 = x13 * x97 x140 = x81 * x85 x141 = x140 * x92 x142 = x139 * x141 x143 = 1.9608155767416762925e-38 * x142 x144 = 4.5752363457305780158e-38 * x29 x145 = x105 * x106 x146 = x144 * x145 x147 = x110 * x36 x148 = x132 * x147 x149 = x109 * x31 x150 = 8.4968674992139306009e-38 * x149 x151 = ( x101 * x103 * x11 * x26 * x27 * x28 * x30 * x31 * x32 * x5 ) x152 = x107 * x151 x153 = x29 * x36 x154 = x111 * x153 x155 = x132 * x154 x156 = 1.2745301248820895901e-37 * x155 x157 = x101 * x96 x158 = x23 * x81 x159 = x158 * x94 x160 = x138 * x159 x161 = x102 * x27 x162 = x161 * x6 x163 = x101 * x103 * x11 * x27 * x30 * x31 * x32 * x5 * x8 x164 = x107 * x28 x165 = x163 * x164 x166 = x155 * x26 x167 = x107 * x163 x168 = 8.4968674992139306009e-38 * x167 x169 = x36 * x5 x170 = x111 * x26 x171 = x101 * x103 * x11 * x164 * x27 * x31 * x8 x172 = x171 * x32 x173 = x170 * x172 x174 = x169 * x173 x175 = x144 * x174 x176 = x30 * x5 x177 = x171 * x176 x178 = 1.9608155767416762925e-38 * x177 x179 = x140 * x88 x180 = x179 * x33 x181 = x113 * x180 x182 = x15 * x67 x183 = x17 * x182 x184 = x183 * x20 * x61 x185 = x37 * x80 x186 = 2.8835523187377592537e-40 * x185 x187 = x124 * x39 x188 = 3.2039470208197325041e-41 * x187 x189 = x50 * x57 x190 = x121 * x147 x191 = x36 * x50 x192 = x50 * x73 x193 = x133 * x192 x194 = x179 * x193 x195 = x112 * x73 x196 = 1.9608155767416762925e-38 * x191 x197 = x104 * x81 x198 = 8.4968674992139306009e-38 * x193 x199 = x140 * x193 x200 = x134 * x140 x201 = x80 * x81 x202 = x123 * x77 x203 = x72 * x73 x204 = x50 * x59 x205 = x22 * x50 x206 = x122 * x205 x207 = x147 * x206 x208 = x18 * x205 x209 = x133 * x206 x210 = x154 * x206 x211 = x210 * x26 x212 = 1.2745301248820895901e-37 * x210 x213 = x159 * x209 x214 = x2 * x45 x215 = 1.156624874515923434e-38 * x22 x216 = x2 * x46 x217 = x216 * x73 x218 = x11 * x76 x219 = x39 * x73 x220 = x45 * x65 x221 = x216 * x22 x222 = 1.0409623870643310906e-37 * x56 x223 = 5.8987868600312095133e-37 * x221 x224 = x19 * x62 x225 = x221 * x36 x226 = 7.078544232037451416e-36 * x225 x227 = x217 * x22 x228 = 1.6516603208087386637e-35 * x227 x229 = x133 * x227 x230 = 3.0673691672162289469e-35 * x201 x231 = x179 * x229 x232 = 5.623510139896419736e-35 * x90 x233 = x141 * x93 x234 = x232 * x233 x235 = 4.6010537508243434204e-35 * x140 x236 = x100 * x235 x237 = 3.0673691672162289469e-35 * x197 x238 = x108 * x133 x239 = 2.3595147440124838053e-36 * x34 x240 = x115 * x69 x241 = 1.0409623870643310906e-37 * x118 x242 = x125 * x205 x243 = 5.8987868600312095133e-37 * x43 x244 = x22 * x40 x245 = x191 * x84 x246 = 2.3595147440124838053e-36 * x73 x247 = x135 * x246 x248 = 7.078544232037451416e-36 * x244 x249 = x191 * x73 x250 = 1.6516603208087386637e-35 * x145 x251 = x153 * x192 x252 = x244 * x251 x253 = x244 * x249 x254 = 3.0673691672162289469e-35 * x9 x255 = 4.6010537508243434204e-35 * x152 x256 = x10 * x252 x257 = x256 * x9 x258 = 5.623510139896419736e-35 * x81 x259 = x253 * x258 x260 = x157 * x93 x261 = x260 * x97 x262 = x161 * x99 x263 = 4.6010537508243434204e-35 * x165 x264 = x167 * x26 x265 = 1.6516603208087386637e-35 * x5 x266 = x172 * x26 x267 = x10 * x9 x268 = x177 * x26 x269 = x192 * x244 x270 = 1.0409623870643310906e-37 * x185 x271 = x219 * x22 x272 = x191 * x271 x273 = x187 * x205 x274 = 5.8987868600312095133e-37 * x273 x275 = x192 * x22 x276 = x275 * x39 x277 = 7.078544232037451416e-36 * x272 x278 = x245 * x271 x279 = x14 * x97 x280 = x106 * x16 x281 = x224 * x35 x282 = x17 * x35 * x62 x283 = x117 * x45 * x73 x284 = x220 * x77 x285 = x180 * x5 x286 = x29 * x73 x287 = x220 * x286 x288 = x170 * x287 x289 = x111 * x287 x290 = x284 * x73 x291 = x258 * x290 x292 = 9.3686614835789798152e-37 * x56 x293 = x204 * x22 x294 = x147 * x205 x295 = x147 * x275 x296 = x185 * x294 x297 = 5.308908174028088562e-36 * x56 x298 = x19 * x293 x299 = 2.1235632696112354248e-35 * x56 x300 = x191 * x22 x301 = x300 * x68 x302 = x301 * x67 x303 = x300 * x72 x304 = x119 * x56 x305 = 6.3706898088337062743e-35 * x304 x306 = x205 * x304 x307 = 1.4864942887278647973e-34 * x306 x308 = x133 * x306 x309 = 2.7606322504946060522e-34 * x308 x310 = 5.0611591259067777624e-34 * x90 x311 = x308 * x310 x312 = 4.1409483757419090783e-34 * x100 x313 = x112 * x300 x314 = x34 * x5 x315 = x133 * x205 x316 = x179 * x315 x317 = x314 * x316 x318 = x115 * x301 x319 = 5.308908174028088562e-36 * x205 x320 = x319 * x43 x321 = x38 * x7 x322 = x134 * x275 x323 = x15 * x322 x324 = x193 * x22 x325 = x324 * x38 x326 = x325 * x85 x327 = x139 * x92 x328 = x29 * x321 x329 = 1.4864942887278647973e-34 * x105 * x324 x330 = x12 * x151 x331 = x295 * x8 x332 = x330 * x331 x333 = x154 * x275 x334 = x321 * x333 x335 = 4.1409483757419090783e-34 * x334 x336 = 5.0611591259067777624e-34 * x325 x337 = x12 * x163 x338 = x28 * x337 x339 = x26 * x334 x340 = 1.4864942887278647973e-34 * x5 x341 = x103 * x27 * x31 * x32 * x8 x342 = x101 * x11 x343 = x28 * x342 x344 = x12 * x343 x345 = x339 * x344 x346 = x176 * x27 * x31 x347 = x103 * x8 x348 = 6.3706898088337062743e-35 * x347 x349 = 2.1235632696112354248e-35 * x88 x350 = x33 * x5 x351 = 5.308908174028088562e-36 * x296 x352 = x324 * x37 x353 = x352 * x85 x354 = x37 * x7 x355 = x176 * x26 x356 = x32 * x333 x357 = x355 * x356 x358 = x27 * x357 x359 = x12 * x354 x360 = x310 * x353 x361 = x92 * x93 x362 = x101 * x333 x363 = x341 * x355 x364 = x28 * x363 x365 = x362 * x364 x366 = x279 * x92 x367 = x282 * x315 x368 = x205 * x282 x369 = x154 * x368 x370 = 4.1409483757419090783e-34 * x369 x371 = x262 * x81 x372 = 5.0611591259067777624e-34 * x367 x373 = x261 * x81 x374 = x149 * x294 x375 = x145 * x29 x376 = x20 * x43 x377 = 3.0083812986159168518e-35 * x376 x378 = 3.0083812986159168518e-35 * x205 x379 = x120 * x43 x380 = 3.6100575583391002221e-34 * x379 x381 = x205 * x379 x382 = 8.423467636124567185e-34 * x381 x383 = x315 * x379 x384 = 1.5643582752802767629e-33 * x201 x385 = 2.8679901713471740654e-33 * x90 x386 = x233 * x385 x387 = 2.3465374129204151444e-33 * x140 x388 = x100 * x387 x389 = 1.5643582752802767629e-33 * x197 x390 = x205 * x69 x391 = 1.2033525194463667407e-34 * x136 x392 = x315 * x69 x393 = 3.6100575583391002221e-34 * x142 x394 = 8.423467636124567185e-34 * x375 x395 = 1.5643582752802767629e-33 * x374 x396 = x154 * x390 x397 = 2.3465374129204151444e-33 * x396 x398 = 2.8679901713471740654e-33 * x392 x399 = 1.5643582752802767629e-33 * x264 x400 = x266 * x5 x401 = 8.423467636124567185e-34 * x400 x402 = 3.6100575583391002221e-34 * x268 x403 = 1.2033525194463667407e-34 * x285 x404 = x275 * x77 x405 = x179 * x404 x406 = 3.6100575583391002221e-34 * x275 x407 = 8.423467636124567185e-34 * x404 x408 = x281 * x315 x409 = x205 * x281 x410 = x154 * x409 x411 = 2.3465374129204151444e-33 * x410 x412 = 2.8679901713471740654e-33 * x408 x413 = x15 * x324 x414 = x413 * x81 x415 = 4.8134100777854669628e-34 * x88 x416 = x324 * x81 x417 = x16 * x416 x418 = x333 * x363 x419 = 3.369387054449826874e-33 * x164 x420 = x15 * x25 x421 = x419 * x420 x422 = x10 * x29 x423 = x11 * x164 x424 = 6.2574331011211070517e-33 * x423 x425 = x25 * x424 x426 = 1.1471960685388696261e-32 * x414 * x90 x427 = x347 * x420 x428 = x31 * x357 x429 = x11 * x341 x430 = x169 * x170 * x275 * x30 x431 = 1.4440230233356400889e-33 * x358 x432 = x23 * x34 x433 = 1.4440230233356400889e-33 * x432 x434 = x141 * x324 x435 = x13 * x434 x436 = x106 * x343 x437 = x24 * x98 x438 = x437 * x8 x439 = x26 * x346 x440 = x356 * x439 x441 = x432 * x440 x442 = x438 * x441 x443 = 6.2574331011211070517e-33 * x342 x444 = x164 * x439 x445 = x443 * x444 x446 = x29 * x32 * x331 x447 = x437 * x446 x448 = x164 * x342 x449 = 9.3861496516816605776e-33 * x448 x450 = x158 * x324 x451 = 1.1471960685388696261e-32 * x34 * x450 x452 = x161 * x98 x453 = x356 * x438 x454 = x346 * x453 x455 = x23 * x419 x456 = x26 * x342 x457 = x27 * x31 x458 = x453 * x457 x459 = x342 * x438 x460 = x333 * x444 x461 = x459 * x460 x462 = x23 * x33 x463 = x438 * x462 x464 = x33 * x455 x465 = x32 * x430 * x457 x466 = x199 * x22 * x96 x467 = 1.1471960685388696261e-32 * x324 x468 = x438 * x440 x469 = x324 * x422 x470 = x32 * x469 x471 = x16 * x25 x472 = x333 * x347 x473 = x423 * x439 x474 = x472 * x473 x475 = x333 * x471 x476 = x26 * x5 x477 = x107 * x11 * x418 x478 = 9.3861496516816605776e-33 * x423 x479 = x176 * x341 x480 = x440 * x471 x481 = x8 * x99 x482 = x423 * x481 x483 = x93 * x97 x484 = x103 * x446 x485 = x11 * x333 * x364 x486 = 4.3320690700069202666e-33 * x448 x487 = x139 * x6 x488 = x24 * x8 x489 = x487 * x488 x490 = x355 * x472 x491 = x279 * x6 x492 = x342 * x488 x493 = x491 * x492 x494 = x440 * x489 x495 = x101 * x164 x496 = 1.8772299303363321155e-32 * x342 x497 = x444 * x470 x498 = x344 * x81 x499 = 2.8158448955044981733e-32 * x498 x500 = x448 * x489 x501 = x26 * x30 x502 = 3.4415882056166088784e-32 * x501 x503 = x356 * x457 x504 = 3.4415882056166088784e-32 * x90 x505 = x102 * x416 x506 = x24 * x505 x507 = x347 * x358 x508 = 1.0108161163349480622e-32 * x436 x509 = x358 * x448 x510 = 3.4415882056166088784e-32 * x509 x511 = x483 * x488 x512 = 2.8158448955044981733e-32 * x448 x513 = x356 * x512 x514 = x27 * x347 x515 = x448 * x476 x516 = 1.0108161163349480622e-32 * x515 x517 = x31 * x448 x518 = x488 * x491 x519 = x107 * x440 x520 = 3.4415882056166088784e-32 * x279 * x416 x521 = x24 * x491 x522 = x341 * x476 x523 = x164 * x362 x524 = 4.3802031707847749362e-32 * x469 x525 = 8.030372479772087383e-32 * x436 x526 = x333 * x341 x527 = 6.5703047561771624043e-32 * x85 x528 = 4.3802031707847749362e-32 * x347 x529 = x22 * x249 x530 = 6.5703047561771624043e-32 * x111 * x529 x531 = 8.030372479772087383e-32 * x511 x532 = x448 * x465 x533 = 8.030372479772087383e-32 * x481 x534 = x333 * x522 x535 = x440 * x495 x536 = 1.2201994547186158751e-31 * x81 x537 = 1.491354889100530514e-31 * x30 x538 = 1.491354889100530514e-31 * x90 x539 = 1.2201994547186158751e-31 * x85 x540 = x103 * x448 x541 = 1.491354889100530514e-31 * x483 x542 = 1.2201994547186158751e-31 * x469 x543 = 1.8302991820779238126e-31 * x333 x544 = x543 * x81 x545 = x423 * x85 x546 = x501 * x503 x547 = 2.237032333650795771e-31 * x440 x548 = x448 * x90 x549 = x498 * x547 x550 = 2.7341506300176392756e-31 * x448 * x546 x551 = 2.7341506300176392756e-31 * x416 * x90 return jnp.asarray( [ x3 * x42, -x42 * x44, x47 * x49, -x49 * x50, -x48 * x53, x55 * x58, -x60 * x64, x66 * x71, -x72 * x75, x76 * x79, -x80 * x83, x84 * x87, -x89 * x91, x86 * x95, -x100 * x87, x104 * x83, -x108 * x79, x112 * x75, -x114 * x89, x116 * x64 * x65, -x117 * x121 * x58, x126 * x21 * x53, x127 * x41, -x129 * x130, x128 * x131, -x132 * x137, x138 * x143, -x138 * x146, x148 * x150, -x152 * x156, x157 * x160, -x160 * x162, x156 * x165, -x166 * x168, x132 * x175, -x166 * x178, x138 * x181, -x129 * x184, x148 * x186, -x132 * x188, -x126 * x50 * x51, x189 * x190, -x116 * x191 * x63, x114 * x194, -x195 * x196, 4.5752363457305780158e-38 * x108 * x193, -x197 * x198, 1.2745301248820895901e-37 * x100 * x199, -x199 * x95, x194 * x91, -1.2745301248820895901e-37 * x192 * x200, x198 * x201, -4.5752363457305780158e-38 * x192 * x202, x196 * x203, -x191 * x71, x204 * x63, -x189 * x54, x127 * x3 * x48, x188 * x206, -x186 * x207, x184 * x208, -x181 * x209, x178 * x211, -x175 * x206, x168 * x211, -x165 * x212, x162 * x213, -x157 * x213, x152 * x212, -x150 * x207, x146 * x209, -x143 * x209, x137 * x206, -x131 * x205, x130 * x208, -3.2039470208197325041e-41 * x214 * x41, x214 * x215 * x43 * x48, -x125 * x215 * x217, x124 * x192 * x215, -1.156624874515923434e-38 * x218 * x219 * x220, -x221 * x222 * x54, x223 * x224 * x59, -2.3595147440124838053e-36 * x225 * x70, x203 * x226, -x202 * x228, x229 * x230, -4.6010537508243434204e-35 * x200 * x227, x231 * x232, -x229 * x234, x229 * x236, -x229 * x237, x228 * x238, -x195 * x226, x231 * x239 * x5, -x223 * x240 * x36, x147 * x227 * x241, x119 * x222 * x242, -x120 * x242 * x243, x244 * x245 * x247, -x142 * x248 * x249, x250 * x252, -x149 * x253 * x254, x255 * x257, -x259 * x261, x259 * x262, -x257 * x263, x254 * x256 * x264, -x257 * x265 * x266, x248 * x251 * x267 * x268, -2.3595147440124838053e-36 * x169 * x180 * x269, 5.8987868600312095133e-37 * x218 * x269, -x253 * x270 * x9, -x241 * x272 * x9, x274 * x69, -x169 * x179 * x239 * x276, x109 * x267 * x277, -1.6516603208087386637e-35 * x108 * x272, x237 * x272, -x236 * x272, x234 * x272, -x179 * x232 * x272, x235 * x278, -x230 * x272, 1.6516603208087386637e-35 * x123 * x276, -x141 * x277 * x279, 2.3595147440124838053e-36 * x278 * x280, -x274 * x281, 1.0409623870643310906e-37 * x273 * x282, x270 * x283, -5.8987868600312095133e-37 * x15 * x45 * x52 * x70, x246 * x284 * x285, -7.078544232037451416e-36 * x177 * x288, x173 * x265 * x287, -3.0673691672162289469e-35 * x167 * x288, x263 * x289, -x262 * x291, x261 * x291, -x255 * x289, 3.0673691672162289469e-35 * x149 * x283, -x250 * x284 * x286, 7.078544232037451416e-36 * x142 * x290, -x247 * x284 * x84, x19 * x243 * x45 * x55, -x222 * x45 * x60 * x68, x17 * x292 * x293, -x118 * x119 * x292 * x294, 9.3686614835789798152e-37 * x295 * x80, -9.3686614835789798152e-37 * x282 * x296, -x297 * x298, x299 * x302, -x303 * x305, x202 * x307, -x201 * x309, 4.1409483757419090783e-34 * x200 * x306, -x179 * x311, x233 * x311, -x140 * x308 * x312, x197 * x309, -x238 * x307, x305 * x313, -x119 * x299 * x317, x297 * x318, x190 * x320, -2.1235632696112354248e-35 * x321 * x323, 6.3706898088337062743e-35 * x326 * x327, -x328 * x329, 2.7606322504946060522e-34 * x328 * x332, -x330 * x335, x261 * x336, -x262 * x336, x335 * x338, -2.7606322504946060522e-34 * x337 * x339, x340 * x341 * x345, -x345 * x346 * x348, x326 * x349 * x350, -5.308908174028088562e-36 * x110 * x118 * x275, -x351 * x69, x314 * x349 * x353, -x344 * x348 * x354 * x358, x329 * x359, -2.7606322504946060522e-34 * x104 * x352, x312 * x353, -x360 * x361, x360 * x88, -4.1409483757419090783e-34 * x322 * x37 * x85, 2.7606322504946060522e-34 * x185 * x324, -1.4864942887278647973e-34 * x359 * x365, 6.3706898088337062743e-35 * x353 * x366, -2.1235632696112354248e-35 * x16 * x322 * x354, x281 * x351, x183 * x319 * x62, -2.1235632696112354248e-35 * x285 * x367, 6.3706898088337062743e-35 * x268 * x369, -x266 * x340 * x369, 2.7606322504946060522e-34 * x264 * x369, -x165 * x370, x371 * x372, -x372 * x373, x152 * x370, -2.7606322504946060522e-34 * x282 * x374, 1.4864942887278647973e-34 * x367 * x375, -6.3706898088337062743e-35 * x142 * x367, 2.1235632696112354248e-35 * x136 * x368, -x320 * x54, x298 * x377, -x318 * x377, x240 * x378, -x182 * x224 * x378, -1.2033525194463667407e-34 * x302 * x376, x303 * x380, -x202 * x382, x383 * x384, -2.3465374129204151444e-33 * x200 * x381, x316 * x379 * x385, -x383 * x386, x383 * x388, -x383 * x389, x238 * x382, -x313 * x380, 1.2033525194463667407e-34 * x317 * x379, x390 * x391, -x392 * x393, x392 * x394, -x395 * x69, x152 * x397, -x373 * x398, x371 * x398, -x165 * x397, x396 * x399, -x396 * x401, x396 * x402, -x392 * x403, -1.2033525194463667407e-34 * x314 * x405, x112 * x406, -x108 * x407, x389 * x404, -x388 * x404, x386 * x404, -x385 * x405, x387 * x404 * x84, -x384 * x404, x407 * x76, -x406 * x72, 1.2033525194463667407e-34 * x205 * x70, x403 * x408, -x402 * x410, x401 * x410, -x399 * x410, x165 * x411, -x371 * x412, x373 * x412, -x152 * x411, x281 * x395, -x394 * x408, x393 * x408, -x391 * x409, 4.8134100777854669628e-34 * x106 * x322, -x314 * x414 * x415, 4.8134100777854669628e-34 * x194 * x22 * x5, -x350 * x415 * x417, -1.4440230233356400889e-33 * x366 * x414, x418 * x421, -x363 * x413 * x422 * x425, 9.3861496516816605776e-33 * x323 * x81, -x426 * x88, x361 * x426, -9.3861496516816605776e-33 * x100 * x414, x424 * x427 * x428, -x421 * x429 * x430, x423 * x427 * x431, x433 * x435, -3.369387054449826874e-33 * x436 * x442, x432 * x445 * x447, -x437 * x441 * x449, x260 * x451, -x451 * x452, x432 * x449 * x454, -x107 * x442 * x443, x314 * x455 * x456 * x458, -x433 * x461, -x431 * x448 * x463, x459 * x464 * x465, -6.2574331011211070517e-33 * x102 * x33 * x437 * x450, 9.3861496516816605776e-33 * x462 * x466 * x98, -x233 * x33 * x467, x180 * x467, -9.3861496516816605776e-33 * x158 * x33 * x344 * x468, x445 * x463 * x470, -x101 * x464 * x468, 1.4440230233356400889e-33 * x14 * x434 * x462, 1.4440230233356400889e-33 * x471 * x474, -x419 * x429 * x475 * x476, 6.2574331011211070517e-33 * x471 * x477, -x475 * x478 * x479, 1.1471960685388696261e-32 * x480 * x482, -1.1471960685388696261e-32 * x25 * x417 * x483 * x96, x103 * x478 * x480, -x16 * x425 * x439 * x484, 3.369387054449826874e-33 * x25 * x280 * x485, -1.4440230233356400889e-33 * x327 * x417, 4.3320690700069202666e-33 * x434 * x97, -x358 * x486 * x489, x27 * x486 * x490, -4.3320690700069202666e-33 * x460 * x493, -1.0108161163349480622e-32 * x494 * x495, x489 * x496 * x497, -x494 * x499, x500 * x502 * x503, -x435 * x504, 2.8158448955044981733e-32 * x466 * x487, -1.8772299303363321155e-32 * x487 * x506, 1.0108161163349480622e-32 * x465 * x500, x507 * x508, -1.8772299303363321155e-32 * x109 * x295, 2.8158448955044981733e-32 * x103 * x509, -x510 * x511, x481 * x510, -x176 * x513 * x514, x107 * x496 * x507, -x356 * x514 * x516, -1.0108161163349480622e-32 * x171 * x430, 1.8772299303363321155e-32 * x490 * x517, -2.8158448955044981733e-32 * x474 * x85, x461 * x504, -x171 * x333 * x502, x439 * x472 * x499, -1.8772299303363321155e-32 * x268 * x469, 1.0108161163349480622e-32 * x347 * x362 * x444, x503 * x516 * x518, -1.8772299303363321155e-32 * x493 * x519, x346 * x513 * x518, -x162 * x520, x157 * x520, -x440 * x512 * x521, x444 * x446 * x496 * x521, -x440 * x508 * x518, 2.3585709381148788118e-32 * x106 * x365, -2.3585709381148788118e-32 * x145 * x324, 2.3585709381148788118e-32 * x174 * x275, -2.3585709381148788118e-32 * x522 * x523, -x106 * x151 * x524 * x8, 6.5703047561771624043e-32 * x105 * x29 * x416, -x501 * x525 * x526, x468 * x525 * x90, -x106 * x485 * x527, x428 * x436 * x528, 4.3802031707847749362e-32 * x152 * x331, -x152 * x530, x531 * x532, -x532 * x533, x165 * x530, -4.3802031707847749362e-32 * x167 * x170 * x529, -x31 * x356 * x515 * x528, x423 * x527 * x534, -8.030372479772087383e-32 * x458 * x515 * x90, 8.030372479772087383e-32 * x266 * x333, -6.5703047561771624043e-32 * x498 * x534, x400 * x524, 4.3802031707847749362e-32 * x107 * x362 * x363, -6.5703047561771624043e-32 * x479 * x523, x533 * x535, -x531 * x535, 6.5703047561771624043e-32 * x103 * x535, -4.3802031707847749362e-32 * x101 * x444 * x484, 8.1346630314574391672e-32 * x149 * x324, -8.1346630314574391672e-32 * x355 * x484 * x517, 8.1346630314574391672e-32 * x107 * x342 * x347 * x428, -8.1346630314574391672e-32 * x264 * x469, -x29 * x332 * x536, x266 * x29 * x295 * x537, -x342 * x444 * x447 * x538, x473 * x484 * x539, 1.2201994547186158751e-31 * x428 * x540, -x506 * x541, 1.491354889100530514e-31 * x505 * x99, -1.2201994547186158751e-31 * x176 * x347 * x356 * x517, -x477 * x539, x459 * x519 * x538, -x107 * x456 * x526 * x537, x26 * x333 * x337 * x536, x165 * x542, -1.491354889100530514e-31 * x342 * x481 * x497, x492 * x497 * x541, -x152 * x542, x330 * x544, -1.8302991820779238126e-31 * x103 * x440 * x545, x479 * x543 * x545, -x338 * x544, -2.237032333650795771e-31 * x540 * x546, x437 * x547 * x548, 2.237032333650795771e-31 * x466 * x483, -x482 * x547 * x85, -2.237032333650795771e-31 * x454 * x548, 2.237032333650795771e-31 * x172 * x30 * x333, x481 * x549, -x511 * x549, x511 * x550, -x260 * x551, x452 * x551, -x481 * x550, ] ) case 441: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 2.0 * xi[1] x3 = x2 + 1.0 x4 = 5.0 * xi[1] x5 = x4 + 1.0 x6 = 10.0 * xi[1] x7 = x6 + 1.0 x8 = x4 + 2.0 x9 = x4 + 4.0 x10 = x4 + 3.0 x11 = x6 + 3.0 x12 = x6 + 7.0 x13 = x6 + 9.0 x14 = x2 - 1.0 x15 = x4 - 1.0 x16 = x6 - 1.0 x17 = x4 - 2.0 x18 = x4 - 4.0 x19 = x4 - 3.0 x20 = x6 - 3.0 x21 = x6 - 7.0 x22 = x6 - 9.0 x23 = ( x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x3 * x5 * x7 * x8 * x9 * xi[1] ) x24 = x1 * x23 x25 = 2.0 * xi[0] x26 = x25 + 1.0 x27 = 5.0 * xi[0] x28 = x27 + 1.0 x29 = 10.0 * xi[0] x30 = x29 + 1.0 x31 = x27 + 2.0 x32 = x27 + 4.0 x33 = x27 + 3.0 x34 = x29 + 3.0 x35 = x29 + 7.0 x36 = x29 + 9.0 x37 = x25 - 1.0 x38 = x27 - 1.0 x39 = x29 - 1.0 x40 = x27 - 2.0 x41 = x27 - 4.0 x42 = x27 - 3.0 x43 = x29 - 3.0 x44 = x29 - 7.0 x45 = x29 - 9.0 x46 = ( x26 * x28 * x30 * x31 * x32 * x33 * x34 * x35 * x36 * x37 * x38 * x39 * x40 * x41 * x42 * x43 * x44 * x45 * xi[0] ) x47 = 6.9200736110635268372e-26 * x46 x48 = x24 * x47 x49 = xi[0] + 1.0 x50 = xi[1] + 1.0 x51 = x23 * x47 * x50 x52 = x24 * x49 x53 = ( x0 * x26 * x28 * x30 * x31 * x32 * x33 * x34 * x35 * x37 * x38 * x39 * x40 * x41 * x42 * x43 * x44 * xi[0] ) x54 = 1.3840147222127053674e-23 * x53 x55 = x52 * x54 x56 = x36 * x52 x57 = ( x0 * x26 * x28 * x30 * x31 * x33 * x34 * x35 * x37 * x38 * x39 * x40 * x42 * x43 * x44 * x45 * xi[0] ) x58 = 6.5740699305103504953e-23 * x57 x59 = x56 * x58 x60 = x32 * x56 x61 = ( x0 * x26 * x28 * x30 * x31 * x33 * x34 * x37 * x38 * x39 * x40 * x41 * x42 * x43 * x45 * xi[0] ) x62 = 7.8888839166124205944e-22 * x61 x63 = x60 * x62 x64 = x35 * x60 x65 = ( x0 * x26 * x28 * x30 * x31 * x34 * x37 * x38 * x39 * x40 * x41 * x43 * x44 * x45 * xi[0] ) x66 = 1.6763878322801393763e-21 * x65 x67 = x64 * x66 x68 = x33 * x64 x69 = ( x0 * x28 * x30 * x31 * x34 * x38 * x39 * x40 * x41 * x42 * x43 * x44 * x45 * xi[0] ) x70 = 2.1457764253185784017e-21 * x69 x71 = x68 * x70 x72 = x26 * x68 x73 = ( x0 * x28 * x30 * x34 * x37 * x38 * x39 * x41 * x42 * x43 * x44 * x45 * xi[0] ) x74 = 1.341110265824111501e-20 * x73 x75 = x72 * x74 x76 = x31 * x72 x77 = ( x0 * x28 * x30 * x37 * x38 * x39 * x40 * x41 * x42 * x44 * x45 * xi[0] ) x78 = 5.3644410632964460042e-20 * x77 x79 = x76 * x78 x80 = x34 * x76 x81 = ( x0 * x30 * x37 * x39 * x40 * x41 * x42 * x43 * x44 * x45 * xi[0] ) x82 = 4.3586083639283623784e-20 * x81 x83 = x80 * x82 x84 = x0 * x37 * x38 * x40 * x41 * x42 * x43 * x44 * x45 * xi[0] x85 = x39 * x84 x86 = 1.1622955637142299676e-19 * x28 x87 = x80 * x86 x88 = ( 7594058.4281266233059 * xi[0] ** 20 - 29237124.948287499728 * xi[0] ** 18 + 46662451.417466849566 * xi[0] ** 16 - 40202717.496749499983 * xi[0] ** 14 + 20418933.234909475907 * xi[0] ** 12 - 6274158.9818744284408 * xi[0] ** 10 + 1153141.6151619398331 * xi[0] ** 8 - 121028.00916570045942 * xi[0] ** 6 + 6598.7171853566529492 * xi[0] ** 4 - 154.97677311665406904 * xi[0] ** 2 + 1.0 ) x89 = x1 * x88 x90 = 2.6306032789197855094e-13 * x23 x91 = x30 * x84 x92 = ( x10 * x11 * x12 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x22 * x3 * x5 * x50 * x7 * x8 * xi[1] ) x93 = x1 * x46 x94 = x49 * x93 x95 = x92 * x94 x96 = 1.3840147222127053674e-23 * x9 x97 = 6.5740699305103504953e-23 * x13 x98 = ( x10 * x11 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x21 * x3 * x5 * x50 * x7 * x8 * xi[1] ) x99 = x94 * x98 x100 = x22 * x9 x101 = 7.8888839166124205944e-22 * x100 x102 = ( x100 * x11 * x14 * x15 * x16 * x17 * x19 * x20 * x21 * x3 * x5 * x50 * x7 * x8 * xi[1] ) x103 = x12 * x94 x104 = x102 * x103 x105 = x13 * x18 x106 = 1.6763878322801393763e-21 * x105 x107 = ( x105 * x11 * x14 * x15 * x16 * x17 * x19 * x20 * x5 * x50 * x7 * x8 * xi[1] ) x108 = x10 * x103 x109 = x107 * x108 x110 = x100 * x21 x111 = 2.1457764253185784017e-21 * x110 x112 = ( x11 * x110 * x14 * x15 * x16 * x17 * x20 * x5 * x50 * x7 * xi[1] ) x113 = x108 * x3 x114 = x112 * x113 x115 = x105 * x19 x116 = 1.341110265824111501e-20 * x115 x117 = x115 * x15 * x16 * x17 * x20 * x5 * x50 * x7 * xi[1] x118 = x113 * x8 x119 = x117 * x118 x120 = x110 * x14 x121 = 5.3644410632964460042e-20 * x120 x122 = x120 * x15 * x16 * x20 * x50 * x7 * xi[1] x123 = x11 * x118 x124 = x122 * x123 x125 = x115 * x17 x126 = 4.3586083639283623784e-20 * x125 x127 = x125 * x15 * x16 * x50 * xi[1] x128 = x120 * x20 x129 = x127 * x128 x130 = x123 * x5 x131 = 1.1622955637142299676e-19 * x130 x132 = ( 7594058.4281266233059 * xi[1] ** 20 - 29237124.948287499728 * xi[1] ** 18 + 46662451.417466849566 * xi[1] ** 16 - 40202717.496749499983 * xi[1] ** 14 + 20418933.234909475907 * xi[1] ** 12 - 6274158.9818744284408 * xi[1] ** 10 + 1153141.6151619398331 * xi[1] ** 8 - 121028.00916570045942 * xi[1] ** 6 + 6598.7171853566529492 * xi[1] ** 4 - 154.97677311665406904 * xi[1] ** 2 + 1.0 ) x133 = x132 * x49 x134 = 2.6306032789197855094e-13 * x46 x135 = x125 * x15 x136 = x128 * x50 * xi[1] x137 = x136 * x7 x138 = x135 * x137 x139 = x137 * x16 x140 = x126 * x139 x141 = x127 * x7 x142 = x121 * x141 x143 = x116 * x5 x144 = x11 * x111 x145 = x106 * x8 x146 = x101 * x3 x147 = x10 * x97 x148 = x12 * x96 x149 = x36 * x49 x150 = x149 * x23 * x50 x151 = x150 * x32 x152 = x151 * x35 x153 = x152 * x33 x154 = x153 * x26 x155 = x154 * x31 x156 = x155 * x34 x157 = x156 * x82 x158 = x156 * x86 x159 = x45 * x49 x160 = x0 * x93 x161 = x160 * x98 x162 = x12 * x160 x163 = x102 * x162 x164 = x10 * x162 x165 = x107 * x164 x166 = x164 * x3 x167 = x112 * x166 x168 = x166 * x8 x169 = x117 * x168 x170 = x11 * x168 x171 = x122 * x170 x172 = x170 * x5 x173 = 1.1622955637142299676e-19 * x172 x174 = x160 * x92 x175 = x1 * x53 x176 = x159 * x175 x177 = x9 * x92 x178 = 2.7680294444254107349e-21 * x177 x179 = x149 * x175 x180 = x179 * x98 x181 = x12 * x9 x182 = 2.7680294444254107349e-21 * x181 x183 = x176 * x98 x184 = x1 * x149 x185 = x177 * x184 x186 = 1.3148139861020700991e-20 * x57 x187 = x185 * x186 x188 = x185 * x32 x189 = 1.5777767833224841189e-19 * x61 x190 = x188 * x189 x191 = x188 * x35 x192 = 3.3527756645602787526e-19 * x65 x193 = x191 * x192 x194 = x191 * x33 x195 = 4.2915528506371568033e-19 * x69 x196 = x194 * x195 x197 = x194 * x26 x198 = 2.6822205316482230021e-18 * x73 x199 = x197 * x198 x200 = x197 * x31 x201 = 1.0728882126592892008e-17 * x77 x202 = x200 * x201 x203 = x200 * x34 x204 = 8.7172167278567247568e-18 * x81 x205 = x203 * x204 x206 = 2.3245911274284599351e-17 * x28 x207 = x203 * x206 x208 = x89 * x92 x209 = 5.2612065578395710189e-11 * x9 x210 = 1.3148139861020700991e-20 * x13 x211 = x179 * x210 x212 = 1.5777767833224841189e-19 * x100 x213 = x12 * x179 x214 = 3.3527756645602787526e-19 * x105 x215 = x213 * x214 x216 = x10 * x213 x217 = x107 * x216 x218 = 4.2915528506371568033e-19 * x110 x219 = x216 * x3 x220 = 2.6822205316482230021e-18 * x115 x221 = x219 * x220 x222 = x219 * x8 x223 = x117 * x222 x224 = 1.0728882126592892008e-17 * x120 x225 = x11 * x222 x226 = 8.7172167278567247568e-18 * x125 x227 = x225 * x226 x228 = x225 * x5 x229 = 2.3245911274284599351e-17 * x228 x230 = x133 * x36 x231 = 5.2612065578395710189e-11 * x53 x232 = x139 * x5 x233 = x141 * x224 x234 = x11 * x8 x235 = x234 * x5 x236 = x122 * x235 x237 = x10 * x3 x238 = x237 * x8 x239 = x112 * x238 x240 = x10 * x12 x241 = x102 * x240 x242 = x184 * x32 x243 = x242 * x98 x244 = x181 * x243 x245 = x244 * x35 x246 = x245 * x33 x247 = x246 * x26 x248 = x247 * x31 x249 = x248 * x34 x250 = x204 * x249 x251 = x206 * x249 x252 = x12 * x89 x253 = x184 * x41 x254 = x253 * x98 x255 = x176 * x210 x256 = x12 * x176 x257 = x237 * x256 x258 = x214 * x256 x259 = x234 * x257 x260 = x220 * x257 x261 = x235 * x257 x262 = x226 * x259 x263 = 2.3245911274284599351e-17 * x261 x264 = x117 * x238 x265 = x107 * x240 x266 = x253 * x57 x267 = x13 * x92 x268 = 6.2453664339848329705e-20 * x267 x269 = x242 * x57 x270 = x13 * x241 x271 = 6.2453664339848329705e-20 * x270 x272 = x44 * x61 x273 = x242 * x267 x274 = 7.4944397207817995646e-19 * x273 x275 = x273 * x35 x276 = 1.5925684406661324075e-18 * x65 x277 = x275 * x276 x278 = x275 * x33 x279 = 2.0384876040526494816e-18 * x69 x280 = x278 * x279 x281 = x26 * x278 x282 = 1.274054752532905926e-17 * x73 x283 = x281 * x282 x284 = x281 * x31 x285 = 5.096219010131623704e-17 * x77 x286 = x284 * x285 x287 = x284 * x34 x288 = 4.1406779457319442595e-17 * x81 x289 = x287 * x288 x290 = 1.1041807855285184692e-16 * x28 x291 = x287 * x290 x292 = 2.499073114973796234e-10 * x13 x293 = x35 * x61 x294 = 7.4944397207817995646e-19 * x100 x295 = x294 * x57 x296 = x12 * x269 x297 = 1.5925684406661324075e-18 * x105 x298 = x296 * x297 x299 = 2.0384876040526494816e-18 * x110 x300 = x265 * x299 x301 = x237 * x296 x302 = 1.274054752532905926e-17 * x115 x303 = x301 * x302 x304 = 5.096219010131623704e-17 * x120 x305 = x264 * x304 x306 = x234 * x301 x307 = 4.1406779457319442595e-17 * x125 x308 = x306 * x307 x309 = x235 * x301 x310 = 1.1041807855285184692e-16 * x309 x311 = x230 * x32 x312 = 2.499073114973796234e-10 * x57 x313 = x141 * x304 x314 = x117 * x299 x315 = x107 * x294 x316 = x242 * x270 x317 = 7.4944397207817995646e-19 * x316 x318 = x33 * x35 x319 = x316 * x318 x320 = x26 * x319 x321 = x31 * x320 x322 = x321 * x34 x323 = x288 * x322 x324 = x290 * x322 x325 = x10 * x252 x326 = x35 * x42 x327 = x12 * x266 x328 = x237 * x327 x329 = x297 * x327 x330 = x234 * x328 x331 = x302 * x328 x332 = x235 * x328 x333 = x307 * x330 x334 = 1.1041807855285184692e-16 * x332 x335 = 8.9933276649381594776e-18 * x100 x336 = x243 * x335 x337 = x242 * x293 x338 = x12 * x337 x339 = x237 * x338 x340 = x107 * x335 x341 = x242 * x272 x342 = x12 * x237 x343 = x341 * x342 x344 = x326 * x65 x345 = x100 * x243 x346 = 1.911082128799358889e-17 * x345 x347 = x318 * x345 x348 = 2.4461851248631793779e-17 * x69 x349 = x347 * x348 x350 = x26 * x347 x351 = 1.5288657030394871112e-16 * x73 x352 = x350 * x351 x353 = x31 * x350 x354 = 6.1154628121579484447e-16 * x77 x355 = x353 * x354 x356 = x34 * x353 x357 = 4.9688135348783331114e-16 * x81 x358 = x356 * x357 x359 = 1.325016942634222163e-15 * x28 x360 = x356 * x359 x361 = 2.9988877379685554807e-9 * x100 x362 = x318 * x65 x363 = 1.911082128799358889e-17 * x105 x364 = x338 * x363 x365 = 2.4461851248631793779e-17 * x110 x366 = x265 * x365 x367 = 1.5288657030394871112e-16 * x115 x368 = x339 * x367 x369 = 6.1154628121579484447e-16 * x120 x370 = x264 * x369 x371 = x234 * x339 x372 = 4.9688135348783331114e-16 * x125 x373 = x371 * x372 x374 = x235 * x339 x375 = 1.325016942634222163e-15 * x374 x376 = x311 * x35 x377 = 2.9988877379685554807e-9 * x61 x378 = x141 * x369 x379 = x117 * x365 x380 = x242 * x362 x381 = x342 * x380 x382 = x100 * x107 x383 = 1.911082128799358889e-17 * x382 x384 = x242 * x342 x385 = x26 * x318 x386 = x384 * x385 x387 = x382 * x386 x388 = x31 * x387 x389 = x34 * x388 x390 = x357 * x389 x391 = x359 * x389 x392 = x3 * x325 x393 = x318 * x37 x394 = x384 * x393 x395 = x344 * x384 x396 = x12 * x341 x397 = x363 * x396 x398 = x234 * x343 x399 = x343 * x367 x400 = x235 * x343 x401 = x372 * x398 x402 = 1.325016942634222163e-15 * x400 x403 = x242 * x344 x404 = 4.0610495236986376391e-17 * x105 * x12 x405 = x102 * x404 x406 = x239 * x404 x407 = x242 * x69 x408 = x393 * x407 x409 = x105 * x12 x410 = x102 * x409 x411 = 5.198143390334256178e-17 * x410 x412 = x40 * x73 x413 = x242 * x385 x414 = x410 * x413 x415 = 3.2488396189589101113e-16 * x414 x416 = x31 * x414 x417 = 1.2995358475835640445e-15 * x77 x418 = x416 * x417 x419 = x34 * x416 x420 = 1.0558728761616457862e-15 * x81 x421 = x419 * x420 x422 = 2.8156610030977220964e-15 * x28 x423 = x419 * x422 x424 = 6.3726364431831803966e-9 * x105 x425 = x31 * x73 x426 = x385 * x407 x427 = 5.198143390334256178e-17 * x110 x428 = x265 * x427 x429 = 3.2488396189589101113e-16 * x115 x430 = x381 * x429 x431 = 1.2995358475835640445e-15 * x120 x432 = x12 * x264 x433 = x431 * x432 x434 = x234 * x381 x435 = 1.0558728761616457862e-15 * x125 x436 = x434 * x435 x437 = x235 * x381 x438 = 2.8156610030977220964e-15 * x437 x439 = x33 * x376 x440 = 6.3726364431831803966e-9 * x65 x441 = x141 * x431 x442 = x117 * x427 x443 = x239 * x409 x444 = 5.198143390334256178e-17 * x443 x445 = x413 * x443 x446 = 3.2488396189589101113e-16 * x445 x447 = x31 * x34 x448 = x445 * x447 x449 = x420 * x448 x450 = x422 * x448 x451 = x392 * x8 x452 = x31 * x43 x453 = x234 * x395 x454 = x395 * x429 x455 = x235 * x395 x456 = x435 * x453 x457 = 2.8156610030977220964e-15 * x455 x458 = 6.6536235396278479079e-17 * x110 x459 = x265 * x458 x460 = x386 * x69 x461 = x234 * x460 x462 = x117 * x458 x463 = x394 * x69 x464 = x234 * x463 x465 = x412 * x413 x466 = 4.1585147122674049424e-16 * x110 x467 = x265 * x466 x468 = x110 * x265 * x413 x469 = x452 * x77 x470 = 1.663405884906961977e-15 * x469 x471 = x447 * x468 x472 = 1.3515172814869066063e-15 * x81 x473 = x471 * x472 x474 = 3.6040460839650842834e-15 * x28 x475 = x471 * x474 x476 = 8.1569746472744709076e-9 * x110 x477 = 1.663405884906961977e-15 * x77 x478 = x413 * x425 x479 = 4.1585147122674049424e-16 * x115 x480 = x460 * x479 x481 = 1.663405884906961977e-15 * x120 x482 = x432 * x481 x483 = 1.3515172814869066063e-15 * x125 x484 = x461 * x483 x485 = x235 * x460 x486 = 3.6040460839650842834e-15 * x485 x487 = x26 * x439 x488 = 8.1569746472744709076e-9 * x69 x489 = x141 * x481 x490 = x386 * x425 x491 = x117 * x234 x492 = x466 * x491 x493 = x386 * x447 x494 = x110 * x491 x495 = x493 * x494 x496 = x472 * x495 x497 = x474 * x495 x498 = x11 * x451 x499 = x386 * x412 x500 = x463 * x479 x501 = x235 * x463 x502 = x464 * x483 x503 = 3.6040460839650842834e-15 * x501 x504 = 2.599071695167128089e-15 * x115 x505 = x112 * x504 x506 = x236 * x504 x507 = x386 * x469 x508 = x112 * x115 x509 = 1.0396286780668512356e-14 * x508 x510 = x38 * x81 x511 = x493 * x508 x512 = 8.4469830092931662893e-15 * x511 x513 = 2.2525288024781776771e-14 * x28 x514 = x511 * x513 x515 = 5.0981091545465443173e-8 * x115 x516 = x28 * x81 x517 = x493 * x77 x518 = 1.0396286780668512356e-14 * x120 x519 = x432 * x518 x520 = x125 * x234 x521 = 8.4469830092931662893e-15 * x520 x522 = x490 * x521 x523 = x235 * x490 x524 = 2.2525288024781776771e-14 * x523 x525 = x31 * x487 x526 = 5.0981091545465443173e-8 * x73 x527 = x141 * x518 x528 = x115 * x236 x529 = 1.0396286780668512356e-14 * x528 x530 = x493 * x528 x531 = 8.4469830092931662893e-15 * x530 x532 = x513 * x530 x533 = x498 * x5 x534 = x235 * x499 x535 = x499 * x521 x536 = 2.2525288024781776771e-14 * x534 x537 = 4.1585147122674049424e-14 * x120 x538 = x413 * x432 x539 = x537 * x538 x540 = x235 * x517 x541 = x141 * x537 x542 = x235 * x507 x543 = x447 * x538 x544 = 3.3787932037172665157e-14 * x120 x545 = x510 * x544 x546 = x28 * x85 x547 = 9.0101152099127107086e-14 * x120 x548 = x543 * x547 x549 = 2.0392436618186177269e-7 * x120 x550 = x28 * x91 x551 = x516 * x544 x552 = 3.3787932037172665157e-14 * x520 x553 = x517 * x552 x554 = 9.0101152099127107086e-14 * x540 x555 = x34 * x525 x556 = 2.0392436618186177269e-7 * x77 x557 = x235 * x493 x558 = x141 * x557 x559 = x547 * x558 x560 = x533 * x7 x561 = x507 * x552 x562 = 9.0101152099127107086e-14 * x542 x563 = x493 * x520 x564 = 2.745269478020279044e-14 * x563 x565 = x122 * x564 x566 = x232 * x564 x567 = 7.3207186080540774507e-14 * x563 x568 = x122 * x567 x569 = 1.6568854752276269031e-7 * x125 x570 = 7.3207186080540774507e-14 * x557 x571 = x516 * x570 x572 = x28 * x555 x573 = 1.6568854752276269031e-7 * x81 x574 = x232 * x567 x575 = x136 * x560 x576 = x510 * x570 x577 = 1.9521916288144206535e-13 * x557 x578 = x129 * x577 x579 = x138 * x577 x580 = 4.4183612672736717416e-7 * x572 return jnp.asarray( [ x0 * x48, x48 * x49, x49 * x51, x0 * x51, -x45 * x55, x41 * x59, -x44 * x63, x42 * x67, -x37 * x71, x40 * x75, -x43 * x79, x38 * x83, -x85 * x87, x89 * x90, -x87 * x91, x28 * x83, -x34 * x79, x31 * x75, -x26 * x71, x33 * x67, -x35 * x63, x32 * x59, -x36 * x55, -x95 * x96, x95 * x97, -x101 * x99, x104 * x106, -x109 * x111, x114 * x116, -x119 * x121, x124 * x126, -x129 * x131, x133 * x134, -x131 * x138, x130 * x140, -x130 * x142, x124 * x143, -x119 * x144, x114 * x145, -x109 * x146, x104 * x147, -x148 * x99, -x150 * x54, x151 * x58, -x152 * x62, x153 * x66, -x154 * x70, x155 * x74, -x156 * x78, x157 * x28, -x158 * x91, x50 * x88 * x90, -x158 * x85, x157 * x38, -x155 * x43 * x78, x154 * x40 * x74, -x153 * x37 * x70, x152 * x42 * x66, -x151 * x44 * x62, x150 * x41 * x58, -x159 * x23 * x50 * x54, -x148 * x161, x147 * x163, -x146 * x165, x145 * x167, -x144 * x169, x143 * x171, -x142 * x172, x140 * x172, -x138 * x173, x0 * x132 * x134, -x129 * x173, x126 * x171, -x121 * x169, x116 * x167, -x111 * x165, x106 * x163, -x101 * x161, x174 * x97, -x174 * x96, x176 * x178, x178 * x179, x180 * x182, x182 * x183, -x187 * x41, x190 * x44, -x193 * x42, x196 * x37, -x199 * x40, x202 * x43, -x205 * x38, x207 * x85, -x208 * x209, x207 * x91, -x205 * x28, x202 * x34, -x199 * x31, x196 * x26, -x193 * x33, x190 * x35, -x187 * x32, -x211 * x92, x180 * x212, -x102 * x215, x217 * x218, -x112 * x221, x223 * x224, -x122 * x227, x129 * x229, -x230 * x231, x138 * x229, -x227 * x232, x228 * x233, -x221 * x236, x11 * x218 * x223, -x215 * x239, x212 * x217 * x3, -x211 * x241, -x186 * x244, x189 * x245, -x192 * x246, x195 * x247, -x198 * x248, x201 * x249, -x250 * x28, x251 * x91, -x209 * x252 * x98, x251 * x85, -x250 * x38, x201 * x248 * x43, -x198 * x247 * x40, x195 * x246 * x37, -x192 * x245 * x42, x189 * x244 * x44, -x181 * x186 * x254, -x241 * x255, x107 * x212 * x257, -x239 * x258, x117 * x218 * x259, -x236 * x260, x233 * x261, -x232 * x262, x138 * x263, -x133 * x231 * x45, x129 * x263, -x122 * x262, x224 * x256 * x264, -x112 * x260, x176 * x218 * x265, -x102 * x258, x183 * x212, -x255 * x92, x266 * x268, x268 * x269, x269 * x271, x266 * x271, -x272 * x274, x277 * x42, -x280 * x37, x283 * x40, -x286 * x43, x289 * x38, -x291 * x85, x208 * x292, -x291 * x91, x28 * x289, -x286 * x34, x283 * x31, -x26 * x280, x277 * x33, -x274 * x293, -x243 * x295, x102 * x298, -x269 * x300, x112 * x303, -x296 * x305, x122 * x308, -x129 * x310, x311 * x312, -x138 * x310, x232 * x308, -x309 * x313, x236 * x303, -x306 * x314, x239 * x298, -x301 * x315, -x293 * x317, x276 * x319, -x279 * x320, x282 * x321, -x285 * x322, x28 * x323, -x324 * x91, x102 * x292 * x325, -x324 * x85, x323 * x38, -x285 * x321 * x43, x282 * x320 * x40, -x279 * x319 * x37, x276 * x316 * x326, -x272 * x317, -x315 * x328, x239 * x329, -x314 * x330, x236 * x331, -x313 * x332, x232 * x333, -x138 * x334, x230 * x312 * x41, -x129 * x334, x122 * x333, -x305 * x327, x112 * x331, -x266 * x300, x102 * x329, -x254 * x295, x272 * x336, x293 * x336, x339 * x340, x340 * x343, -x344 * x346, x349 * x37, -x352 * x40, x355 * x43, -x358 * x38, x360 * x85, -x361 * x89 * x98, x360 * x91, -x28 * x358, x34 * x355, -x31 * x352, x26 * x349, -x346 * x362, -x102 * x364, x337 * x366, -x112 * x368, x338 * x370, -x122 * x373, x129 * x375, -x376 * x377, x138 * x375, -x232 * x373, x374 * x378, -x236 * x368, x371 * x379, -x239 * x364, -x381 * x383, x348 * x387, -x351 * x388, x354 * x389, -x28 * x390, x391 * x91, -x107 * x361 * x392, x391 * x85, -x38 * x390, x354 * x388 * x43, -x351 * x387 * x40, x348 * x382 * x394, -x383 * x395, -x239 * x397, x379 * x398, -x236 * x399, x378 * x400, -x232 * x401, x138 * x402, -x311 * x377 * x44, x129 * x402, -x122 * x401, x370 * x396, -x112 * x399, x341 * x366, -x102 * x397, x403 * x405, x380 * x405, x380 * x406, x403 * x406, -x408 * x411, x412 * x415, -x418 * x43, x38 * x421, -x423 * x85, x102 * x252 * x424, -x423 * x91, x28 * x421, -x34 * x418, x415 * x425, -x411 * x426, -x380 * x428, x112 * x430, -x380 * x433, x122 * x436, -x129 * x438, x439 * x440, -x138 * x438, x232 * x436, -x437 * x441, x236 * x430, -x434 * x442, -x426 * x444, x425 * x446, -x417 * x448, x28 * x449, -x450 * x91, x112 * x424 * x451, -x450 * x85, x38 * x449, -x417 * x445 * x452, x412 * x446, -x408 * x444, -x442 * x453, x236 * x454, -x441 * x455, x232 * x456, -x138 * x457, x376 * x42 * x440, -x129 * x457, x122 * x456, -x403 * x433, x112 * x454, -x403 * x428, x408 * x459, x426 * x459, x461 * x462, x462 * x464, -x465 * x467, x468 * x470, -x38 * x473, x475 * x85, -x107 * x325 * x476, x475 * x91, -x28 * x473, x471 * x477, -x467 * x478, -x112 * x480, x426 * x482, -x122 * x484, x129 * x486, -x487 * x488, x138 * x486, -x232 * x484, x485 * x489, -x236 * x480, -x490 * x492, x477 * x495, -x28 * x496, x497 * x91, -x117 * x476 * x498, x497 * x85, -x38 * x496, x386 * x470 * x494, -x492 * x499, -x236 * x500, x489 * x501, -x232 * x502, x138 * x503, -x37 * x439 * x488, x129 * x503, -x122 * x502, x408 * x482, -x112 * x500, x499 * x505, x490 * x505, x490 * x506, x499 * x506, -x507 * x509, x510 * x512, -x514 * x85, x112 * x392 * x515, -x514 * x91, x512 * x516, -x509 * x517, -x478 * x519, x122 * x522, -x129 * x524, x525 * x526, -x138 * x524, x232 * x522, -x523 * x527, -x517 * x529, x516 * x531, -x532 * x91, x122 * x515 * x533, -x532 * x85, x510 * x531, -x507 * x529, -x527 * x534, x232 * x535, -x138 * x536, x40 * x487 * x526, -x129 * x536, x122 * x535, -x465 * x519, x469 * x539, x447 * x539 * x77, x540 * x541, x541 * x542, -x543 * x545, x546 * x548, -x117 * x451 * x549, x548 * x550, -x543 * x551, -x122 * x553, x129 * x554, -x555 * x556, x138 * x554, -x232 * x553, -x551 * x558, x550 * x559, -x127 * x549 * x560, x546 * x559, -x545 * x558, -x232 * x561, x138 * x562, -x43 * x525 * x556, x129 * x562, -x122 * x561, x510 * x565, x516 * x565, x516 * x566, x510 * x566, -x546 * x568, x122 * x498 * x569, -x550 * x568, -x129 * x571, x572 * x573, -x138 * x571, -x550 * x574, x16 * x569 * x575, -x546 * x574, -x138 * x576, x38 * x555 * x573, -x129 * x576, x546 * x578, x550 * x578, x550 * x579, x546 * x579, -4.4183612672736717416e-7 * x129 * x533, -x580 * x91, -4.4183612672736717416e-7 * x135 * x575, -x580 * x85, x132 * x88, ] ) case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case 3: match n_nodes: case 8: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = 0.125 * xi[2] - 0.125 x3 = x1 * x2 x4 = xi[0] + 1.0 x5 = xi[1] + 1.0 x6 = x2 * x5 x7 = 0.125 * xi[2] + 0.125 x8 = x1 * x7 x9 = x5 * x7 return jnp.asarray( [ -x0 * x3, x3 * x4, -x4 * x6, x0 * x6, x0 * x8, -x4 * x8, x4 * x9, -x0 * x9, ] ) case 27: def shape_functions(xi): x0 = xi[0] - 1.0 x1 = xi[1] - 1.0 x2 = xi[0] * xi[1] x3 = x1 * x2 x4 = xi[2] * (xi[2] - 1.0) x5 = 0.125 * x4 x6 = x3 * x5 x7 = xi[0] + 1.0 x8 = xi[1] + 1.0 x9 = x2 * x8 x10 = x5 * x9 x11 = xi[2] * (xi[2] + 1.0) x12 = 0.125 * x11 x13 = x12 * x3 x14 = x12 * x9 x15 = xi[0] ** 2 - 1.0 x16 = x15 * xi[1] x17 = x1 * x16 x18 = 0.25 * x4 x19 = xi[1] ** 2 - 1.0 x20 = x19 * xi[0] x21 = x18 * x20 x22 = x16 * x8 x23 = 0.25 * x0 x24 = xi[2] ** 2 - 1.0 x25 = x24 * x3 x26 = 0.25 * x7 x27 = x24 * x9 x28 = 0.25 * x11 x29 = x11 * x20 x30 = x15 * x19 x31 = 0.5 * x30 x32 = 0.5 * x24 x33 = x20 * x32 return jnp.asarray( [ x0 * x6, x6 * x7, x10 * x7, x0 * x10, x0 * x13, x13 * x7, x14 * x7, x0 * x14, -x17 * x18, -x21 * x7, -x18 * x22, -x0 * x21, -x17 * x28, -x26 * x29, -x22 * x28, -x23 * x29, -x23 * x25, -x25 * x26, -x26 * x27, -x23 * x27, x0 * x33, x33 * x7, x17 * x32, x22 * x32, x31 * x4, x11 * x31, -x24 * x30, ] ) case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case _: assert False, "Dimensionality not implemented." shape_functions = jax.jit(shape_functions) if overwrite_diff: # Overwrite derivative to be with respect to initial configuration instead of reference configuration @jax.custom_jvp def ansatz(xi, fI, xI): return jnp.einsum('i, i...-> ...', shape_functions(xi), fI) @ansatz.defjvp def f_jvp(primals, tangents): xi, fI, xI = primals x_dot, fI_dot, _ = tangents # Isoparametric mapping initial_coor = lambda xi: jnp.einsum('i, i...-> ...', shape_functions(xi), xI) dX_dxi = jax.jacfwd(initial_coor)(xi) fun = lambda xi: jnp.einsum('i, i...-> ...', shape_functions(xi), fI) primal_out = fun(xi) df_dxi = jax.jacfwd(fun)(xi) tangent_out = jnp.einsum('...i, i-> ...', df_dxi, matrix_inv(dX_dxi) @ x_dot) # Add tangent with respect to fI if fI_dot is not None: tangent_out += jnp.einsum('i, i...-> ...', shape_functions(xi), fI_dot) return primal_out, tangent_out return ansatz(x, fI, xI) else: return jnp.einsum('i, i...-> ...', shape_functions(x), fI)
def fem_iso_line_tri_tet(x, xI, fI, settings, overwrite_diff, n_dim): """ Compute isoparametric finite element shape functions for line, triangular, and tetrahedral elements. Args: x (jnp.ndarray): The position of the evaluation point. xI (jnp.ndarray): The positions of neighboring nodes. fI (jnp.ndarray): The data at neighboring nodes. settings (dict): Dictionary containing various settings (not directly used in this function but passed for compatibility). overwrite_diff (bool): If True, overwrites the derivative to be with respect to the initial configuration instead of the reference configuration. n_dim (int): The dimensionality of the elements (1 for line, 2 for triangle, 3 for tetrahedron). Returns: float: The computed finite element approximation (sum_i shape_fun_i nodal_values_i) Notes: - This function currently supports line elements up to order 20, triangles up to order 10 and tetrahedrons up to order 5. - Though the input `x` is a reference coordinate, its derivative is replaced with respect to the initial configuration when `overwrite_diff` is True. - Warning: Only first-order spatial derivatives are supported in the custom JVP implementation with overwritten derivatives. - Warning: The derivatives with respect to xI are set to zero. """ n_nodes = xI.shape[0] match n_dim: case 1: """The following shape functions were generated using the code below: # Line elements import numpy as np import sympy as sp for n in range(1,21): #n = 8 # Order of shape functions print("case " + str((n+1)) + ":") # Lagrange polynomials x = sp.Symbol('x') xI = np.concatenate(([-1, 1], np.array([-1 + 2 * sp.Rational(i, n) for i in range(1, n)]))) polys = [x - xi for xi in xI] denom = sp.prod(polys) num = [denom / poly for poly in polys] numI = [num[i].subs(x, xI[i]) for i in range(len(num))] Ln = [sp.simplify(num[i] / numI[i]).subs(x, sp.Symbol('xi')).n(20) for i in range(len(num))] # Common subexpression elimination subexpr, reduced_expr = sp.cse(Ln) utility.to_jax_function(subexpr, reduced_expr) """ match n_nodes: case 2: def shape_functions(xi): x0 = 0.5 * xi return jnp.asarray([0.5 - x0, x0 + 0.5]) case 3: def shape_functions(xi): x0 = 0.5 * xi return jnp.asarray( [x0 * (xi - 1.0), x0 * (xi + 1.0), 1.0 - xi**2] ) case 4: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = xi + 1.0 x3 = x2 * (x0 - 1.0) x4 = 0.5625 * xi - 0.5625 return jnp.asarray( [ -0.5625 * xi**3 + 0.5625 * xi**2 + 0.0625 * xi - 0.0625, 0.0625 * x1 * x3, x3 * x4, -x1 * x2 * x4, ] ) case 5: def shape_functions(xi): x0 = xi - 1.0 x1 = 2.0 * xi x2 = x1 - 1.0 x3 = x0 * x2 * xi x4 = x1 + 1.0 x5 = 0.16666666666666666667 * x4 x6 = xi + 1.0 x7 = x6 * xi return jnp.asarray( [ x3 * x5, x2 * x5 * x7, -1.3333333333333333333 * x3 * x6, 4.0 * xi**4 - 5.0 * xi**2 + 1.0, -1.3333333333333333333 * x0 * x4 * x7, ] ) case 6: def shape_functions(xi): x0 = 5.0 * xi x1 = x0 + 1.0 x2 = xi - 1.0 x3 = x0 - 1.0 x4 = x0 - 3.0 x5 = x1 * x2 * x3 * x4 x6 = x0 + 3.0 x7 = 0.0013020833333333333333 * x6 x8 = xi + 1.0 x9 = x3 * x4 * x8 x10 = 0.032552083333333333333 * x8 x11 = x2 * x6 x12 = 0.065104166666666666667 * x11 return jnp.asarray( [ -x5 * x7, x1 * x7 * x9, x10 * x5, -x12 * x9, x1 * x12 * x4 * x8, -x1 * x10 * x11 * x3, ] ) case 7: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = xi - 1.0 x3 = x0 - 1.0 x4 = x0 - 2.0 x5 = x1 * x2 * x3 * x4 * xi x6 = x0 + 2.0 x7 = 0.0125 * x6 x8 = xi + 1.0 x9 = x3 * x4 * x8 * xi x10 = 0.225 * x8 x11 = x2 * x6 x12 = 0.5625 * x11 x13 = x1 * xi return jnp.asarray( [ x5 * x7, x1 * x7 * x9, -x10 * x5, x12 * x9, -20.25 * xi**6 + 31.5 * xi**4 - 12.25 * xi**2 + 1.0, x12 * x13 * x4 * x8, -x10 * x11 * x13 * x3, ] ) case 8: def shape_functions(xi): x0 = 7.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = xi - 1.0 x4 = x0 - 1.0 x5 = x0 - 3.0 x6 = x0 - 5.0 x7 = x1 * x2 * x3 * x4 * x5 * x6 x8 = x0 + 5.0 x9 = 0.000010850694444444444444 * x8 x10 = xi + 1.0 x11 = x1 * x10 * x4 * x5 * x6 x12 = 0.00053168402777777777778 * x10 x13 = x3 * x8 x14 = 0.0015950520833333333333 * x13 x15 = x10 * x2 * x4 * x6 x16 = x13 * x5 x17 = 0.0026584201388888888889 * x16 x18 = x1 * x2 return jnp.asarray( [ -x7 * x9, x11 * x2 * x9, x12 * x7, -x11 * x14, x15 * x17, -x10 * x17 * x18 * x6, x1 * x14 * x15, -x12 * x16 * x18 * x4, ] ) case 9: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 4.0 * xi x3 = x2 + 1.0 x4 = xi - 1.0 x5 = x0 - 1.0 x6 = x2 - 1.0 x7 = x2 - 3.0 x8 = x1 * x3 * x4 * x5 * x6 * x7 * xi x9 = x2 + 3.0 x10 = 0.0015873015873015873016 * x9 x11 = xi + 1.0 x12 = x11 * x3 * x5 * x6 * x7 * xi x13 = 0.050793650793650793651 * x11 x14 = x4 * x9 x15 = 0.088888888888888888889 * x14 x16 = x1 * x11 * x6 * x7 * xi x17 = x14 * x5 x18 = 0.35555555555555555556 * x17 x19 = x1 * x3 * xi return jnp.asarray( [ x10 * x8, x1 * x10 * x12, -x13 * x8, x12 * x15, -x16 * x18, 113.77777777777777778 * xi**8 - 213.33333333333333333 * xi**6 + 121.33333333333333333 * xi**4 - 22.777777777777777778 * xi**2 + 1.0, -x11 * x18 * x19 * x7, x15 * x16 * x3, -x13 * x17 * x19 * x6, ] ) case 10: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 9.0 * xi x3 = x2 + 1.0 x4 = x2 + 5.0 x5 = xi - 1.0 x6 = x0 - 1.0 x7 = x2 - 1.0 x8 = x2 - 5.0 x9 = x2 - 7.0 x10 = x1 * x3 * x4 * x5 * x6 * x7 * x8 * x9 x11 = x2 + 7.0 x12 = 4.3596540178571428571e-7 * x11 x13 = xi + 1.0 x14 = x1 * x13 * x3 * x6 * x7 * x8 * x9 x15 = 0.000035313197544642857143 * x13 x16 = x11 * x5 x17 = 0.00014125279017857142857 * x16 x18 = x13 * x3 * x4 * x6 * x7 * x9 x19 = x16 * x8 x20 = 0.00010986328125 * x19 x21 = x1 * x13 * x4 * x7 * x9 x22 = x19 * x6 x23 = 0.000494384765625 * x22 x24 = x1 * x3 * x4 return jnp.asarray( [ -x10 * x12, x12 * x14 * x4, x10 * x15, -x14 * x17, x18 * x20, -x21 * x23, x13 * x23 * x24 * x9, -x20 * x21 * x3, x1 * x17 * x18, -x15 * x22 * x24 * x7, ] ) case 11: def shape_functions(xi): x0 = 5.0 * xi x1 = x0 + 1.0 x2 = x0 + 2.0 x3 = x0 + 3.0 x4 = xi - 1.0 x5 = x0 - 1.0 x6 = x0 - 2.0 x7 = x0 - 4.0 x8 = x0 - 3.0 x9 = x1 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * xi x10 = x0 + 4.0 x11 = 6.8893298059964726631e-6 * x10 x12 = xi + 1.0 x13 = x1 * x12 * x2 * x5 * x6 * x7 * x8 * xi x14 = 0.00034446649029982363316 * x12 x15 = x10 * x4 x16 = 0.0015500992063492063492 * x15 x17 = x1 * x12 * x3 * x5 * x6 * x7 * xi x18 = x15 * x8 x19 = 0.0041335978835978835979 * x18 x20 = x12 * x2 * x3 * x5 * x7 * xi x21 = x18 * x6 x22 = 0.0072337962962962962963 * x21 x23 = x1 * x2 * x3 * xi return jnp.asarray( [ x11 * x9, x11 * x13 * x3, -x14 * x9, x13 * x16, -x17 * x19, x20 * x22, -678.16840277777777778 * xi**10 + 1491.9704861111111111 * xi**8 - 1110.0260416666666667 * xi**6 + 331.81423611111111111 * xi**4 - 36.590277777777777778 * xi**2 + 1.0, x12 * x22 * x23 * x7, -x1 * x19 * x20, x16 * x17 * x2, -x14 * x21 * x23 * x5, ] ) case 12: def shape_functions(xi): x0 = 11.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = xi - 1.0 x6 = x0 - 1.0 x7 = x0 - 3.0 x8 = x0 - 5.0 x9 = x0 - 7.0 x10 = x0 - 9.0 x11 = x1 * x10 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 x12 = x0 + 9.0 x13 = 1.345572227733686067e-10 * x12 x14 = xi + 1.0 x15 = x1 * x10 * x14 * x2 * x3 * x6 * x7 * x8 * x9 x16 = 1.6281423955577601411e-8 * x14 x17 = x12 * x5 x18 = 8.1407119777888007055e-8 * x17 x19 = x1 * x10 * x14 * x2 * x4 * x6 * x7 * x8 x20 = x17 * x9 x21 = 2.4422135933366402116e-7 * x20 x22 = x1 * x10 * x14 * x3 * x4 * x6 * x7 x23 = x20 * x8 x24 = 4.8844271866732804233e-7 * x23 x25 = x10 * x14 * x2 * x3 * x4 * x6 x26 = x23 * x7 x27 = 6.8381980613425925926e-7 * x26 x28 = x1 * x2 * x3 * x4 return jnp.asarray( [ -x11 * x13, x13 * x15 * x4, x11 * x16, -x15 * x18, x19 * x21, -x22 * x24, x25 * x27, -x10 * x14 * x27 * x28, x1 * x24 * x25, -x2 * x21 * x22, x18 * x19 * x3, -x16 * x26 * x28 * x6, ] ) case 13: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 3.0 * xi x3 = x2 + 1.0 x4 = 6.0 * xi x5 = x4 + 1.0 x6 = x2 + 2.0 x7 = xi - 1.0 x8 = x0 - 1.0 x9 = x2 - 1.0 x10 = x4 - 1.0 x11 = x2 - 2.0 x12 = x4 - 5.0 x13 = x1 * x10 * x11 * x12 * x3 * x5 * x6 * x7 * x8 * x9 * xi x14 = x4 + 5.0 x15 = 0.000010822510822510822511 * x14 x16 = xi + 1.0 x17 = x1 * x10 * x11 * x12 * x16 * x3 * x5 * x8 * x9 * xi x18 = 0.00077922077922077922078 * x16 x19 = x14 * x7 x20 = 0.0021428571428571428571 * x19 x21 = x10 * x12 * x16 * x3 * x5 * x6 * x8 * x9 * xi x22 = x11 * x19 x23 = 0.0047619047619047619048 * x22 x24 = x1 * x10 * x12 * x16 * x5 * x6 * x9 * xi x25 = x22 * x8 x26 = 0.016071428571428571429 * x25 x27 = x1 * x10 * x12 * x16 * x3 * x6 * xi x28 = x25 * x9 x29 = 0.051428571428571428571 * x28 x30 = x1 * x3 * x5 * x6 * xi return jnp.asarray( [ x13 * x15, x15 * x17 * x6, -x13 * x18, x17 * x20, -x21 * x23, x24 * x26, -x27 * x29, 4199.04 * xi**12 - 10614.24 * xi**10 + 9729.72 * xi**8 - 4002.57 * xi**6 + 740.74 * xi**4 - 53.69 * xi**2 + 1.0, -x12 * x16 * x29 * x30, x26 * x27 * x5, -x23 * x24 * x3, x1 * x20 * x21, -x10 * x18 * x28 * x30, ] ) case 14: def shape_functions(xi): x0 = 13.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = xi - 1.0 x7 = x0 - 1.0 x8 = x0 - 3.0 x9 = x0 - 5.0 x10 = x0 - 7.0 x11 = x0 - 9.0 x12 = x0 - 11.0 x13 = ( x1 * x10 * x11 * x12 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x14 = x0 + 11.0 x15 = 2.5484322494956175512e-13 * x14 x16 = xi + 1.0 x17 = x1 * x10 * x11 * x12 * x16 * x2 * x3 * x4 * x7 * x8 * x9 x18 = 4.3068505016475936615e-11 * x16 x19 = x14 * x6 x20 = 2.5841103009885561969e-10 * x19 x21 = x1 * x10 * x12 * x16 * x2 * x3 * x5 * x7 * x8 * x9 x22 = x11 * x19 x23 = 9.4750711036247060553e-10 * x22 x24 = x1 * x12 * x16 * x2 * x4 * x5 * x7 * x8 * x9 x25 = x10 * x22 x26 = 2.3687677759061765138e-9 * x25 x27 = x1 * x12 * x16 * x3 * x4 * x5 * x7 * x8 x28 = x25 * x9 x29 = 4.2637819966311177249e-9 * x28 x30 = x12 * x16 * x2 * x3 * x4 * x5 * x7 x31 = x28 * x8 x32 = 5.6850426621748236332e-9 * x31 x33 = x1 * x2 * x3 * x4 * x5 return jnp.asarray( [ -x13 * x15, x15 * x17 * x5, x13 * x18, -x17 * x20, x21 * x23, -x24 * x26, x27 * x29, -x30 * x32, x12 * x16 * x32 * x33, -x1 * x29 * x30, x2 * x26 * x27, -x23 * x24 * x3, x20 * x21 * x4, -x18 * x31 * x33 * x7, ] ) case 15: def shape_functions(xi): x0 = 7.0 * xi x1 = x0 + 1.0 x2 = x0 + 2.0 x3 = x0 + 4.0 x4 = x0 + 3.0 x5 = x0 + 5.0 x6 = xi - 1.0 x7 = x0 - 1.0 x8 = x0 - 2.0 x9 = x0 - 4.0 x10 = x0 - 3.0 x11 = x0 - 6.0 x12 = x0 - 5.0 x13 = ( x1 * x10 * x11 * x12 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi ) x14 = x0 + 6.0 x15 = 5.6206653428875651098e-10 * x14 x16 = xi + 1.0 x17 = ( x1 * x10 * x11 * x12 * x16 * x2 * x3 * x4 * x7 * x8 * x9 * xi ) x18 = 5.5082520360298138076e-8 * x16 x19 = x14 * x6 x20 = 3.5803638234193789749e-7 * x19 x21 = x1 * x10 * x11 * x16 * x2 * x4 * x5 * x7 * x8 * x9 * xi x22 = x12 * x19 x23 = 1.43214552936775159e-6 * x22 x24 = x1 * x10 * x11 * x16 * x2 * x3 * x5 * x7 * x8 * xi x25 = x22 * x9 x26 = 3.9384002057613168724e-6 * x25 x27 = x1 * x11 * x16 * x3 * x4 * x5 * x7 * x8 * xi x28 = x10 * x25 x29 = 7.8768004115226337449e-6 * x28 x30 = x11 * x16 * x2 * x3 * x4 * x5 * x7 * xi x31 = x28 * x8 x32 = 0.000011815200617283950617 * x31 x33 = x1 * x2 * x3 * x4 * x5 * xi return jnp.asarray( [ x13 * x15, x15 * x17 * x5, -x13 * x18, x17 * x20, -x21 * x23, x24 * x26, -x27 * x29, x30 * x32, -26700.013890817901235 * xi**14 + 76285.753973765432099 * xi**12 - 82980.21809799382716 * xi**10 + 43487.464081790123457 * xi**8 - 11465.29836612654321 * xi**6 + 1445.3903549382716049 * xi**4 - 74.078055555555555556 * xi**2 + 1.0, x11 * x16 * x32 * x33, -x1 * x29 * x30, x2 * x26 * x27, -x23 * x24 * x4, x20 * x21 * x3, -x18 * x31 * x33 * x7, ] ) case 16: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 5.0 * xi x3 = x2 + 1.0 x4 = 15.0 * xi x5 = x4 + 1.0 x6 = x2 + 3.0 x7 = x4 + 7.0 x8 = x4 + 11.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x4 - 1.0 x13 = x2 - 3.0 x14 = x4 - 7.0 x15 = x4 - 11.0 x16 = x4 - 13.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x3 * x5 * x6 * x7 * x8 * x9 ) x18 = x4 + 13.0 x19 = 7.0887023423470131059e-13 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x20 * x3 * x5 * x6 * x7 ) x22 = 1.5949580270280779488e-10 * x20 x23 = x18 * x9 x24 = 1.1164706189196545642e-9 * x23 x25 = ( x1 * x10 * x11 * x12 * x13 * x14 * x16 * x20 * x3 * x5 * x7 * x8 ) x26 = x15 * x23 x27 = 1.6126797828839454816e-9 * x26 x28 = x1 * x10 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x8 x29 = x13 * x26 x30 = 1.4514118045955509334e-8 * x29 x31 = x10 * x11 * x12 * x16 * x20 * x3 * x5 * x6 * x7 * x8 x32 = x14 * x29 x33 = 6.3862119402204241071e-9 * x32 x34 = x1 * x11 * x12 * x16 * x20 * x5 * x6 * x7 * x8 x35 = x10 * x32 x36 = 1.7739477611723400298e-8 * x35 x37 = x1 * x12 * x16 * x20 * x3 * x6 * x7 * x8 x38 = x11 * x35 x39 = 6.8423699359504544005e-8 * x38 x40 = x1 * x3 * x5 * x6 * x7 * x8 return jnp.asarray( [ -x17 * x19, x19 * x21 * x8, x17 * x22, -x21 * x24, x25 * x27, -x28 * x30, x31 * x33, -x34 * x36, x37 * x39, -x16 * x20 * x39 * x40, x36 * x37 * x5, -x3 * x33 * x34, x1 * x30 * x31, -x27 * x28 * x7, x24 * x25 * x6, -x12 * x22 * x38 * x40, ] ) case 17: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 4.0 * xi x3 = x2 + 1.0 x4 = 8.0 * xi x5 = x4 + 1.0 x6 = x2 + 3.0 x7 = x4 + 3.0 x8 = x4 + 5.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x4 - 1.0 x13 = x2 - 3.0 x14 = x4 - 3.0 x15 = x4 - 5.0 x16 = x4 - 7.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x18 = x4 + 7.0 x19 = 7.8306956613834920713e-10 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x20 * x3 * x5 * x7 * x8 * xi ) x22 = 1.0023290446570869851e-7 * x20 x23 = x18 * x9 x24 = 3.7587339174640761942e-7 * x23 x25 = ( x1 * x10 * x11 * x12 * x14 * x15 * x16 * x20 * x3 * x5 * x6 * x7 * xi ) x26 = x13 * x23 x27 = 3.508151656299804448e-6 * x26 x28 = ( x10 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x7 * x8 * xi ) x29 = x15 * x26 x30 = 2.850373220743591114e-6 * x29 x31 = x1 * x11 * x12 * x14 * x16 * x20 * x3 * x5 * x6 * x8 * xi x32 = x10 * x29 x33 = 0.000027363582919138474694 * x32 x34 = x1 * x11 * x12 * x16 * x20 * x5 * x6 * x7 * x8 * xi x35 = x14 * x32 x36 = 0.000025083284342543601803 * x35 x37 = x1 * x12 * x16 * x20 * x3 * x6 * x7 * x8 * xi x38 = x11 * x35 x39 = 0.000071666526692981719437 * x38 x40 = x1 * x3 * x5 * x6 * x7 * x8 * xi return jnp.asarray( [ x17 * x19, x19 * x21 * x6, -x17 * x22, x21 * x24, -x25 * x27, x28 * x30, -x31 * x33, x34 * x36, -x37 * x39, 173140.53095490047871 * xi**16 - 551885.44241874527589 * xi**14 + 694168.40804232804233 * xi**12 - 441984.42698916603679 * xi**10 + 152107.76187452758881 * xi**8 - 28012.603597883597884 * xi**6 + 2562.5271453766691862 * xi**4 - 97.755011337868480726 * xi**2 + 1.0, -x16 * x20 * x39 * x40, x36 * x37 * x5, -x3 * x33 * x34, x30 * x31 * x7, -x1 * x27 * x28, x24 * x25 * x8, -x12 * x22 * x38 * x40, ] ) case 18: def shape_functions(xi): x0 = 17.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = x0 + 11.0 x7 = x0 + 13.0 x8 = xi - 1.0 x9 = x0 - 1.0 x10 = x0 - 3.0 x11 = x0 - 5.0 x12 = x0 - 7.0 x13 = x0 - 9.0 x14 = x0 - 11.0 x15 = x0 - 13.0 x16 = x0 - 15.0 x17 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x18 = x0 + 15.0 x19 = 3.6464518221949655895e-19 * x18 x20 = xi + 1.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x2 * x20 * x3 * x4 * x5 * x6 * x9 ) x22 = 1.0538245766143450554e-16 * x20 x23 = x18 * x8 x24 = 8.4305966129147604429e-16 * x23 x25 = ( x1 * x10 * x11 * x12 * x13 * x14 * x16 * x2 * x20 * x3 * x4 * x5 * x7 * x9 ) x26 = x15 * x23 x27 = 4.2152983064573802214e-15 * x26 x28 = ( x1 * x10 * x11 * x12 * x13 * x16 * x2 * x20 * x3 * x4 * x6 * x7 * x9 ) x29 = x14 * x26 x30 = 1.4753544072600830775e-14 * x29 x31 = ( x1 * x10 * x11 * x12 * x16 * x2 * x20 * x3 * x5 * x6 * x7 * x9 ) x32 = x13 * x29 x33 = 3.8359214588762160015e-14 * x32 x34 = x1 * x10 * x11 * x16 * x2 * x20 * x4 * x5 * x6 * x7 * x9 x35 = x12 * x32 x36 = 7.671842917752432003e-14 * x35 x37 = x1 * x10 * x16 * x20 * x3 * x4 * x5 * x6 * x7 * x9 x38 = x11 * x35 x39 = 1.2055753156468107433e-13 * x38 x40 = x16 * x2 * x20 * x3 * x4 * x5 * x6 * x7 * x9 x41 = x10 * x38 x42 = 1.5069691445585134292e-13 * x41 x43 = x1 * x2 * x3 * x4 * x5 * x6 * x7 return jnp.asarray( [ -x17 * x19, x19 * x21 * x7, x17 * x22, -x21 * x24, x25 * x27, -x28 * x30, x31 * x33, -x34 * x36, x37 * x39, -x40 * x42, x16 * x20 * x42 * x43, -x1 * x39 * x40, x2 * x36 * x37, -x3 * x33 * x34, x30 * x31 * x4, -x27 * x28 * x5, x24 * x25 * x6, -x22 * x41 * x43 * x9, ] ) case 19: def shape_functions(xi): x0 = 3.0 * xi x1 = x0 + 1.0 x2 = 9.0 * xi x3 = x2 + 1.0 x4 = x0 + 2.0 x5 = x2 + 2.0 x6 = x2 + 4.0 x7 = x2 + 5.0 x8 = x2 + 7.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x2 - 1.0 x12 = x0 - 2.0 x13 = x2 - 2.0 x14 = x2 - 4.0 x15 = x2 - 8.0 x16 = x2 - 5.0 x17 = x2 - 7.0 x18 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x3 * x4 * x5 * x6 * x7 * x8 * x9 * xi ) x19 = x2 + 8.0 x20 = 1.0247761692089423182e-12 * x19 x21 = xi + 1.0 x22 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x21 * x3 * x4 * x5 * x6 * x7 * xi ) x23 = 1.6601373941184865555e-10 * x21 x24 = x19 * x9 x25 = 1.4111167850007135721e-9 * x24 x26 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x21 * x3 * x5 * x6 * x7 * x8 * xi ) x27 = x17 * x24 x28 = 2.5086520622234907949e-9 * x27 x29 = ( x1 * x10 * x11 * x13 * x14 * x15 * x16 * x21 * x3 * x4 * x5 * x6 * x8 * xi ) x30 = x12 * x27 x31 = 2.8222335700014271443e-8 * x30 x32 = ( x1 * x10 * x11 * x13 * x14 * x15 * x21 * x3 * x4 * x5 * x7 * x8 * xi ) x33 = x16 * x30 x34 = 7.902253996003996004e-8 * x33 x35 = ( x10 * x11 * x13 * x15 * x21 * x3 * x4 * x5 * x6 * x7 * x8 * xi ) x36 = x14 * x33 x37 = 5.7071834415584415584e-8 * x36 x38 = x1 * x11 * x13 * x15 * x21 * x3 * x4 * x6 * x7 * x8 * xi x39 = x10 * x36 x40 = 2.9351229128014842301e-7 * x39 x41 = x1 * x11 * x15 * x21 * x4 * x5 * x6 * x7 * x8 * xi x42 = x13 * x39 x43 = 4.0357940051020408163e-7 * x42 x44 = x1 * x3 * x4 * x5 * x6 * x7 * x8 * xi return jnp.asarray( [ x18 * x20, x20 * x22 * x8, -x18 * x23, x22 * x25, -x26 * x28, x29 * x31, -x32 * x34, x35 * x37, -x38 * x40, x41 * x43, -1139827.4301937679369 * xi**18 + 4010503.9210521464445 * xi**16 - 5723632.7564645448023 * xi**14 + 4288221.5882976921237 * xi**12 - 1825541.0625608358578 * xi**10 + 447065.31380067163584 * xi**8 - 60894.246929607780612 * xi**6 + 4228.3941844706632653 * xi**4 - 124.72118622448979592 * xi**2 + 1.0, x15 * x21 * x43 * x44, -x3 * x40 * x41, x37 * x38 * x5, -x1 * x34 * x35, x31 * x32 * x6, -x28 * x29 * x7, x25 * x26 * x4, -x11 * x23 * x42 * x44, ] ) case 20: def shape_functions(xi): x0 = 19.0 * xi x1 = x0 + 1.0 x2 = x0 + 3.0 x3 = x0 + 5.0 x4 = x0 + 7.0 x5 = x0 + 9.0 x6 = x0 + 11.0 x7 = x0 + 13.0 x8 = x0 + 15.0 x9 = xi - 1.0 x10 = x0 - 1.0 x11 = x0 - 3.0 x12 = x0 - 5.0 x13 = x0 - 7.0 x14 = x0 - 9.0 x15 = x0 - 11.0 x16 = x0 - 13.0 x17 = x0 - 15.0 x18 = x0 - 17.0 x19 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x2 * x3 * x4 * x5 * x6 * x7 * x8 * x9 ) x20 = x0 + 17.0 x21 = 2.9791273057148411679e-22 * x20 x22 = xi + 1.0 x23 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x7 ) x24 = 1.0754649573630576616e-19 * x22 x25 = x20 * x9 x26 = 9.6791846162675189544e-19 * x25 x27 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x8 ) x28 = x17 * x25 x29 = 5.4848712825515940742e-18 * x28 x30 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x18 * x2 * x22 * x3 * x4 * x5 * x7 * x8 ) x31 = x16 * x28 x32 = 2.1939485130206376297e-17 * x31 x33 = ( x1 * x10 * x11 * x12 * x13 * x14 * x18 * x2 * x22 * x3 * x4 * x6 * x7 * x8 ) x34 = x15 * x31 x35 = 6.581845539061912889e-17 * x34 x36 = ( x1 * x10 * x11 * x12 * x13 * x18 * x2 * x22 * x3 * x5 * x6 * x7 * x8 ) x37 = x14 * x34 x38 = 1.5357639591144463408e-16 * x37 x39 = ( x1 * x10 * x11 * x12 * x18 * x2 * x22 * x4 * x5 * x6 * x7 * x8 ) x40 = x13 * x37 x41 = 2.8521330669268289186e-16 * x40 x42 = x1 * x10 * x11 * x18 * x22 * x3 * x4 * x5 * x6 * x7 * x8 x43 = x12 * x40 x44 = 4.2781996003902433779e-16 * x43 x45 = x10 * x18 * x2 * x22 * x3 * x4 * x5 * x6 * x7 * x8 x46 = x11 * x43 x47 = 5.2289106226991863507e-16 * x46 x48 = x1 * x2 * x3 * x4 * x5 * x6 * x7 * x8 return jnp.asarray( [ -x19 * x21, x21 * x23 * x8, x19 * x24, -x23 * x26, x27 * x29, -x30 * x32, x33 * x35, -x36 * x38, x39 * x41, -x42 * x44, x45 * x47, -x18 * x22 * x47 * x48, x1 * x44 * x45, -x2 * x41 * x42, x3 * x38 * x39, -x35 * x36 * x4, x32 * x33 * x5, -x29 * x30 * x6, x26 * x27 * x7, -x10 * x24 * x46 * x48, ] ) case 21: def shape_functions(xi): x0 = 2.0 * xi x1 = x0 + 1.0 x2 = 5.0 * xi x3 = x2 + 1.0 x4 = 10.0 * xi x5 = x4 + 1.0 x6 = x2 + 2.0 x7 = x2 + 4.0 x8 = x2 + 3.0 x9 = x4 + 3.0 x10 = x4 + 7.0 x11 = xi - 1.0 x12 = x0 - 1.0 x13 = x2 - 1.0 x14 = x4 - 1.0 x15 = x2 - 2.0 x16 = x2 - 4.0 x17 = x2 - 3.0 x18 = x4 - 3.0 x19 = x4 - 7.0 x20 = x4 - 9.0 x21 = ( x1 * x10 * x11 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x22 = x4 + 9.0 x23 = 2.6306032789197855094e-13 * x22 x24 = xi + 1.0 x25 = ( x1 * x10 * x12 * x13 * x14 * x15 * x16 * x17 * x18 * x19 * x20 * x24 * x3 * x5 * x6 * x8 * x9 * xi ) x26 = 5.2612065578395710189e-11 * x24 x27 = x11 * x22 x28 = 2.499073114973796234e-10 * x27 x29 = ( x1 * x12 * x13 * x14 * x15 * x17 * x18 * x19 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x30 = x16 * x27 x31 = 2.9988877379685554807e-9 * x30 x32 = ( x1 * x10 * x12 * x13 * x14 * x15 * x17 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x9 * xi ) x33 = x19 * x30 x34 = 6.3726364431831803966e-9 * x33 x35 = ( x10 * x12 * x13 * x14 * x15 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * x9 * xi ) x36 = x17 * x33 x37 = 8.1569746472744709076e-9 * x36 x38 = ( x1 * x10 * x13 * x14 * x15 * x18 * x20 * x24 * x3 * x5 * x7 * x8 * x9 * xi ) x39 = x12 * x36 x40 = 5.0981091545465443173e-8 * x39 x41 = ( x1 * x10 * x13 * x14 * x18 * x20 * x24 * x3 * x5 * x6 * x7 * x8 * xi ) x42 = x15 * x39 x43 = 2.0392436618186177269e-7 * x42 x44 = ( x1 * x10 * x13 * x14 * x20 * x24 * x5 * x6 * x7 * x8 * x9 * xi ) x45 = x18 * x42 x46 = 1.6568854752276269031e-7 * x45 x47 = x1 * x10 * x14 * x20 * x24 * x3 * x6 * x7 * x8 * x9 * xi x48 = x13 * x45 x49 = 4.4183612672736717416e-7 * x48 x50 = x1 * x10 * x3 * x5 * x6 * x7 * x8 * x9 * xi return jnp.asarray( [ x21 * x23, x23 * x25 * x7, -x21 * x26, x25 * x28, -x29 * x31, x32 * x34, -x35 * x37, x38 * x40, -x41 * x43, x44 * x46, -x47 * x49, 7594058.4281266233059 * xi**20 - 29237124.948287499728 * xi**18 + 46662451.417466849566 * xi**16 - 40202717.496749499983 * xi**14 + 20418933.234909475907 * xi**12 - 6274158.9818744284408 * xi**10 + 1153141.6151619398331 * xi**8 - 121028.00916570045942 * xi**6 + 6598.7171853566529492 * xi**4 - 154.97677311665406904 * xi**2 + 1.0, -x20 * x24 * x49 * x50, x46 * x47 * x5, -x3 * x43 * x44, x40 * x41 * x9, -x37 * x38 * x6, x1 * x34 * x35, -x31 * x32 * x8, x10 * x28 * x29, -x14 * x26 * x48 * x50, ] ) case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case 2: match n_nodes: case 3: def shape_functions(xi): return jnp.asarray([-xi[0] - xi[1] + 1, xi[0], xi[1]]) case 6: def shape_functions(xi): x0 = 4*xi[0] x1 = x0*xi[1] x2 = -xi[0] - xi[1] + 1 return jnp.asarray([x1 + 2*xi[0]**2 - 3*xi[0] + 2*xi[1]**2 - 3*xi[1] + 1, xi[0]*(2*xi[0] - 1), xi[1]*(2*xi[1] - 1), x0*x2, x1, 4*x2*xi[1]]) case 10: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[1]**2 x2 = xi[0]*xi[1] x3 = 3*x0 x4 = 3*x1 x5 = 6*x2 + x3 + x4 - 5*xi[0] - 5*xi[1] + 2 x6 = 9*xi[0]/2 x7 = 3*xi[0] x8 = x7*xi[1] + 1 x9 = 9*x2/2 x10 = 9*xi[1]/2 return jnp.asarray([-27*x0*xi[1]/2 + 9*x0 - 27*x1*xi[0]/2 + 9*x1 - 9*xi[0]**3/2 + 18*xi[0]*xi[1] - 11*xi[0]/2 - 9*xi[1]**3/2 - 11*xi[1]/2 + 1, xi[0]*(9*x0 - 9*xi[0] + 2)/2, xi[1]*(9*x1 - 9*xi[1] + 2)/2, x5*x6, x6*(-x3 - x8 + 4*xi[0] + xi[1]), x9*(x7 - 1), x9*(3*xi[1] - 1), x10*(-x4 - x8 + xi[0] + 4*xi[1]), x10*x5, 27*x2*(-xi[0] - xi[1] + 1)]) case 15: def shape_functions(xi): x0 = xi[0]*xi[1] x1 = xi[0]**2 x2 = xi[0]**3 x3 = xi[1]**2 x4 = xi[1]**3 x5 = x3*xi[0] x6 = x1*xi[1] x7 = 8*x2 x8 = 8*x4 x9 = -36*x0 - 3 x10 = 18*x1 + 18*x3 - 24*x5 - 24*x6 - x7 - x8 - x9 - 13*xi[0] - 13*xi[1] x11 = 16*xi[0]/3 x12 = 7*xi[1] x13 = 32*x1 x14 = 4*x3 x15 = 4*xi[0] x16 = 7*xi[0] x17 = 8*x1 x18 = -6*xi[0]*xi[1] - 1 x19 = 16*x0/3 x20 = 4*xi[1] x21 = x15*xi[1] x22 = 8*x3 x23 = 16*xi[1]/3 x24 = 32*x3 x25 = 4*x1 x26 = 32*x0 x27 = x21 + 1 return jnp.asarray([140*x0/3 + 64*x1*x3 + 70*x1/3 + 128*x2*xi[1]/3 - 80*x2/3 + 70*x3/3 + 128*x4*xi[0]/3 - 80*x4/3 - 80*x5 - 80*x6 + 32*xi[0]**4/3 - 25*xi[0]/3 + 32*xi[1]**4/3 - 25*xi[1]/3 + 1, xi[0]*(-48*x1 + 32*x2 + 22*xi[0] - 3)/3, xi[1]*(-48*x3 + 32*x4 + 22*xi[1] - 3)/3, x10*x11, x15*(x12 + x13*xi[1] - x13 - x14 + 16*x2 + 16*x5 + x9 + 19*xi[0]), x11*(14*x1 - x16 - x17*xi[1] - x18 - x7 - xi[1]), x19*(x17 - 6*xi[0] + 1), x21*(16*x0 - x15 - x20 + 1), x19*(x22 - 6*xi[1] + 1), x23*(-x12 - x18 - x22*xi[0] + 14*x3 - x8 - xi[0]), x20*(x16 + x24*xi[0] - x24 - x25 + 16*x4 + 16*x6 + x9 + 19*xi[1]), x10*x23, x26*(8*x0 - x12 + x14 - x16 + x25 + 3), x26*(-x25 - x27 + 5*xi[0] + xi[1]), x26*(-x14 - x27 + xi[0] + 5*xi[1])]) case 21: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[0]**3 x2 = xi[0]**4 x3 = xi[1]**2 x4 = xi[1]**3 x5 = xi[1]**4 x6 = x3*xi[0] x7 = x0*xi[1] x8 = 250*xi[0] x9 = 250*xi[1] x10 = xi[0]*xi[1] x11 = 125*x2 x12 = 125*x5 x13 = x4*xi[0] x14 = x1*xi[1] x15 = x0*x3 x16 = 355*x0 - 350*x1 + 710*x10 + x11 + x12 + 500*x13 + 500*x14 + 750*x15 + 355*x3 - 350*x4 - 1050*x6 - 1050*x7 - 154*xi[0] - 154*xi[1] + 24 x17 = 25*xi[0]/24 x18 = 125*x4 x19 = x18*xi[0] x20 = -375*x6 x21 = 47*xi[1] x22 = 25*x4 x23 = 60*x3 x24 = 355*x10 + 375*x15 + 12 x25 = 25*xi[0]/12 x26 = -375*x7 x27 = 75*x6 x28 = 155*x10 + 125*x15 + 8 x29 = 6*xi[1] x30 = 125*x1 x31 = x30*xi[1] x32 = 55*xi[0] x33 = x32*xi[1] x34 = x33 + 6 x35 = 25*x10/24 x36 = 25*x0 x37 = -75*x10 - 2 x38 = 25*x10/12 x39 = 25*x3 x40 = 6*xi[0] x41 = 25*xi[1]/24 x42 = 75*x7 x43 = 25*xi[1]/12 x44 = 47*xi[0] x45 = 25*x1 x46 = 60*x0 x47 = 125*x10/6 x48 = x36*xi[1] x49 = -15*xi[0]*xi[1] - 2 x50 = x39*xi[0] x51 = 50*x0 x52 = -5*x3 + x50 x53 = -x33 - 4 x54 = 125*x10/4 x55 = -5*x0 + x48 x56 = 50*x3 return jnp.asarray([1875*x0*x3/4 - 3125*x0*x4/12 + 375*x0/8 - 3125*x1*x3/12 + 625*x1*xi[1]/2 - 2125*x1/24 - 3125*x2*xi[1]/24 + 625*x2/8 + 375*x3/8 + 625*x4*xi[0]/2 - 2125*x4/24 - 3125*x5*xi[0]/24 + 625*x5/8 - 2125*x6/8 - 2125*x7/8 - 625*xi[0]**5/24 + 375*xi[0]*xi[1]/4 - 137*xi[0]/12 - 625*xi[1]**5/24 - 137*xi[1]/12 + 1, xi[0]*(875*x0 - 1250*x1 + 625*x2 - x8 + 24)/24, xi[1]*(875*x3 - 1250*x4 + 625*x5 - x9 + 24)/24, x16*x17, x25*(675*x0*xi[1] - 295*x0 + 325*x1 - x11 - 375*x14 - x19 - x20 + x21 + x22 - x23 - x24 + 107*xi[0]), x25*(245*x0 + x1*x9 - 300*x1 + x11 + x26 - x27 + x28 + 10*x3 - 78*xi[0] - 18*xi[1]), x17*(150*x0*xi[1] - 205*x0 + 275*x1 - x11 + x29 - x31 - x34 + 61*xi[0]), x35*(-150*x0 + x30 + x32 - 6), x38*(-x36 + x37 + 125*x7 + 15*xi[0] + 10*xi[1]), x38*(x37 - x39 + 125*x6 + 10*xi[0] + 15*xi[1]), x35*(x18 - 150*x3 + 55*xi[1] - 6), x41*(-x12 - x19 + 150*x3*xi[0] - 205*x3 - x34 + 275*x4 + x40 + 61*xi[1]), x43*(10*x0 + x12 + x20 + x28 + 245*x3 + x4*x8 - 300*x4 - x42 - 18*xi[0] - 78*xi[1]), x43*(-x12 - 375*x13 - x24 - x26 + 675*x3*xi[0] - 295*x3 - x31 + 325*x4 + x44 + x45 - x46 + 107*xi[1]), x16*x41, x47*(-x21 - x22 + x23 - x27 - x42 - x44 - x45 + x46 + 120*xi[0]*xi[1] + 12), x47*(40*x0 - x45 - x48 - x49 - 17*xi[0] - 2*xi[1]), x47*(-x22 + 40*x3 - x49 - x50 - 2*xi[0] - 17*xi[1]), x54*(x45 + x51*xi[1] - x51 + x52 + x53 + 29*xi[0] + 9*xi[1]), x54*(-x29 - x40 - x52 - x55 + 35*xi[0]*xi[1] + 1), x54*(x22 + x53 + x55 + x56*xi[0] - x56 + 9*xi[0] + 29*xi[1])]) case 28: def shape_functions(xi): x0 = xi[0]*xi[1] x1 = xi[0]**2 x2 = xi[0]**3 x3 = xi[0]**4 x4 = xi[0]**5 x5 = xi[1]**2 x6 = xi[1]**3 x7 = xi[1]**4 x8 = xi[1]**5 x9 = x5*xi[0] x10 = x6*xi[0] x11 = x7*xi[0] x12 = x1*xi[1] x13 = x2*xi[1] x14 = x3*xi[1] x15 = x1*x5 x16 = x1*x6 x17 = 972*x7 x18 = x2*x5 x19 = 972*x3 x20 = 108*x4 x21 = 108*x8 x22 = -580*x0 - 2160*x15 - 10 x23 = 290*x1 - 540*x11 - 1395*x12 - 540*x14 - 1080*x16 - 1080*x18 + 1440*x2*xi[1] - 465*x2 - x20 - x21 - x22 + 360*x3 + 290*x5 + 1440*x6*xi[0] - 465*x6 + 360*x7 - 1395*x9 - 87*xi[0] - 87*xi[1] x24 = 18*xi[0]/5 x25 = 216*x4 x26 = 119*x5 x27 = 36*x7 x28 = 57*xi[1] x29 = 108*x6 x30 = 9*xi[0]/2 x31 = 45*x5 x32 = 18*x6 x33 = 37*xi[1] x34 = -1296*x1*x5 - 423*xi[0]*xi[1] - 10 x35 = 6*x5 x36 = 11*xi[1] x37 = 66*xi[0] x38 = 216*x15 x39 = -133*x0 - x38 - 5 x40 = 27*xi[0] x41 = 105*x1 x42 = 108*x3 x43 = -25*xi[0]*xi[1] - 2 x44 = 18*x0/5 x45 = 11*xi[0] x46 = -x45 x47 = x37*xi[1] + 1 x48 = 36*x2 x49 = 216*x13 x50 = -x48 + x49 x51 = 9*x0/2 x52 = 324*x15 x53 = -x36 x54 = 36*x6 x55 = 216*x10 x56 = -x54 + x55 x57 = 105*x5 x58 = 108*x7 x59 = 18*xi[1]/5 x60 = 6*x1 x61 = 66*xi[1] x62 = 216*x8 x63 = 9*xi[1]/2 x64 = 45*x1 x65 = 18*x2 x66 = 37*xi[0] x67 = 119*x1 x68 = 36*x3 x69 = 57*xi[0] x70 = 108*x2 x71 = -324*x12 x72 = 10 - 324*x9 x73 = 54*x0 x74 = x36*xi[0] + 1 x75 = x29*xi[0] - x32 x76 = 312*x0 + x52 x77 = 36*x0 x78 = x35 - 54*x9 x79 = 108*x15 x80 = 111*x0 + x79 + 5 x81 = -x65 + x70*xi[1] x82 = 69*x0 + x79 + 1 x83 = -54*x12 + x60 return jnp.asarray([812*x0/5 + x1*x17 + 406*x1/5 + 1260*x10 - 1134*x11 - 1323*x12/2 + 1260*x13 - 1134*x14 + 1890*x15 - 2268*x16 - 2268*x18 + x19*x5 + 1296*x2*x6 - 441*x2/2 + 315*x3 + 1944*x4*xi[1]/5 - 1134*x4/5 + 406*x5/5 - 441*x6/2 + 315*x7 + 1944*x8*xi[0]/5 - 1134*x8/5 - 1323*x9/2 + 324*xi[0]**6/5 - 147*xi[0]/10 + 324*xi[1]**6/5 - 147*xi[1]/10 + 1, xi[0]*(-675*x1 + 1530*x2 - 1620*x3 + 648*x4 + 137*xi[0] - 10)/10, xi[1]*(-675*x5 + 1530*x6 - 1620*x7 + 648*x8 + 137*xi[1] - 10)/10, x23*x24, x30*(-461*x1 - 792*x10 + 216*x11 + 1752*x12 - 2088*x13 + 864*x14 + 864*x16 + 1296*x18 + 822*x2 + x22 + x25 - x26 - x27 + x28 + x29 - 684*x3 + 1038*x9 + 117*xi[0]), 4*xi[0]*(558*x1 - 1530*x12 - 324*x16 - 972*x18 - x19*xi[1] + 2106*x2*xi[1] - 1089*x2 + 972*x3 + x31 - x32 - x33 - x34 - 324*x4 + 162*x6*xi[0] - 459*x9 - 127*xi[0]), x30*(-307*x1 + 528*x12 - 828*x13 + 432*x14 + 216*x18 + 642*x2 + x25 - 612*x3 - x35 + x36 + x37*x5 + x37 + x39), x24*(130*x1 + 180*x2*xi[1] - 285*x2 - x20 + 288*x3 - x40 - x41*xi[1] - x42*xi[1] - x43 - 2*xi[1]), x44*(-180*x2 + x41 + x42 - 25*xi[0] + 2), x51*(36*x1 - 216*x12 + x46 + x47 + x50 - 6*xi[1]), 4*x0*(81*x0 + 18*x1 - 162*x12 + 18*x5 + x52 - 162*x9 - 9*xi[0] - 9*xi[1] + 1), x51*(x47 + 36*x5 + x53 + x56 - 216*x9 - 6*xi[0]), x44*(x57 + x58 - 180*x6 - 25*xi[1] + 2), x59*(-x21 - x43 + 130*x5 - x57*xi[0] - x58*xi[0] + 180*x6*xi[0] - 285*x6 + 288*x7 - 2*xi[0] - 27*xi[1]), x63*(x1*x61 - 828*x10 + 432*x11 + 216*x16 + x39 + x45 - 307*x5 + 642*x6 - x60 + x61 + x62 - 612*x7 + 528*x9), 4*xi[1]*(-459*x12 - 972*x16 - x17*xi[0] - 324*x18 + 162*x2*xi[1] - x34 + 558*x5 + 2106*x6*xi[0] - 1089*x6 + x64 - x65 - x66 + 972*x7 - 324*x8 - 1530*x9 - 127*xi[1]), x63*(-2088*x10 + 864*x11 + 1038*x12 - 792*x13 + 216*x14 + 1296*x16 + 864*x18 + x22 - 461*x5 + 822*x6 + x62 - x67 - x68 + x69 - 684*x7 + x70 + 1752*x9 + 117*xi[1]), x23*x59, x73*(238*x0 + 144*x10 + 144*x13 + x26 + x27 - x28 - x29 + x38 + x67 + x68 - x69 - x70 + x71 + x72), x73*(36*x1*xi[1] - 47*x1 + 72*x2 - x48*xi[1] - x68 - x74 + 12*xi[0] + xi[1]), x73*(-x27 + 36*x5*xi[0] - 47*x5 - x54*xi[0] + 72*x6 - x74 + xi[0] + 12*xi[1]), x77*(594*x1*xi[1] - 267*x1 - 324*x13 + 288*x2 - x31 + x33 - x42 - x72 - x75 - x76 + 97*xi[0]), x77*(195*x1 - 306*x12 - 252*x2 + x42 + x49 + x53 + x78 + x80 - 56*xi[0]), x77*(180*x1*xi[1] - 27*x1 - x78 - x81 - x82 + 10*xi[0] + 7*xi[1]), x77*(180*x5*xi[0] - 27*x5 - x75 - x82 - x83 + 7*xi[0] + 10*xi[1]), x77*(x46 + 195*x5 + x55 + x58 - 252*x6 + x80 + x83 - 306*x9 - 56*xi[1]), x77*(-324*x10 + 594*x5*xi[0] - 267*x5 - x58 + 288*x6 - x64 + x66 - x71 - x76 - x81 + 97*xi[1] - 10), x40*xi[1]*(324*x0 + 72*x1 - 504*x12 + 432*x15 + 72*x5 + x50 + x56 - 504*x9 - 41*xi[0] - 41*xi[1] + 5)]) case 36: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[0]**3 x2 = xi[0]**4 x3 = xi[0]**5 x4 = xi[0]**6 x5 = xi[1]**2 x6 = xi[1]**3 x7 = xi[1]**4 x8 = xi[1]**5 x9 = xi[1]**6 x10 = x5*xi[0] x11 = x7*xi[0] x12 = x0*xi[1] x13 = x2*xi[1] x14 = x0*x6 x15 = x1*x5 x16 = xi[0]*xi[1] x17 = 16807*x4 x18 = 16807*x9 x19 = x6*xi[0] x20 = x8*xi[0] x21 = x1*xi[1] x22 = x3*xi[1] x23 = x0*x5 x24 = x0*x7 x25 = x1*x6 x26 = x2*x5 x27 = 35728*x0 - 81585*x1 - 244755*x10 - 324135*x11 - 244755*x12 - 324135*x13 - 648270*x14 - 648270*x15 + 71456*x16 + x17 + x18 + 404740*x19 + 101185*x2 + 100842*x20 + 404740*x21 + 100842*x22 + 607110*x23 + 252105*x24 + 336140*x25 + 252105*x26 - 64827*x3 + 35728*x5 - 81585*x6 + 101185*x7 - 64827*x8 - 8028*xi[0] - 8028*xi[1] + 720 x28 = 49*xi[0]/720 x29 = 16807*x8 x30 = x29*xi[0] x31 = 12005*x6 x32 = 2754*xi[1] x33 = 2401*x8 x34 = 8225*x5 x35 = 8575*x7 x36 = 35728*x16 + 303555*x23 + 168070*x25 + 360 x37 = 49*xi[0]/240 x38 = 16807*x24 x39 = 7203*x7*xi[0] x40 = 18410*x16 + 133427*x23 + 67228*x25 + 240 x41 = 49*xi[0]/144 x42 = 9751*x16 + 48363*x23 + 16807*x25 + 180 x43 = 24010*x15 x44 = 16807*x26 x45 = 4886*x16 + 12005*x23 + 144 x46 = 16807*x3 x47 = x46*xi[1] x48 = 29155*x1 x49 = 1918*xi[0] x50 = x49*xi[1] + 120 x51 = 49*x16/720 x52 = 2401*x2 x53 = 1715*x0 x54 = -24010*x21 x55 = 12005*x12 x56 = -2450*x16 - 24 x57 = 49*x16/240 x58 = -14406*x23 x59 = -1617*x16 + x58 - 12 x60 = 49*x16/144 x61 = 2401*x7 x62 = 1715*x5 x63 = -24010*x19 x64 = 12005*x10 x65 = 29155*x6 x66 = 49*xi[1]/720 x67 = 24010*x14 x68 = 49*xi[1]/240 x69 = 49*xi[1]/144 x70 = 7203*x2*xi[1] x71 = 12005*x1 x72 = 2754*xi[0] x73 = 2401*x3 x74 = 8225*x0 x75 = 8575*x2 x76 = 343*x16/120 x77 = x52*xi[1] x78 = -350*xi[0]*xi[1] - 24 x79 = x61*xi[0] x80 = -343*x7 + x79 x81 = -6972*x16 - 24696*x23 - 120 x82 = 343*x16/48 x83 = 7203*x15 x84 = 2401*x14 x85 = -1029*x19 + 98*x6 + x84 x86 = -9261*x0*x5 - 2751*xi[0]*xi[1] - 60 x87 = 343*x16/36 x88 = 2401*x15 x89 = 539*x10 - 42*x5 + x88 x90 = -2058*x23 x91 = -1085*x16 + x90 - 36 x92 = -343*x2 + x77 x93 = x90 - 658*xi[0]*xi[1] - 6 x94 = 98*x1 - 1029*x21 + x88 x95 = -42*x0 + 539*x12 + x84 x96 = 7203*x14 x97 = 343*x16/24 x98 = -1365*x16 - 6860*x23 - 12 return jnp.asarray([16807*x0*x5/3 + 117649*x0*x7/12 - 823543*x0*x8/240 + 22981*x0/180 + 117649*x1*x6/9 - 823543*x1*x7/144 + 33614*x1*xi[1]/9 - 331681*x1/720 - 331681*x10/240 - 386561*x11/72 - 331681*x12/240 - 386561*x13/72 - 386561*x14/36 - 386561*x15/36 + 117649*x2*x5/12 - 823543*x2*x6/144 + 16807*x2/18 - 823543*x3*x5/240 + 117649*x3*xi[1]/30 - 386561*x3/360 - 823543*x4*xi[1]/720 + 117649*x4/180 + 22981*x5/180 + 33614*x6*xi[0]/9 - 331681*x6/720 + 16807*x7/18 + 117649*x8*xi[0]/30 - 386561*x8/360 - 823543*x9*xi[0]/720 + 117649*x9/180 - 117649*xi[0]**7/720 + 22981*xi[0]*xi[1]/90 - 363*xi[0]/20 - 117649*xi[1]**7/720 - 363*xi[1]/20 + 1, xi[0]*(79576*x0 - 252105*x1 + 420175*x2 - 352947*x3 + 117649*x4 - 12348*xi[0] + 720)/720, xi[1]*(79576*x5 - 252105*x6 + 420175*x7 - 352947*x8 + 117649*x9 - 12348*xi[1] + 720)/720, x27*x28, x37*(264110*x0*x6 + 151165*x0*xi[1] - 27503*x0 + 384160*x1*x5 + 69580*x1 - x17 - 118335*x19 + 252105*x2*xi[1] - 92610*x2 - 286405*x21 - 84035*x22 - 84035*x24 - 168070*x26 + 62426*x3 - x30 + x31 + x32 + x33 - x34 - x35 - x36 + 93590*x5*xi[0] + 72030*x7*xi[0] + 5274*xi[0]), x41*(21784*x0 - 59731*x1 - 32781*x10 - 90356*x12 - 187278*x13 - 81634*x14 - 201684*x15 + x17 + 25382*x19 + 84721*x2 + 193452*x21 + 67228*x22 + 100842*x26 - 60025*x3 + x38 - x39 + x40 + 2506*x5 - 2156*x6 + 686*x7 - 3796*xi[0] - 1276*xi[1]), x41*(14406*x0*x6 + 51744*x0*xi[1] - 17815*x0 + 86436*x1*x5 + 51744*x1 - x17 - 3773*x19 + 129654*x2*xi[1] - 77518*x2 - 122108*x21 - 50421*x22 - 50421*x26 + 57624*x3 - x42 + 10584*x5*xi[0] - 756*x5 + 294*x6 + 2952*xi[0] + 642*xi[1]), x37*(15008*x0 - 45325*x1 - 2450*x10 - 27195*x12 - 79233*x13 + x17 + 71001*x2 + 68600*x21 + 33614*x22 - 55223*x3 - x43 + x44 + x45 + 168*x5 - 2412*xi[0] - 312*xi[1]), x28*(11025*x0*xi[1] - 12943*x0 + 40180*x1 - x17 + 36015*x2*xi[1] - 65170*x2 + 52822*x3 - x47 - x48*xi[1] - x50 + 2038*xi[0] + 120*xi[1]), x51*(-11025*x0 - 36015*x2 + x46 + x48 + x49 - 120), x57*(3430*x1 + 16807*x13 - x52 - x53 + x54 + x55 + x56 + 350*xi[0] + 168*xi[1]), x60*(-588*x0 + 686*x1 + 3773*x10 + 6174*x12 + 16807*x15 - 7203*x21 - 294*x5 + x59 + 154*xi[0] + 126*xi[1]), x60*(-294*x0 + 6174*x10 + 3773*x12 + 16807*x14 - 7203*x19 - 588*x5 + x59 + 686*x6 + 126*xi[0] + 154*xi[1]), x57*(16807*x11 + x56 + 3430*x6 - x61 - x62 + x63 + x64 + 168*xi[0] + 350*xi[1]), x51*(x29 - 11025*x5 + x65 - 36015*x7 + 1918*xi[1] - 120), x66*(-x18 - x30 + 11025*x5*xi[0] - 12943*x5 - x50 + 40180*x6 - x65*xi[0] + 36015*x7*xi[0] - 65170*x7 + 52822*x8 + 120*xi[0] + 2038*xi[1]), x68*(168*x0 - 27195*x10 - 79233*x11 - 2450*x12 + x18 + 68600*x19 + 33614*x20 + x38 + x45 + 15008*x5 - 45325*x6 - x67 + 71001*x7 - 55223*x8 - 312*xi[0] - 2412*xi[1]), x69*(86436*x0*x6 + 10584*x0*xi[1] - 756*x0 + 14406*x1*x5 + 294*x1 - x18 - 122108*x19 - 50421*x20 - 3773*x21 - 50421*x24 - x42 + 51744*x5*xi[0] - 17815*x5 + 51744*x6 + 129654*x7*xi[0] - 77518*x7 + 57624*x8 + 642*xi[0] + 2952*xi[1]), x69*(2506*x0 - 2156*x1 - 90356*x10 - 187278*x11 - 32781*x12 - 201684*x14 - 81634*x15 + x18 + 193452*x19 + 686*x2 + 67228*x20 + 25382*x21 + 100842*x24 + x40 + x44 + 21784*x5 - 59731*x6 + 84721*x7 - x70 - 60025*x8 - 1276*xi[0] - 3796*xi[1]), x68*(384160*x0*x6 + 93590*x0*xi[1] + 264110*x1*x5 - x18 - 286405*x19 + 72030*x2*xi[1] - 84035*x20 - 118335*x21 - 168070*x24 - 84035*x26 - x36 - x47 + 151165*x5*xi[0] - 27503*x5 + 69580*x6 + 252105*x7*xi[0] - 92610*x7 + x71 + x72 + x73 - x74 - x75 + 62426*x8 + 5274*xi[1]), x27*x66, x76*(51450*x0*x5 + 34300*x1*xi[1] - 36015*x10 - 12005*x11 - 36015*x12 - 12005*x13 - x31 - x32 - x33 + x34 + x35 - x43 + 34300*x6*xi[0] - x67 - x71 - x72 - x73 + x74 + x75 + 16450*xi[0]*xi[1] + 360), x76*(2065*x0 + 3430*x1*xi[1] - 5145*x1 + 5831*x2 - x53*xi[1] - x73 - x77 - x78 - 374*xi[0] - 24*xi[1]), x76*(-x33 + 2065*x5 + 3430*x6*xi[0] - 5145*x6 - x62*xi[0] + 5831*x7 - x78 - x79 - 24*xi[0] - 374*xi[1]), x82*(-5719*x0 + 9849*x1 + 20776*x12 + 9604*x13 + 9604*x14 + 14406*x15 - 8918*x19 - 7889*x2 - 1253*x5 + x54 + 1078*x6 + x64 + x73 + x80 + x81 + 1478*xi[0] + 638*xi[1]), x87*(3969*x0 + 15435*x1*xi[1] - 7987*x1 - 2940*x10 - 10829*x12 + 7203*x2 + 252*x5 - x70 - x73 - x83 - x85 - x86 - 844*xi[0] - 214*xi[1]), x82*(-2807*x0 + 6419*x1 + 4900*x12 + 4802*x13 - 6517*x2 - 8575*x21 + x73 + x89 + x91 + 540*xi[0] + 78*xi[1]), x82*(371*x0 + 4802*x1*xi[1] - 637*x1 - 2891*x12 - x89 - x92 - x93 - 83*xi[0] - 48*xi[1]), x87*(4459*x0*x5 + 140*x0 - 1568*x10 - 1568*x12 + 140*x5 - x85 - x94 + 525*xi[0]*xi[1] - 46*xi[0] - 46*xi[1] + 4), x82*(-2891*x10 + 371*x5 + 4802*x6*xi[0] - 637*x6 - x80 - x93 - x95 - 48*xi[0] - 83*xi[1]), x82*(4900*x10 + 4802*x11 - 8575*x19 + x33 - 2807*x5 + 6419*x6 - 6517*x7 + x91 + x95 + 78*xi[0] + 540*xi[1]), x87*(252*x0 - 10829*x10 - 2940*x12 - x33 - x39 + 3969*x5 + 15435*x6*xi[0] - 7987*x6 + 7203*x7 - x86 - x94 - x96 - 214*xi[0] - 844*xi[1]), x82*(-1253*x0 + 1078*x1 + 20776*x10 + 9604*x11 + 14406*x14 + 9604*x15 - 8918*x21 + x33 - 5719*x5 + x55 + 9849*x6 + x63 - 7889*x7 + x81 + x92 + 638*xi[0] + 1478*xi[1]), x97*(875*x0 + 7546*x1*xi[1] - 931*x1 - 8036*x10 - 8036*x12 + 875*x5 - x58 + 7546*x6*xi[0] - 931*x6 - x80 - x83 - x92 - x96 + 3220*xi[0]*xi[1] - 317*xi[0] - 317*xi[1] + 30), x97*(-581*x0 + 784*x1 + 2254*x10 + 4998*x12 + 4802*x15 - 6174*x21 - 196*x5 + x85 + x92 + x98 + 152*xi[0] + 110*xi[1]), x97*(-196*x0 + 4998*x10 + 2254*x12 + 4802*x14 - 6174*x19 - 581*x5 + 784*x6 + x80 + x94 + x98 + 110*xi[0] + 152*xi[1])]) case 45: def shape_functions(xi): x0 = xi[0]*xi[1] x1 = xi[0]**2 x2 = xi[0]**3 x3 = xi[0]**4 x4 = xi[0]**5 x5 = xi[0]**6 x6 = xi[0]**7 x7 = xi[1]**2 x8 = xi[1]**3 x9 = xi[1]**4 x10 = xi[1]**5 x11 = xi[1]**6 x12 = xi[1]**7 x13 = x7*xi[0] x14 = x8*xi[0] x15 = x9*xi[0] x16 = x10*xi[0] x17 = x11*xi[0] x18 = x1*xi[1] x19 = x2*xi[1] x20 = x3*xi[1] x21 = x4*xi[1] x22 = x5*xi[1] x23 = x1*x7 x24 = x1*x8 x25 = x1*x9 x26 = x1*x10 x27 = x2*x7 x28 = x2*x8 x29 = x2*x9 x30 = 65536*x29 x31 = x3*x7 x32 = x3*x8 x33 = 65536*x32 x34 = x4*x7 x35 = 16384*x6 x36 = 16384*x12 x37 = -48860*x0 - 772800*x23 - 1433600*x28 - 315 x38 = 1075200*x1*x9 + 24430*x1 + 430080*x10*xi[0] - 130816*x10 + 71680*x11 - 221088*x13 - 654080*x15 - 114688*x17 - 221088*x18 + 515200*x2*xi[1] - 73696*x2 - 654080*x20 - 114688*x22 - 1308160*x24 - 344064*x26 - 1308160*x27 - 573440*x29 + 1075200*x3*x7 + 128800*x3 - 573440*x32 - 344064*x34 - x35 - x36 - x37 + 430080*x4*xi[1] - 130816*x4 + 71680*x5 + 24430*x7 + 515200*x8*xi[0] - 73696*x8 + 128800*x9 - 4329*xi[0] - 4329*xi[1] x39 = 64*xi[0]/315 x40 = 32768*x6 x41 = 28480*x9 x42 = 12154*x7 x43 = 4096*x11 x44 = 3069*xi[1] x45 = 16896*x10 x46 = 25080*x8 x47 = 16*xi[0]/45 x48 = 2070*x7 x49 = 1920*x9 x50 = 512*x10 x51 = 743*xi[1] x52 = 2840*x8 x53 = -180000*x1*x7 - 307200*x2*x8 - 13056*xi[0]*xi[1] - 105 x54 = 64*xi[0]/45 x55 = 262144*x5 x56 = 49152*x25 x57 = -29476*x0 - 307200*x23 - 409600*x28 - 315 x58 = 252*x7 x59 = 96*x8 x60 = 219*xi[1] x61 = -28320*x1*x7 - 20480*x2*x8 - 4154*xi[0]*xi[1] - 63 x62 = 61440*x31 x63 = -4350*x0 - 14400*x23 - 105 x64 = 45*xi[1] x65 = 6496*x1 x66 = 16384*x5 x67 = 44800*x3 x68 = -882*xi[0]*xi[1] - 45 x69 = 64*x0/315 x70 = 5440*x2 x71 = 4096*x4 x72 = 274*xi[0] x73 = -61440*x20 x74 = 32768*x21 x75 = 2192*x0 + 15 x76 = 16*x0/45 x77 = 600*x0 + 8960*x23 + 3 x78 = 64*x0/45 x79 = 5440*x8 x80 = 4096*x10 x81 = -61440*x15 x82 = 32768*x16 x83 = 6496*x7 x84 = 44800*x9 x85 = 16384*x11 x86 = 45*xi[0] x87 = 64*xi[1]/315 x88 = 32768*x12 x89 = 61440*x25 x90 = 16*xi[1]/45 x91 = 252*x1 x92 = 96*x2 x93 = 219*xi[0] x94 = 64*xi[1]/45 x95 = 262144*x11 x96 = 49152*x31 x97 = 2070*x1 x98 = 1920*x3 x99 = 512*x4 x100 = 743*xi[0] x101 = 2840*x2 x102 = 28480*x3 x103 = 12154*x1 x104 = 4096*x5 x105 = 3069*xi[0] x106 = 16896*x4 x107 = 25080*x2 x108 = 24576*x16 x109 = 24576*x21 x110 = 256*x0/45 x111 = x71*xi[1] x112 = x72*xi[1] + 15 x113 = x80*xi[0] x114 = -17920*x15 x115 = x113 - x50 x116 = 10084*x0 + 79680*x23 + 40960*x28 + 105 x117 = 256*x0/15 x118 = 8192*x5 x119 = 3072*x9 x120 = -x119*xi[0] + 8192*x25 + 256*x9 x121 = 8404*x0 + 63616*x23 + 32768*x28 + 105 x122 = 128*x0/9 x123 = 24576*x31 x124 = -6144*x1*x8 + 1408*x14 - x59 x125 = 8192*x28 x126 = 3716*x0 + x125 + 20352*x23 + 63 x127 = -17920*x20 x128 = -400*x13 - 5120*x27 + 4096*x31 + 24*x7 x129 = 8192*x21 + 21 x130 = 2240*x23 x131 = 798*x0 + x130 x132 = x111 - x99 x133 = 474*x0 + x130 + 3 x134 = 3072*x3 x135 = -x134*xi[1] + 256*x3 + 8192*x31 x136 = 608*x0 + x125 + 9856*x23 + 3 x137 = 1408*x19 - 6144*x2*x7 - x92 x138 = 24*x1 - 400*x18 - 5120*x24 + 4096*x25 x139 = 8192*x16 + 21 x140 = 8192*x11 x141 = 24576*x25 x142 = 16384*x21 - 2048*x4 x143 = -2048*x10 + 16384*x16 x144 = 32*x0/3 x145 = 16384*x28 x146 = 3532*x0 + x145 + 30208*x23 + 21 x147 = 3644*x0 + 39424*x23 + 24576*x28 x148 = 256*x0/9 return jnp.asarray([118124*x0/315 + 524288*x1*x11/45 + 59062*x1/315 + 1048576*x10*x2/45 - 18432*x10/5 + 53248*x11/15 + 1048576*x12*xi[0]/315 - 65536*x12/35 - 12816*x13/5 + 136832*x14/15 - 18432*x15 + 106496*x16/5 - 65536*x17/5 - 12816*x18/5 + 136832*x19/15 - 4272*x2/5 - 18432*x20 + 106496*x21/5 - 65536*x22/5 + 68416*x23/5 - 36864*x24 + 53248*x25 - 196608*x26/5 - 36864*x27 + 212992*x28/3 + 262144*x3*x9/9 + 34208*x3/15 - x30 + 53248*x31 - x33 - 196608*x34/5 + 1048576*x4*x8/45 - 18432*x4/5 + 524288*x5*x7/45 + 53248*x5/15 + 1048576*x6*xi[1]/315 - 65536*x6/35 + 59062*x7/315 - 4272*x8/5 + 34208*x9/15 + 131072*xi[0]**8/315 - 761*xi[0]/35 + 131072*xi[1]**8/315 - 761*xi[1]/35 + 1, xi[0]*(-52528*x1 + 216608*x2 - 501760*x3 + 659456*x4 - 458752*x5 + 131072*x6 + 6534*xi[0] - 315)/315, xi[1]*(659456*x10 - 458752*x11 + 131072*x12 - 52528*x7 + 216608*x8 - 501760*x9 + 6534*xi[1] - 315)/315, x38*x39, x47*(-36706*x1 + 172472*x13 - 314560*x14 + 312320*x15 - 159744*x16 + 32768*x17 + 269704*x18 - 715840*x19 + 122312*x2 + 995840*x20 - 700416*x21 + 196608*x22 + 1080320*x24 - 737280*x25 + 196608*x26 + 1536000*x27 + 491520*x29 - 229120*x3 - 1413120*x31 + 655360*x32 + 491520*x34 + x37 + 244736*x4 + x40 - x41 - x42 - x43 + x44 + x45 + x46 - 139264*x5 + 5589*xi[0]), x54*(92160*x1*x9 + 14346*x1 + 6144*x10*xi[0] - 33360*x13 - 25600*x15 - 81976*x18 + 242400*x2*xi[1] - 51456*x2 - 367360*x20 - 81920*x22 - 188160*x24 - 16384*x26 - 416000*x27 - 81920*x29 + 430080*x3*x7 + 102240*x3 - 163840*x32 - 163840*x34 - x35 + 276480*x4*xi[1] - 114432*x4 + x48 + x49 + 67584*x5 - x50 - x51 - x52 - x53 + 41760*x8*xi[0] - 2003*xi[0]), 4*xi[0]*(-46624*x1 + 51664*x13 - 39680*x14 + 11264*x15 + 198176*x18 - 634880*x19 + 175888*x2 + 1038336*x20 - 835584*x21 + 204800*x24 + 803840*x27 - 366592*x3 + x30 - 933888*x31 + 262144*x32 + 393216*x34 + 428032*x4 + x55*xi[1] - x55 - x56 + x57 + 65536*x6 - 3012*x7 + 2496*x8 - 768*x9 + 6219*xi[0] + 1599*xi[1])/9, x54*(9782*x1 - 4488*x13 - 29128*x18 + 98560*x2*xi[1] - 38176*x2 - 171776*x20 - 49152*x22 - 8960*x24 - 80640*x27 + 104448*x3*x7 + 82592*x3 - 16384*x32 - 49152*x34 - x35 + 147456*x4*xi[1] - 100096*x4 + 63488*x5 + x58 - x59 - x60 - x61 + 1600*x8*xi[0] - 1269*xi[0]), x47*(-16830*x1 + 2192*x13 + 31384*x18 - 110400*x19 + 67272*x2 + 202240*x20 - 184320*x21 + 65536*x22 + 43520*x27 - 149760*x3 + 32768*x34 + 187392*x4 + x40 - 122880*x5 - x62 + x63 - 120*x7 + 2143*xi[0] + 225*xi[1]), x39*(7378*x1 + 23520*x2*xi[1] - 30016*x2 + 68320*x3 - x35 + 43008*x4*xi[1] - 87808*x4 + 59392*x5 - x64 - x65*xi[1] - x66*xi[1] - x67*xi[1] - x68 - 927*xi[0]), x69*(-23520*x2 - 43008*x4 + x65 + x66 + x67 - 882*xi[0] + 45), x76*(1800*x1 - 14400*x18 + 43520*x19 + 7680*x3 - x70 - x71 - x72 + x73 + x74 + x75 - 120*xi[1]), x78*(280*x1 - 1600*x13 - 3360*x18 + 7680*x19 - 640*x2 - 6144*x20 - 20480*x27 + 512*x3 + 16384*x31 + 96*x7 + x77 - 50*xi[0] - 36*xi[1]), 4*x0*(1936*x0 + 576*x1 - 8448*x13 + 11264*x14 - 8448*x18 + 11264*x19 - 768*x2 + 36864*x23 - 49152*x24 - 49152*x27 + 65536*x28 + 576*x7 - 768*x8 - 132*xi[0] - 132*xi[1] + 9)/9, x78*(96*x1 - 3360*x13 + 7680*x14 - 6144*x15 - 1600*x18 - 20480*x24 + 16384*x25 + 280*x7 + x77 - 640*x8 + 512*x9 - 36*xi[0] - 50*xi[1]), x76*(-14400*x13 + 43520*x14 + 1800*x7 + x75 - x79 - x80 + x81 + x82 + 7680*x9 - 120*xi[0] - 274*xi[1]), x69*(-43008*x10 - 23520*x8 + x83 + x84 + x85 - 882*xi[1] + 45), x87*(43008*x10*xi[0] - 87808*x10 + 59392*x11 - x36 - x68 + 7378*x7 + 23520*x8*xi[0] - 30016*x8 - x83*xi[0] - x84*xi[0] - x85*xi[0] - x86 + 68320*x9 - 927*xi[1]), x90*(-120*x1 + 187392*x10 - 122880*x11 + 31384*x13 - 110400*x14 + 202240*x15 - 184320*x16 + 65536*x17 + 2192*x18 + 43520*x24 + 32768*x26 + x63 - 16830*x7 + 67272*x8 + x88 - x89 - 149760*x9 + 225*xi[0] + 2143*xi[1]), x94*(104448*x1*x9 + 147456*x10*xi[0] - 100096*x10 + 63488*x11 - 29128*x13 - 171776*x15 - 49152*x17 - 4488*x18 + 1600*x2*xi[1] - 80640*x24 - 49152*x26 - 8960*x27 - 16384*x29 - x36 - x61 + 9782*x7 + 98560*x8*xi[0] - 38176*x8 + 82592*x9 + x91 - x92 - x93 - 1269*xi[1]), 4*xi[1]*(-3012*x1 + 428032*x10 + 65536*x12 + 198176*x13 - 634880*x14 + 1038336*x15 - 835584*x16 + 51664*x18 - 39680*x19 + 2496*x2 + 11264*x20 + 803840*x24 - 933888*x25 + 393216*x26 + 204800*x27 + 262144*x29 - 768*x3 + x33 + x57 - 46624*x7 + 175888*x8 - 366592*x9 + x95*xi[0] - x95 - x96 + 1599*xi[0] + 6219*xi[1])/9, x94*(430080*x1*x9 + 276480*x10*xi[0] - 114432*x10 - x100 - x101 + 67584*x11 - 81976*x13 - 367360*x15 - 81920*x17 - 33360*x18 + 41760*x2*xi[1] - 25600*x20 - 416000*x24 - 163840*x26 - 188160*x27 - 163840*x29 + 92160*x3*x7 - 81920*x32 - 16384*x34 - x36 + 6144*x4*xi[1] - x53 + 14346*x7 + 242400*x8*xi[0] - 51456*x8 + 102240*x9 + x97 + x98 - x99 - 2003*xi[1]), x90*(244736*x10 - x102 - x103 - x104 + x105 + x106 + x107 - 139264*x11 + 269704*x13 - 715840*x14 + 995840*x15 - 700416*x16 + 196608*x17 + 172472*x18 - 314560*x19 + 312320*x20 - 159744*x21 + 32768*x22 + 1536000*x24 - 1413120*x25 + 491520*x26 + 1080320*x27 + 655360*x29 - 737280*x31 + 491520*x32 + 196608*x34 + x37 - 36706*x7 + 122312*x8 + x88 - 229120*x9 + 5589*xi[1]), x38*x87, x110*(24308*x0 + x102 + x103 + x104 - x105 - x106 - x107 + x108 + x109 - 75240*x13 + 113920*x14 - 84480*x15 - 75240*x18 + 113920*x19 - 84480*x20 + 170880*x23 - 168960*x24 - 168960*x27 + 81920*x28 + x41 + x42 + x43 - x44 - x45 - x46 + x62 + x89 + 315), x110*(1800*x1*xi[1] - 2074*x1 - x104 - x111 - x112 + 7240*x2 + 7680*x3*xi[1] - 13120*x3 + 11776*x4 - x70*xi[1] + 289*xi[0] + 15*xi[1]), x110*(11776*x10 - x112 - x113 - x43 + 1800*x7*xi[0] - 2074*x7 - x79*xi[0] + 7240*x8 + 7680*x9*xi[0] - 13120*x9 + 15*xi[0] + 289*xi[1]), x117*(66560*x1*x8 + 41640*x1*xi[1] - 8014*x1 - x104 - x114 - x115 - x116 - 30400*x14 - 75840*x19 + 97280*x2*x7 + 19400*x2 - 20480*x21 - 20480*x25 + 64000*x3*xi[1] - 24640*x3 - 40960*x31 + 15872*x4 - x48 - x49 + x51 + x52 + 25080*x7*xi[0] + 1583*xi[0]), x122*(10760*x1 + x118 + x120 + x121 - 14544*x13 + 11008*x14 - 43648*x18 + 95232*x19 - 29936*x2 - 92160*x20 - 38912*x24 - 98304*x27 + 42368*x3 - 29696*x4 + 1004*x7 + x74 - 832*x8 + x96 - 1793*xi[0] - 533*xi[1]), x122*(21696*x1*xi[1] - 7496*x1 - x109 - x118 - x123 - x124 - x126 - 55168*x19 + 39936*x2*x7 + 23184*x2 - 36224*x3 + 27648*x4 - x58 + x60 + 3984*x7*xi[0] - x73 + 1143*xi[0]), x117*(2734*x1 + x104 + x127 + x128 + x129 + x131 - 5000*x18 + 14080*x19 - 9080*x2 + 15424*x3 - 12800*x4 - x64 - 395*xi[0]), x117*(2920*x1*xi[1] - 330*x1 - x128 - x132 - x133 - 8000*x19 + 920*x2 + 9728*x3*xi[1] - 1152*x3 + 53*xi[0] + 27*xi[1]), x122*(3024*x1*xi[1] - 236*x1 - x124 - x135 - x136 - 5632*x19 + 17408*x2*x7 + 448*x2 + 2032*x7*xi[0] - 132*x7 + 47*xi[0] + 39*xi[1]), x122*(17408*x1*x8 + 2032*x1*xi[1] - 132*x1 - x120 - x136 - x137 - 5632*x14 + 3024*x7*xi[0] - 236*x7 + 448*x8 + 39*xi[0] + 47*xi[1]), x117*(-x115 - x133 - x138 - 8000*x14 + 2920*x7*xi[0] - 330*x7 + 920*x8 + 9728*x9*xi[0] - 1152*x9 + 27*xi[0] + 53*xi[1]), x117*(-12800*x10 + x114 - 5000*x13 + x131 + x138 + x139 + 14080*x14 + x43 + 2734*x7 - 9080*x8 - x86 + 15424*x9 - 395*xi[1]), x122*(39936*x1*x8 + 3984*x1*xi[1] + 27648*x10 - x108 - x126 - x137 - 55168*x14 - x140 - x141 + 21696*x7*xi[0] - 7496*x7 + 23184*x8 - x81 - 36224*x9 - x91 + x93 + 1143*xi[1]), x122*(1004*x1 - 29696*x10 + x121 - 43648*x13 + x135 + 95232*x14 + x140 - 92160*x15 - 14544*x18 + 11008*x19 - 832*x2 - 98304*x24 - 38912*x27 + x56 + 10760*x7 - 29936*x8 + x82 + 42368*x9 - 533*xi[0] - 1793*xi[1]), x117*(97280*x1*x8 + 25080*x1*xi[1] + 15872*x10 + x100 + x101 - x116 - x127 - x132 - 75840*x14 - 20480*x16 - 30400*x19 + 66560*x2*x7 - 40960*x25 - 20480*x31 - x43 + 41640*x7*xi[0] - 8014*x7 + 19400*x8 + 64000*x9*xi[0] - 24640*x9 - x97 - x98 + 1583*xi[1]), x144*(17256*x0 + 5268*x1 - 60704*x13 + 91904*x14 + x142 + x143 - 63488*x15 - 60704*x18 + 91904*x19 - 8864*x2 - 63488*x20 + 169984*x23 - 180224*x24 + 65536*x25 - 180224*x27 + 98304*x28 + 6912*x3 + 65536*x31 + 5268*x7 - 8864*x8 + 6912*x9 - 1373*xi[0] - 1373*xi[1] + 105), x144*(2028*x1 - 6016*x13 + 2816*x14 + x142 + x146 - 19808*x18 + 47104*x19 - 5024*x2 - 47104*x20 - 12288*x24 - 57344*x27 + 5376*x3 + 32768*x31 + 384*x7 - 192*x8 - 353*xi[0] - 213*xi[1]), x144*(384*x1 - 19808*x13 + 47104*x14 + x143 + x146 - 47104*x15 - 6016*x18 + 2816*x19 - 192*x2 - 57344*x24 + 32768*x25 - 12288*x27 + 2028*x7 - 5024*x8 + 5376*x9 - 213*xi[0] - 353*xi[1]), x148*(31744*x1*x8 + 17504*x1*xi[1] - 1632*x1 - x120 - x123 - x129 - x134 - 9216*x14 - x147 - 33536*x19 + 55296*x2*x7 + 3376*x2 + 27648*x3*xi[1] + 1024*x4 + 9456*x7*xi[0] - 668*x7 + 704*x8 + 325*xi[0] + 241*xi[1]), x148*(1384*x0 + 412*x1 + x120 - 5616*x13 + x135 + 7424*x14 + x145 - 5616*x18 + 7424*x19 - 576*x2 + 21504*x23 - 24576*x24 - 24576*x27 + 412*x7 - 576*x8 - 99*xi[0] - 99*xi[1] + 7), x148*(55296*x1*x8 + 9456*x1*xi[1] - 668*x1 + 1024*x10 - x119 - x135 - x139 - 33536*x14 - x141 - x147 - 9216*x19 + 31744*x2*x7 + 704*x2 + 17504*x7*xi[0] - 1632*x7 + 3376*x8 + 27648*x9*xi[0] + 241*xi[0] + 325*xi[1])]) case 55: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[0]**3 x2 = xi[0]**4 x3 = xi[0]**5 x4 = xi[0]**6 x5 = xi[0]**7 x6 = xi[0]**8 x7 = xi[1]**2 x8 = xi[1]**3 x9 = xi[1]**4 x10 = xi[1]**5 x11 = xi[1]**6 x12 = xi[1]**7 x13 = xi[1]**8 x14 = x7*xi[0] x15 = x9*xi[0] x16 = x11*xi[0] x17 = x0*xi[1] x18 = x2*xi[1] x19 = x4*xi[1] x20 = x0*x8 x21 = x0*x10 x22 = x1*x7 x23 = x1*x9 x24 = x2*x8 x25 = x3*x7 x26 = 29760696*x3 x27 = 29760696*x10 x28 = xi[0]*xi[1] x29 = 531441*x6 x30 = 531441*x13 x31 = x8*xi[0] x32 = x10*xi[0] x33 = x12*xi[0] x34 = x1*xi[1] x35 = x3*xi[1] x36 = x5*xi[1] x37 = x0*x7 x38 = x0*x9 x39 = x0*x11 x40 = x1*x8 x41 = x2*x7 x42 = x2*x9 x43 = x4*x7 x44 = 509004*x0 + x1*x27 - 1932084*x1 - 6286896*x10 + 5419386*x11 - 2598156*x12 - 5796252*x14 - 31434480*x15 - 18187092*x16 - 5796252*x17 - 31434480*x18 - 18187092*x19 + 4426569*x2 - 62868960*x20 - 54561276*x21 - 62868960*x22 - 90935460*x23 - 90935460*x24 - 54561276*x25 + x26*x8 + 1018008*x28 + x29 - 6286896*x3 + x30 + 17706276*x31 + 32516316*x32 + 4251528*x33 + 17706276*x34 + 32516316*x35 + 4251528*x36 + 26559414*x37 + 81290790*x38 + 14880348*x39 + 5419386*x4 + 108387720*x40 + 81290790*x41 + 37200870*x42 + 14880348*x43 - 2598156*x5 + 509004*x7 - 1932084*x8 + 4426569*x9 - 73744*xi[0] - 73744*xi[1] + 4480 x45 = 81*xi[0]/4480 x46 = 531441*x12 x47 = x46*xi[0] x48 = 540918*x10 x49 = 363321*x8 x50 = 59049*x12 x51 = 26792*xi[1] x52 = 133938*x7 x53 = 275562*x11 x54 = 578340*x9 x55 = x1*x10 x56 = x3*x8 x57 = 509004*x28 + 13279707*x37 + 54193860*x40 + 18600435*x42 + 2240 x58 = 81*xi[0]/1120 x59 = 1594323*x6 x60 = 531441*x16 x61 = 836832*x28 + 19308537*x37 + 73023930*x40 + 23914845*x42 + 4480 x62 = 9*xi[0]/160 x63 = 26190*x8 x64 = 7516*xi[1] x65 = 4374*x10 x66 = 17010*x9 x67 = 19950*x7 x68 = 72171*x10 x69 = 163914*x28 + 3014415*x37 + 9415035*x40 + 2657205*x42 + 1120 x70 = 81*xi[0]/320 x71 = 98580*x28 + 1325889*x37 + 2886840*x40 + 531441*x42 + 896 x72 = 174282*x28 + 1511946*x37 + 1673055*x40 + 2240 x73 = 1240029*x25 x74 = 31428*x28 + 131544*x37 + 640 x75 = 531441*x5 x76 = x75*xi[1] x77 = 548289*x1 x78 = 2112642*x3 x79 = 13068*xi[0] x80 = x79*xi[1] + 560 x81 = 81*x28/4480 x82 = 127575*x2 x83 = 59049*x4 x84 = 14616*x0 x85 = 531441*x19 x86 = -15876*x28 - 80 x87 = 81*x28/1120 x88 = -22194*x28 - 492075*x37 - 80 x89 = 9*x28/160 x90 = -1296*x7 x91 = 531441*x24 x92 = -4950*x28 - 153090*x37 - 590490*x40 - 16 x93 = 81*x28/320 x94 = -1296*x0 x95 = 531441*x23 x96 = 127575*x9 x97 = 59049*x11 x98 = 14616*x7 x99 = 548289*x8 x100 = 2112642*x10 x101 = 81*xi[1]/4480 x102 = 1240029*x21 x103 = 81*xi[1]/1120 x104 = 1594323*x13 x105 = 9*xi[1]/160 x106 = 81*xi[1]/320 x107 = 26190*x1 x108 = 7516*xi[0] x109 = 4374*x3 x110 = 17010*x2 x111 = 19950*x0 x112 = 72171*x3 x113 = 540918*x3 x114 = 363321*x1 x115 = 59049*x5 x116 = 26792*xi[0] x117 = 133938*x0 x118 = 275562*x4 x119 = 578340*x2 x120 = 1089963*x14 - 4133430*x38 - 2240 x121 = 1089963*x17 - 4133430*x41 x122 = 729*x28/560 x123 = -1764*xi[0]*xi[1] - 80 x124 = 177147*x5 x125 = -19683*x11 + 177147*x16 x126 = -328092*x28 - 4749435*x37 - 8070030*x40 x127 = 243*x28/160 x128 = 1771470*x24 x129 = 177147*x21 x130 = 59049*x10 x131 = x129 - x130*xi[0] + x65 x132 = -1970730*x0*x7 - 3346110*x1*x8 - 141366*xi[0]*xi[1] - 1120 x133 = 243*x28/80 x134 = 354294*x25 x135 = 236196*x4 x136 = -39366*x0*x9 + 8019*x15 + 59049*x23 - 486*x9 x137 = -22170*x28 - 245916*x37 - 354294*x40 - 224 x138 = 729*x28/64 x139 = 531441*x25 x140 = -196830*x40 x141 = 177147*x24 x142 = x141 + 76545*x20 - 12150*x31 + 648*x8 x143 = x140 + x142 x144 = -240570*x0*x7 - 32106*xi[0]*xi[1] - 448 x145 = 177147*x25 x146 = 7398*x14 + x145 + 185895*x22 - 295245*x41 - 360*x7 x147 = -54675*x37 x148 = x147 - 14694*x28 - 320 x149 = 177147*x19 - 19683*x4 x150 = x147 - 8580*xi[0]*xi[1] - 40 x151 = 59049*x3 x152 = x109 + x145 - x151*xi[1] x153 = -114210*x0*x7 + x140 - 4566*xi[0]*xi[1] - 16 x154 = 8019*x18 - 39366*x2*x7 - 486*x2 + 59049*x24 x155 = 177147*x23 x156 = 648*x1 + x155 + 76545*x22 - 12150*x34 x157 = -360*x0 + x129 + 7398*x17 + 185895*x20 - 295245*x38 x158 = 177147*x12 x159 = 531441*x21 x160 = x140 + x156 x161 = 354294*x21 x162 = 236196*x11 x163 = 1771470*x23 x164 = 729*x28/160 x165 = -14718*x28 - 177390*x37 - 64 x166 = -2125764*x41 - 224 x167 = -55986*x28 - 1083051*x37 - 2204496*x40 x168 = 243*x28/32 x169 = 24057*x15 + x155 - 118098*x38 - 1458*x9 x170 = -454167*x0*x7 - 846369*x1*x8 - 27237*xi[0]*xi[1] - 112 x171 = -9240*x28 - 245187*x37 - 629856*x40 - 32 x172 = x141 + 24057*x18 - 1458*x2 - 118098*x41 x173 = -2125764*x38 return jnp.asarray([4782969*x0*x11/32 - 43046721*x0*x12/1120 + 1869885*x0*x7/64 + 13286025*x0*x9/64 + 58635*x0/224 + 4782969*x1*x10/16 - 14348907*x1*x11/160 + 4428675*x1*x8/16 + 623295*x1*xi[1]/32 - 40707*x1/28 - 43046721*x10*x2/320 + 2657205*x10*xi[0]/32 - 6589431*x10/640 + 885735*x11/64 + 4782969*x12*xi[0]/112 - 5137263*x12/448 - 43046721*x13*xi[0]/4480 + 4782969*x13/896 - 122121*x14/28 - 6589431*x15/128 - 5137263*x16/64 - 122121*x17/28 - 6589431*x18/128 - 5137263*x19/64 + 13286025*x2*x7/64 + 23914845*x2*x9/64 + 623295*x2/128 - 6589431*x20/64 - 15411789*x21/64 - 6589431*x22/64 - 25686315*x23/64 - 25686315*x24/64 - 15411789*x25/64 + 4782969*x3*x8/16 - 43046721*x3*x9/320 + 2657205*x3*xi[1]/32 - 6589431*x3/640 + 4782969*x4*x7/32 - 14348907*x4*x8/160 + 885735*x4/64 - 43046721*x5*x7/1120 + 4782969*x5*xi[1]/112 - 5137263*x5/448 - 43046721*x6*xi[1]/4480 + 4782969*x6/896 + 58635*x7/224 + 623295*x8*xi[0]/32 - 40707*x8/28 + 623295*x9/128 - 4782969*xi[0]**9/4480 + 58635*xi[0]*xi[1]/112 - 7129*xi[0]/280 - 4782969*xi[1]**9/4480 - 7129*xi[1]/280 + 1, xi[0]*(1063116*x0 - 5450004*x1 + 16365321*x2 - x26 + 32240754*x4 - 19131876*x5 + 4782969*x6 - 109584*xi[0] + 4480)/4480, xi[1]*(32240754*x11 - 19131876*x12 + 4782969*x13 - x27 + 1063116*x7 - 5450004*x8 + 16365321*x9 - 109584*xi[1] + 4480)/4480, x44*x45, x58*(16120377*x0*x10 + 26229420*x0*x8 + 3500847*x0*xi[1] - 375066*x0 + 36639540*x1*x7 + 39267585*x1*x9 + 1568763*x1 + 2893401*x11*xi[0] + 51667875*x2*x8 + 23524830*x2*xi[1] - 3848229*x2 - x29 + 38440899*x3*x7 + 5745978*x3 - 5583249*x31 - 6521634*x32 - 12123027*x34 - 25994682*x35 - 3720087*x36 - 28474740*x38 - 3720087*x39 + 15293691*x4*xi[1] - 5143824*x4 - 52816050*x41 - 11160261*x43 - x47 + x48 + x49 + 2539107*x5 + x50 + x51 - x52 - x53 - x54 - 11160261*x55 - 18600435*x56 - x57 + 2295405*x7*xi[0] + 7909650*x9*xi[0] + 46952*xi[0]), x62*(870828*x0 - 3900636*x1 - 170586*x10 + 39366*x11 - 2843424*x14 - 4953555*x15 - 6459750*x17 - 51799095*x18 - 37732311*x19 + 10113417*x2 - 29622915*x20 - 10097379*x21 - 60853275*x22 - 42515280*x23 - 79716150*x24 - 77058945*x25 - 15785766*x3 + 5053185*x31 + 2539107*x32 + 24672519*x34 + 60958251*x35 + 9565938*x36 + 24406920*x38 + 1594323*x39 + 14644152*x4 + 97430850*x41 + 23914845*x43 - 7440174*x5 + 9565938*x55 + 31886460*x56 + x59 - x60 + x61 + 147444*x7 - 284310*x8 + 303750*x9 - 100624*xi[0] - 40144*xi[1]), x70*(354294*x0*x10 + 3287790*x0*x8 + 1345716*x0*xi[1] - 234684*x0 + 10515825*x1*x7 + 3838185*x1*x9 + 1100241*x1 + 11809800*x2*x8 + 12356550*x2*xi[1] - 2978289*x2 - x29 + 15943230*x3*x7 + 4830354*x3 - 500175*x31 - 5509539*x34 - 15418350*x35 - 2657205*x36 - 1738665*x38 + 10038330*x4*xi[1] - 4632066*x4 - 18534825*x41 - 5314410*x43 + 2421009*x5 - 531441*x55 - 5314410*x56 + x63 + x64 + x65 - x66 - x67 - x68*xi[0] - x69 + 407745*x7*xi[0] + 302535*x9*xi[0] + 25996*xi[0]), x70*(196380*x0 - 949140*x1 - 170190*x14 - 36450*x15 - 840690*x17 - 8529300*x18 - 7676370*x19 + 2654613*x2 - 911250*x20 - 4957200*x22 - 590490*x23 - 4133430*x24 - 8857350*x25 + x29 - 4446900*x3 + 129276*x31 + 3608226*x34 + 11219310*x35 + 2125764*x36 + 229635*x38 + 4395870*x4 + 9480645*x41 + 3188646*x43 - 2361960*x5 + 2125764*x56 + 8040*x7 + x71 - 6480*x8 + 1944*x9 - 21200*xi[0] - 4400*xi[1]), x62*(492075*x0*x8 + 1525149*x0*xi[1] - 505842*x0 + 5937705*x1*x7 + 2497797*x1 + 2657205*x2*x8 + 16664940*x2*xi[1] - 7160967*x2 + 12223143*x3*x7 + 12321558*x3 - 66582*x31 - 6769251*x34 - 22950378*x35 - 4782969*x36 + 16474671*x4*xi[1] - 12518388*x4 - 12105045*x41 - 4782969*x43 + 6908733*x5 - 1594323*x56 - x59 + 187272*x7*xi[0] - 8640*x7 - x72 + 3240*x8 + 53672*xi[0] + 7640*xi[1]), x58*(147636*x0 - 740628*x1 - 15876*x14 - 280224*x17 - 3240405*x18 - 3483891*x19 + 2164239*x2 - 535815*x22 + x29 - 3806838*x3 + 1275183*x34 + 4638627*x35 + 1062882*x36 + 3962844*x4 + 1148175*x41 + 531441*x43 - 2243862*x5 + 720*x7 - x73 + x74 - 15472*xi[0] - 1360*xi[1]), x45*(118188*x0*xi[1] - 131256*x0 + 666477*x1 + 1428840*x2*xi[1] - 1977129*x2 - x29 + 3541482*x3 + 1653372*x4*xi[1] - 3766014*x4 + 2184813*x5 - x76 - x77*xi[1] - x78*xi[1] - x80 + 13628*xi[0] + 560*xi[1]), x81*(-118188*x0 - 1428840*x2 - 1653372*x4 + x75 + x77 + x78 + x79 - 560), x87*(59535*x1 + 131544*x17 + 1148175*x18 + 137781*x3 - 535815*x34 - 1240029*x35 - x82 - x83 - x84 + x85 + x86 + 1764*xi[0] + 720*xi[1]), x89*(-12150*x0 + 41310*x1 + 66582*x14 + 164025*x17 + 885735*x18 - 65610*x2 + 1673055*x22 + 1594323*x25 + 39366*x3 - 557685*x34 - 531441*x35 - 2657205*x41 - 3240*x7 + x88 + 1644*xi[0] + 1080*xi[1]), x93*(-1890*x0 + 4860*x1 + 24300*x14 + 31185*x17 + 72171*x18 - 4374*x2 + 229635*x20 + 393660*x22 - 36450*x31 - 80190*x34 - 354294*x41 + 1944*x8 + x90 + x91 + x92 + 300*xi[0] + 264*xi[1]), x93*(1944*x1 + 31185*x14 + 72171*x15 + 24300*x17 + 393660*x20 + 229635*x22 - 80190*x31 - 36450*x34 - 354294*x38 - 1890*x7 + 4860*x8 - 4374*x9 + x92 + x94 + x95 + 264*xi[0] + 300*xi[1]), x89*(-3240*x0 + 39366*x10 + 164025*x14 + 885735*x15 + 66582*x17 + 1673055*x20 + 1594323*x21 - 557685*x31 - 531441*x32 - 2657205*x38 - 12150*x7 + 41310*x8 + x88 - 65610*x9 + 1080*xi[0] + 1644*xi[1]), x87*(137781*x10 + 131544*x14 + 1148175*x15 - 535815*x31 - 1240029*x32 + x60 + 59535*x8 + x86 - x96 - x97 - x98 + 720*xi[0] + 1764*xi[1]), x81*(x100 - 1653372*x11 + x46 - 118188*x7 - 1428840*x9 + x99 + 13068*xi[1] - 560), x101*(3541482*x10 - x100*xi[0] + 1653372*x11*xi[0] - 3766014*x11 + 2184813*x12 - x30 - x47 + 118188*x7*xi[0] - 131256*x7 + 666477*x8 - x80 + 1428840*x9*xi[0] - 1977129*x9 - x99*xi[0] + 560*xi[0] + 13628*xi[1]), x103*(720*x0 - 3806838*x10 - x102 + 3962844*x11 - 2243862*x12 - 280224*x14 - 3240405*x15 - 3483891*x16 - 15876*x17 - 535815*x20 + x30 + 1275183*x31 + 4638627*x32 + 1062882*x33 + 1148175*x38 + 531441*x39 + 147636*x7 + x74 - 740628*x8 + 2164239*x9 - 1360*xi[0] - 15472*xi[1]), x105*(12223143*x0*x10 + 5937705*x0*x8 + 187272*x0*xi[1] - 8640*x0 + 492075*x1*x7 + 2657205*x1*x9 + 3240*x1 + 12321558*x10 - x104 + 16474671*x11*xi[0] - 12518388*x11 + 6908733*x12 - 6769251*x31 - 22950378*x32 - 4782969*x33 - 66582*x34 - 12105045*x38 - 4782969*x39 - 1594323*x55 + 1525149*x7*xi[0] - 505842*x7 - x72 + 2497797*x8 + 16664940*x9*xi[0] - 7160967*x9 + 7640*xi[0] + 53672*xi[1]), x106*(8040*x0 - 6480*x1 - 4446900*x10 + 4395870*x11 - 2361960*x12 - 840690*x14 - 8529300*x15 - 7676370*x16 - 170190*x17 - 36450*x18 + 1944*x2 - 4957200*x20 - 8857350*x21 - 911250*x22 - 4133430*x23 - 590490*x24 + x30 + 3608226*x31 + 11219310*x32 + 2125764*x33 + 129276*x34 + 9480645*x38 + 3188646*x39 + 229635*x41 + 2125764*x55 + 196380*x7 + x71 - 949140*x8 + 2654613*x9 - 4400*xi[0] - 21200*xi[1]), x106*(15943230*x0*x10 + 10515825*x0*x8 + 407745*x0*xi[1] + 3287790*x1*x7 + 11809800*x1*x9 + 4830354*x10 + x107 + x108 + x109 + 10038330*x11*xi[0] - 4632066*x11 - x110 - x111 - x112*xi[1] + 2421009*x12 + 3838185*x2*x8 + 302535*x2*xi[1] + 354294*x3*x7 - x30 - 5509539*x31 - 15418350*x32 - 2657205*x33 - 500175*x34 - 18534825*x38 - 5314410*x39 - 1738665*x41 - 5314410*x55 - 531441*x56 - x69 + 1345716*x7*xi[0] - 234684*x7 + 1100241*x8 + 12356550*x9*xi[0] - 2978289*x9 + 25996*xi[1]), x105*(147444*x0 - 284310*x1 - 15785766*x10 + x104 + 14644152*x11 - 7440174*x12 - 6459750*x14 - 51799095*x15 - 37732311*x16 - 2843424*x17 - 4953555*x18 + 303750*x2 - 60853275*x20 - 77058945*x21 - 29622915*x22 - 79716150*x23 - 42515280*x24 - 10097379*x25 - 170586*x3 + 24672519*x31 + 60958251*x32 + 9565938*x33 + 5053185*x34 + 2539107*x35 + 97430850*x38 + 23914845*x39 + 39366*x4 + 24406920*x41 + 1594323*x43 + 31886460*x55 + 9565938*x56 + x61 + 870828*x7 - 3900636*x8 - x85 + 10113417*x9 - 40144*xi[0] - 100624*xi[1]), x103*(38440899*x0*x10 + 36639540*x0*x8 + 2295405*x0*xi[1] + 26229420*x1*x7 + 51667875*x1*x9 + 5745978*x10 + 15293691*x11*xi[0] - 5143824*x11 + x113 + x114 + x115 + x116 - x117 - x118 - x119 + 2539107*x12 + 39267585*x2*x8 + 7909650*x2*xi[1] + 16120377*x3*x7 - x30 - 12123027*x31 - 25994682*x32 - 3720087*x33 - 5583249*x34 - 6521634*x35 - 52816050*x38 - 11160261*x39 + 2893401*x4*xi[1] - 28474740*x41 - 3720087*x43 - 18600435*x55 - 11160261*x56 - x57 + 3500847*x7*xi[0] - 375066*x7 - x76 + 1568763*x8 + 23524830*x9*xi[0] - 3848229*x9 + 46952*xi[1]), x101*x44, x122*(3470040*x0*x7 + 5511240*x1*x8 + 2313360*x1*xi[1] + 1653372*x10*xi[0] - x102 - x113 - x114 - x115 - x116 + x117 + x118 + x119 - x120 - x121 - 2704590*x15 - 413343*x16 - 2704590*x18 - 413343*x19 - 5409180*x20 - 5409180*x22 - 2066715*x23 - 2066715*x24 + 1653372*x3*xi[1] - x48 - x49 - x50 - x51 + x52 + x53 + x54 - x73 + 2313360*x8*xi[0] + 267876*xi[0]*xi[1]), x122*(16380*x0 + 59535*x1*xi[1] - 74151*x1 - x115 - x123 + 187110*x2 + 137781*x3*xi[1] - 265356*x3 + 196830*x4 - x82*xi[1] - x83*xi[1] - x84*xi[1] - 1844*xi[0] - 80*xi[1]), x122*(137781*x10*xi[0] - 265356*x10 + 196830*x11 - x123 - x50 + 16380*x7 + 59535*x8*xi[0] - 74151*x8 + 187110*x9 - x96*xi[0] - x97*xi[0] - x98*xi[0] - 80*xi[0] - 1844*xi[1]), x127*(-254370*x0 + 805653*x1 + 85293*x10 + x120 + x124 + x125 + x126 + 1793340*x15 + 1753461*x17 + 5893965*x18 + 1062882*x19 - 1431270*x2 + 6320430*x20 + 1062882*x21 + 9054180*x22 + 2657205*x23 + 3542940*x24 + 2657205*x25 + 1452168*x3 - 1886895*x31 - 885735*x32 - 4445685*x34 - 3956283*x35 - 787320*x4 - 7971615*x41 - 73722*x7 + 142155*x8 - 151875*x9 + 40232*xi[0] + 20072*xi[1]), x133*(984150*x0*x9 + 166776*x0 + 2744685*x1*xi[1] - 599913*x1 - x124 - x128 - x131 - x132 - 347895*x14 - 251505*x15 - 921618*x17 - 4122495*x18 - 885735*x19 + 4723920*x2*x7 + 1178550*x2 - 2022975*x20 - 4603635*x22 - 885735*x23 - 1771470*x25 + 3050865*x3*xi[1] - 1294704*x3 + 747954*x4 - x63 - x64 + x66 + x67 + 421605*x8*xi[0] - 22636*xi[0]), x138*(-38304*x0 + 151101*x1 + x115 + x134 + x135*xi[1] - x135 + x136 + x137 + 38025*x14 + 160290*x17 + 914166*x18 - 323676*x2 + 163296*x20 + 685989*x22 + 236196*x24 + 383454*x3 - 28674*x31 - 541404*x34 - 747954*x35 - 826686*x41 - 2010*x7 + 1620*x8 + 4796*xi[0] + 1100*xi[1]), x133*(83298*x0 + 908820*x1*xi[1] - 349623*x1 - x124 - x139 - 34344*x14 - x143 - x144 - 247239*x17 - 1697112*x18 + 1062882*x2*x7 + 802872*x2 - 754515*x22 + 1535274*x3*xi[1] - 1019142*x3 + 669222*x4 + 1728*x7 - x85 - 9928*xi[0] - 1528*xi[1]), x127*(-62934*x0 + 275913*x1 + x124 + x146 + x148 + 118071*x17 + 929475*x18 + 354294*x19 - 668250*x2 + 901044*x3 - 460485*x34 - 925101*x35 - 629856*x4 + 7256*xi[0] + 680*xi[1]), x127*(6897*x0 + 261225*x1*xi[1] - 26730*x1 - x146 - x149 - x150 - 68148*x17 - 513945*x18 + 53460*x2 + 492075*x3*xi[1] - 52488*x3 - 862*xi[0] - 400*xi[1]), x133*(2190*x0 + 95985*x1*xi[1] - 6750*x1 - 16848*x14 - x142 - x152 - x153 - 31455*x17 - 129033*x18 + 433026*x2*x7 + 9234*x2 - 338985*x22 + 864*x7 - 316*xi[0] - 232*xi[1]), x138*(36936*x0*x7 + 390*x0 + 137781*x1*x8 + 13851*x1*xi[1] - 810*x1 - x136 - 6759*x14 - x154 - 6759*x17 - 73629*x20 - 73629*x22 + 390*x7 + 13851*x8*xi[0] - 810*x8 + 1221*xi[0]*xi[1] - 70*xi[0] - 70*xi[1] + 4), x133*(433026*x0*x9 + 864*x0 - x131 - 31455*x14 - 129033*x15 - x153 - x156 - 16848*x17 - 338985*x20 + 2190*x7 + 95985*x8*xi[0] - 6750*x8 + 9234*x9 - 232*xi[0] - 316*xi[1]), x127*(492075*x10*xi[0] - 52488*x10 - x125 - 68148*x14 - 513945*x15 - x150 - x157 + 6897*x7 + 261225*x8*xi[0] - 26730*x8 + 53460*x9 - 400*xi[0] - 862*xi[1]), x127*(901044*x10 - 629856*x11 + 118071*x14 + x148 + 929475*x15 + x157 + x158 + 354294*x16 - 460485*x31 - 925101*x32 - 62934*x7 + 275913*x8 - 668250*x9 + 680*xi[0] + 7256*xi[1]), x133*(1062882*x0*x9 + 1728*x0 + 1535274*x10*xi[0] - 1019142*x10 + 669222*x11 - 247239*x14 - x144 - 1697112*x15 - x158 - x159 - x160 - 34344*x17 - 754515*x20 - x60 + 83298*x7 + 908820*x8*xi[0] - 349623*x8 + 802872*x9 - 1528*xi[0] - 9928*xi[1]), x138*(-2010*x0 + 1620*x1 + 383454*x10 + x137 + 160290*x14 + 914166*x15 + x154 + x161 + x162*xi[0] - x162 + 38025*x17 + 685989*x20 + 163296*x22 + 236196*x23 - 541404*x31 - 747954*x32 - 28674*x34 - 826686*x38 + x50 - 38304*x7 + 151101*x8 - 323676*x9 + 1100*xi[0] + 4796*xi[1]), x133*(4723920*x0*x9 + 421605*x1*xi[1] + 3050865*x10*xi[0] - 1294704*x10 - x107 - x108 + 747954*x11 + x110 + x111 - x132 - 921618*x14 - 4122495*x15 - x152 - x158 - 885735*x16 - x163 - 347895*x17 - 251505*x18 + 984150*x2*x7 - 4603635*x20 - 1771470*x21 - 2022975*x22 - 885735*x24 + 166776*x7 + 2744685*x8*xi[0] - 599913*x8 + 1178550*x9 - 22636*xi[1]), x127*(-73722*x0 + 142155*x1 + 1452168*x10 - 787320*x11 + x121 + x126 + 1753461*x14 + x149 + 5893965*x15 + x158 + 1062882*x16 + 1793340*x18 - 151875*x2 + 9054180*x20 + 2657205*x21 + 6320430*x22 + 3542940*x23 + 2657205*x24 + 1062882*x25 + 85293*x3 - 4445685*x31 - 3956283*x32 - 1886895*x34 - 885735*x35 - 7971615*x38 - 254370*x7 + 805653*x8 - 1431270*x9 + 20072*xi[0] + 40232*xi[1] - 2240), x164*(2374110*x0*x7 + 3050865*x0*x9 + 43797*x0 + 4527090*x1*x8 + 1313415*x1*xi[1] - 102870*x1 + 807003*x10*xi[0] - 78732*x10 - x125 - x128 - 613008*x14 - x149 - 1454355*x15 - x163 - 613008*x17 - 1454355*x18 + 3050865*x2*x7 + 126360*x2 - 3969405*x20 - 885735*x21 - 3969405*x22 - 885735*x25 + 807003*x3*xi[1] - 78732*x3 + 43797*x7 + 1313415*x8*xi[0] - 102870*x8 + 126360*x9 + 132954*xi[0]*xi[1] - 8798*xi[0] - 8798*xi[1] + 560), x164*(-10182*x0 + 36855*x1 + x134 + 25596*x14 + x143 + x149 + x151 + x165 + 110403*x17 + 686718*x18 - 67311*x2 + 546750*x22 - 390015*x34 - 570807*x35 - 747954*x41 + x90 + 1336*xi[0] + 712*xi[1]), x164*(x125 + x130 + 110403*x14 + 686718*x15 + x160 + x161 + x165 + 25596*x17 + 546750*x20 - 390015*x31 - 570807*x32 - 747954*x38 - 10182*x7 + 36855*x8 - 67311*x9 + x94 + 712*xi[0] + 1336*xi[1]), x168*(-25932*x0 + 73305*x1 + x112 + x131 + 201825*x14 + x149 + 220887*x15 + x166 + x167 + 337068*x17 + 1156923*x18 - 103761*x2 + 1441233*x20 + 2309472*x22 + 708588*x23 + 1062882*x24 + 708588*x25 - 311769*x31 - 890109*x34 - 728271*x35 - 846369*x38 - 11910*x7 + 19710*x8 - 15066*x9 + 4124*xi[0] + 3116*xi[1]), x168*(15807*x0 + 590976*x1*xi[1] - 51840*x1 - x139 - 72117*x14 - x149 - x169 - 187947*x17 - x170 - 901044*x18 + 1358127*x2*x7 + 84078*x2 - 400221*x20 - 1211598*x22 + 649539*x3*xi[1] - 65610*x3 + 3870*x7 + 71199*x8*xi[0] - 4050*x8 - x91 - 2230*xi[0] - 1390*xi[1]), x168*(-3750*x0 + 9990*x1 + 40851*x14 + x152 + x169 + 57321*x17 + x171 + 159651*x18 - 11178*x2 + 310554*x20 + 599238*x22 + 354294*x24 - 56376*x31 - 148959*x34 - 570807*x41 - 2250*x7 + 3240*x8 + 596*xi[0] + 500*xi[1]), x168*(-2250*x0 + 3240*x1 + x131 + 57321*x14 + 159651*x15 + 40851*x17 + x171 + x172 + 599238*x20 + 310554*x22 + 354294*x23 - 148959*x31 - 56376*x34 - 570807*x38 - 3750*x7 + 9990*x8 - 11178*x9 + 500*xi[0] + 596*xi[1]), x168*(1358127*x0*x9 + 3870*x0 + 71199*x1*xi[1] - 4050*x1 + 649539*x10*xi[0] - 65610*x10 - x125 - 187947*x14 - 901044*x15 - x159 - 72117*x17 - x170 - x172 - 1211598*x20 - 400221*x22 + 15807*x7 + 590976*x8*xi[0] - 51840*x8 + 84078*x9 - x95 - 1390*xi[0] - 2230*xi[1]), x168*(-11910*x0 + 19710*x1 + x125 + 337068*x14 + 1156923*x15 + x152 + x167 + 201825*x17 + x173 + 220887*x18 - 15066*x2 + 2309472*x20 + 708588*x21 + 1441233*x22 + 1062882*x23 + 708588*x24 - 890109*x31 - 728271*x32 - 311769*x34 - 846369*x41 + x68 - 25932*x7 + 73305*x8 - 103761*x9 + 3116*xi[0] + 4124*xi[1] - 224), 27*x28*(1614006*x0*x7 + 20250*x0 + 3897234*x1*x8 + 662661*x1*xi[1] - 42930*x1 + 177147*x10*xi[0] - 13122*x10 - x139 - 328617*x14 - 570807*x15 - x159 - x166 - 328617*x17 - x173 - 570807*x18 + 39366*x2 - 2899962*x20 - 2899962*x22 - 1594323*x23 - 1594323*x24 + 177147*x3*xi[1] - 13122*x3 + 20250*x7 + 662661*x8*xi[0] - 42930*x8 + 39366*x9 + 63180*xi[0]*xi[1] - 3788*xi[0] - 3788*xi[1])/8]) case 66: def shape_functions(xi): x0 = xi[0]*xi[1] x1 = xi[0]**2 x2 = xi[0]**3 x3 = xi[0]**4 x4 = xi[0]**5 x5 = xi[0]**6 x6 = xi[0]**7 x7 = xi[0]**8 x8 = xi[0]**9 x9 = xi[1]**2 x10 = xi[1]**3 x11 = xi[1]**4 x12 = xi[1]**5 x13 = xi[1]**6 x14 = xi[1]**7 x15 = xi[1]**8 x16 = xi[1]**9 x17 = x9*xi[0] x18 = x10*xi[0] x19 = x11*xi[0] x20 = x12*xi[0] x21 = x13*xi[0] x22 = x14*xi[0] x23 = x15*xi[0] x24 = x1*xi[1] x25 = x2*xi[1] x26 = x3*xi[1] x27 = x4*xi[1] x28 = x5*xi[1] x29 = x6*xi[1] x30 = x7*xi[1] x31 = x1*x9 x32 = x1*x10 x33 = x1*x11 x34 = x1*x12 x35 = x1*x13 x36 = x1*x14 x37 = x2*x9 x38 = x10*x2 x39 = x11*x2 x40 = x12*x2 x41 = x13*x2 x42 = x3*x9 x43 = x10*x3 x44 = x11*x3 x45 = x12*x3 x46 = x4*x9 x47 = x10*x4 x48 = x11*x4 x49 = x5*x9 x50 = x10*x5 x51 = x6*x9 x52 = 1250000*x8 x53 = 1250000*x16 x54 = -1438434*x0 - 57087450*x31 - 422100000*x38 - 472500000*x44 - 4536 x55 = 316575000*x1*x11 + 189000000*x1*x13 + 719217*x1 + 378000000*x10*x4 + 38058300*x10*xi[0] - 3319705*x10 + 9514575*x11 + 378000000*x12*x2 + 126630000*x12*xi[0] - 17611125*x12 + 21105000*x13 + 54000000*x14*xi[0] - 15825000*x14 + 6750000*x15 - 9959115*x17 - 88055625*x19 + 38058300*x2*xi[1] - 3319705*x2 - 110775000*x21 - 11250000*x23 - 9959115*x24 - 88055625*x26 - 110775000*x28 + 316575000*x3*x9 + 9514575*x3 - 11250000*x30 - 176111250*x32 - 332325000*x34 - 45000000*x36 - 176111250*x37 - 553875000*x39 + 126630000*x4*xi[1] - 17611125*x4 - 105000000*x41 - 553875000*x43 - 157500000*x45 - 332325000*x46 - 157500000*x48 + 189000000*x5*x9 + 21105000*x5 - 105000000*x50 - 45000000*x51 - x52 - x53 - x54 + 54000000*x6*xi[1] - 15825000*x6 + 6750000*x7 + 719217*x9 - 87498*xi[0] - 87498*xi[1] x56 = 25*xi[0]/1134 x57 = 2500000*x8 x58 = 2905000*x13 x59 = 2794225*x11 x60 = 395127*x9 x61 = 250000*x15 x62 = 64818*xi[1] x63 = 1300000*x14 x64 = 1344070*x10 x65 = 3640000*x12 x66 = 25*xi[0]/504 x67 = 287875*x11 x68 = 122500*x13 x69 = 76489*x9 x70 = 16566*xi[1] x71 = 25000*x14 x72 = 193060*x10 x73 = 253750*x12 x74 = 1250000*x14 x75 = -14239400*x1*x9 - 98087500*x10*x2 - 105000000*x11*x3 - 401468*xi[0]*xi[1] - 1512 x76 = 50*xi[0]/189 x77 = -485187*x0 - 14174475*x31 - 83212500*x38 - 78750000*x44 - 2268 x78 = 25*xi[0]/108 x79 = 15000*x12 x80 = 6250000*x40 x81 = -17250625*x1*x9 - 77812500*x10*x2 - 56250000*x11*x3 - 760125*xi[0]*xi[1] - 4536 x82 = 12930*x9 x83 = 3000*x11 x84 = 7242*xi[1] x85 = 10200*x10 x86 = 3750000*x44 x87 = -191219*x0 - 3141075*x31 - 9475000*x38 - x86 - 1512 x88 = -614250*x1*x9 - 918750*x10*x2 - 58221*xi[0]*xi[1] - 648 x89 = 7000000*x49 x90 = -64593*x0 - 328300*x31 - 1134 x91 = 147655*x1 x92 = 1250000*x7 x93 = 2806125*x3 x94 = 6825000*x5 x95 = -13698*xi[0]*xi[1] - 504 x96 = 25*x0/1134 x97 = 805000*x4 x98 = 169225*x2 x99 = 3267*xi[0] x100 = 32670*x0 + 126 x101 = 250000*x6 x102 = -x101 + 2500000*x29 x103 = 25*x0/504 x104 = 2187500*x42 x105 = 6615*x0 + 203000*x31 + 18 x106 = -375000*x28 + 1250000*x49 + 25000*x5 x107 = 50*x0/189 x108 = 22500*x3 x109 = 7535*x0 + 337500*x31 + 2125000*x38 + 18 x110 = 15000*x4 x111 = 2500000*x47 x112 = -x110 + x111 + 275000*x27 - 1500000*x46 x113 = 25*x0/108 x114 = 15000*x3 x115 = 15000*x11 x116 = 2187500*x33 x117 = 6250000*x44 x118 = 22500*x11 x119 = 2500000*x40 x120 = x119 + 275000*x20 - 1500000*x34 - x79 x121 = 25000*x13 - 375000*x21 + 1250000*x35 x122 = 805000*x12 x123 = 169225*x10 x124 = 250000*x14 x125 = -x124 + 2500000*x22 x126 = 147655*x9 x127 = 2806125*x11 x128 = 6825000*x13 x129 = 1250000*x15 x130 = 25*xi[1]/1134 x131 = 2500000*x16 x132 = 7000000*x35 x133 = 25*xi[1]/504 x134 = 50*xi[1]/189 x135 = 12930*x1 x136 = 3000*x3 x137 = 7242*xi[0] x138 = 10200*x2 x139 = 25*xi[1]/108 x140 = 6250000*x47 x141 = 287875*x3 x142 = 122500*x5 x143 = 76489*x1 x144 = 16566*xi[0] x145 = 25000*x6 x146 = 193060*x2 x147 = 253750*x4 x148 = 1250000*x6 x149 = 2905000*x5 x150 = 2794225*x3 x151 = 395127*x1 x152 = 250000*x7 x153 = 64818*xi[0] x154 = 1300000*x6 x155 = 1344070*x2 x156 = 3640000*x4 x157 = 125*x0/126 x158 = x101*xi[1] x159 = x99*xi[1] + 126 x160 = x124*xi[0] x161 = x160 - x71 x162 = 318638*x0 + 7519050*x31 + 27825000*x38 + 8750000*x44 + 1512 x163 = 250*x0/63 x164 = 3750000*x49 x165 = 5000000*x47 x166 = 250000*x35 x167 = 5000*x13 + x166 - 75000*x21 x168 = 140419*x0 + 3202975*x31 + 11825000*x38 + x86 + 756 x169 = 250*x0/27 x170 = 12500000*x47 x171 = -750000*x1*x12 - 7500*x12 + 137500*x20 + 1250000*x40 x172 = 343455*x0 + x117 + 6549375*x31 + 21312500*x38 + 2268 x173 = 25*x0/9 x174 = -9250000*x43 x175 = 437500*x33 x176 = 1250000*x44 x177 = -62500*x19 - 1250000*x39 + x83 x178 = x175 + x176 + x177 x179 = 176735*x0 + 2541125*x31 + 6000000*x38 + 1512 x180 = -56250*x1*x10 - 375000*x10*x3 - 300*x10 + 6850*x18 + 250000*x47 x181 = 212500*x38 x182 = 18197*x0 + x181 + 172425*x31 + 216 x183 = 437500*x42 x184 = 1487500*x4 x185 = 500000*x29 x186 = 250000*x49 x187 = -4410*x17 + x186 - 183750*x37 - 525000*x46 + 180*x9 x188 = 40600*x31 x189 = 8739*x0 + x188 + 162 x190 = x183 + 18 x191 = -x145 + x158 x192 = 5031*x0 + x188 x193 = x186 - 75000*x28 + 5000*x5 x194 = 2282*x0 + x181 + 79975*x31 + 6 x195 = x175 + 18 x196 = 7580*x0 + x176 + 348125*x31 + 2437500*x38 x197 = 137500*x27 - 750000*x4*x9 - 7500*x4 + 1250000*x47 x198 = x136 - 62500*x26 - 1250000*x43 x199 = -375000*x11*x2 - 56250*x2*x9 - 300*x2 + 6850*x25 + 250000*x40 x200 = 180*x1 + x166 - 4410*x24 - 183750*x32 - 525000*x34 x201 = 1487500*x12 x202 = 500000*x22 x203 = -9250000*x39 x204 = 5000000*x40 x205 = x176 + x183 + x198 x206 = 12500000*x40 x207 = 3750000*x35 x208 = x185 - 50000*x6 x209 = -50000*x14 + x202 x210 = 10000000*x44 + 756 x211 = 125*x0/18 x212 = 1000000*x5 x213 = 16193*x0 + 252400*x31 + 425000*x38 + 54 x214 = 1000000*x13 x215 = x148*xi[1] - 125000*x6 x216 = 260425*x0 + 8066125*x31 + 35437500*x38 + 12500000*x44 + 756 x217 = 50*x0/9 x218 = 254125*x0 + x210 + 7080500*x31 + 29175000*x38 x219 = 125*x0/36 x220 = 3750000*x47 x221 = 69005*x0 + 1542125*x31 + 4812500*x38 + 216 x222 = 21080*x0 + 811125*x31 + 3625000*x38 + 54 x223 = 3750000*x40 x224 = -125000*x14 + x74*xi[0] x225 = 42610*x0 + 1715750*x31 + 9200000*x38 + x86 + 108 return jnp.asarray([177133*x0/252 + 7812500*x1*x15/63 + 177133*x1/504 + 62500000*x10*x6/189 - 10511875*x10/4536 + 15625000*x11*x5/27 + 42711625*x11/4536 + 6250000*x12*x4/9 - 5369375*x12/216 + 15625000*x13*x3/27 + 4695625*x13/108 + 62500000*x14*x2/189 - 9453125*x14/189 + 6875000*x15/189 + 15625000*x16*xi[0]/567 - 8593750*x16/567 - 10511875*x17/1512 + 42711625*x18/1134 - 26846875*x19/216 - 10511875*x2/4536 + 4695625*x20/18 - 9453125*x21/27 + 55000000*x22/189 - 8593750*x23/63 - 10511875*x24/1512 + 42711625*x25/1134 - 26846875*x26/216 + 4695625*x27/18 - 9453125*x28/27 + 55000000*x29/189 + 42711625*x3/4536 - 8593750*x30/63 + 42711625*x31/756 - 26846875*x32/108 + 23478125*x33/36 - 9453125*x34/9 + 27500000*x35/27 - 34375000*x36/63 - 26846875*x37/108 + 23478125*x38/27 - 47265625*x39/27 - 5369375*x4/216 + 55000000*x40/27 - 34375000*x41/27 + 23478125*x42/36 - 47265625*x43/27 + 68750000*x44/27 - 17187500*x45/9 - 9453125*x46/9 + 55000000*x47/27 - 17187500*x48/9 + 27500000*x49/27 + 4695625*x5/108 - 34375000*x50/27 - 34375000*x51/63 - 9453125*x6/189 + 7812500*x7*x9/63 + 6875000*x7/189 + 15625000*x8*xi[1]/567 - 8593750*x8/567 + 177133*x9/504 + 1562500*xi[0]**10/567 - 7381*xi[0]/252 + 1562500*xi[1]**10/567 - 7381*xi[1]/252 + 1, xi[0]*(-1465875*x1 + 9046000*x2 - 33665625*x3 + 79091250*x4 - 118125000*x5 + 108750000*x6 - 56250000*x7 + 12500000*x8 + 128322*xi[0] - 4536)/4536, xi[1]*(9046000*x10 - 33665625*x11 + 79091250*x12 - 118125000*x13 + 108750000*x14 - 56250000*x15 + 12500000*x16 - 1465875*x9 + 128322*xi[1] - 4536)/4536, x55*x56, x66*(-1043307*x1 + 7983480*x17 - 24617600*x18 + 46142250*x19 + 5295340*x2 - 53830000*x20 + 38150000*x21 - 15000000*x22 + 2500000*x23 + 11934750*x24 - 51499000*x25 + 129969000*x26 - 199430000*x27 + 183400000*x28 - 93000000*x29 - 16234925*x3 + 20000000*x30 + 148169000*x32 - 225575000*x33 + 201600000*x34 - 98000000*x35 + 20000000*x36 + 204053500*x37 + 481250000*x39 + 31582250*x4 - 287000000*x40 + 70000000*x41 - 407575000*x42 + 626500000*x43 + 140000000*x45 + 463050000*x46 - 469000000*x47 + 175000000*x48 - 280000000*x49 - 39305000*x5 + 140000000*x50 + 70000000*x51 + x54 + x57 - x58 - x59 + 30350000*x6 - x60 - x61 + x62 + x63 + x64 + x65 - 13250000*x7 + 110178*xi[0]), x76*(35262500*x1*x11 + 8750000*x1*x13 - x1*x74 + 400579*x1 + 135625000*x10*x4 + 4047400*x10*xi[0] + 44625000*x12*x2 + 4541250*x12*xi[0] + 375000*x14*xi[0] - 1726515*x17 - 5586875*x19 + 17488100*x2*xi[1] - 2168695*x2 - 2012500*x21 - 3702150*x24 - 47500250*x26 - 74637500*x28 + 126262500*x3*x9 + 7008225*x3 - 8750000*x30 - 29463000*x32 - 24237500*x34 - 57405250*x37 - 91875000*x39 + 77341250*x4*xi[1] - 14224875*x4 - 8750000*x41 - 164500000*x43 - 26250000*x45 - 154962500*x46 - 43750000*x48 + 99750000*x5*x9 + 18322500*x5 - 43750000*x50 - 26250000*x51 - x52 + 39375000*x6*xi[1] - 14550000*x6 + x67 + x68 + x69 + 6500000*x7 - x70 - x71 - x72 - x73 - x75 - 39246*xi[0]), x78*(-645201*x1 + 122625*x10 - 125250*x11 + 67500*x12 - 15000*x13 + 1592285*x17 - 2749125*x18 + 2633750*x19 + 3642935*x2 - 1327500*x20 + 275000*x21 + 4734595*x24 - 23799075*x25 + 68572000*x26 - 117690000*x27 + 118900000*x28 - 65250000*x29 - 12248475*x3 + 15000000*x30 + 22122500*x32 - 18937500*x33 + 8400000*x34 - 1500000*x35 + 62371000*x37 + 58750000*x39 + 25757250*x4 - 20250000*x40 + 2500000*x41 - 149062500*x42 + 156500000*x43 + 15000000*x45 + 196875000*x46 - 142500000*x47 + 37500000*x48 - 135000000*x49 - 34215000*x5 + 50000000*x50 + 37500000*x51 + x57 + 27900000*x6 - 12750000*x7 + x77 - 66786*x9 + 60759*xi[0] + 19179*xi[1]), xi[0]*(10312500*x1*x11 + 1346625*x1 + 162500000*x10*x4 + 2224375*x10*xi[0] - 95250*x10 + 60000*x11 + 312500*x12*xi[0] - 1848250*x17 - 1325000*x19 + 40270625*x2*xi[1] - 7818625*x2 - 7681625*x24 - 121449375*x26 - 230000000*x28 + 205937500*x3*x9 + 27074375*x3 - 19040625*x32 - 2187500*x34 - 80571875*x37 - 35937500*x39 + 218125000*x4*xi[1] - 58608125*x4 - 161562500*x43 - 6250000*x45 - 290937500*x46 - 31250000*x48 + 212500000*x5*x9 + 80000000*x5 - 62500000*x50 - 62500000*x51 + 131250000*x6*xi[1] - 66875000*x6 - 31250000*x7*xi[1] + 31250000*x7 - x79 - 6250000*x8 + x80 - x81 + 75000*x9 - 123786*xi[0] - 29286*xi[1])/9, x78*(-461789*x1 + 325835*x17 - 244900*x18 + 68500*x19 + 2734310*x2 + 1978945*x24 - 10689200*x25 + 33381500*x26 - 62285000*x27 + 68300000*x28 - 40500000*x29 - 9680025*x3 + 10000000*x30 + 2186500*x32 - 562500*x33 + 15307250*x37 + 2125000*x39 + 21452250*x4 - 41212500*x42 + 21250000*x43 + 61775000*x46 - 23500000*x47 + 2500000*x48 - 48000000*x49 - 29985000*x5 + 10000000*x50 + 15000000*x51 + x57 + 25650000*x6 - 12250000*x7 - x82 - x83 + x84 + x85 + x87 + 41766*xi[0]), x76*(201951*x1 + 2625000*x10*x4 + 22050*x10*xi[0] - 900*x10 - 62235*x17 + 3385725*x2*xi[1] - 1213195*x2 - 613030*x24 - 10864000*x26 - 23762500*x28 + 8662500*x3*x9 + 4368525*x3 - 3750000*x30 - 203000*x32 - 3089625*x37 + 20921250*x4*xi[1] - 9867375*x4 - 2187500*x43 - 13650000*x46 + 11250000*x5*x9 + 14077500*x5 - 1250000*x50 - 3750000*x51 - x52 + 14625000*x6*xi[1] - 12300000*x6 + 6000000*x7 - x88 + 2430*x9 - 18054*xi[0] - 2178*xi[1]), x66*(-358803*x1 + 32670*x17 + 2179465*x2 + 689110*x24 - 3871875*x25 + 12694500*x26 - 25095000*x27 + 29400000*x28 - 18750000*x29 - 7953575*x3 + 5000000*x30 + 1692250*x37 + 18247250*x4 - 4900000*x42 + 8050000*x46 - 26495000*x5 + 2500000*x51 + x57 + 23600000*x6 - 11750000*x7 - x89 - 1260*x9 + x90 + 31797*xi[0] + 2394*xi[1]), x56*(161353*x1 + 841050*x2*xi[1] - 988705*x2 + 3647175*x3 + 5670000*x4*xi[1] - 8476125*x4 + 12495000*x5 - x52 + 4500000*x6*xi[1] - 11325000*x6 + 5750000*x7 - x91*xi[1] - x92*xi[1] - x93*xi[1] - x94*xi[1] - x95 - 14202*xi[0] - 504*xi[1]), x96*(-841050*x2 - 5670000*x4 - 4500000*x6 + x91 + x92 + x93 + x94 - 13698*xi[0] + 504), x103*(32830*x1 + x100 + x102 - 328300*x24 + 1692250*x25 - 4900000*x26 + 8050000*x27 - 7000000*x28 + 490000*x3 + 700000*x5 - x97 - x98 - x99 - 1260*xi[1]), x107*(4060*x1 + x104 + x105 + x106 - 22050*x17 - 18375*x2 - 60900*x24 + 275625*x25 - 656250*x26 + 787500*x27 + 43750*x3 - 918750*x37 - 52500*x4 - 2625000*x46 + 900*x9 - 441*xi[0] - 270*xi[1]), x113*(3375*x1 - 3000*x10 + x108 + x109 + x112 - 41100*x17 + 68500*x18 - 12750*x2 - 61875*x24 + 233750*x25 - 412500*x26 - 562500*x32 - 1275000*x37 + 2250000*x42 - 3750000*x43 + 1800*x9 - 411*xi[0] - 330*xi[1]), x0*(15625*x0 + 5250*x1 - 15000*x10 + x104 + x114 + x115 + x116 + x117 - 109375*x17 + 312500*x18 - 312500*x19 - 15000*x2 - 109375*x24 + 312500*x25 - 312500*x26 + 765625*x31 - 2187500*x32 - 2187500*x37 + 6250000*x38 - 6250000*x39 - 6250000*x43 + 5250*x9 - 750*xi[0] - 750*xi[1] + 36)/9, x113*(1800*x1 - 12750*x10 + x109 + x118 + x120 - 61875*x17 + 233750*x18 - 412500*x19 - 3000*x2 - 41100*x24 + 68500*x25 - 1275000*x32 + 2250000*x33 - 562500*x37 - 3750000*x39 + 3375*x9 - 330*xi[0] - 411*xi[1]), x107*(900*x1 - 18375*x10 + x105 + 43750*x11 + x116 - 52500*x12 + x121 - 60900*x17 + 275625*x18 - 656250*x19 + 787500*x20 - 22050*x24 - 918750*x32 - 2625000*x34 + 4060*x9 - 270*xi[0] - 441*xi[1]), x103*(x100 + 490000*x11 - x122 - x123 + x125 + 700000*x13 - 328300*x17 + 1692250*x18 - 4900000*x19 + 8050000*x20 - 7000000*x21 + 32830*x9 - 1260*xi[0] - 3267*xi[1]), x96*(-841050*x10 - 5670000*x12 + x126 + x127 + x128 + x129 - 4500000*x14 - 13698*xi[1] + 504), x130*(841050*x10*xi[0] - 988705*x10 + 3647175*x11 + 5670000*x12*xi[0] - 8476125*x12 - x126*xi[0] - x127*xi[0] - x128*xi[0] - x129*xi[0] + 12495000*x13 + 4500000*x14*xi[0] - 11325000*x14 + 5750000*x15 - x53 + 161353*x9 - x95 - 504*xi[0] - 14202*xi[1]), x133*(-1260*x1 + 2179465*x10 - 7953575*x11 + 18247250*x12 - 26495000*x13 + x131 - x132 + 23600000*x14 - 11750000*x15 + 689110*x17 - 3871875*x18 + 12694500*x19 - 25095000*x20 + 29400000*x21 - 18750000*x22 + 5000000*x23 + 32670*x24 + 1692250*x32 - 4900000*x33 + 8050000*x34 + 2500000*x36 - 358803*x9 + x90 + 2394*xi[0] + 31797*xi[1]), x134*(8662500*x1*x11 + 11250000*x1*x13 + 2430*x1 + 3385725*x10*xi[0] - 1213195*x10 + 4368525*x11 + 2625000*x12*x2 + 20921250*x12*xi[0] - 9867375*x12 + 14077500*x13 + 14625000*x14*xi[0] - 12300000*x14 + 6000000*x15 - 613030*x17 - 10864000*x19 + 22050*x2*xi[1] - 900*x2 - 23762500*x21 - 3750000*x23 - 62235*x24 - 3089625*x32 - 13650000*x34 - 3750000*x36 - 203000*x37 - 2187500*x39 - 1250000*x41 - x53 - x88 + 201951*x9 - 2178*xi[0] - 18054*xi[1]), x139*(2734310*x10 - 9680025*x11 + 21452250*x12 - 29985000*x13 + x131 - x135 - x136 + x137 + x138 + 25650000*x14 - 12250000*x15 + 1978945*x17 - 10689200*x18 + 33381500*x19 - 62285000*x20 + 68300000*x21 - 40500000*x22 + 10000000*x23 + 325835*x24 - 244900*x25 + 68500*x26 + 15307250*x32 - 41212500*x33 + 61775000*x34 - 48000000*x35 + 15000000*x36 + 2186500*x37 + 21250000*x39 - 23500000*x40 + 10000000*x41 - 562500*x42 + 2125000*x43 + 2500000*x45 + x87 - 461789*x9 + 41766*xi[1]), xi[1]*(205937500*x1*x11 + 212500000*x1*x13 + 75000*x1 + 40270625*x10*xi[0] - 7818625*x10 + 27074375*x11 - x110 + 162500000*x12*x2 + 218125000*x12*xi[0] - 58608125*x12 + 80000000*x13 + 131250000*x14*xi[0] - 66875000*x14 + x140 - 31250000*x15*xi[0] + 31250000*x15 - 6250000*x16 - 7681625*x17 - 121449375*x19 + 2224375*x2*xi[1] - 95250*x2 - 230000000*x21 - 1848250*x24 - 1325000*x26 + 10312500*x3*x9 + 60000*x3 - 80571875*x32 - 290937500*x34 - 62500000*x36 - 19040625*x37 - 161562500*x39 + 312500*x4*xi[1] - 62500000*x41 - 35937500*x43 - 31250000*x45 - 2187500*x46 - 6250000*x48 - x81 + 1346625*x9 - 29286*xi[0] - 123786*xi[1])/9, x139*(-66786*x1 + 3642935*x10 - 12248475*x11 + 25757250*x12 - 34215000*x13 + x131 + 27900000*x14 - 12750000*x15 + 4734595*x17 - 23799075*x18 + 68572000*x19 + 122625*x2 - 117690000*x20 + 118900000*x21 - 65250000*x22 + 15000000*x23 + 1592285*x24 - 2749125*x25 + 2633750*x26 - 1327500*x27 + 275000*x28 - 125250*x3 + 62371000*x32 - 149062500*x33 + 196875000*x34 - 135000000*x35 + 37500000*x36 + 22122500*x37 + 156500000*x39 + 67500*x4 - 142500000*x40 + 50000000*x41 - 18937500*x42 + 58750000*x43 + 37500000*x45 + 8400000*x46 - 20250000*x47 + 15000000*x48 - 1500000*x49 - 15000*x5 + 2500000*x50 + x77 - 645201*x9 + 19179*xi[0] + 60759*xi[1]), x134*(126262500*x1*x11 + 99750000*x1*x13 + 44625000*x10*x4 + 17488100*x10*xi[0] - 2168695*x10 + 7008225*x11 + 135625000*x12*x2 + 77341250*x12*xi[0] - 14224875*x12 + 18322500*x13 + 39375000*x14*xi[0] - 14550000*x14 + x141 + x142 + x143 - x144 - x145 - x146 - x147 - x148*x9 + 6500000*x15 - 3702150*x17 - 47500250*x19 + 4047400*x2*xi[1] - 74637500*x21 - 8750000*x23 - 1726515*x24 - 5586875*x26 - 2012500*x28 + 35262500*x3*x9 - 57405250*x32 - 154962500*x34 - 26250000*x36 - 29463000*x37 - 164500000*x39 + 4541250*x4*xi[1] - 43750000*x41 - 91875000*x43 - 43750000*x45 - 24237500*x46 - 26250000*x48 + 8750000*x5*x9 - 8750000*x50 - x53 + 375000*x6*xi[1] - x75 + 400579*x9 - 39246*xi[1]), x133*(5295340*x10 - 16234925*x11 + 31582250*x12 - 39305000*x13 + x131 + 30350000*x14 - x149 - 13250000*x15 - x150 - x151 - x152 + x153 + x154 + x155 + x156 + 11934750*x17 - 51499000*x18 + 129969000*x19 - 199430000*x20 + 183400000*x21 - 93000000*x22 + 20000000*x23 + 7983480*x24 - 24617600*x25 + 46142250*x26 - 53830000*x27 + 38150000*x28 - 15000000*x29 + 2500000*x30 + 204053500*x32 - 407575000*x33 + 463050000*x34 - 280000000*x35 + 70000000*x36 + 148169000*x37 + 626500000*x39 - 469000000*x40 + 140000000*x41 - 225575000*x42 + 481250000*x43 + 175000000*x45 + 201600000*x46 - 287000000*x47 + 140000000*x48 - 98000000*x49 + 70000000*x50 + 20000000*x51 + x54 - 1043307*x9 + 110178*xi[1]), x130*x55, x157*(790254*x0 + x132 + x149 + x150 + x151 + x152 - x153 - x154 - x155 - x156 - 4032210*x17 + 11176900*x18 - 18200000*x19 + 17430000*x20 - 9100000*x21 + 2000000*x22 - 4032210*x24 + 11176900*x25 - 18200000*x26 + 17430000*x27 - 9100000*x28 + 2000000*x29 + 16765350*x31 - 36400000*x32 + 43575000*x33 - 27300000*x34 - 36400000*x37 + 58100000*x38 - 45500000*x39 + 14000000*x40 + 43575000*x42 - 45500000*x43 + 17500000*x44 - 27300000*x46 + 14000000*x47 + x58 + x59 + x60 + x61 - x62 - x63 - x64 - x65 + x89 + 4536), x157*(32830*x1*xi[1] - 36097*x1 - x152 - x158 - x159 + 202055*x2 + 490000*x3*xi[1] - 659225*x3 + 1295000*x4 + 700000*x5*xi[1] - 1505000*x5 + 950000*x6 - x97*xi[1] - x98*xi[1] + 3393*xi[0] + 126*xi[1]), x157*(202055*x10 + 490000*x11*xi[0] - 659225*x11 + 1295000*x12 - x122*xi[0] - x123*xi[0] + 700000*x13*xi[0] - 1505000*x13 + 950000*x14 - x159 - x160 - x61 + 32830*x9*xi[0] - 36097*x9 + 126*xi[0] + 3393*xi[1]), x163*(14052500*x1*x10 + 7875000*x1*x12 + 2108960*x1*xi[1] - 242149*x1 + 25375000*x10*x3 + 19250000*x11*x2 + 4147500*x11*xi[0] + 1400000*x13*xi[0] - x152 - x161 - x162 - 3082100*x18 + 19810000*x2*x9 + 957950*x2 - 3272500*x20 - 6943300*x25 - 13422500*x27 - 1750000*x29 + 12783750*x3*xi[1] - 2218475*x3 - 14525000*x33 - 1750000*x35 + 18900000*x4*x9 + 3132500*x4 - 5250000*x40 - 27212500*x42 - 8750000*x47 - 5250000*x49 + 7525000*x5*xi[1] - 2660000*x5 + 1250000*x6 - x67 - x68 - x69 + x70 + x72 + x73 + 1344070*x9*xi[0] + 31686*xi[0]), x169*(155957*x1 - 40875*x10 + 41750*x11 - 22500*x12 + x152 + x164 + x165 + x167 + x168 - 456555*x17 + 780125*x18 - 738750*x19 - 694455*x2 + 367500*x20 - 1110135*x24 + 4232575*x25 - 8748750*x26 + 10067500*x27 - 6075000*x28 + 1500000*x29 + 1767975*x3 - 4773750*x32 + 3850000*x33 - 1575000*x34 - 10113750*x37 - 6750000*x39 - 2692500*x4 + 1500000*x40 + 15975000*x42 - 12750000*x43 - 12375000*x46 + 2430000*x5 - 1200000*x6 + 22262*x9 - 17733*xi[0] - 6393*xi[1]), x173*(7037500*x1*x10 + 2982175*x1*xi[1] - 532755*x1 + 27500000*x10*x3 + 47625*x10 + 8750000*x11*x2 + 587500*x11*xi[0] - 30000*x11 - x170 - x171 - x172 - 993125*x18 + 23912500*x2*x9 + 2577425*x2 - 12679875*x25 - 36500000*x27 - 6250000*x29 + 29025000*x3*xi[1] - 7093625*x3 - 3687500*x33 + 37500000*x4*x9 + 11570000*x4 - 43187500*x42 - 12500000*x49 + 23750000*x5*xi[1] - 11075000*x5 + 5750000*x6 + 830375*x9*xi[0] - 37500*x9 - x92 + 56223*xi[0] + 14643*xi[1]), x173*(384305*x1 + x165 - 299975*x17 + x174 + x178 + x179 + 224500*x18 - 1965700*x2 - 1625475*x24 + 7438250*x25 - 18505000*x26 + 25275000*x27 - 17750000*x28 + 5000000*x29 + 5748625*x3 - 1737500*x32 - 10225000*x37 - 9955000*x4 + 20762500*x42 - 20250000*x46 + 7500000*x49 + 10075000*x5 - 5500000*x6 + x82 - x84 - x85 + x92 - 38742*xi[0]), x169*(174015*x1*xi[1] - 57887*x1 - x152 - x180 - x182 + 742500*x2*x9 + 307920*x2 - 838550*x25 - 3267500*x27 - 750000*x29 + 2223750*x3*xi[1] - 942975*x3 + 1800000*x4*x9 + 1717500*x4 - 1650000*x42 - 750000*x49 + 2475000*x5*xi[1] - 1830000*x5 + 1050000*x6 + 19395*x9*xi[0] - 810*x9 + 5658*xi[0] + 726*xi[1]), x163*(45099*x1 + x152 + x183 - x184 + x185 + x187 + x189 - 246925*x2 - 85960*x24 + 430325*x25 - 1198750*x26 + 1872500*x27 - 1525000*x28 + 783475*x3 + 1660000*x5 - 1000000*x6 - 4311*xi[0] - 342*xi[1]), x163*(49070*x1*xi[1] - 4501*x1 - x187 - x190 - x191 - x192 + 22435*x2 - 242725*x25 - 1015000*x27 + 665000*x3*xi[1] - 62125*x3 + 96250*x4 + 800000*x5*xi[1] - 77500*x5 + 459*xi[0] + 198*xi[1]), x169*(20055*x1*xi[1] - 1262*x1 - x180 - x193 - x194 + 332500*x2*x9 + 5375*x2 - 84875*x25 - 192500*x27 + 183750*x3*xi[1] - 11750*x3 + 700000*x4*x9 + 12500*x4 - 700000*x42 + 9205*x9*xi[0] - 390*x9 + 143*xi[0] + 96*xi[1]), x173*(762500*x1*x10 + 57625*x1*xi[1] - 3000*x1 + 3250000*x10*x3 + 4800*x10 - x114 - x177 - 103000*x18 - x195 - x196 - x197 + 1150000*x2*x9 + 10125*x2 - 193125*x25 + 282500*x3*xi[1] - 1637500*x42 + 46175*x9*xi[0] - 2130*x9 + 393*xi[0] + 348*xi[1]), x173*(1150000*x1*x10 + 46175*x1*xi[1] - 2130*x1 + 10125*x10 + 3250000*x11*x2 + 282500*x11*xi[0] - x115 - x171 - 193125*x18 - x190 - x196 - x198 + 762500*x2*x9 + 4800*x2 - 103000*x25 - 1637500*x33 + 57625*x9*xi[0] - 3000*x9 + 348*xi[0] + 393*xi[1]), x169*(332500*x1*x10 + 700000*x1*x12 + 9205*x1*xi[1] - 390*x1 + 5375*x10 + 183750*x11*xi[0] - 11750*x11 + 12500*x12 - x167 - 84875*x18 - x194 - x199 - 192500*x20 - 700000*x33 + 20055*x9*xi[0] - 1262*x9 + 96*xi[0] + 143*xi[1]), x163*(22435*x10 + 665000*x11*xi[0] - 62125*x11 + 96250*x12 + 800000*x13*xi[0] - 77500*x13 - x161 - 242725*x18 - x192 - x195 - 1015000*x20 - x200 + 49070*x9*xi[0] - 4501*x9 + 198*xi[0] + 459*xi[1]), x163*(-246925*x10 + 783475*x11 + 1660000*x13 - 1000000*x14 - 85960*x17 + x175 + 430325*x18 + x189 - 1198750*x19 + 1872500*x20 + x200 - x201 + x202 - 1525000*x21 + x61 + 45099*x9 - 342*xi[0] - 4311*xi[1]), x169*(742500*x1*x10 + 1800000*x1*x12 + 19395*x1*xi[1] - 810*x1 + 307920*x10 + 2223750*x11*xi[0] - 942975*x11 + 1717500*x12 + 2475000*x13*xi[0] - 1830000*x13 + 1050000*x14 - 838550*x18 - x182 - x199 - 3267500*x20 - 750000*x22 - 1650000*x33 - 750000*x35 - x61 + 174015*x9*xi[0] - 57887*x9 + 726*xi[0] + 5658*xi[1]), x173*(-1965700*x10 + 5748625*x11 - 9955000*x12 + x129 + 10075000*x13 + x135 - x137 - x138 - 5500000*x14 - 1625475*x17 + x179 + 7438250*x18 - 18505000*x19 + 25275000*x20 + x203 + x204 + x205 - 17750000*x21 + 5000000*x22 - 299975*x24 + 224500*x25 - 10225000*x32 + 20762500*x33 - 20250000*x34 + 7500000*x35 - 1737500*x37 + 384305*x9 - 38742*xi[1]), x173*(23912500*x1*x10 + 37500000*x1*x12 + 830375*x1*xi[1] - 37500*x1 + 8750000*x10*x3 + 2577425*x10 + 27500000*x11*x2 + 29025000*x11*xi[0] - 7093625*x11 + 11570000*x12 - x129 + 23750000*x13*xi[0] - 11075000*x13 + 5750000*x14 - x172 - 12679875*x18 - x197 + 7037500*x2*x9 + 47625*x2 - 36500000*x20 - x206 - 6250000*x22 - 993125*x25 + 587500*x3*xi[1] - 30000*x3 - 43187500*x33 - 12500000*x35 - 3687500*x42 + 2982175*x9*xi[0] - 532755*x9 + 14643*xi[0] + 56223*xi[1]), x169*(22262*x1 - 694455*x10 + 1767975*x11 - 2692500*x12 + 2430000*x13 - 1200000*x14 + x168 - 1110135*x17 + 4232575*x18 - 8748750*x19 + x193 - 40875*x2 + 10067500*x20 + x204 + x207 - 6075000*x21 + 1500000*x22 - 456555*x24 + 780125*x25 - 738750*x26 + 367500*x27 + 41750*x3 - 10113750*x32 + 15975000*x33 - 12375000*x34 - 4773750*x37 - 12750000*x39 - 22500*x4 + 3850000*x42 - 6750000*x43 - 1575000*x46 + 1500000*x47 + x61 + 155957*x9 - 6393*xi[0] - 17733*xi[1]), x163*(19810000*x1*x10 + 18900000*x1*x12 + 1344070*x1*xi[1] + 19250000*x10*x3 + 957950*x10 + 25375000*x11*x2 + 12783750*x11*xi[0] - 2218475*x11 + 3132500*x12 + 7525000*x13*xi[0] - 2660000*x13 + 1250000*x14 - x141 - x142 - x143 + x144 + x146 + x147 - x162 - 6943300*x18 - x191 + 14052500*x2*x9 - 13422500*x20 - 1750000*x22 - 3082100*x25 - 3272500*x27 + 4147500*x3*xi[1] - 27212500*x33 - 5250000*x35 + 7875000*x4*x9 - 8750000*x40 - 14525000*x42 - 5250000*x47 - 1750000*x49 + 1400000*x5*xi[1] - x61 + 2108960*x9*xi[0] - 242149*x9 + 31686*xi[1]), x211*(247984*x0 + 86192*x1 - 263495*x10 + 450500*x11 - 440000*x12 + 230000*x13 - 1429785*x17 + 4028200*x18 - 6287500*x19 - 263495*x2 + 5555000*x20 + x208 + x209 - 2600000*x21 + x210 - 1429785*x24 + 4028200*x25 - 6287500*x26 + 5555000*x27 - 2600000*x28 + 450500*x3 + 7155400*x31 - 16662500*x32 + 20150000*x33 - 12300000*x34 + 3000000*x35 - 16662500*x37 + 29650000*x38 - 24250000*x39 - 440000*x4 + 7500000*x40 + 20150000*x42 - 24250000*x43 - 12300000*x46 + 7500000*x47 + 3000000*x49 + 230000*x5 + 86192*x9 - 13953*xi[0] - 13953*xi[1]), x211*(12788*x1 - 600*x10 - 28600*x17 + 13700*x18 - 60995*x2 + x208 + x212*x9 + x213 - 151995*x24 + 713200*x25 - 1822500*x26 + 2545000*x27 - 1800000*x28 + 159500*x3 - 112500*x32 - 1075000*x37 - 230000*x4 + 2350000*x42 - 750000*x43 - 2500000*x46 + 500000*x47 + 170000*x5 + 1200*x9 - 1347*xi[0] - 654*xi[1]), x211*(x1*x214 + 1200*x1 - 60995*x10 + 159500*x11 - 230000*x12 + 170000*x13 - 151995*x17 + 713200*x18 - 1822500*x19 - 600*x2 + 2545000*x20 + x209 - 1800000*x21 + x213 - 28600*x24 + 13700*x25 - 1075000*x32 + 2350000*x33 - 2500000*x34 - 112500*x37 - 750000*x39 + 500000*x40 + 12788*x9 - 654*xi[0] - 1347*xi[1]), x217*(15412500*x1*x10 + 7000000*x1*x12 + 1901825*x1*xi[1] - 123515*x1 + 35000000*x10*x3 + 140875*x10 + 24375000*x11*x2 + 2943750*x11*xi[0] - 168750*x11 + 102500*x12 - x121 - x170 - 2629375*x18 + 23350000*x2*x9 + 447425*x2 - 1662500*x20 - x215 - x216 - 6478625*x25 - 11650000*x27 + 11725000*x3*xi[1] - 873125*x3 - 14875000*x33 + 23125000*x4*x9 + 946250*x4 - 33312500*x42 - 6250000*x49 + 6000000*x5*xi[1] - 537500*x5 - x80 + 1217275*x9*xi[0] - 61310*x9 + 16221*xi[0] + 12441*xi[1]), x219*(148450*x1 - 69750*x10 + x102 + 52500*x11 + x120 - 926975*x17 + 1437750*x18 - 1022500*x19 - 611725*x2 + x212 + x218 - 2098950*x24 + 8300250*x25 - 17245000*x26 + 19300000*x27 - 11000000*x28 + 1345000*x3 - 9980000*x32 + 6350000*x33 - 24602500*x37 - 14750000*x39 - 1615000*x4 + 41400000*x42 - 35500000*x43 - 33000000*x46 + 15000000*x47 + 10000000*x49 + 42675*x9 - 17481*xi[0] - 11181*xi[1]), x217*(1412500*x1*x10 + 614875*x1*xi[1] - 47435*x1 + 7250000*x10*x3 + 8400*x10 - x164 - x178 - 184000*x18 + 6043750*x2*x9 + 213050*x2 - x215 - x220 - x221 - 2688000*x25 - 7887500*x27 + 6277500*x3*xi[1] - 516875*x3 + 10875000*x4*x9 + 683750*x4 - 11800000*x42 + 5000000*x5*xi[1] - 462500*x5 + 185225*x9*xi[0] - 8070*x9 + 5226*xi[0] + 2886*xi[1]), x217*(10310*x1 - 6600*x10 + x106 + x111 - 100625*x17 + x178 + 143500*x18 - 40375*x2 + x222 - 173775*x24 + 670625*x25 - 1278750*x26 + 1137500*x27 + 78750*x3 - 1087500*x32 - 3018750*x37 - 72500*x4 + 5425000*x42 - 5250000*x43 - 4375000*x46 + 4470*x9 - 1239*xi[0] - 924*xi[1]), x219*(33675*x0 + 11325*x1 - 32250*x10 + 37500*x11 + x112 + x120 - 228025*x17 + x174 + 637750*x18 - 717500*x19 - 32250*x2 + x203 - 228025*x24 + 637750*x25 - 717500*x26 + 37500*x3 + 1515500*x31 - 4092500*x32 + 4300000*x33 - 4092500*x37 + 10300000*x38 + 4300000*x42 + 5000000*x44 + 11325*x9 - 1656*xi[0] - 1656*xi[1] + 81), x217*(4470*x1 - 40375*x10 + 78750*x11 + x119 - 72500*x12 + x121 - 173775*x17 + 670625*x18 - 1278750*x19 - 6600*x2 + 1137500*x20 + x205 + x222 - 100625*x24 + 143500*x25 - 3018750*x32 + 5425000*x33 - 4375000*x34 - 1087500*x37 - 5250000*x39 + 10310*x9 - 924*xi[0] - 1239*xi[1]), x217*(6043750*x1*x10 + 10875000*x1*x12 + 185225*x1*xi[1] - 8070*x1 + 213050*x10 + 7250000*x11*x2 + 6277500*x11*xi[0] - 516875*x11 + 683750*x12 + 5000000*x13*xi[0] - 462500*x13 - 2688000*x18 + 1412500*x2*x9 + 8400*x2 - 7887500*x20 - x205 - x207 - x221 - x223 - x224 - 184000*x25 - 11800000*x33 + 614875*x9*xi[0] - 47435*x9 + 2886*xi[0] + 5226*xi[1]), x219*(42675*x1 - 611725*x10 + 1345000*x11 + x112 - 1615000*x12 + x125 - 2098950*x17 + 8300250*x18 - 17245000*x19 - 69750*x2 + 19300000*x20 - 11000000*x21 + x214 + x218 - 926975*x24 + 1437750*x25 - 1022500*x26 + 52500*x3 - 24602500*x32 + 41400000*x33 - 33000000*x34 + 10000000*x35 - 9980000*x37 - 35500000*x39 + 15000000*x40 + 6350000*x42 - 14750000*x43 + 148450*x9 - 11181*xi[0] - 17481*xi[1]), x217*(23350000*x1*x10 + 23125000*x1*x12 + 1217275*x1*xi[1] - 61310*x1 + 24375000*x10*x3 + 447425*x10 - x106 + 35000000*x11*x2 + 11725000*x11*xi[0] - 873125*x11 + 946250*x12 + 6000000*x13*xi[0] - 537500*x13 - x140 - 6478625*x18 + 15412500*x2*x9 + 140875*x2 - 11650000*x20 - x206 - x216 - x224 - 2629375*x25 - 1662500*x27 + 2943750*x3*xi[1] - 168750*x3 - 33312500*x33 - 6250000*x35 + 7000000*x4*x9 + 102500*x4 - 14875000*x42 + 1901825*x9*xi[0] - 123515*x9 + 12441*xi[0] + 16221*xi[1]), x169*(97220*x0 + 32860*x1 - 94375*x10 + x106 + 133750*x11 - 92500*x12 + x121 + x165 - 623000*x17 + 1709625*x18 + x184*xi[1] - 2291250*x19 - 94375*x2 + x201*xi[0] + x204 - 623000*x24 + 1709625*x25 - 2291250*x26 + 133750*x3 + 3781750*x31 - 9428750*x32 + 11112500*x33 - 6125000*x34 - 9428750*x37 + 19300000*x38 - 16500000*x39 - 92500*x4 + 11112500*x42 - 16500000*x43 + 7500000*x44 - 6125000*x46 + 32860*x9 - 4987*xi[0] - 4987*xi[1] + 252), x169*(3326250*x1*x10 + 319500*x1*xi[1] - 17860*x1 + 10125000*x10*x3 + 24375*x10 - x106 + 6000000*x11*x2 + 435000*x11*xi[0] - x118 - x171 - 494125*x18 + 5452500*x2*x9 + 61875*x2 - x220 - x225 - 1077875*x25 - 1312500*x27 + 1736250*x3*xi[1] - 103750*x3 - 2662500*x33 + 5250000*x4*x9 + 82500*x4 - 7962500*x42 + 237000*x9*xi[0] - 11250*x9 + 2343*xi[0] + 1983*xi[1]), x169*(5452500*x1*x10 + 5250000*x1*x12 + 237000*x1*xi[1] - 11250*x1 + 6000000*x10*x3 + 61875*x10 - x108 + 10125000*x11*x2 + 1736250*x11*xi[0] - 103750*x11 + 82500*x12 - x121 - 1077875*x18 - x197 + 3326250*x2*x9 + 24375*x2 - 1312500*x20 - x223 - x225 - 494125*x25 + 435000*x3*xi[1] - 7962500*x33 - 2662500*x42 + 319500*x9*xi[0] - 17860*x9 + 1983*xi[0] + 2343*xi[1])]) case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case 3: match n_nodes: case 4: def shape_functions(xi): return jnp.asarray([-xi[0] - xi[1] - xi[2] + 1, xi[0], xi[1], xi[2]]) case 10: def shape_functions(xi): x0 = 4*xi[0] x1 = x0*xi[1] x2 = x0*xi[2] x3 = 4*xi[1] x4 = x3*xi[2] x5 = -xi[0] - xi[1] - xi[2] + 1 return jnp.asarray([x1 + x2 + x4 + 2*xi[0]**2 - 3*xi[0] + 2*xi[1]**2 - 3*xi[1] + 2*xi[2]**2 - 3*xi[2] + 1, xi[0]*(2*xi[0] - 1), xi[1]*(2*xi[1] - 1), xi[2]*(2*xi[2] - 1), x0*x5, x1, x3*x5, 4*x5*xi[2], x2, x4]) case 20: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[1]**2 x2 = xi[2]**2 x3 = xi[1]*xi[2] x4 = 27*xi[0] x5 = x3*x4 x6 = 27*xi[0]/2 x7 = 27*xi[1]/2 x8 = 27*xi[2]/2 x9 = 6*xi[0] x10 = 3*x0 x11 = 3*x1 x12 = 3*x2 x13 = x10 + x11 + x12 + 6*x3 + x9*xi[1] + x9*xi[2] - 5*xi[0] - 5*xi[1] - 5*xi[2] + 2 x14 = 9*xi[0]/2 x15 = 3*xi[0] x16 = x15*xi[1] - xi[2] + 1 x17 = x15*xi[2] - xi[1] x18 = x15 - 1 x19 = x14*xi[1] x20 = 3*xi[1] x21 = x20 - 1 x22 = x20*xi[2] - xi[0] x23 = 9*xi[1]/2 x24 = 9*xi[2]/2 x25 = x14*xi[2] x26 = 3*xi[2] - 1 x27 = 9*x3/2 x28 = -xi[0] - xi[1] - xi[2] + 1 x29 = x28*x4 return jnp.asarray([-x0*x7 - x0*x8 + 9*x0 - x1*x6 - x1*x8 + 9*x1 - x2*x6 - x2*x7 + 9*x2 - x5 - 9*xi[0]**3/2 + 18*xi[0]*xi[1] + 18*xi[0]*xi[2] - 11*xi[0]/2 - 9*xi[1]**3/2 + 18*xi[1]*xi[2] - 11*xi[1]/2 - 9*xi[2]**3/2 - 11*xi[2]/2 + 1, xi[0]*(9*x0 - 9*xi[0] + 2)/2, xi[1]*(9*x1 - 9*xi[1] + 2)/2, xi[2]*(9*x2 - 9*xi[2] + 2)/2, x13*x14, x14*(-x10 - x16 - x17 + 4*xi[0]), x18*x19, x19*x21, x23*(-x11 - x16 - x22 + 4*xi[1]), x13*x23, x13*x24, x24*(-x12 - x17 - x22 + 4*xi[2] - 1), x18*x25, x25*x26, x21*x27, x26*x27, x29*xi[1], x29*xi[2], 27*x28*x3, x5]) case 35: def shape_functions(xi): x0 = 140*xi[0]/3 x1 = xi[1]*xi[2] x2 = xi[0]**2 x3 = xi[0]**3 x4 = xi[1]**2 x5 = xi[1]**3 x6 = xi[2]**2 x7 = xi[2]**3 x8 = x1*xi[0] x9 = 80*xi[0] x10 = 128*xi[0]/3 x11 = 80*xi[1] x12 = 80*xi[2] x13 = 128*xi[1]/3 x14 = 128*xi[2]/3 x15 = 128*xi[0] x16 = 64*x2 x17 = 8*x3 x18 = 8*x5 x19 = 8*x7 x20 = -36*x1 x21 = 24*xi[0] x22 = 24*xi[1] x23 = 24*xi[2] x24 = 36*xi[0] x25 = -x24*xi[1] x26 = -x24*xi[2] x27 = x25 + x26 - 3 x28 = -x17 - x18 - x19 - x2*x22 - x2*x23 + 18*x2 - x20 - x21*x4 - x21*x6 - x22*x6 - x23*x4 - x27 + 18*x4 + 18*x6 - 48*x8 - 13*xi[0] - 13*xi[1] - 13*xi[2] x29 = 16*xi[0]/3 x30 = 32*x2 x31 = 8*x1 x32 = 16*xi[0] x33 = 7*xi[2] x34 = 4*x6 x35 = 32*x8 x36 = x33 - x34 + x35 x37 = 7*xi[1] x38 = 4*x4 x39 = x37 - x38 x40 = 4*xi[0] x41 = 7*xi[0] x42 = -6*xi[0]*xi[1] x43 = -6*xi[0]*xi[2] x44 = 8*x2 x45 = xi[1] + xi[2] - 1 x46 = x44 - 6*xi[0] + 1 x47 = x29*xi[1] x48 = 4*xi[1] x49 = -x48 x50 = 1 - x40 x51 = x40*xi[1] x52 = 8*x4 x53 = x52 - 6*xi[1] + 1 x54 = xi[0] - 6*xi[1]*xi[2] - 1 x55 = 16*xi[1]/3 x56 = 32*x4 x57 = 8*xi[0] x58 = x57*xi[2] x59 = 16*xi[1] x60 = 4*x2 x61 = x20 + x41 - x60 - 3 x62 = 16*xi[2]/3 x63 = 32*x6 x64 = x57*xi[1] x65 = 16*xi[2] x66 = 4*xi[2] x67 = 8*x6 x68 = x29*xi[2] x69 = -x66 x70 = x40*xi[2] x71 = x67 - 6*xi[2] + 1 x72 = 16*x1/3 x73 = x48*xi[2] x74 = x31 - x33 + x34 - x37 + x38 - x41 + x58 + x60 + x64 + 3 x75 = 32*xi[0] x76 = x75*xi[1] x77 = x51 - xi[2] + 1 x78 = x70 - xi[1] x79 = -x60 - x77 - x78 + 5*xi[0] x80 = x73 - xi[0] x81 = -x38 - x77 - x80 + 5*xi[1] x82 = x75*xi[2] x83 = -x34 - x78 - x80 + 5*xi[2] - 1 x84 = 32*x1 return jnp.asarray([x0*xi[1] + x0*xi[2] + 128*x1*x2 + 140*x1/3 + x10*x5 + x10*x7 - x11*x2 - x11*x6 - x12*x2 - x12*x4 + x13*x3 + x13*x7 + x14*x3 + x14*x5 + x15*x4*xi[2] + x15*x6*xi[1] + x16*x4 + x16*x6 + 70*x2/3 - 80*x3/3 + 64*x4*x6 - x4*x9 + 70*x4/3 - 80*x5/3 - x6*x9 + 70*x6/3 - 80*x7/3 - 160*x8 + 32*xi[0]**4/3 - 25*xi[0]/3 + 32*xi[1]**4/3 - 25*xi[1]/3 + 32*xi[2]**4/3 - 25*xi[2]/3 + 1, xi[0]*(-48*x2 + 32*x3 + 22*xi[0] - 3)/3, xi[1]*(-48*x4 + 32*x5 + 22*xi[1] - 3)/3, xi[2]*(-48*x6 + 32*x7 + 22*xi[2] - 3)/3, x28*x29, x40*(x27 + 16*x3 + x30*xi[1] + x30*xi[2] - x30 - x31 + x32*x4 + x32*x6 + x36 + x39 + 19*xi[0]), x29*(-x17 + 14*x2 - x41 - x42 - x43 - x44*xi[1] - x44*xi[2] - x45), x46*x47, x51*(x32*xi[1] + x49 + x50), x47*x53, x55*(-x18 - x37 + 14*x4 - x42 - x52*xi[0] - x52*xi[2] - x54 - xi[2]), x48*(x2*x59 + x25 + x36 + 16*x5 + x56*xi[0] + x56*xi[2] - x56 - x58 + x59*x6 + x61 + 19*xi[1]), x28*x55, x28*x62, x66*(x2*x65 + x26 + x35 + x39 + x4*x65 + x61 + x63*xi[0] + x63*xi[1] - x63 - x64 + 16*x7 + 19*xi[2]), x62*(-x19 - x33 - x43 - x54 + 14*x6 - x67*xi[0] - x67*xi[1] - xi[1]), x46*x68, x70*(x32*xi[2] + x50 + x69), x68*x71, x53*x72, x73*(16*x1 + x49 + x69 + 1), x71*x72, x74*x76, x76*x79, x76*x81, x74*x82, x79*x82, x82*x83, x74*x84, x83*x84, x81*x84, x35*(x40 - 1), x35*(x48 - 1), x35*(x66 - 1), 256*x8*(-x45 - xi[0])]) case 56: def shape_functions(xi): x0 = xi[0]**2 x1 = xi[0]**3 x2 = xi[0]**4 x3 = xi[1]**2 x4 = xi[1]**3 x5 = xi[1]**4 x6 = xi[2]**2 x7 = xi[2]**3 x8 = xi[2]**4 x9 = xi[1]*xi[2] x10 = x9*xi[0] x11 = 2125*xi[0]/8 x12 = 3125*xi[0]/24 x13 = 2125*xi[1]/8 x14 = 2125*xi[2]/8 x15 = 3125*xi[1]/24 x16 = 3125*xi[2]/24 x17 = xi[0]*xi[1] x18 = xi[0]*xi[2] x19 = 3125*x0/12 x20 = 3125*x1/12 x21 = x3*x6 x22 = x6*xi[1] x23 = x0*xi[2] x24 = 250*xi[0] x25 = 250*xi[1] x26 = 250*xi[2] x27 = 710*xi[0] x28 = 125*x2 x29 = 125*x5 x30 = 125*x8 x31 = 1050*xi[0] x32 = 500*xi[0] x33 = 1050*xi[1] x34 = 1050*xi[2] x35 = 500*xi[1] x36 = 500*xi[2] x37 = x17*x6 x38 = x3*xi[0] x39 = x38*xi[2] x40 = 750*x0 x41 = -x0*x33 - x0*x34 + 1500*x0*x9 + 355*x0 + x1*x35 + x1*x36 - 350*x1 - 2100*x10 + 750*x21 + x27*xi[1] + x27*xi[2] + x28 + x29 - x3*x31 - x3*x34 + x3*x40 + 355*x3 + x30 - x31*x6 + x32*x4 + x32*x7 - x33*x6 + x35*x7 + x36*x4 + 1500*x37 + 1500*x39 - 350*x4 + x40*x6 + 355*x6 - 350*x7 + 710*x9 - 154*xi[0] - 154*xi[1] - 154*xi[2] + 24 x42 = 25*xi[0]/24 x43 = 125*x4 x44 = x43*xi[0] x45 = 125*x7 x46 = x45*xi[0] x47 = 120*x9 x48 = 375*x1 x49 = 375*xi[0] x50 = x3*x49 x51 = 75*x6 x52 = x51*xi[1] x53 = -x50 - x52 x54 = x49*x6 x55 = 75*x3 x56 = x55*xi[2] x57 = -x54 - x56 x58 = 47*xi[2] x59 = 25*x7 x60 = 60*x6 x61 = 355*xi[0] x62 = 375*x0 x63 = -750*xi[0]*xi[1]*xi[2] x64 = x3*x62 + x54*xi[1] - x58 - x59 + x60 + x61*xi[1] + x63 + 12 x65 = 47*xi[1] x66 = 25*x4 x67 = 60*x3 x68 = x50*xi[2] + x6*x62 + x61*xi[2] - x65 - x66 + x67 x69 = 25*xi[0]/12 x70 = x51*xi[0] x71 = -x62*xi[1] - x70 x72 = x55*xi[0] x73 = -x62*xi[2] - x72 x74 = 125*x0 x75 = 155*xi[0] x76 = 150*x10 x77 = -x76 x78 = x3*x74 + 10*x6 + x75*xi[1] + x77 - 18*xi[2] + 8 x79 = 10*x3 + x6*x74 + x75*xi[2] - 18*xi[1] x80 = 125*x1 x81 = x80*xi[1] x82 = x80*xi[2] x83 = 6*xi[2] x84 = -x83 x85 = 55*xi[0] x86 = x85*xi[1] x87 = x84 + x86 + 6 x88 = 6*xi[1] x89 = -x88 x90 = x85*xi[2] x91 = x89 + x90 x92 = -150*x0 + x80 + x85 - 6 x93 = x42*xi[1] x94 = 10*xi[1] x95 = 75*xi[1] x96 = -x95*xi[0] - 2 x97 = 25*x0 x98 = 15*xi[0] x99 = -x97 + x98 x100 = x69*xi[1] x101 = 10*xi[0] x102 = 25*x3 x103 = 15*xi[1] x104 = -x102 + x103 x105 = 55*xi[1] x106 = x105 - 150*x3 + x43 - 6 x107 = x43*xi[2] x108 = 6*xi[0] x109 = -x108 x110 = x105*xi[2] x111 = x109 + x110 x112 = 25*xi[1]/24 x113 = x3*xi[2] x114 = 375*xi[2] x115 = x0*x95 x116 = -x114*x3 - x115 x117 = 10*x0 + 125*x21 + 155*x9 - 18*xi[0] x118 = 25*xi[1]/12 x119 = x45*xi[1] x120 = 120*x18 x121 = 375*xi[1] x122 = 75*x23 x123 = -x121*x6 - x122 x124 = 47*xi[0] x125 = 25*x1 x126 = 60*x0 x127 = -x124 - x125 + x126 + 375*x21 + x62*x9 + 355*x9 x128 = 25*xi[2]/24 x129 = 120*x17 x130 = 25*xi[2]/12 x131 = x42*xi[2] x132 = 10*xi[2] x133 = -75*x18 - 2 x134 = x69*xi[2] x135 = 125*x6 x136 = 25*x6 x137 = 15*xi[2] x138 = -x136 + x137 x139 = x45 - 150*x6 + 55*xi[2] - 6 x140 = 25*x9/24 x141 = -75*x9 - 2 x142 = 25*x9/12 x143 = -x115 + x120 - x122 - x124 - x125 + x126 + x129 + x47 - x52 - x56 - x58 - x59 + x60 - x65 - x66 + x67 - x70 - x72 - x76 + 12 x144 = 125*x17/6 x145 = x97*xi[1] x146 = x97*xi[2] x147 = -15*xi[0]*xi[1] + 2*xi[2] - 2 x148 = -15*xi[0]*xi[2] + 2*xi[1] x149 = 40*x0 - x125 - x145 - x146 - x147 - x148 - 17*xi[0] x150 = x102*xi[0] x151 = x102*xi[2] x152 = 2*xi[0] - 15*xi[1]*xi[2] x153 = -x147 - x150 - x151 - x152 + 40*x3 - x66 - 17*xi[1] x154 = 50*x0 x155 = x94*xi[2] x156 = 5*x3 x157 = -x156 x158 = x150 + x157 x159 = x136*xi[0] x160 = 5*x6 x161 = -x160 x162 = x159 + x161 x163 = 9*xi[2] x164 = 50*x10 x165 = x163 + x164 - x86 - 4 x166 = 9*xi[1] x167 = x166 - x90 x168 = x125 + x154*xi[1] + x154*xi[2] - x154 - x155 + x158 + x162 + x165 + x167 + 29*xi[0] x169 = 125*x17/4 x170 = 5*x0 x171 = -x170 x172 = x145 + x171 x173 = 5*xi[1] x174 = x173*xi[2] x175 = 25*x9 x176 = x175*xi[0] x177 = x108 - x174 + x176 - 1 x178 = 5*xi[0] x179 = x178*xi[2] x180 = -x179 + x88 x181 = 50*x3 x182 = x101*xi[2] x183 = x136*xi[1] x184 = x161 + x183 x185 = 9*xi[0] x186 = -x110 + x185 x187 = x165 + x172 + x181*xi[0] + x181*xi[2] - x181 - x182 + x184 + x186 + x66 + 29*xi[1] x188 = 125*x18/6 x189 = -x148 - x152 - x159 - x183 - x59 + 40*x6 - 17*xi[2] + 2 x190 = 125*x18/4 x191 = x146 + x171 x192 = x178*xi[1] x193 = -x192 + x83 x194 = 50*x6 x195 = x94*xi[0] x196 = x151 + x157 x197 = x164 + x167 + x186 + x191 + x194*xi[0] + x194*xi[1] - x194 - x195 + x196 + x59 + 29*xi[2] - 4 x198 = 125*x9/6 x199 = 125*x9/4 x200 = 125*x10/6 x201 = -x178 x202 = 1 - x173 x203 = 125*x10/4 x204 = -5*xi[2] x205 = 625*x9*xi[0]/2 x206 = x174 - xi[0] + 1 x207 = x192 - xi[2] x208 = x179 - xi[1] return jnp.asarray([-x0*x13 - x0*x14 - 3125*x0*x22/4 + 1875*x0*x3/4 + 1875*x0*x6/4 + 1875*x0*xi[1]*xi[2]/2 + 375*x0/8 - 3125*x1*x9/6 + 625*x1*xi[1]/2 + 625*x1*xi[2]/2 - 2125*x1/24 - 2125*x10/4 - x11*x3 - x11*x6 - x12*x5 - x12*x8 - x13*x6 - x14*x3 - x15*x2 - x15*x8 - x16*x2 - x16*x5 - 3125*x17*x7/6 - 3125*x18*x4/6 - x19*x4 - x19*x7 + 625*x2/8 - x20*x3 - x20*x6 - 3125*x21*xi[0]/4 - 3125*x23*x3/4 + 1875*x3*x6/4 - 3125*x3*x7/12 + 1875*x3*xi[0]*xi[2]/2 + 375*x3/8 - 3125*x4*x6/12 + 625*x4*xi[0]/2 + 625*x4*xi[2]/2 - 2125*x4/24 + 625*x5/8 + 1875*x6*xi[0]*xi[1]/2 + 375*x6/8 + 625*x7*xi[0]/2 + 625*x7*xi[1]/2 - 2125*x7/24 + 625*x8/8 - 625*xi[0]**5/24 + 375*xi[0]*xi[1]/4 + 375*xi[0]*xi[2]/4 - 137*xi[0]/12 - 625*xi[1]**5/24 + 375*xi[1]*xi[2]/4 - 137*xi[1]/12 - 625*xi[2]**5/24 - 137*xi[2]/12 + 1, xi[0]*(875*x0 - 1250*x1 + 625*x2 - x24 + 24)/24, xi[1]*(-x25 + 875*x3 - 1250*x4 + 625*x5 + 24)/24, xi[2]*(-x26 + 875*x6 - 1250*x7 + 625*x8 + 24)/24, x41*x42, x69*(675*x0*xi[1] + 675*x0*xi[2] - 295*x0 + 325*x1 - x28 - x40*x9 - x44 - x46 - x47 - x48*xi[1] - x48*xi[2] - x53 - x57 - x64 - x68 + 107*xi[0]), x69*(245*x0 + x1*x25 + x1*x26 - 300*x1 + x23*x25 + x28 + x71 + x73 + x78 + x79 + 20*x9 - 78*xi[0]), x42*(150*x0*xi[1] + 150*x0*xi[2] - 205*x0 + 275*x1 - x28 - x81 - x82 - x87 - x91 + 61*xi[0]), x92*x93, x100*(x74*xi[1] + x94 + x96 + x99), x100*(x101 + x104 + 125*x38 + x96), x106*x93, x112*(-x107 - x111 - x29 + 150*x3*xi[0] + 150*x3*xi[2] - 205*x3 + 275*x4 - x44 - x87 + 61*xi[1]), x118*(x113*x24 + x116 + x117 + 20*x18 + x24*x4 + x26*x4 + x29 + 245*x3 - 300*x4 + x53 + x78 - 78*xi[1]), x118*(-x114*x4 - x119 - x120 - x123 - x127 - x29 + 675*x3*xi[0] + 675*x3*xi[2] - 295*x3 - 750*x39 - x4*x49 + 325*x4 - x64 - x71 - x81 + 107*xi[1]), x112*x41, x128*x41, x130*(-x107 - x116 - x121*x7 - x127 - x129 - x30 - 750*x37 - x49*x7 + 675*x6*xi[0] + 675*x6*xi[1] - 295*x6 - x63 - x68 + 325*x7 - x73 - x82 + 107*xi[2] - 12), x130*(x117 + x123 + 20*x17 + x22*x24 + x24*x7 + x25*x7 + x30 + x57 + 245*x6 - 300*x7 + x77 + x79 - 78*xi[2] + 8), x128*(-x111 - x119 - x30 - x46 + 150*x6*xi[0] + 150*x6*xi[1] - 205*x6 + 275*x7 - x91 + 61*xi[2] - 6), x131*x92, x134*(x132 + x133 + x74*xi[2] + x99), x134*(x101 + x133 + x135*xi[0] + x138), x131*x139, x106*x140, x142*(x104 + 125*x113 + x132 + x141), x142*(x135*xi[1] + x138 + x141 + x94), x139*x140, x143*x144, x144*x149, x144*x153, x168*x169, x169*(-x158 - x172 - x177 - x180 + 35*xi[0]*xi[1] - xi[2]), x169*x187, x143*x188, x149*x188, x188*x189, x168*x190, x190*(-x162 - x177 - x191 - x193 + 35*xi[0]*xi[2] - xi[1]), x190*x197, x143*x198, x189*x198, x153*x198, x197*x199, x199*(-x176 - x180 - x184 - x193 - x196 - xi[0] + 35*xi[1]*xi[2] + 1), x187*x199, x200*(x97 - x98 + 2), x200*(x102 - x103 + 2), x200*(x136 - x137 + 2), x203*(25*x17 + x201 + x202), x203*(x175 + x202 + x204), x203*(25*x18 + x201 + x204 + 1), x205*(x155 + x156 + x160 - x163 - x166 + x170 + x182 - x185 + x195 + 4), x205*(-x156 - x206 - x207 - x89), x205*(-x160 - x206 - x208 - x84), x205*(-x109 - x170 - x207 - x208 - 1)]) case _: assert False, "Dimensionality not implemented." shape_functions = jax.jit(shape_functions) if overwrite_diff: # Overwrite derivative to be with respect to initial configuration instead of reference configuration @jax.custom_jvp def ansatz(xi, fI, xI): return jnp.einsum('i, i...-> ...', shape_functions(xi), fI) @ansatz.defjvp def f_jvp(primals, tangents): xi, fI, xI = primals x_dot, fI_dot, _ = tangents # Isoparametric mapping initial_coor = lambda xi: jnp.einsum('i, i...-> ...', shape_functions(xi), xI) dX_dxi = jax.jacfwd(initial_coor)(xi) fun = lambda xi: jnp.einsum('i, i...-> ...', shape_functions(xi), fI) primal_out = fun(xi) df_dxi = jax.jacfwd(fun)(xi) tangent_out = jnp.einsum('...i, i-> ...', df_dxi, matrix_inv(dX_dxi) @ x_dot) # Add tangent with respect to fI if fI_dot is not None: tangent_out += jnp.einsum('i, i...-> ...', shape_functions(xi), fI_dot) return primal_out, tangent_out return ansatz(x, fI, xI) else: return jnp.einsum('i, i...-> ...', shape_functions(x), fI) ### Spaces defined in the physical configuration, for assembling modes sparse/dense
[docs]@jit_with_docstring(static_argnames=["static_settings", "set"]) def solution_space(x, int_point_number, local_dofs, settings, static_settings, set): """ Compute the solution space for a given integration point and local degrees of freedom. This function determines the type of solution space based on the provided settings and computes it accordingly. The supported types of solution spaces include moving least squares (mls), finite element simplices (fem simplex), nodal values, and user-defined solution spaces. Args: x (jnp.ndarray): The coordinates of the evaluation point. int_point_number (int): The index of the integration point. local_dofs (jnp.ndarray): The local degrees of freedom. settings (dict): A dictionary containing various settings required for the computation. static_settings (dict): A dictionary containing static settings that define the solution space and other parameters. set (int): The index of the current set of settings being used. Returns: jnp.ndarray: The computed solution space value or shape functions at the evaluation point. """ if isinstance(local_dofs, dict): raise TypeError("solution_space does currently not support DOFs as dicts.") # Warning if it was defined in static_settings assert "connectivity" not in static_settings, \ "'connectivity' has been moved to 'settings' in order to reduce compile time. \ Further, you should not transform it to a tuple of tuples anymore." space_type = static_settings["solution space"][set] if space_type == "mls": beta = settings["beta"][set] x_nodes = settings["node coordinates"] neighbor_list = settings["connectivity"][set] support_radius = settings["support radius"][set] x_local_nodes = x_nodes[neighbor_list[int_point_number]] return moving_least_squares( x, x_local_nodes, local_dofs, beta, support_radius, static_settings, set ) elif space_type == "fem simplex": x_nodes = settings["node coordinates"] connectivity_list = settings["connectivity"][set] x_local_nodes = x_nodes[connectivity_list[int_point_number]] return fem_ini_simplex(x, x_local_nodes, local_dofs, static_settings, set) elif space_type == "nodal values": mode = static_settings["shape function mode"] if mode == "direct": return local_dofs elif mode == "compiled": return jnp.asarray([1.0]) elif space_type == "user": return static_settings["user solution space function"][set]( x, int_point_number, local_dofs, settings, static_settings, set ) else: assert False, "Solution space not defined!"
[docs]@jit_with_docstring(static_argnames=["static_settings", "set"]) def moving_least_squares(x, xI, fI, beta, support_radius, static_settings, set): """ Compute the moving least squares (MLS) approximation for a given set of points and data. Args: x (jnp.ndarray): The position of the evaluation point. xI (jnp.ndarray): The positions of neighboring nodes. fI (jnp.ndarray): The data at neighboring nodes. beta (float): The hyperparameter for smoothness, typically in the range [3, 5]. support_radius (float): The radius within which neighboring nodes are considered. static_settings (dict): Dictionary containing static settings that define the solution space and other parameters. Keywords used: - 'order of basis functions': Order of polynomial basis functions. - 'shape function mode': Mode of shape function computation ('direct' or 'compiled'). - 'weight function type': Type of weight function ('gaussian', 'bump', 'gaussian perturbed kronecker', 'bump perturbed kronecker'). set (int): The index of the current set of settings being used. settings (dict): Dictionary containing dynamic settings. Keywords used: - 'beta': Hyperparameter for smoothness. - 'node coordinates': Coordinates of nodes. - 'connectivity': Connectivity information of integration points with respect to nodes. - 'support radius': Support radius for weight function. Returns: jnp.ndarray: The computed MLS approximation at the evaluation point, either as shape functions or the evaluated function, depending on wether the compiled mode or direct mode is chosen. """ if isinstance(xI, dict): raise TypeError("moving_least_squares does currently not support DOFs as dicts.") order = static_settings["order of basis functions"][set] n_dim = x.shape[0] mode = static_settings["shape function mode"] basis_length = _compute_poly_basis_length(n_dim, order) # Initial coefficients a_0 = jnp.zeros(basis_length) # Radial weigth function, smooth Gauß Kernel def weight_function(r_squared): scaled_r_squared = r_squared / (support_radius**2) cond = jnp.where(scaled_r_squared < 1, 1, 0) weight_function_type = static_settings["weight function type"][set] if weight_function_type == "gaussian": return ( (jnp.exp(-(beta**2) * scaled_r_squared) - jnp.exp(-(beta**2))) / (1 - jnp.exp(-(beta**2))) * cond ) # Gauss kernel elif weight_function_type == "bump": return ( jnp.exp(beta**2 * scaled_r_squared / (scaled_r_squared - 1.0)) ) * cond # Bump function elif weight_function_type == "gaussian perturbed kronecker": return ( (jnp.exp(-(beta**2) * scaled_r_squared) - jnp.exp(-(beta**2))) / (1 - jnp.exp(-(beta**2))) / (jnp.sqrt(scaled_r_squared) + 1e-6) ) * cond # Gauss kernel elif weight_function_type == "bump perturbed kronecker": return ( (jnp.exp(beta**2 * scaled_r_squared / (scaled_r_squared - 1.0))) / (jnp.sqrt(scaled_r_squared) + 1e-6) ) * cond # Bump function else: assert ( False ), "Weight function type has to be either 'gaussian', 'bump', 'gaussian perturbed kronecker' or 'bump perturbed kronecker'." # Ansatz of approximation, evaluated at shifted and scaled xi def polynomial_ansatz(a, xi): return jnp.dot(a, _polynomial_basis((xi - x) / support_radius, order)) # Squared error at node i def squared_error(a, xi, fi): e = polynomial_ansatz(a, xi) - fi return e**2 # Weighted squared error at node i def weighted_squared_error(a, xi, fi): d = x - xi r_squared = jnp.dot(d, d) w = weight_function(r_squared) e2 = squared_error(a, xi, fi) return w * e2 # Summing weighted squared errors def mls_error_functional(a, fI0): weighted_squared_error_vmap = jax.vmap(weighted_squared_error, (None, 0, 0), 0) eWLS = weighted_squared_error_vmap( a, xI, fI0 ).sum() # For computation of shape functions one field is sufficient return eWLS # Compute coefficients via one Newton step def compute_mls(fI0): residual = jax.jacrev(mls_error_functional) tangent = jax.jacfwd(residual) residual_0 = residual(a_0, fI0) tangent_0 = tangent(a_0, fI0) chol, lower = jax.scipy.linalg.cho_factor(tangent_0) a_mls = -jax.scipy.linalg.cho_solve((chol, lower), residual_0) return polynomial_ansatz(a_mls, x) # Filter the shape functions tmpI = jnp.ones(fI.shape[0]) shape_functions = jax.jacrev(compute_mls)(tmpI) if mode == "direct": # Use shape functions for all fields return jnp.dot(shape_functions, fI) elif mode == "compiled": return shape_functions else: assert False, "Wrong mode of shape function computation"
[docs]@jit_with_docstring(static_argnames=["static_settings", "set"]) def fem_ini_simplex(x, xI, fI, static_settings, set): """ Compute finite element shape functions directly in the initial/physical configuration. Args: x (jnp.ndarray): The position of the evaluation point. xI (jnp.ndarray): The positions of neighboring nodes. fI (jnp.ndarray): The data at neighboring nodes. static_settings (dict): Dictionary containing static settings that define the solution space and other parameters. Keywords used: - 'shape function mode': Mode of shape function computation ('direct' or 'compiled'). set (int): The index of the current set of settings being used. Returns: jnp.ndarray: The computed finite element shape functions at the evaluation point, either as shape functions or the evaluated function. Notes: - This method computes the polynomial order based on the number of nodes per element. - The method supports different dimensions and orders for the polynomial basis functions. """ if isinstance(xI, dict): raise TypeError("fem_ini_simplex does currently not support DOFs as dicts.") mode = static_settings["shape function mode"] n_dim = xI.shape[-1] n_nodes = xI.shape[0] match n_dim: # Compute the polynomial order based on the number of nodes per element case 1: order = n_nodes - 1 case 2: match n_nodes: case 3: order = 1 case 6: order = 2 case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case 3: match n_nodes: case 4: order = 1 case 10: order = 2 case _: assert ( False ), "Order of shape functions not implemented or number of nodes not adequat" case _: order = 1 assert ( n_nodes == n_dim + 1 ), "Order of shape functions not implemented or number of nodes not adequat" basis_length = n_nodes # Initial coefficients a_0 = jnp.zeros(basis_length) # Ansatz of approximation, evaluated at shifted and scaled xi xc = jnp.mean(xI, axis=0) scaling_length = jnp.mean(xI - xc, axis=0) def polynomial_ansatz(a, xi): scaling_length = 1 return jnp.dot(a, _polynomial_basis((xi - x) / scaling_length, order)) # Squared error at node i def squared_error(a, xi, fi): e = polynomial_ansatz(a, xi) - fi return e**2 # Summing weighted squared errors def error_functional(a, fI0): squared_error_vmap = jax.vmap(squared_error, (None, 0, 0), 0) eWLS = squared_error_vmap( a, xI, fI0 ).sum() # For computation of shape functions one field is sufficient return eWLS # Compute coefficients via one Newton step def compute_ls(fI0): residual = jax.jacrev(error_functional) tangent = jax.jacfwd(residual) residual_0 = residual(a_0, fI0) tangent_0 = tangent(a_0, fI0) chol, lower = jax.scipy.linalg.cho_factor(tangent_0) a_mls = -jax.scipy.linalg.cho_solve((chol, lower), residual_0) return polynomial_ansatz(a_mls, x) # Filter the shape functions tmpI = jnp.ones(fI.shape[0]) shape_functions = jax.jacrev(compute_ls)(tmpI) if mode == "direct": # Use shape functions for all fields return jnp.dot(shape_functions, fI) elif mode == "compiled": return shape_functions else: assert False, "Wrong mode of shape function computation"
### Pre-computing shape functions
[docs]@jit_with_docstring(static_argnames=["static_settings", "set", "num_diff"]) def precompute_shape_functions(dofs, settings, static_settings, set, num_diff): """ Precompute shape functions and their derivatives for all integration points. Args: dofs (jnp.ndarray): The degrees of freedom. settings (dict): Dictionary containing various settings for the computation. Keywords used: - 'connectivity': Connectivity information for the integration points or elements. - 'integration coordinates': Coordinates of the integration points. static_settings (dict): Dictionary containing static settings for the solution space. set (int): The index of the current set of settings being used. num_diff (int): The number of derivatives to compute (0, 1, or 2). Returns: tuple A tuple containing the precomputed shape functions and their derivatives. """ if isinstance(dofs, dict): raise TypeError("precompute_shape_functions does currently not support DOFs as dicts.") # Warning if it was defined in static_settings assert "connectivity" not in static_settings, \ "'connectivity' has been moved to 'settings' in order to reduce compile time. \ Further, you should not transform it to a tuple of tuples anymore." neighbor_list = settings["connectivity"][set] local_dofs = dofs[neighbor_list] x_int = settings["integration coordinates"][set] int_point_numbers = jnp.arange(0, x_int.shape[0], 1) # Computing shape functions and derivatives shp_i = _shape_funs( x_int, int_point_numbers, local_dofs, settings, static_settings, set ) if num_diff == 0: return shp_i dshp_i = _shape_funs_dx( x_int, int_point_numbers, local_dofs, settings, static_settings, set ) if num_diff == 1: return (shp_i, dshp_i) ddshp_i = _shape_funs_dxx( x_int, int_point_numbers, local_dofs, settings, static_settings, set ) if num_diff == 2: return (shp_i, dshp_i, ddshp_i) assert False, "Number of differentiations not implemented!"