AFEPack
|
#include <FEMSpace.h>
公有类型 | |
enum | { dim = DIM, dow = DOW, tdim = TDIM } |
typedef value_type | value_t |
typedef FEMSpace< value_t, DIM, DOW, TDIM > | fe_space_t |
typedef Element< value_t, DIM, DOW, TDIM > | element_t |
typedef TemplateElement < value_t, DOW, TDIM > | template_t |
公有成员 | |
Element (fe_space_t &=*((fe_space_t *) NULL)) | |
Element (const element_t &) | |
~Element () | |
void | reinit (fe_space_t &, int, int) |
void | reinit (int, int) |
void | reinit (fe_space_t &, int, int, const std::vector< int > &) |
element_t & | operator= (const element_t &) |
const fe_space_t & | femSpace () const |
fe_space_t & | femSpace () |
Mesh< DIM, DOW > & | mesh () const |
int | index () const |
int & | index () |
GeometryBM & | geometry () const |
void | geometry (const GeometryBM &) |
void | geometry (int) |
int | templateElementIndex () const |
template_t & | templateElement () const |
void | templateElement (int) |
TemplateGeometry< TDIM > & | templateGeometry () const |
const std::vector< int > & | dof () const |
std::vector< int > & | dof () |
unsigned int | n_dof () const |
const std::vector< std::vector < int > > & | geometryImage () const |
std::vector< std::vector< int > > & | geometryImage () |
void | buildGeometryImage () |
void | lazyBuildGeometryImage () |
void | buildVertexArray (std::vector< afepack::Point< DOW > > &) const |
const double ** | buildVertexArray () const |
const BasisFunction< value_t, DIM, TDIM >::Identity & | basis_function_identity (int i) const |
value_t | basis_function_value (int i, const afepack::Point< DOW > &) const |
std::vector< value_t > | basis_function_value (const afepack::Point< DOW > &) const |
std::vector< value_t > | basis_function_value (int i, const std::vector< afepack::Point< DOW > > &) const |
std::vector< std::vector < value_t > > | basis_function_value (const std::vector< afepack::Point< DOW > > &) const |
std::vector< value_t > | basis_function_gradient (int i, const afepack::Point< DOW > &) const |
std::vector< std::vector < value_t > > | basis_function_gradient (const afepack::Point< DOW > &) const |
std::vector< std::vector < value_t > > | basis_function_gradient (int i, const std::vector< afepack::Point< DOW > > &) const |
std::vector< std::vector < std::vector< value_t > > > | basis_function_gradient (const std::vector< afepack::Point< DOW > > &) const |
afepack::Point< DOW > | local_to_global (const afepack::Point< TDIM > &) const |
afepack::Point< TDIM > | global_to_local (const afepack::Point< DOW > &) const |
double | local_to_global_jacobian (const afepack::Point< TDIM > &) const |
double | global_to_local_jacobian (const afepack::Point< DOW > &) const |
std::vector< afepack::Point < DOW > > | local_to_global (const std::vector< afepack::Point< TDIM > > &) const |
std::vector< afepack::Point < TDIM > > | global_to_local (const std::vector< afepack::Point< DOW > > &) const |
std::vector< double > | local_to_global_jacobian (const std::vector< afepack::Point< TDIM > > &) const |
std::vector< double > | global_to_local_jacobian (const std::vector< afepack::Point< DOW > > &) const |
std::vector< double > | unitOutNormal (const afepack::Point< DOW > &, int) const |
std::vector< std::vector < double > > | unitOutNormal (const std::vector< afepack::Point< DOW > > &, int) const |
const QuadratureInfo< TDIM > & | findQuadratureInfo (int) const |
DeclException1 (ExcMeshData, std::string,<< "Mesh data uncompatible: "<< arg1) | |
template<class T > | |
T * | new_property (const property_id_t< T > &pid) const |
template<class T > | |
T * | get_property (const property_id_t< T > &pid) const |
template<class T > | |
void | free_property (const property_id_t< T > &pid) const |
私有属性 | |
fe_space_t * | sp |
int | geometry_index |
int | template_element_index |
std::vector< int > | dof_index |
std::vector< std::vector< int > > | geo_img |
Element in finite element space. An element is contructed by mapping a template element to a real element geometry, then all those information about degree of freedom and basis function get its image on the real element. Then many operations needed in finite element calculation can be implemented on class Element
.
typedef Element<value_t,DIM,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::element_t |
typedef FEMSpace<value_t,DIM,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::fe_space_t |
typedef TemplateElement<value_t,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::template_t |
typedef value_type Element< value_type, DIM, DOW, TDIM >::value_t |
Element< value_type, DIM, DOW, TDIM >::Element | ( | fe_space_t & | = *((fe_space_t *) NULL) | ) | [explicit] |
Default contructor.
Element< value_type, DIM, DOW, TDIM >::Element | ( | const element_t & | ) |
Copy constructor.
Element< value_type, DIM, DOW, TDIM >::~Element | ( | ) |
Destructor.
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_gradient | ( | int | i, |
const afepack::Point< DOW > & | |||
) | const |
Gradient of certain basis function at a point.
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient | ( | const afepack::Point< DOW > & | ) | const |
Gradient of all basis functions at a point.
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient | ( | int | i, |
const std::vector< afepack::Point< DOW > > & | |||
) | const |
Gradient of certain basis function at points.
std::vector<std::vector<std::vector<value_t> > > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient | ( | const std::vector< afepack::Point< DOW > > & | ) | const |
Gradient of all basis functions at points.
const BasisFunction<value_t,DIM,TDIM>::Identity& Element< value_type, DIM, DOW, TDIM >::basis_function_identity | ( | int | i | ) | const |
Basis function identity of certain basis function.
value_t Element< value_type, DIM, DOW, TDIM >::basis_function_value | ( | int | i, |
const afepack::Point< DOW > & | |||
) | const |
Value of certain basis function at a point.
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_value | ( | const afepack::Point< DOW > & | ) | const |
Value of all basis functions at a point.
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_value | ( | int | i, |
const std::vector< afepack::Point< DOW > > & | |||
) | const |
Value of certain basis function at points.
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_value | ( | const std::vector< afepack::Point< DOW > > & | ) | const |
Value of all basis functions at points.
void Element< value_type, DIM, DOW, TDIM >::buildGeometryImage | ( | ) |
Build geometry image.
void Element< value_type, DIM, DOW, TDIM >::buildVertexArray | ( | std::vector< afepack::Point< DOW > > & | ) | const |
Build vertex array.
const double** Element< value_type, DIM, DOW, TDIM >::buildVertexArray | ( | ) | const |
Build vertex array.
Element< value_type, DIM, DOW, TDIM >::DeclException1 | ( | ExcMeshData | , |
std::string | , | ||
<< "Mesh data uncompatible: "<< | arg1 | ||
) |
const std::vector<int>& Element< value_type, DIM, DOW, TDIM >::dof | ( | ) | const |
Degree of freedom.
std::vector<int>& Element< value_type, DIM, DOW, TDIM >::dof | ( | ) |
Degree of freedom.
const fe_space_t& Element< value_type, DIM, DOW, TDIM >::femSpace | ( | ) | const |
Finite element space.
fe_space_t& Element< value_type, DIM, DOW, TDIM >::femSpace | ( | ) |
Finite element space.
const QuadratureInfo<TDIM>& Element< value_type, DIM, DOW, TDIM >::findQuadratureInfo | ( | int | ) | const |
Quadrature information with certain algebraic accuracy.
void Element< value_type, DIM, DOW, TDIM >::free_property | ( | const property_id_t< T > & | pid | ) | const [inline] |
GeometryBM& Element< value_type, DIM, DOW, TDIM >::geometry | ( | ) | const |
void Element< value_type, DIM, DOW, TDIM >::geometry | ( | const GeometryBM & | ) |
Set geometry.
void Element< value_type, DIM, DOW, TDIM >::geometry | ( | int | ) |
Set geometry according geometry index.
const std::vector<std::vector<int> >& Element< value_type, DIM, DOW, TDIM >::geometryImage | ( | ) | const |
Geometry image.
std::vector<std::vector<int> >& Element< value_type, DIM, DOW, TDIM >::geometryImage | ( | ) |
Geometry image.
T* Element< value_type, DIM, DOW, TDIM >::get_property | ( | const property_id_t< T > & | pid | ) | const [inline] |
afepack::Point<TDIM> Element< value_type, DIM, DOW, TDIM >::global_to_local | ( | const afepack::Point< DOW > & | ) | const |
Map a point from this element to template element.
std::vector<afepack::Point<TDIM> > Element< value_type, DIM, DOW, TDIM >::global_to_local | ( | const std::vector< afepack::Point< DOW > > & | ) | const |
Map points from this element to template element.
double Element< value_type, DIM, DOW, TDIM >::global_to_local_jacobian | ( | const afepack::Point< DOW > & | ) | const |
Jacobian deterninant at a point on this element.
std::vector<double> Element< value_type, DIM, DOW, TDIM >::global_to_local_jacobian | ( | const std::vector< afepack::Point< DOW > > & | ) | const |
Jacobian determinant at points on template element. Jacobian determinant at points on real element.
int Element< value_type, DIM, DOW, TDIM >::index | ( | ) | const |
Geometry index.
int& Element< value_type, DIM, DOW, TDIM >::index | ( | ) |
Geometry index.
void Element< value_type, DIM, DOW, TDIM >::lazyBuildGeometryImage | ( | ) |
Build geometry image.
afepack::Point<DOW> Element< value_type, DIM, DOW, TDIM >::local_to_global | ( | const afepack::Point< TDIM > & | ) | const |
Map a point from template element to this element.
std::vector<afepack::Point<DOW> > Element< value_type, DIM, DOW, TDIM >::local_to_global | ( | const std::vector< afepack::Point< TDIM > > & | ) | const |
Map points from template element to this element.
double Element< value_type, DIM, DOW, TDIM >::local_to_global_jacobian | ( | const afepack::Point< TDIM > & | ) | const |
Jacobian determinant at a point on template element.
std::vector<double> Element< value_type, DIM, DOW, TDIM >::local_to_global_jacobian | ( | const std::vector< afepack::Point< TDIM > > & | ) | const |
Mesh<DIM,DOW>& Element< value_type, DIM, DOW, TDIM >::mesh | ( | ) | const |
Mesh the finite element space on.
unsigned int Element< value_type, DIM, DOW, TDIM >::n_dof | ( | ) | const |
Number of degree of freedom.
T* Element< value_type, DIM, DOW, TDIM >::new_property | ( | const property_id_t< T > & | pid | ) | const [inline] |
element_t& Element< value_type, DIM, DOW, TDIM >::operator= | ( | const element_t & | ) |
Copy operator.
void Element< value_type, DIM, DOW, TDIM >::reinit | ( | fe_space_t & | , |
int | , | ||
int | |||
) |
Reinitialization.
void Element< value_type, DIM, DOW, TDIM >::reinit | ( | int | , |
int | |||
) |
Reinitialization.
void Element< value_type, DIM, DOW, TDIM >::reinit | ( | fe_space_t & | , |
int | , | ||
int | , | ||
const std::vector< int > & | |||
) |
Reinitialization.
template_t& Element< value_type, DIM, DOW, TDIM >::templateElement | ( | ) | const |
Template element.
void Element< value_type, DIM, DOW, TDIM >::templateElement | ( | int | ) |
Set template element according index.
int Element< value_type, DIM, DOW, TDIM >::templateElementIndex | ( | ) | const |
Get template element index.
TemplateGeometry<TDIM>& Element< value_type, DIM, DOW, TDIM >::templateGeometry | ( | ) | const |
Template element geometry.
std::vector<double> Element< value_type, DIM, DOW, TDIM >::unitOutNormal | ( | const afepack::Point< DOW > & | , |
int | |||
) | const |
std::vector<std::vector<double> > Element< value_type, DIM, DOW, TDIM >::unitOutNormal | ( | const std::vector< afepack::Point< DOW > > & | , |
int | |||
) | const |
std::vector<int> Element< value_type, DIM, DOW, TDIM >::dof_index [private] |
Information of degree of freedom on this element.
std::vector<std::vector<int> > Element< value_type, DIM, DOW, TDIM >::geo_img [private] |
Geometry image built according template geometry.
int Element< value_type, DIM, DOW, TDIM >::geometry_index [private] |
Index of real geometry in the mesh the finite element space on.
fe_space_t* Element< value_type, DIM, DOW, TDIM >::sp [private] |
Pointer to finite element space it belongs to.
int Element< value_type, DIM, DOW, TDIM >::template_element_index [private] |
Index of template element.