DOLFIN
DOLFIN C++ interface
Public Member Functions | Public Attributes | List of all members
dolfin::UFC Class Reference

#include <UFC.h>

Collaboration diagram for dolfin::UFC:
Collaboration graph
[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 &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 Formdolfin_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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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)

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: