Skip to content
Snippets Groups Projects
Commit 8581e8c5 authored by Elias Pipping's avatar Elias Pipping Committed by Elias Pipping
Browse files

[Problem] Compute initial displacement from stationary problem

parent dd0052d7
No related branches found
No related tags found
No related merge requests found
......@@ -213,6 +213,8 @@ int main(int argc, char *argv[]) {
// Set up the boundary
Dune::BitSetVector<dims> velocityDirichletNodes(finestSize, false);
Dune::BitSetVector<dims> const &displacementDirichletNodes =
velocityDirichletNodes;
Dune::BitSetVector<dims> accelerationDirichletNodes(finestSize, false);
Dune::BitSetVector<1> neumannNodes(finestSize, false);
Dune::BitSetVector<1> frictionalNodes(finestSize, false);
......@@ -357,9 +359,32 @@ int main(int argc, char *argv[]) {
GridType>;
ZeroNonlinearity<SmallVector, SmallMatrix> zeroNonlinearity;
// Solve the stationary problem
VectorType u_initial(finestSize);
u_initial = 0.0;
{
LinearFactoryType displacementFactory(parset.sub("solver.tnnmg"), // FIXME
refinements, 1e-12, // FIXME,
*grid, displacementDirichletNodes);
auto multigridStep = displacementFactory.getSolver();
Solver::VerbosityMode const verbosity =
parset.get<bool>("verbose") ? Solver::FULL : Solver::QUIET;
typename LinearFactoryType::ConvexProblemType myConvexProblem(
1.0, A, zeroNonlinearity, ell, u_initial);
typename LinearFactoryType::BlockProblemType initialDisplacementProblem(
parset, myConvexProblem);
multigridStep->setProblem(u_initial, initialDisplacementProblem);
LoopSolver<VectorType> initialDisplacementProblemSolver(
multigridStep,
parset.get<size_t>("solver.tnnmg.maxiterations"), // FIXME
1e-12, // FIXME
&ANorm, verbosity, false); // absolute error
initialDisplacementProblemSolver.preprocess();
initialDisplacementProblemSolver.solve();
}
VectorType v_initial(finestSize);
{
// Prescribe a homogeneous velocity field in the x-direction
......
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