AFEPack
|
#include <TemplateElement.h>
公有类型 | |
enum | { dim = DIM, tdim = TDIM } |
typedef afepack::Point< DIM > | point_t |
typedef afepack::Point< TDIM > | ref_point_t |
公有成员 | |
CoordTransform () | |
CoordTransform (const CoordTransform< TDIM, DIM > &) | |
~CoordTransform () | |
CoordTransform< TDIM, DIM > & | operator= (const CoordTransform< TDIM, DIM > &) |
void | loadFunction () |
void | unloadFunction () |
point_t | local_to_global (const ref_point_t &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
ref_point_t | global_to_local (const point_t &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
double | local_to_global_jacobian (const ref_point_t &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
double | global_to_local_jacobian (const point_t &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
std::vector< point_t > | local_to_global (const std::vector< ref_point_t > &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
std::vector< ref_point_t > | global_to_local (const std::vector< point_t > &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
std::vector< double > | local_to_global_jacobian (const std::vector< ref_point_t > &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
std::vector< double > | global_to_local_jacobian (const std::vector< point_t > &, const std::vector< ref_point_t > &, const std::vector< point_t > &) const |
void | readData (const std::string &) |
void | writeData (const std::string &) const |
DeclException1 (ExcFileOpen, char *,<< "Can't open library "<< arg1) | |
DeclException2 (ExcLoadFunction, char *, char *,<< "Can't load function "<< arg1<< " from library "<< arg2) | |
私有属性 | |
void * | handle |
std::string | library_path |
std::string | library_name |
std::string | l2g_function_name |
std::string | g2l_function_name |
std::string | l2g_jacobian_function_name |
std::string | g2l_jacobian_function_name |
void(* | l2g_function )(const double *, const double **, const double **, double *) |
void(* | g2l_function )(const double *, const double **, const double **, double *) |
double(* | l2g_jacobian_function )(const double *, const double **, const double **) |
double(* | g2l_jacobian_function )(const double *, const double **, const double **) |
友元 | |
template<class STREAM , int TGDIM, int GDIM> | |
STREAM & | operator>> (STREAM &, CoordTransform< TGDIM, GDIM > &) |
template<class STREAM , int TGDIM, int GDIM> | |
STREAM & | operator<< (STREAM &, const CoordTransform< TGDIM, GDIM > &) |
Coordinate transformation between the template element geometry and real element geometry. This class only contains the information of several functions to implement such operations. Those functions serious depend on the order of the vertices of the geometries. The facilities provided including: get the corresponding point on the real element of a point on the template element and vice visa, get the Jacobian determinant at a certain point on the template element or on the real element.
typedef afepack::Point<DIM> CoordTransform< TDIM, DIM >::point_t |
typedef afepack::Point<TDIM> CoordTransform< TDIM, DIM >::ref_point_t |
CoordTransform< TDIM, DIM >::CoordTransform | ( | ) |
Default constructor.
CoordTransform< TDIM, DIM >::CoordTransform | ( | const CoordTransform< TDIM, DIM > & | c | ) |
Copy constructor.
CoordTransform< TDIM, DIM >::~CoordTransform | ( | ) |
Destructor.
CoordTransform< TDIM, DIM >::DeclException1 | ( | ExcFileOpen | , |
char * | , | ||
<< "Can't open library "<< | arg1 | ||
) |
CoordTransform< TDIM, DIM >::DeclException2 | ( | ExcLoadFunction | , |
char * | , | ||
char * | , | ||
<< "Can't load function "<< arg1<< " from library "<< | arg2 | ||
) |
ref_point_t CoordTransform< TDIM, DIM >::global_to_local | ( | const point_t & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Mapping a point on real element to template element.
std::vector<ref_point_t > CoordTransform< TDIM, DIM >::global_to_local | ( | const std::vector< point_t > & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Mapping points on real element to template element.
double CoordTransform< TDIM, DIM >::global_to_local_jacobian | ( | const point_t & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Jacobian determinant at a point on real element.
std::vector<double> CoordTransform< TDIM, DIM >::global_to_local_jacobian | ( | const std::vector< point_t > & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Jacobian determinant at points on real element.
void CoordTransform< TDIM, DIM >::loadFunction | ( | ) |
Open the shared library and get those function pointers.
point_t CoordTransform< TDIM, DIM >::local_to_global | ( | const ref_point_t & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Mapping a point on template element to real element.
std::vector<point_t > CoordTransform< TDIM, DIM >::local_to_global | ( | const std::vector< ref_point_t > & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Mapping points on template element to real element.
double CoordTransform< TDIM, DIM >::local_to_global_jacobian | ( | const ref_point_t & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Jacobian determinant at a point on template element.
std::vector<double> CoordTransform< TDIM, DIM >::local_to_global_jacobian | ( | const std::vector< ref_point_t > & | , |
const std::vector< ref_point_t > & | , | ||
const std::vector< point_t > & | |||
) | const |
Jacobian determinant at points on template element.
CoordTransform< TDIM, DIM > & CoordTransform< TDIM, DIM >::operator= | ( | const CoordTransform< TDIM, DIM > & | c | ) |
Copy operator.
void CoordTransform< TDIM, DIM >::readData | ( | const std::string & | s | ) |
Read in the information from a file.
void CoordTransform< TDIM, DIM >::unloadFunction | ( | ) |
Close the shared library.
void CoordTransform< TDIM, DIM >::writeData | ( | const std::string & | s | ) | const |
Write out the information to a file.
STREAM& operator<< | ( | STREAM & | , |
const CoordTransform< TGDIM, GDIM > & | |||
) | [friend] |
Stream output.
STREAM& operator>> | ( | STREAM & | , |
CoordTransform< TGDIM, GDIM > & | |||
) | [friend] |
Stream input.
void(* CoordTransform< TDIM, DIM >::g2l_function)(const double *, const double **, const double **, double *) [private] |
Pointer to the function to map a point on real element to template element.
std::string CoordTransform< TDIM, DIM >::g2l_function_name [private] |
Name of the function to map a point on real element to template element.
double(* CoordTransform< TDIM, DIM >::g2l_jacobian_function)(const double *, const double **, const double **) [private] |
Pointer to the function given the Jacobian determinant at a point on real element.
std::string CoordTransform< TDIM, DIM >::g2l_jacobian_function_name [private] |
Jacobian determinant of the function at a point on real element.
void* CoordTransform< TDIM, DIM >::handle [private] |
Handle of the object to open the shared library.
void(* CoordTransform< TDIM, DIM >::l2g_function)(const double *, const double **, const double **, double *) [private] |
Pointer to the function to map a point on template element to real element.
std::string CoordTransform< TDIM, DIM >::l2g_function_name [private] |
Name of the function to map a point on template element to real element.
double(* CoordTransform< TDIM, DIM >::l2g_jacobian_function)(const double *, const double **, const double **) [private] |
Pointer to the function given the Jacobian determinant at a point on template element.
std::string CoordTransform< TDIM, DIM >::l2g_jacobian_function_name [private] |
Jacobian determinant of the function at a point on template element.
std::string CoordTransform< TDIM, DIM >::library_name [private] |
Name of the shared library.
std::string CoordTransform< TDIM, DIM >::library_path [private] |