vectorial::Vectorizable Class Referenceabstract

Interface to make bilinear forms vectorizable. More...

#include <vectorizable.hh>

Inheritance diagram for vectorial::Vectorizable:
hp2D::DivDiv< Weight > hp2D::RotRot hp3D::DivDiv< Weight > hp3D::RotRot

Public Member Functions

virtual concepts::Cloneabledata () const =0
 Returns the data to be shared. More...
 
virtual void data (concepts::Cloneable *)=0
 Sets the data to be shared. More...
 
virtual ~Vectorizable ()
 

Detailed Description

Interface to make bilinear forms vectorizable.

This interface adds methods to a class to get and put additional data (which is cloneable).

Bilinear forms which act as components of a vectorial::BilinearForm often share data amongst each other (e.g. Jacobians at the quadrature points—they only need to be computed once and can be used for all components of the vector valued bilinear form). When doing a deep copy of such a vector valued bilinear form, the components have to be copied and the shared data too. The most sensible place to keep the data is in vectorial::BilinearForm as this is the container for the scalar bilinear forms. After cloning of the scalar components of the bilnear form, the data has to be set in a second step (after having cloned it).

For vectorial::BilinearForm to be able to act on the bilinear forms that need it, they have to be derived from this class. As the data itself has to be cloneable, the deep copy of the vectorial::BilinearForm can be realised.

Author
Philipp Frauenfelder, 2004

Definition at line 39 of file vectorizable.hh.

Constructor & Destructor Documentation

◆ ~Vectorizable()

virtual vectorial::Vectorizable::~Vectorizable ( )
inlinevirtual

Definition at line 41 of file vectorizable.hh.

Member Function Documentation

◆ data() [1/2]

virtual concepts::Cloneable* vectorial::Vectorizable::data ( ) const
pure virtual

Returns the data to be shared.

Implemented in hp3D::RotRot, hp3D::DivDiv< Weight >, hp2D::RotRot, and hp2D::DivDiv< Weight >.

◆ data() [2/2]

virtual void vectorial::Vectorizable::data ( concepts::Cloneable )
pure virtual

Sets the data to be shared.

Implemented in hp3D::RotRot, hp3D::DivDiv< Weight >, hp2D::RotRot, and hp2D::DivDiv< Weight >.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich