18 #include "mesh/intersection.hh"
22 #include <boost/tokenizer.hpp>
23 #include "boost/lexical_cast.hpp"
30 : dim(isec->n_points() - 1),
31 master(ele_master), slave(ele_slave),
32 master_map(master->dim(), dim), slave_map(slave->dim(), dim),
33 master_shift(master->dim()), slave_shift(slave->dim())
38 cout <<
"Exception: master->dim() > slave->dim()" << endl;
46 for (
unsigned int i = 1; i < (
dim + 1); ++i) {
71 ASSERT_EQ(coord_el1.size() , vec1.n_elem);
75 ASSERT_EQ(coord_el2.size() , vec2.n_elem);
83 ASSERT_EQ(point.n_elem,
dim).error(
"Map to master: point.n_elem != dim \n");
93 ASSERT_EQ(point.n_elem,
dim).error(
"Map to slave: point.n_elem != dim \n");
103 static const double factorial[4] = {1.0, 1.0, 2.0, 6.0};
#define ASSERT_EQ(a, b)
Definition of comparative assert macro (EQual) only for debug mode.
double measure() const
Computes the measure of the element.
Class represents intersection of two elements.
Class represents an intersection point of simplex<N> and simplex<M>. It contains barycentric coordina...
arma::vec map_to_master(const arma::vec &point) const
ElementAccessor< 3 > slave
arma::Mat< double > master_map
matrix part of linear transform from reference element of intersection to reference element of master...
Intersection(ElementAccessor< 3 > ele_master, ElementAccessor< 3 > ele_slave, const IntersectionLocal *isec)
double intersection_true_size() const
unsigned int dim
dimenze pruniku
ElementAccessor< 3 > master
arma::Mat< double > slave_map
void intersection_point_to_vectors(const IntersectionPoint *point, arma::vec &vec1, arma::vec &vec2)
arma::vec master_shift
shift vector of the linear transform
arma::vec map_to_slave(const arma::vec &point) const
unsigned int slave_dim()
dimension of the slave element
unsigned int master_dim()
dimension of the master element