[cig-commits] commit: updated and recompiled forms for MADDs-5a FFC 0.7.1
Mercurial
hg at geodynamics.org
Wed Dec 9 20:51:18 PST 2009
changeset: 103:0b9832b2bf6b
user: Marc Spiegelman <mspieg at ldeo.columbia.edu>
date: Sun Dec 06 14:03:20 2009 -0500
files: MADDs-5/MADDs-5a/cpp/MagmaEquations.h MADDs-5/MADDs-5a/cpp/MeltFlux.h MADDs-5/MADDs-5a/cpp/SemiLagrangianRHS.h MADDs-5/MADDs-5a/cpp/forms/MagmaEquations.form MADDs-5/MADDs-5a/cpp/forms/MagmaEquations_P2.ufl MADDs-5/MADDs-5a/cpp/forms/MeltFlux.form MADDs-5/MADDs-5a/cpp/forms/MeltFlux_P2.ufl MADDs-5/MADDs-5a/cpp/forms/Projection.form MADDs-5/MADDs-5a/cpp/forms/Projection_P2.ufl MADDs-5/MADDs-5a/cpp/forms/SemiLagrangianRHS.form
description:
updated and recompiled forms for MADDs-5a FFC 0.7.1
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/MagmaEquations.h
--- a/MADDs-5/MADDs-5a/cpp/MagmaEquations.h Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/MagmaEquations.h Sun Dec 06 14:03:20 2009 -0500
@@ -1,5 +1,5 @@
// This code conforms with the UFC specification version 1.0
-// and was automatically generated by FFC version 0.6.2.
+// and was automatically generated by FFC version 0.7.1.
//
// Warning: This code was generated with the option '-l dolfin'
// and contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -14,2468 +14,2069 @@
/// This class defines the interface for a finite element.
-class UFC_MagmaEquationsBilinearForm_finite_element_0_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_0_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_0_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_0_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_0_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_0_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_1_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_1_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_1_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_1_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_1_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_1_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_2_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_2_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_2_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_2_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_2_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_2_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_2: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_2();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_2();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_3: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_3();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_3();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_4: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_4();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_4();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_5_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_5_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_5_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_5_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_5_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_5_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_5: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_5();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_5();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_6: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_6();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_6();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_7: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_7();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_7();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsBilinearForm_finite_element_8: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_finite_element_8();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_finite_element_8();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_0_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_0_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_0_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_0_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_0_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_0_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_1_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_1_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_1_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_1_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_1_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_1_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_2_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_2_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_2_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_2_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_2_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_2_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_2: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_2();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_2();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_3: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_3();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_3();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_4: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_4();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_4();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_5_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_5_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_5_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_5_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_5_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_5_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_5: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_5();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_5();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_6: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_6();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_6();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_7: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_7();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_7();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsBilinearForm_dof_map_8: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_dof_map_8();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_dof_map_8();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+class magmaequations_0_finite_element_0_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_0_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_0_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_0_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_0_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_0_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_1_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_1_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_1_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_1_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_1_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_1_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_2_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_2_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_2_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_2_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_2_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_2_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_2: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_2();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_2();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_3: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_3();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_3();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_4: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_4();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_4();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_5: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_5();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_5();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_6: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_6();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_6();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_0_finite_element_7: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_0_finite_element_7();
+
+ /// Destructor
+ virtual ~magmaequations_0_finite_element_7();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_0_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_0_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_0_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_0_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_0_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_0_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_1_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_1_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_1_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_1_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_1_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_1_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_2_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_2_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_2_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_2_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_2_1();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_2_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_2: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_2();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_2();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_3: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_3();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_3();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_4: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_4();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_4();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_5: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_5();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_5();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_6: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_6();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_6();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_0_dof_map_7: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_0_dof_map_7();
+
+ /// Destructor
+ virtual ~magmaequations_0_dof_map_7();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2515,15 +2116,15 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MagmaEquationsBilinearForm_cell_integral_0_quadrature: public ufc::cell_integral
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_cell_integral_0_quadrature();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_cell_integral_0_quadrature();
+class magmaequations_0_cell_integral_0_quadrature: public ufc::cell_integral
+{
+public:
+
+ /// Constructor
+ magmaequations_0_cell_integral_0_quadrature();
+
+ /// Destructor
+ virtual ~magmaequations_0_cell_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -2536,19 +2137,19 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MagmaEquationsBilinearForm_cell_integral_0: public ufc::cell_integral
-{
-private:
-
- UFC_MagmaEquationsBilinearForm_cell_integral_0_quadrature integral_0_quadrature;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_cell_integral_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_cell_integral_0();
+class magmaequations_0_cell_integral_0: public ufc::cell_integral
+{
+private:
+
+ magmaequations_0_cell_integral_0_quadrature integral_0_quadrature;
+
+public:
+
+ /// Constructor
+ magmaequations_0_cell_integral_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_cell_integral_0();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -2561,15 +2162,15 @@ public:
/// exterior facet tensor corresponding to the local contribution to
/// a form from the integral over an exterior facet.
-class UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0_quadrature: public ufc::exterior_facet_integral
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0_quadrature();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0_quadrature();
+class magmaequations_0_exterior_facet_integral_0_quadrature: public ufc::exterior_facet_integral
+{
+public:
+
+ /// Constructor
+ magmaequations_0_exterior_facet_integral_0_quadrature();
+
+ /// Destructor
+ virtual ~magmaequations_0_exterior_facet_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local exterior facet
virtual void tabulate_tensor(double* A,
@@ -2583,19 +2184,19 @@ public:
/// exterior facet tensor corresponding to the local contribution to
/// a form from the integral over an exterior facet.
-class UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0: public ufc::exterior_facet_integral
-{
-private:
-
- UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0_quadrature integral_0_quadrature;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm_exterior_facet_integral_0();
+class magmaequations_0_exterior_facet_integral_0: public ufc::exterior_facet_integral
+{
+private:
+
+ magmaequations_0_exterior_facet_integral_0_quadrature integral_0_quadrature;
+
+public:
+
+ /// Constructor
+ magmaequations_0_exterior_facet_integral_0();
+
+ /// Destructor
+ virtual ~magmaequations_0_exterior_facet_integral_0();
/// Tabulate the tensor for the contribution from a local exterior facet
virtual void tabulate_tensor(double* A,
@@ -2620,15 +2221,15 @@ public:
/// sequence of basis functions of Vj and w1, w2, ..., wn are given
/// fixed functions (coefficients).
-class UFC_MagmaEquationsBilinearForm: public ufc::form
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsBilinearForm();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsBilinearForm();
+class magmaequations_form_0: public ufc::form
+{
+public:
+
+ /// Constructor
+ magmaequations_form_0();
+
+ /// Destructor
+ virtual ~magmaequations_form_0();
/// Return a string identifying the form
virtual const char* signature() const;
@@ -2641,10 +2242,10 @@ public:
/// Return the number of cell integrals
virtual unsigned int num_cell_integrals() const;
-
+
/// Return the number of exterior facet integrals
virtual unsigned int num_exterior_facet_integrals() const;
-
+
/// Return the number of interior facet integrals
virtual unsigned int num_interior_facet_integrals() const;
@@ -2667,2174 +2268,1769 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MagmaEquationsLinearForm_finite_element_0_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_0_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_0_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_0_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_0_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_0_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_1_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_1_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_1_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_1_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_1_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_1_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_2: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_2();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_2();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_3: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_3();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_3();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_4_0: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_4_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_4_0();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_4_1: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_4_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_4_1();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_4: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_4();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_4();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_5: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_5();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_5();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_6: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_6();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_6();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_7: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_7();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_7();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a finite element.
-
-class UFC_MagmaEquationsLinearForm_finite_element_8: public ufc::finite_element
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_finite_element_8();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_finite_element_8();
-
- /// Return a string identifying the finite element
- virtual const char* signature() const;
-
- /// Return the cell shape
- virtual ufc::shape cell_shape() const;
-
- /// Return the dimension of the finite element function space
- virtual unsigned int space_dimension() const;
-
- /// Return the rank of the value space
- virtual unsigned int value_rank() const;
-
- /// Return the dimension of the value space for axis i
- virtual unsigned int value_dimension(unsigned int i) const;
-
- /// Evaluate basis function i at given point in cell
- virtual void evaluate_basis(unsigned int i,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate all basis functions at given point in cell
- virtual void evaluate_basis_all(double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of basis function i at given point in cell
- virtual void evaluate_basis_derivatives(unsigned int i,
- unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate order n derivatives of all basis functions at given point in cell
- virtual void evaluate_basis_derivatives_all(unsigned int n,
- double* values,
- const double* coordinates,
- const ufc::cell& c) const;
-
- /// Evaluate linear functional for dof i on the function f
- virtual double evaluate_dof(unsigned int i,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Evaluate linear functionals for all dofs on the function f
- virtual void evaluate_dofs(double* values,
- const ufc::function& f,
- const ufc::cell& c) const;
-
- /// Interpolate vertex values from dof values
- virtual void interpolate_vertex_values(double* vertex_values,
- const double* dof_values,
- const ufc::cell& c) const;
-
- /// Return the number of sub elements (for a mixed element)
- virtual unsigned int num_sub_elements() const;
-
- /// Create a new finite element for sub element i (for a mixed element)
- virtual ufc::finite_element* create_sub_element(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_0_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_0_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_0_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_0_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_0_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_0_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_1_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_1_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_1_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_1_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_1_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_1_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_2: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_2();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_2();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_3: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_3();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_3();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_4_0: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_4_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_4_0();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_4_1: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_4_1();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_4_1();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_4: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_4();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_4();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_5: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_5();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_5();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_6: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_6();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_6();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_7: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_7();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_7();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
-
- // Return the geometric dimension of the coordinates this dof map provides
- virtual unsigned int geometric_dimension() const;
-
- /// Return the number of dofs on each cell facet
- virtual unsigned int num_facet_dofs() const;
-
- /// Return the number of dofs associated with each cell entity of dimension d
- virtual unsigned int num_entity_dofs(unsigned int d) const;
-
- /// Tabulate the local-to-global mapping of dofs on a cell
- virtual void tabulate_dofs(unsigned int* dofs,
- const ufc::mesh& m,
- const ufc::cell& c) const;
-
- /// Tabulate the local-to-local mapping from facet dofs to cell dofs
- virtual void tabulate_facet_dofs(unsigned int* dofs,
- unsigned int facet) const;
-
- /// Tabulate the local-to-local mapping of dofs on entity (d, i)
- virtual void tabulate_entity_dofs(unsigned int* dofs,
- unsigned int d, unsigned int i) const;
-
- /// Tabulate the coordinates of all dofs on a cell
- virtual void tabulate_coordinates(double** coordinates,
- const ufc::cell& c) const;
-
- /// Return the number of sub dof maps (for a mixed element)
- virtual unsigned int num_sub_dof_maps() const;
-
- /// Create a new dof_map for sub dof map i (for a mixed element)
- virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
-
-};
-
-/// This class defines the interface for a local-to-global mapping of
-/// degrees of freedom (dofs).
-
-class UFC_MagmaEquationsLinearForm_dof_map_8: public ufc::dof_map
-{
-private:
-
- unsigned int __global_dimension;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_dof_map_8();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_dof_map_8();
-
- /// Return a string identifying the dof map
- virtual const char* signature() const;
-
- /// Return true iff mesh entities of topological dimension d are needed
- virtual bool needs_mesh_entities(unsigned int d) const;
-
- /// Initialize dof map for mesh (return true iff init_cell() is needed)
- virtual bool init_mesh(const ufc::mesh& m);
-
- /// Initialize dof map for given cell
- virtual void init_cell(const ufc::mesh& m,
- const ufc::cell& c);
-
- /// Finish initialization of dof map for cells
- virtual void init_cell_finalize();
-
- /// Return the dimension of the global finite element function space
- virtual unsigned int global_dimension() const;
-
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+class magmaequations_1_finite_element_0_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_0_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_0_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_0_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_0_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_0_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_1_0: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_1_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_1_0();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_1_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_1_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_1_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_1: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_1();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_2: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_2();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_2();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_3: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_3();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_3();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_4: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_4();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_4();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_5: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_5();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_5();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_6: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_6();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_6();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a finite element.
+
+class magmaequations_1_finite_element_7: public ufc::finite_element
+{
+public:
+
+ /// Constructor
+ magmaequations_1_finite_element_7();
+
+ /// Destructor
+ virtual ~magmaequations_1_finite_element_7();
+
+ /// Return a string identifying the finite element
+ virtual const char* signature() const;
+
+ /// Return the cell shape
+ virtual ufc::shape cell_shape() const;
+
+ /// Return the dimension of the finite element function space
+ virtual unsigned int space_dimension() const;
+
+ /// Return the rank of the value space
+ virtual unsigned int value_rank() const;
+
+ /// Return the dimension of the value space for axis i
+ virtual unsigned int value_dimension(unsigned int i) const;
+
+ /// Evaluate basis function i at given point in cell
+ virtual void evaluate_basis(unsigned int i,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate all basis functions at given point in cell
+ virtual void evaluate_basis_all(double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of basis function i at given point in cell
+ virtual void evaluate_basis_derivatives(unsigned int i,
+ unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate order n derivatives of all basis functions at given point in cell
+ virtual void evaluate_basis_derivatives_all(unsigned int n,
+ double* values,
+ const double* coordinates,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functional for dof i on the function f
+ virtual double evaluate_dof(unsigned int i,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Evaluate linear functionals for all dofs on the function f
+ virtual void evaluate_dofs(double* values,
+ const ufc::function& f,
+ const ufc::cell& c) const;
+
+ /// Interpolate vertex values from dof values
+ virtual void interpolate_vertex_values(double* vertex_values,
+ const double* dof_values,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub elements (for a mixed element)
+ virtual unsigned int num_sub_elements() const;
+
+ /// Create a new finite element for sub element i (for a mixed element)
+ virtual ufc::finite_element* create_sub_element(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_0_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_0_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_0_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_0_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_0_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_0_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_1_0: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_1_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_1_0();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_1_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_1_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_1_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_1: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_1();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_1();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_2: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_2();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_2();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_3: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_3();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_3();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_4: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_4();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_4();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_5: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_5();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_5();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_6: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_6();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_6();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
+
+ // Return the geometric dimension of the coordinates this dof map provides
+ virtual unsigned int geometric_dimension() const;
+
+ /// Return the number of dofs on each cell facet
+ virtual unsigned int num_facet_dofs() const;
+
+ /// Return the number of dofs associated with each cell entity of dimension d
+ virtual unsigned int num_entity_dofs(unsigned int d) const;
+
+ /// Tabulate the local-to-global mapping of dofs on a cell
+ virtual void tabulate_dofs(unsigned int* dofs,
+ const ufc::mesh& m,
+ const ufc::cell& c) const;
+
+ /// Tabulate the local-to-local mapping from facet dofs to cell dofs
+ virtual void tabulate_facet_dofs(unsigned int* dofs,
+ unsigned int facet) const;
+
+ /// Tabulate the local-to-local mapping of dofs on entity (d, i)
+ virtual void tabulate_entity_dofs(unsigned int* dofs,
+ unsigned int d, unsigned int i) const;
+
+ /// Tabulate the coordinates of all dofs on a cell
+ virtual void tabulate_coordinates(double** coordinates,
+ const ufc::cell& c) const;
+
+ /// Return the number of sub dof maps (for a mixed element)
+ virtual unsigned int num_sub_dof_maps() const;
+
+ /// Create a new dof_map for sub dof map i (for a mixed element)
+ virtual ufc::dof_map* create_sub_dof_map(unsigned int i) const;
+
+};
+
+/// This class defines the interface for a local-to-global mapping of
+/// degrees of freedom (dofs).
+
+class magmaequations_1_dof_map_7: public ufc::dof_map
+{
+private:
+
+ unsigned int __global_dimension;
+
+public:
+
+ /// Constructor
+ magmaequations_1_dof_map_7();
+
+ /// Destructor
+ virtual ~magmaequations_1_dof_map_7();
+
+ /// Return a string identifying the dof map
+ virtual const char* signature() const;
+
+ /// Return true iff mesh entities of topological dimension d are needed
+ virtual bool needs_mesh_entities(unsigned int d) const;
+
+ /// Initialize dof map for mesh (return true iff init_cell() is needed)
+ virtual bool init_mesh(const ufc::mesh& m);
+
+ /// Initialize dof map for given cell
+ virtual void init_cell(const ufc::mesh& m,
+ const ufc::cell& c);
+
+ /// Finish initialization of dof map for cells
+ virtual void init_cell_finalize();
+
+ /// Return the dimension of the global finite element function space
+ virtual unsigned int global_dimension() const;
+
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -4874,15 +4070,15 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MagmaEquationsLinearForm_cell_integral_0_quadrature: public ufc::cell_integral
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_cell_integral_0_quadrature();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_cell_integral_0_quadrature();
+class magmaequations_1_cell_integral_0_quadrature: public ufc::cell_integral
+{
+public:
+
+ /// Constructor
+ magmaequations_1_cell_integral_0_quadrature();
+
+ /// Destructor
+ virtual ~magmaequations_1_cell_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -4895,19 +4091,19 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MagmaEquationsLinearForm_cell_integral_0: public ufc::cell_integral
-{
-private:
-
- UFC_MagmaEquationsLinearForm_cell_integral_0_quadrature integral_0_quadrature;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_cell_integral_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_cell_integral_0();
+class magmaequations_1_cell_integral_0: public ufc::cell_integral
+{
+private:
+
+ magmaequations_1_cell_integral_0_quadrature integral_0_quadrature;
+
+public:
+
+ /// Constructor
+ magmaequations_1_cell_integral_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_cell_integral_0();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -4920,15 +4116,15 @@ public:
/// exterior facet tensor corresponding to the local contribution to
/// a form from the integral over an exterior facet.
-class UFC_MagmaEquationsLinearForm_exterior_facet_integral_0_quadrature: public ufc::exterior_facet_integral
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_exterior_facet_integral_0_quadrature();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_exterior_facet_integral_0_quadrature();
+class magmaequations_1_exterior_facet_integral_0_quadrature: public ufc::exterior_facet_integral
+{
+public:
+
+ /// Constructor
+ magmaequations_1_exterior_facet_integral_0_quadrature();
+
+ /// Destructor
+ virtual ~magmaequations_1_exterior_facet_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local exterior facet
virtual void tabulate_tensor(double* A,
@@ -4942,19 +4138,19 @@ public:
/// exterior facet tensor corresponding to the local contribution to
/// a form from the integral over an exterior facet.
-class UFC_MagmaEquationsLinearForm_exterior_facet_integral_0: public ufc::exterior_facet_integral
-{
-private:
-
- UFC_MagmaEquationsLinearForm_exterior_facet_integral_0_quadrature integral_0_quadrature;
-
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm_exterior_facet_integral_0();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm_exterior_facet_integral_0();
+class magmaequations_1_exterior_facet_integral_0: public ufc::exterior_facet_integral
+{
+private:
+
+ magmaequations_1_exterior_facet_integral_0_quadrature integral_0_quadrature;
+
+public:
+
+ /// Constructor
+ magmaequations_1_exterior_facet_integral_0();
+
+ /// Destructor
+ virtual ~magmaequations_1_exterior_facet_integral_0();
/// Tabulate the tensor for the contribution from a local exterior facet
virtual void tabulate_tensor(double* A,
@@ -4979,15 +4175,15 @@ public:
/// sequence of basis functions of Vj and w1, w2, ..., wn are given
/// fixed functions (coefficients).
-class UFC_MagmaEquationsLinearForm: public ufc::form
-{
-public:
-
- /// Constructor
- UFC_MagmaEquationsLinearForm();
-
- /// Destructor
- virtual ~UFC_MagmaEquationsLinearForm();
+class magmaequations_form_1: public ufc::form
+{
+public:
+
+ /// Constructor
+ magmaequations_form_1();
+
+ /// Destructor
+ virtual ~magmaequations_form_1();
/// Return a string identifying the form
virtual const char* signature() const;
@@ -5000,10 +4196,10 @@ public:
/// Return the number of cell integrals
virtual unsigned int num_cell_integrals() const;
-
+
/// Return the number of exterior facet integrals
virtual unsigned int num_exterior_facet_integrals() const;
-
+
/// Return the number of interior facet integrals
virtual unsigned int num_interior_facet_integrals() const;
@@ -5026,1058 +4222,801 @@ public:
// DOLFIN wrappers
-#include <dolfin/fem/Form.h>
+// Standard library includes
+#include <string>
+
+// DOLFIN includes
+#include <dolfin/common/NoDeleter.h>
#include <dolfin/fem/FiniteElement.h>
#include <dolfin/fem/DofMap.h>
-#include <dolfin/function/Coefficient.h>
-#include <dolfin/function/Function.h>
+#include <dolfin/fem/Form.h>
#include <dolfin/function/FunctionSpace.h>
-
-class MagmaEquationsBilinearFormFunctionSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormFunctionSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormFunctionSpace1 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormFunctionSpace1(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace1 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace1(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace2 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace2(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace3 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace3(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_4()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_4()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace4 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace4(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_7()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_7()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace5 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace5(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_7()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_7()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficientSpace6 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsBilinearFormCoefficientSpace6(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormFunctionSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormFunctionSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace1 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace1(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace2 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace2(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace3 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace3(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_4()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_4()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace4 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace4(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_7()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_7()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace5 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace5(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_6()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_6()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace6 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace6(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_7()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_7()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsLinearFormCoefficientSpace7 : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsLinearFormCoefficientSpace7(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_8()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_8()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsTestSpace : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsTestSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsTrialSpace : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsTrialSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsFunctionSpace : public dolfin::FunctionSpace
-{
-public:
-
- MagmaEquationsFunctionSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MagmaEquationsLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MagmaEquationsLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class MagmaEquationsBilinearFormCoefficient0 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient0(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient0() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient0& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace0(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
+#include <dolfin/function/GenericFunction.h>
+#include <dolfin/function/CoefficientAssigner.h>
+
+namespace MagmaEquations
+{
+
+class CoefficientSpace_Gamma: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_Gamma(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_5()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_Gamma(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_5()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_Gamma(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_5()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_Gamma(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_5()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_Gamma()
+ {
+ }
+
+};
+
+class CoefficientSpace_PStar: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_PStar(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_6()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_6()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_PStar(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_6()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_6()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_PStar(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_6()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_6()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_PStar(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_6()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_6()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_PStar()
+ {
+ }
+
+};
+
+class CoefficientSpace_dt: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_dt(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_2()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_dt(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_2()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_dt(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_2()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_dt(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_2()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_dt()
+ {
+ }
+
+};
+
+class CoefficientSpace_eps: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_eps(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_7()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_7()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_eps(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_7()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_7()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_eps(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_7()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_7()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_eps(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_7()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_7()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_eps()
+ {
+ }
+
+};
+
+class CoefficientSpace_hsquared: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_hsquared(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_3()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_hsquared(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_3()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_hsquared(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_3()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_hsquared(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_3()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_hsquared()
+ {
+ }
+
+};
+
+class CoefficientSpace_iEta: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_iEta(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_4()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_iEta(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_4()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_iEta(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_4()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_iEta(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_4()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_iEta()
+ {
+ }
+
+};
+
+class CoefficientSpace_u: public dolfin::FunctionSpace
+{
+public:
+
+ CoefficientSpace_u(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_1()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_u(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_1()), mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_u(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_u(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_u()
+ {
+ }
+
+};
+
+class Form_0_FunctionSpace_0: public dolfin::FunctionSpace
+{
+public:
+
+ Form_0_FunctionSpace_0(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_0(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_0(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_0(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_0_FunctionSpace_0()
+ {
+ }
+
+};
+
+class Form_0_FunctionSpace_1: public dolfin::FunctionSpace
+{
+public:
+
+ Form_0_FunctionSpace_1(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_1()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_1(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_1()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_1(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_1(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_0_FunctionSpace_1()
+ {
+ }
+
+};
+
+typedef CoefficientSpace_u Form_0_FunctionSpace_2;
+
+typedef CoefficientSpace_dt Form_0_FunctionSpace_3;
+
+typedef CoefficientSpace_hsquared Form_0_FunctionSpace_4;
+
+typedef CoefficientSpace_iEta Form_0_FunctionSpace_5;
+
+typedef CoefficientSpace_PStar Form_0_FunctionSpace_6;
+
+typedef CoefficientSpace_eps Form_0_FunctionSpace_7;
+
+class Form_0: public dolfin::Form
+{
+public:
+
+ // Constructor
+ Form_0(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+ _function_spaces[1] = reference_to_no_delete_pointer(V1);
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Constructor
+ Form_0(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1, const dolfin::GenericFunction& u, const dolfin::GenericFunction& dt, const dolfin::GenericFunction& hsquared, const dolfin::GenericFunction& iEta, const dolfin::GenericFunction& PStar, const dolfin::GenericFunction& eps):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+ _function_spaces[1] = reference_to_no_delete_pointer(V1);
+
+ this->u = u;
+ this->dt = dt;
+ this->hsquared = hsquared;
+ this->iEta = iEta;
+ this->PStar = PStar;
+ this->eps = eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Constructor
+ Form_0(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1, boost::shared_ptr<const dolfin::GenericFunction> u, boost::shared_ptr<const dolfin::GenericFunction> dt, boost::shared_ptr<const dolfin::GenericFunction> hsquared, boost::shared_ptr<const dolfin::GenericFunction> iEta, boost::shared_ptr<const dolfin::GenericFunction> PStar, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+ _function_spaces[1] = reference_to_no_delete_pointer(V1);
+
+ this->u = *u;
+ this->dt = *dt;
+ this->hsquared = *hsquared;
+ this->iEta = *iEta;
+ this->PStar = *PStar;
+ this->eps = *eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = V0;
+ _function_spaces[1] = V1;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1, const dolfin::GenericFunction& u, const dolfin::GenericFunction& dt, const dolfin::GenericFunction& hsquared, const dolfin::GenericFunction& iEta, const dolfin::GenericFunction& PStar, const dolfin::GenericFunction& eps):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = V0;
+ _function_spaces[1] = V1;
+
+ this->u = u;
+ this->dt = dt;
+ this->hsquared = hsquared;
+ this->iEta = iEta;
+ this->PStar = PStar;
+ this->eps = eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1, boost::shared_ptr<const dolfin::GenericFunction> u, boost::shared_ptr<const dolfin::GenericFunction> dt, boost::shared_ptr<const dolfin::GenericFunction> hsquared, boost::shared_ptr<const dolfin::GenericFunction> iEta, boost::shared_ptr<const dolfin::GenericFunction> PStar, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(2, 6), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), PStar(*this, 4), eps(*this, 5)
+ {
+ _function_spaces[0] = V0;
+ _function_spaces[1] = V1;
+
+ this->u = *u;
+ this->dt = *dt;
+ this->hsquared = *hsquared;
+ this->iEta = *iEta;
+ this->PStar = *PStar;
+ this->eps = *eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_0());
+ }
+
+ // Destructor
+ ~Form_0()
+ {}
+
+ /// Return the number of the coefficient with this name
+ virtual dolfin::uint coefficient_number(const std::string& name) const
+ {
+ if (name == "u")
+ return 0;
+ else if (name == "dt")
+ return 1;
+ else if (name == "hsquared")
+ return 2;
+ else if (name == "iEta")
+ return 3;
+ else if (name == "PStar")
+ return 4;
+ else if (name == "eps")
+ return 5;
+
+ dolfin::error("Invalid coefficient.");
return 0;
}
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "w0";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient1 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient1(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient1() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient1& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace1(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 1;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "dt";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient2 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient2(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient2() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient2& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace2(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 2;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "hsquared";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient3 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient3(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient3() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient3& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace3(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 3;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "n";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient4 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient4(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient4() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient4& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace4(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 4;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "iEta";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient5 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient5(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient5() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient5& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace5(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 5;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "PStar";
- }
-
-};
-class MagmaEquationsBilinearFormCoefficient6 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsBilinearFormCoefficient6(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsBilinearFormCoefficient6() {}
-
- // Attach function to coefficient
- const MagmaEquationsBilinearFormCoefficient6& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsBilinearFormCoefficientSpace6(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 6;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "eps";
- }
-
-};
-class MagmaEquationsBilinearForm : public dolfin::Form
-{
-public:
-
- // Create form on given function space(s)
- MagmaEquationsBilinearForm(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1) : dolfin::Form(), w0(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), PStar(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
- boost::shared_ptr<const dolfin::FunctionSpace> _V1(&V1, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V1);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsBilinearForm());
- }
-
- // Create form on given function space(s) (shared data)
- MagmaEquationsBilinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1) : dolfin::Form(), w0(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), PStar(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
- _function_spaces.push_back(V1);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsBilinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s)
- MagmaEquationsBilinearForm(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4, dolfin::Function& w5, dolfin::Function& w6) : dolfin::Form(), w0(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), PStar(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
- boost::shared_ptr<const dolfin::FunctionSpace> _V1(&V1, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V1);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->w0 = w0;
- this->dt = w1;
- this->hsquared = w2;
- this->n = w3;
- this->iEta = w4;
- this->PStar = w5;
- this->eps = w6;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsBilinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s) (shared data)
- MagmaEquationsBilinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4, dolfin::Function& w5, dolfin::Function& w6) : dolfin::Form(), w0(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), PStar(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
- _function_spaces.push_back(V1);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->w0 = w0;
- this->dt = w1;
- this->hsquared = w2;
- this->n = w3;
- this->iEta = w4;
- this->PStar = w5;
- this->eps = w6;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsBilinearForm());
+
+ /// Return the name of the coefficient with this number
+ virtual std::string coefficient_name(dolfin::uint i) const
+ {
+ switch (i)
+ {
+ case 0:
+ return "u";
+ case 1:
+ return "dt";
+ case 2:
+ return "hsquared";
+ case 3:
+ return "iEta";
+ case 4:
+ return "PStar";
+ case 5:
+ return "eps";
+ }
+
+ dolfin::error("Invalid coefficient.");
+ return "unnamed";
+ }
+
+ // Typedefs
+ typedef Form_0_FunctionSpace_0 TestSpace;
+ typedef Form_0_FunctionSpace_1 TrialSpace;
+ typedef Form_0_FunctionSpace_2 CoefficientSpace_u;
+ typedef Form_0_FunctionSpace_3 CoefficientSpace_dt;
+ typedef Form_0_FunctionSpace_4 CoefficientSpace_hsquared;
+ typedef Form_0_FunctionSpace_5 CoefficientSpace_iEta;
+ typedef Form_0_FunctionSpace_6 CoefficientSpace_PStar;
+ typedef Form_0_FunctionSpace_7 CoefficientSpace_eps;
+
+ // Coefficients
+ dolfin::CoefficientAssigner u;
+ dolfin::CoefficientAssigner dt;
+ dolfin::CoefficientAssigner hsquared;
+ dolfin::CoefficientAssigner iEta;
+ dolfin::CoefficientAssigner PStar;
+ dolfin::CoefficientAssigner eps;
+};
+
+class Form_1_FunctionSpace_0: public dolfin::FunctionSpace
+{
+public:
+
+ Form_1_FunctionSpace_0(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new magmaequations_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new magmaequations_1_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_1_FunctionSpace_0()
+ {
+ }
+
+};
+
+typedef CoefficientSpace_u Form_1_FunctionSpace_1;
+
+typedef CoefficientSpace_dt Form_1_FunctionSpace_2;
+
+typedef CoefficientSpace_hsquared Form_1_FunctionSpace_3;
+
+typedef CoefficientSpace_iEta Form_1_FunctionSpace_4;
+
+typedef CoefficientSpace_Gamma Form_1_FunctionSpace_5;
+
+typedef CoefficientSpace_PStar Form_1_FunctionSpace_6;
+
+typedef CoefficientSpace_eps Form_1_FunctionSpace_7;
+
+class Form_1: public dolfin::Form
+{
+public:
+
+ // Constructor
+ Form_1(const dolfin::FunctionSpace& V0):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
+ }
+
+ // Constructor
+ Form_1(const dolfin::FunctionSpace& V0, const dolfin::GenericFunction& u, const dolfin::GenericFunction& dt, const dolfin::GenericFunction& hsquared, const dolfin::GenericFunction& iEta, const dolfin::GenericFunction& Gamma, const dolfin::GenericFunction& PStar, const dolfin::GenericFunction& eps):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+
+ this->u = u;
+ this->dt = dt;
+ this->hsquared = hsquared;
+ this->iEta = iEta;
+ this->Gamma = Gamma;
+ this->PStar = PStar;
+ this->eps = eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
+ }
+
+ // Constructor
+ Form_1(const dolfin::FunctionSpace& V0, boost::shared_ptr<const dolfin::GenericFunction> u, boost::shared_ptr<const dolfin::GenericFunction> dt, boost::shared_ptr<const dolfin::GenericFunction> hsquared, boost::shared_ptr<const dolfin::GenericFunction> iEta, boost::shared_ptr<const dolfin::GenericFunction> Gamma, boost::shared_ptr<const dolfin::GenericFunction> PStar, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+
+ this->u = *u;
+ this->dt = *dt;
+ this->hsquared = *hsquared;
+ this->iEta = *iEta;
+ this->Gamma = *Gamma;
+ this->PStar = *PStar;
+ this->eps = *eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
+ }
+
+ // Constructor
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = V0;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
+ }
+
+ // Constructor
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0, const dolfin::GenericFunction& u, const dolfin::GenericFunction& dt, const dolfin::GenericFunction& hsquared, const dolfin::GenericFunction& iEta, const dolfin::GenericFunction& Gamma, const dolfin::GenericFunction& PStar, const dolfin::GenericFunction& eps):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = V0;
+
+ this->u = u;
+ this->dt = dt;
+ this->hsquared = hsquared;
+ this->iEta = iEta;
+ this->Gamma = Gamma;
+ this->PStar = PStar;
+ this->eps = eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
+ }
+
+ // Constructor
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::GenericFunction> u, boost::shared_ptr<const dolfin::GenericFunction> dt, boost::shared_ptr<const dolfin::GenericFunction> hsquared, boost::shared_ptr<const dolfin::GenericFunction> iEta, boost::shared_ptr<const dolfin::GenericFunction> Gamma, boost::shared_ptr<const dolfin::GenericFunction> PStar, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(1, 7), u(*this, 0), dt(*this, 1), hsquared(*this, 2), iEta(*this, 3), Gamma(*this, 4), PStar(*this, 5), eps(*this, 6)
+ {
+ _function_spaces[0] = V0;
+
+ this->u = *u;
+ this->dt = *dt;
+ this->hsquared = *hsquared;
+ this->iEta = *iEta;
+ this->Gamma = *Gamma;
+ this->PStar = *PStar;
+ this->eps = *eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new magmaequations_form_1());
}
// Destructor
- ~MagmaEquationsBilinearForm() {}
+ ~Form_1()
+ {}
+
+ /// Return the number of the coefficient with this name
+ virtual dolfin::uint coefficient_number(const std::string& name) const
+ {
+ if (name == "u")
+ return 0;
+ else if (name == "dt")
+ return 1;
+ else if (name == "hsquared")
+ return 2;
+ else if (name == "iEta")
+ return 3;
+ else if (name == "Gamma")
+ return 4;
+ else if (name == "PStar")
+ return 5;
+ else if (name == "eps")
+ return 6;
+
+ dolfin::error("Invalid coefficient.");
+ return 0;
+ }
+
+ /// Return the name of the coefficient with this number
+ virtual std::string coefficient_name(dolfin::uint i) const
+ {
+ switch (i)
+ {
+ case 0:
+ return "u";
+ case 1:
+ return "dt";
+ case 2:
+ return "hsquared";
+ case 3:
+ return "iEta";
+ case 4:
+ return "Gamma";
+ case 5:
+ return "PStar";
+ case 6:
+ return "eps";
+ }
+
+ dolfin::error("Invalid coefficient.");
+ return "unnamed";
+ }
+
+ // Typedefs
+ typedef Form_1_FunctionSpace_0 TestSpace;
+ typedef Form_1_FunctionSpace_1 CoefficientSpace_u;
+ typedef Form_1_FunctionSpace_2 CoefficientSpace_dt;
+ typedef Form_1_FunctionSpace_3 CoefficientSpace_hsquared;
+ typedef Form_1_FunctionSpace_4 CoefficientSpace_iEta;
+ typedef Form_1_FunctionSpace_5 CoefficientSpace_Gamma;
+ typedef Form_1_FunctionSpace_6 CoefficientSpace_PStar;
+ typedef Form_1_FunctionSpace_7 CoefficientSpace_eps;
// Coefficients
- MagmaEquationsBilinearFormCoefficient0 w0;
- MagmaEquationsBilinearFormCoefficient1 dt;
- MagmaEquationsBilinearFormCoefficient2 hsquared;
- MagmaEquationsBilinearFormCoefficient3 n;
- MagmaEquationsBilinearFormCoefficient4 iEta;
- MagmaEquationsBilinearFormCoefficient5 PStar;
- MagmaEquationsBilinearFormCoefficient6 eps;
-
-};
-
-class MagmaEquationsLinearFormCoefficient0 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient0(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient0() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient0& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace0(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 0;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "w7";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient1 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient1(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient1() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient1& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace1(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 1;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "dt";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient2 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient2(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient2() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient2& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace2(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 2;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "hsquared";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient3 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient3(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient3() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient3& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace3(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 3;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "n";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient4 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient4(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient4() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient4& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace4(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 4;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "iEta";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient5 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient5(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient5() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient5& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace5(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 5;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "Gamma";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient6 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient6(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient6() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient6& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace6(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 6;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "PStar";
- }
-
-};
-class MagmaEquationsLinearFormCoefficient7 : public dolfin::Coefficient
-{
-public:
-
- // Constructor
- MagmaEquationsLinearFormCoefficient7(dolfin::Form& form) : dolfin::Coefficient(form) {}
-
- // Destructor
- ~MagmaEquationsLinearFormCoefficient7() {}
-
- // Attach function to coefficient
- const MagmaEquationsLinearFormCoefficient7& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MagmaEquationsLinearFormCoefficientSpace7(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 7;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "eps";
- }
-
-};
-class MagmaEquationsLinearForm : public dolfin::Form
-{
-public:
-
- // Create form on given function space(s)
- MagmaEquationsLinearForm(const dolfin::FunctionSpace& V0) : dolfin::Form(), w7(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), Gamma(*this), PStar(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsLinearForm());
- }
-
- // Create form on given function space(s) (shared data)
- MagmaEquationsLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0) : dolfin::Form(), w7(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), Gamma(*this), PStar(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsLinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s)
- MagmaEquationsLinearForm(const dolfin::FunctionSpace& V0, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4, dolfin::Function& w5, dolfin::Function& w6, dolfin::Function& w7) : dolfin::Form(), w7(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), Gamma(*this), PStar(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->w7 = w0;
- this->dt = w1;
- this->hsquared = w2;
- this->n = w3;
- this->iEta = w4;
- this->Gamma = w5;
- this->PStar = w6;
- this->eps = w7;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsLinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s) (shared data)
- MagmaEquationsLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4, dolfin::Function& w5, dolfin::Function& w6, dolfin::Function& w7) : dolfin::Form(), w7(*this), dt(*this), hsquared(*this), n(*this), iEta(*this), Gamma(*this), PStar(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->w7 = w0;
- this->dt = w1;
- this->hsquared = w2;
- this->n = w3;
- this->iEta = w4;
- this->Gamma = w5;
- this->PStar = w6;
- this->eps = w7;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MagmaEquationsLinearForm());
- }
-
- // Destructor
- ~MagmaEquationsLinearForm() {}
-
- // Coefficients
- MagmaEquationsLinearFormCoefficient0 w7;
- MagmaEquationsLinearFormCoefficient1 dt;
- MagmaEquationsLinearFormCoefficient2 hsquared;
- MagmaEquationsLinearFormCoefficient3 n;
- MagmaEquationsLinearFormCoefficient4 iEta;
- MagmaEquationsLinearFormCoefficient5 Gamma;
- MagmaEquationsLinearFormCoefficient6 PStar;
- MagmaEquationsLinearFormCoefficient7 eps;
-
-};
+ dolfin::CoefficientAssigner u;
+ dolfin::CoefficientAssigner dt;
+ dolfin::CoefficientAssigner hsquared;
+ dolfin::CoefficientAssigner iEta;
+ dolfin::CoefficientAssigner Gamma;
+ dolfin::CoefficientAssigner PStar;
+ dolfin::CoefficientAssigner eps;
+};
+
+// Class typedefs
+typedef Form_0 BilinearForm;
+typedef Form_1 LinearForm;
+typedef Form_0::TestSpace FunctionSpace;
+
+} // namespace MagmaEquations
#endif
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/MeltFlux.h
--- a/MADDs-5/MADDs-5a/cpp/MeltFlux.h Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/MeltFlux.h Sun Dec 06 14:03:20 2009 -0500
@@ -1,5 +1,5 @@
// This code conforms with the UFC specification version 1.0
-// and was automatically generated by FFC version 0.6.2.
+// and was automatically generated by FFC version 0.7.1.
//
// Warning: This code was generated with the option '-l dolfin'
// and contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -14,15 +14,15 @@
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_0_0: public ufc::finite_element
+class meltflux_0_finite_element_0_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_0_0();
+ meltflux_0_finite_element_0_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_0_0();
+ virtual ~meltflux_0_finite_element_0_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -56,7 +56,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -88,15 +88,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_0_1: public ufc::finite_element
+class meltflux_0_finite_element_0_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_0_1();
+ meltflux_0_finite_element_0_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_0_1();
+ virtual ~meltflux_0_finite_element_0_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -130,7 +130,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -162,15 +162,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_0: public ufc::finite_element
+class meltflux_0_finite_element_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_0();
+ meltflux_0_finite_element_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_0();
+ virtual ~meltflux_0_finite_element_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -204,7 +204,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -236,15 +236,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_1_0: public ufc::finite_element
+class meltflux_0_finite_element_1_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_1_0();
+ meltflux_0_finite_element_1_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_1_0();
+ virtual ~meltflux_0_finite_element_1_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -278,7 +278,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -310,15 +310,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_1_1: public ufc::finite_element
+class meltflux_0_finite_element_1_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_1_1();
+ meltflux_0_finite_element_1_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_1_1();
+ virtual ~meltflux_0_finite_element_1_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -352,7 +352,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -384,15 +384,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxBilinearForm_finite_element_1: public ufc::finite_element
+class meltflux_0_finite_element_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_finite_element_1();
+ meltflux_0_finite_element_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_finite_element_1();
+ virtual ~meltflux_0_finite_element_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -426,7 +426,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -459,7 +459,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_0_0: public ufc::dof_map
+class meltflux_0_dof_map_0_0: public ufc::dof_map
{
private:
@@ -468,10 +468,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_0_0();
+ meltflux_0_dof_map_0_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_0_0();
+ virtual ~meltflux_0_dof_map_0_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -492,8 +492,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -532,7 +535,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_0_1: public ufc::dof_map
+class meltflux_0_dof_map_0_1: public ufc::dof_map
{
private:
@@ -541,10 +544,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_0_1();
+ meltflux_0_dof_map_0_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_0_1();
+ virtual ~meltflux_0_dof_map_0_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -565,8 +568,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -605,7 +611,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_0: public ufc::dof_map
+class meltflux_0_dof_map_0: public ufc::dof_map
{
private:
@@ -614,10 +620,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_0();
+ meltflux_0_dof_map_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_0();
+ virtual ~meltflux_0_dof_map_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -638,8 +644,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -678,7 +687,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_1_0: public ufc::dof_map
+class meltflux_0_dof_map_1_0: public ufc::dof_map
{
private:
@@ -687,10 +696,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_1_0();
+ meltflux_0_dof_map_1_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_1_0();
+ virtual ~meltflux_0_dof_map_1_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -711,8 +720,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -751,7 +763,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_1_1: public ufc::dof_map
+class meltflux_0_dof_map_1_1: public ufc::dof_map
{
private:
@@ -760,10 +772,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_1_1();
+ meltflux_0_dof_map_1_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_1_1();
+ virtual ~meltflux_0_dof_map_1_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -784,8 +796,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -824,7 +839,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxBilinearForm_dof_map_1: public ufc::dof_map
+class meltflux_0_dof_map_1: public ufc::dof_map
{
private:
@@ -833,10 +848,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxBilinearForm_dof_map_1();
+ meltflux_0_dof_map_1();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_dof_map_1();
+ virtual ~meltflux_0_dof_map_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -857,8 +872,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -898,15 +916,15 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MeltFluxBilinearForm_cell_integral_0_quadrature: public ufc::cell_integral
+class meltflux_0_cell_integral_0_quadrature: public ufc::cell_integral
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm_cell_integral_0_quadrature();
+ meltflux_0_cell_integral_0_quadrature();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_cell_integral_0_quadrature();
+ virtual ~meltflux_0_cell_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -919,19 +937,19 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MeltFluxBilinearForm_cell_integral_0: public ufc::cell_integral
+class meltflux_0_cell_integral_0: public ufc::cell_integral
{
private:
- UFC_MeltFluxBilinearForm_cell_integral_0_quadrature integral_0_quadrature;
+ meltflux_0_cell_integral_0_quadrature integral_0_quadrature;
public:
/// Constructor
- UFC_MeltFluxBilinearForm_cell_integral_0();
+ meltflux_0_cell_integral_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm_cell_integral_0();
+ virtual ~meltflux_0_cell_integral_0();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -955,15 +973,15 @@ public:
/// sequence of basis functions of Vj and w1, w2, ..., wn are given
/// fixed functions (coefficients).
-class UFC_MeltFluxBilinearForm: public ufc::form
+class meltflux_form_0: public ufc::form
{
public:
/// Constructor
- UFC_MeltFluxBilinearForm();
+ meltflux_form_0();
/// Destructor
- virtual ~UFC_MeltFluxBilinearForm();
+ virtual ~meltflux_form_0();
/// Return a string identifying the form
virtual const char* signature() const;
@@ -976,10 +994,10 @@ public:
/// Return the number of cell integrals
virtual unsigned int num_cell_integrals() const;
-
+
/// Return the number of exterior facet integrals
virtual unsigned int num_exterior_facet_integrals() const;
-
+
/// Return the number of interior facet integrals
virtual unsigned int num_interior_facet_integrals() const;
@@ -1002,15 +1020,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_0_0: public ufc::finite_element
+class meltflux_1_finite_element_0_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_0_0();
+ meltflux_1_finite_element_0_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_0_0();
+ virtual ~meltflux_1_finite_element_0_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1044,7 +1062,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1076,15 +1094,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_0_1: public ufc::finite_element
+class meltflux_1_finite_element_0_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_0_1();
+ meltflux_1_finite_element_0_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_0_1();
+ virtual ~meltflux_1_finite_element_0_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1118,7 +1136,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1150,15 +1168,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_0: public ufc::finite_element
+class meltflux_1_finite_element_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_0();
+ meltflux_1_finite_element_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_0();
+ virtual ~meltflux_1_finite_element_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1192,7 +1210,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1224,15 +1242,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_1: public ufc::finite_element
+class meltflux_1_finite_element_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_1();
+ meltflux_1_finite_element_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_1();
+ virtual ~meltflux_1_finite_element_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1266,7 +1284,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1298,15 +1316,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_2: public ufc::finite_element
+class meltflux_1_finite_element_2: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_2();
+ meltflux_1_finite_element_2();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_2();
+ virtual ~meltflux_1_finite_element_2();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1340,7 +1358,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1372,15 +1390,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_3: public ufc::finite_element
+class meltflux_1_finite_element_3: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_3();
+ meltflux_1_finite_element_3();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_3();
+ virtual ~meltflux_1_finite_element_3();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1414,7 +1432,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1446,15 +1464,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_4_0: public ufc::finite_element
+class meltflux_1_finite_element_4_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_4_0();
+ meltflux_1_finite_element_4_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_4_0();
+ virtual ~meltflux_1_finite_element_4_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1488,7 +1506,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1520,15 +1538,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_4_1: public ufc::finite_element
+class meltflux_1_finite_element_4_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_4_1();
+ meltflux_1_finite_element_4_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_4_1();
+ virtual ~meltflux_1_finite_element_4_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1562,7 +1580,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1594,15 +1612,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_4: public ufc::finite_element
+class meltflux_1_finite_element_4: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_4();
+ meltflux_1_finite_element_4();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_4();
+ virtual ~meltflux_1_finite_element_4();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1636,7 +1654,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1668,15 +1686,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_MeltFluxLinearForm_finite_element_5: public ufc::finite_element
+class meltflux_1_finite_element_5: public ufc::finite_element
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_finite_element_5();
+ meltflux_1_finite_element_5();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_finite_element_5();
+ virtual ~meltflux_1_finite_element_5();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -1710,7 +1728,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -1743,7 +1761,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_0_0: public ufc::dof_map
+class meltflux_1_dof_map_0_0: public ufc::dof_map
{
private:
@@ -1752,10 +1770,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_0_0();
+ meltflux_1_dof_map_0_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_0_0();
+ virtual ~meltflux_1_dof_map_0_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -1776,8 +1794,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -1816,7 +1837,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_0_1: public ufc::dof_map
+class meltflux_1_dof_map_0_1: public ufc::dof_map
{
private:
@@ -1825,10 +1846,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_0_1();
+ meltflux_1_dof_map_0_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_0_1();
+ virtual ~meltflux_1_dof_map_0_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -1849,8 +1870,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -1889,7 +1913,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_0: public ufc::dof_map
+class meltflux_1_dof_map_0: public ufc::dof_map
{
private:
@@ -1898,10 +1922,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_0();
+ meltflux_1_dof_map_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_0();
+ virtual ~meltflux_1_dof_map_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -1922,8 +1946,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -1962,7 +1989,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_1: public ufc::dof_map
+class meltflux_1_dof_map_1: public ufc::dof_map
{
private:
@@ -1971,10 +1998,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_1();
+ meltflux_1_dof_map_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_1();
+ virtual ~meltflux_1_dof_map_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -1995,8 +2022,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2035,7 +2065,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_2: public ufc::dof_map
+class meltflux_1_dof_map_2: public ufc::dof_map
{
private:
@@ -2044,10 +2074,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_2();
+ meltflux_1_dof_map_2();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_2();
+ virtual ~meltflux_1_dof_map_2();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2068,8 +2098,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2108,7 +2141,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_3: public ufc::dof_map
+class meltflux_1_dof_map_3: public ufc::dof_map
{
private:
@@ -2117,10 +2150,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_3();
+ meltflux_1_dof_map_3();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_3();
+ virtual ~meltflux_1_dof_map_3();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2141,8 +2174,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2181,7 +2217,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_4_0: public ufc::dof_map
+class meltflux_1_dof_map_4_0: public ufc::dof_map
{
private:
@@ -2190,10 +2226,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_4_0();
+ meltflux_1_dof_map_4_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_4_0();
+ virtual ~meltflux_1_dof_map_4_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2214,8 +2250,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2254,7 +2293,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_4_1: public ufc::dof_map
+class meltflux_1_dof_map_4_1: public ufc::dof_map
{
private:
@@ -2263,10 +2302,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_4_1();
+ meltflux_1_dof_map_4_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_4_1();
+ virtual ~meltflux_1_dof_map_4_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2287,8 +2326,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2327,7 +2369,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_4: public ufc::dof_map
+class meltflux_1_dof_map_4: public ufc::dof_map
{
private:
@@ -2336,10 +2378,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_4();
+ meltflux_1_dof_map_4();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_4();
+ virtual ~meltflux_1_dof_map_4();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2360,8 +2402,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2400,7 +2445,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_MeltFluxLinearForm_dof_map_5: public ufc::dof_map
+class meltflux_1_dof_map_5: public ufc::dof_map
{
private:
@@ -2409,10 +2454,10 @@ public:
public:
/// Constructor
- UFC_MeltFluxLinearForm_dof_map_5();
+ meltflux_1_dof_map_5();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_dof_map_5();
+ virtual ~meltflux_1_dof_map_5();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -2433,8 +2478,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -2474,15 +2522,15 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MeltFluxLinearForm_cell_integral_0_quadrature: public ufc::cell_integral
+class meltflux_1_cell_integral_0_quadrature: public ufc::cell_integral
{
public:
/// Constructor
- UFC_MeltFluxLinearForm_cell_integral_0_quadrature();
+ meltflux_1_cell_integral_0_quadrature();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_cell_integral_0_quadrature();
+ virtual ~meltflux_1_cell_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -2495,19 +2543,19 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_MeltFluxLinearForm_cell_integral_0: public ufc::cell_integral
+class meltflux_1_cell_integral_0: public ufc::cell_integral
{
private:
- UFC_MeltFluxLinearForm_cell_integral_0_quadrature integral_0_quadrature;
+ meltflux_1_cell_integral_0_quadrature integral_0_quadrature;
public:
/// Constructor
- UFC_MeltFluxLinearForm_cell_integral_0();
+ meltflux_1_cell_integral_0();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm_cell_integral_0();
+ virtual ~meltflux_1_cell_integral_0();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -2531,15 +2579,15 @@ public:
/// sequence of basis functions of Vj and w1, w2, ..., wn are given
/// fixed functions (coefficients).
-class UFC_MeltFluxLinearForm: public ufc::form
+class meltflux_form_1: public ufc::form
{
public:
/// Constructor
- UFC_MeltFluxLinearForm();
+ meltflux_form_1();
/// Destructor
- virtual ~UFC_MeltFluxLinearForm();
+ virtual ~meltflux_form_1();
/// Return a string identifying the form
virtual const char* signature() const;
@@ -2552,10 +2600,10 @@ public:
/// Return the number of cell integrals
virtual unsigned int num_cell_integrals() const;
-
+
/// Return the number of exterior facet integrals
virtual unsigned int num_exterior_facet_integrals() const;
-
+
/// Return the number of interior facet integrals
virtual unsigned int num_interior_facet_integrals() const;
@@ -2578,460 +2626,572 @@ public:
// DOLFIN wrappers
-#include <dolfin/fem/Form.h>
+// Standard library includes
+#include <string>
+
+// DOLFIN includes
+#include <dolfin/common/NoDeleter.h>
#include <dolfin/fem/FiniteElement.h>
#include <dolfin/fem/DofMap.h>
-#include <dolfin/function/Coefficient.h>
-#include <dolfin/function/Function.h>
+#include <dolfin/fem/Form.h>
#include <dolfin/function/FunctionSpace.h>
+#include <dolfin/function/GenericFunction.h>
+#include <dolfin/function/CoefficientAssigner.h>
-class MeltFluxBilinearFormFunctionSpace0 : public dolfin::FunctionSpace
+namespace MeltFlux
+{
+
+class CoefficientSpace_V: public dolfin::FunctionSpace
{
public:
- MeltFluxBilinearFormFunctionSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ CoefficientSpace_V(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_4()), mesh)))
{
// Do nothing
}
-};
-
-class MeltFluxBilinearFormFunctionSpace1 : public dolfin::FunctionSpace
-{
-public:
-
- MeltFluxBilinearFormFunctionSpace1(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ CoefficientSpace_V(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_4()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_V(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_4()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_V(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_4()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_4()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_V()
+ {
+ }
+
};
-class MeltFluxLinearFormFunctionSpace0 : public dolfin::FunctionSpace
+class CoefficientSpace_eps: public dolfin::FunctionSpace
{
public:
- MeltFluxLinearFormFunctionSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ CoefficientSpace_eps(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_5()), mesh)))
{
// Do nothing
}
-};
-
-class MeltFluxLinearFormCoefficientSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- MeltFluxLinearFormCoefficientSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_2()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_2()), mesh)))
+ CoefficientSpace_eps(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_5()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_eps(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_5()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_eps(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_5()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_5()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_eps()
+ {
+ }
+
};
-class MeltFluxLinearFormCoefficientSpace1 : public dolfin::FunctionSpace
+class CoefficientSpace_f: public dolfin::FunctionSpace
{
public:
- MeltFluxLinearFormCoefficientSpace1(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_2()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_2()), mesh)))
+ CoefficientSpace_f(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_1()), mesh)))
{
// Do nothing
}
-};
-
-class MeltFluxLinearFormCoefficientSpace2 : public dolfin::FunctionSpace
-{
-public:
-
- MeltFluxLinearFormCoefficientSpace2(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_3()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_3()), mesh)))
+ CoefficientSpace_f(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_1()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_f(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_f(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_f()
+ {
+ }
+
};
-class MeltFluxLinearFormCoefficientSpace3 : public dolfin::FunctionSpace
+class CoefficientSpace_p: public dolfin::FunctionSpace
{
public:
- MeltFluxLinearFormCoefficientSpace3(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_4()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_4()), mesh)))
+ CoefficientSpace_p(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_2()), mesh)))
{
// Do nothing
}
-};
-
-class MeltFluxLinearFormCoefficientSpace4 : public dolfin::FunctionSpace
-{
-public:
-
- MeltFluxLinearFormCoefficientSpace4(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_5()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_5()), mesh)))
+ CoefficientSpace_p(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_2()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_p(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_2()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_p(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_2()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_2()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_p()
+ {
+ }
+
};
-class MeltFluxTestSpace : public dolfin::FunctionSpace
+class CoefficientSpace_pstar: public dolfin::FunctionSpace
{
public:
- MeltFluxTestSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ CoefficientSpace_pstar(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_3()), mesh)))
{
// Do nothing
}
-};
-
-class MeltFluxTrialSpace : public dolfin::FunctionSpace
-{
-public:
-
- MeltFluxTrialSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ CoefficientSpace_pstar(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_3()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_pstar(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_3()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_pstar(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_3()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_3()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_pstar()
+ {
+ }
+
};
-class MeltFluxFunctionSpace : public dolfin::FunctionSpace
+class Form_0_FunctionSpace_0: public dolfin::FunctionSpace
{
public:
- MeltFluxFunctionSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_MeltFluxLinearForm_finite_element_0()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_MeltFluxLinearForm_dof_map_0()), mesh)))
+ Form_0_FunctionSpace_0(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_0()), mesh)))
{
// Do nothing
}
+ Form_0_FunctionSpace_0(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_0(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_0(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_0_FunctionSpace_0()
+ {
+ }
+
};
-class MeltFluxBilinearForm : public dolfin::Form
+class Form_0_FunctionSpace_1: public dolfin::FunctionSpace
{
public:
- // Create form on given function space(s)
- MeltFluxBilinearForm(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1) : dolfin::Form()
+ Form_0_FunctionSpace_1(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_1()), mesh)))
{
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
- boost::shared_ptr<const dolfin::FunctionSpace> _V1(&V1, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V1);
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxBilinearForm());
+ // Do nothing
}
- // Create form on given function space(s) (shared data)
- MeltFluxBilinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1) : dolfin::Form()
+ Form_0_FunctionSpace_1(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_1()), mesh)))
{
- _function_spaces.push_back(V0);
- _function_spaces.push_back(V1);
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxBilinearForm());
+ // Do nothing
}
- // Destructor
- ~MeltFluxBilinearForm() {}
+ Form_0_FunctionSpace_1(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_0_FunctionSpace_1(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_0_FunctionSpace_1()
+ {
+ }
};
-class MeltFluxLinearFormCoefficient0 : public dolfin::Coefficient
+class Form_0: public dolfin::Form
{
public:
// Constructor
- MeltFluxLinearFormCoefficient0(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ Form_0(const dolfin::FunctionSpace& V0, const dolfin::FunctionSpace& V1):
+ dolfin::Form(2, 0)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+ _function_spaces[1] = reference_to_no_delete_pointer(V1);
- // Destructor
- ~MeltFluxLinearFormCoefficient0() {}
-
- // Attach function to coefficient
- const MeltFluxLinearFormCoefficient0& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_0());
}
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::FunctionSpace> V1):
+ dolfin::Form(2, 0)
{
- return new MeltFluxLinearFormCoefficientSpace0(form.mesh());
+ _function_spaces[0] = V0;
+ _function_spaces[1] = V1;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_0());
}
-
- /// Return coefficient number
- dolfin::uint number() const
+
+ // Destructor
+ ~Form_0()
+ {}
+
+ /// Return the number of the coefficient with this name
+ virtual dolfin::uint coefficient_number(const std::string& name) const
{
+
+ dolfin::error("No coefficients.");
return 0;
}
-
- /// Return coefficient name
- virtual std::string name() const
+
+ /// Return the name of the coefficient with this number
+ virtual std::string coefficient_name(dolfin::uint i) const
{
- return "f";
+
+ dolfin::error("No coefficients.");
+ return "unnamed";
}
-
+
+ // Typedefs
+ typedef Form_0_FunctionSpace_0 TestSpace;
+ typedef Form_0_FunctionSpace_1 TrialSpace;
+
+ // Coefficients
};
-class MeltFluxLinearFormCoefficient1 : public dolfin::Coefficient
+
+class Form_1_FunctionSpace_0: public dolfin::FunctionSpace
+{
+public:
+
+ Form_1_FunctionSpace_0(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_0()), mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ Form_1_FunctionSpace_0(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new meltflux_1_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new meltflux_1_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~Form_1_FunctionSpace_0()
+ {
+ }
+
+};
+
+typedef CoefficientSpace_f Form_1_FunctionSpace_1;
+
+typedef CoefficientSpace_p Form_1_FunctionSpace_2;
+
+typedef CoefficientSpace_pstar Form_1_FunctionSpace_3;
+
+typedef CoefficientSpace_V Form_1_FunctionSpace_4;
+
+typedef CoefficientSpace_eps Form_1_FunctionSpace_5;
+
+class Form_1: public dolfin::Form
{
public:
// Constructor
- MeltFluxLinearFormCoefficient1(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ Form_1(const dolfin::FunctionSpace& V0):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
- // Destructor
- ~MeltFluxLinearFormCoefficient1() {}
-
- // Attach function to coefficient
- const MeltFluxLinearFormCoefficient1& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
+ // Constructor
+ Form_1(const dolfin::FunctionSpace& V0, const dolfin::GenericFunction& f, const dolfin::GenericFunction& p, const dolfin::GenericFunction& pstar, const dolfin::GenericFunction& V, const dolfin::GenericFunction& eps):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
{
- return new MeltFluxLinearFormCoefficientSpace1(form.mesh());
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
+
+ this->f = f;
+ this->p = p;
+ this->pstar = pstar;
+ this->V = V;
+ this->eps = eps;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 1;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "p";
- }
-
-};
-class MeltFluxLinearFormCoefficient2 : public dolfin::Coefficient
-{
-public:
// Constructor
- MeltFluxLinearFormCoefficient2(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ Form_1(const dolfin::FunctionSpace& V0, boost::shared_ptr<const dolfin::GenericFunction> f, boost::shared_ptr<const dolfin::GenericFunction> p, boost::shared_ptr<const dolfin::GenericFunction> pstar, boost::shared_ptr<const dolfin::GenericFunction> V, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
- // Destructor
- ~MeltFluxLinearFormCoefficient2() {}
+ this->f = *f;
+ this->p = *p;
+ this->pstar = *pstar;
+ this->V = *V;
+ this->eps = *eps;
- // Attach function to coefficient
- const MeltFluxLinearFormCoefficient2& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
+ // Constructor
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
{
- return new MeltFluxLinearFormCoefficientSpace2(form.mesh());
+ _function_spaces[0] = V0;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 2;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "pstar";
- }
-
-};
-class MeltFluxLinearFormCoefficient3 : public dolfin::Coefficient
-{
-public:
// Constructor
- MeltFluxLinearFormCoefficient3(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0, const dolfin::GenericFunction& f, const dolfin::GenericFunction& p, const dolfin::GenericFunction& pstar, const dolfin::GenericFunction& V, const dolfin::GenericFunction& eps):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
+ {
+ _function_spaces[0] = V0;
- // Destructor
- ~MeltFluxLinearFormCoefficient3() {}
+ this->f = f;
+ this->p = p;
+ this->pstar = pstar;
+ this->V = V;
+ this->eps = eps;
- // Attach function to coefficient
- const MeltFluxLinearFormCoefficient3& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
+ // Constructor
+ Form_1(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::GenericFunction> f, boost::shared_ptr<const dolfin::GenericFunction> p, boost::shared_ptr<const dolfin::GenericFunction> pstar, boost::shared_ptr<const dolfin::GenericFunction> V, boost::shared_ptr<const dolfin::GenericFunction> eps):
+ dolfin::Form(1, 5), f(*this, 0), p(*this, 1), pstar(*this, 2), V(*this, 3), eps(*this, 4)
{
- return new MeltFluxLinearFormCoefficientSpace3(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 3;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "V";
- }
-
-};
-class MeltFluxLinearFormCoefficient4 : public dolfin::Coefficient
-{
-public:
+ _function_spaces[0] = V0;
- // Constructor
- MeltFluxLinearFormCoefficient4(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ this->f = *f;
+ this->p = *p;
+ this->pstar = *pstar;
+ this->V = *V;
+ this->eps = *eps;
- // Destructor
- ~MeltFluxLinearFormCoefficient4() {}
-
- // Attach function to coefficient
- const MeltFluxLinearFormCoefficient4& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
- }
-
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
- {
- return new MeltFluxLinearFormCoefficientSpace4(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 4;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "eps";
- }
-
-};
-class MeltFluxLinearForm : public dolfin::Form
-{
-public:
-
- // Create form on given function space(s)
- MeltFluxLinearForm(const dolfin::FunctionSpace& V0) : dolfin::Form(), f(*this), p(*this), pstar(*this), V(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxLinearForm());
- }
-
- // Create form on given function space(s) (shared data)
- MeltFluxLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0) : dolfin::Form(), f(*this), p(*this), pstar(*this), V(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxLinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s)
- MeltFluxLinearForm(const dolfin::FunctionSpace& V0, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4) : dolfin::Form(), f(*this), p(*this), pstar(*this), V(*this), eps(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->f = w0;
- this->p = w1;
- this->pstar = w2;
- this->V = w3;
- this->eps = w4;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxLinearForm());
- }
-
- // Create form on given function space(s) with given coefficient(s) (shared data)
- MeltFluxLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, dolfin::Function& w0, dolfin::Function& w1, dolfin::Function& w2, dolfin::Function& w3, dolfin::Function& w4) : dolfin::Form(), f(*this), p(*this), pstar(*this), V(*this), eps(*this)
- {
- _function_spaces.push_back(V0);
-
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->f = w0;
- this->p = w1;
- this->pstar = w2;
- this->V = w3;
- this->eps = w4;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_MeltFluxLinearForm());
+ _ufc_form = boost::shared_ptr<const ufc::form>(new meltflux_form_1());
}
// Destructor
- ~MeltFluxLinearForm() {}
+ ~Form_1()
+ {}
+
+ /// Return the number of the coefficient with this name
+ virtual dolfin::uint coefficient_number(const std::string& name) const
+ {
+ if (name == "f")
+ return 0;
+ else if (name == "p")
+ return 1;
+ else if (name == "pstar")
+ return 2;
+ else if (name == "V")
+ return 3;
+ else if (name == "eps")
+ return 4;
+
+ dolfin::error("Invalid coefficient.");
+ return 0;
+ }
+
+ /// Return the name of the coefficient with this number
+ virtual std::string coefficient_name(dolfin::uint i) const
+ {
+ switch (i)
+ {
+ case 0:
+ return "f";
+ case 1:
+ return "p";
+ case 2:
+ return "pstar";
+ case 3:
+ return "V";
+ case 4:
+ return "eps";
+ }
+
+ dolfin::error("Invalid coefficient.");
+ return "unnamed";
+ }
+
+ // Typedefs
+ typedef Form_1_FunctionSpace_0 TestSpace;
+ typedef Form_1_FunctionSpace_1 CoefficientSpace_f;
+ typedef Form_1_FunctionSpace_2 CoefficientSpace_p;
+ typedef Form_1_FunctionSpace_3 CoefficientSpace_pstar;
+ typedef Form_1_FunctionSpace_4 CoefficientSpace_V;
+ typedef Form_1_FunctionSpace_5 CoefficientSpace_eps;
// Coefficients
- MeltFluxLinearFormCoefficient0 f;
- MeltFluxLinearFormCoefficient1 p;
- MeltFluxLinearFormCoefficient2 pstar;
- MeltFluxLinearFormCoefficient3 V;
- MeltFluxLinearFormCoefficient4 eps;
-
+ dolfin::CoefficientAssigner f;
+ dolfin::CoefficientAssigner p;
+ dolfin::CoefficientAssigner pstar;
+ dolfin::CoefficientAssigner V;
+ dolfin::CoefficientAssigner eps;
};
+// Class typedefs
+typedef Form_0 BilinearForm;
+typedef Form_1 LinearForm;
+typedef Form_0::TestSpace FunctionSpace;
+
+} // namespace MeltFlux
+
#endif
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/SemiLagrangianRHS.h
--- a/MADDs-5/MADDs-5a/cpp/SemiLagrangianRHS.h Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/SemiLagrangianRHS.h Sun Dec 06 14:03:20 2009 -0500
@@ -1,5 +1,5 @@
// This code conforms with the UFC specification version 1.0
-// and was automatically generated by FFC version 0.6.2.
+// and was automatically generated by FFC version 0.7.1.
//
// Warning: This code was generated with the option '-l dolfin'
// and contains DOLFIN-specific wrappers that depend on DOLFIN.
@@ -14,15 +14,15 @@
/// This class defines the interface for a finite element.
-class UFC_SemiLagrangianRHSLinearForm_finite_element_0: public ufc::finite_element
+class semilagrangianrhs_0_finite_element_0: public ufc::finite_element
{
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_finite_element_0();
+ semilagrangianrhs_0_finite_element_0();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_finite_element_0();
+ virtual ~semilagrangianrhs_0_finite_element_0();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -56,7 +56,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -88,15 +88,15 @@ public:
/// This class defines the interface for a finite element.
-class UFC_SemiLagrangianRHSLinearForm_finite_element_1: public ufc::finite_element
+class semilagrangianrhs_0_finite_element_1: public ufc::finite_element
{
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_finite_element_1();
+ semilagrangianrhs_0_finite_element_1();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_finite_element_1();
+ virtual ~semilagrangianrhs_0_finite_element_1();
/// Return a string identifying the finite element
virtual const char* signature() const;
@@ -130,7 +130,7 @@ public:
double* values,
const double* coordinates,
const ufc::cell& c) const;
-
+
/// Evaluate order n derivatives of all basis functions at given point in cell
virtual void evaluate_basis_derivatives_all(unsigned int n,
double* values,
@@ -163,7 +163,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_SemiLagrangianRHSLinearForm_dof_map_0: public ufc::dof_map
+class semilagrangianrhs_0_dof_map_0: public ufc::dof_map
{
private:
@@ -172,10 +172,10 @@ public:
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_dof_map_0();
+ semilagrangianrhs_0_dof_map_0();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_dof_map_0();
+ virtual ~semilagrangianrhs_0_dof_map_0();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -196,8 +196,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -236,7 +239,7 @@ public:
/// This class defines the interface for a local-to-global mapping of
/// degrees of freedom (dofs).
-class UFC_SemiLagrangianRHSLinearForm_dof_map_1: public ufc::dof_map
+class semilagrangianrhs_0_dof_map_1: public ufc::dof_map
{
private:
@@ -245,10 +248,10 @@ public:
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_dof_map_1();
+ semilagrangianrhs_0_dof_map_1();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_dof_map_1();
+ virtual ~semilagrangianrhs_0_dof_map_1();
/// Return a string identifying the dof map
virtual const char* signature() const;
@@ -269,8 +272,11 @@ public:
/// Return the dimension of the global finite element function space
virtual unsigned int global_dimension() const;
- /// Return the dimension of the local finite element function space
- virtual unsigned int local_dimension() const;
+ /// Return the dimension of the local finite element function space for a cell
+ virtual unsigned int local_dimension(const ufc::cell& c) const;
+
+ /// Return the maximum dimension of the local finite element function space
+ virtual unsigned int max_local_dimension() const;
// Return the geometric dimension of the coordinates this dof map provides
virtual unsigned int geometric_dimension() const;
@@ -310,15 +316,15 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_SemiLagrangianRHSLinearForm_cell_integral_0_quadrature: public ufc::cell_integral
+class semilagrangianrhs_0_cell_integral_0_quadrature: public ufc::cell_integral
{
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_cell_integral_0_quadrature();
+ semilagrangianrhs_0_cell_integral_0_quadrature();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_cell_integral_0_quadrature();
+ virtual ~semilagrangianrhs_0_cell_integral_0_quadrature();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -331,19 +337,19 @@ public:
/// tensor corresponding to the local contribution to a form from
/// the integral over a cell.
-class UFC_SemiLagrangianRHSLinearForm_cell_integral_0: public ufc::cell_integral
+class semilagrangianrhs_0_cell_integral_0: public ufc::cell_integral
{
private:
- UFC_SemiLagrangianRHSLinearForm_cell_integral_0_quadrature integral_0_quadrature;
+ semilagrangianrhs_0_cell_integral_0_quadrature integral_0_quadrature;
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm_cell_integral_0();
+ semilagrangianrhs_0_cell_integral_0();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm_cell_integral_0();
+ virtual ~semilagrangianrhs_0_cell_integral_0();
/// Tabulate the tensor for the contribution from a local cell
virtual void tabulate_tensor(double* A,
@@ -367,15 +373,15 @@ public:
/// sequence of basis functions of Vj and w1, w2, ..., wn are given
/// fixed functions (coefficients).
-class UFC_SemiLagrangianRHSLinearForm: public ufc::form
+class semilagrangianrhs_form_0: public ufc::form
{
public:
/// Constructor
- UFC_SemiLagrangianRHSLinearForm();
+ semilagrangianrhs_form_0();
/// Destructor
- virtual ~UFC_SemiLagrangianRHSLinearForm();
+ virtual ~semilagrangianrhs_form_0();
/// Return a string identifying the form
virtual const char* signature() const;
@@ -388,10 +394,10 @@ public:
/// Return the number of cell integrals
virtual unsigned int num_cell_integrals() const;
-
+
/// Return the number of exterior facet integrals
virtual unsigned int num_exterior_facet_integrals() const;
-
+
/// Return the number of interior facet integrals
virtual unsigned int num_interior_facet_integrals() const;
@@ -414,189 +420,214 @@ public:
// DOLFIN wrappers
-#include <dolfin/fem/Form.h>
+// Standard library includes
+#include <string>
+
+// DOLFIN includes
+#include <dolfin/common/NoDeleter.h>
#include <dolfin/fem/FiniteElement.h>
#include <dolfin/fem/DofMap.h>
-#include <dolfin/function/Coefficient.h>
-#include <dolfin/function/Function.h>
+#include <dolfin/fem/Form.h>
#include <dolfin/function/FunctionSpace.h>
+#include <dolfin/function/GenericFunction.h>
+#include <dolfin/function/CoefficientAssigner.h>
-class SemiLagrangianRHSLinearFormFunctionSpace0 : public dolfin::FunctionSpace
+namespace SemiLagrangianRHS
+{
+
+class CoefficientSpace_gStar: public dolfin::FunctionSpace
{
public:
- SemiLagrangianRHSLinearFormFunctionSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
+ CoefficientSpace_gStar(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_1()), mesh)))
{
// Do nothing
}
-};
-
-class SemiLagrangianRHSLinearFormCoefficientSpace0 : public dolfin::FunctionSpace
-{
-public:
-
- SemiLagrangianRHSLinearFormCoefficientSpace0(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
+ CoefficientSpace_gStar(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_1()), mesh)))
{
// Do nothing
}
+ CoefficientSpace_gStar(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+ CoefficientSpace_gStar(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_1()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_1()), *mesh)))
+ {
+ // Do nothing
+ }
+
+
+ ~CoefficientSpace_gStar()
+ {
+ }
+
};
-class SemiLagrangianRHSTestSpace : public dolfin::FunctionSpace
+class Form_0_FunctionSpace_0: public dolfin::FunctionSpace
{
public:
- SemiLagrangianRHSTestSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
+ Form_0_FunctionSpace_0(const dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_0()), mesh)))
{
// Do nothing
}
-};
-
-class SemiLagrangianRHSTrialSpace : public dolfin::FunctionSpace
-{
-public:
-
- SemiLagrangianRHSTrialSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
+ Form_0_FunctionSpace_0(dolfin::Mesh& mesh):
+ dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_0()), mesh)))
{
// Do nothing
}
-};
+ Form_0_FunctionSpace_0(boost::shared_ptr<dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
-class SemiLagrangianRHSCoefficientSpace : public dolfin::FunctionSpace
-{
-public:
+ Form_0_FunctionSpace_0(boost::shared_ptr<const dolfin::Mesh> mesh):
+ dolfin::FunctionSpace(mesh,
+ boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new semilagrangianrhs_0_finite_element_0()))),
+ boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new semilagrangianrhs_0_dof_map_0()), *mesh)))
+ {
+ // Do nothing
+ }
- SemiLagrangianRHSCoefficientSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
+
+ ~Form_0_FunctionSpace_0()
{
- // Do nothing
}
};
-class SemiLagrangianRHSFunctionSpace : public dolfin::FunctionSpace
-{
-public:
+typedef CoefficientSpace_gStar Form_0_FunctionSpace_1;
- SemiLagrangianRHSFunctionSpace(const dolfin::Mesh& mesh)
- : dolfin::FunctionSpace(boost::shared_ptr<const dolfin::Mesh>(&mesh, dolfin::NoDeleter<const dolfin::Mesh>()),
- boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new UFC_SemiLagrangianRHSLinearForm_finite_element_1()))),
- boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dof_map>(new UFC_SemiLagrangianRHSLinearForm_dof_map_1()), mesh)))
- {
- // Do nothing
- }
-
-};
-
-class SemiLagrangianRHSLinearFormCoefficient0 : public dolfin::Coefficient
+class Form_0: public dolfin::Form
{
public:
// Constructor
- SemiLagrangianRHSLinearFormCoefficient0(dolfin::Form& form) : dolfin::Coefficient(form) {}
+ Form_0(const dolfin::FunctionSpace& V0):
+ dolfin::Form(1, 1), gStar(*this, 0)
+ {
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
- // Destructor
- ~SemiLagrangianRHSLinearFormCoefficient0() {}
-
- // Attach function to coefficient
- const SemiLagrangianRHSLinearFormCoefficient0& operator= (dolfin::Function& v)
- {
- attach(v);
- return *this;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
}
- /// Create function space for coefficient
- const dolfin::FunctionSpace* create_function_space() const
+ // Constructor
+ Form_0(const dolfin::FunctionSpace& V0, const dolfin::GenericFunction& gStar):
+ dolfin::Form(1, 1), gStar(*this, 0)
{
- return new SemiLagrangianRHSLinearFormCoefficientSpace0(form.mesh());
- }
-
- /// Return coefficient number
- dolfin::uint number() const
- {
- return 0;
- }
-
- /// Return coefficient name
- virtual std::string name() const
- {
- return "gStar";
- }
-
-};
-class SemiLagrangianRHSLinearForm : public dolfin::Form
-{
-public:
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
- // Create form on given function space(s)
- SemiLagrangianRHSLinearForm(const dolfin::FunctionSpace& V0) : dolfin::Form(), gStar(*this)
- {
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
+ this->gStar = gStar;
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_SemiLagrangianRHSLinearForm());
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
}
- // Create form on given function space(s) (shared data)
- SemiLagrangianRHSLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0) : dolfin::Form(), gStar(*this)
+ // Constructor
+ Form_0(const dolfin::FunctionSpace& V0, boost::shared_ptr<const dolfin::GenericFunction> gStar):
+ dolfin::Form(1, 1), gStar(*this, 0)
{
- _function_spaces.push_back(V0);
+ _function_spaces[0] = reference_to_no_delete_pointer(V0);
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
+ this->gStar = *gStar;
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_SemiLagrangianRHSLinearForm());
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
}
- // Create form on given function space(s) with given coefficient(s)
- SemiLagrangianRHSLinearForm(const dolfin::FunctionSpace& V0, dolfin::Function& w0) : dolfin::Form(), gStar(*this)
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0):
+ dolfin::Form(1, 1), gStar(*this, 0)
{
- boost::shared_ptr<const dolfin::FunctionSpace> _V0(&V0, dolfin::NoDeleter<const dolfin::FunctionSpace>());
- _function_spaces.push_back(_V0);
+ _function_spaces[0] = V0;
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
-
- this->gStar = w0;
-
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_SemiLagrangianRHSLinearForm());
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
}
- // Create form on given function space(s) with given coefficient(s) (shared data)
- SemiLagrangianRHSLinearForm(boost::shared_ptr<const dolfin::FunctionSpace> V0, dolfin::Function& w0) : dolfin::Form(), gStar(*this)
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, const dolfin::GenericFunction& gStar):
+ dolfin::Form(1, 1), gStar(*this, 0)
{
- _function_spaces.push_back(V0);
+ _function_spaces[0] = V0;
- _coefficients.push_back(boost::shared_ptr<const dolfin::Function>(static_cast<const dolfin::Function*>(0)));
+ this->gStar = gStar;
- this->gStar = w0;
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
+ }
- _ufc_form = boost::shared_ptr<const ufc::form>(new UFC_SemiLagrangianRHSLinearForm());
+ // Constructor
+ Form_0(boost::shared_ptr<const dolfin::FunctionSpace> V0, boost::shared_ptr<const dolfin::GenericFunction> gStar):
+ dolfin::Form(1, 1), gStar(*this, 0)
+ {
+ _function_spaces[0] = V0;
+
+ this->gStar = *gStar;
+
+ _ufc_form = boost::shared_ptr<const ufc::form>(new semilagrangianrhs_form_0());
}
// Destructor
- ~SemiLagrangianRHSLinearForm() {}
+ ~Form_0()
+ {}
+
+ /// Return the number of the coefficient with this name
+ virtual dolfin::uint coefficient_number(const std::string& name) const
+ {
+ if (name == "gStar")
+ return 0;
+
+ dolfin::error("Invalid coefficient.");
+ return 0;
+ }
+
+ /// Return the name of the coefficient with this number
+ virtual std::string coefficient_name(dolfin::uint i) const
+ {
+ switch (i)
+ {
+ case 0:
+ return "gStar";
+ }
+
+ dolfin::error("Invalid coefficient.");
+ return "unnamed";
+ }
+
+ // Typedefs
+ typedef Form_0_FunctionSpace_0 TestSpace;
+ typedef Form_0_FunctionSpace_1 CoefficientSpace_gStar;
// Coefficients
- SemiLagrangianRHSLinearFormCoefficient0 gStar;
-
+ dolfin::CoefficientAssigner gStar;
};
+// Class typedefs
+typedef Form_0 LinearForm;
+typedef Form_0::TestSpace FunctionSpace;
+
+} // namespace SemiLagrangianRHS
+
#endif
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/MagmaEquations.form
--- a/MADDs-5/MADDs-5a/cpp/forms/MagmaEquations.form Sun Dec 06 14:02:56 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-# Copyright (C) 2008 Marc Spiegelman
-# Licensed under the GNU LGPL Version 2.1.
-#
-# The linearised bilinear form a(v, U) and linear form L(v) for
-# the regularized non-linear magma problem with semi-Lagrangian updating
-#
-# - div K(f,eps) grad p + c Xi(f,eps,eta) p = div K(f)( grad pstar - \khat)
-# Df/Dt = c Xi(f,eps,eta) p + Gamma
-#
-# with:
-# K(f,eps) = (f+eps)^2
-# Xi(f,eps,eta) = (f+eps)/eta
-# c = (h/delta)^2
-# Gamma = melting rate function (assumed W dF/dz)
-#
-# Compile this form with FFC: ffc -l dolfin MagmaEquation.form
-
-P1 = FiniteElement("Lagrange", "triangle", 1)
-P2 = FiniteElement("Lagrange", "triangle", 2)
-M = P1 + P1
-
-(v, u) = TestFunctions(M)
-(dp, df) = TrialFunctions(M) # deltas for pressure and porosity
-(p, f) = Functions(M) # solution from last iteration
-
-#parameters and functions
-
-dt = Constant("triangle") # time step
-hdt = 0.5*dt # half time step
-
-
-# set domain size coefficient h=h/delta height in compaction lengths
-hsquared = Constant("triangle") # (h/delta)^2
-
-
-# facet normal for forcing term
-n = FacetNormal("triangle")
-
-# inverse shear viscosity
-iEta = Function(P1)
-
-# melting rate = dF/dz(x)/phi0*W
-Gamma = Function(P2)
-
-# dynamic pressure
-PStar = Function(P1)
-
-
-# regularization constants
-eps = 5.e-3
-zero = 0.
-
-# permeability function
-def K(f, eps):
- return (f+eps)*(f+eps)
-
-# derivatives of permeability
-def dKdf(f,eps):
- return 2*(f+eps)
-
-# bulk viscosity function
-def Xi(f, eps, iEta):
- return iEta*(f + eps)
-
-# derivative of bulk viscosity with respect to porosity
-def dXidf(iEta):
- return iEta
-
-a1 = (K(f,eps)*dot(grad(v),grad(dp)) + hsquared*v*Xi(f,eps,iEta)*dp)*dx + ((dKdf(f,eps)*dot(grad(v),grad(p)) + hsquared*dXidf(iEta)*v*p - dKdf(f,eps)*v.dx(1))*df)*dx + dKdf(f,eps)*df*v*n[1]*ds + dKdf(f,eps)*df*dot(grad(PStar),grad(v))*dx - dKdf(f,eps)*df*v*dot(grad(PStar),n)*ds
-a2 = u*df*dx - u*hdt*hsquared*(Xi(f,eps,iEta)*dp + p*dXidf(iEta)*df)*dx
-L1 = (K(f,eps)*dot(grad(v),grad(p)) + hsquared*v*Xi(f,eps,iEta)*p - K(f,zero)*v.dx(1))*dx + K(f,zero)*v*n[1]*ds + K(f,zero)*dot(grad(PStar),grad(v))*dx - K(f,zero)*v*dot(grad(PStar),n)*ds
-L2 = u*(f - hdt*(hsquared*Xi(f,eps,iEta)*p + Gamma))*dx
-
-#correct sign of L in Dolfin >=0.9.0
-a = a1 + a2
-L = L1 + L2
-
-
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/MagmaEquations_P2.ufl
--- a/MADDs-5/MADDs-5a/cpp/forms/MagmaEquations_P2.ufl Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/forms/MagmaEquations_P2.ufl Sun Dec 06 14:03:20 2009 -0500
@@ -13,15 +13,19 @@
# c = (h/delta)^2
# Gamma = melting rate function (assumed W dF/dz)
#
-# Compile this form with FFC: ffc -l dolfin MagmaEquation.ufl
+# Compile this form with FFC: ffc -l dolfin -O MagmaEquation.ufl
P1 = FiniteElement("Lagrange", triangle, 1)
P2 = FiniteElement("Lagrange", triangle, 2)
-M = P2 + P2
+ME = P2 + P2
-(v, u) = TestFunctions(M)
-(dp, df) = TrialFunctions(M) # deltas for pressure and porosity
-(p, f) = Functions(M) # solution from last iteration
+(v, q) = TestFunctions(ME)
+du = TrialFunction(ME) # deltas for pressure and porosity
+u = Function(ME) # solution from last iteration
+
+# Split mixed functions
+dp, df = split(du)
+p, f = split(u)
#parameters and functions
@@ -32,9 +36,8 @@ hdt = 0.5*dt # half time step
# set domain size coefficient h=h/delta height in compaction lengths
hsquared = Constant(triangle) # (h/delta)^2
-
# facet normal for forcing term
-n = VectorConstant(triangle)
+n = P2.cell().n
# inverse shear viscosity
iEta = Function(P1)
@@ -51,28 +54,19 @@ zero = 0.
zero = 0.
# permeability function
-def K(f, eps):
- return (f+eps)*(f+eps)
-
-# derivatives of permeability
-def dKdf(f,eps):
- return 2*(f+eps)
+K = (f+eps)**2 # regularized
+K0 = f**2 # not regularized
# bulk viscosity function
-def Xi(f, eps, iEta):
- return iEta*(f + eps)
+Xi = hsquared*iEta*(f+eps)
-# derivative of bulk viscosity with respect to porosity
-def dXidf(iEta):
- return iEta
-
-a1 = (K(f,eps)*inner(grad(v),grad(dp)) + hsquared*v*Xi(f,eps,iEta)*dp)*dx + ((dKdf(f,eps)*inner(grad(v),grad(p)) + hsquared*dXidf(iEta)*v*p - dKdf(f,eps)*v.dx(1))*df)*dx + dKdf(f,eps)*df*v*n[1]*ds + dKdf(f,eps)*df*inner(grad(PStar),grad(v))*dx - dKdf(f,eps)*df*v*inner(grad(PStar),n)*ds
-a2 = u*df*dx - u*hdt*hsquared*(Xi(f,eps,iEta)*dp + p*dXidf(iEta)*df)*dx
-L1 = (K(f,eps)*inner(grad(v),grad(p)) + hsquared*v*Xi(f,eps,iEta)*p - K(f,zero)*v.dx(1))*dx + K(f,zero)*v*n[1]*ds + K(f,zero)*inner(grad(PStar),grad(v))*dx - K(f,zero)*v*inner(grad(PStar),n)*ds
-L2 = u*(f - hdt*(hsquared*Xi(f,eps,iEta)*p + Gamma))*dx
+# calculate linear form for residual F(u)
+L1 = (K*inner(grad(v),grad(p)) + v*Xi*p - K0*v.dx(1))*dx + K0*inner(grad(PStar),grad(v))*dx + K0*v*(n[1] - inner(grad(PStar),n))*ds
+L2 = q*(f - hdt*(Xi*p + Gamma))*dx
-#correct sign of L in Dolfin >=0.9.0
-a = a1 + a2
L = L1 + L2
+# bilinear form for weak form of the Jacobian J(u) (using functional differentiation of L)
+a = derivative(L, u, du)
+
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/MeltFlux.form
--- a/MADDs-5/MADDs-5a/cpp/forms/MeltFlux.form Sun Dec 06 14:02:56 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#"""This form projects the solid velocity and compaction+dynamic pressure onto a linear space for plotting.
-#
-# In the strong form
-#
-# v = V + wo/U0*(-Grad(p+pstar) + k)
-#
-# where v is the fluid velocity
-# V is the solid velocity
-# w0/U0 is a measure of the permeability
-# p is solid pressure
-# and k is the unit vector in the direction of buoyancy
-#
-#
-# The corresponding weak (variational problem) is a projection from FiniteElement spaces for V and p onto
-# that of v assuming v can be described by BDM elements of degree q
-#
-# Compile this form with FFC: ffc -l dolfin MagmaEquation.form
-#
-#Modified from the PyDolfin MADDs-2.py demo
-#
-# __author__ = "Marc Spiegelman"
-# __date__ = " 28 Mar 2009 00:04:25"
-# __copyright__ = "Copyright (C) 2009 Marc Spiegelman"
-# __license__ = "GNU LGPL Version 2.1"
-
-
-# set up pressure/velocity function spaces
-P2 = VectorElement("Lagrange","triangle", 2)
-VP1 = VectorElement("Lagrange","triangle",1)
-P1 = FiniteElement("Lagrange","triangle", 1)
-
-
-
-# set up porosity, pressure/velocity Functions
-f = Function(P1)
-p = Function(P1)
-V = Function(P2)
-
-
-# regularized permeability function
-eps = 5.e-3
-zero = 0.
-def K(f, eps):
- return (f+eps)*(f+eps)
-
-
-# define new BDM function spaces
-BDM = FiniteElement("BDM","triangle", 1)
-
-# Define projection problem
-w = TestFunction(VP1)
-u = TrialFunction(VP1)
-
-a = dot(w,u)*dx
-L = f*dot(w,V)*dx + K(f,zero)*(-dot(w,grad(p))+w[1])*dx
-
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/MeltFlux_P2.ufl
--- a/MADDs-5/MADDs-5a/cpp/forms/MeltFlux_P2.ufl Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/forms/MeltFlux_P2.ufl Sun Dec 06 14:03:20 2009 -0500
@@ -44,8 +44,8 @@ V = Function(VP2)
# regularized permeability function
eps = Constant(triangle)
zero = 0.
-def K(f, eps):
- return (f+eps)*(f+eps)
+K = (f+eps)**2
+K0 = f**2
# define new BDM function spaces
@@ -56,5 +56,5 @@ u = TrialFunction(VP1)
u = TrialFunction(VP1)
a = inner(w,u)*dx
-L = f*inner(w,V)*dx + K(f,eps)*(-inner(w,grad(p)))*dx + K(f,zero)*(-inner(w,grad(pstar))+w[1])*dx
+L = f*inner(w,V)*dx + K*(-inner(w,grad(p)))*dx + K0*(-inner(w,grad(pstar))+w[1])*dx
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/Projection.form
--- a/MADDs-5/MADDs-5a/cpp/forms/Projection.form Sun Dec 06 14:02:56 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-# Copyright (C) 2008 Anders Logg.
-# Licensed under the GNU LGPL Version 2.1.
-#
-# First added: 2008-03-17
-# Last changed: 2008-03-17
-#
-# The bilinear form a(v, u) and linear form L(v) for
-# projection onto piecewise quadratics.
-#
-# Compile this form with FFC: ffc -l dolfin Projection.form.
-
-P1 = VectorElement("Lagrange", "triangle", 1)
-v = TestFunction(P1)
-u = TrialFunction(P1)
-f = Function(P1)
-
-a = dot(v,u)*dx
-L = dot(v,f)*dx
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/Projection_P2.ufl
--- a/MADDs-5/MADDs-5a/cpp/forms/Projection_P2.ufl Sun Dec 06 14:02:56 2009 -0500
+++ b/MADDs-5/MADDs-5a/cpp/forms/Projection_P2.ufl Sun Dec 06 14:03:20 2009 -0500
@@ -9,7 +9,7 @@
#
# Compile this form with FFC: ffc -l dolfin Projection.ufl.
-P2 = VectorElement("Lagrange", triangle, 2)
+P2 = VectorElement("Lagrange", "triangle", 2)
v = TestFunction(P2)
u = TrialFunction(P2)
f = Function(P2)
diff -r 925bd37bea8a -r 0b9832b2bf6b MADDs-5/MADDs-5a/cpp/forms/SemiLagrangianRHS.form
--- a/MADDs-5/MADDs-5a/cpp/forms/SemiLagrangianRHS.form Sun Dec 06 14:02:56 2009 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-# Copyright (C) 2008 Marc Spiegelman
-# Licensed under the GNU LGPL Version 2.1.
-#
-# Form for compiling RHS vector on a quadrature element
-#
-# Compile this form with FFC: ffc -l dolfin PressureEquation.form.
-
-P1 = FiniteElement("Lagrange", "triangle", 1)
-QE = QuadratureElement("triangle",2) # quadrature element for Semi-Lagrangian source term
-
-u = TestFunction(P1)
-gStar = Function(QE) # source term calculated from last time step by semi-Lagrangian update
-
-
-L = -u*gStar*dx
-
-
-
More information about the CIG-COMMITS
mailing list