Skip to content
Snippets Groups Projects
Commit cc442a5b authored by webmanue's avatar webmanue
Browse files

adapt automatic stress/tangent matrix traits

parent bb75b7e6
No related branches found
No related tags found
No related merge requests found
......@@ -32,13 +32,13 @@ template <class MaterialModel_> struct AutomaticStressTrait {
const typename MaterialModel::DisplacementGradient &gradient,
const typename MaterialModel::Time time) const noexcept {
using size_type = typename MaterialModel::size_type;
constexpr auto dimension = MaterialModel::dimension();
typename MaterialModel::Stress result;
auto modified_gradient = gradient;
for (auto row = size_type{0}; row < dimension; ++row) {
for (auto col = size_type{0}; col < dimension; ++col) {
for (auto row = size_type{0}; row < MaterialModel::degrees_of_freedom();
++row) {
for (auto col = size_type{0}; col < MaterialModel::dimension(); ++col) {
result[row][col] = tensor::differentiate(
[&](const typename MaterialModel::value_type t) {
modified_gradient[row][col] = t;
......
......@@ -36,9 +36,9 @@ template <class MaterialModel_> struct AutomaticTangentMatrixTrait {
typename MaterialModel::TangentMatrix result;
auto modified_gradient = gradient;
for (auto i = size_type{0}; i < MaterialModel::dimension(); ++i) {
for (auto i = size_type{0}; i < MaterialModel::degrees_of_freedom(); ++i) {
for (auto j = size_type{0}; j < MaterialModel::dimension(); ++j) {
for (auto k = size_type{0}; k < MaterialModel::dimension(); ++k) {
for (auto k = size_type{0}; k < MaterialModel::degrees_of_freedom(); ++k) {
for (auto l = size_type{0}; l < MaterialModel::dimension(); ++l) {
result[i][j][k][l] = tensor::differentiate(
[&](const typename MaterialModel::value_type t) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment