dolfin.fem.formmanipulations

Functions

adjoint(form[, reordered_arguments])

Compute adjoint of a bilinear form by changing the ordering (count) of the test and trial functions.

change_regularity(V, family)

For a given function space, return the corresponding space with the finite elements specified by ‘family’.

derivative(form, u, du[, …])

Compute derivative of from about u (coefficient) in the direction of du (Argument)

increase_order(V)

For a given function space, return the same space, but with polynomial degree increase by 1.

tear(V)

For a given function space, return the corresponding discontinuous space

dolfin.fem.formmanipulations.adjoint(form: ufl.form.Form, reordered_arguments=None) → ufl.form.Form[source]

Compute adjoint of a bilinear form by changing the ordering (count) of the test and trial functions.

The functions wraps ufl.adjoint, and by default UFL will create new Argument s. To specify the Argument s rather than creating new ones, pass a tuple of Argument s as reordered_arguments. See the documentation for ufl.adjoint for more details.

dolfin.fem.formmanipulations.change_regularity(V: dolfin.function.FunctionSpace, family: str) → dolfin.function.FunctionSpace[source]

For a given function space, return the corresponding space with the finite elements specified by ‘family’. Possible families are the families supported by the form compiler

dolfin.fem.formmanipulations.derivative(form: ufl.form.Form, u, du, coefficient_derivatives=None) → ufl.form.Form[source]

Compute derivative of from about u (coefficient) in the direction of du (Argument)

dolfin.fem.formmanipulations.increase_order(V: dolfin.function.FunctionSpace) → dolfin.function.FunctionSpace[source]

For a given function space, return the same space, but with polynomial degree increase by 1.

dolfin.fem.formmanipulations.tear(V: dolfin.function.FunctionSpace) → dolfin.function.FunctionSpace[source]

For a given function space, return the corresponding discontinuous space