Chaste
Release::2017.1
|
#include <FourthOrderTensor.hpp>
Public Member Functions | |
FourthOrderTensor () | |
template<unsigned CONTRACTED_DIM> | |
void | SetAsContractionOnFirstDimension (const c_matrix< double, DIM1, CONTRACTED_DIM > &rMatrix, FourthOrderTensor< CONTRACTED_DIM, DIM2, DIM3, DIM4 > &rTensor) |
template<unsigned CONTRACTED_DIM> | |
void | SetAsContractionOnSecondDimension (const c_matrix< double, DIM2, CONTRACTED_DIM > &rMatrix, FourthOrderTensor< DIM1, CONTRACTED_DIM, DIM3, DIM4 > &rTensor) |
template<unsigned CONTRACTED_DIM> | |
void | SetAsContractionOnThirdDimension (const c_matrix< double, DIM3, CONTRACTED_DIM > &rMatrix, FourthOrderTensor< DIM1, DIM2, CONTRACTED_DIM, DIM4 > &rTensor) |
template<unsigned CONTRACTED_DIM> | |
void | SetAsContractionOnFourthDimension (const c_matrix< double, DIM4, CONTRACTED_DIM > &rMatrix, FourthOrderTensor< DIM1, DIM2, DIM3, CONTRACTED_DIM > &rTensor) |
double & | operator() (unsigned M, unsigned N, unsigned P, unsigned Q) |
void | Zero () |
std::vector< double > & | rGetData () |
Private Member Functions | |
unsigned | GetVectorIndex (unsigned M, unsigned N, unsigned P, unsigned Q) |
Private Attributes | |
std::vector< double > | mData |
A class of fourth order tensors (i.e. tensors with four indices), over arbitrary dimension.
Definition at line 51 of file FourthOrderTensor.hpp.
FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::FourthOrderTensor | ( | ) |
Constructor.
Definition at line 153 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData.
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
|
inlineprivate |
M | first index |
N | second index |
P | third index |
Q | fourth index |
Definition at line 63 of file FourthOrderTensor.hpp.
Referenced by FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::operator()().
double & FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::operator() | ( | unsigned | M, |
unsigned | N, | ||
unsigned | P, | ||
unsigned | Q | ||
) |
M | first index |
N | second index |
P | third index |
Q | fourth index |
Definition at line 341 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::GetVectorIndex(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData.
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
|
inline |
Definition at line 142 of file FourthOrderTensor.hpp.
Referenced by FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFirstDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFourthDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnSecondDimension(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnThirdDimension().
void FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFirstDimension | ( | const c_matrix< double, DIM1, CONTRACTED_DIM > & | rMatrix, |
FourthOrderTensor< CONTRACTED_DIM, DIM2, DIM3, DIM4 > & | rTensor | ||
) |
Set to be the inner product of a matrix another fourth order tensor, contracting on first component, i.e. sets this tensor to be R, where R_{abcd} = X_{aN} T_{Nbcd}
rMatrix | A matrix |
rTensor | A fourth order tensor |
Definition at line 161 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData, FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::rGetData(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero().
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
void FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFourthDimension | ( | const c_matrix< double, DIM4, CONTRACTED_DIM > & | rMatrix, |
FourthOrderTensor< DIM1, DIM2, DIM3, CONTRACTED_DIM > & | rTensor | ||
) |
Set to be the inner product of a matrix another fourth order tensor, contracting on fourth component, i.e. sets this tensor to be R, where R_{abcd} = X_{dN} T_{abcN}
rMatrix | A matrix |
rTensor | A fourth order tensor |
Definition at line 297 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData, FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::rGetData(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero().
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
void FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnSecondDimension | ( | const c_matrix< double, DIM2, CONTRACTED_DIM > & | rMatrix, |
FourthOrderTensor< DIM1, CONTRACTED_DIM, DIM3, DIM4 > & | rTensor | ||
) |
Set to be the inner product of a matrix another fourth order tensor, contracting on second component, i.e. sets this tensor to be R, where R_{abcd} = X_{bN} T_{aNcd}
rMatrix | A matrix |
rTensor | A fourth order tensor |
Definition at line 204 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData, FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::rGetData(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero().
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
void FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnThirdDimension | ( | const c_matrix< double, DIM3, CONTRACTED_DIM > & | rMatrix, |
FourthOrderTensor< DIM1, DIM2, CONTRACTED_DIM, DIM4 > & | rTensor | ||
) |
Set to be the inner product of a matrix another fourth order tensor, contracting on third component, i.e. sets this tensor to be R, where R_{abcd} = X_{cN} T_{abNd}
rMatrix | A matrix |
rTensor | A fourth order tensor |
Definition at line 250 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData, FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::rGetData(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero().
Referenced by FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex().
void FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero | ( | ) |
Set all components of the tensor to zero.
Definition at line 352 of file FourthOrderTensor.hpp.
References FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::mData.
Referenced by SchmidCostaExponentialLaw2d::ComputeStressAndStressDerivative(), CompressibleExponentialLaw< DIM >::ComputeStressAndStressDerivative(), FourthOrderTensor< DIM, DIM, DIM, DIM >::GetVectorIndex(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFirstDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFourthDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnSecondDimension(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnThirdDimension().
|
private |
The components of the tensor.
Definition at line 55 of file FourthOrderTensor.hpp.
Referenced by FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::FourthOrderTensor(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::operator()(), FourthOrderTensor< DIM, DIM, DIM, DIM >::rGetData(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFirstDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnFourthDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnSecondDimension(), FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::SetAsContractionOnThirdDimension(), and FourthOrderTensor< DIM1, DIM2, DIM3, DIM4 >::Zero().