From cca08365e5358a58fbde16e5c70e534deb15f873 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 15 Nov 2006 15:31:37 +0000 Subject: [PATCH] mind the reference strain [[Imported from SVN: r1048]] --- src/rodassembler.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/rodassembler.cc b/src/rodassembler.cc index c627d6b8..15ed9679 100644 --- a/src/rodassembler.cc +++ b/src/rodassembler.cc @@ -408,12 +408,11 @@ getLocalMatrix( EntityPointer &entity, double sum = duLocal_dvij[k][l][m] * (duCan_dvij[i][j] * hatq.director(m) + darbouxCan*dd_dvij[m][i][j]); - sum += strain[m+3] * (duCan_dvij_dvkl[i][j][k][l] * hatq.director(m) - + duCan_dvij[i][j] * dd_dvij[m][k][l] - + duCan_dvij[k][l] * dd_dvij[m][i][j] - + darbouxCan * dd_dvij_dvkl[m][i][j][k][l]); + sum += (strain[m+3] - referenceStrain[m+3]) * (duCan_dvij_dvkl[i][j][k][l] * hatq.director(m) + + duCan_dvij[i][j] * dd_dvij[m][k][l] + + duCan_dvij[k][l] * dd_dvij[m][i][j] + + darbouxCan * dd_dvij_dvkl[m][i][j][k][l]); -#warning Reference strain missing here! localMat[i][k][j+3][l+3] += weight *K_[m] * sum; } @@ -593,8 +592,8 @@ assembleGradient(const std::vector<Configuration>& sol, double addend1 = du_dvij * hatq.director(m); double addend2 = darbouxCan * dd_dvij[m][i][j]; -#warning Reference strain missing here! - grad[globalDof][3+j] += weight*K_[m]*strain[m+3] * (addend1 + addend2); + grad[globalDof][3+j] += weight * K_[m] + * (strain[m+3]-referenceStrain[m+3]) * (addend1 + addend2); } -- GitLab