From 31d9ed1b96eacf0c455884f194c0378865ed36c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20Gl=C3=A4ser?= <dennis.glaeser@iws.uni-stuttgart.de> Date: Thu, 10 May 2018 14:37:31 +0200 Subject: [PATCH] [poroelastic] add test --- test/geomechanics/poroelastic/CMakeLists.txt | 18 + .../poroelastic/poroelastic.input | 13 + test/geomechanics/poroelastic/problem.hh | 226 +++++++++++++ .../geomechanics/poroelastic/spatialparams.hh | 72 ++++ .../poroelastic/test_poroelastic.cc | 244 ++++++++++++++ test/references/poroelasticbox-reference.vtu | 317 ++++++++++++++++++ 6 files changed, 890 insertions(+) create mode 100644 test/geomechanics/poroelastic/CMakeLists.txt create mode 100644 test/geomechanics/poroelastic/poroelastic.input create mode 100644 test/geomechanics/poroelastic/problem.hh create mode 100644 test/geomechanics/poroelastic/spatialparams.hh create mode 100644 test/geomechanics/poroelastic/test_poroelastic.cc create mode 100644 test/references/poroelasticbox-reference.vtu diff --git a/test/geomechanics/poroelastic/CMakeLists.txt b/test/geomechanics/poroelastic/CMakeLists.txt new file mode 100644 index 0000000000..df2361d674 --- /dev/null +++ b/test/geomechanics/poroelastic/CMakeLists.txt @@ -0,0 +1,18 @@ +dune_symlink_to_source_files(FILES "poroelastic.input") + +# using box and numeric differentiation +dune_add_test(NAME test_poroelastic_box + SOURCES test_poroelastic.cc + COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py + CMD_ARGS --script fuzzy + --files ${CMAKE_SOURCE_DIR}/test/references/poroelasticbox-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/poroelastic-00001.vtu + --command "${CMAKE_CURRENT_BINARY_DIR}/test_poroelastic_box poroelastic.input") + +set(CMAKE_BUILD_TYPE Release) + +install(FILES +problem.hh +spatialparams.hh +test_poroelastic.cc +DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/test/geomechanics/poroelastic) diff --git a/test/geomechanics/poroelastic/poroelastic.input b/test/geomechanics/poroelastic/poroelastic.input new file mode 100644 index 0000000000..928149639f --- /dev/null +++ b/test/geomechanics/poroelastic/poroelastic.input @@ -0,0 +1,13 @@ +[Grid] +UpperRight = 1 1 +Cells = 10 10 + +[Problem] +Name = poroelastic +EnableGravity = false + +[Assembly.NumericDifference] +PriVarMagnitude = 1e5 1e5 + +[Component] +SolidDensity = 2700 diff --git a/test/geomechanics/poroelastic/problem.hh b/test/geomechanics/poroelastic/problem.hh new file mode 100644 index 0000000000..c98f3c495c --- /dev/null +++ b/test/geomechanics/poroelastic/problem.hh @@ -0,0 +1,226 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/** + * \file + * \brief Definition of a test problem for the poro-elastic model + */ +#ifndef DUMUX_POROELASTIC_PROBLEM_HH +#define DUMUX_POROELASTIC_PROBLEM_HH + +#include <dune/common/fmatrix.hh> + +#include <dumux/discretization/box/properties.hh> +#include <dumux/geomechanics/poroelastic/model.hh> +#include <dumux/geomechanics/fvproblem.hh> + +#include <dumux/material/fluidsystems/1pliquid.hh> +#include <dumux/material/components/constant.hh> + +#include "spatialparams.hh" + +namespace Dumux { + +template <class TypeTag> +class PoroElasticProblem; + +namespace Properties { +NEW_TYPE_TAG(PoroElasticTypeTag, INHERITS_FROM(BoxModel, PoroElastic)); +// Set the grid type +SET_TYPE_PROP(PoroElasticTypeTag, Grid, Dune::YaspGrid<2>); +// Set the problem property +SET_TYPE_PROP(PoroElasticTypeTag, Problem, Dumux::PoroElasticProblem<TypeTag>); +// The fluid phase consists of one constant component +SET_TYPE_PROP(PoroElasticTypeTag, + FluidSystem, + Dumux::FluidSystems::OnePLiquid< typename GET_PROP_TYPE(TypeTag, Scalar), + Dumux::Components::Constant<0, typename GET_PROP_TYPE(TypeTag, Scalar)> >); +// The spatial parameters property +SET_TYPE_PROP(PoroElasticTypeTag, SpatialParams, PoroElasticSpatialParams< typename GET_PROP_TYPE(TypeTag, Scalar), + typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +} + +/*! + * \ingroup Geomechanics + * \ingroup PoroElastic + * + * \brief Problem definition for the deformation of a poro-elastic body + */ +template<class TypeTag> +class PoroElasticProblem : public GeomechanicsFVProblem<TypeTag> +{ + using ParentType = GeomechanicsFVProblem<TypeTag>; + + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + + using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVElementGeometry = typename FVGridGeometry::LocalView; + using SubControlVolume = typename FVGridGeometry::SubControlVolume; + using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; + + using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Element = typename GridView::template Codim<0>::Entity; + using GlobalPosition = typename Element::Geometry::GlobalCoordinate; + + static constexpr int dim = GridView::dimension; + static constexpr int dimWorld = GridView::dimensionworld; + using GradU = Dune::FieldMatrix<Scalar, dim, dimWorld>; + +public: + //! The constructor + PoroElasticProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry) + : ParentType(fvGridGeometry) {} + + //! The temperature in the domain + static constexpr Scalar temperature() { return 273.15; } + //! Evaluate the initial value for a control volume. + PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + //! Evaluate the boundary conditions for a Dirichlet boundary segment. + PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + //! Evaluate the boundary conditions for a Neumannboundary segment. + PrimaryVariables neumannAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + + /*! + * \brief Returns the effective fluid density + * \param globalPos The global position + */ + Scalar effectiveFluidDensityAtPos(const GlobalPosition& globalPos) const + { + // This test uses the constant component, obtain density only once + using FS = typename GET_PROP_TYPE(TypeTag, FluidSystem); + static const Scalar rho = FS::density( effectivePorePressureAtPos(globalPos), temperature() ); + return rho; + } + + /*! + * \brief Returns the effective pore pressure + * \note We use the x-displacement as pressure solution. The shift to + * higher values is done to see a mor pronounced effect in stresses. + * + * \param globalPos The global position + */ + Scalar effectivePorePressureAtPos(const GlobalPosition& globalPos) const + { return exactSolution(globalPos)[0] + 10; } + + /*! + * \brief Specifies which kind of boundary condition should be + * used for which equation on a given boundary segment. + * \param globalPos The global position + */ + BoundaryTypes boundaryTypesAtPos(const GlobalPosition& globalPos) const + { + BoundaryTypes values; + values.setAllDirichlet(); + return values; + } + + /*! + * \brief Evaluate the source term for all phases within a given + * sub-control-volume. + */ + PrimaryVariables source(const Element& element, + const FVElementGeometry& fvGeometry, + const ElementVolumeVariables& elemVolVars, + const SubControlVolume& scv) const + { + using std::sin; + using std::cos; + + static const Scalar pi = 3.14159265358979323846; + const auto ipGlobal = scv.center(); + const auto x = ipGlobal[0]; + const auto y = ipGlobal[1]; + + // the lame parameters (we know they only depend on position here) + const auto& lameParams = this->spatialParams().lameParamsAtPos(scv.center()); + const auto lambda = lameParams.lambda(); + const auto mu = lameParams.mu(); + + // precalculated products + const Scalar pi_2 = 2.0*pi; + const Scalar pi_2_square = pi_2*pi_2; + const Scalar cos_2pix = cos(pi_2*x); + const Scalar sin_2pix = sin(pi_2*x); + const Scalar cos_2piy = cos(pi_2*y); + const Scalar sin_2piy = sin(pi_2*y); + + const Scalar dE11_dx = -2.0*sin_2piy; + const Scalar dE22_dx = pi_2_square*cos_2pix*cos_2piy; + const Scalar dE11_dy = pi_2*(1.0-2.0*x)*cos_2piy; + const Scalar dE22_dy = -1.0*pi_2_square*sin_2pix*sin_2piy; + const Scalar dE12_dy = 0.5*pi_2_square*(cos_2pix*cos_2piy - (x-x*x)*sin_2piy); + const Scalar dE21_dx = 0.5*((1.0-2*x)*pi_2*cos_2piy - pi_2_square*sin_2pix*sin_2piy); + + // compute exact divergence of sigma + PrimaryVariables divSigma(0.0); + divSigma[Indices::momentum(/*x-dir*/0)] = lambda*(dE11_dx + dE22_dx) + 2*mu*(dE11_dx + dE12_dy); + divSigma[Indices::momentum(/*y-dir*/1)] = lambda*(dE11_dy + dE22_dy) + 2*mu*(dE21_dx + dE22_dy); + return divSigma; + } + + /*! + * \brief Evaluate the exact displacement to this problem at a given position. + */ + PrimaryVariables exactSolution(const GlobalPosition& globalPos) const + { + using std::sin; + + static const Scalar pi = 3.14159265358979323846; + const auto x = globalPos[0]; + const auto y = globalPos[1]; + + PrimaryVariables exact(0.0); + exact[Indices::momentum(/*x-dir*/0)] = (x-x*x)*sin(2*pi*y); + exact[Indices::momentum(/*y-dir*/1)] = sin(2*pi*x)*sin(2*pi*y); + return exact; + } + + /*! + * \brief Evaluate the exact displacement gradient to this problem at a given position. + */ + GradU exactGradient(const GlobalPosition& globalPos) const + { + using std::sin; + using std::cos; + + static const Scalar pi = 3.14159265358979323846; + const auto x = globalPos[0]; + const auto y = globalPos[1]; + + static constexpr int xIdx = Indices::momentum(/*x-dir*/0); + static constexpr int yIdx = Indices::momentum(/*y-dir*/1); + + GradU exactGrad(0.0); + exactGrad[xIdx][xIdx] = (1-2*x)*sin(2*pi*y); + exactGrad[xIdx][yIdx] = (x - x*x)*2*pi*cos(2*pi*y); + exactGrad[yIdx][xIdx] = 2*pi*cos(2*pi*x)*sin(2*pi*y); + exactGrad[yIdx][yIdx] = 2*pi*sin(2*pi*x)*cos(2*pi*y); + return exactGrad; + } + +private: + static constexpr Scalar eps_ = 3e-6; +}; + +} //end namespace + +#endif diff --git a/test/geomechanics/poroelastic/spatialparams.hh b/test/geomechanics/poroelastic/spatialparams.hh new file mode 100644 index 0000000000..c1285f590a --- /dev/null +++ b/test/geomechanics/poroelastic/spatialparams.hh @@ -0,0 +1,72 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * \brief Definition of the spatial parameters for the poro-elastic problem + */ +#ifndef DUMUX_POROELASTIC_SPATIAL_PARAMS_HH +#define DUMUX_POROELASTIC_SPATIAL_PARAMS_HH + +#include <dumux/geomechanics/lameparams.hh> +#include <dumux/material/spatialparams/fvporoelastic.hh> + +namespace Dumux { + +/*! + * \ingroup Geomechanics + * \ingroup PoroElastic + * \brief Definition of the spatial parameters for the poro-elastic problem + */ +template<class Scalar, class FVGridGeometry> +class PoroElasticSpatialParams : public FVSpatialParamsPoroElastic< Scalar, + FVGridGeometry, + PoroElasticSpatialParams<Scalar, FVGridGeometry> > +{ + using ThisType = PoroElasticSpatialParams<Scalar, FVGridGeometry>; + using ParentType = FVSpatialParamsPoroElastic<Scalar, FVGridGeometry, ThisType>; + + using SubControlVolume = typename FVGridGeometry::SubControlVolume; + using GridView = typename FVGridGeometry::GridView; + using Element = typename GridView::template Codim<0>::Entity; + using GlobalPosition = typename Element::Geometry::GlobalCoordinate; + +public: + //! export the type of the lame parameters + using LameParams = Dumux::LameParams<Scalar>; + + //! The constructor + PoroElasticSpatialParams(std::shared_ptr<const FVGridGeometry> fvGridGeometry) + : ParentType(fvGridGeometry) + { + lameParams_.setLambda(2); + lameParams_.setMu(2); + } + + //! Define the Lame parameters + const LameParams& lameParamsAtPos(const GlobalPosition& globalPos) const { return lameParams_; } + //! Return the porosity of the porous medium + Scalar porosityAtPos(const GlobalPosition& globalPos) const { return 0.3; } + //! Return the biot coefficient of the porous medium + Scalar biotCoefficientAtPos(const GlobalPosition& globalPos) const { return 1.0; } + +private: + LameParams lameParams_; +}; +} // end namespace Dumux +#endif diff --git a/test/geomechanics/poroelastic/test_poroelastic.cc b/test/geomechanics/poroelastic/test_poroelastic.cc new file mode 100644 index 0000000000..61acaa7dd7 --- /dev/null +++ b/test/geomechanics/poroelastic/test_poroelastic.cc @@ -0,0 +1,244 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ +/*! + * \file + * + * \brief test for the one-phase CC model + */ +#include <config.h> + +#include <ctime> +#include <iostream> + +#include <dune/common/parallel/mpihelper.hh> +#include <dune/common/timer.hh> +#include <dune/common/fvector.hh> +#include <dune/grid/io/file/dgfparser/dgfexception.hh> +#include <dune/grid/io/file/vtk.hh> + +#include "problem.hh" + +#include <dumux/common/properties.hh> +#include <dumux/common/parameters.hh> +#include <dumux/common/valgrind.hh> +#include <dumux/common/dumuxmessage.hh> +#include <dumux/common/defaultusagemessage.hh> + +#include <dumux/linear/amgbackend.hh> +#include <dumux/nonlinear/newtonsolver.hh> + +#include <dumux/assembly/fvassembler.hh> +#include <dumux/assembly/diffmethod.hh> + +#include <dumux/discretization/methods.hh> +#include <dumux/discretization/elementsolution.hh> +#include <dumux/io/vtkoutputmodule.hh> + +// function to evaluate the element stresses +template< class StressType, + class Problem, + class GridVariables, + class SolutionVector, + class SigmaStorage > +void assembleElementStresses(SigmaStorage& sigmaStorage, + SigmaStorage& effSigmaStorage, + const Problem& problem, + const typename GridVariables::GridGeometry& fvGridGeometry, + const GridVariables& gridVariables, + const SolutionVector& x) +{ + for (const auto& element : elements(fvGridGeometry.gridView())) + { + auto fvGeometry = localView(fvGridGeometry); + auto elemVolVars = localView(gridVariables.curGridVolVars()); + + fvGeometry.bind(element); + elemVolVars.bind(element, fvGeometry, x); + + // evaluate flux variables cache at cell center + using FluxVarsCache = typename GridVariables::GridFluxVariablesCache::FluxVariablesCache; + FluxVarsCache fluxVarsCache; + fluxVarsCache.update(problem, element, fvGeometry, elemVolVars, element.geometry().center()); + + // get lame parameters, the pressure and compute stress tensor + const auto sigma = StressType::stressTensor(problem, element, fvGeometry, elemVolVars, fluxVarsCache); + const auto effSigma = StressType::effectiveStressTensor(problem, element, fvGeometry, elemVolVars, fluxVarsCache); + + // pass values into storage container + using FVGridGeometry = typename GridVariables::GridGeometry; + for (int dir = 0; dir < FVGridGeometry::GridView::dimension; ++dir) + { + const auto eIdx = fvGridGeometry.elementMapper().index(element); + sigmaStorage[dir][eIdx] = sigma[dir]; + effSigmaStorage[dir][eIdx] = effSigma[dir]; + } + } +} + +// main function +int main(int argc, char** argv) try +{ + using namespace Dumux; + + // define the type tag for this problem + using TypeTag = TTAG(PoroElasticTypeTag); + + // stop time for the entire computation + Dune::Timer timer; + + // initialize MPI, finalize is done automatically on exit + const auto& mpiHelper = Dune::MPIHelper::instance(argc, argv); + + // print dumux start message + if (mpiHelper.rank() == 0) + DumuxMessage::print(/*firstCall=*/true); + + // parse command line arguments and input file + Parameters::init(argc, argv); + + // try to create a grid (from the given grid file or the input file) + using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator); + GridCreator::makeGrid(); + GridCreator::loadBalance(); + + //////////////////////////////////////////////////////////// + // run non-linear problem on this grid + //////////////////////////////////////////////////////////// + + // we compute on the leaf grid view + const auto& leafGridView = GridCreator::grid().leafGridView(); + + // create the finite volume grid geometry + using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); + fvGridGeometry->update(); + + // the problem (initial and boundary conditions) + using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + auto problem = std::make_shared<Problem>(fvGridGeometry); + + // the solution vector + using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + SolutionVector x(fvGridGeometry->numDofs()); + problem->applyInitialSolution(x); + + // the grid variables + using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); + gridVariables->init(x); + + // intialize the vtk output module and output fields + using VtkOutputFields = typename GET_PROP_TYPE(TypeTag, VtkOutputFields); + using VtkOutputModule = VtkOutputModule<TypeTag>; + VtkOutputModule vtkWriter(*problem, *fvGridGeometry, *gridVariables, x, problem->name()); + VtkOutputFields::init(vtkWriter); + + // also, add displacement and exact solution to the output + vtkWriter.addField(x, "u"); + SolutionVector xExact(fvGridGeometry->numDofs()); + for (const auto& v : vertices(leafGridView)) + xExact[ fvGridGeometry->vertexMapper().index(v) ] = problem->exactSolution(v.geometry().center()); + vtkWriter.addField(xExact, "u_exact"); + + // Furthermore, write out element stress tensors + static constexpr int dim = FVGridGeometry::GridView::dimension; + static constexpr int dimWorld = FVGridGeometry::GridView::dimensionworld; + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using ForceVector = Dune::FieldVector< Scalar, dimWorld >; + + // containers to store sigma/effective sigma + std::array< std::vector<ForceVector>, dim > sigmaStorage; + std::array< std::vector<ForceVector>, dim > effSigmaStorage; + + const auto numCells = fvGridGeometry->gridView().size(0); + std::for_each(sigmaStorage.begin(), sigmaStorage.end(), [numCells] (auto& sigma) { sigma.resize(numCells); }); + std::for_each(effSigmaStorage.begin(), effSigmaStorage.end(), [numCells] (auto& effSigma) { effSigma.resize(numCells); }); + + for (int dir = 0; dir < dim; ++dir) + { + vtkWriter.addField(sigmaStorage[dir], "sigma_" + std::to_string(dir), VtkOutputModule::FieldType::element); + vtkWriter.addField(effSigmaStorage[dir], "effSigma_" + std::to_string(dir), VtkOutputModule::FieldType::element); + } + + // use convenience function to compute stresses + using StressType = GET_PROP_TYPE(TypeTag, StressType); + assembleElementStresses<StressType>(sigmaStorage, effSigmaStorage, *problem, *fvGridGeometry, *gridVariables, x); + + // write initial solution + vtkWriter.write(0.0); + + // the assembler with time loop for instationary problem + using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables); + + // the linear solver + using LinearSolver = AMGBackend<TypeTag>; + auto linearSolver = std::make_shared<LinearSolver>(leafGridView, fvGridGeometry->dofMapper()); + + // the non-linear solver + using NewtonSolver = Dumux::NewtonSolver<Assembler, LinearSolver>; + NewtonSolver nonLinearSolver(assembler, linearSolver); + + // linearize & solve + nonLinearSolver.solve(x); + + // the grid variables need to be up to date for subsequent output + gridVariables->update(x); + + // write vtk output + assembleElementStresses<StressType>(sigmaStorage, effSigmaStorage, *problem, *fvGridGeometry, *gridVariables, x); + vtkWriter.write(1.0); + + // print time and say goodbye + const auto& comm = Dune::MPIHelper::getCollectiveCommunication(); + if (mpiHelper.rank() == 0) + std::cout << "Simulation took " << timer.elapsed() << " seconds on " + << comm.size() << " processes.\n" + << "The cumulative CPU time was " << timer.elapsed()*comm.size() << " seconds.\n"; + + // print parameters + if (mpiHelper.rank() == 0) + Parameters::print(); + + return 0; +} // end main +catch (Dumux::ParameterException& e) +{ + std::cerr << std::endl << e << " ---> Abort!" << std::endl; + return 1; +} +catch (Dune::DGFException& e) +{ + std::cerr << "DGF exception thrown (" << e << + "). Most likely, the DGF file name is wrong " + "or the DGF file is corrupted, " + "e.g. missing hash at end of file or wrong number (dimensions) of entries." + << " ---> Abort!" << std::endl; + return 2; +} +catch (Dune::Exception& e) +{ + std::cerr << "Dune reported error: " << e << " ---> Abort!" << std::endl; + return 3; +} +catch (...) +{ + std::cerr << "Unknown exception thrown! ---> Abort!" << std::endl; + return 4; +} diff --git a/test/references/poroelasticbox-reference.vtu b/test/references/poroelasticbox-reference.vtu new file mode 100644 index 0000000000..086a6febbe --- /dev/null +++ b/test/references/poroelasticbox-reference.vtu @@ -0,0 +1,317 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> + <UnstructuredGrid> + <Piece NumberOfCells="100" NumberOfPoints="121"> + <PointData Scalars="divU" Vectors="u"> + <DataArray type="Float32" Name="divU" NumberOfComponents="1" format="ascii"> + 1.03018 4.31628 1.13699 3.12086 5.98734 4.05203 5.39399 3.56227 2.75709 1.7952 -0.925811 -0.623187 + -4.25901 -2.82056 -5.98019 -4.00904 -5.44047 -3.78356 -2.85233 -2.26772 -1.03268 -1.14381 0.850548 0.691137 + 0.516076 0.32864 0.134554 -0.0631484 -0.262281 -0.461096 -0.657845 -0.854738 -0.858747 0.231992 -2.01571 -3.24177 + -3.05161 -1.58592 0.528213 2.41507 3.28421 2.73113 0.889488 -0.239324 -0.485967 -3.96423 -5.77447 -5.27783 + -2.70607 0.920505 4.17942 5.78745 5.08895 2.30371 0.481644 -1.02811 -4.40834 -6.1109 -5.49569 -2.79631 + 0.962682 4.35375 6.08967 5.51364 2.84813 1.02816 -1.18662 -3.17723 -4.1212 -3.6207 -1.82134 0.638844 + 2.8712 4.07498 3.84249 2.31448 1.19117 -0.901086 -0.740581 -0.565618 -0.369383 -0.153144 0.0738811 0.299603 + 0.514138 0.714246 0.906097 0.908948 -0.279364 1.97083 3.19458 3.01476 1.57185 -0.513503 -2.37511 -3.2301 + -2.67608 -0.841163 0.288449 0.458683 3.91091 5.71737 5.23698 2.69765 -0.892034 -4.12352 -5.72345 -5.03643 + -2.27321 -0.451072 0.760231 4.10763 5.83294 5.29515 2.7159 -0.907401 -4.17938 -5.83797 -5.23428 -2.57987 + -0.757736 + </DataArray> + <DataArray type="Float32" Name="porosity" NumberOfComponents="1" format="ascii"> + 0.309054 1.29488 0.341098 0.936259 1.7962 1.21561 1.6182 1.06868 0.827126 0.538561 -0.277743 -0.186956 + -1.2777 -0.846167 -1.79406 -1.20271 -1.63214 -1.13507 -0.8557 -0.680316 -0.309803 -0.343143 0.255164 0.207341 + 0.154823 0.0985919 0.0403662 -0.0189445 -0.0786844 -0.138329 -0.197353 -0.256421 -0.257624 0.0695975 -0.604713 -0.972531 + -0.915482 -0.475777 0.158464 0.724521 0.985262 0.819339 0.266846 -0.0717973 -0.14579 -1.18927 -1.73234 -1.58335 + -0.81182 0.276152 1.25383 1.73624 1.52668 0.691113 0.144493 -0.308432 -1.3225 -1.83327 -1.64871 -0.838892 + 0.288805 1.30612 1.8269 1.65409 0.854439 0.308448 -0.355987 -0.953169 -1.23636 -1.08621 -0.546401 0.191653 + 0.861361 1.22249 1.15275 0.694345 0.357352 -0.270326 -0.222174 -0.169685 -0.110815 -0.0459431 0.0221643 0.0898809 + 0.154241 0.214274 0.271829 0.272684 -0.0838091 0.591249 0.958375 0.904428 0.471554 -0.154051 -0.712533 -0.96903 + -0.802824 -0.252349 0.0865348 0.137605 1.17327 1.71521 1.57109 0.809294 -0.26761 -1.23706 -1.71704 -1.51093 + -0.681962 -0.135322 0.228069 1.23229 1.74988 1.58854 0.81477 -0.27222 -1.25382 -1.75139 -1.57028 -0.773961 + -0.227321 + </DataArray> + <DataArray type="Float32" Name="u" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 0 0 0 0.0481153 0.363957 0 + 0 0 0 0.0934166 0.58934 0 0 0 0 0.130954 0.589376 0 + 0 0 0 0.155976 0.364446 0 0 0 0 0.164956 0.000518449 0 + 0 0 0 0.156554 -0.363477 0 0 0 0 0.131993 -0.588613 0 + 0 0 0 0.0946667 -0.588909 0 0 0 0 0.0491385 -0.363932 0 + 0 0 0 0 0 0 0 0 0 0.0838484 0.590559 0 + 0.152264 0.953557 0 0.20395 0.95324 0 0.236441 0.590205 0 0.247828 0.0029933 0 + 0.23735 -0.584491 0 0.205573 -0.948337 0 0.154177 -0.949978 0 0.0853257 -0.588714 0 + 0 0 0 0 0 0 0.0869138 0.59232 0 0.150812 0.955588 0 + 0.193915 0.955417 0 0.218695 0.592875 0 0.227034 0.00630311 0 0.219587 -0.580797 0 + 0.195501 -0.944912 0 0.152661 -0.947661 0 0.0883236 -0.587912 0 0 0 0 + 0 0 0 0.0556681 0.368707 0 0.0894817 0.594634 0 0.106461 0.595281 0 + 0.11319 0.371574 0 0.114957 0.00905389 0 0.113735 -0.354203 0 0.107428 -0.580103 0 + 0.0906056 -0.583065 0 0.0565214 -0.36215 0 0 0 0 0 0 0 + 0.00219115 0.00512468 0 -0.00779061 0.00822956 0 -0.0239508 0.00992753 0 -0.0381341 0.0105005 0 + -0.043704 0.0101149 0 -0.0381341 0.00891322 0 -0.0239508 0.00705559 0 -0.00779061 0.00474666 0 + 0.00219115 0.00226344 0 0 0 0 0 0 0 -0.0529906 -0.3597 0 + -0.103629 -0.580047 0 -0.147159 -0.577593 0 -0.177014 -0.352809 0 -0.187839 0.00905389 0 + -0.177559 0.37018 0 -0.148126 0.592771 0 -0.104753 0.591616 0 -0.0538439 0.366257 0 + 0 0 0 0 0 0 -0.0888655 -0.586512 0 -0.161633 -0.945823 0 + -0.216467 -0.943322 0 -0.250905 -0.579895 0 -0.262955 0.00630311 0 -0.251797 0.591973 0 + -0.218052 0.953827 0 -0.163482 0.95375 0 -0.0902753 0.59092 0 0 0 0 + 0 0 0 -0.0918459 -0.588504 0 -0.160151 -0.949473 0 -0.206475 -0.947793 0 + -0.233242 -0.584154 0 -0.242265 0.0029933 0 -0.234151 0.589868 0 -0.208099 0.952696 0 + -0.162064 0.953053 0 -0.0933231 0.59035 0 0 0 0 0 0 0 + -0.0603096 -0.364402 0 -0.0996524 -0.589188 0 -0.122767 -0.588728 0 -0.134401 -0.36351 0 + -0.138052 0.000518449 0 -0.134979 0.364478 0 -0.123806 0.589491 0 -0.100902 0.589619 0 + -0.0613327 0.364427 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 + </DataArray> + <DataArray type="Float32" Name="u_exact" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 0 0 0 0.0529007 0.345491 0 + 0 0 0 0.0940456 0.559017 0 0 0 0 0.123435 0.559017 0 + 0 0 0 0.141068 0.345491 0 0 0 0 0.146946 7.19829e-17 0 + 0 0 0 0.141068 -0.345491 0 0 -0 0 0.123435 -0.559017 0 + 0 -0 0 0.0940456 -0.559017 0 0 -0 0 0.0529007 -0.345491 0 + 0 -0 0 0 -1.43966e-16 0 0 0 0 0.0855951 0.559017 0 + 0.152169 0.904508 0 0.199722 0.904508 0 0.228254 0.559017 0 0.237764 1.16471e-16 0 + 0.228254 -0.559017 0 0.199722 -0.904508 0 0.152169 -0.904508 0 0.0855951 -0.559017 0 + 0 -2.32942e-16 0 0 0 0 0.0855951 0.559017 0 0.152169 0.904508 0 + 0.199722 0.904508 0 0.228254 0.559017 0 0.237764 1.16471e-16 0 0.228254 -0.559017 0 + 0.199722 -0.904508 0 0.152169 -0.904508 0 0.0855951 -0.559017 0 0 -2.32942e-16 0 + 0 0 0 0.0529007 0.345491 0 0.0940456 0.559017 0 0.123435 0.559017 0 + 0.141068 0.345491 0 0.146946 7.19829e-17 0 0.141068 -0.345491 0 0.123435 -0.559017 0 + 0.0940456 -0.559017 0 0.0529007 -0.345491 0 0 -1.43966e-16 0 0 0 0 + 1.10218e-17 7.19829e-17 0 1.95943e-17 1.16471e-16 0 2.57176e-17 1.16471e-16 0 2.93915e-17 7.19829e-17 0 + 3.06162e-17 1.49976e-32 0 2.93915e-17 -7.19829e-17 0 2.57176e-17 -1.16471e-16 0 1.95943e-17 -1.16471e-16 0 + 1.10218e-17 -7.19829e-17 0 0 -2.99952e-32 0 0 0 0 -0.0529007 -0.345491 0 + -0.0940456 -0.559017 0 -0.123435 -0.559017 0 -0.141068 -0.345491 0 -0.146946 -7.19829e-17 0 + -0.141068 0.345491 0 -0.123435 0.559017 0 -0.0940456 0.559017 0 -0.0529007 0.345491 0 + 0 1.43966e-16 0 -0 -0 0 -0.0855951 -0.559017 0 -0.152169 -0.904508 0 + -0.199722 -0.904508 0 -0.228254 -0.559017 0 -0.237764 -1.16471e-16 0 -0.228254 0.559017 0 + -0.199722 0.904508 0 -0.152169 0.904508 0 -0.0855951 0.559017 0 -0 2.32942e-16 0 + -0 -0 0 -0.0855951 -0.559017 0 -0.152169 -0.904508 0 -0.199722 -0.904508 0 + -0.228254 -0.559017 0 -0.237764 -1.16471e-16 0 -0.228254 0.559017 0 -0.199722 0.904508 0 + -0.152169 0.904508 0 -0.0855951 0.559017 0 -0 2.32942e-16 0 -0 -0 0 + -0.0529007 -0.345491 0 -0.0940456 -0.559017 0 -0.123435 -0.559017 0 -0.141068 -0.345491 0 + -0.146946 -7.19829e-17 0 -0.141068 0.345491 0 -0.123435 0.559017 0 -0.0940456 0.559017 0 + -0.0529007 0.345491 0 -0 1.43966e-16 0 -0 -0 0 -2.20436e-17 -1.43966e-16 0 + -3.91887e-17 -2.32942e-16 0 -5.14352e-17 -2.32942e-16 0 -5.8783e-17 -1.43966e-16 0 -6.12323e-17 -2.99952e-32 0 + -5.8783e-17 1.43966e-16 0 -5.14352e-17 2.32942e-16 0 -3.91887e-17 2.32942e-16 0 -2.20436e-17 1.43966e-16 0 + -0 5.99904e-32 0 + </DataArray> + </PointData> + <CellData Scalars="process rank" Vectors="sigma_0"> + <DataArray type="Float32" Name="process rank" NumberOfComponents="1" format="ascii"> + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 + </DataArray> + <DataArray type="Float32" Name="sigma_0" NumberOfComponents="3" format="ascii"> + -4.93165 4.12072 0 0.852608 3.66916 0 2.85535 2.24407 0 0.218572 0.61999 0 + -6.15744 -0.429951 0 -13.9581 -0.42486 0 -20.328 0.63411 0 -22.953 2.26364 0 + -20.9337 3.68783 0 -15.1281 4.1307 0 -3.81349 9.90249 0 -0.78345 6.82962 0 + -0.194182 1.31561 0 -2.56243 -4.34505 0 -7.30686 -7.87801 0 -12.952 -7.87811 0 + -17.6815 -4.34606 0 -20.0213 1.31153 0 -19.393 6.81939 0 -16.3202 9.88833 0 + -4.90703 11.8594 0 -6.12019 7.2788 0 -7.30173 -0.119743 0 -8.4609 -7.53357 0 + -9.59592 -12.1232 0 -10.7152 -12.1314 0 -11.8322 -7.55796 0 -12.9572 -0.159769 0 + -14.092 7.22495 0 -15.249 11.7962 0 -7.9971 9.29781 0 -13.0175 4.9662 0 + -15.5601 -1.48308 0 -15.0532 -7.79209 0 -12.0826 -11.6667 0 -8.16684 -11.6829 0 + -5.18181 -7.8394 0 -4.6475 -1.55839 0 -7.15222 4.86807 0 -12.1262 9.1826 0 + -11.9147 3.20355 0 -18.8243 0.782829 0 -21.7509 -2.25339 0 -19.7582 -5.0487 0 + -13.7907 -6.72891 0 -6.30428 -6.74989 0 -0.331271 -5.11006 0 1.6719 -2.35047 0 + -1.24022 0.657061 0 -8.13192 3.05556 0 -15.1576 -4.09757 0 -21.3102 -3.68262 0 + -23.4907 -2.14893 0 -20.7592 -0.367308 0 -14.0591 0.784621 0 -5.84597 0.763641 0 + 0.848633 -0.428665 0 3.56978 -2.24601 0 1.37475 -3.80839 0 -4.7958 -4.24556 0 + -16.4854 -9.82087 0 -19.5249 -6.73537 0 -20.1143 -1.22357 0 -17.6729 4.45011 0 + -12.7844 7.99054 0 -6.96622 7.97442 0 -2.09211 4.4028 0 0.321887 -1.29888 0 + -0.305422 -6.8335 0 -3.39137 -9.93608 0 -15.3938 -11.78 0 -14.1611 -7.21778 0 + -12.9285 0.156543 0 -11.696 7.5472 0 -10.4603 12.117 0 -9.22851 12.1088 0 + -8.01093 7.52281 0 -6.81264 0.116517 0 -5.62675 -7.27163 0 -4.45025 -11.8432 0 + -12.2852 -9.2137 0 -7.28242 -4.93719 0 -4.73798 1.46346 0 -5.17088 7.71407 0 + -7.99828 11.5423 0 -11.7428 11.5422 0 -14.5851 7.71306 0 -15.0465 1.45938 0 + -12.5411 -4.94742 0 -7.58112 -9.22786 0 -8.15059 -3.04093 0 -1.60499 -0.648233 0 + 1.14365 2.22879 0 -0.756332 4.82386 0 -6.40314 6.36481 0 -13.4813 6.3699 0 + -19.1342 4.83798 0 -21.046 2.24836 0 -18.314 -0.629562 0 -11.7896 -3.03094 0 + </DataArray> + <DataArray type="Float32" Name="effSigma_0" NumberOfComponents="3" format="ascii"> + 5.08303 4.12072 0 10.892 3.66916 0 12.9133 2.24407 0 10.2889 0.61999 0 + 3.91904 -0.429951 0 -3.88166 -0.42486 0 -10.2577 0.63411 0 -12.895 2.26364 0 + -10.8943 3.68783 0 -5.11347 4.1307 0 6.22494 9.90249 0 9.3197 6.82962 0 + 9.95751 1.31561 0 7.62162 -4.34505 0 2.89337 -7.87801 0 -2.75182 -7.87811 0 + -7.49749 -4.34606 0 -9.86961 1.31153 0 -9.28988 6.81939 0 -6.28175 9.88833 0 + 5.14047 11.8594 0 4.00731 7.2788 0 2.88577 -0.119743 0 1.7666 -7.53357 0 + 0.651581 -12.1232 0 -0.46772 -12.1314 0 -1.60472 -7.55796 0 -2.76967 -0.159769 0 + -3.96447 7.22495 0 -5.20146 11.7962 0 2.04133 9.29781 0 -2.91432 4.9662 0 + -5.40841 -1.48308 0 -4.86912 -7.79209 0 -1.88232 -11.6667 0 2.03339 -11.6829 0 + 5.00224 -7.8394 0 5.50419 -1.55839 0 2.95093 4.86807 0 -2.08773 9.1826 0 + -1.90004 3.20355 0 -8.78491 0.782829 0 -11.693 -2.25339 0 -9.68791 -5.0487 0 + -3.71419 -6.72891 0 3.7722 -6.74989 0 9.73903 -5.11006 0 11.7298 -2.35047 0 + 8.79918 0.657061 0 1.88275 3.05556 0 -5.17223 -4.09757 0 -11.3496 -3.68262 0 + -13.5487 -2.14893 0 -10.8295 -0.367308 0 -4.13555 0.784621 0 4.07754 0.763641 0 + 10.7783 -0.428665 0 13.5118 -2.24601 0 11.3353 -3.80839 0 5.18952 -4.24556 0 + -6.5238 -9.82087 0 -9.62804 -6.73537 0 -10.266 -1.22357 0 -7.85696 4.45011 0 + -2.98462 7.99054 0 2.83355 7.97442 0 7.72384 4.4028 0 10.1702 -1.29888 0 + 9.59143 -6.8335 0 6.5702 -9.93608 0 -5.44126 -11.78 0 -4.28859 -7.21778 0 + -3.11596 0.156543 0 -1.92345 7.5472 0 -0.707847 12.117 0 0.523986 12.1088 0 + 1.76157 7.52281 0 2.99986 0.116517 0 4.24575 -7.27163 0 5.50225 -11.8432 0 + -2.32365 -9.2137 0 2.61443 -4.93719 0 5.11033 1.46346 0 4.64507 7.71407 0 + 1.80149 11.5423 0 -1.94305 11.5422 0 -4.7692 7.71306 0 -5.19823 1.45938 0 + -2.64424 -4.94742 0 2.38045 -9.22786 0 1.83473 -3.04093 0 8.35561 -0.648233 0 + 11.0857 2.22879 0 9.17337 4.82386 0 3.52038 6.36481 0 -3.55777 6.3699 0 + -9.20453 4.83798 0 -11.104 2.24836 0 -8.35336 -0.629562 0 -1.80429 -3.03094 0 + </DataArray> + <DataArray type="Float32" Name="sigma_1" NumberOfComponents="3" format="ascii"> + 4.12072 1.38517 0 3.66916 19.0125 0 2.24407 25.6789 0 0.61999 18.7946 0 + -0.429951 0.962239 0 -0.42486 -21.0493 0 0.63411 -38.8786 0 2.26364 -45.7569 0 + 3.68783 -39.0799 0 4.1307 -21.424 0 9.90249 -1.9207 0 6.82962 8.75862 0 + 1.31561 12.583 0 -4.34505 8.07977 0 -7.87801 -3.14952 0 -7.87811 -16.9452 0 + -4.34606 -28.1695 0 1.31153 -32.6627 0 6.81939 -28.8225 0 9.88833 -18.1265 0 + 11.8594 -8.28707 0 7.2788 -8.69065 0 -0.119743 -9.11337 0 -7.53357 -9.50936 0 + -12.1232 -9.87084 0 -12.1314 -10.2167 0 -7.55796 -10.5726 0 -0.159769 -10.9576 0 + 7.22495 -11.3658 0 11.7962 -11.7599 0 9.29781 -15.321 0 4.9662 -26.663 0 + -1.48308 -31.1836 0 -7.79209 -27.3121 0 -11.6667 -16.6557 0 -11.6829 -3.40656 0 + -7.8394 7.25414 0 -1.55839 11.1338 0 4.86807 6.62336 0 9.1826 -4.71401 0 + 3.20355 -20.3435 0 0.782829 -38.3007 0 -2.25339 -45.2025 0 -5.0487 -38.5377 0 + -6.72891 -20.9149 0 -6.74989 0.892307 0 -5.11006 18.5167 0 -2.35047 25.1846 0 + 0.657061 18.2863 0 3.05556 0.330589 0 -4.09757 -21.4381 0 -3.68262 -39.1599 0 + -2.14893 -45.8129 0 -0.367308 -38.895 0 0.784621 -21.0186 0 0.763641 1.04115 0 + -0.428665 18.9159 0 -2.24601 25.8308 0 -3.80839 19.1742 0 -4.24556 1.45103 0 + -9.82087 -18.1845 0 -6.73537 -28.9085 0 -1.22357 -32.7771 0 4.45011 -28.2434 0 + 7.99054 -16.9236 0 7.97442 -3.01412 0 4.4028 8.3013 0 -1.29888 12.8268 0 + -6.8335 8.9482 0 -9.93608 -1.78051 0 -11.78 -11.8194 0 -7.21778 -11.4525 0 + 0.156543 -11.0677 0 7.5472 -10.6464 0 12.117 -10.1903 0 12.1088 -9.72223 0 + 7.52281 -9.2716 0 0.116517 -8.86131 0 -7.27163 -8.49105 0 -11.8432 -8.13362 0 + -9.2137 -4.76007 0 -4.93719 6.55828 0 1.46346 11.0378 0 7.71407 7.19131 0 + 11.5423 -3.38143 0 11.5422 -16.5238 0 7.71306 -27.1015 0 1.45938 -30.9581 0 + -4.94742 -26.4944 0 -9.22786 -15.1927 0 -3.04093 0.343648 0 -0.648233 18.2537 0 + 2.22879 25.1643 0 4.82386 18.5211 0 6.36481 0.929716 0 6.3699 -20.8427 0 + 4.83798 -38.4371 0 2.24836 -45.0863 0 -0.629562 -38.1863 0 -3.03094 -20.3048 0 + </DataArray> + <DataArray type="Float32" Name="effSigma_1" NumberOfComponents="3" format="ascii"> + 4.12072 11.3998 0 3.66916 29.0519 0 2.24407 35.7369 0 0.61999 28.8649 0 + -0.429951 11.0387 0 -0.42486 -10.9728 0 0.63411 -28.8083 0 2.26364 -35.6989 0 + 3.68783 -29.0405 0 4.1307 -11.4093 0 9.90249 8.11772 0 6.82962 18.8618 0 + 1.31561 22.7347 0 -4.34505 18.2638 0 -7.87801 7.05071 0 -7.87811 -6.74497 0 + -4.34606 -17.9855 0 1.31153 -22.511 0 6.81939 -18.7193 0 9.88833 -8.08811 0 + 11.8594 1.76043 0 7.2788 1.43685 0 -0.119743 1.07413 0 -7.53357 0.71814 0 + -12.1232 0.376661 0 -12.1314 0.0308437 0 -7.55796 -0.345099 0 -0.159769 -0.77012 0 + 7.22495 -1.23832 0 11.7962 -1.71244 0 9.29781 -5.28257 0 4.9662 -16.5599 0 + -1.48308 -21.0319 0 -7.79209 -17.128 0 -11.6667 -6.45545 0 -11.6829 6.79367 0 + -7.8394 17.4382 0 -1.55839 21.2855 0 4.86807 16.7265 0 9.1826 5.32442 0 + 3.20355 -10.3289 0 0.782829 -28.2613 0 -2.25339 -35.1446 0 -5.0487 -28.4674 0 + -6.72891 -10.8384 0 -6.74989 10.9688 0 -5.11006 28.587 0 -2.35047 35.2425 0 + 0.657061 28.3257 0 3.05556 10.3453 0 -4.09757 -11.4527 0 -3.68262 -29.1993 0 + -2.14893 -35.8708 0 -0.367308 -28.9653 0 0.784621 -11.0951 0 0.763641 10.9647 0 + -0.428665 28.8456 0 -2.24601 35.7729 0 -3.80839 29.1348 0 -4.24556 11.4363 0 + -9.82087 -8.22291 0 -6.73537 -19.0117 0 -1.22357 -22.9288 0 4.45011 -18.4274 0 + 7.99054 -7.12387 0 7.97442 6.78564 0 4.4028 18.1173 0 -1.29888 22.6751 0 + -6.8335 18.845 0 -9.93608 8.18106 0 -11.78 -1.86687 0 -7.21778 -1.57997 0 + 0.156543 -1.25521 0 7.5472 -0.873941 0 12.117 -0.437774 0 12.1088 0.0302692 0 + 7.52281 0.5009 0 0.116517 0.951194 0 -7.27163 1.38145 0 -11.8432 1.81888 0 + -9.2137 5.2015 0 -4.93719 16.4551 0 1.46346 20.8861 0 7.71407 17.0073 0 + 11.5423 6.41834 0 11.5422 -6.72407 0 7.71306 -17.2856 0 1.45938 -21.1098 0 + -4.94742 -16.5976 0 -9.22786 -5.23111 0 -3.04093 10.329 0 -0.648233 28.2143 0 + 2.22879 35.1063 0 4.82386 28.4508 0 6.36481 10.8532 0 6.3699 -10.9192 0 + 4.83798 -28.5074 0 2.24836 -35.1443 0 -0.629562 -28.2257 0 -3.03094 -10.3195 0 + </DataArray> + </CellData> + <Points> + <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii"> + 0 0 0 0.1 0 0 0 0.1 0 0.1 0.1 0 + 0.2 0 0 0.2 0.1 0 0.3 0 0 0.3 0.1 0 + 0.4 0 0 0.4 0.1 0 0.5 0 0 0.5 0.1 0 + 0.6 0 0 0.6 0.1 0 0.7 0 0 0.7 0.1 0 + 0.8 0 0 0.8 0.1 0 0.9 0 0 0.9 0.1 0 + 1 0 0 1 0.1 0 0 0.2 0 0.1 0.2 0 + 0.2 0.2 0 0.3 0.2 0 0.4 0.2 0 0.5 0.2 0 + 0.6 0.2 0 0.7 0.2 0 0.8 0.2 0 0.9 0.2 0 + 1 0.2 0 0 0.3 0 0.1 0.3 0 0.2 0.3 0 + 0.3 0.3 0 0.4 0.3 0 0.5 0.3 0 0.6 0.3 0 + 0.7 0.3 0 0.8 0.3 0 0.9 0.3 0 1 0.3 0 + 0 0.4 0 0.1 0.4 0 0.2 0.4 0 0.3 0.4 0 + 0.4 0.4 0 0.5 0.4 0 0.6 0.4 0 0.7 0.4 0 + 0.8 0.4 0 0.9 0.4 0 1 0.4 0 0 0.5 0 + 0.1 0.5 0 0.2 0.5 0 0.3 0.5 0 0.4 0.5 0 + 0.5 0.5 0 0.6 0.5 0 0.7 0.5 0 0.8 0.5 0 + 0.9 0.5 0 1 0.5 0 0 0.6 0 0.1 0.6 0 + 0.2 0.6 0 0.3 0.6 0 0.4 0.6 0 0.5 0.6 0 + 0.6 0.6 0 0.7 0.6 0 0.8 0.6 0 0.9 0.6 0 + 1 0.6 0 0 0.7 0 0.1 0.7 0 0.2 0.7 0 + 0.3 0.7 0 0.4 0.7 0 0.5 0.7 0 0.6 0.7 0 + 0.7 0.7 0 0.8 0.7 0 0.9 0.7 0 1 0.7 0 + 0 0.8 0 0.1 0.8 0 0.2 0.8 0 0.3 0.8 0 + 0.4 0.8 0 0.5 0.8 0 0.6 0.8 0 0.7 0.8 0 + 0.8 0.8 0 0.9 0.8 0 1 0.8 0 0 0.9 0 + 0.1 0.9 0 0.2 0.9 0 0.3 0.9 0 0.4 0.9 0 + 0.5 0.9 0 0.6 0.9 0 0.7 0.9 0 0.8 0.9 0 + 0.9 0.9 0 1 0.9 0 0 1 0 0.1 1 0 + 0.2 1 0 0.3 1 0 0.4 1 0 0.5 1 0 + 0.6 1 0 0.7 1 0 0.8 1 0 0.9 1 0 + 1 1 0 + </DataArray> + </Points> + <Cells> + <DataArray type="Int32" Name="connectivity" NumberOfComponents="1" format="ascii"> + 0 1 3 2 1 4 5 3 4 6 7 5 + 6 8 9 7 8 10 11 9 10 12 13 11 + 12 14 15 13 14 16 17 15 16 18 19 17 + 18 20 21 19 2 3 23 22 3 5 24 23 + 5 7 25 24 7 9 26 25 9 11 27 26 + 11 13 28 27 13 15 29 28 15 17 30 29 + 17 19 31 30 19 21 32 31 22 23 34 33 + 23 24 35 34 24 25 36 35 25 26 37 36 + 26 27 38 37 27 28 39 38 28 29 40 39 + 29 30 41 40 30 31 42 41 31 32 43 42 + 33 34 45 44 34 35 46 45 35 36 47 46 + 36 37 48 47 37 38 49 48 38 39 50 49 + 39 40 51 50 40 41 52 51 41 42 53 52 + 42 43 54 53 44 45 56 55 45 46 57 56 + 46 47 58 57 47 48 59 58 48 49 60 59 + 49 50 61 60 50 51 62 61 51 52 63 62 + 52 53 64 63 53 54 65 64 55 56 67 66 + 56 57 68 67 57 58 69 68 58 59 70 69 + 59 60 71 70 60 61 72 71 61 62 73 72 + 62 63 74 73 63 64 75 74 64 65 76 75 + 66 67 78 77 67 68 79 78 68 69 80 79 + 69 70 81 80 70 71 82 81 71 72 83 82 + 72 73 84 83 73 74 85 84 74 75 86 85 + 75 76 87 86 77 78 89 88 78 79 90 89 + 79 80 91 90 80 81 92 91 81 82 93 92 + 82 83 94 93 83 84 95 94 84 85 96 95 + 85 86 97 96 86 87 98 97 88 89 100 99 + 89 90 101 100 90 91 102 101 91 92 103 102 + 92 93 104 103 93 94 105 104 94 95 106 105 + 95 96 107 106 96 97 108 107 97 98 109 108 + 99 100 111 110 100 101 112 111 101 102 113 112 + 102 103 114 113 103 104 115 114 104 105 116 115 + 105 106 117 116 106 107 118 117 107 108 119 118 + 108 109 120 119 + </DataArray> + <DataArray type="Int32" Name="offsets" NumberOfComponents="1" format="ascii"> + 4 8 12 16 20 24 28 32 36 40 44 48 + 52 56 60 64 68 72 76 80 84 88 92 96 + 100 104 108 112 116 120 124 128 132 136 140 144 + 148 152 156 160 164 168 172 176 180 184 188 192 + 196 200 204 208 212 216 220 224 228 232 236 240 + 244 248 252 256 260 264 268 272 276 280 284 288 + 292 296 300 304 308 312 316 320 324 328 332 336 + 340 344 348 352 356 360 364 368 372 376 380 384 + 388 392 396 400 + </DataArray> + <DataArray type="UInt8" Name="types" NumberOfComponents="1" format="ascii"> + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 9 9 9 9 9 9 9 9 + 9 9 9 9 + </DataArray> + </Cells> + </Piece> + </UnstructuredGrid> +</VTKFile> -- GitLab