| Basix | basix.ElementFamily.serendipity, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced↓ Show Basix Python examples ↓↑ Hide Basix Python examples ↑Before running this example, you must install Basix: pip install fenics-basix This element can then be created with the following lines of Python: import basix
# Create serendipity degree 1 on a interval element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 2 on a interval element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 3 on a interval element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 1 on a quadrilateral element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 2 on a quadrilateral element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 3 on a quadrilateral element = basix.create_element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 3, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced) This implementation is correct for all the examples below. |
| Basix.UFL | basix.ElementFamily.serendipity, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced↓ Show Basix.UFL Python examples ↓↑ Hide Basix.UFL Python examples ↑Before running this example, you must install Basix.UFL: pip install fenics-ufl pip install fenics-basix This element can then be created with the following lines of Python: import basix import basix.ufl
# Create serendipity degree 1 on a interval element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.interval, 1, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 2 on a interval element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.interval, 2, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 3 on a interval element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.interval, 3, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 1 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 1, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 2 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 2, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced)
# Create serendipity degree 3 on a quadrilateral element = basix.ufl.element(basix.ElementFamily.serendipity, basix.CellType.quadrilateral, 3, lagrange_variant=basix.LagrangeVariant.equispaced, dpc_variant=basix.DPCVariant.simplex_equispaced) This implementation is correct for all the examples below. |
| Ferrite.jl | Serendipity↓ Show Ferrite.jl Julia examples ↓↑ Hide Ferrite.jl Julia examples ↑Before running this example, you must install Ferrite.jl: julia -e 'using Pkg; Pkg.add("Ferrite")' This element can then be created with the following lines of Julia: using Ferrite
# Create serendipity degree 2 on a quadrilateral ip = Serendipity{RefQuadrilateral, 2}() Note: Ferrite.jl uses point evaluations at the midpoints of the edges of the cell in place of the integral moments used in DefElement's definition of this element. Its basis functions therefore differ from the ones shown here, although they span the same space. |
| FIAT | FIAT.Serendipity↓ Show FIAT Python examples ↓↑ Hide FIAT Python examples ↑Before running this example, you must install FIAT: pip install firedrake-fiat This element can then be created with the following lines of Python: import FIAT
# Create serendipity degree 1 on a interval element = FIAT.Serendipity(FIAT.ufc_cell("interval"), 1)
# Create serendipity degree 2 on a interval element = FIAT.Serendipity(FIAT.ufc_cell("interval"), 2)
# Create serendipity degree 3 on a interval element = FIAT.Serendipity(FIAT.ufc_cell("interval"), 3)
# Create serendipity degree 1 on a quadrilateral element = FIAT.Serendipity(FIAT.reference_element.UFCQuadrilateral(), 1)
# Create serendipity degree 2 on a quadrilateral element = FIAT.Serendipity(FIAT.reference_element.UFCQuadrilateral(), 2)
# Create serendipity degree 3 on a quadrilateral element = FIAT.Serendipity(FIAT.reference_element.UFCQuadrilateral(), 3) This implementation is correct for all the examples below. |
| Symfem | "serendipity"↓ Show Symfem Python examples ↓↑ Hide Symfem Python examples ↑Before running this example, you must install Symfem: pip install symfem This element can then be created with the following lines of Python: import symfem
# Create serendipity degree 1 on a interval element = symfem.create_element("interval", "serendipity", 1)
# Create serendipity degree 2 on a interval element = symfem.create_element("interval", "serendipity", 2)
# Create serendipity degree 3 on a interval element = symfem.create_element("interval", "serendipity", 3)
# Create serendipity degree 1 on a quadrilateral element = symfem.create_element("quadrilateral", "serendipity", 1)
# Create serendipity degree 2 on a quadrilateral element = symfem.create_element("quadrilateral", "serendipity", 2)
# Create serendipity degree 3 on a quadrilateral element = symfem.create_element("quadrilateral", "serendipity", 3) This implementation is used to compute the examples below and verify other implementations. |