Chaste  Release::2017.1
LinearBasisFunction< ELEMENT_DIM > Class Template Reference

#include <LinearBasisFunction.hpp>

+ Collaboration diagram for LinearBasisFunction< ELEMENT_DIM >:

Public Member Functions

template<>
double ComputeBasisFunction (const ChastePoint< 3 > &rPoint, unsigned basisIndex)
 
template<>
double ComputeBasisFunction (const ChastePoint< 2 > &rPoint, unsigned basisIndex)
 
template<>
double ComputeBasisFunction (const ChastePoint< 1 > &rPoint, unsigned basisIndex)
 
template<>
c_vector< double, 3 > ComputeBasisFunctionDerivative (const ChastePoint< 3 > &rPoint, unsigned basisIndex)
 
template<>
c_vector< double, 2 > ComputeBasisFunctionDerivative (const ChastePoint< 2 > &rPoint, unsigned basisIndex)
 
template<>
c_vector< double, 1 > ComputeBasisFunctionDerivative (const ChastePoint< 1 > &rPoint, unsigned basisIndex)
 

Static Public Member Functions

static double ComputeBasisFunction (const ChastePoint< ELEMENT_DIM > &rPoint, unsigned basisIndex)
 
static c_vector< double, ELEMENT_DIM > ComputeBasisFunctionDerivative (const ChastePoint< ELEMENT_DIM > &rPoint, unsigned basisIndex)
 
static void ComputeBasisFunctions (const ChastePoint< ELEMENT_DIM > &rPoint, c_vector< double, ELEMENT_DIM+1 > &rReturnValue)
 
static void ComputeBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &rReturnValue)
 
static void ComputeTransformedBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, const c_matrix< double, ELEMENT_DIM, ELEMENT_DIM > &rInverseJacobian, c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &rReturnValue)
 

Detailed Description

template<unsigned ELEMENT_DIM>
class LinearBasisFunction< ELEMENT_DIM >

Linear basis functions for the finite element method, computed on a canonical element.

Definition at line 46 of file LinearBasisFunction.hpp.

Member Function Documentation

template<>
double LinearBasisFunction< 3 >::ComputeBasisFunction ( const ChastePoint< 3 > &  rPoint,
unsigned  basisIndex 
)

Compute a basis function at a point within an element (3d case).

Parameters
rPointThe point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The value of the basis function.

Definition at line 51 of file LinearBasisFunction.cpp.

References NEVER_REACHED.

template<unsigned ELEMENT_DIM>
static double LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunction ( const ChastePoint< ELEMENT_DIM > &  rPoint,
unsigned  basisIndex 
)
static

Compute a basis function at a point within an element.

Parameters
rPointThe point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The value of the basis function.

Referenced by LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctions(), and LinearBasisFunction< 0 >::ComputeBasisFunctions().

template<>
double LinearBasisFunction< 2 >::ComputeBasisFunction ( const ChastePoint< 2 > &  rPoint,
unsigned  basisIndex 
)

Compute a basis function at a point within an element (2d case).

Parameters
rPointThe point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The value of the basis function.

Definition at line 88 of file LinearBasisFunction.cpp.

References NEVER_REACHED.

template<>
double LinearBasisFunction< 1 >::ComputeBasisFunction ( const ChastePoint< 1 > &  rPoint,
unsigned  basisIndex 
)

Compute a basis function at a point within an element (1d case).

Parameters
rPointThe point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The value of the basis function.

Definition at line 121 of file LinearBasisFunction.cpp.

References NEVER_REACHED.

template<unsigned ELEMENT_DIM>
static c_vector<double, ELEMENT_DIM> LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctionDerivative ( const ChastePoint< ELEMENT_DIM > &  rPoint,
unsigned  basisIndex 
)
static

Compute the derivative of a basis function at a point within a canonical element.

