v0.16.0
Loading...
Searching...
No Matches
users_modules
eshelbian_plasticity
src
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
12
namespace
EshelbianPlasticity
{
13
14
constexpr
static
auto
size_symm
= (3 * (3 + 1)) / 2;
15
16
inline
auto
voigt_to_symm
() {
17
FTensor::Index
<
'L'
,
size_symm
> L;
18
FTensor::Index
<
'M'
,
size_symm
>
M
;
19
FTensor::Tensor2<double, size_symm, size_symm>
t_L;
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
30
template
<
class
T>
struct
TensorTypeExtractor
{
31
typedef
typename
std::remove_pointer<T>::type
Type
;
32
};
33
template
<
class
T,
int
I>
struct
TensorTypeExtractor
<
FTensor
::PackPtr<T, I>> {
34
typedef
typename
std::remove_pointer<T>::type
Type
;
35
};
36
37
}
Lie.hpp
Lie algebra implementation.
FTensor::Index
Definition
Index.hpp:24
FTensor::Tensor2
Definition
Tensor2_value.hpp:17
M
EshelbianPlasticity
Definition
neohookean_stretch_gradient_atom.cpp:5
EshelbianPlasticity::size_symm
static constexpr auto size_symm
Definition
EshelbianAux.hpp:14
EshelbianPlasticity::voigt_to_symm
auto voigt_to_symm()
Definition
EshelbianAux.hpp:16
FTensor
Tensors class implemented by Walter Landry.
Definition
FTensor.hpp:51
EshelbianPlasticity::TensorTypeExtractor< FTensor::PackPtr< T, I > >::Type
std::remove_pointer< T >::type Type
Definition
EshelbianAux.hpp:34
EshelbianPlasticity::TensorTypeExtractor
Definition
EshelbianAux.hpp:30
EshelbianPlasticity::TensorTypeExtractor::Type
std::remove_pointer< T >::type Type
Definition
EshelbianAux.hpp:31
Generated by
Doxygen
1.9.8 and hosted at