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

`#include <UFC.h>`

Collaboration diagram for dolfin::UFC:
[legend]

## Public Member Functions

| UFC (const Form &form)
| Constructor.
| UFC (const UFC &ufc)
| Copy constructor.
| ~UFC ()
| Destructor.
void | init (const Form &form)
| Initialise memory.
void | update (const Cell &cell, const std::vector< double > &coordinate_dofs0, const ufc::cell &ufc_cell, const std::vector< bool > &enabled_coefficients)
| Update current cell.
void | update (const Cell &cell, const std::vector< std::vector< double > > &coordinate_dofs0, const std::vector< ufc::cell > &ufc_cells, const std::vector< bool > &enabled_coefficients)
| Restrict all enabled coefficients of a form to the current cell.
void | update (const Cell &cell0, const std::vector< double > &coordinate_dofs0, const ufc::cell &ufc_cell0, const Cell &cell1, const std::vector< double > &coordinate_dofs1, const ufc::cell &ufc_cell1, const std::vector< bool > &enabled_coefficients)
| Update current pair of cells for macro element.
void | update (const Cell &cell, const std::vector< double > &coordinate_dofs0, const ufc::cell &ufc_cell)
void | update (const Cell &cell0, const std::vector< double > &coordinate_dofs0, const ufc::cell &ufc_cell0, const Cell &cell1, const std::vector< double > &coordinate_dofs1, const ufc::cell &ufc_cell1)
const double *const * | w () const
| Pointer to coefficient data. Used to support UFC interface.
double ** | w ()
const double *const * | macro_w () const
double ** | macro_w ()
ufc::cell_integral * | get_cell_integral (std::size_t domain)
ufc::exterior_facet_integral * | get_exterior_facet_integral (std::size_t domain)
ufc::interior_facet_integral * | get_interior_facet_integral (std::size_t domain)
ufc::vertex_integral * | get_vertex_integral (std::size_t domain)
ufc::custom_integral * | get_custom_integral (std::size_t domain)
ufc::cutcell_integral * | get_cutcell_integral (std::size_t domain)
ufc::interface_integral * | get_interface_integral (std::size_t domain)
ufc::overlap_integral * | get_overlap_integral (std::size_t domain)

## Public Attributes

std::shared_ptr< ufc::cell_integral > | default_cell_integral
std::shared_ptr< ufc::exterior_facet_integral > | default_exterior_facet_integral
std::shared_ptr< ufc::interior_facet_integral > | default_interior_facet_integral
std::shared_ptr< ufc::vertex_integral > | default_vertex_integral
std::shared_ptr< ufc::custom_integral > | default_custom_integral
std::shared_ptr< ufc::cutcell_integral > | default_cutcell_integral
std::shared_ptr< ufc::interface_integral > | default_interface_integral
std::shared_ptr< ufc::overlap_integral > | default_overlap_integral
const ufc::form & | form
| Form.
std::vector< double > | A
| Local tensor.
std::vector< double > | A_facet
| Local tensor.
std::vector< double > | macro_A
| Local tensor for macro element.
const Form & | dolfin_form
| The form.

## Detailed Description

This class is a simple data structure that holds data used during assembly of a given UFC form. Data is created for each primary argument, that is, v_j for j < r. In addition, nodal basis expansion coefficients and a finite element are created for each coefficient function.

## Member Function Documentation

## get_cell_integral()

ufc::cell_integral * dolfin::UFC::get_cell_integral | ( | std::size_t | domain | ) |

inline

Get cell integral over a given domain, falling back to the default if necessary

## get_custom_integral()

ufc::custom_integral * dolfin::UFC::get_custom_integral | ( | std::size_t | domain | ) |

inline

Get custom integral over a given domain, falling back to the default if necessary

## get_cutcell_integral()

ufc::cutcell_integral * dolfin::UFC::get_cutcell_integral | ( | std::size_t | domain | ) |

inline

Get cutcell integral over a given domain, falling back to the default if necessary

## get_exterior_facet_integral()

ufc::exterior_facet_integral * dolfin::UFC::get_exterior_facet_integral | ( | std::size_t | domain | ) |

inline

Get exterior facet integral over a given domain, falling back to the default if necessary

## get_interface_integral()

ufc::interface_integral * dolfin::UFC::get_interface_integral | ( | std::size_t | domain | ) |

inline

Get interface integral over a given domain, falling back to the default if necessary

## get_interior_facet_integral()

ufc::interior_facet_integral * dolfin::UFC::get_interior_facet_integral | ( | std::size_t | domain | ) |

inline

Get interior facet integral over a given domain, falling back to the default if necessary

## get_overlap_integral()

ufc::overlap_integral * dolfin::UFC::get_overlap_integral | ( | std::size_t | domain | ) |

inline

Get overlap integral over a given domain, falling back to the default if necessary

## get_vertex_integral()

ufc::vertex_integral * dolfin::UFC::get_vertex_integral | ( | std::size_t | domain | ) |

inline

Get point integral over a given domain, falling back to the default if necessary

## macro_w() [1/2]

double ** dolfin::UFC::macro_w | ( |  | ) |

inline

Pointer to macro element coefficient data. Used to support UFC interface. Non-const version.

## macro_w() [2/2]

const double *const * dolfin::UFC::macro_w | ( |  | ) | const

inline

Pointer to macro element coefficient data. Used to support UFC interface.

## update() [1/2]

void UFC::update | ( | const Cell & | cell,
|  | const std::vector< double > & | coordinate_dofs0,
|  | const ufc::cell & | ufc_cell )

Update current cell (TODO: Remove this when PointIntegralSolver supports the version with enabled_coefficients)

## update() [2/2]

void UFC::update | ( | const Cell & | cell0,
|  | const std::vector< double > & | coordinate_dofs0,
|  | const ufc::cell & | ufc_cell0,
|  | const Cell & | cell1,
|  | const std::vector< double > & | coordinate_dofs1,
|  | const ufc::cell & | ufc_cell1 )

Update current pair of cells for macro element (TODO: Remove this when PointIntegralSolver supports the version with enabled_coefficients)

## w()

double ** dolfin::UFC::w | ( |  | ) |

inline

Pointer to coefficient data. Used to support UFC interface. None const version

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

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