31 #include <dolfin/common/Hierarchical.h> 32 #include <dolfin/common/types.h> 45 class GenericFunction;
47 template <
typename T>
class MeshFunction;
95 Form(std::size_t rank, std::size_t num_coefficients);
103 Form(std::shared_ptr<const ufc::form> ufc_form,
104 std::vector<std::shared_ptr<const FunctionSpace>> function_spaces);
114 std::size_t rank()
const;
120 std::size_t num_coefficients()
const;
127 std::size_t original_coefficient_position(std::size_t i)
const;
137 std::vector<std::size_t> coloring(std::size_t entity_dim)
const;
144 void set_mesh(std::shared_ptr<const Mesh> mesh);
150 std::shared_ptr<const Mesh> mesh()
const;
159 std::shared_ptr<const FunctionSpace> function_space(std::size_t i)
const;
165 std::vector<std::shared_ptr<const FunctionSpace>> function_spaces()
const;
173 void set_coefficient(std::size_t i,
174 std::shared_ptr<const GenericFunction> coefficient);
182 void set_coefficient(std::string name,
183 std::shared_ptr<const GenericFunction> coefficient);
191 void set_coefficients(std::map<std::string,
192 std::shared_ptr<const GenericFunction>> coefficients);
207 void set_some_coefficients(std::map<std::string,
208 std::shared_ptr<const GenericFunction>> coefficients);
217 std::shared_ptr<const GenericFunction> coefficient(std::size_t i)
const;
226 std::shared_ptr<const GenericFunction> coefficient(std::string name)
const;
232 std::vector<std::shared_ptr<const GenericFunction>> coefficients()
const;
241 virtual std::size_t coefficient_number(
const std::string & name)
const;
250 virtual std::string coefficient_name(std::size_t i)
const;
257 std::shared_ptr<const MeshFunction<std::size_t>> cell_domains()
const;
264 std::shared_ptr<const MeshFunction<std::size_t>>
265 exterior_facet_domains()
const;
272 std::shared_ptr<const MeshFunction<std::size_t>>
273 interior_facet_domains()
const;
280 std::shared_ptr<const MeshFunction<std::size_t>> vertex_domains()
const;
311 std::shared_ptr<const ufc::form> ufc_form()
const;
323 std::shared_ptr<const MeshFunction<std::size_t>>
dx;
325 std::shared_ptr<const MeshFunction<std::size_t>>
ds;
327 std::shared_ptr<const MeshFunction<std::size_t>>
dS;
329 std::shared_ptr<const MeshFunction<std::size_t>>
dP;
334 std::shared_ptr<const ufc::form> _ufc_form;
337 std::vector<std::shared_ptr<const FunctionSpace>> _function_spaces;
340 std::vector<std::shared_ptr<const GenericFunction>> _coefficients;
343 std::shared_ptr<const Mesh> _mesh;
347 const std::size_t _rank;
Definition: Hierarchical.h:43
Definition: Extrapolation.h:34
Definition: Equation.h:40