|
Plugins
|
#include <fract_eval.h>
Classes | |
| struct | t_fract_pnt_data |
| an auxiliary structure for the computed data More... | |
Public Types | |
| typedef TGridFunc::algebra_type | algebra_type |
| algebra type | |
| typedef DegeneratedLayerManager< dim > | deg_layer_mngr_type |
| type of the degenerated layer manager | |
| typedef TGridFunc::domain_type | domain_type |
| domain type | |
| typedef deg_layer_mngr_type::element_type | element_type |
| type of the degenerated elements | |
| typedef TGridFunc | grid_func_type |
| grid function type | |
| typedef domain_type::grid_type | grid_type |
| grid type | |
| typedef domain_type::position_accessor_type | position_accessor_type |
| type of the position accessor | |
| typedef domain_type::position_type | position_type |
| type of the vectors for positions | |
| typedef deg_layer_mngr_type::side_type | side_type |
| type of sides of the degenerated elements | |
Public Member Functions | |
| number | fract_value (size_t i) const |
| returns the fracture values no. i | |
| FractGFEval (SmartPtr< grid_func_type > spGridFunc, const char *cmp_name, SmartPtr< deg_layer_mngr_type > spDegLayerMngr, const position_type &point_0, const position_type &point_1) | |
| class constructor | |
| void | get_all_values () |
| gets all values in all the intersected elements | |
| void | get_and_write (std::ostream &out, const char *inner_sep, const char *outer_sep) |
| computes and writes the values into a given stream | |
| std::string | get_as_string (const char *inner_sep, const char *outer_sep) |
| composes a string containing the values | |
| size_t | num_intersections () const |
| returns the number of the values | |
| position_type | position (size_t i) const |
| returns the coordinates of the intersection nu. i | |
| number | side_value_1 (size_t i) const |
| returns the 1st side values no. i | |
| number | side_value_2 (size_t i) const |
| returns the 2nd side values no. i | |
| void | write (std::ostream &out, const char *inner_sep, const char *outer_sep) const |
| writes all the values into a given stream | |
Static Public Attributes | |
| static const int | dim = domain_type::dim |
| world dimension | |
| static const size_t | maxElemCorners = deg_layer_mngr_type::maxElemCorners |
| max. number of corners of the elements | |
| static const size_t | maxLayerSideCorners = deg_layer_mngr_type::maxLayerSideCorners |
| max. number of corners of non-degenerated sides | |
Private Member Functions | |
| void | append_values (const side_type *side, const position_type &intersection, number inner_val, number outer_val) |
| appends the values into the list | |
| void | check_values () |
| checks whether all the values are initialized | |
| 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 | |
| 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 | |
| void | init_and_check (const char *cmp_name) |
| completes the initialization and checks the data | |
| 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 | |
Private Attributes | |
| size_t | m_fct |
| the component of the grid function | |
| LFEID | m_lfeID |
| the local finite element id | |
| position_type | m_point_0 |
| one point on the line | |
| position_type | m_point_1 |
| another point on the line | |
| SmartPtr< deg_layer_mngr_type > | m_spDegLayerMngr |
| the degenerated manager | |
| SmartPtr< grid_func_type > | m_spGridFunc |
| the grid function | |
| std::vector< t_fract_pnt_data > | m_values |
| to keep the values | |
A class for evaluation of grid functions in fractures
| TGridFunc | grid function type |
| typedef TGridFunc::algebra_type ug::d3f::FractGFEval< TGridFunc >::algebra_type |
algebra type
| typedef DegeneratedLayerManager<dim> ug::d3f::FractGFEval< TGridFunc >::deg_layer_mngr_type |
type of the degenerated layer manager
| typedef TGridFunc::domain_type ug::d3f::FractGFEval< TGridFunc >::domain_type |
domain type
| typedef deg_layer_mngr_type::element_type ug::d3f::FractGFEval< TGridFunc >::element_type |
type of the degenerated elements
| typedef TGridFunc ug::d3f::FractGFEval< TGridFunc >::grid_func_type |
grid function type
| typedef domain_type::grid_type ug::d3f::FractGFEval< TGridFunc >::grid_type |
grid type
| typedef domain_type::position_accessor_type ug::d3f::FractGFEval< TGridFunc >::position_accessor_type |
type of the position accessor
| typedef domain_type::position_type ug::d3f::FractGFEval< TGridFunc >::position_type |
type of the vectors for positions
| typedef deg_layer_mngr_type::side_type ug::d3f::FractGFEval< TGridFunc >::side_type |
type of sides of the degenerated elements
| ug::d3f::FractGFEval< TGridFunc >::FractGFEval | ( | SmartPtr< grid_func_type > | spGridFunc, |
| const char * | cmp_name, | ||
| SmartPtr< deg_layer_mngr_type > | spDegLayerMngr, | ||
| const position_type & | point_0, | ||
| const position_type & | point_1 | ||
| ) |
class constructor
Constructor
| spGridFunc | the grid func. to evaluate |
| cmp_name | name of the component |
| spDegLayerMngr | the degenerated layer manager |
| point_0 | one point of the line segment |
| point_1 | another point of the line segment |
References ug::d3f::FractGFEval< TGridFunc >::init_and_check().
|
private |
appends the values into the list
Appends the values into the list
| side | the side |
| inner_val | < the position of the intersection values at the corners of the inner side |
| outer_val | values at the corners of the outer side |
References ug::d3f::FractGFEval< TGridFunc >::t_fract_pnt_data::closed, ug::d3f::FractGFEval< TGridFunc >::t_fract_pnt_data::face, ug::d3f::FractGFEval< TGridFunc >::t_fract_pnt_data::side_val, and UG_THROW.
|
private |
checks whether all the values are initialized
Checks whether all the values are initialized
References UG_THROW.
|
inline |
returns the fracture values no. i
References ug::d3f::FractGFEval< TGridFunc >::m_values.
| void ug::d3f::FractGFEval< TGridFunc >::get_all_values | ( | ) |
gets all values in all the intersected elements
Gets all values in all the intersected elements
References grid().
Referenced by ug::d3f::FractGFEval< TGridFunc >::get_and_write().
|
inline |
computes and writes the values into a given stream
| out | < the stream to write to |
| inner_sep | a separator between the data of one intersection |
| outer_sep | a separator of the intersections |
References ug::d3f::FractGFEval< TGridFunc >::get_all_values(), and ug::d3f::FractGFEval< TGridFunc >::write().
Referenced by ug::d3f::FractGFEval< TGridFunc >::get_as_string().
|
inline |
composes a string containing the values
| inner_sep | a separator between the data of one intersection |
| outer_sep | a separator of the intersections |
References ug::d3f::FractGFEval< TGridFunc >::get_and_write().
|
private |
gets values in the intersected element
Gets values in the intersected element
| elem | the degenerated element |
| side | the inner side of the element |
| num_fract_co | number of corners of the inner/outer sides |
| inner_side_corners | inner side corner idx -> elem. corner idx (maxLayerSideCorners elements) |
| ass_co | correspondence of the corners of the sides (2 * maxLayerSideCorners elements or NULL) |
| local | local coordinates of the intersection point (maxLayerSideCorners elements) |
| inner_val | values at the corners of the inner side |
| outer_val | values at the corners of the outer side |
References ug::DoFRef(), and UG_THROW.
|
private |
gets the local coordinates of the intersection
Gets the local coordinates of the intersection
| side | the element for the local coord |
| num_co | number of corners of the sides |
| aaPos | position of the vertices |
| global | global coordinates of the intersection |
| local | local coordinates of the intersection |
References ug::ReferenceMappingProvider::get(), and ug::DimReferenceMapping< int TDim, int TWorldDim >::global_to_local().
|
private |
completes the initialization and checks the data
Complete the initialization and check the data
| cmp_name | name of the function component |
References UG_THROW.
Referenced by ug::d3f::FractGFEval< TGridFunc >::FractGFEval().
|
private |
checks if the element and finds the intersection point with the inner side
Checks if the element and finds the intersection point with the inner side
| [in] | elem | the element |
| [in] | grid | the grid |
| [in] | aaPos | position of the vertices |
| [out] | intersection | the intersection of the inner fracture side |
| [out] | num_fract_co | number of corners of the inner/outer sides |
| [out] | inner_side | its fracture inner side |
| [out] | inner_side_corners | inner side corner idx -> elem. corner idx (maxLayerSideCorners elements) |
| [out] | ass_co | correspondence of the corners of the sides (2 * maxLayerSideCorners elements or NULL) |
References grid(), ug::RayElementIntersection(), ug::SMALL, UG_THROW, ug::VecScaleAppend(), and ug::VecSubtract().
|
inline |
returns the number of the values
References ug::d3f::FractGFEval< TGridFunc >::m_values.
|
inline |
returns the coordinates of the intersection nu. i
References ug::d3f::FractGFEval< TGridFunc >::m_values.
|
inline |
returns the 1st side values no. i
References ug::d3f::FractGFEval< TGridFunc >::m_values.
|
inline |
returns the 2nd side values no. i
References ug::d3f::FractGFEval< TGridFunc >::m_values.
| void ug::d3f::FractGFEval< TGridFunc >::write | ( | std::ostream & | out, |
| const char * | inner_sep, | ||
| const char * | outer_sep | ||
| ) | const |
writes all the values into a given stream
| out | < the stream to write to |
| inner_sep | a separator between the data of one intersection |
| outer_sep | a separator of the intersections |
Referenced by ug::d3f::FractGFEval< TGridFunc >::get_and_write().
|
static |
world dimension
|
private |
the component of the grid function
|
private |
the local finite element id
|
private |
one point on the line
|
private |
another point on the line
|
private |
the degenerated manager
|
private |
the grid function
|
private |
|
static |
max. number of corners of the elements
|
static |
max. number of corners of non-degenerated sides