Parameters
rPoint(unused) The point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The derivative of the basis function. This is a vector (c_vector<double, ELEMENT_DIM> instance) giving the derivative along each axis.

Referenced by LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctionDerivatives().

template<>
c_vector< double, 3 > LinearBasisFunction< 3 >::ComputeBasisFunctionDerivative ( const ChastePoint< 3 > &  rPoint,
unsigned  basisIndex 
)

Compute the derivative of a basis function at a point within a canonical element (3d case).

Parameters
rPoint(unused) The point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The derivative of the basis function. This is a vector (c_vector<double, ELEMENT_DIM> instance) giving the derivative along each axis.

Definition at line 169 of file LinearBasisFunction.cpp.

template<>
c_vector< double, 2 > LinearBasisFunction< 2 >::ComputeBasisFunctionDerivative ( const ChastePoint< 2 > &  rPoint,
unsigned  basisIndex 
)

Compute the derivative of a basis function at a point within a canonical element (2d case).

Parameters
rPoint(unused) The point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The derivative of the basis function. This is a vector (c_vector<double, ELEMENT_DIM> instance) giving the derivative along each axis.

Definition at line 217 of file LinearBasisFunction.cpp.

template<>
c_vector< double, 1 > LinearBasisFunction< 1 >::ComputeBasisFunctionDerivative ( const ChastePoint< 1 > &  rPoint,
unsigned  basisIndex 
)

Compute the derivative of a basis function at a point within a canonical element (1d case).

Parameters
rPoint(unused) The point at which to compute the basis function. The results are undefined if this is not within the canonical element.
basisIndexWhich basis function to compute. This is a local index within a canonical element.
Returns
The derivative of the basis function. This is a vector (c_vector<double, ELEMENT_DIM> instance) giving the derivative along each axis.

Definition at line 257 of file LinearBasisFunction.cpp.

template<unsigned ELEMENT_DIM>
void LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctionDerivatives ( const ChastePoint< ELEMENT_DIM > &  rPoint,
c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &  rReturnValue 
)
static

Compute the derivatives of all basis functions at a point within an element.

Parameters
rPointThe point at which to compute the basis functions. The results are undefined if this is not within the canonical element.
rReturnValueA reference to a vector, to be filled in
Returns
The derivatives of the basis functions as the column vectors of a matrix in local index order.

Definition at line 321 of file LinearBasisFunction.cpp.

References LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctionDerivative().

Referenced by LinearBasisFunction< ELEMENT_DIM >::ComputeTransformedBasisFunctionDerivatives(), AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::ComputeTransformedBasisFunctionDerivatives(), and AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::ComputeTransformedBasisFunctionDerivatives().

template<unsigned ELEMENT_DIM>
void LinearBasisFunction< ELEMENT_DIM >::ComputeTransformedBasisFunctionDerivatives ( const ChastePoint< ELEMENT_DIM > &  rPoint,
const c_matrix< double, ELEMENT_DIM, ELEMENT_DIM > &  rInverseJacobian,
c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &  rReturnValue 
)
static

Compute the derivatives of all basis functions at a point within an element. This method will transform the results, for use within gaussian quadrature for example.

Parameters
rPointThe point at which to compute the basis functions. The results are undefined if this is not within the canonical element.
rInverseJacobianThe inverse of the Jacobian matrix mapping the real element into the canonical element.
rReturnValueA reference to a vector, to be filled in
Returns
The derivatives of the basis functions, in local index order. Each entry is a vector (c_vector<double, SPACE_DIM> instance) giving the derivative along each axis.

Definition at line 348 of file LinearBasisFunction.cpp.

References LinearBasisFunction< ELEMENT_DIM >::ComputeBasisFunctionDerivatives().

Referenced by AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleOnElement(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), AbstractCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::ComputeDeformationGradientAndStretchInEachElement(), CellwiseDataGradient< DIM >::SetupGradients(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), and AbstractBoxDomainPdeModifier< DIM >::UpdateCellData().


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