CCFEMDofMap.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
CCFEMDofMap
¶ Parent class(es)
This class handles the mapping of degrees of freedom for CCFEM function spaces.
-
CCFEMDofMap
()¶ Constructor
-
std::size_t
num_parts
() const¶ Return the number dofmaps (parts) of the CCFEM dofmap
- Returns
- std::size_t
- The number of dofmaps (parts) of the CCFEM dofmap
-
boost::shared_ptr<const GenericDofMap>
part
(std::size_t i) const¶ Return dofmap (part) number i
- Returns
GenericDofMap
- Dofmap (part) number i
-
void
set_current_part
(std::size_t part) const¶ Set current part. This will make the CCFEM dofmap act as a dofmap for the part of the CCFEM function space defined on the current part (mesh).
- Arguments
- part (std::size_t)
- The number of the part.
Add dofmap (shared pointer version)
- Arguments
- dofmap (
GenericDofMap
) - The dofmap.
- dofmap (
-
void
add
(const GenericDofMap &dofmap)¶ Add dofmap (reference version)
- Arguments
- dofmap (
DofMap
) - The dofmap.
- dofmap (
-
void
build
(const CCFEMFunctionSpace &function_space)¶ Build CCFEM dofmap
-
void
clear
()¶ Clear CCFEM dofmap
-
bool
is_view
() const¶ True if dof map is a view into another map (is a sub-dofmap)
-
std::size_t
global_dimension
() const¶ Return the dimension of the global finite element function space
-
std::size_t
cell_dimension
(std::size_t index) const¶ Return the dimension of the local finite element function space on a cell
-
std::size_t
max_cell_dimension
() const¶ Return the maximum dimension of the local finite element function space
-
std::size_t
num_entity_dofs
(std::size_t dim) const¶ Return the number of dofs for a given entity dimension
-
std::size_t
num_facet_dofs
() const¶ Return number of facet dofs
-
boost::shared_ptr<const Restriction>
restriction
() const¶ Restriction if any. If the dofmap is not restricted, a null pointer is returned.
-
std::pair<std::size_t, std::size_t>
ownership_range
() const¶ Return the ownership range (dofs in this range are owned by this process)
-
const boost::unordered_map<std::size_t, unsigned int> &
off_process_owner
() const¶ Return map from nonlocal-dofs (that appear in local dof map) to owning process
-
const std::vector<dolfin::la_index> &
cell_dofs
(std::size_t cell_index) const¶ Local-to-global mapping of dofs on a cell
-
void
tabulate_facet_dofs
(std::vector<std::size_t> &dofs, std::size_t local_facet) const¶ Tabulate local-local facet dofs
-
void
tabulate_entity_dofs
(std::vector<std::size_t> &dofs, std::size_t dim, std::size_t local_entity) const¶ Tabulate the local-to-local mapping of dofs on entity (dim, local_entity)
-
std::vector<dolfin::la_index>
dof_to_vertex_map
(const Mesh &mesh) const¶ Return a map between vertices and dofs
-
std::vector<std::size_t>
vertex_to_dof_map
(const Mesh &mesh) const¶ Return a map between vertices and dofs
-
void
tabulate_coordinates
(boost::multi_array<double, 2> &coordinates, const std::vector<double> &vertex_coordinates, const Cell &cell) const¶ Tabulate the coordinates of all dofs on a cell (UFC cell version)
-
std::vector<double>
tabulate_all_coordinates
(const Mesh &mesh) const¶ Tabulate the coordinates of all dofs owned by this process. This function is typically used by preconditioners that require the spatial coordinates of dofs, for example for re-partitioning or nullspace computations. The format for the return vector is [x0, y0, z0, x1, y1, z1, . . .].
-
boost::shared_ptr<GenericDofMap>
copy
() const¶ Create a copy of the dof map
-
boost::shared_ptr<GenericDofMap>
create
(const Mesh &new_mesh) const¶ Create a new dof map on new mesh
-
boost::shared_ptr<GenericDofMap>
extract_sub_dofmap
(const std::vector<std::size_t> &component, const Mesh &mesh) const¶ Extract sub dofmap component
-
boost::shared_ptr<GenericDofMap>
collapse
(boost::unordered_map<std::size_t, std::size_t> &collapsed_map, const Mesh &mesh) const¶ Create a “collapsed” a dofmap (collapses from a sub-dofmap view)
-
std::vector<dolfin::la_index>
dofs
() const¶ Return list of global dof indices on this process
-
void
set
(GenericVector &x, double value) const¶ Set dof entries in vector to a specified value. Parallel layout of vector must be consistent with dof map range. This function is typically used to construct the null space of a matrix operator
-
void
set_x
(GenericVector &x, double value, std::size_t component, const Mesh &mesh) const¶ Set dof entries in vector to the value*x[i], where x[i] is the spatial coordinate of the dof. Parallel layout of vector must be consistent with dof map range. This function is typically used to construct the null space of a matrix operator, e.g. rigid body rotations.
Return map from shared dofs to the processes (not including the current process) that share it.
-
const std::set<std::size_t> &
neighbours
() const¶ Return set of processes that share dofs with the this process
-
std::string
str
(bool verbose) const¶ Return informal string representation (pretty-print)
-