Skip to content
Snippets Groups Projects
Commit 8b7a38f1 authored by Oliver Sander's avatar Oliver Sander Committed by sander@FU-BERLIN.DE
Browse files

move method assembleGradient out of the Imp class again

[[Imported from SVN: r7388]]
parent bb649f0a
No related branches found
No related tags found
No related merge requests found
...@@ -119,24 +119,6 @@ class LocalGeodesicFEStiffnessImp ...@@ -119,24 +119,6 @@ class LocalGeodesicFEStiffnessImp
} }
public:
static void assembleGradient(const Entity& element,
const std::vector<TargetSpace>& localSolution,
std::vector<typename TargetSpace::TangentVector>& localGradient,
const LocalGeodesicFEStiffness<GridView,TargetSpace>* energyObject)
{
std::vector<typename TargetSpace::EmbeddedTangentVector> embeddedLocalGradient;
// first compute the gradient in embedded coordinates
assembleEmbeddedGradient(element, localSolution, embeddedLocalGradient, energyObject);
// transform to coordinates on the tangent space
localGradient.resize(embeddedLocalGradient.size());
for (size_t i=0; i<localGradient.size(); i++)
localSolution[i].orthonormalFrame().mv(embeddedLocalGradient[i], localGradient[i]);
}
}; };
...@@ -200,7 +182,16 @@ assembleGradient(const Entity& element, ...@@ -200,7 +182,16 @@ assembleGradient(const Entity& element,
const std::vector<TargetSpace>& localSolution, const std::vector<TargetSpace>& localSolution,
std::vector<typename TargetSpace::TangentVector>& localGradient) const std::vector<typename TargetSpace::TangentVector>& localGradient) const
{ {
LocalGeodesicFEStiffnessImp<GridView,TargetSpace>::assembleGradient(element, localSolution, localGradient,this); std::vector<typename TargetSpace::EmbeddedTangentVector> embeddedLocalGradient;
// first compute the gradient in embedded coordinates
LocalGeodesicFEStiffnessImp<GridView,TargetSpace>::assembleEmbeddedGradient(element, localSolution, embeddedLocalGradient, this);
// transform to coordinates on the tangent space
localGradient.resize(embeddedLocalGradient.size());
for (size_t i=0; i<localGradient.size(); i++)
localSolution[i].orthonormalFrame().mv(embeddedLocalGradient[i], localGradient[i]);
} }
template <class GridView, class TargetSpace> template <class GridView, class TargetSpace>
......
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