Flow123d  release_2.2.0-914-gf1a3a4f
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
 Computes the measure of the element. More...
 
double tetrahedron_jacobian () const
 
arma::vec3 centre () const
 Computes the barycenter. More...
 
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
 
BoundingBoxget_bounding_box_fast (BoundingBox &bounding_box) const
 Return precomputed bounding box. More...
 
BoundingBox bounding_box ()
 
vector< arma::vec3vertex_list ()
 
unsigned int get_proc () const
 

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 35 of file elements.cc.

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

Definition at line 54 of file elements.cc.

Element::~Element ( )

Definition at line 81 of file elements.cc.

Member Function Documentation

BoundingBox Element::bounding_box ( )
inline

Return bounding box of the element. Simpler code, but need to check performance penelty.

Definition at line 117 of file elements.h.

Here is the caller graph for this function:

arma::vec3 Element::centre ( ) const

Computes the barycenter.

SET THE "CENTRE[]" FIELD IN STRUCT ELEMENT

Definition at line 130 of file elements.cc.

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 158 of file elements.cc.

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 206 of file elements.cc.

Here is the caller graph for this function:

BoundingBox & Element::get_bounding_box_fast ( BoundingBox bounding_box) const

Return precomputed bounding box.

Definition at line 214 of file elements.cc.

unsigned int Element::get_proc ( ) const

Definition at line 221 of file elements.cc.

Here is the caller graph for this function:

unsigned int Element::id ( ) const

Definition at line 170 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.

Here is the caller graph for this function:

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

Definition at line 61 of file elements.cc.

Here is the caller graph for this function:

double Element::measure ( ) const

Computes the measure of the element.

SET THE "METRICS" FIELD IN STRUCT ELEMENT

Definition at line 90 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 147 of file elements.cc.

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 174 of file elements.cc.

Region Element::region ( ) const

Definition at line 165 of file elements.cc.

Here is the caller graph for this function:

RegionIdx Element::region_idx ( ) const
inline

Definition at line 82 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.

double Element::tetrahedron_jacobian ( ) const

Computes the Jacobian of the element. J = det ( 1 1 1 1 ) x1 x2 x3 x4 y1 y2 y3 y4 z1 z2 z3 z4

Definition at line 116 of file elements.cc.

Here is the caller graph for this function:

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

Return list of element vertices.

Definition at line 124 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 149 of file elements.h.

friend class Mesh
friend

Definition at line 146 of file elements.h.

Member Data Documentation

unsigned int* Element::boundary_idx_

Definition at line 94 of file elements.h.

unsigned int Element::dim_
protected

Definition at line 144 of file elements.h.

unsigned int* Element::edge_idx_

Definition at line 93 of file elements.h.

Mesh* Element::mesh_

Definition at line 138 of file elements.h.

unsigned int Element::n_neighs_vb

Definition at line 133 of file elements.h.

Neighbour** Element::neigh_vb

Definition at line 135 of file elements.h.

Node** Element::node

Definition at line 90 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 103 of file elements.h.

int Element::pid

Definition at line 87 of file elements.h.

RegionIdx Element::region_idx_
protected

Definition at line 143 of file elements.h.


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