OGS
GetSymmetricTensor.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include <Eigen/Core>
7
8
#include "
MaterialLib/MPL/Property.h
"
9
#include "
MathLib/KelvinVector.h
"
10
11
namespace
MaterialPropertyLib
12
{
13
template
<
int
GlobalDim>
14
constexpr
int
symmetric_tensor_size
=
15
MathLib::KelvinVector::kelvin_vector_dimensions
(GlobalDim);
16
17
template
<
int
GlobalDim>
18
using
SymmetricTensor
=
19
Eigen::Matrix<double, symmetric_tensor_size<GlobalDim>, 1>;
20
21
template
<
int
GlobalDim>
22
SymmetricTensor<GlobalDim>
getSymmetricTensor
(
23
MaterialPropertyLib::PropertyDataType
const
& values);
24
}
// namespace MaterialPropertyLib
KelvinVector.h
Property.h
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::symmetric_tensor_size
constexpr int symmetric_tensor_size
Definition
GetSymmetricTensor.h:14
MaterialPropertyLib::SymmetricTensor
Eigen::Matrix< double, symmetric_tensor_size< GlobalDim >, 1 > SymmetricTensor
Definition
GetSymmetricTensor.h:18
MaterialPropertyLib::getSymmetricTensor
SymmetricTensor< GlobalDim > getSymmetricTensor(MaterialPropertyLib::PropertyDataType const &values)
Definition
GetSymmetricTensor.cpp:99
MaterialPropertyLib::PropertyDataType
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
Definition
MaterialLib/MPL/Property.h:24
MathLib::KelvinVector::kelvin_vector_dimensions
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
Definition
KelvinVector.h:18
MaterialLib
MPL
Utils
GetSymmetricTensor.h
Generated by
1.14.0