sfepy.discrete.fem.poly_spaces module

class sfepy.discrete.fem.poly_spaces.BernsteinSimplexPolySpace(name, geometry, order)[source]

Bernstein polynomial space on simplex domains.

Notes

Naive proof-of-concept implementation, does not use recurrent formulas or Duffy transformation to obtain tensor product structure.

name = 'bernstein_simplex'
class sfepy.discrete.fem.poly_spaces.BernsteinTensorProductPolySpace(name, geometry, order)[source]

Bernstein polynomial space.

Each row of the nodes attribute defines indices of 1D Bernstein basis functions that need to be multiplied together to evaluate the corresponding shape function. This defines the ordering of basis functions on the reference element.

name = 'bernstein_tensor_product'
class sfepy.discrete.fem.poly_spaces.FEPolySpace(name, geometry, order)[source]

Base for FE polynomial space classes.

describe_nodes()[source]
get_mtx_i()[source]
class sfepy.discrete.fem.poly_spaces.LagrangeNodes(**kwargs)[source]

Helper class for defining nodes of Lagrange elements.

static append_bubbles(nodes, nts, iseq, nt, order)[source]
static append_edges(nodes, nts, iseq, nt, edges, order)[source]
static append_faces(nodes, nts, iseq, nt, faces, order)[source]
static append_tp_bubbles(nodes, nts, iseq, nt, ao)[source]
static append_tp_edges(nodes, nts, iseq, nt, edges, ao)[source]
static append_tp_faces(nodes, nts, iseq, nt, faces, ao)[source]
class sfepy.discrete.fem.poly_spaces.LagrangePolySpace(name, geometry, order)[source]
create_context(cmesh, eps, check_errors, i_max, newton_eps, tdim=None)[source]
class sfepy.discrete.fem.poly_spaces.LagrangeSimplexBPolySpace(name, geometry, order, init_context=True)[source]

Lagrange polynomial space with forced bubble function on a simplex domain.

create_context(*args, **kwargs)[source]
name = 'lagrange_simplex_bubble'
class sfepy.discrete.fem.poly_spaces.LagrangeSimplexPolySpace(name, geometry, order, init_context=True)[source]

Lagrange polynomial space on a simplex domain.

name = 'lagrange_simplex'
class sfepy.discrete.fem.poly_spaces.LagrangeTensorProductPolySpace(name, geometry, order, init_context=True)[source]

Lagrange polynomial space on a tensor product domain.

get_mtx_i()[source]
name = 'lagrange_tensor_product'
class sfepy.discrete.fem.poly_spaces.LagrangeWedgePolySpace(name, geometry, order, init_context=True)[source]
name = 'lagrange_wedge'
class sfepy.discrete.fem.poly_spaces.LobattoTensorProductPolySpace(name, geometry, order)[source]

Hierarchical polynomial space using Lobatto functions.

Each row of the nodes attribute defines indices of Lobatto functions that need to be multiplied together to evaluate the corresponding shape function. This defines the ordering of basis functions on the reference element.

name = 'lobatto_tensor_product'
class sfepy.discrete.fem.poly_spaces.NodeDescription(node_types, nodes)[source]

Describe FE nodes defined on different parts of a reference element.

has_extra_nodes()[source]

Return True if the element has some edge, face or bubble nodes.

class sfepy.discrete.fem.poly_spaces.SEMTensorProductPolySpace(name, geometry, order, init_context=True)[source]

Spectral element method polynomial space = Lagrange polynomial space with Legendre-Gauss-Lobatto nodes. The same nodes and corresponding weights should be used for numerical quadrature to obtain a diagonal mass matrix.

name = 'sem_tensor_product'
class sfepy.discrete.fem.poly_spaces.SerendipityTensorProductPolySpace(name, geometry, order)[source]

Serendipity polynomial space using Lagrange functions.

Notes

  • Orders >= 4 (with bubble functions) are not supported.

  • Does not use CLagrangeContext, basis functions are hardcoded.

  • self.nodes, self.node_coors are not used for basis evaluation and

    assembling.

