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

bugfix: set the correct Dirichlet nodes for the linearized continuum NtD map

[[Imported from SVN: r6858]]
parent f85c1df4
No related branches found
No related tags found
No related merge requests found
...@@ -660,6 +660,14 @@ linearizedContinuumNeumannToDirichletMap(const std::string& continuumName, ...@@ -660,6 +660,14 @@ linearizedContinuumNeumannToDirichletMap(const std::string& continuumName,
boundaryFunctionalAssembler.assemble(localNeumannAssembler, rhs, false); boundaryFunctionalAssembler.assemble(localNeumannAssembler, rhs, false);
} }
// Set the correct Dirichlet nodes
/** \brief Don't write this BitSetVector at each iteration */
Dune::BitSetVector<dim> dirichletNodes(rhs.size(),false);
for (size_t i=0; i<dirichletNodes.size(); i++)
dirichletNodes[i] = dirichletBoundary.containsVertex(i);
dynamic_cast<IterationStep<VectorType>* >(continuum(continuumName).solver_->iterationStep_)->ignoreNodes_
= &dirichletNodes;
// Solve the Neumann problem for the continuum // Solve the Neumann problem for the continuum
VectorType x = complex_.continuum(continuumName).dirichletValues_; VectorType x = complex_.continuum(continuumName).dirichletValues_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment