Basix | basix.ElementFamily.P ↓ Show Basix examples ↓↑ Hide Basix examples ↑Before running this example, you must install Basix: pip3 install fenics-basix This element can then be created with the following lines of Python: import basix
# Create Lagrange (equispaced variant) degree 1 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a triangle element = basix.create_element(basix.ElementFamily.P, basix.CellType.triangle, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a triangle element = basix.create_element(basix.ElementFamily.P, basix.CellType.triangle, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a triangle element = basix.create_element(basix.ElementFamily.P, basix.CellType.triangle, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a quadrilateral element = basix.create_element(basix.ElementFamily.P, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a quadrilateral element = basix.create_element(basix.ElementFamily.P, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a quadrilateral element = basix.create_element(basix.ElementFamily.P, basix.CellType.quadrilateral, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a tetrahedron element = basix.create_element(basix.ElementFamily.P, basix.CellType.tetrahedron, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a tetrahedron element = basix.create_element(basix.ElementFamily.P, basix.CellType.tetrahedron, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a hexahedron element = basix.create_element(basix.ElementFamily.P, basix.CellType.hexahedron, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a hexahedron element = basix.create_element(basix.ElementFamily.P, basix.CellType.hexahedron, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a prism element = basix.create_element(basix.ElementFamily.P, basix.CellType.prism, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a prism element = basix.create_element(basix.ElementFamily.P, basix.CellType.prism, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (GLL variant) degree 1 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 2 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 3 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 4 on a interval element = basix.create_element(basix.ElementFamily.P, basix.CellType.interval, 4, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 1 on a quadrilateral element = basix.create_element(basix.ElementFamily.P, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 2 on a quadrilateral element = basix.create_element(basix.ElementFamily.P, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.gll_warped) This implementation is correct for all the examples below that it supports. Correct: interval,1,equispaced; interval,2,equispaced; interval,3,equispaced; triangle,1,equispaced; triangle,2,equispaced; triangle,3,equispaced; quadrilateral,1,equispaced; quadrilateral,2,equispaced; quadrilateral,3,equispaced; tetrahedron,1,equispaced; tetrahedron,2,equispaced; hexahedron,1,equispaced; hexahedron,2,equispaced; prism,1,equispaced; prism,2,equispaced; interval,1,gll; interval,2,gll; interval,3,gll; interval,4,gll; quadrilateral,1,gll; quadrilateral,2,gll Not implemented: pyramid,1,equispaced; pyramid,2,equispaced; interval,1,lobatto; interval,2,lobatto; interval,3,lobatto; quadrilateral,1,lobatto; quadrilateral,2,lobatto; quadrilateral,3,lobatto; hexahedron,1,lobatto; hexahedron,2,lobatto |
Basix.UFL | basix.ElementFamily.P ↓ Show Basix.UFL examples ↓↑ Hide Basix.UFL examples ↑Before running this example, you must install Basix.UFL: pip3 install fenics-basix fenics-ufl This element can then be created with the following lines of Python: import basix import basix.ufl
# Create Lagrange (equispaced variant) degree 1 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a triangle element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.triangle, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a triangle element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.triangle, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a triangle element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.triangle, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 3 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.quadrilateral, 3, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a tetrahedron element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.tetrahedron, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a tetrahedron element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.tetrahedron, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a hexahedron element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.hexahedron, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a hexahedron element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.hexahedron, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 1 on a prism element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.prism, 1, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (equispaced variant) degree 2 on a prism element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.prism, 2, lagrange_variant=basix.LagrangeVariant.equispaced)
# Create Lagrange (GLL variant) degree 1 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 2 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 3 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 4 on a interval element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.interval, 4, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 1 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.gll_warped)
# Create Lagrange (GLL variant) degree 2 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.P, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.gll_warped) This implementation is correct for all the examples below that it supports. Correct: interval,1,equispaced; interval,2,equispaced; interval,3,equispaced; triangle,1,equispaced; triangle,2,equispaced; triangle,3,equispaced; quadrilateral,1,equispaced; quadrilateral,2,equispaced; quadrilateral,3,equispaced; tetrahedron,1,equispaced; tetrahedron,2,equispaced; hexahedron,1,equispaced; hexahedron,2,equispaced; prism,1,equispaced; prism,2,equispaced; interval,1,gll; interval,2,gll; interval,3,gll; interval,4,gll; quadrilateral,1,gll; quadrilateral,2,gll Not implemented: pyramid,1,equispaced; pyramid,2,equispaced; interval,1,lobatto; interval,2,lobatto; interval,3,lobatto; quadrilateral,1,lobatto; quadrilateral,2,lobatto; quadrilateral,3,lobatto; hexahedron,1,lobatto; hexahedron,2,lobatto |
Bempp | "P" ↓ Show Bempp examples ↓↑ Hide Bempp examples ↑Before running this example, you must install Bempp: pip3 install numba scipy meshio pip3 install bempp-cl This element can then be created with the following lines of Python: import bempp.api grid = bempp.api.shapes.regular_sphere(1)
# Create Lagrange degree 1 element = bempp.api.function_space(grid, "P", 1) |
FIAT | FIAT.Lagrange ↓ Show FIAT examples ↓↑ Hide FIAT examples ↑Before running this example, you must install FIAT: pip3 install git+https://github.com/firedrakeproject/fiat.git This element can then be created with the following lines of Python: import FIAT
# Create Lagrange (equispaced variant) degree 1 element = FIAT.Lagrange(FIAT.ufc_cell("interval"), 1)
# Create Lagrange (equispaced variant) degree 2 element = FIAT.Lagrange(FIAT.ufc_cell("interval"), 2)
# Create Lagrange (equispaced variant) degree 3 element = FIAT.Lagrange(FIAT.ufc_cell("interval"), 3)
# Create Lagrange (equispaced variant) degree 1 element = FIAT.Lagrange(FIAT.ufc_cell("triangle"), 1)
# Create Lagrange (equispaced variant) degree 2 element = FIAT.Lagrange(FIAT.ufc_cell("triangle"), 2)
# Create Lagrange (equispaced variant) degree 3 element = FIAT.Lagrange(FIAT.ufc_cell("triangle"), 3)
# Create Lagrange (equispaced variant) degree 1 element = FIAT.Lagrange(FIAT.ufc_cell("tetrahedron"), 1)
# Create Lagrange (equispaced variant) degree 2 element = FIAT.Lagrange(FIAT.ufc_cell("tetrahedron"), 2) This implementation is correct for all the examples below that it supports. Correct: interval,1,equispaced; interval,2,equispaced; interval,3,equispaced; triangle,1,equispaced; triangle,2,equispaced; triangle,3,equispaced; tetrahedron,1,equispaced; tetrahedron,2,equispaced Not implemented: quadrilateral,1,equispaced; quadrilateral,2,equispaced; quadrilateral,3,equispaced; hexahedron,1,equispaced; hexahedron,2,equispaced; prism,1,equispaced; prism,2,equispaced; pyramid,1,equispaced; pyramid,2,equispaced; interval,1,gll; interval,2,gll; interval,3,gll; interval,4,gll; quadrilateral,1,gll; quadrilateral,2,gll; interval,1,lobatto; interval,2,lobatto; interval,3,lobatto; quadrilateral,1,lobatto; quadrilateral,2,lobatto; quadrilateral,3,lobatto; hexahedron,1,lobatto; hexahedron,2,lobatto |
NDElement | Family.Lagrange ↓ Show NDElement examples ↓↑ Hide NDElement examples ↑Before running this example, you must install NDElement: pip3 install ndelement This element can then be created with the following lines of Python: from ndelement.ciarlet import Family, create_family from ndelement.reference_cell import ReferenceCellType
# Create Lagrange (equispaced variant) degree 1 on a interval family = create_family(Family.Lagrange, 1) element = family.element(ReferenceCellType.Interval)
# Create Lagrange (equispaced variant) degree 2 on a interval family = create_family(Family.Lagrange, 2) element = family.element(ReferenceCellType.Interval)
# Create Lagrange (equispaced variant) degree 3 on a interval family = create_family(Family.Lagrange, 3) element = family.element(ReferenceCellType.Interval)
# Create Lagrange (equispaced variant) degree 1 on a triangle family = create_family(Family.Lagrange, 1) element = family.element(ReferenceCellType.Triangle)
# Create Lagrange (equispaced variant) degree 2 on a triangle family = create_family(Family.Lagrange, 2) element = family.element(ReferenceCellType.Triangle)
# Create Lagrange (equispaced variant) degree 3 on a triangle family = create_family(Family.Lagrange, 3) element = family.element(ReferenceCellType.Triangle)
# Create Lagrange (equispaced variant) degree 1 on a quadrilateral family = create_family(Family.Lagrange, 1) element = family.element(ReferenceCellType.Quadrilateral)
# Create Lagrange (equispaced variant) degree 2 on a quadrilateral family = create_family(Family.Lagrange, 2) element = family.element(ReferenceCellType.Quadrilateral)
# Create Lagrange (equispaced variant) degree 3 on a quadrilateral family = create_family(Family.Lagrange, 3) element = family.element(ReferenceCellType.Quadrilateral)
# Create Lagrange (equispaced variant) degree 1 on a tetrahedron family = create_family(Family.Lagrange, 1) element = family.element(ReferenceCellType.Tetrahedron)
# Create Lagrange (equispaced variant) degree 2 on a tetrahedron family = create_family(Family.Lagrange, 2) element = family.element(ReferenceCellType.Tetrahedron)
# Create Lagrange (equispaced variant) degree 1 on a hexahedron family = create_family(Family.Lagrange, 1) element = family.element(ReferenceCellType.Hexahedron)
# Create Lagrange (equispaced variant) degree 2 on a hexahedron family = create_family(Family.Lagrange, 2) element = family.element(ReferenceCellType.Hexahedron) This implementation is correct for all the examples below that it supports. Correct: interval,1,equispaced; interval,2,equispaced; interval,3,equispaced; triangle,1,equispaced; triangle,2,equispaced; triangle,3,equispaced; quadrilateral,1,equispaced; quadrilateral,2,equispaced; quadrilateral,3,equispaced; tetrahedron,1,equispaced; tetrahedron,2,equispaced; hexahedron,1,equispaced; hexahedron,2,equispaced Not implemented: prism,1,equispaced; prism,2,equispaced; pyramid,1,equispaced; pyramid,2,equispaced; interval,1,gll; interval,2,gll; interval,3,gll; interval,4,gll; quadrilateral,1,gll; quadrilateral,2,gll; interval,1,lobatto; interval,2,lobatto; interval,3,lobatto; quadrilateral,1,lobatto; quadrilateral,2,lobatto; quadrilateral,3,lobatto; hexahedron,1,lobatto; hexahedron,2,lobatto |
Symfem | "Lagrange" (interval, equispaced; triangle, equispaced; tetrahedron, equispaced; prism, equispaced; pyramid, equispaced)
"Q" (quadrilateral, equispaced; hexahedron, equispaced)
"Lagrange", variant="gll" (interval, GLL)
"Q", variant="gll" (quadrilateral, GLL; hexahedron, GLL)
"Lagrange", variant="lobatto" (interval, Lobatto)
"Q", variant="lobatto" (quadrilateral, Lobatto; hexahedron, Lobatto) ↓ Show Symfem examples ↓↑ Hide Symfem examples ↑Before running this example, you must install Symfem: pip3 install symfem This element can then be created with the following lines of Python: import symfem
# Create Lagrange (equispaced variant) degree 1 on a interval element = symfem.create_element("interval", "Lagrange", 1)
# Create Lagrange (equispaced variant) degree 2 on a interval element = symfem.create_element("interval", "Lagrange", 2)
# Create Lagrange (equispaced variant) degree 3 on a interval element = symfem.create_element("interval", "Lagrange", 3)
# Create Lagrange (equispaced variant) degree 1 on a triangle element = symfem.create_element("triangle", "Lagrange", 1)
# Create Lagrange (equispaced variant) degree 2 on a triangle element = symfem.create_element("triangle", "Lagrange", 2)
# Create Lagrange (equispaced variant) degree 3 on a triangle element = symfem.create_element("triangle", "Lagrange", 3)
# Create Lagrange (equispaced variant) degree 1 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 1)
# Create Lagrange (equispaced variant) degree 2 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 2)
# Create Lagrange (equispaced variant) degree 3 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 3)
# Create Lagrange (equispaced variant) degree 1 on a tetrahedron element = symfem.create_element("tetrahedron", "Lagrange", 1)
# Create Lagrange (equispaced variant) degree 2 on a tetrahedron element = symfem.create_element("tetrahedron", "Lagrange", 2)
# Create Lagrange (equispaced variant) degree 1 on a hexahedron element = symfem.create_element("hexahedron", "Q", 1)
# Create Lagrange (equispaced variant) degree 2 on a hexahedron element = symfem.create_element("hexahedron", "Q", 2)
# Create Lagrange (equispaced variant) degree 1 on a prism element = symfem.create_element("prism", "Lagrange", 1)
# Create Lagrange (equispaced variant) degree 2 on a prism element = symfem.create_element("prism", "Lagrange", 2)
# Create Lagrange (equispaced variant) degree 1 on a pyramid element = symfem.create_element("pyramid", "Lagrange", 1)
# Create Lagrange (equispaced variant) degree 2 on a pyramid element = symfem.create_element("pyramid", "Lagrange", 2)
# Create Lagrange (GLL variant) degree 1 on a interval element = symfem.create_element("interval", "Lagrange", 1, variant="gll")
# Create Lagrange (GLL variant) degree 2 on a interval element = symfem.create_element("interval", "Lagrange", 2, variant="gll")
# Create Lagrange (GLL variant) degree 3 on a interval element = symfem.create_element("interval", "Lagrange", 3, variant="gll")
# Create Lagrange (GLL variant) degree 4 on a interval element = symfem.create_element("interval", "Lagrange", 4, variant="gll")
# Create Lagrange (GLL variant) degree 1 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 1, variant="gll")
# Create Lagrange (GLL variant) degree 2 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 2, variant="gll")
# Create Lagrange (Lobatto variant) degree 1 on a interval element = symfem.create_element("interval", "Lagrange", 1, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 2 on a interval element = symfem.create_element("interval", "Lagrange", 2, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 3 on a interval element = symfem.create_element("interval", "Lagrange", 3, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 1 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 1, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 2 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 2, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 3 on a quadrilateral element = symfem.create_element("quadrilateral", "Q", 3, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 1 on a hexahedron element = symfem.create_element("hexahedron", "Q", 1, variant="lobatto")
# Create Lagrange (Lobatto variant) degree 2 on a hexahedron element = symfem.create_element("hexahedron", "Q", 2, variant="lobatto") This implementation is used to compute the examples below and verify other implementations. |
(legacy) UFL | "Lagrange" (interval, equispaced; triangle, equispaced; tetrahedron, equispaced)
"Q" (quadrilateral, equispaced; hexahedron, equispaced)
"Lobatto" (interval, Lobatto) ↓ Show (legacy) UFL examples ↓↑ Hide (legacy) UFL examples ↑Before running this example, you must install (legacy) UFL: pip3 install setuptools pip3 install fenics-ufl-legacy This element can then be created with the following lines of Python: import ufl_legacy
# Create Lagrange (equispaced variant) degree 1 on a interval element = ufl_legacy.FiniteElement("Lagrange", "interval", 1)
# Create Lagrange (equispaced variant) degree 2 on a interval element = ufl_legacy.FiniteElement("Lagrange", "interval", 2)
# Create Lagrange (equispaced variant) degree 3 on a interval element = ufl_legacy.FiniteElement("Lagrange", "interval", 3)
# Create Lagrange (equispaced variant) degree 1 on a triangle element = ufl_legacy.FiniteElement("Lagrange", "triangle", 1)
# Create Lagrange (equispaced variant) degree 2 on a triangle element = ufl_legacy.FiniteElement("Lagrange", "triangle", 2)
# Create Lagrange (equispaced variant) degree 3 on a triangle element = ufl_legacy.FiniteElement("Lagrange", "triangle", 3)
# Create Lagrange (equispaced variant) degree 1 on a quadrilateral element = ufl_legacy.FiniteElement("Q", "quadrilateral", 1)
# Create Lagrange (equispaced variant) degree 2 on a quadrilateral element = ufl_legacy.FiniteElement("Q", "quadrilateral", 2)
# Create Lagrange (equispaced variant) degree 3 on a quadrilateral element = ufl_legacy.FiniteElement("Q", "quadrilateral", 3)
# Create Lagrange (equispaced variant) degree 1 on a tetrahedron element = ufl_legacy.FiniteElement("Lagrange", "tetrahedron", 1)
# Create Lagrange (equispaced variant) degree 2 on a tetrahedron element = ufl_legacy.FiniteElement("Lagrange", "tetrahedron", 2)
# Create Lagrange (equispaced variant) degree 1 on a hexahedron element = ufl_legacy.FiniteElement("Q", "hexahedron", 1)
# Create Lagrange (equispaced variant) degree 2 on a hexahedron element = ufl_legacy.FiniteElement("Q", "hexahedron", 2)
# Create Lagrange (Lobatto variant) degree 1 on a interval element = ufl_legacy.FiniteElement("Lobatto", "interval", 1)
# Create Lagrange (Lobatto variant) degree 2 on a interval element = ufl_legacy.FiniteElement("Lobatto", "interval", 2)
# Create Lagrange (Lobatto variant) degree 3 on a interval element = ufl_legacy.FiniteElement("Lobatto", "interval", 3) |