all_bfs = {2: {1: [[x*(y - 1.0) - y + 1.0, x*(1.0 - y), x*y, -x*y + y], [[y - 1.0, x - 1.0], [1.0 - y, -x], [y, x], [-y, 1.0 - x]]], 2: [[x*(x*(2.0 - 2.0*y) + y*(5.0 - 2.0*y) - 3.0) + y*(2.0*y - 3.0) + 1.0, x*(x*(2.0 - 2.0*y) + y*(2.0*y - 1.0) - 1.0), x*(2.0*x*y + y*(2.0*y - 3.0)), x*(2.0*x*y + y*(-2.0*y - 1.0)) + y*(2.0*y - 1.0), x*(x*(4*y - 4) - 4*y + 4), x*y*(4.0 - 4.0*y), x*(-4.0*x*y + 4.0*y), x*y*(4.0*y - 4.0) + y*(4.0 - 4.0*y)], [[x*(4.0 - 4.0*y) + y*(5.0 - 2.0*y) - 3.0, x*(-2.0*x - 4.0*y + 5.0) + 4.0*y - 3.0], [x*(4.0 - 4.0*y) + y*(2.0*y - 1.0) - 1.0, x*(-2.0*x + 4.0*y - 1.0)], [4.0*x*y + y*(2.0*y - 3.0), x*(2.0*x + 4.0*y - 3.0)], [4.0*x*y + y*(-2.0*y - 1.0), x*(2.0*x - 4.0*y - 1.0) + 4.0*y - 1.0], [x*(8*y - 8) - 4*y + 4, x*(4*x - 4)], [y*(4.0 - 4.0*y), x*(4.0 - 8.0*y)], [-8.0*x*y + 4.0*y, x*(4.0 - 4.0*x)], [y*(4.0*y - 4.0), x*(8.0*y - 4.0) - 8.0*y + 4.0]]], 3: [[x*(x*(x*(4.5*y - 4.5) - 9.0*y + 9.0) + y*(y*(4.5*y - 9.0) + 10.0) - 5.5) + y*(y*(9.0 - 4.5*y) - 5.5) + 1.0, x*(x*(x*(4.5 - 4.5*y) + 4.5*y - 4.5) + y*(y*(9.0 - 4.5*y) - 5.5) + 1.0), x*(x*(4.5*x*y - 4.5*y) + y*(y*(4.5*y - 4.5) + 1.0)), x*(x*(-4.5*x*y + 9.0*y) + y*(y*(4.5 - 4.5*y) - 5.5)) + y*(y*(4.5*y - 4.5) + 1.0), x*(x*(x*(13.5 - 13.5*y) + 22.5*y - 22.5) - 9.0*y + 9.0), x*(x*(x*(13.5*y - 13.5) - 18.0*y + 18.0) + 4.5*y - 4.5), x*y*(y*(13.5*y - 22.5) + 9.0), x*y*(y*(18.0 - 13.5*y) - 4.5), x*(x*(-13.5*x*y + 18.0*y) - 4.5*y), x*(x*(13.5*x*y - 22.5*y) + 9.0*y), x*y*(y*(13.5*y - 18.0) + 4.5) + y*(y*(18.0 - 13.5*y) - 4.5), x*y*(y*(22.5 - 13.5*y) - 9.0) + y*(y*(13.5*y - 22.5) + 9.0)], [[x*(x*(13.5*y - 13.5) - 18.0*y + 18.0) + y*(y*(4.5*y - 9.0) + 10.0) - 5.5, x*(x*(4.5*x - 9.0) + y*(13.5*y - 18.0) + 10.0) + y*(18.0 - 13.5*y) - 5.5], [x*(x*(13.5 - 13.5*y) + 9.0*y - 9.0) + y*(y*(9.0 - 4.5*y) - 5.5) + 1.0, x*(x*(4.5 - 4.5*x) + y*(18.0 - 13.5*y) - 5.5)], [x*(13.5*x*y - 9.0*y) + y*(y*(4.5*y - 4.5) + 1.0), x*(x*(4.5*x - 4.5) + y*(13.5*y - 9.0) + 1.0)], [x*(-13.5*x*y + 18.0*y) + y*(y*(4.5 - 4.5*y) - 5.5), x*(x*(9.0 - 4.5*x) + y*(9.0 - 13.5*y) - 5.5) + y*(13.5*y - 9.0) + 1.0], [x*(x*(40.5 - 40.5*y) + 45.0*y - 45.0) - 9.0*y + 9.0, x*(x*(22.5 - 13.5*x) - 9.0)], [x*(x*(40.5*y - 40.5) - 36.0*y + 36.0) + 4.5*y - 4.5, x*(x*(13.5*x - 18.0) + 4.5)], [y*(y*(13.5*y - 22.5) + 9.0), x*(y*(40.5*y - 45.0) + 9.0)], [y*(y*(18.0 - 13.5*y) - 4.5), x*(y*(36.0 - 40.5*y) - 4.5)], [x*(-40.5*x*y + 36.0*y) - 4.5*y, x*(x*(18.0 - 13.5*x) - 4.5)], [x*(40.5*x*y - 45.0*y) + 9.0*y, x*(x*(13.5*x - 22.5) + 9.0)], [y*(y*(13.5*y - 18.0) + 4.5), x*(y*(40.5*y - 36.0) + 4.5) + y*(36.0 - 40.5*y) - 4.5], [y*(y*(22.5 - 13.5*y) - 9.0), x*(y*(45.0 - 40.5*y) - 9.0) + y*(40.5*y - 45.0) + 9.0]]]}, 3: {1: [[x*(y*(1.0 - z) + z - 1.0) + y*(z - 1.0) - z + 1.0, x*(y*(z - 1.0) - z + 1.0), x*y*(1.0 - z), x*y*(z - 1.0) + y*(1.0 - z), x*(y*z - z) - y*z + z, x*(-y*z + z), x*y*z, -x*y*z + y*z], [[y*(1.0 - z) + z - 1.0, x*(1.0 - z) + z - 1.0, x*(1.0 - y) + y - 1.0], [y*(z - 1.0) - z + 1.0, x*(z - 1.0), x*(y - 1.0)], [y*(1.0 - z), x*(1.0 - z), -x*y], [y*(z - 1.0), x*(z - 1.0) - z + 1.0, x*y - y], [y*z - z, x*z - z, x*(y - 1.0) - y + 1.0], [-y*z + z, -x*z, x*(1.0 - y)], [y*z, x*z, x*y], [-y*z, -x*z + z, -x*y + y]]], 2: [[x*(x*(y*(2.0*z - 2.0) - 2.0*z + 2.0) + y*(y*(2.0*z - 2.0) + z*(2.0*z - 7.0) + 5.0) + z*(5.0 - 2.0*z) - 3.0) + y*(y*(2.0 - 2.0*z) + z*(5.0 - 2.0*z) - 3.0) + z*(2.0*z - 3.0) + 1.0, x*(x*(y*(2.0*z - 2.0) - 2.0*z + 2.0) + y*(y*(2.0 - 2.0*z) + z*(3.0 - 2.0*z) - 1.0) + z*(2.0*z - 1.0) - 1.0), x*(x*y*(2.0 - 2.0*z) + y*(y*(2.0 - 2.0*z) + z*(2.0*z + 1.0) - 3.0)), x*(x*y*(2.0 - 2.0*z) + y*(y*(2.0*z - 2.0) + z*(3.0 - 2.0*z) - 1.0)) + y*(y*(2.0 - 2.0*z) + z*(2.0*z - 1.0) - 1.0), x*(x*(-2.0*y*z + 2.0*z) + y*(-2.0*y*z + z*(2.0*z + 3.0)) + z*(-2.0*z - 1.0)) + y*(2.0*y*z + z*(-2.0*z - 1.0)) + z*(2.0*z - 1.0), x*(x*(-2.0*y*z + 2.0*z) + y*(2.0*y*z + z*(1.0 - 2.0*z)) + z*(2.0*z - 3.0)), x*(2.0*x*y*z + y*(2.0*y*z + z*(2.0*z - 5.0))), x*(2.0*x*y*z + y*(-2.0*y*z + z*(1.0 - 2.0*z))) + y*(2.0*y*z + z*(2.0*z - 3.0)), x*(x*(y*(4.0 - 4.0*z) + 4.0*z - 4.0) + y*(4.0*z - 4.0) - 4.0*z + 4.0), x*y*(y*(4.0*z - 4.0) - 4.0*z + 4.0), x*(x*y*(4.0*z - 4.0) + y*(4.0 - 4.0*z)), x*y*(y*(4.0 - 4.0*z) + 4.0*z - 4.0) + y*(y*(4.0*z - 4.0) - 4.0*z + 4.0), x*(x*(4.0*y*z - 4.0*z) - 4.0*y*z + 4.0*z), x*y*(-4.0*y*z + 4.0*z), x*(-4.0*x*y*z + 4.0*y*z), x*y*(4.0*y*z - 4.0*z) + y*(-4.0*y*z + 4.0*z), x*(y*z*(4.0 - 4.0*z) + z*(4.0*z - 4.0)) + y*z*(4.0*z - 4.0) + z*(4.0 - 4.0*z), x*(y*z*(4.0*z - 4.0) + z*(4.0 - 4.0*z)), x*y*z*(4.0 - 4.0*z), x*y*z*(4.0*z - 4.0) + y*z*(4.0 - 4.0*z)], [[x*(y*(4.0*z - 4.0) - 4.0*z + 4.0) + y*(y*(2.0*z - 2.0) + z*(2.0*z - 7.0) + 5.0) + z*(5.0 - 2.0*z) - 3.0, x*(x*(2.0*z - 2.0) + y*(4.0*z - 4.0) + z*(2.0*z - 7.0) + 5.0) + y*(4.0 - 4.0*z) + z*(5.0 - 2.0*z) - 3.0, x*(x*(2.0*y - 2.0) + y*(2.0*y + 4.0*z - 7.0) - 4.0*z + 5.0) + y*(-2.0*y - 4.0*z + 5.0) + 4.0*z - 3.0], [x*(y*(4.0*z - 4.0) - 4.0*z + 4.0) + y*(y*(2.0 - 2.0*z) + z*(3.0 - 2.0*z) - 1.0) + z*(2.0*z - 1.0) - 1.0, x*(x*(2.0*z - 2.0) + y*(4.0 - 4.0*z) + z*(3.0 - 2.0*z) - 1.0), x*(x*(2.0*y - 2.0) + y*(-2.0*y - 4.0*z + 3.0) + 4.0*z - 1.0)], [x*y*(4.0 - 4.0*z) + y*(y*(2.0 - 2.0*z) + z*(2.0*z + 1.0) - 3.0), x*(x*(2.0 - 2.0*z) + y*(4.0 - 4.0*z) + z*(2.0*z + 1.0) - 3.0), x*(-2.0*x*y + y*(-2.0*y + 4.0*z + 1.0))], [x*y*(4.0 - 4.0*z) + y*(y*(2.0*z - 2.0) + z*(3.0 - 2.0*z) - 1.0), x*(x*(2.0 - 2.0*z) + y*(4.0*z - 4.0) + z*(3.0 - 2.0*z) - 1.0) + y*(4.0 - 4.0*z) + z*(2.0*z - 1.0) - 1.0, x*(-2.0*x*y + y*(2.0*y - 4.0*z + 3.0)) + y*(-2.0*y + 4.0*z - 1.0)], [x*(-4.0*y*z + 4.0*z) + y*(-2.0*y*z + z*(2.0*z + 3.0)) + z*(-2.0*z - 1.0), x*(-2.0*x*z - 4.0*y*z + z*(2.0*z + 3.0)) + 4.0*y*z + z*(-2.0*z - 1.0), x*(x*(2.0 - 2.0*y) + y*(-2.0*y + 4.0*z + 3.0) - 4.0*z - 1.0) + y*(2.0*y - 4.0*z - 1.0) + 4.0*z - 1.0], [x*(-4.0*y*z + 4.0*z) + y*(2.0*y*z + z*(1.0 - 2.0*z)) + z*(2.0*z - 3.0), x*(-2.0*x*z + 4.0*y*z + z*(1.0 - 2.0*z)), x*(x*(2.0 - 2.0*y) + y*(2.0*y - 4.0*z + 1.0) + 4.0*z - 3.0)], [4.0*x*y*z + y*(2.0*y*z + z*(2.0*z - 5.0)), x*(2.0*x*z + 4.0*y*z + z*(2.0*z - 5.0)), x*(2.0*x*y + y*(2.0*y + 4.0*z - 5.0))], [4.0*x*y*z + y*(-2.0*y*z + z*(1.0 - 2.0*z)), x*(2.0*x*z - 4.0*y*z + z*(1.0 - 2.0*z)) + 4.0*y*z + z*(2.0*z - 3.0), x*(2.0*x*y + y*(-2.0*y - 4.0*z + 1.0)) + y*(2.0*y + 4.0*z - 3.0)], [x*(y*(8.0 - 8.0*z) + 8.0*z - 8.0) + y*(4.0*z - 4.0) - 4.0*z + 4.0, x*(x*(4.0 - 4.0*z) + 4.0*z - 4.0), x*(x*(4.0 - 4.0*y) + 4.0*y - 4.0)], [y*(y*(4.0*z - 4.0) - 4.0*z + 4.0), x*(y*(8.0*z - 8.0) - 4.0*z + 4.0), x*y*(4.0*y - 4.0)], [x*y*(8.0*z - 8.0) + y*(4.0 - 4.0*z), x*(x*(4.0*z - 4.0) - 4.0*z + 4.0), x*(4.0*x*y - 4.0*y)], [y*(y*(4.0 - 4.0*z) + 4.0*z - 4.0), x*(y*(8.0 - 8.0*z) + 4.0*z - 4.0) + y*(8.0*z - 8.0) - 4.0*z + 4.0, x*y*(4.0 - 4.0*y) + y*(4.0*y - 4.0)], [x*(8.0*y*z - 8.0*z) - 4.0*y*z + 4.0*z, x*(4.0*x*z - 4.0*z), x*(x*(4.0*y - 4.0) - 4.0*y + 4.0)], [y*(-4.0*y*z + 4.0*z), x*(-8.0*y*z + 4.0*z), x*y*(4.0 - 4.0*y)], [-8.0*x*y*z + 4.0*y*z, x*(-4.0*x*z + 4.0*z), x*(-4.0*x*y + 4.0*y)], [y*(4.0*y*z - 4.0*z), x*(8.0*y*z - 4.0*z) - 8.0*y*z + 4.0*z, x*y*(4.0*y - 4.0) + y*(4.0 - 4.0*y)], [y*z*(4.0 - 4.0*z) + z*(4.0*z - 4.0), x*z*(4.0 - 4.0*z) + z*(4.0*z - 4.0), x*(y*(4.0 - 8.0*z) + 8.0*z - 4.0) + y*(8.0*z - 4.0) - 8.0*z + 4.0], [y*z*(4.0*z - 4.0) + z*(4.0 - 4.0*z), x*z*(4.0*z - 4.0), x*(y*(8.0*z - 4.0) - 8.0*z + 4.0)], [y*z*(4.0 - 4.0*z), x*z*(4.0 - 4.0*z), x*y*(4.0 - 8.0*z)], [y*z*(4.0*z - 4.0), x*z*(4.0*z - 4.0) + z*(4.0 - 4.0*z), x*y*(8.0*z - 4.0) + y*(4.0 - 8.0*z)]]], 3: [[x*(x*(x*(y*(4.5 - 4.5*z) + 4.5*z - 4.5) + y*(9.0*z - 9.0) - 9.0*z + 9.0) + y*(y*(y*(4.5 - 4.5*z) + 9.0*z - 9.0) + z*(z*(9.0 - 4.5*z) - 14.5) + 10.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5) + y*(y*(y*(4.5*z - 4.5) - 9.0*z + 9.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0, x*(x*(x*(y*(4.5*z - 4.5) - 4.5*z + 4.5) + y*(4.5 - 4.5*z) + 4.5*z - 4.5) + y*(y*(y*(4.5*z - 4.5) - 9.0*z + 9.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0), x*(x*(x*y*(4.5 - 4.5*z) + y*(4.5*z - 4.5)) + y*(y*(y*(4.5 - 4.5*z) + 4.5*z - 4.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0)), x*(x*(x*y*(4.5*z - 4.5) + y*(9.0 - 9.0*z)) + y*(y*(y*(4.5*z - 4.5) - 4.5*z + 4.5) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5)) + y*(y*(y*(4.5 - 4.5*z) + 4.5*z - 4.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0), x*(x*(x*(4.5*y*z - 4.5*z) - 9.0*y*z + 9.0*z) + y*(y*(4.5*y*z - 9.0*z) + z*(z*(4.5*z - 4.5) + 10.0)) + z*(z*(4.5 - 4.5*z) - 5.5)) + y*(y*(-4.5*y*z + 9.0*z) + z*(z*(4.5 - 4.5*z) - 5.5)) + z*(z*(4.5*z - 4.5) + 1.0), x*(x*(x*(-4.5*y*z + 4.5*z) + 4.5*y*z - 4.5*z) + y*(y*(-4.5*y*z + 9.0*z) + z*(z*(4.5 - 4.5*z) - 5.5)) + z*(z*(4.5*z - 4.5) + 1.0)), x*(x*(4.5*x*y*z - 4.5*y*z) + y*(y*(4.5*y*z - 4.5*z) + z*(z*(4.5*z - 4.5) + 1.0))), x*(x*(-4.5*x*y*z + 9.0*y*z) + y*(y*(-4.5*y*z + 4.5*z) + z*(z*(4.5 - 4.5*z) - 5.5))) + y*(y*(4.5*y*z - 4.5*z) + z*(z*(4.5*z - 4.5) + 1.0)), x*(x*(x*(y*(13.5*z - 13.5) - 13.5*z + 13.5) + y*(22.5 - 22.5*z) + 22.5*z - 22.5) + y*(9.0*z - 9.0) - 9.0*z + 9.0), x*(x*(x*(y*(13.5 - 13.5*z) + 13.5*z - 13.5) + y*(18.0*z - 18.0) - 18.0*z + 18.0) + y*(4.5 - 4.5*z) + 4.5*z - 4.5), x*y*(y*(y*(13.5 - 13.5*z) + 22.5*z - 22.5) - 9.0*z + 9.0), x*y*(y*(y*(13.5*z - 13.5) - 18.0*z + 18.0) + 4.5*z - 4.5), x*(x*(x*y*(13.5*z - 13.5) + y*(18.0 - 18.0*z)) + y*(4.5*z - 4.5)), x*(x*(x*y*(13.5 - 13.5*z) + y*(22.5*z - 22.5)) + y*(9.0 - 9.0*z)), x*y*(y*(y*(13.5 - 13.5*z) + 18.0*z - 18.0) - 4.5*z + 4.5) + y*(y*(y*(13.5*z - 13.5) - 18.0*z + 18.0) + 4.5*z - 4.5), x*y*(y*(y*(13.5*z - 13.5) - 22.5*z + 22.5) + 9.0*z - 9.0) + y*(y*(y*(13.5 - 13.5*z) + 22.5*z - 22.5) - 9.0*z + 9.0), x*(x*(x*(-13.5*y*z + 13.5*z) + 22.5*y*z - 22.5*z) - 9.0*y*z + 9.0*z), x*(x*(x*(13.5*y*z - 13.5*z) - 18.0*y*z + 18.0*z) + 4.5*y*z - 4.5*z), x*y*(y*(13.5*y*z - 22.5*z) + 9.0*z), x*y*(y*(-13.5*y*z + 18.0*z) - 4.5*z), x*(x*(-13.5*x*y*z + 18.0*y*z) - 4.5*y*z), x*(x*(13.5*x*y*z - 22.5*y*z) + 9.0*y*z), x*y*(y*(13.5*y*z - 18.0*z) + 4.5*z) + y*(y*(-13.5*y*z + 18.0*z) - 4.5*z), x*y*(y*(-13.5*y*z + 22.5*z) - 9.0*z) + y*(y*(13.5*y*z - 22.5*z) + 9.0*z), x*(y*z*(z*(13.5*z - 22.5) + 9.0) + z*(z*(22.5 - 13.5*z) - 9.0)) + y*z*(z*(22.5 - 13.5*z) - 9.0) + z*(z*(13.5*z - 22.5) + 9.0), x*(y*z*(z*(18.0 - 13.5*z) - 4.5) + z*(z*(13.5*z - 18.0) + 4.5)) + y*z*(z*(13.5*z - 18.0) + 4.5) + z*(z*(18.0 - 13.5*z) - 4.5), x*(y*z*(z*(22.5 - 13.5*z) - 9.0) + z*(z*(13.5*z - 22.5) + 9.0)), x*(y*z*(z*(13.5*z - 18.0) + 4.5) + z*(z*(18.0 - 13.5*z) - 4.5)), x*y*z*(z*(13.5*z - 22.5) + 9.0), x*y*z*(z*(18.0 - 13.5*z) - 4.5), x*y*z*(z*(22.5 - 13.5*z) - 9.0) + y*z*(z*(13.5*z - 22.5) + 9.0), x*y*z*(z*(13.5*z - 18.0) + 4.5) + y*z*(z*(18.0 - 13.5*z) - 4.5)], [[x*(x*(y*(13.5 - 13.5*z) + 13.5*z - 13.5) + y*(18.0*z - 18.0) - 18.0*z + 18.0) + y*(y*(y*(4.5 - 4.5*z) + 9.0*z - 9.0) + z*(z*(9.0 - 4.5*z) - 14.5) + 10.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5, x*(x*(x*(4.5 - 4.5*z) + 9.0*z - 9.0) + y*(y*(13.5 - 13.5*z) + 18.0*z - 18.0) + z*(z*(9.0 - 4.5*z) - 14.5) + 10.0) + y*(y*(13.5*z - 13.5) - 18.0*z + 18.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5, x*(x*(x*(4.5 - 4.5*y) + 9.0*y - 9.0) + y*(y*(9.0 - 4.5*y) + z*(18.0 - 13.5*z) - 14.5) + z*(13.5*z - 18.0) + 10.0) + y*(y*(4.5*y - 9.0) + z*(13.5*z - 18.0) + 10.0) + z*(18.0 - 13.5*z) - 5.5], [x*(x*(y*(13.5*z - 13.5) - 13.5*z + 13.5) + y*(9.0 - 9.0*z) + 9.0*z - 9.0) + y*(y*(y*(4.5*z - 4.5) - 9.0*z + 9.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0, x*(x*(x*(4.5*z - 4.5) - 4.5*z + 4.5) + y*(y*(13.5*z - 13.5) - 18.0*z + 18.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5), x*(x*(x*(4.5*y - 4.5) - 4.5*y + 4.5) + y*(y*(4.5*y - 9.0) + z*(13.5*z - 18.0) + 10.0) + z*(18.0 - 13.5*z) - 5.5)], [x*(x*y*(13.5 - 13.5*z) + y*(9.0*z - 9.0)) + y*(y*(y*(4.5 - 4.5*z) + 4.5*z - 4.5) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0), x*(x*(x*(4.5 - 4.5*z) + 4.5*z - 4.5) + y*(y*(13.5 - 13.5*z) + 9.0*z - 9.0) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0), x*(x*(-4.5*x*y + 4.5*y) + y*(y*(4.5 - 4.5*y) + z*(18.0 - 13.5*z) - 5.5))], [x*(x*y*(13.5*z - 13.5) + y*(18.0 - 18.0*z)) + y*(y*(y*(4.5*z - 4.5) - 4.5*z + 4.5) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5), x*(x*(x*(4.5*z - 4.5) - 9.0*z + 9.0) + y*(y*(13.5*z - 13.5) - 9.0*z + 9.0) + z*(z*(4.5*z - 9.0) + 10.0) - 5.5) + y*(y*(13.5 - 13.5*z) + 9.0*z - 9.0) + z*(z*(9.0 - 4.5*z) - 5.5) + 1.0, x*(x*(4.5*x*y - 9.0*y) + y*(y*(4.5*y - 4.5) + z*(13.5*z - 18.0) + 10.0)) + y*(y*(4.5 - 4.5*y) + z*(18.0 - 13.5*z) - 5.5)], [x*(x*(13.5*y*z - 13.5*z) - 18.0*y*z + 18.0*z) + y*(y*(4.5*y*z - 9.0*z) + z*(z*(4.5*z - 4.5) + 10.0)) + z*(z*(4.5 - 4.5*z) - 5.5), x*(x*(4.5*x*z - 9.0*z) + y*(13.5*y*z - 18.0*z) + z*(z*(4.5*z - 4.5) + 10.0)) + y*(-13.5*y*z + 18.0*z) + z*(z*(4.5 - 4.5*z) - 5.5), x*(x*(x*(4.5*y - 4.5) - 9.0*y + 9.0) + y*(y*(4.5*y - 9.0) + z*(13.5*z - 9.0) + 10.0) + z*(9.0 - 13.5*z) - 5.5) + y*(y*(9.0 - 4.5*y) + z*(9.0 - 13.5*z) - 5.5) + z*(13.5*z - 9.0) + 1.0], [x*(x*(-13.5*y*z + 13.5*z) + 9.0*y*z - 9.0*z) + y*(y*(-4.5*y*z + 9.0*z) + z*(z*(4.5 - 4.5*z) - 5.5)) + z*(z*(4.5*z - 4.5) + 1.0), x*(x*(-4.5*x*z + 4.5*z) + y*(-13.5*y*z + 18.0*z) + z*(z*(4.5 - 4.5*z) - 5.5)), x*(x*(x*(4.5 - 4.5*y) + 4.5*y - 4.5) + y*(y*(9.0 - 4.5*y) + z*(9.0 - 13.5*z) - 5.5) + z*(13.5*z - 9.0) + 1.0)], [x*(13.5*x*y*z - 9.0*y*z) + y*(y*(4.5*y*z - 4.5*z) + z*(z*(4.5*z - 4.5) + 1.0)), x*(x*(4.5*x*z - 4.5*z) + y*(13.5*y*z - 9.0*z) + z*(z*(4.5*z - 4.5) + 1.0)), x*(x*(4.5*x*y - 4.5*y) + y*(y*(4.5*y - 4.5) + z*(13.5*z - 9.0) + 1.0))], [x*(-13.5*x*y*z + 18.0*y*z) + y*(y*(-4.5*y*z + 4.5*z) + z*(z*(4.5 - 4.5*z) - 5.5)), x*(x*(-4.5*x*z + 9.0*z) + y*(-13.5*y*z + 9.0*z) + z*(z*(4.5 - 4.5*z) - 5.5)) + y*(13.5*y*z - 9.0*z) + z*(z*(4.5*z - 4.5) + 1.0), x*(x*(-4.5*x*y + 9.0*y) + y*(y*(4.5 - 4.5*y) + z*(9.0 - 13.5*z) - 5.5)) + y*(y*(4.5*y - 4.5) + z*(13.5*z - 9.0) + 1.0)], [x*(x*(y*(40.5*z - 40.5) - 40.5*z + 40.5) + y*(45.0 - 45.0*z) + 45.0*z - 45.0) + y*(9.0*z - 9.0) - 9.0*z + 9.0, x*(x*(x*(13.5*z - 13.5) - 22.5*z + 22.5) + 9.0*z - 9.0), x*(x*(x*(13.5*y - 13.5) - 22.5*y + 22.5) + 9.0*y - 9.0)], [x*(x*(y*(40.5 - 40.5*z) + 40.5*z - 40.5) + y*(36.0*z - 36.0) - 36.0*z + 36.0) + y*(4.5 - 4.5*z) + 4.5*z - 4.5, x*(x*(x*(13.5 - 13.5*z) + 18.0*z - 18.0) - 4.5*z + 4.5), x*(x*(x*(13.5 - 13.5*y) + 18.0*y - 18.0) - 4.5*y + 4.5)], [y*(y*(y*(13.5 - 13.5*z) + 22.5*z - 22.5) - 9.0*z + 9.0), x*(y*(y*(40.5 - 40.5*z) + 45.0*z - 45.0) - 9.0*z + 9.0), x*y*(y*(22.5 - 13.5*y) - 9.0)], [y*(y*(y*(13.5*z - 13.5) - 18.0*z + 18.0) + 4.5*z - 4.5), x*(y*(y*(40.5*z - 40.5) - 36.0*z + 36.0) + 4.5*z - 4.5), x*y*(y*(13.5*y - 18.0) + 4.5)], [x*(x*y*(40.5*z - 40.5) + y*(36.0 - 36.0*z)) + y*(4.5*z - 4.5), x*(x*(x*(13.5*z - 13.5) - 18.0*z + 18.0) + 4.5*z - 4.5), x*(x*(13.5*x*y - 18.0*y) + 4.5*y)], [x*(x*y*(40.5 - 40.5*z) + y*(45.0*z - 45.0)) + y*(9.0 - 9.0*z), x*(x*(x*(13.5 - 13.5*z) + 22.5*z - 22.5) - 9.0*z + 9.0), x*(x*(-13.5*x*y + 22.5*y) - 9.0*y)], [y*(y*(y*(13.5 - 13.5*z) + 18.0*z - 18.0) - 4.5*z + 4.5), x*(y*(y*(40.5 - 40.5*z) + 36.0*z - 36.0) - 4.5*z + 4.5) + y*(y*(40.5*z - 40.5) - 36.0*z + 36.0) + 4.5*z - 4.5, x*y*(y*(18.0 - 13.5*y) - 4.5) + y*(y*(13.5*y - 18.0) + 4.5)], [y*(y*(y*(13.5*z - 13.5) - 22.5*z + 22.5) + 9.0*z - 9.0), x*(y*(y*(40.5*z - 40.5) - 45.0*z + 45.0) + 9.0*z - 9.0) + y*(y*(40.5 - 40.5*z) + 45.0*z - 45.0) - 9.0*z + 9.0, x*y*(y*(13.5*y - 22.5) + 9.0) + y*(y*(22.5 - 13.5*y) - 9.0)], [x*(x*(-40.5*y*z + 40.5*z) + 45.0*y*z - 45.0*z) - 9.0*y*z + 9.0*z, x*(x*(-13.5*x*z + 22.5*z) - 9.0*z), x*(x*(x*(13.5 - 13.5*y) + 22.5*y - 22.5) - 9.0*y + 9.0)], [x*(x*(40.5*y*z - 40.5*z) - 36.0*y*z + 36.0*z) + 4.5*y*z - 4.5*z, x*(x*(13.5*x*z - 18.0*z) + 4.5*z), x*(x*(x*(13.5*y - 13.5) - 18.0*y + 18.0) + 4.5*y - 4.5)], [y*(y*(13.5*y*z - 22.5*z) + 9.0*z), x*(y*(40.5*y*z - 45.0*z) + 9.0*z), x*y*(y*(13.5*y - 22.5) + 9.0)], [y*(y*(-13.5*y*z + 18.0*z) - 4.5*z), x*(y*(-40.5*y*z + 36.0*z) - 4.5*z), x*y*(y*(18.0 - 13.5*y) - 4.5)], [x*(-40.5*x*y*z + 36.0*y*z) - 4.5*y*z, x*(x*(-13.5*x*z + 18.0*z) - 4.5*z), x*(x*(-13.5*x*y + 18.0*y) - 4.5*y)], [x*(40.5*x*y*z - 45.0*y*z) + 9.0*y*z, x*(x*(13.5*x*z - 22.5*z) + 9.0*z), x*(x*(13.5*x*y - 22.5*y) + 9.0*y)], [y*(y*(13.5*y*z - 18.0*z) + 4.5*z), x*(y*(40.5*y*z - 36.0*z) + 4.5*z) + y*(-40.5*y*z + 36.0*z) - 4.5*z, x*y*(y*(13.5*y - 18.0) + 4.5) + y*(y*(18.0 - 13.5*y) - 4.5)], [y*(y*(-13.5*y*z + 22.5*z) - 9.0*z), x*(y*(-40.5*y*z + 45.0*z) - 9.0*z) + y*(40.5*y*z - 45.0*z) + 9.0*z, x*y*(y*(22.5 - 13.5*y) - 9.0) + y*(y*(13.5*y - 22.5) + 9.0)], [y*z*(z*(13.5*z - 22.5) + 9.0) + z*(z*(22.5 - 13.5*z) - 9.0), x*z*(z*(13.5*z - 22.5) + 9.0) + z*(z*(22.5 - 13.5*z) - 9.0), x*(y*(z*(40.5*z - 45.0) + 9.0) + z*(45.0 - 40.5*z) - 9.0) + y*(z*(45.0 - 40.5*z) - 9.0) + z*(40.5*z - 45.0) + 9.0], [y*z*(z*(18.0 - 13.5*z) - 4.5) + z*(z*(13.5*z - 18.0) + 4.5), x*z*(z*(18.0 - 13.5*z) - 4.5) + z*(z*(13.5*z - 18.0) + 4.5), x*(y*(z*(36.0 - 40.5*z) - 4.5) + z*(40.5*z - 36.0) + 4.5) + y*(z*(40.5*z - 36.0) + 4.5) + z*(36.0 - 40.5*z) - 4.5], [y*z*(z*(22.5 - 13.5*z) - 9.0) + z*(z*(13.5*z - 22.5) + 9.0), x*z*(z*(22.5 - 13.5*z) - 9.0), x*(y*(z*(45.0 - 40.5*z) - 9.0) + z*(40.5*z - 45.0) + 9.0)], [y*z*(z*(13.5*z - 18.0) + 4.5) + z*(z*(18.0 - 13.5*z) - 4.5), x*z*(z*(13.5*z - 18.0) + 4.5), x*(y*(z*(40.5*z - 36.0) + 4.5) + z*(36.0 - 40.5*z) - 4.5)], [y*z*(z*(13.5*z - 22.5) + 9.0), x*z*(z*(13.5*z - 22.5) + 9.0), x*y*(z*(40.5*z - 45.0) + 9.0)], [y*z*(z*(18.0 - 13.5*z) - 4.5), x*z*(z*(18.0 - 13.5*z) - 4.5), x*y*(z*(36.0 - 40.5*z) - 4.5)], [y*z*(z*(22.5 - 13.5*z) - 9.0), x*z*(z*(22.5 - 13.5*z) - 9.0) + z*(z*(13.5*z - 22.5) + 9.0), x*y*(z*(45.0 - 40.5*z) - 9.0) + y*(z*(40.5*z - 45.0) + 9.0)], [y*z*(z*(13.5*z - 18.0) + 4.5), x*z*(z*(13.5*z - 18.0) + 4.5) + z*(z*(18.0 - 13.5*z) - 4.5), x*y*(z*(40.5*z - 36.0) + 4.5) + y*(z*(36.0 - 40.5*z) - 4.5)]]]}}
create_context(cmesh, eps, check_errors, i_max, newton_eps, tdim=None)[source]
name = 'serendipity_tensor_product'
supported_orders = {1, 2, 3}
sfepy.discrete.fem.poly_spaces.eval_lagrange1d_basis(coors, ncoors)[source]
sfepy.discrete.fem.poly_spaces.get_lgl_nodes(p)[source]

Compute the Legendre-Gauss-Lobatto nodes and weights.