#include <et.hpp>


| Public Types | |
| typedef material::TVector3 | coor_type | 
| typedef size_t | count_type | 
| typedef unsigned int | index_type | 
| typedef material::TMatrix | matrix_type | 
| typedef double | real_type | 
| typedef std::vector< int > | TIntStdVector | 
| typedef std::vector < ETIntegrationPoint > | TVectorIntegrationpoints | 
| typedef std::vector< ushort > | Type_available_dof | 
| typedef boost::ptr_vector< ETEdge > | Type_edge_vector | 
| enum | Type_elemental_integration_type { NODAL_CONTINUUM = 0, NUM_ELEMENTAL_INTEGRATION_TYPES } | 
| typedef boost::ptr_vector< ETFace > | Type_face_vector | 
| typedef std::vector< IntCell_ET > | Type_intcell_vector | 
| typedef std::vector < MaterialIntptDef > | Type_materialintpt_vector | 
| typedef boost::ptr_vector< ETNode > | Type_node_vector | 
| enum | Type_physical_fields { STRUCTURAL_FIELDS = 0, NUM_PHYSICAL_FIELDS } | 
| typedef boost::function< void(const coor_type &nat_coor, matrix_type &shape_der)> | Type_shape_der_func | 
| typedef boost::function< void(const coor_type &nat_coor, vector_type &shape)> | Type_shape_func | 
| typedef boost::function< void()> | Type_void_function | 
| a type for simple void methods: | |
| typedef unsigned int | uint | 
| typedef material::TVector | vector_type | 
| Public Member Functions | |
| TIntStdVector & | edgeIndexFromIntptIndex () | 
| const TIntStdVector & | edgeIndexFromIntptIndex () const | 
| const Type_edge_vector & | edges () const | 
| gets the local edges | |
| const Type_shape_func & | edgeShape () const | 
| gives access to m_edge_shape | |
| const std::vector< bool > & | elementalIntegrationTypes () const | 
| gets elemental_integration_types | |
| ET (const count_type &theindex, const std::string &theident, const ushort &numnodes, const std::vector< bool > &thephysical_fields, const std::vector< bool > &theelemental_integration_types, const matrix_type &localcoordinatesofnodes, const matrix_type &localcoordinatesofinnernodes, const Type_available_dof &theavailable_dof, const Type_void_function &func_getSimplices, const Type_intcell_vector &par_int_cells_for_N_A, const Type_intcell_vector &par_int_cells_for_N_AB, const Type_intcell_vector &par_int_cells_for_N_AB_der, const Type_intcell_vector &par_int_cells_for_M_A, const Type_intcell_vector &par_int_cells_for_M_AB, const Type_intcell_vector &par_int_cells_for_M_AB_der, const IntegrationNodeType &the_nodal_int_type_) | |
| const Type_face_vector & | faces () const | 
| gets the local faces | |
| const Type_edge_vector & | getEdges () const | 
| gets the local edges | |
| const Type_face_vector & | getFaces () const | 
| gets the local faces | |
| const std::string & | getIdent () const | 
| returns the element type as a string | |
| const index_type & | getIndex () const | 
| returns the element type | |
| void | getLocalNodeCoor (const unsigned short &pt, real_type *const coor) const | 
| gets the local coordinates of the local point and writes it to coor | |
| const Type_node_vector & | getNodes () const | 
| gets the local nodes | |
| TVectorIntegrationpoints & | globalIntegrationpoints () | 
| const TVectorIntegrationpoints & | globalIntegrationpoints () const | 
| Type_materialintpt_vector & | innerIntpts () | 
| const Type_materialintpt_vector & | innerIntpts () const | 
| gives access to shape_material_der | |
| const Type_shape_func & | innerShape () const | 
| gives access to shape_strain_intpts | |
| Type_intcell_vector & | intCellsM_A () | 
| sets int_cells_for_M_A | |
| const Type_intcell_vector & | intCellsM_A () const | 
| gets int_cells_for_M_A | |
| Type_intcell_vector & | intCellsM_AB () | 
| sets int_cells_for_M_AB | |
| const Type_intcell_vector & | intCellsM_AB () const | 
| gets int_cells_for_M_AB | |
| Type_intcell_vector & | intCellsM_AB_der () | 
| sets int_cells_for_M_A_der | |
| const Type_intcell_vector & | intCellsM_AB_der () const | 
| gets int_cells_for_M_AB_der | |
| Type_intcell_vector & | intCellsN_A () | 
| sets int_cells_for_N_A | |
| const Type_intcell_vector & | intCellsN_A () const | 
| gets int_cells_for_N_A | |
| Type_intcell_vector & | intCellsN_AB () | 
| sets int_cells_for_N_AB | |
| const Type_intcell_vector & | intCellsN_AB () const | 
| gets int_cells_for_N_AB | |
| Type_intcell_vector & | intCellsN_AB_der () | 
| sets int_cells_for_N_A_der | |
| const Type_intcell_vector & | intCellsN_AB_der () const | 
| gets int_cells_for_N_AB_der | |
| TIntStdVector & | intptIndexFromEdgeIndex () | 
| const TIntStdVector & | intptIndexFromEdgeIndex () const | 
| TIntStdVector & | intptIndexFromNodeIndex () | 
| const TIntStdVector & | intptIndexFromNodeIndex () const | 
| const Type_shape_func & | intShape () const | 
| gives access to m_int_shape | |
| const matrix_type & | localInnerNodeCoor () const | 
| returns the local coordinates of the inner element nodes | |
| const matrix_type & | localNodeCoor () const | 
| returns the local coordinates of the element nodes | |
| const real_type | localNodeCoor (const ushort &pt, const short &dim) const | 
| returns the 'dim'th local coordinate of node 'pt' | |
| const IntegrationNodeType & | nodalIntType () const | 
| gets nodal integration type | |
| TIntStdVector & | nodeIndexFromIntptIndex () | 
| const TIntStdVector & | nodeIndexFromIntptIndex () const | 
| Type_node_vector & | nodes () | 
| modifier for local nodes | |
| const Type_node_vector & | nodes () const | 
| gets the local nodes | |
| const ushort & | numNodes () const | 
| returns the specific integration point data | |
| const std::vector< bool > & | physicalFields () const | 
| returns the vector of considered physical fields | |
| const Type_shape_func & | shape () const | 
| gives access to shape | |
| const Type_shape_der_func & | shapeGrad () const | 
| gives access to shape_der | |
| const std::vector< ushort > & | simplexDecomposition () const | 
| Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef unsigned short | ushort | 
| Protected Member Functions | |
| Type_edge_vector & | edges () | 
| sets the local edges | |
| Type_face_vector & | faces () | 
| sets the local faces | |
| const std::vector< bool > | getElementalIntegrationType_NodalContinuum () const | 
| const std::vector< bool > | getPhysicalType_Mechanical () const | 
| void | getSimplices () | 
| void | sortSimplexPoints () | 
| Protected Attributes | |
| std::vector< bool > | elemental_integration_types | 
| const std::string | ident | 
| the identifier | |
| const index_type | index | 
| the global index | |
| Type_materialintpt_vector | inner_intpts | 
| Type_intcell_vector | int_cells_for_M_A | 
| integration cells for integration of element: N_A | |
| Type_intcell_vector | int_cells_for_M_AB | 
| integration cells for integration of element: N_A*N_B | |
| Type_intcell_vector | int_cells_for_M_AB_der | 
| integration cells for integration of element: M_A*N_B_der (M_A: inner shape) | |
| Type_intcell_vector | int_cells_for_N_A | 
| integration cells for integration of element: N_A | |
| Type_intcell_vector | int_cells_for_N_AB | 
| integration cells for integration of element: N_A*N_B | |
| Type_intcell_vector | int_cells_for_N_AB_der | 
| integration cells for integration of element: N_A*N_B_der | |
| const matrix_type | local_coordinates_of_inner_nodes | 
| const matrix_type | local_coordinates_of_nodes | 
| Type_shape_func | m_edge_shape | 
| the shape function which is associated with the edges | |
| TIntStdVector | m_edgeindex_from_intpt | 
| a map which returns the edge intpt index, given a global intpt index | |
| Type_edge_vector | m_edges | 
| the topological edges | |
| Type_face_vector | m_faces | 
| the topological faces | |
| TVectorIntegrationpoints | m_global_integrationpoints | 
| the container with the "definition data" of global integration points: | |
| Type_shape_func | m_inner_shape | 
| Type_shape_func | m_int_shape | 
| the shape function which is associated with the integration points | |
| TIntStdVector | m_intptindex_from_edge | 
| a map which returns the global intpoint index, given an edge index | |
| TIntStdVector | m_intptindex_from_node | 
| a map which returns the elemental intpt index given an elemental node index | |
| TIntStdVector | m_node_from_intpt | 
| a map which returns the elemental node index given an elemental integration point index | |
| Type_node_vector | m_nodes | 
| the topological nodes | |
| Type_shape_func | m_shape | 
| Type_shape_der_func | m_shape_grad | 
| std::vector< ushort > | m_simplices | 
| the topological simplices: (p1_1 p1_2 p1_3 p1_4, p2_1 p2_2 p2_3 p2_4, ..., pn_1 pn_2 pn_3 pn_4) where pA_B is the index of a local node | |
| const IntegrationNodeType & | nodal_int_type | 
| nodal integration type | |
| const ushort | num_nodes | 
| number of nodes | |
| std::vector< bool > | physical_fields | 
| Private Member Functions | |
| void | edge_shape_default (const coor_type &nat_coor, vector_type &shape) | 
| void | int_shape_default (const coor_type &nat_coor, vector_type &shape) | 
| void | shape_default (const coor_type &nat_coor, vector_type &shape) | 
| void | shape_grad_default (const coor_type &nat_coor, matrix_type &shape_der) | 
| void sfem::element::ET::getSimplices | ( | ) |  [protected] | 
an abstract routine which subdivides the element into simplices. it returns the number of simplices (number) and creates memory for the output ('points'). points will be a matrix (4*number), each column is a simplex whereby the local point indices are stored.
| const ushort& sfem::element::ET::numNodes | ( | ) | const  [inline] | 
returns the specific integration point data
| intpt | ... number of intpt returns the number of nodes | 
| const std::vector<ushort>& sfem::element::ET::simplexDecomposition | ( | ) | const  [inline] | 
returns the interpolation function values at the given natural coordinate, given a node_list with indices to _REST_MACRO_ node_table [node_list[i]] obbtaining the nodal coordinates and displacements. in: nat_coor[3], node_list[num nodes], out: coor[3], disp[6]. The default implementation does: x=sum(i=1..n, shape(i,r)*nodal_x(i)), returns the interpolation function derivatives at the given natural coordinate, derived by the natural coordinates, given a node_list with indices to _REST_MACRO_ node_table [node_list[i]], obbtaining the nodal coordinates and displacements derivatives. in: nat_coor[3], node_list[num nodes], out: coor[3*3], disp[3*6], matrices stored in the vector form (dx1/dr,...,dx3/dr, dx1/ds,...,dx3/ds, dx1/dt,...,dx3/dt) The default implementation does: x_der=sum(i=1..n, shape_der(i,r)*nodal_x(i)),
| void sfem::element::ET::sortSimplexPoints | ( | ) |  [protected] | 
this methods resorts the simplex-points such that they have positive volume. It must be called after getSimplices() and will be called automatically by generateTopology().
| std::vector<bool> sfem::element::ET::elemental_integration_types  [protected] | 
determines the type of the element integration: indices correpond to 'Type_elemental_integration_type' size()=NUM_ELEMENTAL_INTEGRATION_TYPES
| const matrix_type sfem::element::ET::local_coordinates_of_inner_nodes  [protected] | 
the local coordinates of the inner (invisible) nodes (if any defined): [ r1 s1 t1, r2 s2 t2, ..., rn sn tn] (first index: x,y,z, second index: node index, fortran_storage_order)
| const matrix_type sfem::element::ET::local_coordinates_of_nodes  [protected] | 
the local coordinates of the nodes (important for topology information): [ r1 s1 t1, r2 s2 t2, ..., rn sn tn] (first index: x,y,z, second index: node index, fortran_storage_order)
| Type_shape_func sfem::element::ET::m_shape  [protected] | 
returns the shape function values at the given natural coordinate. in: nat_coor[3], out: shape[num nodes]
| Type_shape_der_func sfem::element::ET::m_shape_grad  [protected] | 
returns the shape function derivatives at the given natural coordinate. in: nat_coor[3], out: shape[num nodes * 3] (dN(1)/dr,...,dN(n)/dr, dN(1)/ds,...,dN(n)/ds, dN(1)/dt,...,dN(n)/dt)
| std::vector<bool> sfem::element::ET::physical_fields  [protected] | 
the types of physical fields this element covers. indices correspond to 'Type_physical_fields' size()=NUM_PHYSICAL_FIELDS
 1.5.6
 1.5.6