v0.16.0
Loading...
Searching...
No Matches
EshelbianAux.hpp
Go to the documentation of this file.
1/**
2 * @file EshelbianAux.hpp
3 * @brief Auxilary functions for Eshelbian plasticity
4 * @date 2024-08-30
5 *
6 * @copyright Copyright (c) 2024
7 *
8 */
9
10#include <Lie.hpp>
11
12namespace EshelbianPlasticity {
13
14constexpr static auto size_symm = (3 * (3 + 1)) / 2;
15
16inline auto voigt_to_symm() {
20 t_L(L, M) = 0;
21 t_L(0, 0) = 1;
22 t_L(1, 3) = 1;
23 t_L(2, 5) = 1;
24 t_L(3, 1) = 1;
25 t_L(4, 2) = 1;
26 t_L(5, 4) = 1;
27 return t_L;
28}
29
30template <class T> struct TensorTypeExtractor {
31 typedef typename std::remove_pointer<T>::type Type;
32};
33template <class T, int I> struct TensorTypeExtractor<FTensor::PackPtr<T, I>> {
34 typedef typename std::remove_pointer<T>::type Type;
35};
36
37}
Lie algebra implementation.
static constexpr auto size_symm
Tensors class implemented by Walter Landry.
Definition FTensor.hpp:51
std::remove_pointer< T >::type Type