# dolfinx.cpp.fem

FEM module

Classes

`Constant_complex128`(self, c[, order, writable]) | Value constant with respect to integration domain
`Constant_complex64`(self, c[, order, writable]) | Value constant with respect to integration domain
`Constant_float32`(self, c[, order, writable]) | Value constant with respect to integration domain
`Constant_float64`(self, c[, order, writable]) | Value constant with respect to integration domain
`CoordinateElement_float32`() | Coordinate map element
`CoordinateElement_float64`() | Coordinate map element
`DirichletBC_complex128`([order, writable]) | Object for representing Dirichlet (essential) boundary conditions
`DirichletBC_complex64`([order, writable]) | Object for representing Dirichlet (essential) boundary conditions
`DirichletBC_float32`([order, writable]) | Object for representing Dirichlet (essential) boundary conditions
`DirichletBC_float64`([order, writable]) | Object for representing Dirichlet (essential) boundary conditions
`DofMap`(self, element_dof_layout, index_map, ...) | DofMap object
`ElementDofLayout`(self, block_size, ...) | Object describing the layout of dofs on a cell
`Expression_complex128`(self, coefficients, ...) | An Expression
`Expression_complex64`(self, coefficients, ...) | An Expression
`Expression_float32`(self, coefficients, ...) | An Expression
`Expression_float64`(self, coefficients, ...) | An Expression
`FiniteElement_float32`(, order=], ...) | Finite element object
`FiniteElement_float64`(, order=], ...) | Finite element object
`Form_complex128`([order, writable, shape, ...]) | Variational form object
`Form_complex64`([order, writable, shape, ...]) | Variational form object
`Form_float32`([order, writable, shape, ...]) | Variational form object
`Form_float64`([order, writable, shape, ...]) | Variational form object
`FunctionSpace_float32`() | Finite element function space
`FunctionSpace_float64`() | Finite element function space
`Function_complex128`() | A finite element function
`Function_complex64`() | A finite element function
`Function_float32`() | A finite element function
`Function_float64`() | A finite element function
`_IntegralType`(*values) |

class dolfinx.cpp.fem.Constant_complex128(self, c: ndarray[dtype=complex128, order='C', writable=False])

  Bases: `object`

  Value constant with respect to integration domain

  Create a constant from a value array

  property dtype

    (self) -> str

  property value

    (self) -> numpy.ndarray[dtype=complex128]

class dolfinx.cpp.fem.Constant_complex64(self, c: ndarray[dtype=complex64, order='C', writable=False])

  Bases: `object`

  Value constant with respect to integration domain

  Create a constant from a value array

  property dtype

    (self) -> str

  property value

    (self) -> numpy.ndarray[dtype=complex64]

class dolfinx.cpp.fem.Constant_float32(self, c: ndarray[dtype=float32, order='C', writable=False])

  Bases: `object`

  Value constant with respect to integration domain

  Create a constant from a value array

  property dtype

    (self) -> str

  property value

    (self) -> numpy.ndarray[dtype=float32]

class dolfinx.cpp.fem.Constant_float64(self, c: ndarray[dtype=float64, order='C', writable=False])

  Bases: `object`

  Value constant with respect to integration domain

  Create a constant from a value array

  property dtype

    (self) -> str

  property value

    (self) -> numpy.ndarray[dtype=float64]

class dolfinx.cpp.fem.CoordinateElement_float32(self, celltype: dolfinx.cpp.mesh.CellType, degree: int)
class dolfinx.cpp.fem.CoordinateElement_float32(self, element: basix._basixcpp.FiniteElement_float32)
class dolfinx.cpp.fem.CoordinateElement_float32(self, celltype: dolfinx.cpp.mesh.CellType, degree: int, variant: int)

  Bases: `object`

  Coordinate map element

  create_dof_layout(self) → dolfinx.cpp.fem.ElementDofLayout
  property degree

    (self) -> int

  property dim

    (self) -> int

  property dtype

    (self) -> str

  hash(self) → int
  pull_back(self, x: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cell_geometry: ndarray[dtype=float32, shape=(*, *), order='C', writable=False]) → numpy.ndarray[dtype=float32]
  push_forward(self, X: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cell_geometry: ndarray[dtype=float32, shape=(*, *), order='C', writable=False]) → numpy.ndarray[dtype=float32]
  property variant

    (self) -> int

