From ae1a2ef05681b55901263bf696fe4dd560e07e11 Mon Sep 17 00:00:00 2001 From: "laura.stengel" <laura.stengel@kit.edu> Date: Fri, 28 Mar 2025 10:24:11 +0100 Subject: [PATCH] has to be updated again!!! (but first implement prolongate also for EG and DG) --- .../solvers/IterativePressureSolver.cpp | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/elasticity/solvers/IterativePressureSolver.cpp b/src/elasticity/solvers/IterativePressureSolver.cpp index 6a0f164d..c84a4fac 100644 --- a/src/elasticity/solvers/IterativePressureSolver.cpp +++ b/src/elasticity/solvers/IterativePressureSolver.cpp @@ -21,7 +21,6 @@ bool IterativePressureSolver::Method(IElasticity &assemble, Vector &u) { << endl; Vector uNew(u); - Initialize(assemble, uNew); while (!iteration.IsFinished()) { bool converged = Step(assemble, uNew); @@ -84,29 +83,29 @@ bool KlotzPressureSolver::Step(IElasticity &assemble, Vector &u) { return conv; } -void CalculatePrestress(IElasticity &assemble, Vector &u) { - int prestressSteps{1}; - Config::Get("PrestressSteps", prestressSteps); - int prestressLevel=0; - Config::Get("PrestressLevel", prestressLevel); - Vector uPrestressLevel(assemble.GetSharedDisc(),prestressLevel); - uPrestressLevel.Accumulate(); - IterativePressureSolver prestressSolver(assemble.GetElasticityProblem(), prestressSteps); - prestressSolver.Method(assemble, uPrestressLevel); - LagrangeTransfer lagrangeT(uPrestressLevel,u); - lagrangeT.Prolongate(uPrestressLevel,u); - assemble.InitializePrestress(u); - //u.Clear(); -} - -//old version +//TODO implement EG Prolongarte and use this newer version again!!! //void CalculatePrestress(IElasticity &assemble, Vector &u) { // int prestressSteps{1}; // Config::Get("PrestressSteps", prestressSteps); -// +// int prestressLevel=0; +// Config::Get("PrestressLevel", prestressLevel); +// Vector uPrestressLevel(assemble.GetSharedDisc(),prestressLevel); +// uPrestressLevel.Accumulate(); // IterativePressureSolver prestressSolver(assemble.GetElasticityProblem(), prestressSteps); -// prestressSolver.Method(assemble, u); -// mout << "u after preStressSolver.Method " << u << endl << endl; +// prestressSolver.Method(assemble, uPrestressLevel); +// LagrangeTransfer lagrangeT(uPrestressLevel,u); +// lagrangeT.Prolongate(uPrestressLevel,u); // assemble.InitializePrestress(u); // //u.Clear(); -//} \ No newline at end of file +//} + +//old version +void CalculatePrestress(IElasticity &assemble, Vector &u) { + int prestressSteps{1}; + Config::Get("PrestressSteps", prestressSteps); + + IterativePressureSolver prestressSolver(assemble.GetElasticityProblem(), prestressSteps); + prestressSolver.Method(assemble, u); + assemble.InitializePrestress(u); + //u.Clear(); +} \ No newline at end of file -- GitLab