15#ifndef __H__UG__PLUGINS__D3F__FRACT_EVAL__
16#define __H__UG__PLUGINS__D3F__FRACT_EVAL__
35template <
typename TGr
idFunc>
50 static const int dim = domain_type::dim;
115 const char * cmp_name,
126 const char * cmp_name,
128 const std::vector<number> & point_0,
129 const std::vector<number> & point_1
155 const char * inner_sep,
156 const char * outer_sep
163 const char * inner_sep,
164 const char * outer_sep
168 write (out, inner_sep, outer_sep);
174 const char * inner_sep,
175 const char * outer_sep
178 std::ostringstream str;
188 const char * cmp_name
198 size_t & num_fract_co,
200 size_t inner_side_corners [],
220 size_t inner_side_corners [],
static const size_t maxElemCorners
static const size_t maxLayerSideCorners
grid_dim_traits< dim >::grid_base_object element_type
grid_dim_traits< dim >::side_type side_type
Definition fract_eval.h:37
void get_local_coord(side_type *side, size_t num_co, position_accessor_type &aaPos, position_type &global, MathVector< dim-1 > &local)
gets the local coordinates of the intersection
Definition fract_eval_impl.h:131
std::vector< t_fract_pnt_data > m_values
to keep the values
Definition fract_eval.h:248
static const int dim
world dimension
Definition fract_eval.h:50
void check_values()
checks whether all the values are initialized
Definition fract_eval_impl.h:219
std::string get_as_string(const char *inner_sep, const char *outer_sep)
composes a string containing the values
Definition fract_eval.h:173
size_t num_intersections() const
returns the number of the values
Definition fract_eval.h:137
void init_and_check(const char *cmp_name)
completes the initialization and checks the data
Definition fract_eval_impl.h:68
static const size_t maxLayerSideCorners
max. number of corners of non-degenerated sides
Definition fract_eval.h:74
bool is_intersected(element_type *elem, Grid &grid, position_accessor_type &aaPos, position_type &intersection, size_t &num_fract_co, side_type *&inner_side, size_t inner_side_corners[], size_t ass_co[])
checks if the element and finds the intersection point with the inner side
Definition fract_eval_impl.h:92
size_t m_fct
the component of the grid function
Definition fract_eval.h:242
void get_and_write(std::ostream &out, const char *inner_sep, const char *outer_sep)
computes and writes the values into a given stream
Definition fract_eval.h:161
position_type m_point_0
one point on the line
Definition fract_eval.h:245
void get_co_values(element_type *elem, side_type *side, size_t num_fract_co, size_t inner_side_corners[], size_t ass_co[], MathVector< dim-1 > &local, number &inner_val, number &outer_val)
gets values in the intersected element
Definition fract_eval_impl.h:153
deg_layer_mngr_type::side_type side_type
type of sides of the degenerated elements
Definition fract_eval.h:68
void append_values(const side_type *side, const position_type &intersection, number inner_val, number outer_val)
appends the values into the list
Definition fract_eval_impl.h:193
number fract_value(size_t i) const
returns the fracture values no. i
Definition fract_eval.h:143
domain_type::position_type position_type
type of the vectors for positions
Definition fract_eval.h:56
LFEID m_lfeID
the local finite element id
Definition fract_eval.h:243
DegeneratedLayerManager< dim > deg_layer_mngr_type
type of the degenerated layer manager
Definition fract_eval.h:62
position_type position(size_t i) const
returns the coordinates of the intersection nu. i
Definition fract_eval.h:140
domain_type::position_accessor_type position_accessor_type
type of the position accessor
Definition fract_eval.h:59
number side_value_1(size_t i) const
returns the 1st side values no. i
Definition fract_eval.h:146
TGridFunc grid_func_type
grid function type
Definition fract_eval.h:47
static const size_t maxElemCorners
max. number of corners of the elements
Definition fract_eval.h:71
void get_all_values()
gets all values in all the intersected elements
Definition fract_eval_impl.h:230
SmartPtr< deg_layer_mngr_type > m_spDegLayerMngr
the degenerated manager
Definition fract_eval.h:244
SmartPtr< grid_func_type > m_spGridFunc
the grid function
Definition fract_eval.h:241
position_type m_point_1
another point on the line
Definition fract_eval.h:246
TGridFunc::domain_type domain_type
domain type
Definition fract_eval.h:41
number side_value_2(size_t i) const
returns the 2nd side values no. i
Definition fract_eval.h:149
TGridFunc::algebra_type algebra_type
algebra type
Definition fract_eval.h:44
deg_layer_mngr_type::element_type element_type
type of the degenerated elements
Definition fract_eval.h:65
domain_type::grid_type grid_type
grid type
Definition fract_eval.h:53
void write(std::ostream &out, const char *inner_sep, const char *outer_sep) const
writes all the values into a given stream
Definition fract_eval_impl.h:267
an auxiliary structure for the computed data
Definition fract_eval.h:80
number fract_val
value in the fracture
Definition fract_eval.h:85
t_fract_pnt_data(const t_fract_pnt_data &op)
Definition fract_eval.h:102
t_fract_pnt_data(const side_type *the_face, const position_type &the_intersection, number the_fract_val, number the_side_val)
Definition fract_eval.h:91
number side_val[2]
values at the sides of the fractures
Definition fract_eval.h:86
position_type intersection
(global) coordinates of the intersection
Definition fract_eval.h:83
bool closed
if the two side values have been already initialized
Definition fract_eval.h:88
const side_type * face
the inner face of the fracture
Definition fract_eval.h:81