![]() |
|
#include <time_harmonic_elasticity_tensor.h>
Public Member Functions | |
virtual | ~TimeHarmonicElasticityTensor () |
Empty virtual Destructor. More... | |
double | operator() (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const |
Protected Member Functions | |
virtual double | independent_component (const unsigned &i) const |
void | range_check (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const |
TimeHarmonicElasticityTensor () | |
Empty Constructor. More... | |
Static Private Attributes | |
static const unsigned | Index [3][3][3][3] |
A base class that represents the fourth-rank elasticity tensor \(E_{ijkl}\) defined such that
\[\tau_{ij} = E_{ijkl} e_{kl},\]
where \(e_{ij}\) is the infinitessimal (Cauchy) strain tensor and \(\tau_{ij}\) is the stress tensor. The symmetries of the tensor are such that
\[E_{ijkl} = E_{jikl} = E_{ijlk} = E_{klij}\]
and thus there are relatively few independent components. These symmetries are included in the definition of the object so that non-physical symmetries cannot be accidentally imposed.
|
inlineprotected |
|
inlinevirtual |
|
inlineprotectedvirtual |
Member function that returns the i-th independent component of the elasticity tensor
Reimplemented in oomph::TimeHarmonicIsotropicElasticityTensor.
Referenced by operator()().
|
inline |
Return the appropriate independent component via the index translation scheme (const version).
References i, independent_component(), Index, j, k, and range_check().
|
inlineprotected |
Helper range checking function (Note that this only captures over-runs in 3D but errors are likely to be caught in evaluation of the stress and strain tensors anyway...)
References i, j, k, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by operator()().
|
staticprivate |
Translation table from the four indices to the corresponding independent component
Translation scheme that takes account of the symmetries of the tensor. The independent coefficients are related to the coefficients of the elasticity tensor as follows: /
\[\begin{array}{cc} 0 & E_{1111} \\ 1 & E_{1112} \\ 2 & E_{1122} \\ 3 & E_{1212} \\ 4 & E_{1222} \\ 5 & E_{2222} \\ 6 & E_{1113} \\ 7 & E_{1123} \\ 8 & E_{1133} \\ 9 & E_{1213} \\ 10 & E_{1223} \\ 11 & E_{1233} \\ 12 & E_{1313} \\ 13 & E_{1322} \\ 14 & E_{1323} \\ 15 & E_{1333} \\ 16 & E_{2223} \\ 17 & E_{2233} \\ 18 & E_{2323} \\ 19 & E_{2333} \\ 20 & E_{3333} \end{array}\]
/
Referenced by operator()().