From ab49330bdd1e7c9d4aba8ac10760cf1c6b220631 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Sat, 28 Mar 2015 12:27:56 +0100 Subject: [PATCH] [Output ] Centralise special writing Write out time step #0, too --- src/sand-wedge.cc | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index d529e770..1cf9d0ba 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -313,17 +313,28 @@ int main(int argc, char *argv[]) { BoundaryWriter<ScalarVector, Vector> horizontalSurfaceWriter( vertexCoordinates, surfaceNodes, "horizontalSurface", MyGeometry::horizontalProjection); + SpecialWriter<GridView, dims> specialVelocityWriter("specialVelocities", + leafView); + SpecialWriter<GridView, dims> specialDisplacementWriter( + "specialDisplacements", leafView); - auto const report = - [&](Vector const &_u, Vector const &_v, ScalarVector const &_alpha) { - horizontalSurfaceWriter.writeKinetics(_u, _v); - verticalSurfaceWriter.writeKinetics(_u, _v); - - ScalarVector c; - myGlobalFriction->coefficientOfFriction(_v, c); - frictionWriter.writeKinetics(_u, _v); - frictionWriter.writeOther(c, _alpha); - }; + auto const report = [&](Vector const &_u, Vector const &_v, + ScalarVector const &_alpha) { + horizontalSurfaceWriter.writeKinetics(_u, _v); + verticalSurfaceWriter.writeKinetics(_u, _v); + + ScalarVector c; + myGlobalFriction->coefficientOfFriction(_v, c); + frictionWriter.writeKinetics(_u, _v); + frictionWriter.writeOther(c, _alpha); + + BasisGridFunction<typename MyAssembler::VertexBasis, Vector> velocity( + myAssembler.vertexBasis, _v); + BasisGridFunction<typename MyAssembler::VertexBasis, Vector> displacement( + myAssembler.vertexBasis, _u); + specialVelocityWriter.write(velocity); + specialDisplacementWriter.write(displacement); + }; report(u_initial, v_initial, alpha_initial); MyVTKWriter<typename MyAssembler::VertexBasis, @@ -337,11 +348,6 @@ int main(int argc, char *argv[]) { vtkWriter.write(0, u_initial, v_initial, alpha_initial, stress); } - SpecialWriter<GridView, dims> specialVelocityWriter("specialVelocities", - leafView); - SpecialWriter<GridView, dims> specialDisplacementWriter( - "specialDisplacements", leafView); - // Set up TNNMG solver using NonlinearFactory = SolverFactory< dims, @@ -394,14 +400,6 @@ int main(int argc, char *argv[]) { current.first->extractAlpha(alpha); report(u, v, alpha); - { - BasisGridFunction<typename MyAssembler::VertexBasis, Vector> velocity( - myAssembler.vertexBasis, v); - BasisGridFunction<typename MyAssembler::VertexBasis, Vector> - displacement(myAssembler.vertexBasis, u); - specialVelocityWriter.write(velocity); - specialDisplacementWriter.write(displacement); - } if (parset.get<bool>("io.writeVTK")) { ScalarVector stress; -- GitLab