SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
TriCubicHmtScaleFactors< T > Class Template Reference

#include <TriCubicHmtScaleFactors.h>

Inheritance diagram for TriCubicHmtScaleFactors< T >:
BasisAddDerivativesScaleFactors< T > TriApprox TriGaussian3< double > TriSamplingSchemes TriCubicScaleFactorsHmtUnitElement TriElementWeights BasisAddDerivatives< T > TriLinearLgnUnitElement BasisSimple< T >

Public Types

typedef T value_type
 

Public Member Functions

 TriCubicHmtScaleFactors ()
 
virtual ~TriCubicHmtScaleFactors ()
 
template<class VECTOR >
void get_weights (const VECTOR &coords, double *w) const
 
template<class VECTOR >
void get_derivate_weights (const VECTOR &coords, double *w) const
 
template<class ElemData , class VECTOR >
interpolate (const VECTOR &coords, const ElemData &cd) const
 get value at parametric coordinate More...
 
template<class ElemData , class VECTOR1 , class VECTOR2 >
void derivate (const VECTOR1 &coords, const ElemData &cd, VECTOR2 &derivs) const
 get first derivative at parametric coordinate More...
 
template<class ElemData , class VECTOR >
bool get_coords (VECTOR &coords, const T &value, const ElemData &cd) const
 get the parametric coordinate for value within the element. More...
 
template<class ElemData >
double get_arc_length (const unsigned edge, const ElemData &cd) const
 get arc length for edge More...
 
template<class ElemData >
double get_area (const unsigned face, const ElemData &cd) const
 get area More...
 
template<class ElemData >
double get_volume (const ElemData &) const
 get volume More...
 
virtual void io (Piostream &str)
 
- Public Member Functions inherited from BasisAddDerivativesScaleFactors< T >
 BasisAddDerivativesScaleFactors ()
 
virtual ~BasisAddDerivativesScaleFactors ()
 
void add_scalefactors (const std::vector< double > &p)
 add scale factors (sdx, sdy) for nodes. More...
 
int size_scalefactors ()
 return number of additional derivatives More...
 
- Public Member Functions inherited from BasisAddDerivatives< T >
 BasisAddDerivatives ()
 
virtual ~BasisAddDerivatives ()
 
void add_derivatives (const std::vector< T > &p)
 add derivative values (dx, dy, dxy) for nodes. More...
 
void set_deriv_value (const T &p, unsigned int i, unsigned int j)
 get and set node value More...
 
void get_deriv_value (T &p, unsigned int i, unsigned int j) const
 
void resize_deriv_values (size_t s)
 set the proper size More...
 
int size_derivatives ()
 return number of additional derivatives More...
 
- Public Member Functions inherited from BasisSimple< T >
 BasisSimple ()
 
virtual ~BasisSimple ()
 
template<class ElemData , class VECTOR >
interpolate (const VECTOR &, const ElemData &) const
 get value at parametric coordinate More...
 
template<class ElemData , class VECTOR1 , class VECTOR2 >
void derivate (const VECTOR1 &, const ElemData &, VECTOR2 &) const
 get first derivative at parametric coordinate More...
 
template<class ElemData , class VECTOR >
bool get_coords (VECTOR &, const T &, const ElemData &) const
 get parametric coordinate for value within the element More...
 
template<class ElemData >
double get_arc_length (const unsigned, const ElemData &) const
 get arc length for edge of element More...
 
template<class ElemData >
double get_area (const unsigned, const ElemData &) const
 get area for face of element More...
 
template<class ElemData >
double get_volume (const ElemData &) const
 get volume for element More...
 
void add_node_value (const T &)
 add a node value More...
 
void set_node_value (const T &, unsigned int)
 
void get_node_value (T &, unsigned int) const
 
void resize_node_values (size_t)
 
size_t size_node_values ()
 return number of additional nodes More...
 
void add_derivatives (const std::vector< T > &)
 add a derivative value More...
 
void add_scalefactors (const std::vector< T > &)
 add scale factors More...
 
int size_derivatives ()
 return number of additional derivatives More...
 
std::vector< T > & get_nodes ()
 
std::vector< std::vector< T > > & get_derivs ()
 
- Public Member Functions inherited from TriApprox
 TriApprox ()
 
virtual ~TriApprox ()
 
template<class VECTOR >
void approx_edge (const unsigned edge, const unsigned div_per_unit, VECTOR &coords) const
 
template<class VECTOR >
void approx_face (const unsigned, const unsigned div_per_unit, VECTOR &coords) const
 
- Public Member Functions inherited from TriSamplingSchemes
template<class ARRAY1 , class ARRAY2 >
void get_gaussian_scheme (ARRAY1 &coords, ARRAY2 &weights, int order)
 
template<class ARRAY1 , class ARRAY2 >
void get_regular_scheme (ARRAY1 &coords, ARRAY2 &weights, int order)
 
- Public Member Functions inherited from TriCubicScaleFactorsHmtUnitElement
 TriCubicScaleFactorsHmtUnitElement ()
 