class dolfinx.cpp.fem.CoordinateElement_float64(self, celltype: dolfinx.cpp.mesh.CellType, degree: int)
class dolfinx.cpp.fem.CoordinateElement_float64(self, element: basix._basixcpp.FiniteElement_float64)
class dolfinx.cpp.fem.CoordinateElement_float64(self, celltype: dolfinx.cpp.mesh.CellType, degree: int, variant: int)

  Bases: `object`

  Coordinate map element

  create_dof_layout(self) → dolfinx.cpp.fem.ElementDofLayout
  property degree

    (self) -> int

  property dim

    (self) -> int

  property dtype

    (self) -> str

  hash(self) → int
  pull_back(self, x: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cell_geometry: ndarray[dtype=float64, shape=(*, *), order='C', writable=False]) → numpy.ndarray[dtype=float64]
  push_forward(self, X: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cell_geometry: ndarray[dtype=float64, shape=(*, *), order='C', writable=False]) → numpy.ndarray[dtype=float64]
  property variant

    (self) -> int

class dolfinx.cpp.fem.DirichletBC_complex128(self, g: ndarray[dtype=complex128, order='C', writable=False], dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float64)
class dolfinx.cpp.fem.DirichletBC_complex128(self, g: dolfinx.cpp.fem.Constant_complex128, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float64)
class dolfinx.cpp.fem.DirichletBC_complex128(self, g: dolfinx.cpp.fem.Function_complex128, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False])
class dolfinx.cpp.fem.DirichletBC_complex128(self, g: dolfinx.cpp.fem.Function_complex128, dofs: collections.abc.Sequence[ndarray[dtype=int32, shape=(*), order='C', writable=False]], V: dolfinx.cpp.fem.FunctionSpace_float64)

  Bases: `object`

  Object for representing Dirichlet (essential) boundary conditions

  dof_indices(self) → tuple[numpy.ndarray[dtype=int32, writable=False], int]
  property dtype

    (self) -> str

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<double>

  set(self, b: ndarray[dtype=complex128, shape=(*), order='C'], x0: ndarray[dtype=complex128, shape=(*), order='C', writable=False] | None, alpha: complex) → None
  property value

    (self) -> dolfinx::fem::Function<std::complex<double>, double> | dolfinx::fem::Constant<std::complex<double> >

class dolfinx.cpp.fem.DirichletBC_complex64(self, g: ndarray[dtype=complex64, order='C', writable=False], dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float32)
class dolfinx.cpp.fem.DirichletBC_complex64(self, g: dolfinx.cpp.fem.Constant_complex64, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float32)
class dolfinx.cpp.fem.DirichletBC_complex64(self, g: dolfinx.cpp.fem.Function_complex64, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False])
class dolfinx.cpp.fem.DirichletBC_complex64(self, g: dolfinx.cpp.fem.Function_complex64, dofs: collections.abc.Sequence[ndarray[dtype=int32, shape=(*), order='C', writable=False]], V: dolfinx.cpp.fem.FunctionSpace_float32)

  Bases: `object`

  Object for representing Dirichlet (essential) boundary conditions

  dof_indices(self) → tuple[numpy.ndarray[dtype=int32, writable=False], int]
  property dtype

    (self) -> str

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<float>

  set(self, b: ndarray[dtype=complex64, shape=(*), order='C'], x0: ndarray[dtype=complex64, shape=(*), order='C', writable=False] | None, alpha: complex) → None
  property value

    (self) -> dolfinx::fem::Function<std::complex<float>, float> | dolfinx::fem::Constant<std::complex<float> >

class dolfinx.cpp.fem.DirichletBC_float32(self, g: ndarray[dtype=float32, order='C', writable=False], dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float32)
class dolfinx.cpp.fem.DirichletBC_float32(self, g: dolfinx.cpp.fem.Constant_float32, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float32)
class dolfinx.cpp.fem.DirichletBC_float32(self, g: dolfinx.cpp.fem.Function_float32, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False])
class dolfinx.cpp.fem.DirichletBC_float32(self, g: dolfinx.cpp.fem.Function_float32, dofs: collections.abc.Sequence[ndarray[dtype=int32, shape=(*), order='C', writable=False]], V: dolfinx.cpp.fem.FunctionSpace_float32)

  Bases: `object`

  Object for representing Dirichlet (essential) boundary conditions

  dof_indices(self) → tuple[numpy.ndarray[dtype=int32, writable=False], int]
  property dtype

    (self) -> str

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<float>

  set(self, b: ndarray[dtype=float32, shape=(*), order='C'], x0: ndarray[dtype=float32, shape=(*), order='C', writable=False] | None, alpha: float) → None
  property value

    (self) -> dolfinx::fem::Function<float, float> | dolfinx::fem::Constant<float>

