Go to the documentation of this file.
25 #ifndef ELEMENT_MATCH_HPP_INCLUDED
26 #define ELEMENT_MATCH_HPP_INCLUDED
32 #include <type_traits>
49 : m_match_dimension(match_dimension)
60 std::ostream &print_debug(std::ostream &os = std::cout)
const
62 os <<
"Element_match info:" << std::endl
63 <<
"Match_dimension: " << m_match_dimension << std::endl;
64 if (m_match_dimension != 2)
65 m_overlap.print_debug(os);
72 int m_match_dimension;
74 element_overlapping
const m_overlap;
85 template <
class test_field_t,
class trial_field_t>
92 bool const face_match_possible = std::is_same<
93 typename test_field_t::elem_t,
94 typename trial_field_t::elem_t
98 if (face_match_possible)
100 return element_match(test_field_t::elem_t::domain_t::dimension);
128 #endif // ELEMENT_MATCH_HPP_INCLUDED
element_match element_match_eval(field_base< test_field_t > const &test_field, field_base< trial_field_t > const &trial_field)
function to determine the overlapping state of two elements
return weak form formalism from the test and trial field types
defines the nodal degrees of freedoms of the shape functions
element_match(int match_dimension, element_overlapping const &overlap=element_overlapping())
constructor
int get_match_dimension() const
return singularity type
general case when the test field is not Dirac
const element_overlapping & get_overlap() const
return overlapping state
implementation of fields and field views
class describing the overlapping state of two elements
return formalism from Test and Trial field types
class describing the adjacency (match) state of two elements
const elem_t & get_elem() const
return underlying element
CRTP base class of all fields.
return true if the element is member of a sequence
unsigned get_num(void) const
return number of coincident nodes
Declaration of element classes.