LocalAssembler

class dolfin.cpp.fem.LocalAssembler

Bases: object

Assembly of local cell tensors. Used by the adaptivity and LocalSolver functionality in dolfin. The local assembly functionality provided here is also wrapped as a free function assemble_local(form_a, cell) in Python for easier usage. Use from the C++ interface defined below will be faster than the free function as fewer objects need to be created and destroyed.

static assemble()

Assemble a local tensor on a cell. Internally calls assemble_cell , assemble_exterior_facet , assemble_interior_facet .

Parameters:
  • double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & A (Eigen::Matrix<) – The tensor to assemble.
  • & ufc (UFC) –
  • std::vector< double > & coordinate_dofs (const) –
  • & ufc_cell (ufc::cell) –
  • Cell & cell (const) –
  • MeshFunction< std::size_t > * cell_domains (const) –
  • MeshFunction< std::size_t > * exterior_facet_domains (const) –
  • MeshFunction< std::size_t > * interior_facet_domains (const) –
Return type:

void

static assemble_cell()

Worker method called by assemble to perform assembly of volume integrals (UFL measure dx).

Parameters:
  • double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & A (Eigen::Matrix<) – The tensor to assemble.
  • & ufc (UFC) –
  • std::vector< double > & coordinate_dofs (const) –
  • ufc::cell & ufc_cell (const) –
  • Cell & cell (const) –
  • MeshFunction< std::size_t > * cell_domains (const) –
Return type:

void

static assemble_exterior_facet()

Worker method called by assemble for each of the cell’s external facets to perform assembly of external facet integrals (UFL measure ds).

Parameters:
  • double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & A (Eigen::Matrix<) – The tensor to assemble.
  • & ufc (UFC) –
  • std::vector< double > & coordinate_dofs (const) –
  • ufc::cell & ufc_cell (const) –
  • Cell & cell (const) –
  • Facet & facet (const) –
  • std::size_t local_facet (const) –
  • MeshFunction< std::size_t > * exterior_facet_domains (const) –
Return type:

void

static assemble_interior_facet()

Worker method called by assemble for each of the cell’s internal facets to perform assembly of internal facet integrals (UFL measure dS)

Parameters:
  • double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & A (Eigen::Matrix<) – The tensor to assemble.
  • & ufc (UFC) –
  • std::vector< double > & coordinate_dofs (const) –
  • ufc::cell & ufc_cell (const) –
  • Cell & cell (const) –
  • Facet & facet (const) –
  • std::size_t local_facet (const) –
  • MeshFunction< std::size_t > * interior_facet_domains (const) –
  • MeshFunction< std::size_t > * cell_domains (const) –
Return type:

void

thisown

The membership flag