virtual ~TriCubicScaleFactorsHmtUnitElement ()
 
- Public Member Functions inherited from TriLinearLgnUnitElement
 TriLinearLgnUnitElement ()
 
virtual ~TriLinearLgnUnitElement ()
 
- Public Member Functions inherited from TriElementWeights
template<class VECTOR >
void get_linear_weights (const VECTOR &coords, double *w) const
 
template<class VECTOR >
void get_linear_derivate_weights (const VECTOR &, double *w) const
 get derivative weight factors at parametric coordinate More...
 
template<class VECTOR >
void get_quadratic_weights (const VECTOR &coords, double *w) const
 get weight factors at parametric coordinate More...
 
template<class VECTOR >
void get_quadratic_derivate_weights (const VECTOR &coords, double *w) const
 get weight factors of derivative at parametric coordinate More...
 
template<class VECTOR >
void get_cubic_weights (const VECTOR &coords, double *w) const
 
template<class VECTOR >
void get_cubic_derivate_weights (const VECTOR &coords, double *w) const
 get derivative weight factors at parametric coordinate More...
 
int num_linear_weights ()
 
int num_quadratic_weights ()
 
int num_cubic_weights ()
 
int num_linear_derivate_weights ()
 
int num_quadratic_derivate_weights ()
 
int num_cubic_derivate_weights ()
 
int num_derivs ()
 
int num_hderivs ()
 

Static Public Member Functions

static int polynomial_order ()
 
static const std::string type_name (int n=-1)
 
- Static Public Member Functions inherited from TriCubicScaleFactorsHmtUnitElement
static int dofs ()
 return degrees of freedom More...
 
- Static Public Member Functions inherited from TriLinearLgnUnitElement
static int domain_dimension ()
 return dimension of domain More...
 
static double domain_size ()
 return size of the domain More...
 
static int number_of_vertices ()
 return number of vertices More...
 
static int number_of_mesh_vertices ()
 return number of vertices in mesh More...
 
static int dofs ()
 return degrees of freedom More...
 
static int number_of_edges ()
 return number of edges More...
 
static int vertices_of_face ()
 return number of vertices per face More...
 
static int faces_of_cell ()
 return number of faces per cell More...
 
static double length (int edge)
 
static double area (int)
 return area More...
 
static double volume ()
 return volume More...
 

Additional Inherited Members

- Static Public Attributes inherited from TriGaussian3< double >
static int GaussianNum
 
static double GaussianPoints [7][2]
 
static double GaussianWeights [7]
 
- Static Public Attributes inherited from TriLinearLgnUnitElement
static SCISHARE double unit_vertices [3][2] = {{0,0}, {1,0}, {0,1}}
 Parametric coordinates of vertices of unit edge. More...
 
static SCISHARE int unit_edges [3][2] = {{0,1}, {1,2}, {2,0}}
 References to vertices of unit edge. More...
 
static SCISHARE int unit_faces [1][3] = {{0,1,2}}
 References to vertices of unit face. More...
 
static SCISHARE double unit_face_normals [1][3]
 References to normal of unit face. More...
 
static SCISHARE double unit_center [2] = { 1.0/3.0,1.0/3.0 }
 The center of the unit element. More...
 
- Protected Attributes inherited from BasisSimple< T >
std::vector< T > nodes_
 
std::vector< std::vector< T > > derivs_
 
std::vector< std::vector
< double > > 
scalefactors_
 
std::vector< double > scalefactorse_
 

Detailed Description

template<class T>
class SCIRun::Core::Basis::TriCubicHmtScaleFactors< T >

Class for handling of element of type triangle with cubic hermitian interpolation with scale factors

Member Typedef Documentation

typedef T value_type

Constructor & Destructor Documentation

virtual ~TriCubicHmtScaleFactors ( )
inlinevirtual

Member Function Documentation

void derivate ( const VECTOR1 &  coords,
const ElemData &  cd,
VECTOR2 &  derivs 
) const
inline

get first derivative at parametric coordinate

double get_arc_length ( const unsigned  edge,
const ElemData &  cd 
) const
inline

get arc length for edge

double get_area ( const unsigned  face,
const ElemData &  cd 
) const
inline

get area

bool get_coords ( VECTOR &  coords,
const T &  value,
const ElemData &  cd 
) const
inline

get the parametric coordinate for value within the element.

void get_derivate_weights ( const VECTOR &  coords,
double *  w 
) const
inline
double get_volume ( const ElemData &  ) const
inline

get volume

void get_weights ( const VECTOR &  coords,
double *  w 
) const
inline

Note: these are correct for Point interpolation but not for value interpolation (Scale factors are missing)

T interpolate ( const VECTOR &  coords,
const ElemData &  cd 
) const
inline

get value at parametric coordinate

void io ( Piostream str)
virtual
static int polynomial_order ( )
inlinestatic
const std::string type_name ( int  n = -1)
static

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