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-2023 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
10 // LIC// License as published by the Free Software Foundation; either
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 
29 namespace 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
//////////////////////////////////////////////////////////////////// ////////////////////////////////...