pml_time_harmonic_elasticity_tensor.cc
Go to the documentation of this file.
1// LIC// ====================================================================
2// LIC// This file forms part of oomph-lib, the object-oriented,
3// LIC// multi-physics finite-element library, available
4// LIC// at http://www.oomph-lib.org.
5// LIC//
6// LIC// Copyright (C) 2006-2022 Matthias Heil and Andrew Hazel
7// LIC//
8// LIC// This library is free software; you can redistribute it and/or
9// LIC// modify it under the terms of the GNU Lesser General Public
11// LIC// version 2.1 of the License, or (at your option) any later version.
12// LIC//
13// LIC// This library is distributed in the hope that it will be useful,
14// LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// LIC// Lesser General Public License for more details.
17// LIC//
18// LIC// You should have received a copy of the GNU Lesser General Public
19// LIC// License along with this library; if not, write to the Free Software
20// LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21// LIC// 02110-1301 USA.
22// LIC//
23// LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24// LIC//
25// LIC//====================================================================
26// Non-inline function for the Elasticity Tensor
28
29namespace oomph
30{
31 /// Translation scheme that takes account of the symmetries of the
32 /// tensor. The independent coefficients are related to the coefficients of
33 /// the elasticity tensor as follows:
34 /**
35 /// \f[\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}\f]
36 /// **/
37 const unsigned PMLTimeHarmonicElasticityTensor::Index[3][3][3][3] = {
38 {{{0, 1, 6}, {1, 2, 7}, {6, 7, 8}},
39 {{1, 3, 9}, {3, 4, 10}, {9, 10, 11}},
40 {{6, 9, 12}, {9, 13, 14}, {12, 14, 15}}},
41
42 {{{1, 3, 9}, {3, 4, 10}, {9, 10, 11}},
43 {{2, 4, 13}, {4, 5, 16}, {13, 16, 17}},
44 {{7, 10, 14}, {10, 16, 18}, {14, 18, 19}}},
45
46 {{{6, 9, 12}, {9, 13, 14}, {12, 14, 15}},
47 {{7, 10, 14}, {10, 16, 18}, {14, 18, 19}},
48 {{8, 11, 15}, {11, 17, 19}, {15, 19, 20}}}};
49
50
51 /// Translation scheme for the isotropic elasticity tensor
52 const unsigned PMLTimeHarmonicIsotropicElasticityTensor::StaticIndex[21] = {
53 1, 0, 2, 3, 0, 1, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 2, 3, 0, 1};
54
55} // namespace oomph
//////////////////////////////////////////////////////////////////// ////////////////////////////////...