DOLFIN
DOLFIN C++ interface
|
#include <FunctionAssigner.h>
Public Member Functions | |
FunctionAssigner (std::shared_ptr< const FunctionSpace > receiving_space, std::shared_ptr< const FunctionSpace > assigning_space) | |
FunctionAssigner (std::vector< std::shared_ptr< const FunctionSpace >> receiving_spaces, std::shared_ptr< const FunctionSpace > assigning_space) | |
FunctionAssigner (std::shared_ptr< const FunctionSpace > receiving_space, std::vector< std::shared_ptr< const FunctionSpace >> assigning_spaces) | |
void | assign (std::shared_ptr< Function > receiving_func, std::shared_ptr< const Function > assigning_func) const |
void | assign (std::shared_ptr< Function > receiving_func, std::vector< std::shared_ptr< const Function >> assigning_funcs) const |
void | assign (std::vector< std::shared_ptr< Function >> receiving_funcs, std::shared_ptr< const Function > assigning_func) const |
~FunctionAssigner () | |
Destructor. | |
std::size_t | num_assigning_functions () const |
Return the number of assigning functions. | |
std::size_t | num_receiving_functions () const |
Return the number of receiving functions. | |
This class facilitate assignments between Function and sub Functions. It builds and caches maps between compatible dofs. These maps are used in the assignment methods which perform the actual assignment. Optionally can a MeshFunction be passed together with a label, facilitating FunctionAssignment over sub domains.
FunctionAssigner::FunctionAssigner | ( | std::shared_ptr< const FunctionSpace > | receiving_space, |
std::shared_ptr< const FunctionSpace > | assigning_space | ||
) |
Create a FunctionAssigner between functions residing in the same type of FunctionSpace. One or both functions can be sub functions.
Arguments receiving_space (FunctionSpace) The function space of the receiving function assigning_space (FunctionSpace) The function space of the assigning function
FunctionAssigner::FunctionAssigner | ( | std::vector< std::shared_ptr< const FunctionSpace >> | receiving_spaces, |
std::shared_ptr< const FunctionSpace > | assigning_space | ||
) |
Create a FunctionAssigner between one mixed function (assigning) and several functions (receiving). The number of receiving functions must sum up to the number of sub functions in the assigning mixed function. The sub spaces of the assigning mixed space must be of the same type ans size as the receiving spaces.
Arguments receiving_spaces (std::vector<FunctionSpace>) The receiving function spaces assigning_space (FunctionSpace) The assigning function space
FunctionAssigner::FunctionAssigner | ( | std::shared_ptr< const FunctionSpace > | receiving_space, |
std::vector< std::shared_ptr< const FunctionSpace >> | assigning_spaces | ||
) |
Create a FunctionAssigner between several functions (assigning) and one mixed function (receiving). The number of sub functions in the assigning mixed function must sum up to the number of receiving functions. The sub spaces of the receiving mixed space must be of the same type ans size as the assigning spaces.
Arguments receiving_space (std::shared_ptr<FunctionSpace>) The receiving function space assigning_spaces (std::vector<std::shared_ptr<FunctionSpace> >) The assigning function spaces