Assembler.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class Assembler

Parent class(es)

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
Assembler()

Constructor

void assemble(GenericTensor &A, const Form &a)

Assemble tensor from given form

Arguments
A (GenericTensor)
The tensor to assemble.
a (Form)
The form to assemble the tensor from.
void assemble_cells(GenericTensor &A, const Form &a, UFC &ufc, const MeshFunction<std::size_t> *domains, std::vector<double> *values)

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

void assemble_exterior_facets(GenericTensor &A, const Form &a, UFC &ufc, const MeshFunction<std::size_t> *domains, std::vector<double> *values)

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

void assemble_interior_facets(GenericTensor &A, const Form &a, UFC &ufc, const MeshFunction<std::size_t> *domains, std::vector<double> *values)

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

void add_to_global_tensor(GenericTensor &A, std::vector<double> &cell_tensor, std::vector<const std::vector<dolfin::la_index> *> &dofs)

Add cell tensor to global tensor. Hook to allow the SymmetricAssembler to split the cell tensor into symmetric/antisymmetric parts.