class dolfinx.cpp.fem.DirichletBC_float64(self, g: ndarray[dtype=float64, order='C', writable=False], dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float64)
class dolfinx.cpp.fem.DirichletBC_float64(self, g: dolfinx.cpp.fem.Constant_float64, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False], V: dolfinx.cpp.fem.FunctionSpace_float64)
class dolfinx.cpp.fem.DirichletBC_float64(self, g: dolfinx.cpp.fem.Function_float64, dofs: ndarray[dtype=int32, shape=(*), order='C', writable=False])
class dolfinx.cpp.fem.DirichletBC_float64(self, g: dolfinx.cpp.fem.Function_float64, dofs: collections.abc.Sequence[ndarray[dtype=int32, shape=(*), order='C', writable=False]], V: dolfinx.cpp.fem.FunctionSpace_float64)

  Bases: `object`

  Object for representing Dirichlet (essential) boundary conditions

  dof_indices(self) → tuple[numpy.ndarray[dtype=int32, writable=False], int]
  property dtype

    (self) -> str

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<double>

  set(self, b: ndarray[dtype=float64, shape=(*), order='C'], x0: ndarray[dtype=float64, shape=(*), order='C', writable=False] | None, alpha: float) → None
  property value

    (self) -> dolfinx::fem::Function<double, double> | dolfinx::fem::Constant<double>

class dolfinx.cpp.fem.DofMap(self, element_dof_layout: dolfinx.cpp.fem.ElementDofLayout, index_map: dolfinx.cpp.common.IndexMap, index_map_bs: int, dofmap: dolfinx.cpp.graph.AdjacencyList_int32, bs: int)

  Bases: `object`

  DofMap object

  property bs

    (self) -> int

  cell_dofs(self, cell: int) → numpy.ndarray[dtype=int32, writable=False]
  property dof_layout

    (self) -> dolfinx.cpp.fem.ElementDofLayout

  property index_map

    (self) -> dolfinx.cpp.common.IndexMap

  property index_map_bs

    (self) -> int

  map(self) → numpy.ndarray[dtype=int32, writable=False]

class dolfinx.cpp.fem.ElementDofLayout(self, block_size: int, entity_dofs: collections.abc.Sequence[collections.abc.Sequence[collections.abc.Sequence[int]]], entity_closure_dofs: collections.abc.Sequence[collections.abc.Sequence[collections.abc.Sequence[int]]], parent_map: collections.abc.Sequence[int], sub_layouts: collections.abc.Sequence[dolfinx.cpp.fem.ElementDofLayout])

  Bases: `object`

  Object describing the layout of dofs on a cell

  property block_size

    (self) -> int

  entity_closure_dofs(self, dim: int, entity_index: int) → list[int]
  entity_dofs(self, dim: int, entity_index: int) → list[int]
  property num_dofs

    (self) -> int

  num_entity_closure_dofs(self, dim: int) → int
  num_entity_dofs(self, dim: int) → int

class dolfinx.cpp.fem.Expression_complex128(self, coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex128], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex128], X: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], fn: int, value_shape: collections.abc.Sequence[int], argument_space: dolfinx.cpp.fem.FunctionSpace_float64)

  Bases: `object`

  An Expression

  X(self) → numpy.ndarray[dtype=float64]
  property dtype

    (self) -> str

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

  property value_size

    (self) -> int

class dolfinx.cpp.fem.Expression_complex64(self, coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex64], X: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], fn: int, value_shape: collections.abc.Sequence[int], argument_space: dolfinx.cpp.fem.FunctionSpace_float32)

  Bases: `object`

  An Expression

  X(self) → numpy.ndarray[dtype=float32]
  property dtype

    (self) -> str

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

  property value_size

    (self) -> int

