21 #ifndef __MULTI_MESH_FORM_H 22 #define __MULTI_MESH_FORM_H 31 class MultiMeshFunctionSpace;
32 class MultiMeshFunction;
55 MultiMeshForm(std::shared_ptr<const MultiMeshFunctionSpace> function_space_0,
56 std::shared_ptr<const MultiMeshFunctionSpace> function_space_1);
66 std::size_t
rank()
const;
78 std::shared_ptr<const MultiMesh>
multimesh()
const;
84 std::shared_ptr<const Form>
part(std::size_t i)
const;
93 std::shared_ptr<const MultiMeshFunctionSpace>
function_space(std::size_t i)
const;
99 void add(std::shared_ptr<const Form> form);
109 std::shared_ptr<const MultiMeshFunction> coefficient);
126 std::shared_ptr<const MultiMesh> _multimesh;
129 std::vector<std::shared_ptr<const MultiMeshFunctionSpace>> _function_spaces;
132 std::vector<std::shared_ptr<const Form>> _forms;
135 std::map<std::size_t, std::shared_ptr<const MultiMeshFunction>> _multimesh_coefficients;