Digital Image Correlation Engine  Version 1.0
A modular, high-performance, image correlation tool used to compute full-field displacements and strains from digital images
Public Member Functions | Protected Attributes | List of all members
DICe::mesh::Shape_Function_Evaluator Class Referenceabstract

Base class for shape function evaluation. More...

#include <DICe_Mesh.h>

Inheritance diagram for DICe::mesh::Shape_Function_Evaluator:
DICe::mesh::CVFEM_Linear_Tet4 DICe::mesh::CVFEM_Linear_Tri3 DICe::mesh::FEM_Barycentric_Tri6 DICe::mesh::FEM_Linear_Hex8 DICe::mesh::FEM_Linear_Quad4 DICe::mesh::FEM_Linear_Tri3 DICe::mesh::FEM_Quadratic_Tri6

Public Member Functions

 Shape_Function_Evaluator (const int_t num_functions, const int_t dimension)
 
virtual ~Shape_Function_Evaluator ()
 Destructor.
 
int_t num_functions () const
 Returns the number of functions.
 
int_t dimension () const
 Returns the spatial dimension.
 
virtual void evaluate_shape_functions (const scalar_t *nodal_coords, const scalar_t *point_coords, const scalar_t &coefficient, scalar_t *shape_function_values)=0
 
virtual void evaluate_shape_functions (const scalar_t *natural_coords, scalar_t *shape_function_values)=0
 
virtual void evaluate_shape_function_derivatives (const scalar_t *nodal_coords, const scalar_t &coefficient, scalar_t *shape_function_derivative_values)=0
 
virtual void evaluate_shape_function_derivatives (const scalar_t *natural_coords, scalar_t *shape_function_derivative_values)=0
 
virtual bool is_in_element (const scalar_t *nodal_coords, const scalar_t *point_coords, const scalar_t &coefficient)=0
 
virtual void get_natural_integration_points (const int_t order, Teuchos::ArrayRCP< Teuchos::ArrayRCP< scalar_t > > &locations, Teuchos::ArrayRCP< scalar_t > &weights, int_t &num_points)=0
 

Protected Attributes

const int_t num_functions_
 Protect the default constructor. More...
 
const int_t dimension_
 Number of spatial dimensions.
 

Detailed Description

Base class for shape function evaluation.

Constructor & Destructor Documentation

◆ Shape_Function_Evaluator()

DICe::mesh::Shape_Function_Evaluator::Shape_Function_Evaluator ( const int_t  num_functions,
const int_t  dimension 
)
inline

Constrtuctor

Parameters
num_functionsThe number of shape functions
dimensionThe spatial dimension

Member Function Documentation

◆ evaluate_shape_function_derivatives() [1/2]

virtual void DICe::mesh::Shape_Function_Evaluator::evaluate_shape_function_derivatives ( const scalar_t natural_coords,
scalar_t shape_function_derivative_values 
)
pure virtual

Evaluation of the shape function derivatives

Parameters
natural_coordsthe isoparamteric coords of the point
shape_function_derivative_valuesthe array that is returned with the shape function derivatives

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

◆ evaluate_shape_function_derivatives() [2/2]

virtual void DICe::mesh::Shape_Function_Evaluator::evaluate_shape_function_derivatives ( const scalar_t nodal_coords,
const scalar_t coefficient,
scalar_t shape_function_derivative_values 
)
pure virtual

Evaluation of the shape function derivatives

Parameters
nodal_coordsThe coordinates of the nodes
coefficientThe weighting function value in the Gauss integration
shape_function_derivative_valuesThe values returned for this particular point

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

◆ evaluate_shape_functions() [1/2]

virtual void DICe::mesh::Shape_Function_Evaluator::evaluate_shape_functions ( const scalar_t natural_coords,
scalar_t shape_function_values 
)
pure virtual

Evaluation of the shape functions

Parameters
natural_coordsThe coordinates of the point to evaluate the shape functinos
shape_function_valuesThe values returned for this particular point

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

◆ evaluate_shape_functions() [2/2]

virtual void DICe::mesh::Shape_Function_Evaluator::evaluate_shape_functions ( const scalar_t nodal_coords,
const scalar_t point_coords,
const scalar_t coefficient,
scalar_t shape_function_values 
)
pure virtual

Evaluation of the shape functions

Parameters
nodal_coordsThe coordinates of the nodes
point_coordsThe coordinates of the point to evaluate the shape functinos
coefficientThe weighting function value in the Gauss integration
shape_function_valuesThe values returned for this particular point

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

◆ get_natural_integration_points()

virtual void DICe::mesh::Shape_Function_Evaluator::get_natural_integration_points ( const int_t  order,
Teuchos::ArrayRCP< Teuchos::ArrayRCP< scalar_t > > &  locations,
Teuchos::ArrayRCP< scalar_t > &  weights,
int_t num_points 
)
pure virtual

Returns the integration points and weights in the natural coordinates (isoparametric, not physical)

Parameters
orderThe gauss integration order
locationsThe natural coordinates listed by point in row and dim in column
weightsThe integration weights for each point
num_pointsthe number of integration points

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

◆ is_in_element()

virtual bool DICe::mesh::Shape_Function_Evaluator::is_in_element ( const scalar_t nodal_coords,
const scalar_t point_coords,
const scalar_t coefficient 
)
pure virtual

Determine if a given point is inside the element or external

Parameters
point_coordsThe test point location
nodal_coordsThe corrdinates of the nodes for this element
coefficientThe weighting function value

Implemented in DICe::mesh::FEM_Barycentric_Tri6, DICe::mesh::FEM_Quadratic_Tri6, DICe::mesh::FEM_Linear_Tri3, DICe::mesh::FEM_Linear_Quad4, DICe::mesh::FEM_Linear_Hex8, DICe::mesh::CVFEM_Linear_Tet4, and DICe::mesh::CVFEM_Linear_Tri3.

Member Data Documentation

◆ num_functions_

const int_t DICe::mesh::Shape_Function_Evaluator::num_functions_
protected

Protect the default constructor.

Comparison operator Number of functions