Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
tetratensor.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE-FUFEM Project contributors, see file AUTHORS.md
2// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception OR LGPL-3.0-or-later
3
4#ifndef TETRA_TENSOR_HH
5#define TETRA_TENSOR_HH
6
7#include "elasticitytensor.hh"
8
13template <int dim>
15
16template <>
17class TetraTensor<3> : public ElasticityTensor<3>
18{
19 public:
24 TetraTensor(double C11, double C12, double C13, double C33, double C44, double C66)
25 {
27
28 (*this)[0][0] = C11;
29 (*this)[1][1] = C11;
30 (*this)[2][2] = C33;
31 (*this)[5][5] = 2*C44;
32 (*this)[4][4] = 2*C44;
33 (*this)[3][3] = 2*C66;
34
35 (*this)[0][1] = C12;
36 (*this)[0][2] = C13;
37 (*this)[1][0] = C12;
38 (*this)[1][2] = C13;
39 (*this)[2][0] = C13;
40 (*this)[2][1] = C13;
41 }
42};
43
44template <>
45class TetraTensor<2> : public ElasticityTensor<2>
46{
47 public:
52 TetraTensor(double C11, double C22, double C33, double C12)
53 {
55
56 (*this)[0][0] = C11;
57 (*this)[1][1] = C22;
58 (*this)[2][2] = 2*C33;
59
60 (*this)[0][1] = C12;
61 (*this)[1][0] = C12;
62 }
63};
64
65#endif
constexpr derived_type & operator=(const RHS &rhs)
Base class for elasticity tensors in Voigt notation.
Definition elasticitytensor.hh:13
class representing elasticity tensors for materials with tetragonal crystal symmetry in Voigt notatio...
Definition tetratensor.hh:14
TetraTensor(double C11, double C12, double C13, double C33, double C44, double C66)
constructor for elasticity tensors with tetragonal symmetry
Definition tetratensor.hh:24
TetraTensor(double C11, double C22, double C33, double C12)
for computations in 2 dimensions - the tetragonal symmetry can of course not be represented in 2D
Definition tetratensor.hh:52