hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Hanging_vertex_matcher Class Reference

#include <Hanging_vertex_matcher.hpp>

Public Member Functions

 Hanging_vertex_matcher (std::vector< Element * > fine_elements, int i_dim, bool is_positive, std::array< bool, 2 > stretch={false, false})
 
void match (std::function< double &(Element &, int i_vertex)>)
 

Detailed Description

When hanging nodes are present, data at the hanging vertices (a.k.a. "hanging nodes") must match data on the coarse face, interpolated to the location of the hanging vertices. This class ensures that is the case by performing the necessary interpolation.

Constructor & Destructor Documentation

◆ Hanging_vertex_matcher()

hexed::Hanging_vertex_matcher::Hanging_vertex_matcher ( std::vector< Element * > fine_elements,
int i_dim,
bool is_positive,
std::array< bool, 2 > stretch = {false, false} )
Note
sensitive to the order in which elements are provided

Member Function Documentation

◆ match()

void hexed::Hanging_vertex_matcher::match ( std::function< double &(Element &, int i_vertex)> access_func)

Sets the values at the hanging vertices to the proper interpolated values.

Note
the interpolation is based on the values at the non-hanging vertices of the fine elements, not the Vertex::shared_value. So, if the shared value is desired, then this function should be called after Element::fetch_shareable_value.

The documentation for this class was generated from the following files: