Flow123d  release_2.2.0-22-g936454a
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
Element Class Reference

#include <elements.h>

Collaboration diagram for Element:
Collaboration graph
[legend]

Public Member Functions

 Element ()
 
 Element (unsigned int dim, Mesh *mesh_in, RegionIdx reg)
 
void init (unsigned int dim, Mesh *mesh_in, RegionIdx reg)
 
 ~Element ()
 
unsigned int dim () const
 
unsigned int index () const
 
unsigned int n_sides () const
 
unsigned int n_nodes () const
 
ElementAccessor< 3 > element_accessor () const
 Gets ElementAccessor of this element. More...
 
double measure () const
 
arma::vec3 centre () const
 
double quality_measure_smooth ()
 
unsigned int n_sides_by_dim (unsigned int side_dim)
 
SideIter side (const unsigned int loc_index)
 
const SideIter side (const unsigned int loc_index) const
 
Region region () const
 
RegionIdx region_idx () const
 
unsigned int id () const
 
void get_bounding_box (BoundingBox &bounding_box) const
 
BoundingBox bounding_box ()
 
arma::mat element_map () const
 
arma::vec project_point (const arma::vec3 &point, const arma::mat &map) const
 
arma::vec project_point (const arma::vec3 &point)
 
arma::vec clip_to_element (arma::vec &barycentric)
 
vector< arma::vec3vertex_list ()
 

Public Attributes

int pid
 
Node ** node
 
unsigned int * edge_idx_
 
unsigned int * boundary_idx_
 
unsigned int * permutation_idx_
 
unsigned int n_neighs_vb
 
Neighbour ** neigh_vb
 
Meshmesh_
 

Protected Attributes

RegionIdx region_idx_
 
unsigned int dim_
 

Friends

class Mesh
 
template<int spacedim, class Value >
class Field
 

Detailed Description

Definition at line 39 of file elements.h.

Constructor & Destructor Documentation

Element::Element ( )

Definition at line 34 of file elements.cc.

Element::Element ( unsigned int  dim,
Mesh mesh_in,
RegionIdx  reg 
)

Definition at line 53 of file elements.cc.

Element::~Element ( )

Definition at line 80 of file elements.cc.

Member Function Documentation

BoundingBox Element::bounding_box ( )
inline

Return bounding box of the element.

Definition at line 102 of file elements.h.

Here is the caller graph for this function:

arma::vec3 Element::centre ( ) const

SET THE "CENTRE[]" FIELD IN STRUCT ELEMENT

Definition at line 120 of file elements.cc.

Here is the caller graph for this function:

arma::vec Element::clip_to_element ( arma::vec &  barycentric)
inline

Clip a point given by barycentric cocordinates to the element. If the point is out of the element the closest point projection to the element surface is used.

Definition at line 144 of file elements.h.

Here is the caller graph for this function:

unsigned int Element::dim ( ) const
inline

Definition at line 26 of file element_impls.hh.

ElementAccessor< 3 > Element::element_accessor ( ) const

Gets ElementAccessor of this element.

Definition at line 148 of file elements.cc.

Here is the caller graph for this function:

arma::mat Element::element_map ( ) const
inline

Map from reference element to global coord system. Matrix(3, dim()+1), last column is the translation vector.

Temporary, this should be provided be a separate finite element mapping class.

Definition at line 112 of file elements.h.

Here is the caller graph for this function:

void Element::get_bounding_box ( BoundingBox bounding_box) const

Computes bounding box of element (OBSOLETE)

Definition at line 196 of file elements.cc.

Here is the caller graph for this function:

unsigned int Element::id ( ) const

Definition at line 160 of file elements.cc.

Here is the caller graph for this function:

unsigned int Element::index ( ) const
inline

Definition at line 31 of file element_impls.hh.

void Element::init ( unsigned int  dim,
Mesh mesh_in,
RegionIdx  reg 
)

Definition at line 60 of file elements.cc.

Here is the caller graph for this function:

double Element::measure ( ) const

SET THE "METRICS" FIELD IN STRUCT ELEMENT

Definition at line 89 of file elements.cc.

Here is the caller graph for this function:

unsigned int Element::n_nodes ( ) const
inline

Definition at line 36 of file element_impls.hh.

Here is the caller graph for this function:

unsigned int Element::n_sides ( ) const
inline

Definition at line 42 of file element_impls.hh.

Here is the caller graph for this function:

unsigned int Element::n_sides_by_dim ( unsigned int  side_dim)

Count element sides of the space dimension side_dim.

Definition at line 137 of file elements.cc.

arma::vec Element::project_point ( const arma::vec3 point,
const arma::mat &  map 
) const

Project given point to the barycentic coordinates. Result vector have dimension dim()+1. Local coordinates are the first. Last is 1-...

Definition at line 205 of file elements.cc.

Here is the caller graph for this function:

arma::vec Element::project_point ( const arma::vec3 point)
inline

Project a point and create the map as well.

Definition at line 135 of file elements.h.

double Element::quality_measure_smooth ( )

Quality of the element based on the smooth and scale-invariant quality measures proposed in: J. R. Schewchuk: What is a Good Linear Element?

We scale the measure so that is gives value 1 for regular elements. Line 1d elements have always quality 1.

Definition at line 164 of file elements.cc.

Region Element::region ( ) const

Definition at line 155 of file elements.cc.

Here is the caller graph for this function:

RegionIdx Element::region_idx ( ) const
inline

Definition at line 71 of file elements.h.

SideIter Element::side ( const unsigned int  loc_index)
inline

Definition at line 48 of file element_impls.hh.

Here is the caller graph for this function:

const SideIter Element::side ( const unsigned int  loc_index) const
inline

Definition at line 52 of file element_impls.hh.

vector<arma::vec3> Element::vertex_list ( )
inline

Return list of element vertices.

Definition at line 157 of file elements.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

template<int spacedim, class Value >
friend class Field
friend

Definition at line 180 of file elements.h.

friend class Mesh
friend

Definition at line 177 of file elements.h.

Member Data Documentation

unsigned int* Element::boundary_idx_

Definition at line 83 of file elements.h.

unsigned int Element::dim_
protected

Definition at line 175 of file elements.h.

unsigned int* Element::edge_idx_

Definition at line 82 of file elements.h.

Mesh* Element::mesh_

Definition at line 169 of file elements.h.

unsigned int Element::n_neighs_vb

Definition at line 164 of file elements.h.

Neighbour** Element::neigh_vb

Definition at line 166 of file elements.h.

Node** Element::node

Definition at line 79 of file elements.h.

unsigned int* Element::permutation_idx_

Indices of permutations of nodes on sides. It determines, in which order to take the nodes of the side so as to obtain the same order as on the reference side (side 0 on the particular edge).

Permutations are defined in RefElement::side_permutations.

Definition at line 92 of file elements.h.

int Element::pid

Definition at line 76 of file elements.h.

RegionIdx Element::region_idx_
protected

Definition at line 174 of file elements.h.


The documentation for this class was generated from the following files: