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

#include <MultiMeshFunction.h>

Inheritance diagram for dolfin::MultiMeshFunction:
Inheritance graph
[legend]
Collaboration diagram for dolfin::MultiMeshFunction:
Collaboration graph
[legend]

Public Member Functions

 MultiMeshFunction ()
 Constructor.
 
 MultiMeshFunction (std::shared_ptr< const MultiMeshFunctionSpace > V)
 
 MultiMeshFunction (std::shared_ptr< const MultiMeshFunctionSpace > V, std::shared_ptr< GenericVector > x)
 
virtual ~MultiMeshFunction ()
 Destructor.
 
void assign_part (std::size_t a, const Function &v)
 
std::shared_ptr< const Functionpart (std::size_t i) const
 
std::shared_ptr< const Functionpart (std::size_t i, bool deepcopy) const
 
std::shared_ptr< GenericVectorvector ()
 
std::shared_ptr< const GenericVectorvector () const
 
virtual std::shared_ptr< const MultiMeshFunctionSpacefunction_space () const
 
void restrict (double *w, const FiniteElement &element, std::size_t part, const Cell &dolfin_cell, const double *coordinate_dofs, const ufc::cell &ufc_cell) const
 
void eval (Array< double > &values, const Array< double > &x, std::size_t part, const ufc::cell &cell) const
 
void eval (Array< double > &values, const Array< double > &x) const
 Evaluate at a given point.
 
void restrict_as_ufc_function (double *w, const FiniteElement &element, std::size_t part, const Cell &dolfin_cell, const double *coordinate_dofs, const ufc::cell &ufc_cell) const
 Restrict as UFC function (by calling eval)
 
- Public Member Functions inherited from dolfin::Variable
 Variable ()
 Create unnamed variable.
 
 Variable (const std::string name, const std::string label)
 Create variable with given name and label.
 
 Variable (const Variable &variable)
 Copy constructor.
 
virtual ~Variable ()
 Destructor.
 
const Variableoperator= (const Variable &variable)
 Assignment operator.
 
void rename (const std::string name, const std::string label)
 Rename variable.
 
std::string name () const
 Return name.
 
std::string label () const
 Return label (description)
 
std::size_t id () const
 
virtual std::string str (bool verbose) const
 Return informal string representation (pretty-print)
 

Additional Inherited Members

- Public Attributes inherited from dolfin::Variable
Parameters parameters
 Parameters.
 

Detailed Description

This class represents a function on a cut and composite finite element function space (MultiMesh) defined on one or more possibly intersecting meshes.

Constructor & Destructor Documentation

◆ MultiMeshFunction() [1/2]

MultiMeshFunction::MultiMeshFunction ( std::shared_ptr< const MultiMeshFunctionSpace V)
explicit

Create MultiMesh function on given MultiMesh function space

Arguments V (MultiMeshFunctionSpace) The MultiMesh function space.

◆ MultiMeshFunction() [2/2]

MultiMeshFunction::MultiMeshFunction ( std::shared_ptr< const MultiMeshFunctionSpace V,
std::shared_ptr< GenericVector x 
)

Create MultiMesh function on given MultiMesh function space with a given vector (shared data)

Warning: This constructor is intended for internal library use only

Arguments V (MultiMeshFunctionSpace) The multimesh function space. x (GenericVector) The vector.

Member Function Documentation

◆ assign_part()

void MultiMeshFunction::assign_part ( std::size_t  a,
const Function v 
)

Assign Function to part of a mesh

Arguments a (int) Part mesh assigned to V (Function) The vector

◆ eval()

void MultiMeshFunction::eval ( Array< double > &  values,
const Array< double > &  x,
std::size_t  part,
const ufc::cell &  cell 
) const

Evaluate at given point in given cell in given part

Arguments values (Array <double>) The values at the point. x (Array <double>) The coordinates of the point. cell (ufc::cell) The cell which contains the given point.

◆ function_space()

virtual std::shared_ptr<const MultiMeshFunctionSpace> dolfin::MultiMeshFunction::function_space ( ) const
inlinevirtual

Return shared pointer to multi mesh function space

Returns MultiMeshFunctionSpace Return the shared pointer.

◆ part() [1/2]

std::shared_ptr< const Function > MultiMeshFunction::part ( std::size_t  i) const

Return function (part) number i

Returns Function Function (part) number i

◆ part() [2/2]

std::shared_ptr< const Function > MultiMeshFunction::part ( std::size_t  i,
bool  deepcopy 
) const

Return a (deepcopy) function (part) number i

Returns Function Function (part) number i bool deepcopy flag

◆ restrict()

void MultiMeshFunction::restrict ( double *  w,
const FiniteElement element,
std::size_t  part,
const Cell dolfin_cell,
const double *  coordinate_dofs,
const ufc::cell &  ufc_cell 
) const

Restrict function to local cell in given part (compute expansion coefficients w)

Arguments w (list of doubles) Expansion coefficients. element (FiniteElement) The element. part (std::size_t) The mesh part dolfin_cell (Cell) The cell. ufc_cell (ufc::cell). The ufc::cell.

◆ vector() [1/2]

std::shared_ptr< GenericVector > MultiMeshFunction::vector ( )

Return vector of expansion coefficients (non-const version)

Returns GenericVector The vector of expansion coefficients.

◆ vector() [2/2]

std::shared_ptr< const GenericVector > MultiMeshFunction::vector ( ) const

Return vector of expansion coefficients (const version)

Returns GenericVector The vector of expansion coefficients (const).


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