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

generalization: solve Dirichlet problems for all rods

[[Imported from SVN: r6842]]
parent 189467d5
No related branches found
No related tags found
No related merge requests found
......@@ -703,16 +703,27 @@ template <class RodGridType, class ContinuumGridType>
void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::
iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambda)
{
// temporary
std::pair<std::string,std::string> interfaceName = std::make_pair("rod","continuum");
///////////////////////////////////////////////////////////////////
// Evaluate the Dirichlet-to-Neumann map for the rod
// Evaluate the Dirichlet-to-Neumann maps for the rods
///////////////////////////////////////////////////////////////////
std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> rodForceTorque
= rodDirichletToNeumannMap("rod", lambda);
std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> rodForceTorque;
for (RodIterator it = rods_.begin(); it != rods_.end(); ++it) {
const std::string& rodName = it->first;
std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> forceTorque = rodDirichletToNeumannMap(rodName, lambda);
int oldSize = rodForceTorque.size(); // for debugging
rodForceTorque.insert(forceTorque.begin(), forceTorque.end());
assert(rodForceTorque.size() == oldSize + forceTorque.size());
}
// temporary
std::pair<std::string,std::string> interfaceName = std::make_pair("rod","continuum");
std::cout << "resultant rod force and torque: " << rodForceTorque[interfaceName] << std::endl;
///////////////////////////////////////////////////////////////////
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment