Assembler

class dolfin.cpp.fem.Assembler

Bases: dolfin.cpp.fem.AssemblerBase

This class provides automated assembly of linear systems, or more generally, assembly of a sparse tensor from a given variational form. Subdomains for cells and facets may be specified by assigning subdomain indicators specified by MeshFunction to the Form being assembled:

form.dx = cell_domains
form.ds = exterior_facet_domains
form.dS = interior_facet_domains

Constructor.

assemble()

Assemble tensor from given form

Parameters:
  • & A (GenericTensor) – (GenericTensor ) The tensor to assemble. [direction=out]
  • Form & a (const) – (Form &) The form to assemble the tensor from. [direction=in]
Return type:

void

assemble_cells()

Assemble tensor from given form over cells. This function is provided for users who wish to build a customized assembler.

Parameters:
  • & A (GenericTensor) – (GenericTensor &) The tensor to assemble. [direction=out]
  • Form & a (const) – (Form &) The form to assemble the tensor from. [direction=in]
  • & ufc (UFC) – (UFC &) [direction=in]
  • const MeshFunction< std::size_t >> domains (std::shared_ptr<) – (MeshFunction<std::size_t>) [direction=in]
  • double > * values (std::vector<) – (std::vector<double>*) [direction=in]
Return type:

void

assemble_exterior_facets()

Assemble tensor from given form over exterior facets. This function is provided for users who wish to build a customized assembler.

Parameters:
  • & A (GenericTensor) – (GenericTensor ) The tensor to assemble. [direction=out]
  • Form & a (const) – (Form ) The form to assemble the tensor from. [direction=in]
  • & ufc (UFC) – (UFC ) [direction=in]
  • const MeshFunction< std::size_t >> domains (std::shared_ptr<) – (MeshFunction ) [direction=in]
  • double > * values (std::vector<) – (std::vector<double>*) [direction=in]
Return type:

void

assemble_interior_facets()

Assemble tensor from given form over interior facets. This function is provided for users who wish to build a customized assembler.

Parameters:
  • & A (GenericTensor) – (GenericTensor ) The tensor to assemble. [direction=out]
  • Form & a (const) – (Form ) The form to assemble the tensor from. [direction=in]
  • & ufc (UFC) – (UFC ) [direction=in]
  • const MeshFunction< std::size_t >> domains (std::shared_ptr<) – (MeshFunction<std::size_t>) [direction=in]
  • const MeshFunction< std::size_t >> cell_domains (std::shared_ptr<) – (MeshFunction<std::size_t>) [direction=in]
  • double > * values (std::vector<) – (std::vector<double>*) [direction=in]
Return type:

void

assemble_vertices()

Assemble tensor from given form over vertices. This function is provided for users who wish to build a customized assembler.

Parameters:
  • & A (GenericTensor) – (GenericTersn) The tensor to assemble. [direction=out]
  • Form & a (const) – (Form ) The form to assemble the tensor from. [direction=in]
  • & ufc (UFC) – (UFC ) [direction=in]
  • const MeshFunction< std::size_t >> domains (std::shared_ptr<) – (MeshFunction ) [direction=in]
Return type:

void

thisown

The membership flag