Loading...
Searching...
No Matches
dolfin::LocalAssembler Class Reference

`#include <LocalAssembler.h>`

## Static Public Member Functions

static void | assemble (Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &A, UFC &ufc, const std::vector< double > &coordinate_dofs, ufc::cell &ufc_cell, const 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)
static void | assemble_cell (Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &A, UFC &ufc, const std::vector< double > &coordinate_dofs, const ufc::cell &ufc_cell, const Cell &cell, const MeshFunction< std::size_t > *cell_domains)
static void | assemble_exterior_facet (Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &A, UFC &ufc, const 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)
static void | assemble_interior_facet (Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &A, UFC &ufc, const 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)

## Detailed Description

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.

## Member Function Documentation

## assemble()

void LocalAssembler::assemble | ( | Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & | A,
|  | UFC & | ufc,
|  | const std::vector< double > & | coordinate_dofs,
|  | ufc::cell & | ufc_cell,
|  | const 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 )

static

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

Parameters

  [out] | A | The tensor to assemble.
  [in] | ufc |
  [in] | coordinate_dofs |
  [in] | ufc_cell |
  [in] | cell |
  [in] | cell_domains |
  [in] | exterior_facet_domains |
  [in] | interior_facet_domains |

## assemble_cell()

void LocalAssembler::assemble_cell | ( | Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & | A,
|  | UFC & | ufc,
|  | const std::vector< double > & | coordinate_dofs,
|  | const ufc::cell & | ufc_cell,
|  | const Cell & | cell,
|  | const MeshFunction< std::size_t > * | cell_domains )

static

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

Parameters

  [out] | A | The tensor to assemble.
  [in] | ufc |
  [in] | coordinate_dofs |
  [in] | ufc_cell |
  [in] | cell |
  [in] | cell_domains |

## assemble_exterior_facet()

void LocalAssembler::assemble_exterior_facet | ( | Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & | A,
|  | UFC & | ufc,
|  | const 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 )

static

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

Parameters

  [out] | A | The tensor to assemble.
  [in] | ufc |
  [in] | coordinate_dofs |
  [in] | ufc_cell |
  [in] | cell |
  [in] | facet |
  [in] | local_facet |
  [in] | exterior_facet_domains |

## assemble_interior_facet()

void LocalAssembler::assemble_interior_facet | ( | Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & | A,
|  | UFC & | ufc,
|  | const 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 )

static

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

Parameters

  [out] | A | The tensor to assemble.
  [in] | ufc |
  [in] | coordinate_dofs |
  [in] | ufc_cell |
  [in] | cell |
  [in] | facet |
  [in] | local_facet |
  [in] | interior_facet_domains |
  [in] | cell_domains |

The documentation for this class was generated from the following files:

- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/fem/LocalAssembler.h
- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/fem/LocalAssembler.cpp