Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
LinearBasisFunction< ELEMENT_DIM > Class Template Reference

#include <LinearBasisFunction.hpp>

+ Collaboration diagram for LinearBasisFunction< ELEMENT_DIM >:

Public Member Functions

double ComputeBasisFunction (const ChastePoint< 3 > &rPoint, unsigned basisIndex)
 
double ComputeBasisFunction (const ChastePoint< 2 > &rPoint, unsigned basisIndex)
 
double ComputeBasisFunction (const ChastePoint< 1 > &rPoint, unsigned basisIndex)
 
c_vector< double, 3 > ComputeBasisFunctionDerivative (const ChastePoint< 3 > &rPoint, unsigned basisIndex)
 
c_vector< double, 2 > ComputeBasisFunctionDerivative (const ChastePoint< 2 > &rPoint, unsigned basisIndex)
 
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

◆ ComputeBasisFunction() [1/4]

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.

◆ ComputeBasisFunction() [2/4]

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.

◆ ComputeBasisFunction() [3/4]

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.

◆ ComputeBasisFunction() [4/4]

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.

◆ ComputeBasisFunctionDerivative() [1/4]

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 255 of file LinearBasisFunction.cpp.

◆ ComputeBasisFunctionDerivative() [2/4]

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 216 of file LinearBasisFunction.cpp.

◆ ComputeBasisFunctionDerivative() [3/4]

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.

◆ ComputeBasisFunctionDerivative() [4/4]

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.

◆ ComputeBasisFunctionDerivatives()

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. Returns the derivatives as the column vectors of the matrix argument in local index order.

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 matrix, to be filled in

Definition at line 317 of file LinearBasisFunction.cpp.

Referenced by 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().

◆ ComputeBasisFunctions()

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

Compute 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

Definition at line 284 of file LinearBasisFunction.cpp.

Referenced by QuadraturePointsGroup< DIM >::QuadraturePointsGroup(), CompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), IncompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleOnElement(), and AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement().

◆ 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 (returned) Returns (in rReturnValue) 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 343 of file LinearBasisFunction.cpp.

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(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), and AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData().


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