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

improved handling of rod Dirichlet data

[[Imported from SVN: r6755]]
parent 3ddba247
No related branches found
No related tags found
No related merge requests found
......@@ -165,6 +165,14 @@ int main (int argc, char *argv[]) try
double angle = parameterSet.get("dirichletAngle", double(0));
rodX.back().q = Rotation<3,double>(axis, M_PI*angle/180);
rodFactory.create(complex.rodDirichletValues_["rod"],
RigidBodyMotion<3>(FieldVector<double,3>(0), Rotation<3,double>::identity()));
complex.rodDirichletValues_["rod"].back() = RigidBodyMotion<3>(parameterSet.get("dirichletValue", rodRestEndPoint[1]),
Rotation<3,double>(axis, M_PI*angle/180));
BitSetVector<1> rodDNodes(complex.rodDirichletValues_["rod"].size(), false);
rodDNodes.back() = true;
complex.rodDirichletBoundaries_["rod"].setup(*complex.rodGrids_["rod"],rodDNodes);
// Backup initial rod iterate for later reference
RodSolutionType initialIterateRod = rodX;
......
......@@ -367,17 +367,17 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
///////////////////////////////////////////////////////////////////
// solve a Dirichlet problem for the rod
RodSolutionType rodX;
/** \todo Using that the coupling boundary is the one with the lower coordinate */
#warning Dirichlet boundary not properly set
RigidBodyMotion<3> rodDirichletValue;
rodDirichletValue.r = 0;
rodDirichletValue.q = Rotation<3,double>::identity();
RigidBodyMotion<3> rodDirichletValue = complex_.rodDirichletValues_["rod"].back();
// Set initial iterate
RodSolutionType rodX;
RodFactory<typename RodGridType::LeafGridView> rodFactory(complex_.rodGrids_["rod"]->leafView());
rodFactory.create(rodX,lambda,rodDirichletValue);
rodSolver_->setInitialSolution(rodX);
// Solve the Dirichlet problem
rodSolver_->solve();
rodX = rodSolver_->getSol();
......
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