21 #ifndef __MULTI_MESH_FUNCTION_SPACE_H 22 #define __MULTI_MESH_FUNCTION_SPACE_H 28 #include <dolfin/common/types.h> 29 #include <dolfin/common/Variable.h> 30 #include <dolfin/mesh/MultiMesh.h> 39 class MultiMeshDofMap;
62 std::size_t
dim()
const;
69 std::shared_ptr<const MultiMesh>
multimesh()
const;
76 std::shared_ptr<const MultiMeshDofMap>
dofmap()
const;
94 std::shared_ptr<const FunctionSpace>
part(std::size_t i)
const;
109 std::shared_ptr<const FunctionSpace>
view(std::size_t i)
const;
116 void add(std::shared_ptr<const FunctionSpace> function_space);
123 void build(
const std::vector<dolfin::la_index>& offsets);
134 std::vector<std::shared_ptr<const FunctionSpace> > _function_spaces;
137 std::vector<std::shared_ptr<const FunctionSpace> > _function_space_views;
140 std::shared_ptr<const MultiMesh> _multimesh;
143 std::shared_ptr<MultiMeshDofMap> _dofmap;
146 std::size_t _quadrature_order;
149 void _build_multimesh();
152 void _build_dofmap(
const std::vector<dolfin::la_index>& offsets);
std::size_t dim() const
Definition: MultiMeshFunctionSpace.cpp:56
Common base class for DOLFIN variables.
Definition: Variable.h:35
std::shared_ptr< const FunctionSpace > part(std::size_t i) const
Definition: MultiMeshFunctionSpace.cpp:80
std::shared_ptr< const MultiMeshDofMap > dofmap() const
Definition: MultiMeshFunctionSpace.cpp:68
std::shared_ptr< const MultiMesh > multimesh() const
Definition: MultiMeshFunctionSpace.cpp:62
std::shared_ptr< const FunctionSpace > view(std::size_t i) const
Definition: MultiMeshFunctionSpace.cpp:87
void build()
Build multimesh function space.
Definition: MultiMeshFunctionSpace.cpp:101
void add(std::shared_ptr< const FunctionSpace > function_space)
Definition: MultiMeshFunctionSpace.cpp:94
MultiMeshFunctionSpace(std::shared_ptr< const MultiMesh > multimesh)
Create multimesh function space on multimesh (shared pointer version)
Definition: MultiMeshFunctionSpace.cpp:38
void lock_inactive_dofs(GenericMatrix &A, GenericVector &b) const
Lock inactive dofs of a system.
Definition: MultiMeshFunctionSpace.cpp:169
This class defines a common interface for matrices.
Definition: GenericMatrix.h:46
std::size_t num_parts() const
Definition: MultiMeshFunctionSpace.cpp:74
Definition: MultiMeshFunctionSpace.h:47
~MultiMeshFunctionSpace()
Destructor.
Definition: MultiMeshFunctionSpace.cpp:51
This class defines a common interface for vectors.
Definition: GenericVector.h:47
Definition: MultiMeshSubSpace.h:42