#include <periodic.hpp>
Periodic class holder.
the periodic condition is set both as template parameter for the functionspace and constructor parameter. In the former the tags that are periodic/linked together are set as well as the fact that we have a periodic condition. In the former we set the translation Trans that allow to link the dofs of tag2 and tag1.
This data structure is then passed to the Dof class as well that will actually do the real work to treat the periodic condition. Its job is to set the same dof identifier for the dof on Tag2 as the Dof on Tag1 with respect to the translation Trans. The 'periodic condition' check must be done for all entities of an element (vertex,edge,face,volume) even for the volume (think P0 discontinuous). During the check the dof points coordinates of Tag1 are put into a data structure DS as well as the corresponding dof identifier for rapid localisation then the dof points are translation by Trans and look for in DS. One and only one point must be found, then the dof identifier of the original point in Tag2 is set to the one in Tag1.
Issues:
Inherits Feel::detail::periodicity_base.
Public Member Functions | |
Constructors, destructor | |
Periodic () | |
Periodic (uint16_type tag1, uint16_type tag2, node_type const &trans) | |
Periodic (Periodic const &p) | |
~Periodic () | |
Methods | |
uint16_type | tag1 () const |
uint16_type | tag2 () const |
Constants | |
typedef node< T >::type | node_type |
static const bool | is_periodic = true |
Accessors | |
node_type const & | translation () |
return the translation condition that should be applied on Tag2 | |
static bool | isPeriodic () |
return whether the condition is periodic or not | |