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) {
72 vec1=arma::vec(coord_el1);
76 vec2=arma::vec(coord_el2);
83 OLD_ASSERT(( point.n_elem ==
dim ),
"Map to slave: point.n_elem(%d) != dim(%d) \n", point.n_elem,
dim);
85 arma::vec result(result_dim+1);
93 OLD_ASSERT(( point.n_elem ==
dim ),
"Map to slave: point.n_elem(%d) != dim(%d) \n", point.n_elem,
dim);
95 arma::vec result(result_dim+1);
103 static const double factorial[4] = {1.0, 1.0, 2.0, 6.0};
arma::vec map_to_master(const arma::vec &point) const
ElementAccessor< 3 > slave
arma::vec map_to_slave(const arma::vec &point) const
Class represents intersection of two elements.
Class represents an intersection point of simplex<N> and simplex<M>. It contains barycentric coordina...
ElementAccessor< 3 > master
unsigned int dim
dimenze pruniku
unsigned int master_dim()
dimension of the master element
arma::Mat< double > master_map
matrix part of linear transform from reference element of intersection to reference element of master...
unsigned int slave_dim()
dimension of the slave element
arma::vec master_shift
shift vector of the linear transform
void intersection_point_to_vectors(const IntersectionPoint *point, arma::vec &vec1, arma::vec &vec2)
double measure() const
Computes the measure of the element.
Intersection(ElementAccessor< 3 > ele_master, ElementAccessor< 3 > ele_slave, const IntersectionLocal *isec)
arma::Mat< double > slave_map
double intersection_true_size() const
#define OLD_ASSERT_EQUAL(a, b)