class dolfinx.cpp.fem.Expression_float32(self, coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float32], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float32], X: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], fn: int, value_shape: collections.abc.Sequence[int], argument_space: dolfinx.cpp.fem.FunctionSpace_float32)

  Bases: `object`

  An Expression

  X(self) → numpy.ndarray[dtype=float32]
  property dtype

    (self) -> str

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

  property value_size

    (self) -> int

class dolfinx.cpp.fem.Expression_float64(self, coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float64], X: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], fn: int, value_shape: collections.abc.Sequence[int], argument_space: dolfinx.cpp.fem.FunctionSpace_float64)

  Bases: `object`

  An Expression

  X(self) → numpy.ndarray[dtype=float64]
  property dtype

    (self) -> str

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

  property value_size

    (self) -> int

class dolfinx.cpp.fem.FiniteElement_float32(self, element: basix._basixcpp.FiniteElement_float32, block_shape: collections.abc.Sequence[int] | None, symmetric: bool)
class dolfinx.cpp.fem.FiniteElement_float32(self, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float32])
class dolfinx.cpp.fem.FiniteElement_float32(self, cell_type: dolfinx.cpp.mesh.CellType, points: ndarray[dtype=float32, shape=(*, *), order='C'], block_shape: collections.abc.Sequence[int], symmetry: bool)

  Bases: `object`

  Finite element object

  Overloaded function.

  1. `__init__(self, element: basix._basixcpp.FiniteElement_float32, block_shape: collections.abc.Sequence[int] | None, symmetric: bool) -> None`

  Single Basix element constructor.

  2. `__init__(self, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float32]) -> None`

  Mixed-element constructor.

  3. `__init__(self, cell_type: dolfinx.cpp.mesh.CellType, points: ndarray[dtype=float32, shape=(*, *), order='C'], block_shape: collections.abc.Sequence[int], symmetry: bool) -> None`

  Quadrature element constructor.

  T_apply(self, x: ndarray[dtype=float32, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  T_apply(self, x: ndarray[dtype=complex64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_apply(self, x: ndarray[dtype=float32, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_apply(self, x: ndarray[dtype=complex64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_inv_apply(self, x: ndarray[dtype=float32, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_inv_apply(self, x: ndarray[dtype=complex64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  property basix_element

    (self) -> basix._basixcpp.FiniteElement_float32

  property dtype

    (self) -> str

  property interpolation_ident

    (self) -> bool

  interpolation_points(self) → numpy.ndarray[dtype=float32]
  property needs_dof_transformations

    (self) -> bool

  property num_sub_elements

    (self) -> int

  property signature

    (self) -> str

  property space_dimension

    (self) -> int

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

class dolfinx.cpp.fem.FiniteElement_float64(self, element: basix._basixcpp.FiniteElement_float64, block_shape: collections.abc.Sequence[int] | None, symmetric: bool)
class dolfinx.cpp.fem.FiniteElement_float64(self, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float64])
class dolfinx.cpp.fem.FiniteElement_float64(self, cell_type: dolfinx.cpp.mesh.CellType, points: ndarray[dtype=float64, shape=(*, *), order='C'], block_shape: collections.abc.Sequence[int], symmetry: bool)

  Bases: `object`

  Finite element object

  Overloaded function.

  1. `__init__(self, element: basix._basixcpp.FiniteElement_float64, block_shape: collections.abc.Sequence[int] | None, symmetric: bool) -> None`

  Single Basix element constructor.

  2. `__init__(self, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float64]) -> None`

  Mixed-element constructor.

  3. `__init__(self, cell_type: dolfinx.cpp.mesh.CellType, points: ndarray[dtype=float64, shape=(*, *), order='C'], block_shape: collections.abc.Sequence[int], symmetry: bool) -> None`

  Quadrature element constructor.

  T_apply(self, x: ndarray[dtype=float64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  T_apply(self, x: ndarray[dtype=complex128, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_apply(self, x: ndarray[dtype=float64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_apply(self, x: ndarray[dtype=complex128, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_inv_apply(self, x: ndarray[dtype=float64, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  Tt_inv_apply(self, x: ndarray[dtype=complex128, shape=(*), order='C'], cell_permutations: ndarray[dtype=uint32, shape=(*), order='C', writable=False], dim: int) → None
  property basix_element

    (self) -> basix._basixcpp.FiniteElement_float64

  property dtype

    (self) -> str

  property interpolation_ident

    (self) -> bool

  interpolation_points(self) → numpy.ndarray[dtype=float64]
  property needs_dof_transformations

    (self) -> bool

  property num_sub_elements

    (self) -> int

  property signature

    (self) -> str

  property space_dimension

    (self) -> int

  property value_shape

    (self) -> numpy.ndarray[dtype=uint64, writable=False]

class dolfinx.cpp.fem.Form_complex128(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex128], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex128], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64)
class dolfinx.cpp.fem.Form_complex128(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex128], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex128], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64 | None)

  Bases: `object`

  Variational form object

  Overloaded function.

  1. `__init__(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex128], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex128], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64) -> None`

  2. `__init__(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex128], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex128], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64 | None) -> None`

  Create a Form from a pointer to a ufcx_form

  property coefficients

    (self) -> list[dolfinx.cpp.fem.Function_complex128]

  property constants

    (self) -> list[dolfinx.cpp.fem.Constant_complex128]

  domains(self, type: dolfinx.cpp.fem._IntegralType, i: int) → numpy.ndarray[dtype=int32, writable=False]
  property dtype

    (self) -> str

  property function_spaces

    (self) -> list[dolfinx::fem::FunctionSpace<double>]

  property integral_types

    (self) -> set[dolfinx::fem::IntegralType]

  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float64

  property needs_facet_permutations

    (self) -> bool

  num_integrals(self, arg0: dolfinx.cpp.fem._IntegralType, arg1: int, /) → int
  property rank

    (self) -> int

class dolfinx.cpp.fem.Form_complex64(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex64], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32)
class dolfinx.cpp.fem.Form_complex64(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex64], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32 | None)

  Bases: `object`

  Variational form object

  Overloaded function.

  1. `__init__(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex64], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32) -> None`

  2. `__init__(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_complex64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_complex64], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32 | None) -> None`

  Create a Form from a pointer to a ufcx_form

  property coefficients

    (self) -> list[dolfinx.cpp.fem.Function_complex64]

  property constants

    (self) -> list[dolfinx.cpp.fem.Constant_complex64]

  domains(self, type: dolfinx.cpp.fem._IntegralType, i: int) → numpy.ndarray[dtype=int32, writable=False]
  property dtype

    (self) -> str

  property function_spaces

    (self) -> list[dolfinx::fem::FunctionSpace<float>]

  property integral_types

    (self) -> set[dolfinx::fem::IntegralType]

  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float32

  property needs_facet_permutations

    (self) -> bool

  num_integrals(self, arg0: dolfinx.cpp.fem._IntegralType, arg1: int, /) → int
  property rank

    (self) -> int

class dolfinx.cpp.fem.Form_float32(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float32], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float32], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32)
class dolfinx.cpp.fem.Form_float32(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float32], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float32], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32 | None)

  Bases: `object`

  Variational form object

  Overloaded function.

  1. `__init__(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float32], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float32], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32) -> None`

  2. `__init__(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float32], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float32], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float32], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float32 | None) -> None`

  Create a Form from a pointer to a ufcx_form

  property coefficients

    (self) -> list[dolfinx.cpp.fem.Function_float32]

  property constants

    (self) -> list[dolfinx.cpp.fem.Constant_float32]

  domains(self, type: dolfinx.cpp.fem._IntegralType, i: int) → numpy.ndarray[dtype=int32, writable=False]
  property dtype

    (self) -> str

  property function_spaces

    (self) -> list[dolfinx::fem::FunctionSpace<float>]

  property integral_types

    (self) -> set[dolfinx::fem::IntegralType]

  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float32

  property needs_facet_permutations

    (self) -> bool

  num_integrals(self, arg0: dolfinx.cpp.fem._IntegralType, arg1: int, /) → int
  property rank

    (self) -> int

class dolfinx.cpp.fem.Form_float64(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float64], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64)
class dolfinx.cpp.fem.Form_float64(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float64], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64 | None)

  Bases: `object`

  Variational form object

  Overloaded function.

  1. `__init__(self, spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], integrals: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, int, ndarray[dtype=int32, shape=(*), order='C', writable=False], ndarray[dtype=int8, shape=(*), order='C', writable=False]]]], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float64], need_permutation_data: bool, entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64) -> None`

  2. `__init__(self, form: collections.abc.Sequence[int], spaces: collections.abc.Sequence[dolfinx.cpp.fem.FunctionSpace_float64], coefficients: collections.abc.Sequence[dolfinx.cpp.fem.Function_float64], constants: collections.abc.Sequence[dolfinx.cpp.fem.Constant_float64], subdomains: collections.abc.Mapping[dolfinx.cpp.fem._IntegralType, collections.abc.Sequence[tuple[int, ndarray[dtype=int32, shape=(*), order='C', writable=False]]]], entity_maps: collections.abc.Sequence[dolfinx.cpp.mesh.EntityMap], mesh: dolfinx.cpp.mesh.Mesh_float64 | None) -> None`

  Create a Form from a pointer to a ufcx_form

  property coefficients

    (self) -> list[dolfinx.cpp.fem.Function_float64]

  property constants

    (self) -> list[dolfinx.cpp.fem.Constant_float64]

  domains(self, type: dolfinx.cpp.fem._IntegralType, i: int) → numpy.ndarray[dtype=int32, writable=False]
  property dtype

    (self) -> str

  property function_spaces

    (self) -> list[dolfinx::fem::FunctionSpace<double>]

  property integral_types

    (self) -> set[dolfinx::fem::IntegralType]

  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float64

  property needs_facet_permutations

    (self) -> bool

  num_integrals(self, arg0: dolfinx.cpp.fem._IntegralType, arg1: int, /) → int
  property rank

    (self) -> int

class dolfinx.cpp.fem.FunctionSpace_float32(self, mesh: dolfinx.cpp.mesh.Mesh_float32, element: dolfinx.cpp.fem.FiniteElement_float32, dofmap: dolfinx.cpp.fem.DofMap)
class dolfinx.cpp.fem.FunctionSpace_float32(self, mesh: dolfinx.cpp.mesh.Mesh_float32, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float32], dofmaps: collections.abc.Sequence[dolfinx.cpp.fem.DofMap])

  Bases: `object`

  Finite element function space

  collapse(self) → tuple[dolfinx.cpp.fem.FunctionSpace_float32, numpy.ndarray[dtype=int32]]
  component(self) → list[int]
  contains(self, V: dolfinx.cpp.fem.FunctionSpace_float32) → bool
  property dofmap

    (self) -> dolfinx.cpp.fem.DofMap

  dofmaps(self, cell_type_index: int) → dolfinx.cpp.fem.DofMap
  property element

    (self) -> dolfinx::fem::FiniteElement<float>

  elements(self, arg: int, /) → dolfinx.cpp.fem.FiniteElement_float32
  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float32

  sub(self, component: collections.abc.Sequence[int]) → dolfinx.cpp.fem.FunctionSpace_float32
  tabulate_dof_coordinates(self) → numpy.ndarray[dtype=float32]

class dolfinx.cpp.fem.FunctionSpace_float64(self, mesh: dolfinx.cpp.mesh.Mesh_float64, element: dolfinx.cpp.fem.FiniteElement_float64, dofmap: dolfinx.cpp.fem.DofMap)
class dolfinx.cpp.fem.FunctionSpace_float64(self, mesh: dolfinx.cpp.mesh.Mesh_float64, elements: collections.abc.Sequence[dolfinx.cpp.fem.FiniteElement_float64], dofmaps: collections.abc.Sequence[dolfinx.cpp.fem.DofMap])

  Bases: `object`

  Finite element function space

  collapse(self) → tuple[dolfinx.cpp.fem.FunctionSpace_float64, numpy.ndarray[dtype=int32]]
  component(self) → list[int]
  contains(self, V: dolfinx.cpp.fem.FunctionSpace_float64) → bool
  property dofmap

    (self) -> dolfinx.cpp.fem.DofMap

  dofmaps(self, cell_type_index: int) → dolfinx.cpp.fem.DofMap
  property element

    (self) -> dolfinx::fem::FiniteElement<double>

  elements(self, arg: int, /) → dolfinx.cpp.fem.FiniteElement_float64
  property mesh

    (self) -> dolfinx.cpp.mesh.Mesh_float64

  sub(self, component: collections.abc.Sequence[int]) → dolfinx.cpp.fem.FunctionSpace_float64
  tabulate_dof_coordinates(self) → numpy.ndarray[dtype=float64]

class dolfinx.cpp.fem.Function_complex128(self, arg: dolfinx.cpp.fem.FunctionSpace_float64, /)
class dolfinx.cpp.fem.Function_complex128(self, arg0: dolfinx.cpp.fem.FunctionSpace_float64, arg1: dolfinx.cpp.la.Vector_complex128, /)

  Bases: `object`

  A finite element function

  Overloaded function.

  1. `__init__(self, arg: dolfinx.cpp.fem.FunctionSpace_float64, /) -> None`

  Create a function on the given function space

  2. `__init__(self, arg0: dolfinx.cpp.fem.FunctionSpace_float64, arg1: dolfinx.cpp.la.Vector_complex128, /) -> None`

  collapse(self) → dolfinx.cpp.fem.Function_complex128

    Collapse sub-function view

  eval(self, x: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], values: ndarray[dtype=complex128, shape=(*, *), order='C']) → None

    Evaluate Function

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<double>

  interpolate(self, f: ndarray[dtype=complex128, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, f: ndarray[dtype=complex128, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_complex128, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_complex128, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float64) → None
  interpolate(self, e0: dolfinx.cpp.fem.Expression_complex128, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) → None

    Overloaded function.

    1. `interpolate(self, f: ndarray[dtype=complex128, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    2. `interpolate(self, f: ndarray[dtype=complex128, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    3. `interpolate(self, u: dolfinx.cpp.fem.Function_complex128, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate a finite element function

    4. `interpolate(self, u: dolfinx.cpp.fem.Function_complex128, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float64) -> None`

    Interpolate a finite element function on non-matching meshes

    5. `interpolate(self, e0: dolfinx.cpp.fem.Expression_complex128, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) -> None`

    Interpolate an Expression on a set of cells

  interpolate_ptr(self, f_ptr: int, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None

    Interpolate using a pointer to an expression with a C signature

  property name

    (self) -> str

  sub(self, arg: int, /) → dolfinx.cpp.fem.Function_complex128

    Return sub-function (view into parent Function

  property x

    Return the vector associated with the finite element Function

class dolfinx.cpp.fem.Function_complex64(self, arg: dolfinx.cpp.fem.FunctionSpace_float32, /)
class dolfinx.cpp.fem.Function_complex64(self, arg0: dolfinx.cpp.fem.FunctionSpace_float32, arg1: dolfinx.cpp.la.Vector_complex64, /)

  Bases: `object`

  A finite element function

  Overloaded function.

  1. `__init__(self, arg: dolfinx.cpp.fem.FunctionSpace_float32, /) -> None`

  Create a function on the given function space

  2. `__init__(self, arg0: dolfinx.cpp.fem.FunctionSpace_float32, arg1: dolfinx.cpp.la.Vector_complex64, /) -> None`

  collapse(self) → dolfinx.cpp.fem.Function_complex64

    Collapse sub-function view

  eval(self, x: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], values: ndarray[dtype=complex64, shape=(*, *), order='C']) → None

    Evaluate Function

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<float>

  interpolate(self, f: ndarray[dtype=complex64, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, f: ndarray[dtype=complex64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_complex64, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_complex64, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float32) → None
  interpolate(self, e0: dolfinx.cpp.fem.Expression_complex64, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) → None

    Overloaded function.

    1. `interpolate(self, f: ndarray[dtype=complex64, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    2. `interpolate(self, f: ndarray[dtype=complex64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    3. `interpolate(self, u: dolfinx.cpp.fem.Function_complex64, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate a finite element function

    4. `interpolate(self, u: dolfinx.cpp.fem.Function_complex64, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float32) -> None`

    Interpolate a finite element function on non-matching meshes

    5. `interpolate(self, e0: dolfinx.cpp.fem.Expression_complex64, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) -> None`

    Interpolate an Expression on a set of cells

  interpolate_ptr(self, f_ptr: int, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None

    Interpolate using a pointer to an expression with a C signature

  property name

    (self) -> str

  sub(self, arg: int, /) → dolfinx.cpp.fem.Function_complex64

    Return sub-function (view into parent Function

  property x

    Return the vector associated with the finite element Function

class dolfinx.cpp.fem.Function_float32(self, arg: dolfinx.cpp.fem.FunctionSpace_float32, /)
class dolfinx.cpp.fem.Function_float32(self, arg0: dolfinx.cpp.fem.FunctionSpace_float32, arg1: dolfinx.cpp.la.Vector_float32, /)

  Bases: `object`

  A finite element function

  Overloaded function.

  1. `__init__(self, arg: dolfinx.cpp.fem.FunctionSpace_float32, /) -> None`

  Create a function on the given function space

  2. `__init__(self, arg0: dolfinx.cpp.fem.FunctionSpace_float32, arg1: dolfinx.cpp.la.Vector_float32, /) -> None`

  collapse(self) → dolfinx.cpp.fem.Function_float32

    Collapse sub-function view

  eval(self, x: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], values: ndarray[dtype=float32, shape=(*, *), order='C']) → None

    Evaluate Function

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<float>

  interpolate(self, f: ndarray[dtype=float32, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, f: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_float32, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_float32, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float32) → None
  interpolate(self, e0: dolfinx.cpp.fem.Expression_float32, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) → None

    Overloaded function.

    1. `interpolate(self, f: ndarray[dtype=float32, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    2. `interpolate(self, f: ndarray[dtype=float32, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    3. `interpolate(self, u: dolfinx.cpp.fem.Function_float32, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate a finite element function

    4. `interpolate(self, u: dolfinx.cpp.fem.Function_float32, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float32) -> None`

    Interpolate a finite element function on non-matching meshes

    5. `interpolate(self, e0: dolfinx.cpp.fem.Expression_float32, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) -> None`

    Interpolate an Expression on a set of cells

  interpolate_ptr(self, f_ptr: int, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None

    Interpolate using a pointer to an expression with a C signature

  property name

    (self) -> str

  sub(self, arg: int, /) → dolfinx.cpp.fem.Function_float32

    Return sub-function (view into parent Function

  property x

    Return the vector associated with the finite element Function

class dolfinx.cpp.fem.Function_float64(self, arg: dolfinx.cpp.fem.FunctionSpace_float64, /)
class dolfinx.cpp.fem.Function_float64(self, arg0: dolfinx.cpp.fem.FunctionSpace_float64, arg1: dolfinx.cpp.la.Vector_float64, /)

  Bases: `object`

  A finite element function

  Overloaded function.

  1. `__init__(self, arg: dolfinx.cpp.fem.FunctionSpace_float64, /) -> None`

  Create a function on the given function space

  2. `__init__(self, arg0: dolfinx.cpp.fem.FunctionSpace_float64, arg1: dolfinx.cpp.la.Vector_float64, /) -> None`

  collapse(self) → dolfinx.cpp.fem.Function_float64

    Collapse sub-function view

  eval(self, x: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], values: ndarray[dtype=float64, shape=(*, *), order='C']) → None

    Evaluate Function

  property function_space

    (self) -> dolfinx::fem::FunctionSpace<double>

  interpolate(self, f: ndarray[dtype=float64, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, f: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_float64, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None
  interpolate(self, u: dolfinx.cpp.fem.Function_float64, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float64) → None
  interpolate(self, e0: dolfinx.cpp.fem.Expression_float64, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) → None

    Overloaded function.

    1. `interpolate(self, f: ndarray[dtype=float64, shape=(*), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    2. `interpolate(self, f: ndarray[dtype=float64, shape=(*, *), order='C', writable=False], cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate an expression function

    3. `interpolate(self, u: dolfinx.cpp.fem.Function_float64, cells0: ndarray[dtype=int32, shape=(*), order='C', writable=False], cells1: ndarray[dtype=int32, shape=(*), order='C', writable=False]) -> None`

    Interpolate a finite element function

    4. `interpolate(self, u: dolfinx.cpp.fem.Function_float64, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False], interpolation_data: dolfinx.cpp.geometry.PointOwnershipData_float64) -> None`

    Interpolate a finite element function on non-matching meshes

    5. `interpolate(self, e0: dolfinx.cpp.fem.Expression_float64, cells0: ndarray[dtype=int32, order='C', writable=False], cells1: ndarray[dtype=int32, order='C', writable=False]) -> None`

    Interpolate an Expression on a set of cells

  interpolate_ptr(self, f_ptr: int, cells: ndarray[dtype=int32, shape=(*), order='C', writable=False]) → None

    Interpolate using a pointer to an expression with a C signature

  property name

    (self) -> str

  sub(self, arg: int, /) → dolfinx.cpp.fem.Function_float64

    Return sub-function (view into parent Function

  property x

    Return the vector associated with the finite element Function