1397
1397
/// Return a string identifying the form
1398
1398
virtual const char* signature() const
1400
return "b11880762fe9ba0b869c8ba8bd3bbd78006b1a55a28e47666f01447ae1caabf6a4d966f9cf6305d62d9682c9b0dc1bcd7fc886e006829b8c3014f3d7fbaa62bb";
1400
return "4b4142331df1e8998a3ccf552934c272015baeac44faaed738afdfb7d0561f2f988d1b337586394104296e8d3fa2ab16da3b17ce21b9fb421a8b2f7710c62c08";
1403
1403
/// Return the rank of the global tensor (r)
1516
//--- Constructors for standard function space, 2 different versions ---
1518
// Create standard function space (reference version)
1515
1519
CoefficientSpace_p(const dolfin::Mesh& mesh):
1516
1520
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
1517
1521
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1523
CoefficientSpace_p(dolfin::Mesh& mesh):
1524
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
1525
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1526
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new drag_dofmap_0()), mesh)))
1531
CoefficientSpace_p(boost::shared_ptr<dolfin::Mesh> mesh):
1532
dolfin::FunctionSpace(mesh,
1533
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1534
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new drag_dofmap_0()), *mesh)))
1527
// Create standard function space (shared pointer version)
1539
1528
CoefficientSpace_p(boost::shared_ptr<const dolfin::Mesh> mesh):
1540
1529
dolfin::FunctionSpace(mesh,
1541
1530
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1542
1531
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new drag_dofmap_0()), *mesh)))
1536
//--- Constructors for restricted function space, 2 different versions ---
1538
// Create restricted function space (reference version)
1539
CoefficientSpace_p(const dolfin::Restriction& restriction):
1540
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(restriction.mesh()),
1541
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1542
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new drag_dofmap_0()),
1543
reference_to_no_delete_pointer(restriction))))
1548
// Create restricted function space (shared pointer version)
1549
CoefficientSpace_p(boost::shared_ptr<const dolfin::Restriction> restriction):
1550
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(restriction->mesh()),
1551
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new drag_finite_element_0()))),
1552
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new drag_dofmap_0()),
1547
1559
~CoefficientSpace_p()
1553
typedef CoefficientSpace_p Form_0_FunctionSpace_0;
1565
typedef CoefficientSpace_p Form_M_FunctionSpace_0;
1555
class Form_0: public dolfin::Form
1567
class Form_M: public dolfin::Form
1560
Form_0(const dolfin::Mesh& mesh):
1572
Form_M(const dolfin::Mesh& mesh):
1561
1573
dolfin::Form(0, 1), p(*this, 0)
1563
1575
_mesh = reference_to_no_delete_pointer(mesh);
1568
Form_0(const dolfin::Mesh& mesh, const dolfin::GenericFunction& p):
1580
Form_M(const dolfin::Mesh& mesh, const dolfin::GenericFunction& p):
1569
1581
dolfin::Form(0, 1), p(*this, 0)
1571
1583
_mesh = reference_to_no_delete_pointer(mesh);
1578
Form_0(const dolfin::Mesh& mesh, boost::shared_ptr<const dolfin::GenericFunction> p):
1590
Form_M(const dolfin::Mesh& mesh, boost::shared_ptr<const dolfin::GenericFunction> p):
1579
1591
dolfin::Form(0, 1), p(*this, 0)
1581
1593
_mesh = reference_to_no_delete_pointer(mesh);