From 8572051ce85d2d3c3dad38775e4242bb7e461d60 Mon Sep 17 00:00:00 2001 From: Thomas Fetzer <thomas.fetzer@iws.uni-stuttgart.de> Date: Fri, 12 Jun 2015 13:12:27 +0000 Subject: [PATCH] [freeflow] added the zeroeq turbulence models from dumux-devel added zeroeq test problems to be done: - general docu and doxygen docu - model description for handbook - dune compatibilites 2.3 and >2.3 reviewed by gruenich git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@14861 2fb0f335-1f38-0410-981e-8018bf24f1b0 --- configure.ac | 6 + dumux/freeflow/Makefile.am | 7 +- dumux/freeflow/zeroeq/Makefile.am | 4 + dumux/freeflow/zeroeq/zeroeqfluxvariables.hh | 314 +++++ dumux/freeflow/zeroeq/zeroeqindices.hh | 61 + dumux/freeflow/zeroeq/zeroeqmodel.hh | 1188 +++++++++++++++++ dumux/freeflow/zeroeq/zeroeqproblem.hh | 81 ++ dumux/freeflow/zeroeq/zeroeqproperties.hh | 69 + .../freeflow/zeroeq/zeroeqpropertydefaults.hh | 95 ++ dumux/freeflow/zeroeqnc/Makefile.am | 4 + .../zeroeqnc/zeroeqncfluxvariables.hh | 258 ++++ dumux/freeflow/zeroeqnc/zeroeqncindices.hh | 64 + dumux/freeflow/zeroeqnc/zeroeqncmodel.hh | 363 +++++ dumux/freeflow/zeroeqnc/zeroeqncproperties.hh | 56 + .../zeroeqnc/zeroeqncpropertydefaults.hh | 79 ++ dumux/freeflow/zeroeqncni/Makefile.am | 4 + .../zeroeqncni/zeroeqncnifluxvariables.hh | 222 +++ .../freeflow/zeroeqncni/zeroeqncniindices.hh | 65 + dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh | 359 +++++ .../zeroeqncni/zeroeqncniproperties.hh | 57 + .../zeroeqncni/zeroeqncnipropertydefaults.hh | 77 ++ test/freeflow/CMakeLists.txt | 3 + test/freeflow/Makefile.am | 8 +- test/freeflow/zeroeq/CMakeLists.txt | 19 + test/freeflow/zeroeq/Makefile.am | 9 + test/freeflow/zeroeq/grids/channel.dgf | 15 + test/freeflow/zeroeq/grids/pipe.dgf | 15 + test/freeflow/zeroeq/test_zeroeq.cc | 61 + test/freeflow/zeroeq/test_zeroeq.input | 18 + test/freeflow/zeroeq/test_zeroeq_channel.cc | 62 + .../freeflow/zeroeq/test_zeroeq_channel.input | 19 + .../zeroeq/zeroeqchanneltestproblem.hh | 268 ++++ test/freeflow/zeroeq/zeroeqtestproblem.hh | 268 ++++ test/freeflow/zeroeq2c/CMakeLists.txt | 9 + test/freeflow/zeroeq2c/Makefile.am | 7 + test/freeflow/zeroeq2c/grids/testpipe.dgf | 15 + test/freeflow/zeroeq2c/test_zeroeq2c.cc | 64 + test/freeflow/zeroeq2c/test_zeroeq2c.input | 23 + test/freeflow/zeroeq2c/zeroeq2ctestproblem.hh | 268 ++++ test/freeflow/zeroeq2cni/CMakeLists.txt | 9 + test/freeflow/zeroeq2cni/Makefile.am | 7 + test/freeflow/zeroeq2cni/grids/testpipe.dgf | 15 + test/freeflow/zeroeq2cni/test_zeroeq2cni.cc | 67 + .../freeflow/zeroeq2cni/test_zeroeq2cni.input | 25 + .../zeroeq2cni/zeroeq2cnitestproblem.hh | 271 ++++ test/references/zeroeq-reference.vtu | 1152 ++++++++++++++++ test/references/zeroeq2c-reference.vtu | 934 +++++++++++++ test/references/zeroeq2cni-reference.vtu | 991 ++++++++++++++ test/references/zeroeqchannel-reference.vtu | 568 ++++++++ 49 files changed, 8621 insertions(+), 2 deletions(-) create mode 100644 dumux/freeflow/zeroeq/Makefile.am create mode 100644 dumux/freeflow/zeroeq/zeroeqfluxvariables.hh create mode 100644 dumux/freeflow/zeroeq/zeroeqindices.hh create mode 100644 dumux/freeflow/zeroeq/zeroeqmodel.hh create mode 100644 dumux/freeflow/zeroeq/zeroeqproblem.hh create mode 100644 dumux/freeflow/zeroeq/zeroeqproperties.hh create mode 100644 dumux/freeflow/zeroeq/zeroeqpropertydefaults.hh create mode 100644 dumux/freeflow/zeroeqnc/Makefile.am create mode 100644 dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh create mode 100644 dumux/freeflow/zeroeqnc/zeroeqncindices.hh create mode 100644 dumux/freeflow/zeroeqnc/zeroeqncmodel.hh create mode 100644 dumux/freeflow/zeroeqnc/zeroeqncproperties.hh create mode 100644 dumux/freeflow/zeroeqnc/zeroeqncpropertydefaults.hh create mode 100644 dumux/freeflow/zeroeqncni/Makefile.am create mode 100644 dumux/freeflow/zeroeqncni/zeroeqncnifluxvariables.hh create mode 100644 dumux/freeflow/zeroeqncni/zeroeqncniindices.hh create mode 100644 dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh create mode 100644 dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh create mode 100644 dumux/freeflow/zeroeqncni/zeroeqncnipropertydefaults.hh create mode 100644 test/freeflow/zeroeq/CMakeLists.txt create mode 100644 test/freeflow/zeroeq/Makefile.am create mode 100644 test/freeflow/zeroeq/grids/channel.dgf create mode 100644 test/freeflow/zeroeq/grids/pipe.dgf create mode 100644 test/freeflow/zeroeq/test_zeroeq.cc create mode 100644 test/freeflow/zeroeq/test_zeroeq.input create mode 100644 test/freeflow/zeroeq/test_zeroeq_channel.cc create mode 100644 test/freeflow/zeroeq/test_zeroeq_channel.input create mode 100644 test/freeflow/zeroeq/zeroeqchanneltestproblem.hh create mode 100644 test/freeflow/zeroeq/zeroeqtestproblem.hh create mode 100644 test/freeflow/zeroeq2c/CMakeLists.txt create mode 100644 test/freeflow/zeroeq2c/Makefile.am create mode 100644 test/freeflow/zeroeq2c/grids/testpipe.dgf create mode 100644 test/freeflow/zeroeq2c/test_zeroeq2c.cc create mode 100644 test/freeflow/zeroeq2c/test_zeroeq2c.input create mode 100644 test/freeflow/zeroeq2c/zeroeq2ctestproblem.hh create mode 100644 test/freeflow/zeroeq2cni/CMakeLists.txt create mode 100644 test/freeflow/zeroeq2cni/Makefile.am create mode 100644 test/freeflow/zeroeq2cni/grids/testpipe.dgf create mode 100644 test/freeflow/zeroeq2cni/test_zeroeq2cni.cc create mode 100644 test/freeflow/zeroeq2cni/test_zeroeq2cni.input create mode 100644 test/freeflow/zeroeq2cni/zeroeq2cnitestproblem.hh create mode 100644 test/references/zeroeq-reference.vtu create mode 100644 test/references/zeroeq2c-reference.vtu create mode 100644 test/references/zeroeq2cni-reference.vtu create mode 100644 test/references/zeroeqchannel-reference.vtu diff --git a/configure.ac b/configure.ac index bf3558fd85..4302bd7ca4 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,9 @@ AC_CONFIG_FILES([dumux.pc dumux/freeflow/stokes/Makefile dumux/freeflow/stokesnc/Makefile dumux/freeflow/stokesncni/Makefile + dumux/freeflow/zeroeq/Makefile + dumux/freeflow/zeroeqnc/Makefile + dumux/freeflow/zeroeqncni/Makefile dumux/geomechanics/Makefile dumux/geomechanics/elastic/Makefile dumux/geomechanics/el1p2c/Makefile @@ -116,6 +119,9 @@ AC_CONFIG_FILES([dumux.pc test/freeflow/stokes/Makefile test/freeflow/stokes2c/Makefile test/freeflow/stokes2cni/Makefile + test/freeflow/zeroeq/Makefile + test/freeflow/zeroeq2c/Makefile + test/freeflow/zeroeq2cni/Makefile test/geomechanics/Makefile test/geomechanics/elastic/Makefile test/geomechanics/el1p2c/Makefile diff --git a/dumux/freeflow/Makefile.am b/dumux/freeflow/Makefile.am index 5802878b97..a01645b1af 100644 --- a/dumux/freeflow/Makefile.am +++ b/dumux/freeflow/Makefile.am @@ -1,4 +1,9 @@ -SUBDIRS = stokes stokesnc stokesncni +SUBDIRS = stokes \ + stokesnc \ + stokesncni \ + zeroeq \ + zeroeqnc \ + zeroeqncni freeflowdir = $(includedir)/dumux/freeflow diff --git a/dumux/freeflow/zeroeq/Makefile.am b/dumux/freeflow/zeroeq/Makefile.am new file mode 100644 index 0000000000..cc9e2c2273 --- /dev/null +++ b/dumux/freeflow/zeroeq/Makefile.am @@ -0,0 +1,4 @@ +zeroeqdir = $(includedir)/dumux/freeflow/zeroeq +zeroeq_HEADERS := $(wildcard *.hh) + +include $(top_srcdir)/am/global-rules diff --git a/dumux/freeflow/zeroeq/zeroeqfluxvariables.hh b/dumux/freeflow/zeroeq/zeroeqfluxvariables.hh new file mode 100644 index 0000000000..8f94c414ec --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqfluxvariables.hh @@ -0,0 +1,314 @@ +// -*- 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 This file contains the data which is required to calculate + * the fluxes of the ZeroEq model over a face of a finite volume. + * + * This means the methods to calculate the eddy viscosity. + */ +#ifndef DUMUX_ZEROEQ_FLUX_VARIABLES_HH +#define DUMUX_ZEROEQ_FLUX_VARIABLES_HH + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/freeflow/stokes/stokesfluxvariables.hh> +#include <dumux/freeflow/zeroeq/zeroeqindices.hh> +#include <dumux/freeflow/zeroeq/zeroeqproperties.hh> + +namespace Dumux +{ + +/*! + * \ingroup ImplicitFluxVariables + * \ingroup BoxZeroEqModel + * \brief This template class contains data which is required to + * calculate the component fluxes over a face of a finite + * volume for a ZeroEq model. + * + * This means the methods to calculate the eddy viscosity. + */ +template <class TypeTag> +class ZeroEqFluxVariables : public GET_PROP_TYPE(TypeTag, BaseStokesFluxVariables) +{ + typedef typename GET_PROP_TYPE(TypeTag, BaseStokesFluxVariables) ParentType; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + + typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + + enum { dim = GridView::dimension }; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef Dune::FieldVector<Scalar, dim> DimVector; + +public: + ZeroEqFluxVariables(const Problem &problem, + const Element &element, + const FVElementGeometry &fvGeometry, + const int faceIdx, + const ElementVolumeVariables &elemVolVars, + const bool onBoundary = false) + : ParentType(problem, element, fvGeometry, faceIdx, elemVolVars, onBoundary) + , flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + , eddyViscosityModel_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyViscosityModel)) + , karmanConstant_(GET_PROP_VALUE(TypeTag, KarmanConstant)) + { + DimVector globalPos = this->face().ipGlobal; + dynamicEddyViscosity_ = 0.0; + mixingLength_ = 0.0; + dynamicEddyViscosityInner_ = 0.0; + dynamicEddyViscosityOuter_ = 0.0; + fz_ = 0.0; + posIdx_ = problem.model().getPosIdx(globalPos); + wallIdx_ = problem.model().getWallIdx(globalPos, posIdx_); + distanceToWallRough_ = std::abs(problem.model().distanceToWallRough(globalPos, wallIdx_, posIdx_)); + distanceToWallReal_ = std::abs(problem.model().distanceToWallReal(globalPos, wallIdx_, posIdx_)); + for (int dimIdx = 0; dimIdx < dim; ++dimIdx) + maxVelocity_[dimIdx] = problem.model().wall[wallIdx_].maxVelocity[posIdx_][dimIdx]; + for (int dimIdx = 0; dimIdx < dim; ++dimIdx) + minVelocity_[dimIdx] = problem.model().wall[wallIdx_].minVelocity[posIdx_][dimIdx]; + velGrad_ = this->velocityGrad_[flowNormal_][wallNormal_]; + frictionVelocityWall_ = sqrt(problem.model().wall[wallIdx_].wallShearStress[posIdx_] + / problem.model().wall[wallIdx_].wallDensity[posIdx_]); + yPlusRough_ = distanceToWallRough_ * frictionVelocityWall_ / problem.model().wall[wallIdx_].wallKinematicViscosity[posIdx_]; + + // calculation of an eddy viscosity only makes sense with Navier-Stokes equation + if (GET_PROP_VALUE(TypeTag, EnableNavierStokes)) + calculateEddyViscosity_(problem, element, elemVolVars); + } + +protected: + /*! + * \brief This function calculates the dynamic viscosity. + * + * The eddy viscosity is added to the viscosity in stokeslocalresidual.hh at each scv + * face. + */ + void calculateEddyViscosity_(const Problem &problem, + const Element &element, + const ElementVolumeVariables &elemVolVars) + { + // no turbulence model + if (eddyViscosityModel_ == EddyViscosityIndices::noEddyViscosityModel) + return; + + // Prandtl mixing length + // e.g. Wilcox, D. C., Turbulence Modeling for CFD, 2006 + else if (eddyViscosityModel_ == EddyViscosityIndices::prandtl) + { + mixingLength_ = distanceToWallRough_ * karmanConstant_; + dynamicEddyViscosity_ = this->density() * mixingLength() * mixingLength() * std::abs(velGrad_); + } + + // modified Van-Driest + // e.g. Bird, Stewart, and Lightfoot, E. N. Transport phenomena, 2007 + else if (eddyViscosityModel_ == EddyViscosityIndices::modifiedVanDriest) + { + Scalar aPlus = 26.0; + Scalar bPlus = 0.26; + // eddy viscosity can only be calculated correctly for non-zero distance to walls + mixingLength_ = 0.0; + if (distanceToWallRough_ > 0.0 && yPlusRough_ > 0.0) + mixingLength_= karmanConstant_ * distanceToWallRough_ + * (1.0 - std::exp(-yPlusRough_ / aPlus )) + / std::sqrt(1.0 - std::exp(-bPlus * yPlusRough_)); + + dynamicEddyViscosity_ = this->density() * mixingLength() * mixingLength() * std::abs(velGrad_); + } + + // Baldwin and Lomax + // Baldwin, B. S. & Lomax, H. "Thin Layer Approximation and Algebraic Model for Seperated Turbulent Flows" + // AIAA Journal, 1978, 78--257, 1-9 + else if (eddyViscosityModel_ == EddyViscosityIndices::baldwinLomax) + { + // LAW CONSTANTS + const Scalar aPlus = 26.0; + const Scalar cCP = 1.6; + const Scalar cKleb = 0.30; + const Scalar cWK = 0.25; + const Scalar kUpper = 0.0168; + + // Calculate muInner + mixingLength_ = 0.0; + if (distanceToWallRough_ > 0.0 && yPlusRough_ > 0.0) + mixingLength_ = karmanConstant_ * distanceToWallRough_ + * (1.0 - std::exp(-yPlusRough_ / aPlus )); + Scalar omega1 = this->velocityGrad_[0][1] - this->velocityGrad_[1][0]; + Scalar omega2 = 0.0; + Scalar omega3 = 0.0; + if (dim == 3) + { + omega2 = this->velocityGrad_[1][2] - this->velocityGrad_[2][1]; + omega3 = this->velocityGrad_[2][0] - this->velocityGrad_[0][2]; + } + Scalar omega = sqrt(omega1 * omega1 + omega2 * omega2 + omega3 * omega3); + dynamicEddyViscosityInner_ = this->density() * mixingLength() * mixingLength() * omega; + + // Calculate muOuter + fz_ = 0.0; + if (distanceToWallRough_ > 0.0 && yPlusRough_ > 0.0) + fz_ = distanceToWallRough_ * omega * (1.0 - std::exp(-yPlusRough_ / aPlus )); + Scalar fMax = problem.model().wall[wallIdx_].fMax[posIdx_]; + Scalar yMax = std::abs(problem.model().wall[wallIdx_].yMax[posIdx_]); + Scalar temp[2] = {0.0, 0.0}; + for (int dimIdx = 0; dimIdx < dim; ++dimIdx) + { + temp[0] += maxVelocity_[dimIdx] * maxVelocity_[dimIdx]; + temp[1] += minVelocity_[dimIdx] * minVelocity_[dimIdx]; + } + Scalar uDiff = std::sqrt(temp[0]) - std::sqrt(temp[1]); + + Scalar f1 = yMax * fMax; + Scalar f2 = cWK * yMax * uDiff * uDiff / fMax; + Scalar fWake = fmin(f1, f2); + Scalar fKleb = 1 / (1 + 5.5 * std::pow(cKleb * distanceToWallRough_ / yMax, 6.0)); + dynamicEddyViscosityOuter_ = this->density() * kUpper * cCP * fWake * fKleb; + + bool inner = problem.model().useViscosityInner(this->face().ipGlobal, posIdx_); + + // muOuter can only be calculated correctly for non-zero fmax + if (fMax == 0) + inner = true; + + if (inner) + dynamicEddyViscosity_ = dynamicEddyViscosityInner_; + else + dynamicEddyViscosity_ = dynamicEddyViscosityOuter_; + } + + else + { + DUNE_THROW(Dune::NotImplemented, "This eddy viscosity model is not implemented."); + } + + Valgrind::CheckDefined(dynamicEddyViscosity_); + Valgrind::CheckDefined(dynamicEddyViscosityInner_); + Valgrind::CheckDefined(dynamicEddyViscosityOuter_); + } + +public: + /*! + * \brief Returns the mixing length \f$\mathrm{[m]}\f$ for the element center. + */ + Scalar mixingLength() const + { return mixingLength_; } + + /*! + * \brief Returns the dynamic eddy viscosity + * \f$\mathrm{[Pa \cdot s]} = \mathrm{[N \cdot s/m^2]}\f$. + */ + const Scalar dynamicEddyViscosity() const + { return dynamicEddyViscosity_; } + + /*! + * \brief Returns the kinematic eddy viscosity + * \f$\mathrm{[m^2/s]}\f$ (if implemented). + */ + const Scalar kinematicEddyViscosity() const + { return dynamicEddyViscosity() / this->density(); } + + /*! + * \brief Returns the inner dynamic eddy Viscosity (only Baldwin-Lomax model) + * \f$\mu_\textrm{inner}\f$ in \f$\mathrm{[N\cdot s/m^2]}\f$. + */ + Scalar dynamicEddyViscosityInner() const + { return dynamicEddyViscosityInner_; } + + /*! + * \brief Returns the outer dynamic eddy Viscosity (only Baldwin-Lomax model). + * \f$\mu_\textrm{outer}\f$ in \f$\mathrm{[N\cdot s/m^2]}\f$. + */ + Scalar dynamicEddyViscosityOuter() const + { return dynamicEddyViscosityOuter_; } + + /*! + * \brief Returns the value of the f-function. + * + * \f$\mathrm{f = y \omega \left( 1 - exp \left[ -y^+ / A^+ \right] \right)}\f$.<br> + * y = distanceToWall + */ + Scalar fz() const + { return fz_; } + + /*! + * \brief Returns the friction velocity at the wall \f$\mathrm{[kg/(m*s^2)]}\f$. + */ + Scalar frictionVelocityWall() const + { return frictionVelocityWall_; } + + /*! + * \brief Returns the distance to the corresponding Wall, including surface roughness \f$\mathrm{[m]}\f$. + */ + Scalar distanceToWallRough() const + { return distanceToWallRough_; } + + /*! + * \brief Returns the real distance to the corresponding Wall \f$\mathrm{[m]}\f$. + */ + Scalar distanceToWallReal() const + { return distanceToWallReal_; } + + /*! + * \brief Returns dimensionless wall distance, including surface roughness \f$\mathrm{[-]}\f$. + */ + Scalar yPlusRough() const + { return yPlusRough_; } + + /*! + * \brief Returns the Karman constant \f$\mathrm{[-]}\f$. + */ + Scalar karmanConstant() const + { return karmanConstant_; } + +private: + const int flowNormal_; + const int wallNormal_; + const int eddyViscosityModel_; + const Scalar karmanConstant_; + + int wallIdx_; + int posIdx_; + Scalar yPlusRough_; + Scalar distanceToWallReal_; + Scalar distanceToWallRough_; + Scalar sandGrainRoughness_; + Scalar sandGrainRoughnessDimensionless_; + + Scalar velGrad_; + Scalar frictionVelocityWall_; + DimVector maxVelocity_; + DimVector minVelocity_; + + Scalar mixingLength_; + Scalar dynamicEddyViscosity_; + Scalar dynamicEddyViscosityInner_; + Scalar dynamicEddyViscosityOuter_; + Scalar fz_; + + Scalar eps_; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQ_FLUX_VARIABLES_HH diff --git a/dumux/freeflow/zeroeq/zeroeqindices.hh b/dumux/freeflow/zeroeq/zeroeqindices.hh new file mode 100644 index 0000000000..838f97752d --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqindices.hh @@ -0,0 +1,61 @@ +// -*- 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 Defines the indices required for the ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQ_INDICES_HH +#define DUMUX_ZEROEQ_INDICES_HH + +#include <dumux/freeflow/stokes/stokesindices.hh> + +namespace Dumux +{ + +/*! + * \ingroup BoxZeroEqModel + * \brief The indices for the eddy viscosity model. + */ +struct EddyViscosityIndices +{ + // Eddy Viscosity Model Indices + static const int noEddyViscosityModel = 0; + static const int prandtl = 1; + static const int modifiedVanDriest = 2; + static const int baldwinLomax = 3; +}; + +/*! + * \ingroup BoxZeroEqModel + * \ingroup ImplicitIndices + * \brief The common indices for the isothermal ZeroEq model. + * + * \tparam PVOffset The first index in a primary variable vector. + */ +template <class TypeTag, int PVOffset = 0> +struct ZeroEqCommonIndices : public StokesCommonIndices<TypeTag, PVOffset> +{ + static const int scvDataPrecision = 5; + static const int scvDataWidth = scvDataPrecision + 10; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQ_INDICES_HH diff --git a/dumux/freeflow/zeroeq/zeroeqmodel.hh b/dumux/freeflow/zeroeq/zeroeqmodel.hh new file mode 100644 index 0000000000..236d205aa6 --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqmodel.hh @@ -0,0 +1,1188 @@ +// -*- 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 Base class for all models which use the ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQ_MODEL_HH +#define DUMUX_ZEROEQ_MODEL_HH + +#include "zeroeqindices.hh" +#include "zeroeqfluxvariables.hh" +#include "zeroeqproblem.hh" +#include "zeroeqproperties.hh" +#include <dumux/freeflow/stokes/stokesmodel.hh> + +namespace Dumux +{ +/*! + * \ingroup BoxZeroEqModel + * \brief Adaptation of the box scheme to the ZeroEq model. + * + * This model implements an isothermal ZeroEq Navier Stokes flow (RANS) of a fluid + * solving the momentum balance and the mass balance. + * + * \todo dynamic size of wallInterval struct + * + * \todo check balance equations + * Momentum Balance: + * \f[ + * \frac{\partial \left(\varrho_g {\boldsymbol{v}}_g\right)}{\partial t} + * + \boldsymbol{\nabla} \boldsymbol{\cdot} \left( + * \varrho_g {\boldsymbol{v}}_g {\boldsymbol{v}}_g} + * - \mu_g \left(\boldsymbol{\nabla} \boldsymbol{v}_g + * + \boldsymbol{\nabla} \boldsymbol{v}_g^T\right) + * - \mu_{g,t} \left(\boldsymbol{\nabla} \boldsymbol{v}_g + * + \boldsymbol{\nabla} \boldsymbol{v}_g^T\right) + * + \left(p_g {\bf {I}} + * \right) + * - \varrho_g {\bf g} = 0, + * \f] + * + * Mass balance: + * \f[ + * \frac{\partial \varrho_g}{\partial t} + \boldsymbol{\nabla}\boldsymbol{\cdot}\left(\varrho_g {\boldsymbol{v}}_g\right) - q_g = 0 + * \f] + * + * This is discretized by a fully-coupled vertex-centered finite volume + * (box) scheme in space and by the implicit Euler method in time. + */ +template<class TypeTag> +class ZeroEqModel : public GET_PROP_TYPE(TypeTag, BaseStokesModel) +{ + typedef typename GET_PROP_TYPE(TypeTag, Model) Implementation; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + + enum { + dim = GridView::dimension, + dimWorld = GridView::dimensionworld, + intervals = GET_PROP_VALUE(TypeTag, NumberOfIntervals), + bboxMinIsWall = GET_PROP_VALUE(TypeTag, BBoxMinIsWall), + bboxMaxIsWall = GET_PROP_VALUE(TypeTag, BBoxMaxIsWall), + walls = (bboxMinIsWall ? 1 : 0) + (bboxMaxIsWall ? 1 : 0), + prec = Indices::scvDataPrecision, // precision of scv data + width = Indices::scvDataWidth // width of column + }; + enum { numEq = GET_PROP_VALUE(TypeTag, NumEq) }; + + typedef typename GridView::template Codim<0>::Iterator ElementIterator; + typedef typename GridView::template Codim<dim>::Iterator VertexIterator; + typedef typename GridView::IntersectionIterator IntersectionIterator; + typedef Dune::ReferenceElements<Scalar, dim> ReferenceElements; + typedef Dune::ReferenceElement<Scalar, dim> ReferenceElement; + + typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition; + typedef Dune::FieldVector<Scalar, dimWorld> DimVector; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes; + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector; + + typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables; + typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + + +public: + ZeroEqModel() + : flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + , writeAllSCVData_(GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, WriteAllSCVData)) + { + eps_ = 1e-6; + + // check whether sand grain roughness may be used + if ((GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness) > 0 + || GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness) > 0) + && surfaceRoughnessNotImplemented()) + { + Dune::dwarn << "warning: surface roughness is not implemented for eddy viscosity model " + << GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyViscosityModel) + << "." << std::endl; + } + } + + /*! + * \brief Calculate the fluxes across a certain layer in the domain. + * The layer is situated perpendicular to the coordinate axis "coord" and cuts + * the axis at the value "coordVal". + * + * \param globalSol The global solution vector. + * \param flux A vector to store the flux. + * \param axis The dimension, perpendicular to which the layer is situated. + * \param coordVal The (Scalar) coordinate on the axis, at which the layer is situated. + */ + void calculateFluxAcrossLayer(const SolutionVector &globalSol, Dune::FieldVector<Scalar, numEq> &flux, int axis, Scalar coordVal) + { + GlobalPosition globalI, globalJ; + PrimaryVariables tmpFlux(0.0); + + FVElementGeometry fvGeometry; + ElementVolumeVariables elemVolVars; + + // Loop over elements + ElementIterator elemIt = this->problem_.gridView().template begin<0>(); + ElementIterator endit = this->problem_.gridView().template end<0>(); + for (; elemIt != endit; ++elemIt) + { + if (elemIt->partitionType() != Dune::InteriorEntity) + continue; + + fvGeometry.update(this->gridView_(), *elemIt); + elemVolVars.update(this->problem_(), *elemIt, fvGeometry); + this->localResidual().evalFluxes(*elemIt, elemVolVars); + + bool hasLeft = false; + bool hasRight = false; + for (int i = 0; i < fvGeometry.numVertices; i++) { + const GlobalPosition &global = fvGeometry.subContVol[i].global; + if (globalI[axis] < coordVal) + hasLeft = true; + else if (globalI[axis] >= coordVal) + hasRight = true; + } + if (!hasLeft || !hasRight) + continue; + + for (int i = 0; i < fvGeometry.numVertices; i++) { + const GlobalPosition &global = fvGeometry.subContVol[i].global; + if (globalI[axis] < coordVal) + flux += this->localResidual().residual(i); + } + } + + flux = this->problem_.gridView().comm().sum(flux); + } + + /*! + * \brief Write vtk and additional plain text scv-data. + * + * The routine for the vtk data should be the same as in dumux-stable. + * + * The scv-data files contain mainly information for the turbulence model. + * + * \param sol The solution vector. + * \param writer The writer for multi-file VTK datasets. + */ + template <class MultiWriter> + void addOutputVtkFields(const SolutionVector &sol, + MultiWriter &writer) + { + typedef Dune::BlockVector<Dune::FieldVector<Scalar, 1> > ScalarField; + typedef Dune::BlockVector<Dune::FieldVector<Scalar, dim> > VelocityField; + + // create the required scalar fields + unsigned numVertices = this->gridView_().size(dim); + ScalarField &pN = *writer.allocateManagedBuffer(numVertices); + ScalarField &delP = *writer.allocateManagedBuffer(numVertices); + ScalarField &rho = *writer.allocateManagedBuffer(numVertices); + ScalarField &mu = *writer.allocateManagedBuffer(numVertices); + VelocityField &velocity = *writer.template allocateManagedBuffer<Scalar, dim> (numVertices); + + unsigned numElements = this->gridView_().size(0); + ScalarField &rank = *writer.allocateManagedBuffer(numElements); + + FVElementGeometry fvGeometry; + VolumeVariables volVars; + + ElementBoundaryTypes elemBcTypes; + + VertexIterator vIt = this->gridView_().template begin<dim>(); + VertexIterator vEndIt = this->gridView_().template end<dim>(); + for (; vIt != vEndIt; ++vIt) + {} + + + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + int idx = this->elementMapper().map(*elemIt); + rank[idx] = this->gridView_().comm().rank(); + + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + + int numLocalVerts = elemIt->template count<dim>(); + for (int i = 0; i < numLocalVerts; ++i) + { + int globalIdx = this->vertexMapper().map(*elemIt, i, dim); + volVars.update(sol[globalIdx], + this->problem_(), + *elemIt, + fvGeometry, + i, + false); + + pN[globalIdx] = volVars.pressure(); + delP[globalIdx] = volVars.pressure() - 1e5; + rho[globalIdx] = volVars.density(); + mu[globalIdx] = volVars.dynamicViscosity(); + velocity[globalIdx] = volVars.velocity(); + }; + } + + writer.attachVertexData(pN, "P"); + writer.attachVertexData(delP, "delP"); + writer.attachVertexData(rho, "rho"); + writer.attachVertexData(mu, "mu"); + writer.attachVertexData(velocity, "v", dim); + + + // ensure that the actual values are given out + asImp_().updateWallProperties(); + + elemIt = this->gridView_().template begin<0>(); + endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + IntersectionIterator isIt = this->gridView_().ibegin(*elemIt); + const IntersectionIterator &endIt = this->gridView_().iend(*elemIt); + + for (; isIt != endIt; ++isIt) + { + int faceIdx = isIt->indexInInside(); + + FluxVariables fluxVars(this->problem_(), + *elemIt, + fvGeometry, + faceIdx, + elemVolVars, + false); + + GlobalPosition globalPos = fvGeometry.subContVolFace[faceIdx].ipGlobal; + + if (asImp_().shouldWriteSCVData(globalPos)) + asImp_().writeSCVData(volVars, fluxVars, globalPos); + } + } + } + + + /********************************** + * SCVDATA + * ------- + * This section contains functions to zeroeq output related functions. + */ + + /*! + * \brief Returns true if a scv-data file for gnuplot evaluation + * should be given out. + * + * \param globalPos Global Position. + */ + const bool shouldWriteSCVData(const GlobalPosition &globalPos) const + { + if (writeAllSCVData_ > 1.0) + return true; + else if (writeAllSCVData_ < 0.0) + return false; + else + { + Scalar relGlobalPosMin = (globalPos[flowNormal_] - 1e-3 - this->problem_().bBoxMin()[flowNormal_]) + / (this->problem_().bBoxMax()[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]); + Scalar relGlobalPosMax = (globalPos[flowNormal_] + 1e-3 - this->problem_().bBoxMin()[flowNormal_]) + / (this->problem_().bBoxMax()[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]); + return (relGlobalPosMax > writeAllSCVData_ && relGlobalPosMin < writeAllSCVData_); + } + } + + /*! + * \brief Writes scv-data file for gnuplot evaluation. + * + * \param volVars Volume Variables of current scv. + * \param fluxVars Flux Variables of current element. + * \param globalPos Global Position. + */ + void writeSCVData(const VolumeVariables &volVars, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + std::ofstream fileAct (""); + std::stringstream stream (""); + + char flowNormalChar = 'x'; + if (flowNormal_ == 1) flowNormalChar = 'y'; + stream << "scvData" << "-" << flowNormalChar << std::setprecision(4) + << (globalPos[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]) + / (this->problem_().bBoxMax()[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]) + << ".dat"; + std::string fileString2(stream.str()); + stream.str(""); stream.clear(); + const char* fileNameAct = fileString2.c_str(); + + int posIdx = getPosIdx(globalPos); + int wallIdx = getWallIdx(globalPos, posIdx); + if (!wall[wallIdx].headerWritten[posIdx]) + { + fileAct.open(fileNameAct, std::ios::out); + + asImp_().writeSCVHeader(stream, fluxVars, globalPos); + stream << std::endl; + if (bboxMinIsWall) + { + asImp_().writeWallHeader(stream, posIdx, 0); + stream << std::endl; + } + if (bboxMaxIsWall) + { + asImp_().writeWallHeader(stream, posIdx, 1); + stream << std::endl; + } + asImp_().writeDataHeader(stream, posIdx); + stream << std::endl; + + fileAct << stream.str(); + stream.str(""); stream.clear(); + fileAct.close(); + for (int wIdx = 0; wIdx < walls; ++wIdx) + wall[wIdx].headerWritten[posIdx] = true; + } + fileAct.open(fileNameAct, std::ios::app); + + asImp_().writeSCVDataValues(stream, volVars, fluxVars, globalPos); + stream << std::endl; + fileAct << stream.str(); + fileAct.close(); + } + + /*! + * \brief Writes scv-data header, containing basic properties, which are constant + * at this point. + * + * \param stream Output Filestream. + * \param fluxVars Flux Variables of current element. + * \param globalPos Global Position. + */ + void writeSCVHeader(std::stringstream &stream, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + int posIdx = getPosIdx(globalPos); + stream << std::setprecision(prec) << "# " + << std::setw(width-2) << "over x[m]:" + << std::setw(width) << globalPos[flowNormal_] + << std::setw(width) << "at t[s]:" + << std::setw(width) << this->problem_().timeManager().time() + << std::setw(width) << "Re_d[-]:" + << std::setw(width) << wall[0].maxVelocityAbs[posIdx][flowNormal_] + * (this->problem_().bBoxMax()[wallNormal_] - this->problem_().bBoxMin()[wallNormal_]) + / fluxVars.kinematicViscosity() + << std::setw(width) << "Re_x[-]:" + << std::setw(width) << wall[0].maxVelocityAbs[posIdx][flowNormal_] + * (this->problem_().bBoxMax()[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]) + / fluxVars.kinematicViscosity() + << std::endl; + stream << std::setprecision(prec) << "# " + << std::setw(width-2)<< "eddyVMod" + << std::setw(width) << GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyViscosityModel) + << " - " << std::setw(width*2-3) << std::left << eddyViscosityModelName() << std::right; + } + + /*! + * \brief Writes property names to wall-data header. + * + * \param stream Output Filestream. + * \param posIdx Position Index of current Global Position. + * \param wallIdx Wall Index of current Global Position. + */ + void writeWallHeader(std::stringstream &stream, int posIdx, int wallIdx) + { + stream << std::setprecision(prec) << "# " + << std::setw(width-4) << "wall[" << wallIdx << "]" + << std::setw(width) << "u_*[m/s]:" + << std::setw(width) << std::sqrt(wall[wallIdx].wallShearStress[posIdx] / wall[wallIdx].wallDensity[posIdx]) + << std::setw(width) << "vs_5[m]:" + << std::setw(width) << 5.0 * wall[wallIdx].wallKinematicViscosity[posIdx] + / std::sqrt(wall[wallIdx].wallShearStress[posIdx] / wall[wallIdx].wallDensity[posIdx]) + << std::setw(width) << "bl_tot[m]:" + << std::setw(width) << std::abs(wall[wallIdx].boundaryLayerThickness[posIdx]) + << std::setw(width) << "ks_+[-]:" + << std::setw(width) << wall[wallIdx].sandGrainRoughness[posIdx] + * std::sqrt(std::abs(wall[wallIdx].wallVelGrad[posIdx]) * wall[wallIdx].wallKinematicViscosity[posIdx]) + / wall[wallIdx].wallKinematicViscosity[posIdx] + << std::setw(width) << "velGrad[1/s]:" + << std::setw(width) << wall[wallIdx].wallVelGrad[posIdx] + << std::setw(width) << "nu[m^2/s]:" + << std::setw(width) << wall[wallIdx].wallKinematicViscosity[posIdx] + << std::setw(width) << "rho[kg/m^3]:" + << std::setw(width) << wall[wallIdx].wallDensity[posIdx] + << std::setw(width) << "tau[Pa]:" + << std::setw(width) << wall[wallIdx].wallShearStress[posIdx]; + } + + /*! + * \brief Writes property names to scv-data header. + * + * \param stream Output Filestream. + * \param posIdx Position Index of current Global Position. + */ + void writeDataHeader(std::stringstream &stream, int posIdx) + { + stream << std::setw(1) << "#" << std::setw(width-1); + for (int numIdx = 1; numIdx < 30; ++numIdx) + stream << numIdx << std::setw(width); + stream << std::endl; + stream << std::setw(1) << "#" << std::setw(width-1) << "x [m]" + << std::setw(width) << "y [m]" + << std::setw(width) << "u [m/s]" + << std::setw(width) << "v [m/s]" + << std::setw(width) << "u/u_max [-]" + << std::setw(width) << "v/v_max [-]" + << std::setw(width) << "y^+ [-]" + << std::setw(width) << "u^+ [-]" + << std::setw(width) << "velGrad [1/s]" + << std::setw(width) << "rho [kg/m^3]" + << std::setw(width) << "nu [m^2/s]" + << std::setw(width) << "nu_t [m^2/s]"; + } + + /*! + * \brief Writes values to scv-data. + * + * \param stream Output Filestream. + * \param volVars Volume Variables of current scv. + * \param fluxVars Flux Variables of current element. + * \param globalPos Global Position. + */ + void writeSCVDataValues(std::stringstream &stream, const VolumeVariables &volVars, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + int posIdx = getPosIdx(globalPos); + int wallIdx = getWallIdx(globalPos, posIdx); + stream << std::setw(width) << std::setprecision(prec+1) << globalPos[0] + << std::setw(width) << globalPos[1] + << std::setw(width) << std::setprecision(prec) << fluxVars.velocity()[0] + << std::setw(width) << fluxVars.velocity()[1] + << std::setw(width) << fluxVars.velocity()[0] / wall[wallIdx].maxVelocityAbs[posIdx][0] + << std::setw(width) << fluxVars.velocity()[1] / wall[wallIdx].maxVelocityAbs[posIdx][1] + << std::setw(width) << fluxVars.frictionVelocityWall() * std::abs(wall[wallIdx].wallPos[posIdx] - globalPos[wallNormal_]) / fluxVars.kinematicViscosity() + << std::setw(width) << fluxVars.velocity()[flowNormal_] / fluxVars.frictionVelocityWall() + << std::setw(width) << fluxVars.velocityGrad()[flowNormal_][wallNormal_] + << std::setw(width) << fluxVars.density() + << std::setw(width) << fluxVars.dynamicViscosity() / fluxVars.density() + << std::setw(width) << fluxVars.dynamicEddyViscosity() / fluxVars.density(); + } + + + + /********************************** + * WALL PROPERTIES + * --------------- + * This section contains functions which treat the wall handling. + */ + + /*! + * \brief Container for all necessary information, needed to calculate the + * eddy viscosity at a certain point in relation to the wall distance + * and fluid/flow properties at the wall. + */ + struct WallProperties + { + public: + bool isBBoxMinWall; //!< Actual wall properties are located on bboxmin or bboxmax. + Scalar wallPos[intervals]; //!< Position of the wall interval in global coordinates. + Scalar sandGrainRoughness[intervals]; //!< Sand grain roughness. + Scalar boundaryLayerThickness[intervals]; //!< Domain influenced by this wall. + Scalar boundaryLayerThicknessCalculated[intervals]; //!< Boundary layer thickness based on v = v_99. + Scalar viscousSublayerThicknessCalculated[intervals]; //!< Viscous sublayer thickness based on y^+ <= 5. + Scalar crossLength[intervals]; //!< Switching point for the Baldwin-Lomax model. + Scalar maxVelocity[intervals][dim]; //!< Max velocity related to this wall. + Scalar maxVelocityAbs[intervals][dim]; //!< Max velocity at this interval position. + Scalar minVelocity[intervals][dim]; //!< Min velocity related to this wall. + Scalar wallDensity[intervals]; //!< Fluid density at the wall. + Scalar wallKinematicViscosity[intervals]; //!< Kinematic viscosity at the wall. + Scalar wallVelGrad[intervals]; //!< Velocity gradient at the wall, in wall normal direction. + Scalar wallShearStress[intervals]; //!< Shear stress at the wall. + Scalar fMax[intervals]; //!< Max value of the f function for Baldwin-Lomax model. + Scalar yMax[intervals]; //!< Distance of position where fMax occurs. + Scalar maxMassFraction[intervals]; //!< Max mass fraction related to this wall. + Scalar maxMoleFraction[intervals]; //!< Max mole fraction related to this wall. + Scalar maxTemperature[intervals]; //!< Max temperature related to this wall. + int isInterpolated[intervals]; //!< Value is only interpolated between neighboring wall intervals. + int fluxValuesCount[intervals]; //!< Number of flux values contributing to the interval. + int wallValuesCount[intervals]; //!< Number of values contributing properties directly at the wall. + bool headerWritten[intervals]; //!< Header of scv-data file was already written. + WallProperties() {} //!< Constructor for wall properties. + }; + WallProperties wall[walls]; + + /*! + * \brief Initializes the wall structure with values. + * + * This should only be done before updating (preTimeStepFunction and + * only once per time Step), because the crossLength + * for the Baldwin Lomax model is reset. + */ + void resetWallProperties() + { + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + { + for (int posIdx = 0; posIdx < intervals; ++posIdx) + { + if (walls == 1) + { + if (bboxMinIsWall) + { + wall[wallIdx].wallPos[posIdx] = this->problem_().bBoxMin()[wallNormal_]; + wall[wallIdx].boundaryLayerThickness[posIdx] = this->problem_().bBoxMax()[wallNormal_] - this->problem_().bBoxMin()[wallNormal_] + eps_; + wall[wallIdx].isBBoxMinWall = true; + wall[wallIdx].sandGrainRoughness[posIdx] = GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness); + } + if (bboxMaxIsWall) + { + wall[wallIdx].wallPos[posIdx] = this->problem_().bBoxMax()[wallNormal_]; + wall[wallIdx].boundaryLayerThickness[posIdx] = this->problem_().bBoxMin()[wallNormal_] - this->problem_().bBoxMax()[wallNormal_] - eps_; + wall[wallIdx].isBBoxMinWall = false; + wall[wallIdx].sandGrainRoughness[posIdx] = GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness); + } + } + if (walls == 2 && wallIdx == 0) + { + wall[0].wallPos[posIdx] = this->problem_().bBoxMin()[wallNormal_]; + wall[1].wallPos[posIdx] = this->problem_().bBoxMax()[wallNormal_]; + wall[0].boundaryLayerThickness[posIdx] = (wall[1].wallPos[posIdx] - wall[0].wallPos[posIdx]) / 2 + eps_; + wall[1].boundaryLayerThickness[posIdx] = - wall[0].boundaryLayerThickness[posIdx]; + wall[0].isBBoxMinWall = true; + wall[1].isBBoxMinWall = false; + wall[0].sandGrainRoughness[posIdx] = GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness); + wall[1].sandGrainRoughness[posIdx] = GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness); + } + wall[wallIdx].crossLength[posIdx] = wall[wallIdx].boundaryLayerThickness[posIdx]; + wall[wallIdx].boundaryLayerThicknessCalculated[posIdx] = wall[wallIdx].boundaryLayerThickness[posIdx]; // != 0, da kleinster wert gwünscht + wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] = 0; // == 0, da größter wert gewünscht + for (int dimIdx = 0; dimIdx < dim; ++dimIdx) + { + wall[wallIdx].maxVelocity[posIdx][dimIdx] = 0.0; + wall[wallIdx].maxVelocityAbs[posIdx][dimIdx] = 0.0; + wall[wallIdx].minVelocity[posIdx][dimIdx] = 0.0; + } + wall[wallIdx].fMax[posIdx] = 0.0; + wall[wallIdx].yMax[posIdx] = 0.0; + wall[wallIdx].isInterpolated[posIdx] = 0.0; + wall[wallIdx].fluxValuesCount[posIdx] = 0.0; + wall[wallIdx].wallValuesCount[posIdx] = 0.0; + wall[wallIdx].headerWritten[posIdx] = false; + } + } + } + + /*! + * \brief Initializes the wall fluid properties with 0. + */ + void resetWallFluidProperties() + { + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + for (int posIdx = 0; posIdx < intervals; ++posIdx) + { + wall[wallIdx].wallDensity[posIdx] = 0.0; + wall[wallIdx].wallKinematicViscosity[posIdx] = 0.0; + wall[wallIdx].wallVelGrad[posIdx] = 0.0; + wall[wallIdx].wallShearStress[posIdx] = 0.0; + } + } + + /*! + * \brief Complete calculation for all relevant wall values. + * + * If the order is changed, errors may occur because of unknown or zero values + */ + void updateWallProperties() + { + asImp_().resetWallProperties(); + asImp_().updateMaxFluxVars(); + asImp_().updateCrossLength(); + asImp_().resetWallFluidProperties(); + asImp_().updateWallFluidProperties(); + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + { + for (int posIdx = 0; posIdx < intervals; ++posIdx) + if (wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] > wall[wallIdx].boundaryLayerThicknessCalculated[posIdx]) + wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] = wall[wallIdx].boundaryLayerThicknessCalculated[posIdx]; + asImp_().interpolateWallProperties(wallIdx); + } + } + + /*! + * \brief Get position index (interval section) a point belongs to. + * + * \param globalPos Global Position. + */ + const int getPosIdx(const GlobalPosition &globalPos) const + { + int posIdx = int (intervals * (globalPos[flowNormal_] - this->problem_().bBoxMin()[flowNormal_])) + / (this->problem_().bBoxMax()[flowNormal_] - this->problem_().bBoxMin()[flowNormal_]); + if (posIdx >= intervals) + posIdx = intervals -1; + return posIdx; + } + + /*! + * \brief Return wall a point belongs to. + * + * \param posIdx Position Index of current Global Position. + * \param globalPos Global Position. + */ + const int getWallIdx(const GlobalPosition &globalPos, const int posIdx) const + { + if (walls == 0) + DUNE_THROW(Dune::NotImplemented, "Eddy viscosity models are not implemented for use without walls."); + + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + if ((wall[wallIdx].isBBoxMinWall && globalPos[wallNormal_] < wall[wallIdx].wallPos[posIdx] + wall[wallIdx].boundaryLayerThickness[posIdx]) + || (!wall[wallIdx].isBBoxMinWall && globalPos[wallNormal_] > wall[wallIdx].wallPos[posIdx] + wall[wallIdx].boundaryLayerThickness[posIdx])) + { + return wallIdx; + } + + static bool alreadyPrintedError = false; + static Scalar timePrintedError = 0.0; + if (this->problem_().timeManager().time() > timePrintedError) + { + alreadyPrintedError = false; + } + + if (!alreadyPrintedError) + { + Dune::dinfo << "info: point " << globalPos << " in interval " << posIdx + << " does not belong to wall -> now belongs to wall 0" << std::endl; + alreadyPrintedError = true; + timePrintedError = this->problem_().timeManager().time(); + } + return 0; + } + + + /*! + * \brief Return the distance to corresponding wall including roughness effects + * + * For ksPlus = 0, this is the normal wall distance. + * For ksPlus > 0, an additional length is added to the real wall distance. + * \param globalPos Global Position. + * \param wallIdx Wall Index of current Global Position. + * \param posIdx Position Index of current Global Position. + */ + const Scalar distanceToWallRough(const GlobalPosition &globalPos, const int wallIdx, const int posIdx) const + { + if (surfaceRoughnessNotImplemented()) + { return distanceToWallReal (globalPos, wallIdx, posIdx); } + if (GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness) < eps_&& wall[wallIdx].isBBoxMinWall) + { return distanceToWallReal (globalPos, wallIdx, posIdx); } + if (GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness) < eps_&& !wall[wallIdx].isBBoxMinWall) + { return distanceToWallReal (globalPos, wallIdx, posIdx); } + + Scalar ksPlus = wall[wallIdx].sandGrainRoughness[posIdx] * sqrt(wall[wallIdx].wallShearStress[posIdx] / wall[wallIdx].wallDensity[posIdx]) + / wall[wallIdx].wallKinematicViscosity[posIdx]; + + if (ksPlus > 2000) + { + std::cout << "info: equivalent sand grain roughness ks+=" << ksPlus << " at " << globalPos + << " is not in the valid range (ksPlus < 2000)," + << " for high ksPlus values the roughness function reaches a turning point."<< std::endl; + DUNE_THROW(Dune::NotImplemented, "Unphysical roughness behavior."); + ksPlus = 2000; + } + else if (ksPlus < 4.535) + { + Dune::dinfo << "info: equivalent sand grain roughness ks+=" << ksPlus << " at " << globalPos + << " is not in the valid range (ksPlus > 4.535) and now set to 0.0"<< std::endl; + ksPlus = 0.0; + } + + Scalar delta = 0.0; // delta is only changed for ksPlus, which are in valid range, otherwise smooth wall is assumed + if (ksPlus >= 4.535) + { + delta = 0.9 * wall[wallIdx].wallKinematicViscosity[posIdx] / sqrt(wall[wallIdx].wallShearStress[posIdx] / wall[wallIdx].wallDensity[posIdx]) * (sqrt(ksPlus) - ksPlus * exp(- 1.0 * ksPlus / 6.0)); + } + + int sign = std::abs(globalPos[wallNormal_] - wall[wallIdx].wallPos[posIdx]) / (globalPos[wallNormal_] - wall[wallIdx].wallPos[posIdx]); + return globalPos[wallNormal_] - wall[wallIdx].wallPos[posIdx] + sign * delta; + } + + /*! + * \brief Return the distance to corresponding wall. + * + * \param globalPos Global Position. + * \param wallIdx Wall Index of current Global Position. + * \param posIdx Position Index of current Global Position. + */ + const Scalar distanceToWallReal(const GlobalPosition &globalPos, const int wallIdx, const int posIdx) const + { return globalPos[wallNormal_] - wall[wallIdx].wallPos[posIdx]; } + + /*! + * \brief Return true if function for muInner should be used. + * + * \param globalPos Global Position. + * \param posIdx Position Index of current Global Position. + */ + const bool useViscosityInner(const GlobalPosition &globalPos, const int posIdx) const + { + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + if ((wall[wallIdx].isBBoxMinWall && globalPos[wallNormal_] < wall[wallIdx].wallPos[posIdx] + wall[wallIdx].crossLength[posIdx]) + || (!wall[wallIdx].isBBoxMinWall && globalPos[wallNormal_] > wall[wallIdx].wallPos[posIdx] + wall[wallIdx].crossLength[posIdx])) + return true; + return false; + } + + /*! + * \brief Loop over all elements, used to calculate maximum flux values + * in the whole domain. + */ + void updateMaxFluxVars() + { + FVElementGeometry fvGeometry; + ElementBoundaryTypes elemBcTypes; + + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + for (int faceIdx = 0; faceIdx < fvGeometry.numScvf; ++faceIdx) + { + + FluxVariables fluxVars(this->problem_(), + *elemIt, + fvGeometry, + faceIdx, + elemVolVars, + false); + + GlobalPosition globalPos = fvGeometry.subContVolFace[faceIdx].ipGlobal; + + asImp_().calculateMaxFluxVars(fluxVars, globalPos); + } + } + } + + /*! + * \brief Update maximum values in the domain and + * set them to the corresponding wall. + * + * \param fluxVars Flux Variables of current element. + * \param globalPos Global Position. + */ + void calculateMaxFluxVars(const FluxVariables &fluxVars, const GlobalPosition globalPos) + { + int posIdx = getPosIdx(globalPos); + int wallIdx = getWallIdx(globalPos, posIdx); + for (int dimIdx = 0; dimIdx < dim; ++dimIdx) + { + if (std::abs(wall[wallIdx].maxVelocity[posIdx][dimIdx]) < std::abs(fluxVars.velocity()[dimIdx])) + { + wall[wallIdx].maxVelocity[posIdx][dimIdx] = fluxVars.velocity()[dimIdx]; +// // if the values in the middle should be set on both wall +// for (int wIdx = 0; wIdx < walls; ++wIdx) +// if (std::abs(distanceToWallReal(globalPos, wallIdx, posIdx)) < std::abs(wall[wIdx].boundaryLayerThickness[posIdx] + 1e-5)) +// wall[wIdx].maxVelocity[posIdx][dimIdx] = fluxVars.velocity()[dimIdx]; + // set it as maxVelocityAbs + if (std::abs(wall[wallIdx].maxVelocityAbs[posIdx][dimIdx]) < std::abs(fluxVars.velocity()[dimIdx])) + for (int wIdx = 0; wIdx < walls; ++wIdx) + wall[wIdx].maxVelocityAbs[posIdx][dimIdx] = fluxVars.velocity()[dimIdx]; + wall[wallIdx].fluxValuesCount[posIdx]++; + } + if (std::abs(wall[wallIdx].minVelocity[posIdx][dimIdx]) > std::abs(fluxVars.velocity()[dimIdx])) + wall[wallIdx].minVelocity[posIdx][dimIdx] = fluxVars.velocity()[dimIdx]; + } + + // fMax and yMax + if (wall[wallIdx].fMax[posIdx] < fluxVars.fz()) + { + wall[wallIdx].fMax[posIdx] = fluxVars.fz(); + wall[wallIdx].yMax[posIdx] = distanceToWallReal(globalPos, wallIdx, posIdx); +// // if the values in the middle should be set on both wall +// for (int wIdx = 0; wIdx < walls; ++wIdx) +// if (std::abs(distanceToWall(globalPos, wIdx, posIdx)) < std::abs(wall[wIdx].boundaryLayerThickness[posIdx] + 1e-4)) +// { +// wall[wIdx].fMax[posIdx] = fluxVars.fz(); +// wall[wIdx].yMax[posIdx] = distanceToWall(globalPos, wallIdx, posIdx); +// } + } + } + + /*! + * \brief Get maximum values of the f(z) function in the Baldwin-Lomax model. + */ + void updateCrossLength() + { + FVElementGeometry fvGeometry; + ElementBoundaryTypes elemBcTypes; + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + IntersectionIterator isIt = this->gridView_().ibegin(*elemIt); + const IntersectionIterator &endIt = this->gridView_().iend(*elemIt); + + for (; isIt != endIt; ++isIt) + { + int faceIdx = isIt->indexInInside(); + FluxVariables fluxVars(this->problem_(), + *elemIt, + fvGeometry, + faceIdx, + elemVolVars, + false); + + GlobalPosition globalPos = fvGeometry.subContVolFace[faceIdx].ipGlobal; + int posIdx = getPosIdx(globalPos); + int wallIdx = getWallIdx(globalPos, posIdx); + + // muCross + if (fluxVars.dynamicEddyViscosityOuter() < fluxVars.dynamicEddyViscosityInner() && useViscosityInner(globalPos, posIdx)) + wall[wallIdx].crossLength[posIdx] = distanceToWallReal(globalPos, wallIdx, posIdx) - eps_ * std::abs(distanceToWallReal(globalPos, wallIdx, posIdx) / distanceToWallReal(globalPos, wallIdx, posIdx)); + + if (std::abs(fluxVars.velocity()[flowNormal_]) >= 0.99 * std::abs(wall[wallIdx].maxVelocity[posIdx][flowNormal_]) + && std::abs(wall[wallIdx].boundaryLayerThicknessCalculated[posIdx]) > std::abs(distanceToWallReal(globalPos, wallIdx, posIdx))) + wall[wallIdx].boundaryLayerThicknessCalculated[posIdx] = distanceToWallReal(globalPos, wallIdx, posIdx); + + if (wall[wallIdx].maxVelocity[posIdx][flowNormal_] * globalPos[flowNormal_] / fluxVars.kinematicViscosity() < 2300) + wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] = wall[wallIdx].boundaryLayerThicknessCalculated[posIdx]; + else if ((fluxVars.velocity()[flowNormal_] / fluxVars.frictionVelocityWall() <= 5.0) + && (std::abs(wall[wallIdx].viscousSublayerThicknessCalculated[posIdx]) + < std::abs(distanceToWallReal(globalPos, wallIdx, posIdx)))) + wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] = distanceToWallReal(globalPos, wallIdx, posIdx); + } + } + } + + /*! + * \brief Loop over all elements to update the values at the wall. + */ + void updateWallFluidProperties() + { + FVElementGeometry fvGeometry; + ElementBoundaryTypes elemBcTypes; + + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + const ReferenceElement &refElement = ReferenceElements::general(elemIt->geometry().type()); + IntersectionIterator isIt = this->gridView_().ibegin(*elemIt); + const IntersectionIterator &endIt = this->gridView_().iend(*elemIt); + for (; isIt != endIt; ++isIt) + { + // handle only faces on the boundary + if (!isIt->boundary()) + continue; + + // Assemble the boundary for all vertices of the current + // face + int faceIdx = isIt->indexInInside(); + int numFaceVerts = refElement.size(faceIdx, 1, dim); + for (int faceVertIdx = 0; + faceVertIdx < numFaceVerts; + ++faceVertIdx) + { + int boundaryFaceIdx = fvGeometry.boundaryFaceIndex(faceIdx, faceVertIdx); + + + + + const FluxVariables boundaryVars(this->problem_(), + *elemIt, + fvGeometry, + boundaryFaceIdx, + elemVolVars, + true); + + GlobalPosition globalPos = fvGeometry.boundaryFace[boundaryFaceIdx].ipGlobal; + if ( + globalPos[wallNormal_] > this->problem_().bBoxMin()[wallNormal_] + 1e-15 + && globalPos[wallNormal_] < this->problem_().bBoxMax()[wallNormal_] - 1e-15 + ) + continue; + + asImp_().calculateWallFluidProperties(boundaryVars, globalPos); + } // end loop over intersections + } // end loop over element vertices + } + } + + /*! + * \brief Calculate / average the values at the wall. + * + * \param boundaryVars Flux Variables at boundary segment. + * \param globalPos Global Position. + */ + void calculateWallFluidProperties(const FluxVariables &boundaryVars, const GlobalPosition &globalPos) + { + int posIdx = getPosIdx(globalPos); + int wallIdx = getWallIdx(globalPos, posIdx); + if (globalPos[wallNormal_] > wall[wallIdx].wallPos[posIdx] - 1e-8 + && globalPos[wallNormal_] < wall[wallIdx].wallPos[posIdx] + 1e-8) + { + wall[wallIdx].wallValuesCount[posIdx] += 1; + wall[wallIdx].wallDensity[posIdx] = + (wall[wallIdx].wallDensity[posIdx] * (wall[wallIdx].wallValuesCount[posIdx] - 1) + boundaryVars.density()) + / wall[wallIdx].wallValuesCount[posIdx]; + wall[wallIdx].wallKinematicViscosity[posIdx] = + (wall[wallIdx].wallKinematicViscosity[posIdx] * (wall[wallIdx].wallValuesCount[posIdx] - 1) + boundaryVars.kinematicViscosity()) + / wall[wallIdx].wallValuesCount[posIdx]; + wall[wallIdx].wallVelGrad[posIdx] = + (boundaryVars.velocityGrad()[flowNormal_][wallNormal_] * (wall[wallIdx].wallValuesCount[posIdx] - 1) + boundaryVars.velocityGrad()[flowNormal_][wallNormal_]) + / wall[wallIdx].wallValuesCount[posIdx]; + wall[wallIdx].wallShearStress[posIdx] = + (wall[wallIdx].wallShearStress[posIdx] * (wall[wallIdx].wallValuesCount[posIdx] - 1) + + std::abs(boundaryVars.velocityGrad()[flowNormal_][wallNormal_]) * boundaryVars.dynamicViscosity()) + / wall[wallIdx].wallValuesCount[posIdx]; + } + } + + + /*! + * \brief Find points with given values and start interpolation. + * + * \param wallIdx Wall Index of current Global Position. + */ + const void interpolateWallProperties(const int wallIdx) + { + const int startInterpolation = 0; + const int endInterpolation = intervals; + + for (int posIdx = startInterpolation; posIdx < endInterpolation; ++posIdx) + { + if (wall[wallIdx].fluxValuesCount[posIdx] == 0) + { + int prevIdx = posIdx; + int nextIdx = posIdx; + // Getting previous value, if 0 is reached (and tau is still < eps_), get next value + for (prevIdx = posIdx-1; prevIdx >= startInterpolation; --prevIdx) + if (wall[wallIdx].fluxValuesCount[prevIdx] != 0) + break; + if (prevIdx < startInterpolation) // interpolation at x=0, prevIdx is -1 + for (prevIdx = posIdx+1; prevIdx < endInterpolation; ++prevIdx) + if (wall[wallIdx].fluxValuesCount[prevIdx] != 0) + break; + if (prevIdx == endInterpolation && this->problem_().timeManager().time() > this->problem_().timeManager().timeStepSize()) + { + Dune::dinfo << "info: for posIdx " << posIdx << "on wall " << wallIdx + << "there are no fluxValues for interpolation." << std::endl; + break; + } + + // Getting next value, if intervals is reached get prev value + for (nextIdx = posIdx+1; nextIdx < endInterpolation; ++nextIdx) + if (wall[wallIdx].fluxValuesCount[nextIdx] != 0 && nextIdx != prevIdx) + break; + if (nextIdx == endInterpolation) + for (nextIdx = posIdx-1; nextIdx >= startInterpolation; --nextIdx) + if (wall[wallIdx].fluxValuesCount[nextIdx] != 0 && nextIdx != prevIdx) + break; + + asImp_().doInterpolationFluxValues(wallIdx, posIdx, prevIdx, nextIdx); + } + + + if (wall[wallIdx].wallValuesCount[posIdx] == 0) // || wall[wallIdx].wallValuesCount[posIdx] > 50) + { + int prevIdx = posIdx; + int nextIdx = posIdx; + // Getting previous value, if 0 is reached (and tau is still < eps_), get next value + for (prevIdx = posIdx-1; prevIdx >= startInterpolation; --prevIdx) + if (wall[wallIdx].wallValuesCount[prevIdx] != 0) + break; + if (prevIdx < startInterpolation) // interpolation at x=0, prevIdx is -1 + for (prevIdx = posIdx+1; prevIdx < endInterpolation; ++prevIdx) + if (wall[wallIdx].wallValuesCount[prevIdx] != 0) + break; + if (prevIdx == endInterpolation && this->problem_().timeManager().time() > this->problem_().timeManager().timeStepSize()) + { + Dune::dinfo << "info: for posIdx " << posIdx << "on wall " << wallIdx + << "there are no wallValues for interpolation." << std::endl; + break; + } + + // Getting next value, if intervals is reached get prev value + for (nextIdx = posIdx+1; nextIdx < endInterpolation; ++nextIdx) + if (wall[wallIdx].wallValuesCount[nextIdx] != 0 && nextIdx != prevIdx) + break; + if (nextIdx == endInterpolation) + for (nextIdx = posIdx-1; nextIdx >= startInterpolation; --nextIdx) + if (wall[wallIdx].wallValuesCount[nextIdx] != 0 && nextIdx != prevIdx) + break; + + asImp_().doInterpolationWallValues(wallIdx, posIdx, prevIdx, nextIdx); + } + } + } + + /*! + * \brief Interpolate flux Values, so that flux related Properties + * are given in every Interval. + * + * \param wallIdx Wall Index for interpolation. + * \param posIdx Position Index for interpolation (no given value). + * \param prevIdx Position Index with value. + * \param nextIdx Position Index with value. + */ + const void doInterpolationFluxValues(const int wallIdx, const int posIdx, const int prevIdx, const int nextIdx) + { + wall[wallIdx].boundaryLayerThickness[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].boundaryLayerThickness[prevIdx], nextIdx, wall[wallIdx].boundaryLayerThickness[nextIdx]); + wall[wallIdx].boundaryLayerThicknessCalculated[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].boundaryLayerThicknessCalculated[prevIdx], nextIdx, wall[wallIdx].boundaryLayerThicknessCalculated[nextIdx]); + wall[wallIdx].viscousSublayerThicknessCalculated[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].viscousSublayerThicknessCalculated[prevIdx], nextIdx, wall[wallIdx].viscousSublayerThicknessCalculated[nextIdx]); + wall[wallIdx].crossLength[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].crossLength[prevIdx], nextIdx, wall[wallIdx].crossLength[nextIdx]); + wall[wallIdx].maxVelocity[posIdx][0] = interpolation(posIdx, prevIdx, wall[wallIdx].maxVelocity[prevIdx][0], nextIdx, wall[wallIdx].maxVelocity[nextIdx][0]); + wall[wallIdx].maxVelocity[posIdx][1] = interpolation(posIdx, prevIdx, wall[wallIdx].maxVelocity[prevIdx][1], nextIdx, wall[wallIdx].maxVelocity[nextIdx][1]); + wall[wallIdx].minVelocity[posIdx][0] = interpolation(posIdx, prevIdx, wall[wallIdx].minVelocity[prevIdx][0], nextIdx, wall[wallIdx].minVelocity[nextIdx][0]); + wall[wallIdx].minVelocity[posIdx][1] = interpolation(posIdx, prevIdx, wall[wallIdx].minVelocity[prevIdx][1], nextIdx, wall[wallIdx].minVelocity[nextIdx][1]); + wall[wallIdx].maxVelocityAbs[posIdx][0] = interpolation(posIdx, prevIdx, wall[wallIdx].maxVelocityAbs[prevIdx][0], nextIdx, wall[wallIdx].maxVelocityAbs[nextIdx][0]); + wall[wallIdx].maxVelocityAbs[posIdx][1] = interpolation(posIdx, prevIdx, wall[wallIdx].maxVelocityAbs[prevIdx][1], nextIdx, wall[wallIdx].maxVelocityAbs[nextIdx][1]); + wall[wallIdx].fMax[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].fMax[prevIdx], nextIdx, wall[wallIdx].fMax[nextIdx]); + wall[wallIdx].yMax[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].yMax[prevIdx], nextIdx, wall[wallIdx].yMax[nextIdx]); + wall[wallIdx].isInterpolated[posIdx] += 1; + } + + /*! + * \brief Interpolate wall Values, so that wall related Properties + * are given in every Interval. + * + * \param wallIdx Wall Index for interpolation. + * \param posIdx Position Index for interpolation (no given value). + * \param prevIdx Position Index with value. + * \param nextIdx Position Index with value. + */ + const void doInterpolationWallValues(const int wallIdx, const int posIdx, const int prevIdx, const int nextIdx) + { + wall[wallIdx].wallDensity[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].wallDensity[prevIdx], nextIdx, wall[wallIdx].wallDensity[nextIdx]); + wall[wallIdx].wallKinematicViscosity[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].wallKinematicViscosity[prevIdx], nextIdx, wall[wallIdx].wallKinematicViscosity[nextIdx]); + wall[wallIdx].wallVelGrad[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].wallVelGrad[prevIdx], nextIdx, wall[wallIdx].wallVelGrad[nextIdx]); + wall[wallIdx].wallShearStress[posIdx] = interpolation(posIdx, prevIdx, wall[wallIdx].wallShearStress[prevIdx], nextIdx, wall[wallIdx].wallShearStress[nextIdx]); + wall[wallIdx].isInterpolated[posIdx] += 2; + } + + /*! + * \brief Mathematical linear interpolation routine. + * + * Return the linear interpolated value at any point between to values. + * + * \param position Position for which interpolation is made. + * \param prev First Position for which the value is known. + * \param prevValue Known value at prev position. + * \param next Second Position for which the value is known. + * \param nextValue Known value at next position. + */ + const Scalar interpolation(const Scalar position, const Scalar prev, const Scalar prevValue, const Scalar next, const Scalar nextValue) + { + return (prevValue + (nextValue - prevValue) / (next - prev) * (position - prev)); + } + + /*! + * \brief Returns whether the actual eddy viscosity model includes surface roughness approach. + * + * Surface roughness is not included in the Baldwin Lomax model + */ + const bool surfaceRoughnessNotImplemented() const + { + switch (GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyViscosityModel)) + { + case EddyViscosityIndices::noEddyViscosityModel: // 0 + return true; + break; + default: + return false; + } + } + + /*! + * \brief Returns the name of the used eddy viscosity model. + */ + const char *eddyViscosityModelName() const + { + switch (GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyViscosityModel)) + { + case EddyViscosityIndices::noEddyViscosityModel: // 0 + return "noEddyViscosityModel"; + break; + case EddyViscosityIndices::prandtl: // 1 + return "prandtl"; + break; + case EddyViscosityIndices::modifiedVanDriest: // 2 + return "modifiedVanDriest"; + break; + case EddyViscosityIndices::baldwinLomax: // 3 + return "baldwinLomax"; + break; + default: + DUNE_THROW(Dune::NotImplemented, "This eddy viscosity model is not implemented."); + } + } + + +protected: + //! Current implementation. + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + //! Current implementation. + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } + +private: + const int flowNormal_; + const int wallNormal_; + Scalar writeAllSCVData_; + Scalar scvDataCoordinateDelta_; + Scalar eps_; +}; + +} + +#include "zeroeqpropertydefaults.hh" + +#endif // DUMUX_ZEROEQ_MODEL_HH diff --git a/dumux/freeflow/zeroeq/zeroeqproblem.hh b/dumux/freeflow/zeroeq/zeroeqproblem.hh new file mode 100644 index 0000000000..ec248c572a --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqproblem.hh @@ -0,0 +1,81 @@ +// -*- 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 Base class for all ZeroEq problems which use the box scheme. + */ +#ifndef DUMUX_ZEROEQ_PROBLEM_HH +#define DUMUX_ZEROEQ_PROBLEM_HH + +#include <dumux/freeflow/stokes/stokesmodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqproperties.hh> + +namespace Dumux +{ +/*! + * \ingroup BoxZeroEqProblems + * \brief Base class for all problems which use the ZeroEq box model. + * + * This implements the call of update functions used for the wall properties of + * the ZeroEq box model. + */ +template<class TypeTag> +class ZeroEqProblem : public StokesProblem<TypeTag> +{ + typedef StokesProblem<TypeTag> ParentType; + + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + +public: + ZeroEqProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { } + + /*! + * \brief Called by the Dumux::TimeManager in order to initialize the problem. + * + * If you overload this method don't forget to call ParentType::init().<br> + * This initializes all wall-related properties, which are necessary for the + * ZeroEq box model. + */ + void init() + { + // set the initial condition of the model + ParentType::init(); + this->model().resetWallProperties(); + this->model().resetWallFluidProperties(); + } + + /*! + * \brief Called by the time manager before the time integration. + * + * This updates all wall-related properties, which are necessary for the + * ZeroEq box model + */ + void preTimeStep() + { + this->model().updateWallProperties(); + } +}; + +} + +#endif // DUMUX_ZEROEQ_PROBLEM_HH diff --git a/dumux/freeflow/zeroeq/zeroeqproperties.hh b/dumux/freeflow/zeroeq/zeroeqproperties.hh new file mode 100644 index 0000000000..a271ad3ce8 --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqproperties.hh @@ -0,0 +1,69 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqModel + * + * \file + * + * \brief Defines the supplementary properties required for the + * ZeroEq model. + * + */ + +#ifndef DUMUX_ZEROEQ_PROPERTIES_HH +#define DUMUX_ZEROEQ_PROPERTIES_HH + +#include <dumux/freeflow/stokes/stokesproperties.hh> + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Type tags +////////////////////////////////////////////////////////////////// + +//! The type tag for the ZeroEq Problem +NEW_TYPE_TAG(BoxZeroEq, INHERITS_FROM(BoxStokes)); + +////////////////////////////////////////////////////////////////// +// Property tags +////////////////////////////////////////////////////////////////// + +NEW_PROP_TAG(KarmanConstant); //!< The Karman constant +NEW_PROP_TAG(BBoxMinIsWall); //!< Sets BBoxMin as a wall +NEW_PROP_TAG(BBoxMaxIsWall); //!< Sets BBoxMax as a wall +NEW_PROP_TAG(ZeroEqFlowNormal); //!< Indicates the main flow direction +NEW_PROP_TAG(ZeroEqWallNormal); //!< Indicates the wall normal direction +NEW_PROP_TAG(ZeroEqBBoxMinSandGrainRoughness); //!< Sets a sand grain roughness at BBoxMin +NEW_PROP_TAG(ZeroEqBBoxMaxSandGrainRoughness); //!< Sets a sand grain roughness at BBoxMax +NEW_PROP_TAG(ZeroEqEddyViscosityModel); //!< Returns used eddy viscosity model +NEW_PROP_TAG(NumberOfIntervals); //!< Returns number of wall intervals +NEW_PROP_TAG(ZeroEqWriteAllSCVData); //!< Returns which scv data are written +NEW_PROP_TAG(BaseStokesModel); //!< Returns the base implementation of the Stokes model +NEW_PROP_TAG(BaseStokesVolumeVariables); //!< Returns the base implementation of the Stokes volume variables +NEW_PROP_TAG(BaseStokesFluxVariables); //!< Returns the base implementation of the Stokes flux variables +} + +} + +#endif // DUMUX_ZEROEQ_PROPERTIES_HH diff --git a/dumux/freeflow/zeroeq/zeroeqpropertydefaults.hh b/dumux/freeflow/zeroeq/zeroeqpropertydefaults.hh new file mode 100644 index 0000000000..b0572d0ee0 --- /dev/null +++ b/dumux/freeflow/zeroeq/zeroeqpropertydefaults.hh @@ -0,0 +1,95 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqModel + * + * \file + * + * \brief Defines the properties required for the ZeroEq model. + */ + +#ifndef DUMUX_ZEROEQ_PROPERTY_DEFAULTS_HH +#define DUMUX_ZEROEQ_PROPERTY_DEFAULTS_HH + +#include "zeroeqfluxvariables.hh" +#include "zeroeqmodel.hh" + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +// INHERITED +//! Set the Model property +SET_TYPE_PROP(BoxZeroEq, Model, ZeroEqModel<TypeTag>); + +//! Set the Flux Variables property +SET_TYPE_PROP(BoxZeroEq, FluxVariables, ZeroEqFluxVariables<TypeTag>); + +//! Set the indices used by the ZeroEq model +SET_TYPE_PROP(BoxZeroEq, Indices, ZeroEqCommonIndices<TypeTag>); + +//! Set calculation to Navier Stokes +SET_BOOL_PROP(BoxZeroEq, EnableNavierStokes, true); + +// NEW PROPERTIES +//! Set the Karman constant \f$[-]\f$ +SET_SCALAR_PROP(BoxZeroEq, KarmanConstant, 0.41); + +//! Set BBoxMin of wall normal direction as a wall +SET_BOOL_PROP(BoxZeroEq, BBoxMinIsWall, true); + +//! Set BBoxMax of wall normal direction as a wall +SET_BOOL_PROP(BoxZeroEq, BBoxMaxIsWall, true); + +//! Set main flow direction +SET_INT_PROP(BoxZeroEq, ZeroEqFlowNormal, 0); + +//! Set wall normal direction +SET_INT_PROP(BoxZeroEq, ZeroEqWallNormal, 1); + +//! Set a zero sand grain roughness \f$[m]\f$ at BBoxMin +SET_SCALAR_PROP(BoxZeroEq, ZeroEqBBoxMinSandGrainRoughness, 0.0); + +//! Set a zero sand grain roughness \f$[m]\f$ at BBoxMax +SET_SCALAR_PROP(BoxZeroEq, ZeroEqBBoxMaxSandGrainRoughness, 0.0); + +//! Set the eddy viscosity model +SET_INT_PROP(BoxZeroEq, ZeroEqEddyViscosityModel, 1); + +//! Set the number of wall intervals in which more complex turbulence models are evaluated +SET_INT_PROP(BoxZeroEq, NumberOfIntervals, 1000); + +//! Set which scv data files should be written (<0 - no, 1> all) +SET_SCALAR_PROP(BoxZeroEq, ZeroEqWriteAllSCVData, -1); + +//! Set the BaseStokesFluxVariables to StokesFluxVariables +SET_TYPE_PROP(BoxZeroEq, BaseStokesFluxVariables, StokesFluxVariables<TypeTag>); + +//! Set the BaseStokesModel to StokesModel +SET_TYPE_PROP(BoxZeroEq, BaseStokesModel, StokesModel<TypeTag>); +} +} // namespace Dumux +#endif // DUMUX_ZEROEQ_PROPERTY_DEFAULTS_HH diff --git a/dumux/freeflow/zeroeqnc/Makefile.am b/dumux/freeflow/zeroeqnc/Makefile.am new file mode 100644 index 0000000000..22bef91d38 --- /dev/null +++ b/dumux/freeflow/zeroeqnc/Makefile.am @@ -0,0 +1,4 @@ +zeroeqncdir = $(includedir)/dumux/freeflow/zeroeqnc +zeroeqnc_HEADERS := $(wildcard *.hh) + +include $(top_srcdir)/am/global-rules diff --git a/dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh b/dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh new file mode 100644 index 0000000000..84658a288e --- /dev/null +++ b/dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh @@ -0,0 +1,258 @@ +// -*- 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 This file contains the data which is required to calculate + * the fluxes of the compositional ZeroEq model over a face of a finite volume. + * + * This means the methods to calculate the eddy diffusivity. + */ +#ifndef DUMUX_ZEROEQNC_FLUX_VARIABLES_HH +#define DUMUX_ZEROEQNC_FLUX_VARIABLES_HH + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/freeflow/zeroeq/zeroeqfluxvariables.hh> +#include <dumux/freeflow/zeroeqnc/zeroeqncindices.hh> +#include <dumux/freeflow/zeroeqnc/zeroeqncproperties.hh> + +namespace Dumux +{ + +/*! + * \ingroup ImplicitFluxVariables + * \ingroup BoxZeroEqncModel + * \brief This template class contains data which is required to + * calculate the component fluxes over a face of a finite + * volume for a compositional ZeroEq model. + * + * This means the methods to calculate the eddy diffusivity. + */ +template <class TypeTag> +class ZeroEqncFluxVariables : public ZeroEqFluxVariables<TypeTag> +{ + typedef ZeroEqFluxVariables<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + + typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + + enum { dim = GridView::dimension, + phaseIdx = Indices::phaseIdx, + transportCompIdx = Indices::transportCompIdx}; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef Dune::FieldVector<Scalar, dim> DimVector; + + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + +public: + ZeroEqncFluxVariables(const Problem &problem, + const Element &element, + const FVElementGeometry &fvGeometry, + const int faceIdx, + const ElementVolumeVariables &elemVolVars, + const bool onBoundary = false) + : ParentType(problem, element, fvGeometry, faceIdx, elemVolVars, onBoundary) + , flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + , eddyDiffusivityModel_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyDiffusivityModel)) + { + globalPos_ = this->face().ipGlobal; + posIdx_ = problem.model().getPosIdx(globalPos_); + wallIdx_ = problem.model().getWallIdx(globalPos_, posIdx_); + velGrad_ = this->velocityGrad_[flowNormal_][wallNormal_]; + velGradWall_ = problem.model().wall[wallIdx_].wallVelGrad[posIdx_]; + yPlusReal_ = this->distanceToWallReal() * this->frictionVelocityWall() + / problem.model().wall[wallIdx_].wallKinematicViscosity[posIdx_]; + + eddyDiffusivity_ = 0.0; + mixingLengthDiffusivity_ = 0.0; + + DimVector tmp(0.0); + densityGrad_ = 0.0; + + // calculate gradients and secondary variables at IPs + for (int idx = 0; idx < this->fvGeometry_.numScv; idx++) + { + tmp = this->face().grad[idx]; + tmp *= elemVolVars[idx].density(); + densityGrad_ += tmp; + } + + // Richardson number + // Schlichting, Boundary Layer Theory, 1997, p472 + Scalar gravity = 0.0; + if (GET_PARAM_FROM_GROUP(TypeTag, bool, Problem, EnableGravity)) + gravity = problem.gravity()[wallNormal_]; + else + gravity = 9.81; + richardsonNumber_ = -gravity / this->density() + * densityGrad()[wallNormal_] / (velGradWall_ * velGradWall_); + + // calculation of an eddy diffusivity only makes sense with Navier-Stokes equation + if (GET_PROP_VALUE(TypeTag, EnableNavierStokes)) + calculateEddyDiffusivity_(problem, element, elemVolVars); + }; + +protected: + /*! + * \brief This functions calculates the eddy diffusivity. + * + * The eddy diffusivity is added to the diffusivity in stokesnclocalresidual.hh + * at each scv face. + */ + void calculateEddyDiffusivity_(const Problem &problem, + const Element &element, + const ElementVolumeVariables &elemVolVars) + { + // no eddy diffusivity model + if (eddyDiffusivityModel_ == EddyDiffusivityIndices::noEddyDiffusivityModel) + return; + + // Reynolds analogy + // Bird, Stewart and Lightfoot, Transport Phenomena, 2007, p 657 + else if (eddyDiffusivityModel_ == EddyDiffusivityIndices::reynoldsAnalogy) + { + eddyDiffusivity_ = this->kinematicEddyViscosity() + / GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, TurbulentSchmidtNumber); + } + + // modified Van-Driest + // e.g. Bird, Stewart, and Lightfoot, E. N. Transport phenomena, 2007 + else if (eddyDiffusivityModel_ == EddyDiffusivityIndices::modifiedVanDriest) + { + Scalar aPlus = 26.0; + Scalar bPlus = 0.26; + // eddy diffusivity can only be calculated correctly for non-zero distance to walls + mixingLengthDiffusivity_ = 0.0; + if (this->distanceToWallReal() > 0.0 && yPlusReal_ > 0.0) + mixingLengthDiffusivity_ = this->karmanConstant() * this->distanceToWallReal() + * (1.0 - std::exp(-yPlusReal_ / aPlus)) + / std::sqrt(1.0 - std::exp(-bPlus * yPlusReal_)); + + eddyDiffusivity_ = mixingLengthDiffusivity_ * mixingLengthDiffusivity_ * std::abs(velGrad_); + } + + // Deissler near wall law + // Deissler, R. G. "Analysis of Turbulent Heat Transfer, Mass Transfer, and Friction in Smooth Tubes at High Prandtl and Schmidt Numbers" + // NACA Report, 1954, 1210, 69-82 + else if (eddyDiffusivityModel_ == EddyDiffusivityIndices::deissler) + { + const Scalar deisslerConstant = 0.124; + const Scalar beta = this->density() * deisslerConstant * deisslerConstant + * std::abs(this->velocity()[flowNormal_]) + * this->distanceToWallReal(); + eddyDiffusivity_ = beta * (1.0 - std::exp(-beta / this->dynamicViscosity())); + eddyDiffusivity_ /= this->density(); + } + + // Meier and Rotta + // Cebeci, Analysis of turbulent boundary layer, 1974, p 251f + else if (eddyDiffusivityModel_ == EddyDiffusivityIndices::meier) + { + // Sc_t at flow = 0.86 + // Sc_t in wall = 1.34 + Scalar kappaMeier = this->karmanConstant() / std::sqrt(0.86); + Scalar aPlusMeier = std::sqrt(1.34) / std::sqrt(0.86) * 26.0; + mixingLengthDiffusivity_ = 0.0; + if (this->distanceToWallReal() > 0.0 && yPlusReal_ > 0.0) + mixingLengthDiffusivity_ = kappaMeier * this->distanceToWallReal() + * (1.0 - std::exp(- yPlusReal_ / aPlusMeier)); + eddyDiffusivity_ = mixingLengthDiffusivity_ * mixingLengthDiffusivity_ * std::abs(velGrad_); + } + + // exponential (after Mamayev) + // Lehfeldt, Ein algebraisches Turbulenzmodell für Ästuare, 1991, p 65 + else if (eddyDiffusivityModel_ == EddyDiffusivityIndices::exponential) + { + Scalar m = 0.8; // 18.0=Perrels, 0.8=Mamayev + if (velGradWall_ == 0) // means incredible high Ri + eddyDiffusivity_ = 0.0; + else + eddyDiffusivity_ = std::exp(-m * richardsonNumber()) + * this->kinematicEddyViscosity(); + } + + else + { + DUNE_THROW(Dune::NotImplemented, "This eddy diffusivity model is not implemented."); + } + + Valgrind::CheckDefined(eddyDiffusivity_); + } + + +public: + /*! + * \brief Returns the eddy diffusivity \f$\mathrm{[m^2/s]}\f$. + * + * The eddy diffusivity does not depend on the component + */ + const Scalar eddyDiffusivity() const + { return eddyDiffusivity_; } + + /*! + * \brief Returns the density gradient \f$\mathrm{[kg/m^4]}\f$. + */ + const DimVector densityGrad() const + { return densityGrad_; } + + /*! + * \brief Returns the richardson number \f$\mathrm{[-]}\f$. + */ + const Scalar richardsonNumber() const + { return richardsonNumber_; } + + /*! + * \brief Returns the Schmidt number (molecular) \f$\mathrm{[-]}\f$. + */ + const Scalar schmidtNumber() const + { return this->kinematicViscosity() / this->diffusionCoeff(transportCompIdx); } + + /*! + * \brief Returns the turbulent Schmidt number \f$\mathrm{[-]}\f$. + */ + const Scalar turbulentSchmidtNumber() const + { return this->kinematicEddyViscosity() / eddyDiffusivity(); } + +private: + const int flowNormal_; + const int wallNormal_; + const int eddyDiffusivityModel_; + int posIdx_; + int wallIdx_; + + Scalar velGrad_; + Scalar velGradWall_; + Scalar yPlusReal_; + DimVector globalPos_; + + Scalar eddyDiffusivity_; + Scalar mixingLengthDiffusivity_; + Scalar richardsonNumber_; + DimVector densityGrad_; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQNC_FLUX_VARIABLES_HH diff --git a/dumux/freeflow/zeroeqnc/zeroeqncindices.hh b/dumux/freeflow/zeroeqnc/zeroeqncindices.hh new file mode 100644 index 0000000000..164fec7f4c --- /dev/null +++ b/dumux/freeflow/zeroeqnc/zeroeqncindices.hh @@ -0,0 +1,64 @@ +// -*- 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 Defines the indices required for the compositional ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQNC_INDICES_HH +#define DUMUX_ZEROEQNC_INDICES_HH + +#include <dumux/freeflow/stokesnc/stokesncindices.hh> +#include <dumux/freeflow/zeroeq/zeroeqindices.hh> + +namespace Dumux +{ + +/*! + * \ingroup BoxZeroEqncModel + * \brief The indices for the eddy diffusivity model. + */ +struct EddyDiffusivityIndices +{ + // Eddy Diffusivity Model Indices + static const int noEddyDiffusivityModel = 0; + static const int reynoldsAnalogy = 1; + static const int modifiedVanDriest = 2; + static const int deissler = 3; + static const int meier = 4; + static const int exponential = 5; +}; + +/*! + * \ingroup BoxZeroEqncModel + * \ingroup ImplicitIndices + * \brief The common indices for the isothermal compositional ZeroEq box model. + * + * \tparam PVOffset The first index in a primary variable vector. + */ +template <class TypeTag, int PVOffset = 0> +struct ZeroEqncCommonIndices : public StokesncCommonIndices<TypeTag, PVOffset> +{ + static const int scvDataPrecision = 5; + static const int scvDataWidth = scvDataPrecision + 10; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQNC_INDICES_HH diff --git a/dumux/freeflow/zeroeqnc/zeroeqncmodel.hh b/dumux/freeflow/zeroeqnc/zeroeqncmodel.hh new file mode 100644 index 0000000000..5ab9c1a8e5 --- /dev/null +++ b/dumux/freeflow/zeroeqnc/zeroeqncmodel.hh @@ -0,0 +1,363 @@ +// -*- 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 Base class for all models which use the compositional ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQNC_MODEL_HH +#define DUMUX_ZEROEQNC_MODEL_HH + +#include "zeroeqncindices.hh" +#include "zeroeqncproperties.hh" +#include <dumux/freeflow/stokesnc/stokesncmodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqmodel.hh> + +namespace Dumux +{ +/*! + * \ingroup BoxZeroEqncModel + * \brief Adaptation of the box scheme to the compositional ZeroEq model. + * + * This model implements an isothermal compositional ZeroEq Navier Stokes flow (RANS) + * of a fluid solving the momentum balance,the mass balance + * and the conservation equation for one component. + * + * \todo update balance equations + * Momentum Balance (has to be updated): + * \f[ + * \frac{\partial \left(\varrho_g {\boldsymbol{v}}_g\right)}{\partial t} + * + \boldsymbol{\nabla} \boldsymbol{\cdot} \left(p_g {\bf {I}} + * - \mu_g \left(\boldsymbol{\nabla} \boldsymbol{v}_g + * + \boldsymbol{\nabla} \boldsymbol{v}_g^T\right)\right) + * - \varrho_g {\bf g} = 0, + * \f] + * + * \todo update balance equations + * Mass balance (has to be updated): + * \f[ + * \frac{\partial \varrho_g}{\partial t} + \boldsymbol{\nabla}\boldsymbol{\cdot}\left(\varrho_g {\boldsymbol{v}}_g\right) - q_g = 0 + * \f] + * + * \todo update balance equations + * Component mass balance equation (has to be updated): + * \f[ + * \frac{\partial \left(\varrho_g X_g^\kappa\right)}{\partial t} + * + \boldsymbol{\nabla} \boldsymbol{\cdot} \left( \varrho_g {\boldsymbol{v}}_g X_g^\kappa + * - D^\kappa_g \varrho_g \boldsymbol{\nabla} X_g^\kappa \right) + * - q_g^\kappa = 0 + * \f] + * + * This is discretized by a fully-coupled vertex-centered finite volume + * (box) scheme in space and by the implicit Euler method in time. + */ +template<class TypeTag> +class ZeroEqncModel : public ZeroEqModel<TypeTag> +{ + typedef ZeroEqModel<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, Model) Implementation; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + + enum { + dim = GridView::dimension, + dimWorld = GridView::dimensionworld, + intervals = GET_PROP_VALUE(TypeTag, NumberOfIntervals), + walls = (GET_PROP_VALUE(TypeTag, BBoxMinIsWall) ? 1 : 0) + + (GET_PROP_VALUE(TypeTag, BBoxMaxIsWall) ? 1 : 0), + prec = Indices::scvDataPrecision, // precision of scv data + width = Indices::scvDataWidth // width of column + }; + enum { numEq = GET_PROP_VALUE(TypeTag, NumEq) }; + enum { transportCompIdx = Indices::transportCompIdx }; + enum { phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx) }; + + typedef typename GridView::template Codim<0>::Iterator ElementIterator; + typedef typename GridView::template Codim<dim>::Iterator VertexIterator; + typedef typename GridView::IntersectionIterator IntersectionIterator; + typedef Dune::ReferenceElements<Scalar, dim> ReferenceElements; + typedef Dune::ReferenceElement<Scalar, dim> ReferenceElement; + + typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition; + typedef Dune::FieldVector<Scalar, dimWorld> DimVector; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes; + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector; + + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; + typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables; + + typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + + +public: + ZeroEqncModel() + : flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + { + eps_ = 1e-6; + + // check whether sand grain roughness may be used + if (GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness) > 0 + || GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness) > 0) + { + Dune::dwarn << "warning: surface roughness will not be used for eddy diffusivity models." << std::endl; + } + } + + //! \copydoc BoxModel::addOutputVtkFields + template <class MultiWriter> + void addOutputVtkFields(const SolutionVector &sol, + MultiWriter &writer) + { + typedef Dune::BlockVector<Dune::FieldVector<Scalar, 1> > ScalarField; + typedef Dune::BlockVector<Dune::FieldVector<Scalar, dim> > VelocityField; + + const Scalar scale_ = GET_PROP_VALUE(TypeTag, Scaling); + + // create the required scalar fields + unsigned numVertices = this->gridView_().size(dim); + ScalarField &pN = *writer.allocateManagedBuffer(numVertices); + ScalarField &delP = *writer.allocateManagedBuffer(numVertices); + ScalarField &Xw = *writer.allocateManagedBuffer(numVertices); + ScalarField &rho = *writer.allocateManagedBuffer(numVertices); + ScalarField &mu = *writer.allocateManagedBuffer(numVertices); + VelocityField &velocity = *writer.template allocateManagedBuffer<Scalar, dim> (numVertices); + + unsigned numElements = this->gridView_().size(0); + ScalarField &rank = *writer.allocateManagedBuffer(numElements); + + FVElementGeometry fvGeometry; + VolumeVariables volVars; + ElementBoundaryTypes elemBcTypes; + + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + int idx = this->elementMapper().map(*elemIt); + rank[idx] = this->gridView_().comm().rank(); + + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + int numLocalVerts = elemIt->template count<dim>(); + for (int i = 0; i < numLocalVerts; ++i) + { + int globalIdx = this->vertexMapper().map(*elemIt, i, dim); + volVars.update(sol[globalIdx], + this->problem_(), + *elemIt, + fvGeometry, + i, + false); + + pN[globalIdx] = volVars.pressure()*scale_; + delP[globalIdx] = volVars.pressure()*scale_ - 1e5; + Xw[globalIdx] = volVars.fluidState().massFraction(phaseIdx, transportCompIdx); + rho[globalIdx] = volVars.density()*scale_*scale_*scale_; + mu[globalIdx] = volVars.dynamicViscosity()*scale_; + velocity[globalIdx] = volVars.velocity(); + velocity[globalIdx] *= 1/scale_; + } + } + writer.attachVertexData(pN, "P"); + writer.attachVertexData(delP, "delP"); + std::ostringstream outputNameX; + outputNameX << "X^" << FluidSystem::componentName(transportCompIdx); + writer.attachVertexData(Xw, outputNameX.str()); + writer.attachVertexData(rho, "rho"); + writer.attachVertexData(mu, "mu"); + writer.attachVertexData(velocity, "v", dim); + + + // just to have the actual values plotted + asImp_().updateWallProperties(); + + elemIt = this->gridView_().template begin<0>(); + endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + IntersectionIterator isIt = this->gridView_().ibegin(*elemIt); + const IntersectionIterator &endIt = this->gridView_().iend(*elemIt); + + for (; isIt != endIt; ++isIt) + { + int faceIdx = isIt->indexInInside(); + + FluxVariables fluxVars(this->problem_(), + *elemIt, + fvGeometry, + faceIdx, + elemVolVars, + false); + + GlobalPosition globalPos = fvGeometry.subContVolFace[faceIdx].ipGlobal; + + if (asImp_().shouldWriteSCVData(globalPos)) + asImp_().writeSCVData(volVars, fluxVars, globalPos); + } + } + } + + //! \copydoc ZeroEqModel::writeSCVHeader + void writeSCVHeader(std::stringstream &stream, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::writeSCVHeader(stream, fluxVars, globalPos); + + stream << std::setw(width) << "eddyDMod" + << std::setw(width) << GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyDiffusivityModel) + << " - " << std::setw(width*2-3) << std::left << eddyDiffusivityModelName() << std::right; + } + + //! \copydoc ZeroEqModel::writeDataHeader + void writeDataHeader(std::stringstream &stream, int posIdx) + { + ParentType::writeDataHeader(stream, posIdx); + + stream << std::setw(width) << "X [kg/kg]" + << std::setw(width) << "X/X_max [-]" + << std::setw(width) << "N [mol/mol]" + << std::setw(width) << "N/N_max [-]" + << std::setw(width) << "NGrad [mol/m]" + << std::setw(width) << "D [m^2/s]" + << std::setw(width) << "D_t [m^2/s]" + << std::setw(width) << "Sc [-]" + << std::setw(width) << "Sc_t [-]"; + } + + //! \copydoc ZeroEqModel::writeSCVDataValues + void writeSCVDataValues(std::stringstream &stream, const VolumeVariables &volVars, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::writeSCVDataValues(stream, volVars, fluxVars, globalPos); + + int posIdx = this->getPosIdx(globalPos); + int wallIdx = this->getWallIdx(globalPos, posIdx); + stream << std::setprecision(prec) + << std::setw(width) << fluxVars.massFraction(transportCompIdx) + << std::setw(width) << fluxVars.massFraction(transportCompIdx) / this->wall[wallIdx].maxMassFraction[posIdx] + << std::setw(width) << fluxVars.moleFraction(transportCompIdx) + << std::setw(width) << fluxVars.moleFraction(transportCompIdx) / this->wall[wallIdx].maxMoleFraction[posIdx] + << std::setw(width) << fluxVars.moleFractionGrad(transportCompIdx)[wallNormal_] + << std::setw(width) << fluxVars.diffusionCoeff(transportCompIdx) + << std::setw(width) << fluxVars.eddyDiffusivity() + << std::setw(width) << fluxVars.schmidtNumber() + << std::setw(width) << fluxVars.turbulentSchmidtNumber(); + } + + //! \copydoc ZeroEqModel::resetWallProperties + void resetWallProperties() + { + ParentType::resetWallProperties(); + + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + for (int posIdx = 0; posIdx < intervals; ++posIdx) + { + this->wall[wallIdx].maxMassFraction[posIdx] = 0.0; + this->wall[wallIdx].maxMoleFraction[posIdx] = 0.0; + } + } + + //! \copydoc ZeroEqModel::calculateMaxFluxVars + void calculateMaxFluxVars(const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::calculateMaxFluxVars(fluxVars, globalPos); + + int posIdx = this->getPosIdx(globalPos); + int wallIdx = this->getWallIdx(globalPos, posIdx); + // mass fraction + if (this->wall[wallIdx].maxMassFraction[posIdx] < fluxVars.massFraction(transportCompIdx)) + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + this->wall[wallIdx].maxMassFraction[posIdx] = fluxVars.massFraction(transportCompIdx); + // mole fraction + if (this->wall[wallIdx].maxMoleFraction[posIdx] < fluxVars.moleFraction(transportCompIdx)) + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + this->wall[wallIdx].maxMoleFraction[posIdx] = fluxVars.moleFraction(transportCompIdx); + } + + //! \copydoc ZeroEqModel::doInterpolationFluxValues + const void doInterpolationFluxValues(const int wallIdx, const int posIdx, const int prevIdx, const int nextIdx) + { + ParentType::doInterpolationFluxValues(wallIdx, posIdx, prevIdx, nextIdx); + + this->wall[wallIdx].maxMassFraction[posIdx] = this->interpolation(posIdx, prevIdx, this->wall[wallIdx].maxMassFraction[prevIdx], nextIdx, this->wall[wallIdx].maxMassFraction[nextIdx]); + this->wall[wallIdx].maxMoleFraction[posIdx] = this->interpolation(posIdx, prevIdx, this->wall[wallIdx].maxMoleFraction[prevIdx], nextIdx, this->wall[wallIdx].maxMoleFraction[nextIdx]); + } + + /*! + * \brief Returns the name of used the eddy diffusivity model. + */ + const char *eddyDiffusivityModelName() const + { + switch (GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyDiffusivityModel)) + { + case EddyDiffusivityIndices::noEddyDiffusivityModel: // 0 + return "noEddyDiffusivityModel"; + break; + case EddyDiffusivityIndices::reynoldsAnalogy: // 1 + return "reynoldsAnalogy"; + break; + case EddyDiffusivityIndices::modifiedVanDriest: // 2 + return "modifiedVanDriest"; + break; + case EddyDiffusivityIndices::deissler: // 3 + return "deissler"; + break; + case EddyDiffusivityIndices::meier: // 4 + return "meier"; + break; + case EddyDiffusivityIndices::exponential: // 5 + return "exponential"; + break; + default: + DUNE_THROW(Dune::NotImplemented, "This eddy diffusivity model is not implemented."); + } + } + +private: + Scalar eps_; + const int flowNormal_; + const int wallNormal_; + + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } +}; + +} + +#include "zeroeqncpropertydefaults.hh" + +#endif // DUMUX_ZEROEQNC_MODEL_HH diff --git a/dumux/freeflow/zeroeqnc/zeroeqncproperties.hh b/dumux/freeflow/zeroeqnc/zeroeqncproperties.hh new file mode 100644 index 0000000000..b31e3a3bcb --- /dev/null +++ b/dumux/freeflow/zeroeqnc/zeroeqncproperties.hh @@ -0,0 +1,56 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqncModel + * + * \file + * + * \brief Defines the properties required for the compositional ZeroEq box model. + */ + +#ifndef DUMUX_ZEROEQNC_PROPERTIES_HH +#define DUMUX_ZEROEQNC_PROPERTIES_HH + +#include <dumux/freeflow/stokesnc/stokesncproperties.hh> +#include <dumux/freeflow/zeroeq/zeroeqproperties.hh> + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Type tags +////////////////////////////////////////////////////////////////// + +//! The type tag for the ZeroEqnc Problem +NEW_TYPE_TAG(BoxZeroEqnc, INHERITS_FROM(BoxZeroEq, BoxStokesnc)); + +////////////////////////////////////////////////////////////////// +// Property tags +////////////////////////////////////////////////////////////////// + +NEW_PROP_TAG(ZeroEqEddyDiffusivityModel); //!< Returns which Eddy Diffusivity Model is used +NEW_PROP_TAG(ZeroEqTurbulentSchmidtNumber); //!< Returns the used turbulent Schmidt number (Reynolds analogy) +} +} + +#endif // DUMUX_ZEROEQNC_PROPERTIES_HH diff --git a/dumux/freeflow/zeroeqnc/zeroeqncpropertydefaults.hh b/dumux/freeflow/zeroeqnc/zeroeqncpropertydefaults.hh new file mode 100644 index 0000000000..b7a520f0a6 --- /dev/null +++ b/dumux/freeflow/zeroeqnc/zeroeqncpropertydefaults.hh @@ -0,0 +1,79 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqncModel + * + * \file + * + * \brief Defines default properties for the compositional ZeroEq box model. + */ + +#ifndef DUMUX_ZEROEQNC_PROPERTY_DEFAULTS_HH +#define DUMUX_ZEROEQNC_PROPERTY_DEFAULTS_HH + +#include <dumux/freeflow/stokesnc/stokesncfluxvariables.hh> +#include <dumux/freeflow/stokesnc/stokesncmodel.hh> +#include <dumux/freeflow/stokesnc/stokesncvolumevariables.hh> +#include "zeroeqncfluxvariables.hh" +#include "zeroeqncmodel.hh" + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +// INHERITED +//! Set the Model property +SET_TYPE_PROP(BoxZeroEqnc, Model, ZeroEqncModel<TypeTag>); + +//! Set the FluxVariables property +SET_TYPE_PROP(BoxZeroEqnc, FluxVariables, ZeroEqncFluxVariables<TypeTag>); + +//! Set the indices used by the ZeroEqnc model +SET_TYPE_PROP(BoxZeroEqnc, Indices, ZeroEqncCommonIndices<TypeTag>); + +//! Set calculation to Navier-Stokes +SET_BOOL_PROP(BoxZeroEqnc, EnableNavierStokes, true); + +//! Don't use mole fractions +SET_BOOL_PROP(BoxZeroEqnc, UseMoles, false); + +// NEW PROPERTIES +//! Set the Eddy Diffusivity Model +SET_INT_PROP(BoxZeroEqnc, ZeroEqEddyDiffusivityModel, 1); + +//! Set the turbulent Schmidt number \f$[-]\f$ (Reynolds analogy) +SET_SCALAR_PROP(BoxZeroEqnc, ZeroEqTurbulentSchmidtNumber, 1.0); + +//! Set the BaseStokesModel to StokesncModel +SET_TYPE_PROP(BoxZeroEqnc, BaseStokesModel, StokesncModel<TypeTag>); + +//! Set the BaseStokesFluxVariables to StokesncniFluxVariables +SET_TYPE_PROP(BoxZeroEqnc, BaseStokesFluxVariables, StokesncFluxVariables<TypeTag>); + +} +} + +#endif // DUMUX_ZEROEQNC_PROPERTY_DEFAULTS_HH diff --git a/dumux/freeflow/zeroeqncni/Makefile.am b/dumux/freeflow/zeroeqncni/Makefile.am new file mode 100644 index 0000000000..b0f1138d29 --- /dev/null +++ b/dumux/freeflow/zeroeqncni/Makefile.am @@ -0,0 +1,4 @@ +zeroeqncnidir = $(includedir)/dumux/freeflow/zeroeqncni +zeroeqncni_HEADERS := $(wildcard *.hh) + +include $(top_srcdir)/am/global-rules diff --git a/dumux/freeflow/zeroeqncni/zeroeqncnifluxvariables.hh b/dumux/freeflow/zeroeqncni/zeroeqncnifluxvariables.hh new file mode 100644 index 0000000000..633391623f --- /dev/null +++ b/dumux/freeflow/zeroeqncni/zeroeqncnifluxvariables.hh @@ -0,0 +1,222 @@ +// -*- 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 This file contains the data which is required to calculate + * the fluxes of the non-isothermal compositional ZeroEq model over + * a face of a finite volume. + * + * This means the methods to calculate the eddy conductivity. + */ +#ifndef DUMUX_ZEROEQNCNI_FLUX_VARIABLES_HH +#define DUMUX_ZEROEQNCNI_FLUX_VARIABLES_HH + +#include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include <dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh> +#include <dumux/freeflow/zeroeqncni/zeroeqncniindices.hh> +#include <dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh> + +namespace Dumux +{ + +/*! + * \ingroup ImplicitFluxVariables + * \ingroup BoxZeroEqncniModel + * \brief This template class contains data which is required to + * calculate the component fluxes over a face of a finite + * volume for a non-isothermal compositional ZeroEq model. + * + * This means the methods to calculate the eddy conductivity. + */ +template <class TypeTag> +class ZeroEqncniFluxVariables : public ZeroEqncFluxVariables<TypeTag> +{ + typedef ZeroEqncFluxVariables<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + + typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + + enum { dim = GridView::dimension, + phaseIdx = Indices::phaseIdx, + transportCompIdx = Indices::transportCompIdx}; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef Dune::FieldVector<Scalar, dim> DimVector; + + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + +public: + ZeroEqncniFluxVariables(const Problem &problem, + const Element &element, + const FVElementGeometry &fvGeometry, + const int faceIdx, + const ElementVolumeVariables &elemVolVars, + const bool onBoundary = false) + : ParentType(problem, element, fvGeometry, faceIdx, elemVolVars, onBoundary) + , flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + , eddyConductivityModel_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyConductivityModel)) + { + globalPos_ = this->face().ipGlobal; + posIdx_ = problem.model().getPosIdx(globalPos_); + wallIdx_ = problem.model().getWallIdx(globalPos_, posIdx_); + velGrad_ = this->velocityGrad_[flowNormal_][wallNormal_]; + velGradWall_ = problem.model().wall[wallIdx_].wallVelGrad[posIdx_]; + yPlusReal_ = this->distanceToWallReal() * this->frictionVelocityWall() + / problem.model().wall[wallIdx_].wallKinematicViscosity[posIdx_]; + + temperatureEddyConductivity_ = 0.0; + mixingLengthConductivity_ = 0.0; + + // calculation of an eddy conductivity only makes sense with Navier-Stokes equation + if (GET_PROP_VALUE(TypeTag, EnableNavierStokes)) + calculateEddyConductivity_(problem, element, elemVolVars); + }; + +protected: + /*! + * \brief This functions calculates the eddy conductivity. + * + * The eddy conductivity is added to the conductivity in stokesncnilocalresidual.hh + * at each scv face. + */ + void calculateEddyConductivity_(const Problem &problem, + const Element &element, + const ElementVolumeVariables &elemVolVars) + { + // IMPORTANT: + // the temperatureEddyConductivity_ a_t [m^2/s] is converted to + // thermalEddyConductivity \lambda_t [W/(m K)] by the convenience function + + // no eddy conductivity model + if (eddyConductivityModel_ == EddyConductivityIndices::noEddyConductivityModel) + return; + + // Reynolds analogy + // Bird, Stewart and Lightfoot, Transport Phenomena, 2007, p 657 + else if (eddyConductivityModel_ == EddyConductivityIndices::reynoldsAnalogy) + { + temperatureEddyConductivity_ = this->kinematicEddyViscosity() + / GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, TurbulentPrandtlNumber); + } + + // modified Van-Driest + // e.g. Bird, Stewart, and Lightfoot, E. N. Transport phenomena, 2007 + else if (eddyConductivityModel_ == EddyConductivityIndices::modifiedVanDriest) + { + Scalar aPlus = 26.0; + Scalar bPlus = 0.26; + // eddy conductivity can only be calculated correctly for non-zero distance to walls + mixingLengthConductivity_ = 0.0; + if (this->distanceToWallReal() > 0.0 && yPlusReal_ > 0.0) + mixingLengthConductivity_ = this->karmanConstant() * this->distanceToWallReal() + * (1.0 - std::exp(-yPlusReal_ / aPlus)) + / std::sqrt(1.0 - std::exp(-bPlus * yPlusReal_)); + + temperatureEddyConductivity_ = mixingLengthConductivity_ * mixingLengthConductivity_ + * std::abs(velGrad_); + } + + // Deissler near wall law + // Deissler, R. G. "Analysis of Turbulent Heat Transfer, Mass Transfer, and Friction in Smooth Tubes at High Prandtl and Schmidt Numbers" + // NACA Report, 1954, 1210, 69-82 + else if (eddyConductivityModel_ == EddyConductivityIndices::deissler) + { + const Scalar deisslerConstant = 0.124; + const Scalar beta = this->density() * deisslerConstant * deisslerConstant + * std::abs(this->velocity()[flowNormal_]) + * this->distanceToWallReal(); + temperatureEddyConductivity_ = beta * (1.0 - std::exp(-beta / this->dynamicViscosity())); + temperatureEddyConductivity_ /= this->density(); + } + + // Meier and Rotta + // Cebeci, Analysis of turbulent boundary layer, 1974, p 251f + else if (eddyConductivityModel_ == EddyConductivityIndices::meier) + { + // Pr_t at flow = 0.86 + // Pr_t in wall = 1.34 + Scalar kappaMeier = this->karmanConstant() / std::sqrt(0.86); + Scalar aPlusMeier = std::sqrt(1.34) / std::sqrt(0.86) * 26.0; + mixingLengthConductivity_ = 0.0; + if (this->distanceToWallReal() > 0.0 && yPlusReal_ > 0.0) + mixingLengthConductivity_ = kappaMeier * this->distanceToWallReal() + * (1.0 - std::exp(- yPlusReal_ / aPlusMeier)); + temperatureEddyConductivity_ = mixingLengthConductivity_ * mixingLengthConductivity_ * std::abs(velGrad_); + } + + else + { + DUNE_THROW(Dune::NotImplemented, "This eddy conductivity model is not implemented."); + } + + Valgrind::CheckDefined(temperatureEddyConductivity_); + } + + +public: + /*! + * \brief Returns the thermal eddy conductivity \f$\mathrm{[W/(m*K)]}\f$. + */ + const Scalar thermalEddyConductivity() const + { return temperatureEddyConductivity() * this->density() * this->heatCapacity(); } + + /*! + * \brief Returns the temperature eddy conductivity \f$\mathrm{[m^2/s]}\f$. + */ + const Scalar temperatureEddyConductivity() const + { return temperatureEddyConductivity_; } + + /*! + * \brief Returns Prandtl number (molecular) \f$\mathrm{[-]}\f$. + */ + const Scalar prandtlNumber() const + { return this->dynamicViscosity() * this->heatCapacity() / this->thermalConductivity(); } + + /*! + * \brief Returns the turbulent Prandtl number \f$\mathrm{[-]}\f$. + */ + const Scalar turbulentPrandtlNumber() const + { return this->dynamicEddyViscosity() * this->heatCapacity() / thermalEddyConductivity(); } + + +private: + const int flowNormal_; + const int wallNormal_; + const int eddyConductivityModel_; + int posIdx_; + int wallIdx_; + + Scalar velGrad_; + Scalar velGradWall_; + DimVector globalPos_; + Scalar yPlusReal_; + + Scalar temperatureEddyConductivity_; + Scalar mixingLengthConductivity_; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQNCNI_FLUX_VARIABLES_HH diff --git a/dumux/freeflow/zeroeqncni/zeroeqncniindices.hh b/dumux/freeflow/zeroeqncni/zeroeqncniindices.hh new file mode 100644 index 0000000000..705581158c --- /dev/null +++ b/dumux/freeflow/zeroeqncni/zeroeqncniindices.hh @@ -0,0 +1,65 @@ +// -*- 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 Defines the indices required for the non-isothermal + * compositional ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQNCNI_INDICES_HH +#define DUMUX_ZEROEQNCNI_INDICES_HH + +#include <dumux/freeflow/stokesncni/stokesncniindices.hh> +#include <dumux/freeflow/zeroeq/zeroeqindices.hh> +#include <dumux/freeflow/zeroeqnc/zeroeqncindices.hh> + +namespace Dumux +{ + +/*! + * \ingroup BoxZeroEqncniModel + * \brief The indices for the eddy conductivity model. + */ +struct EddyConductivityIndices +{ + // Eddy Conductivity Model Indices + static const int noEddyConductivityModel = 0; + static const int reynoldsAnalogy = 1; + static const int modifiedVanDriest = 2; + static const int deissler = 3; + static const int meier = 4; +}; + +/*! + * \ingroup ImplicitIndices + * \ingroup BoxZeroEqncniModel + * \brief The common indices for the non-isothermal compositional ZeroEq box model. + * + * \tparam PVOffset The first index in a primary variable vector. + */ +template <class TypeTag, int PVOffset = 0> +struct ZeroEqncniCommonIndices : public StokesncniCommonIndices<TypeTag, PVOffset> +{ + static const int scvDataPrecision = 5; + static const int scvDataWidth = scvDataPrecision + 10; +}; + +} // end namespace + +#endif // DUMUX_ZEROEQNCNI_INDICES_HH diff --git a/dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh b/dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh new file mode 100644 index 0000000000..750541adf1 --- /dev/null +++ b/dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh @@ -0,0 +1,359 @@ +// -*- 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 Base class for all models which use the non-isothermal + * compositional ZeroEq box model. + */ +#ifndef DUMUX_ZEROEQNCNI_MODEL_HH +#define DUMUX_ZEROEQNCNI_MODEL_HH + +#include "zeroeqncniindices.hh" +#include "zeroeqncniproperties.hh" +#include <dumux/freeflow/zeroeqnc/zeroeqncmodel.hh> + + +namespace Dumux +{ +/*! + * \ingroup BoxZeroEqncniModel + * \brief Adaptation of the box scheme to the non-isothermal compositional ZeroEq model. + * + * This model implements a non-isothermal compositional ZeroEq Navier Stokes flow (RANS) + * of a fluid solving the momentum balance,the mass balance, + * the conservation equation for one component and the energy balance. + * + * \todo update balance equations + * Momentum Balance (has to be updated): + * \f[ + * \frac{\partial \left(\varrho_g {\boldsymbol{v}}_g\right)}{\partial t} + * + \boldsymbol{\nabla} \boldsymbol{\cdot} \left(p_g {\bf {I}} + * - \mu_g \left(\boldsymbol{\nabla} \boldsymbol{v}_g + * + \boldsymbol{\nabla} \boldsymbol{v}_g^T\right)\right) + * - \varrho_g {\bf g} = 0, + * \f] + * + * \todo update balance equations + * Mass balance (has to be updated): + * \f[ + * \frac{\partial \varrho_g}{\partial t} + \boldsymbol{\nabla}\boldsymbol{\cdot}\left(\varrho_g {\boldsymbol{v}}_g\right) - q_g = 0 + * \f] + * + * \todo update balance equations + * Component mass balance equation (has to be updated): + * \f[ + * \frac{\partial \left(\varrho_g X_g^\kappa\right)}{\partial t} + * + \boldsymbol{\nabla} \boldsymbol{\cdot} \left( \varrho_g {\boldsymbol{v}}_g X_g^\kappa + * - D^\kappa_g \varrho_g \boldsymbol{\nabla} X_g^\kappa \right) + * - q_g^\kappa = 0 + * \f] + * + * \todo update balance equations + * Energy balance equation (has to be updated): + * \f[ + * - + * \f] + * + * This is discretized by a fully-coupled vertex-centered finite volume + * (box) scheme in space and by the implicit Euler method in time. + */ +template<class TypeTag> +class ZeroEqncniModel : public ZeroEqncModel<TypeTag> +{ + typedef ZeroEqncModel<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, Model) Implementation; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + + enum { + dim = GridView::dimension, + dimWorld = GridView::dimensionworld, + intervals = GET_PROP_VALUE(TypeTag, NumberOfIntervals), + walls = (GET_PROP_VALUE(TypeTag, BBoxMinIsWall) ? 1 : 0) + + (GET_PROP_VALUE(TypeTag, BBoxMaxIsWall) ? 1 : 0), + prec = Indices::scvDataPrecision, // precision of scv data + width = Indices::scvDataWidth // width of column + }; + enum { numEq = GET_PROP_VALUE(TypeTag, NumEq) }; + enum { transportCompIdx = Indices::transportCompIdx }; + enum { phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIdx) }; + + typedef typename GridView::template Codim<0>::Iterator ElementIterator; + typedef typename GridView::template Codim<dim>::Iterator VertexIterator; + typedef typename GridView::IntersectionIterator IntersectionIterator; + typedef Dune::ReferenceElements<Scalar, dim> ReferenceElements; + typedef Dune::ReferenceElement<Scalar, dim> ReferenceElement; + + typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition; + typedef Dune::FieldVector<Scalar, dimWorld> DimVector; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes; + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector; + + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; + typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables; + + typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables; + typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + + +public: + ZeroEqncniModel() + : flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + { + eps_ = 1e-6; + + // check whether sand grain roughness may be used + if (GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMinSandGrainRoughness) > 0 + || GET_PARAM_FROM_GROUP(TypeTag, Scalar, ZeroEq, BBoxMaxSandGrainRoughness) > 0) + { + Dune::dwarn << "warning: surface roughness will not be used for eddy conductivity models." << std::endl; + } + } + + //! \copydoc BoxModel::addOutputVtkFields + template <class MultiWriter> + void addOutputVtkFields(const SolutionVector &sol, + MultiWriter &writer) + { + typedef Dune::BlockVector<Dune::FieldVector<Scalar, 1> > ScalarField; + typedef Dune::BlockVector<Dune::FieldVector<Scalar, dim> > VelocityField; + + const Scalar scale_ = GET_PROP_VALUE(TypeTag, Scaling); + + // create the required scalar fields + unsigned numVertices = this->gridView_().size(dim); + ScalarField &pN = *writer.allocateManagedBuffer(numVertices); + ScalarField &delP = *writer.allocateManagedBuffer(numVertices); + ScalarField &Xw = *writer.allocateManagedBuffer(numVertices); + ScalarField &rho = *writer.allocateManagedBuffer(numVertices); + ScalarField &mu = *writer.allocateManagedBuffer(numVertices); + VelocityField &velocity = *writer.template allocateManagedBuffer<Scalar, dim> (numVertices); + ScalarField &T = *writer.allocateManagedBuffer(numVertices); + + unsigned numElements = this->gridView_().size(0); + ScalarField &rank = *writer.allocateManagedBuffer(numElements); + + FVElementGeometry fvGeometry; + VolumeVariables volVars; + ElementBoundaryTypes elemBcTypes; + + ElementIterator elemIt = this->gridView_().template begin<0>(); + ElementIterator endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + int idx = this->elementMapper().map(*elemIt); + rank[idx] = this->gridView_().comm().rank(); + + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + int numLocalVerts = elemIt->template count<dim>(); + for (int i = 0; i < numLocalVerts; ++i) + { + int globalIdx = this->vertexMapper().map(*elemIt, i, dim); + volVars.update(sol[globalIdx], + this->problem_(), + *elemIt, + fvGeometry, + i, + false); + + pN[globalIdx] = volVars.pressure()*scale_; + delP[globalIdx] = volVars.pressure()*scale_ - 1e5; + Xw[globalIdx] = volVars.fluidState().massFraction(phaseIdx, transportCompIdx); + rho[globalIdx] = volVars.density()*scale_*scale_*scale_; + mu[globalIdx] = volVars.dynamicViscosity()*scale_; + velocity[globalIdx] = volVars.velocity(); + velocity[globalIdx] *= 1/scale_; + T[globalIdx] = volVars.temperature(); + } + } + writer.attachVertexData(pN, "P"); + writer.attachVertexData(delP, "delP"); + std::ostringstream outputNameX; + outputNameX << "X^" << FluidSystem::componentName(transportCompIdx); + writer.attachVertexData(Xw, outputNameX.str()); + writer.attachVertexData(rho, "rho"); + writer.attachVertexData(mu, "mu"); + writer.attachVertexData(velocity, "v", dim); + writer.attachVertexData(T, "temperature"); + + + // just to have the actual values plotted + asImp_().updateWallProperties(); + + elemIt = this->gridView_().template begin<0>(); + endit = this->gridView_().template end<0>(); + + for (; elemIt != endit; ++elemIt) + { + fvGeometry.update(this->gridView_(), *elemIt); + elemBcTypes.update(this->problem_(), *elemIt, fvGeometry); + + ElementVolumeVariables elemVolVars; + elemVolVars.update(this->problem_(), + *elemIt, + fvGeometry, + false); + + IntersectionIterator isIt = this->gridView_().ibegin(*elemIt); + const IntersectionIterator &endIt = this->gridView_().iend(*elemIt); + + for (; isIt != endIt; ++isIt) + { + int faceIdx = isIt->indexInInside(); + + FluxVariables fluxVars(this->problem_(), + *elemIt, + fvGeometry, + faceIdx, + elemVolVars, + false); + + GlobalPosition globalPos = fvGeometry.subContVolFace[faceIdx].ipGlobal; + + if (asImp_().shouldWriteSCVData(globalPos)) + asImp_().writeSCVData(volVars, fluxVars, globalPos); + } + } + } + + //! \copydoc ZeroEqModel::writeSCVHeader + void writeSCVHeader(std::stringstream &stream, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::writeSCVHeader(stream, fluxVars, globalPos); + + stream << std::setw(width) << "eddyCMod" + << std::setw(width) << GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyConductivityModel) + << " - " << std::setw(width*2-3) << std::left << eddyConductivityModelName() << std::right; + } + + //! \copydoc ZeroEqModel::writeDataHeader + void writeDataHeader(std::stringstream &stream, int posIdx) + { + ParentType::writeDataHeader(stream, posIdx); + + stream << std::setw(width) << "T [K]" + << std::setw(width) << "T/T_max [-]" + << std::setw(width) << "TGrad [K/m]" + << std::setw(width) << "lambda [W/(m*K)]" + << std::setw(width) << "lambda_t [W/(m*K)]" + << std::setw(width) << "Pr [-]" + << std::setw(width) << "Pr_t [-]"; + } + + //! \copydoc ZeroEqModel::writeSCVDataValues + void writeSCVDataValues(std::stringstream &stream, const VolumeVariables &volVars, const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::writeSCVDataValues(stream, volVars, fluxVars, globalPos); + + int posIdx = this->getPosIdx(globalPos); + int wallIdx = this->getWallIdx(globalPos, posIdx); + stream << std::setprecision(prec) + << std::setw(width) << fluxVars.temperature() + << std::setw(width) << fluxVars.temperature() / this->wall[wallIdx].maxTemperature[posIdx] + << std::setw(width) << fluxVars.temperatureGrad()[wallNormal_] + << std::setw(width) << fluxVars.thermalConductivity() + << std::setw(width) << fluxVars.thermalEddyConductivity() + << std::setw(width) << fluxVars.prandtlNumber() + << std::setw(width) << fluxVars.turbulentPrandtlNumber(); + } + + + //! \copydoc ZeroEqModel::resetWallProperties + void resetWallProperties() + { + ParentType::resetWallProperties(); + + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + for (int posIdx = 0; posIdx < intervals; ++posIdx) + { + this->wall[wallIdx].maxTemperature[posIdx] = 0.0; + } + } + + //! \copydoc ZeroEqModel::calculateMaxFluxVars + void calculateMaxFluxVars(const FluxVariables &fluxVars, const GlobalPosition &globalPos) + { + ParentType::calculateMaxFluxVars(fluxVars, globalPos); + + int posIdx = this->getPosIdx(globalPos); + int wallIdx = this->getWallIdx(globalPos, posIdx); + if (this->wall[wallIdx].maxTemperature[posIdx] < fluxVars.temperature()) + for (int wallIdx = 0; wallIdx < walls; ++wallIdx) + this->wall[wallIdx].maxTemperature[posIdx] = fluxVars.temperature(); + } + + //! \copydoc ZeroEqModel::doInterpolationFluxValues + const void doInterpolationFluxValues(const int wallIdx, const int posIdx, const int prevIdx, const int nextIdx) + { + ParentType::doInterpolationFluxValues(wallIdx, posIdx, prevIdx, nextIdx); + this->wall[wallIdx].maxTemperature[posIdx] = this->interpolation(posIdx, prevIdx, this->wall[wallIdx].maxTemperature[prevIdx], nextIdx, this->wall[wallIdx].maxTemperature[nextIdx]); + } + + /*! + * \brief Returns the name of used the eddy conductivity model. + */ + const char *eddyConductivityModelName() const + { + switch (GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, EddyConductivityModel)) + { + case EddyConductivityIndices::noEddyConductivityModel: // 0 + return "noEddyConductivityModel"; + break; + case EddyConductivityIndices::reynoldsAnalogy: // 1 + return "reynoldsAnalogy"; + break; + case EddyConductivityIndices::modifiedVanDriest: // 2 + return "modifiedVanDriest"; + break; + case EddyConductivityIndices::deissler: // 3 + return "deissler"; + break; + case EddyConductivityIndices::meier: // 4 + return "meier"; + break; + default: + DUNE_THROW(Dune::NotImplemented, "This eddy conductivity model is not implemented."); + } + } + +private: + Scalar eps_; + const int flowNormal_; + const int wallNormal_; + + Implementation &asImp_() + { return *static_cast<Implementation*>(this); } + const Implementation &asImp_() const + { return *static_cast<const Implementation*>(this); } +}; + +} + +#include "zeroeqncnipropertydefaults.hh" + +#endif // DUMUX_ZEROEQNCNI_MODEL_HH diff --git a/dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh b/dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh new file mode 100644 index 0000000000..cbdf6c40f8 --- /dev/null +++ b/dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh @@ -0,0 +1,57 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqncniModel + * + * \file + * + * \brief Defines the properties required for the + * non-isothermal compositional ZeroEq box model. + */ + +#ifndef DUMUX_ZEROEQNCNI_PROPERTIES_HH +#define DUMUX_ZEROEQNCNI_PROPERTIES_HH + +#include <dumux/freeflow/stokesncni/stokesncniproperties.hh> +#include <dumux/freeflow/zeroeqnc/zeroeqncproperties.hh> + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Type tags +////////////////////////////////////////////////////////////////// + +//! The type tag for the ZeroEqncni Problem +NEW_TYPE_TAG(BoxZeroEqncni, INHERITS_FROM(BoxZeroEqnc, BoxStokesncni)); + +////////////////////////////////////////////////////////////////// +// Property tags +////////////////////////////////////////////////////////////////// + +NEW_PROP_TAG(ZeroEqEddyConductivityModel); //!< Returns which Eddy Conductivity Model is used +NEW_PROP_TAG(ZeroEqTurbulentPrandtlNumber); //!< Returns the used turbulent Prandtl number (Reynolds analogy) +} +} + +#endif // DUMUX_ZEROEQNCNI_PROPERTIES_HH diff --git a/dumux/freeflow/zeroeqncni/zeroeqncnipropertydefaults.hh b/dumux/freeflow/zeroeqncni/zeroeqncnipropertydefaults.hh new file mode 100644 index 0000000000..710d2380d7 --- /dev/null +++ b/dumux/freeflow/zeroeqncni/zeroeqncnipropertydefaults.hh @@ -0,0 +1,77 @@ +// -*- 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup ImplicitProperties + * \ingroup BoxZeroEqcniModel + * \file + * + * \brief Defines default properties for the non-isothermal compositional ZeroEq box model. + */ + +#ifndef DUMUX_ZEROEQNCNI_PROPERTY_DEFAULTS_HH +#define DUMUX_ZEROEQNCNI_PROPERTY_DEFAULTS_HH + +#include <dumux/freeflow/stokesncni/stokesncnifluxvariables.hh> +#include <dumux/freeflow/stokesncni/stokesncnimodel.hh> +#include <dumux/freeflow/stokesncni/stokesncnivolumevariables.hh> +#include "zeroeqncnifluxvariables.hh" +#include "zeroeqncnimodel.hh" + +namespace Dumux +{ + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +// INHERITED +//! Set the Model property +SET_TYPE_PROP(BoxZeroEqncni, Model, ZeroEqncniModel<TypeTag>); + +//! Set the FluxVariables property +SET_TYPE_PROP(BoxZeroEqncni, FluxVariables, ZeroEqncniFluxVariables<TypeTag>); + +//! Set the indices used by the ZeroEqncni model +SET_TYPE_PROP(BoxZeroEqncni, Indices, ZeroEqncniCommonIndices<TypeTag>); + +//! Set calculation to Navier-Stokes +SET_BOOL_PROP(BoxZeroEqncni, EnableNavierStokes, true); + +//! Don't use mole fractions +SET_BOOL_PROP(BoxZeroEqncni, UseMoles, false); + +// NEW PROPERTIES +//! Set the Eddy Conductivity Model +SET_INT_PROP(BoxZeroEqncni, ZeroEqEddyConductivityModel, 1); + +//! Set the turbulent Prandtl number \f$[-]\f$ (Reynolds analogy) +SET_SCALAR_PROP(BoxZeroEqncni, ZeroEqTurbulentPrandtlNumber, 1.0); + +//! Set the BaseStokesModel to StokesncniModel +SET_TYPE_PROP(BoxZeroEqncni, BaseStokesModel, StokesncniModel<TypeTag>); + +//! Set the BaseStokesFluxVariables to StokesncniFluxVariables +SET_TYPE_PROP(BoxZeroEqncni, BaseStokesFluxVariables, StokesncniFluxVariables<TypeTag>); +} +} + +#endif // DUMUX_ZEROEQNCNI_PROPERTY_DEFAULTS_HH diff --git a/test/freeflow/CMakeLists.txt b/test/freeflow/CMakeLists.txt index 85bc1ac032..358d7dd60a 100644 --- a/test/freeflow/CMakeLists.txt +++ b/test/freeflow/CMakeLists.txt @@ -2,3 +2,6 @@ add_subdirectory("navierstokes") add_subdirectory("stokes") add_subdirectory("stokes2c") add_subdirectory("stokes2cni") +add_subdirectory("zeroeq") +add_subdirectory("zeroeq2c") +add_subdirectory("zeroeq2cni") diff --git a/test/freeflow/Makefile.am b/test/freeflow/Makefile.am index 259b9b6486..6417ac555c 100644 --- a/test/freeflow/Makefile.am +++ b/test/freeflow/Makefile.am @@ -1,4 +1,10 @@ -SUBDIRS = navierstokes stokes stokes2c stokes2cni +SUBDIRS = navierstokes \ + stokes \ + stokes2c \ + stokes2cni \ + zeroeq \ + zeroeq2c \ + zeroeq2cni EXTRA_DIST=CMakeLists.txt include $(top_srcdir)/am/global-rules diff --git a/test/freeflow/zeroeq/CMakeLists.txt b/test/freeflow/zeroeq/CMakeLists.txt new file mode 100644 index 0000000000..107ace4681 --- /dev/null +++ b/test/freeflow/zeroeq/CMakeLists.txt @@ -0,0 +1,19 @@ +# test: test_zeroeq +add_dumux_test(test_zeroeq test_zeroeq test_zeroeq.cc + ${CMAKE_SOURCE_DIR}/bin/runTest.sh + ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py + ${CMAKE_SOURCE_DIR}/test/references/zeroeq-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/zeroeq-00006.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_zeroeq + -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_zeroeq.input + ) + +# test: test_zeroeq_channel_channel +add_dumux_test(test_zeroeq_channel test_zeroeq_channel test_zeroeq_channel.cc + ${CMAKE_SOURCE_DIR}/bin/runTest.sh + ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py + ${CMAKE_SOURCE_DIR}/test/references/zeroeqchannel-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/zeroeqchannel-00022.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_zeroeq_channel + -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_zeroeq_channel.input + ) diff --git a/test/freeflow/zeroeq/Makefile.am b/test/freeflow/zeroeq/Makefile.am new file mode 100644 index 0000000000..ddaa48079f --- /dev/null +++ b/test/freeflow/zeroeq/Makefile.am @@ -0,0 +1,9 @@ +check_PROGRAMS = test_zeroeq \ + test_zeroeq_channel + +test_zeroeq_SOURCES = test_zeroeq.cc +test_zeroeq_channel_SOURCES = test_zeroeq_channel.cc + +EXTRA_DIST:=$(wildcard *.input) $(wildcard grids/*.dgf) CMakeLists.txt +noinst_HEADERS:=$(wildcard *.hh) +include $(top_srcdir)/am/global-rules diff --git a/test/freeflow/zeroeq/grids/channel.dgf b/test/freeflow/zeroeq/grids/channel.dgf new file mode 100644 index 0000000000..8b84fd446c --- /dev/null +++ b/test/freeflow/zeroeq/grids/channel.dgf @@ -0,0 +1,15 @@ +DGF +Interval +0 0 % first corner +5.0 1.5 % second corner +25 15 % cells in x and y direction +# + +Cube +0 1 2 3 +# + +BOUNDARYDOMAIN +default 1 % all boundaries have id 1 +#BOUNDARYDOMAIN +# unitcube.dgf diff --git a/test/freeflow/zeroeq/grids/pipe.dgf b/test/freeflow/zeroeq/grids/pipe.dgf new file mode 100644 index 0000000000..06d6510435 --- /dev/null +++ b/test/freeflow/zeroeq/grids/pipe.dgf @@ -0,0 +1,15 @@ +DGF +Interval +0 0 % first corner +10 0.2469 % second corner +20 40 % cells in x and y direction +# + +Cube +0 1 2 3 +# + +BOUNDARYDOMAIN +default 1 % all boundaries have id 1 +#BOUNDARYDOMAIN +# unitcube.dgf diff --git a/test/freeflow/zeroeq/test_zeroeq.cc b/test/freeflow/zeroeq/test_zeroeq.cc new file mode 100644 index 0000000000..180c80bcdd --- /dev/null +++ b/test/freeflow/zeroeq/test_zeroeq.cc @@ -0,0 +1,61 @@ +// -*- 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 isothermal ZeroEq box model. + */ +#include "config.h" +#include "zeroeqtestproblem.hh" +#include <dumux/common/start.hh> + +/*! + * \brief Provides an interface for customizing error messages associated with + * reading in parameters. + * + * \param progName The name of the program, that was tried to be started. + * \param errorMsg The error message that was issued by the start function. + * Comprises the thing that went wrong and a general help message. + */ +void usage(const char *progName, const std::string &errorMsg) +{ + if (errorMsg.size() > 0) { + std::string errorMessageOut = "\nUsage: "; + errorMessageOut += progName; + errorMessageOut += " [options]\n"; + errorMessageOut += errorMsg; + errorMessageOut += "\n\nThe List of Mandatory arguments for this program is:\n" + "\t-TimeManager.TEnd The end of the simulation. [s] \n" + "\t-TimeManager.DtInitial The initial timestep size. [s] \n" + "\t-Grid.File The file name of the file containing the grid \n" + "\t definition in DGF format.\n" + "\t-Problem.OutputName The file name prefix of the vtu files.\n" + "\t-Problem.InjectionVelocity The fluid velocity at the left inflow. [m/s]\n" + "\t-ZeroEq.EddyViscosityModel The used zero eq. eddy viscosity model.\n"; + + std::cout << errorMessageOut + << "\n"; + } +} + +int main(int argc, char** argv) +{ + typedef TTAG(ZeroEqTestProblem) ProblemTypeTag; + return Dumux::start<ProblemTypeTag>(argc, argv, usage); +} diff --git a/test/freeflow/zeroeq/test_zeroeq.input b/test/freeflow/zeroeq/test_zeroeq.input new file mode 100644 index 0000000000..e12d1be523 --- /dev/null +++ b/test/freeflow/zeroeq/test_zeroeq.input @@ -0,0 +1,18 @@ +[TimeManager] +DtInitial = 5 # [s] +TEnd = 50 # [s] + +[Grid] +File = grids/pipe.dgf + +[Problem] +OutputName = "zeroeq" +InjectionVelocity = 2.5 # [m/s] + +[ZeroEq] +# Eddy Viscosity Models +# 0 = none +# 1 = Prandtl +# 2 = modified Van Driest +# 3 = Baldwin Lomax +EddyViscosityModel = 3 diff --git a/test/freeflow/zeroeq/test_zeroeq_channel.cc b/test/freeflow/zeroeq/test_zeroeq_channel.cc new file mode 100644 index 0000000000..41ab633685 --- /dev/null +++ b/test/freeflow/zeroeq/test_zeroeq_channel.cc @@ -0,0 +1,62 @@ +// -*- 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 isothermal ZeroEq box model. + */ +#include "config.h" +#include "zeroeqchanneltestproblem.hh" +#include <dumux/common/start.hh> + +/*! + * \brief Provides an interface for customizing error messages associated with + * reading in parameters. + * + * \param progName The name of the program, that was tried to be started. + * \param errorMsg The error message that was issued by the start function. + * Comprises the thing that went wrong and a general help message. + */ +void usage(const char *progName, const std::string &errorMsg) +{ + if (errorMsg.size() > 0) { + std::string errorMessageOut = "\nUsage: "; + errorMessageOut += progName; + errorMessageOut += " [options]\n"; + errorMessageOut += errorMsg; + errorMessageOut += "\n\nThe List of Mandatory arguments for this program is:\n" + "\t-TimeManager.TEnd The end of the simulation. [s] \n" + "\t-TimeManager.DtInitial The initial timestep size. [s] \n" + "\t-Grid.File The file name of the file containing the grid \n" + "\t definition in DGF format.\n" + "\t-Problem.OutputName The file name prefix of the vtu files.\n" + "\t-Problem.InjectionVelocity The fluid velocity at the left inflow. [m/s]\n" + "\t-ZeroEq.EddyViscosityModel The used zero eq. eddy viscosity model.\n" + "\t-ZeroEq.BBoxMinSandGrainRoughness The sand grain roughness lenght at the bottom. [m]\n"; + + std::cout << errorMessageOut + << "\n"; + } +} + +int main(int argc, char** argv) +{ + typedef TTAG(ZeroEqChannelTestProblem) ProblemTypeTag; + return Dumux::start<ProblemTypeTag>(argc, argv, usage); +} diff --git a/test/freeflow/zeroeq/test_zeroeq_channel.input b/test/freeflow/zeroeq/test_zeroeq_channel.input new file mode 100644 index 0000000000..db94a2c643 --- /dev/null +++ b/test/freeflow/zeroeq/test_zeroeq_channel.input @@ -0,0 +1,19 @@ +[TimeManager] +DtInitial = 0.001 # [s] +TEnd = 10 # [s] + +[Grid] +File = grids/channel.dgf + +[Problem] +OutputName = "zeroeqchannel" +InjectionVelocity = 2.5 # [m/s] + +[ZeroEq] +# Eddy Viscosity Models +# 0 = none +# 1 = Prandtl +# 2 = modified Van Driest +# 3 = Baldwin Lomax +EddyViscosityModel = 2 +BBoxMinSandGrainRoughness = 0.001 # [m] diff --git a/test/freeflow/zeroeq/zeroeqchanneltestproblem.hh b/test/freeflow/zeroeq/zeroeqchanneltestproblem.hh new file mode 100644 index 0000000000..6698e21828 --- /dev/null +++ b/test/freeflow/zeroeq/zeroeqchanneltestproblem.hh @@ -0,0 +1,268 @@ +// -*- 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 an isothermal ZeroEq channel flow + */ +#ifndef DUMUX_ZEROEQCHANNELTESTPROBLEM_HH +#define DUMUX_ZEROEQCHANNELTESTPROBLEM_HH + +#if HAVE_UG +#include <dune/grid/io/file/dgfparser/dgfug.hh> +#else +#include <dune/grid/io/file/dgfparser/dgfyasp.hh> +#endif + +#include <dumux/material/fluidsystems/h2oairfluidsystem.hh> +#include <dumux/material/fluidsystems/gasphase.hh> + +#include <dumux/freeflow/zeroeq/zeroeqmodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqproblem.hh> + +namespace Dumux +{ + +template <class TypeTag> +class ZeroEqChannelTestProblem; + +namespace Properties +{ +NEW_TYPE_TAG(ZeroEqChannelTestProblem, INHERITS_FROM(BoxZeroEq)); + +// Set the grid type +#if HAVE_UG +SET_TYPE_PROP(ZeroEqChannelTestProblem, Grid, Dune::UGGrid<2>); +#else +SET_TYPE_PROP(ZeroEqChannelTestProblem, Grid, Dune::YaspGrid<2>); +#endif + +// Set the problem property +SET_TYPE_PROP(ZeroEqChannelTestProblem, Problem, Dumux::ZeroEqChannelTestProblem<TypeTag>); + +// Set the fluids +SET_PROP(ZeroEqChannelTestProblem, Fluid) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef Dumux::GasPhase<Scalar, Dumux::Air<Scalar> > type; +}; + +// Disable gravity +SET_BOOL_PROP(ZeroEqChannelTestProblem, ProblemEnableGravity, false); + +// Set only bottom as wall +SET_BOOL_PROP(ZeroEqChannelTestProblem, BBoxMaxIsWall, false); + +// Do not write sub-control volume data +SET_SCALAR_PROP(ZeroEqChannelTestProblem, ZeroEqWriteAllSCVData, -1); +} + +/*! + * \ingroup ImplicitTestProblems + * \ingroup ZeroEqModel + * \brief ZeroEq problem with air flowing from the left to the right. + * + * This problem uses the \ref ZeroEqModel. + * + * To run the simulation execute the following line in shell:<br> + * <tt>./test_zeroeq_channel -ParameterFile ./test_zeroeq_channel.input</tt> + */ +template <class TypeTag> +class ZeroEqChannelTestProblem : public ZeroEqProblem<TypeTag> +{ + typedef ZeroEqProblem<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + // Number of equations and grid dimension + enum { dim = GridView::dimension }; + enum { // equation indices + massBalanceIdx = Indices::massBalanceIdx, + momentumXIdx = Indices::momentumXIdx, // Index of the x-component of the momentum balance + momentumYIdx = Indices::momentumYIdx // Index of the y-component of the momentum balance + }; + enum { // indices for primary variables + velocityXIdx = Indices::velocityXIdx, + velocityYIdx = Indices::velocityYIdx, + pressureIdx = Indices::pressureIdx + }; + + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GridView::template Codim<dim>::Entity Vertex; + typedef typename GridView::ctype CoordScalar; + typedef typename GridView::Intersection Intersection; + + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef Dune::FieldVector<CoordScalar, dim> GlobalPosition; + +public: + ZeroEqChannelTestProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { + eps_ = 1e-6; + + injectionVelocity_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionVelocity); + } + + /*! + * \name Problem parameters + */ + // \{ + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string &name() const + { + return GET_RUNTIME_PARAM(TypeTag, std::string, Problem.OutputName); + } + + /*! + * \brief Returns the temperature within the domain. + * + * This problem assumes a constant temperature of 10 degrees Celsius. + */ + Scalar temperatureAtPos(const GlobalPosition &globalPos) const + { + return 273.15 + 10; // -> 10 °C + } + + // \} + + /*! + * \name Boundary conditions + */ + // \{ + + //! \copydoc ImplicitProblem::boundaryTypesAtPos() + void boundaryTypesAtPos(BoundaryTypes &values, + const GlobalPosition &globalPos) const + { + values.setAllDirichlet(); + + if (onUpperBoundary_(globalPos)) + { + values.setNeumann(momentumXIdx); + values.setDirichlet(velocityYIdx, momentumYIdx); + } + + if (onRightBoundary_(globalPos)) + values.setAllOutflow(); + + if (onLeftBoundary_(globalPos)) + values.setAllDirichlet(); + + // the mass balance has to be of type outflow + values.setOutflow(massBalanceIdx); + + // set pressure on left boundary (at least at one point) + if (onRightBoundary_(globalPos)) + values.setDirichlet(pressureIdx, massBalanceIdx); + } + + //! \copydoc ImplicitProblem::dirichletAtPos() + void dirichletAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + + /*! + * \brief Evaluate the boundary conditions for a neumann + * boundary segment. + * + * For this method, the \a values parameter stores the mass flux + * in normal direction of each phase. Negative values mean influx. + * + * A neumann condition for the RANS momentum equation equation corresponds to: + * \f[ -\mu \nabla {\bf v} \cdot {\bf n} + p \cdot {\bf n} = q_N \f] + */ + void neumann(PrimaryVariables &values, + const Element &element, + const FVElementGeometry &fvElemGeom, + const Intersection &is, + int scvIdx, + int boundaryFaceIdx) const + { + values = 0.0; + } + // \} + + /*! + * \name Volume terms + */ + // \{ + + //! \copydoc ImplicitProblem::sourceAtPos() + void sourceAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + values = 0.0; + } + + //! \copydoc ImplicitProblem::initialAtPos() + void initialAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + // \} + +private: + // internal method for the initial condition (reused for the Dirichlet condition) + void initial_(PrimaryVariables &values, const GlobalPosition &globalPos) const + { + values = 0.0; + + if (!onLowerBoundary_(globalPos)) + { + values[velocityXIdx] = injectionVelocity_; + } + + values[pressureIdx] = 1e5; + } + + bool onLeftBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] < this->bBoxMin()[0] + eps_; } + + bool onRightBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] > this->bBoxMax()[0] - eps_; } + + bool onLowerBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] < this->bBoxMin()[1] + eps_; } + + bool onUpperBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] > this->bBoxMax()[1] - eps_; } + + Scalar eps_; + Scalar injectionVelocity_; +}; + +} //end namespace + +#endif // DUMUX_ZEROEQCHANNELTESTPROBLEM_HH diff --git a/test/freeflow/zeroeq/zeroeqtestproblem.hh b/test/freeflow/zeroeq/zeroeqtestproblem.hh new file mode 100644 index 0000000000..087917a9d1 --- /dev/null +++ b/test/freeflow/zeroeq/zeroeqtestproblem.hh @@ -0,0 +1,268 @@ +// -*- 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 an isothermal ZeroEq problem. + * + * This problem implements an experiment performed by John Laufer + * (The structure of turbulence in fully developed pipe flow, NACA Report, 1954). + */ +#ifndef DUMUX_ZEROEQTESTPROBLEM_HH +#define DUMUX_ZEROEQTESTPROBLEM_HH + +#if HAVE_UG +#include <dune/grid/io/file/dgfparser/dgfug.hh> +#else +#include <dune/grid/io/file/dgfparser/dgfyasp.hh> +#endif + +#include <dumux/material/fluidsystems/h2oairfluidsystem.hh> +#include <dumux/material/fluidsystems/gasphase.hh> + +#include <dumux/freeflow/zeroeq/zeroeqmodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqproblem.hh> + +namespace Dumux +{ + +template <class TypeTag> +class ZeroEqTestProblem; + +namespace Properties +{ +NEW_TYPE_TAG(ZeroEqTestProblem, INHERITS_FROM(BoxZeroEq)); + +// Set the grid type +#if HAVE_UG +SET_TYPE_PROP(ZeroEqTestProblem, Grid, Dune::UGGrid<2>); +#else +SET_TYPE_PROP(ZeroEqTestProblem, Grid, Dune::YaspGrid<2>); +#endif + +// Set the problem property +SET_TYPE_PROP(ZeroEqTestProblem, Problem, Dumux::ZeroEqTestProblem<TypeTag>); + +// Set the fluids +SET_PROP(ZeroEqTestProblem, Fluid) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef Dumux::GasPhase<Scalar, Dumux::Air<Scalar> > type; +}; + +// Disable gravity +SET_BOOL_PROP(ZeroEqTestProblem, ProblemEnableGravity, false); + +// Write sub-control volume data only at x=0.8875 in dimensionless coordinates +SET_SCALAR_PROP(ZeroEqTestProblem, ZeroEqWriteAllSCVData, .8875); +} + +/*! + * \ingroup ImplicitTestProblems + * \ingroup ZeroEqModel + * \brief ZeroEq problem with air flowing from the left to the right. + * + * The domain is sized 10m times 0.2469m. The problem is taken from an + * experimental setup by John Laufer (The structure of turbulence in fully developed pipe flow, + * NACA Report, 1954). The boundary conditions for the momentum balances + * are set to Dirichlet on the left (inflow) and outflow on the right boundary. + * The mass balance has outflow boundary conditions, which are replaced in the + * localresidual by the sum of the two momentum balances. On the right boundary + * the mass balance receives a Dirichlet value to set the pressure level. + * + * This problem uses the \ref ZeroEqModel. + * + * To run the simulation execute the following line in shell:<br> + * <tt>./test_zeroeq -ParameterFile ./test_zeroeq.input</tt> + */ +template <class TypeTag> +class ZeroEqTestProblem : public ZeroEqProblem<TypeTag> +{ + typedef ZeroEqProblem<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + // Number of equations and grid dimension + enum { dim = GridView::dimension }; + enum { // equation indices + massBalanceIdx = Indices::massBalanceIdx, + momentumXIdx = Indices::momentumXIdx, // Index of the x-component of the momentum balance + momentumYIdx = Indices::momentumYIdx // Index of the y-component of the momentum balance + }; + enum { // indices for primary variables + velocityXIdx = Indices::velocityXIdx, + velocityYIdx = Indices::velocityYIdx, + pressureIdx = Indices::pressureIdx + }; + + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GridView::template Codim<dim>::Entity Vertex; + typedef typename GridView::ctype CoordScalar; + typedef typename GridView::Intersection Intersection; + + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef Dune::FieldVector<CoordScalar, dim> GlobalPosition; + +public: + ZeroEqTestProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { + eps_ = 1e-6; + + injectionVelocity_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionVelocity); + } + + /*! + * \name Problem parameters + */ + // \{ + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string &name() const + { + return GET_RUNTIME_PARAM(TypeTag, std::string, Problem.OutputName); + } + + /*! + * \brief Returns the temperature within the domain. + * + * This problem assumes a constant temperature of 10 degrees Celsius. + */ + Scalar temperatureAtPos(const GlobalPosition &globalPos) const + { + return 273.15 + 10; // -> 10C + } + + // \} + + /*! + * \name Boundary conditions + */ + // \{ + + //! \copydoc ImplicitProblem::boundaryTypesAtPos() + void boundaryTypesAtPos(BoundaryTypes &values, + const GlobalPosition &globalPos) const + { + values.setAllDirichlet(); + + // the mass balance has to be of type outflow + values.setOutflow(massBalanceIdx); + + if (onRightBoundary_(globalPos) + && globalPos[1] < this->bBoxMax()[1]-eps_ && globalPos[1] > this->bBoxMin()[1]+eps_) + values.setAllOutflow(); + + // set pressure on left boundary (at least at one point) + if (onRightBoundary_(globalPos)) + values.setDirichlet(pressureIdx, massBalanceIdx); + } + + //! \copydoc ImplicitProblem::dirichletAtPos() + void dirichletAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + + /*! + * \brief Evaluate the boundary conditions for a neumann + * boundary segment. + * + * For this method, the \a values parameter stores the mass flux + * in normal direction of each phase. Negative values mean influx. + * + * A neumann condition for the RANS momentum equation equation corresponds to: + * \f[ -\mu \nabla {\bf v} \cdot {\bf n} + p \cdot {\bf n} = q_N \f] + */ + void neumann(PrimaryVariables &values, + const Element &element, + const FVElementGeometry &fvElemGeom, + const Intersection &is, + int scvIdx, + int boundaryFaceIdx) const + { + values = 0.0; + } + // \} + + /*! + * \name Volume terms + */ + // \{ + + //! \copydoc ImplicitProblem::sourceAtPos() + void sourceAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + values = 0.0; + } + + //! \copydoc ImplicitProblem::initialAtPos() + void initialAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + // \} + +private: + // internal method for the initial condition (reused for the Dirichlet condition) + void initial_(PrimaryVariables &values, const GlobalPosition &globalPos) const + { + values = 0.0; + + if (!(onLowerBoundary_(globalPos) || onUpperBoundary_(globalPos))) + { + values[velocityXIdx] = injectionVelocity_; + } + + values[pressureIdx] = 1e5; + } + + bool onLeftBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] < this->bBoxMin()[0] + eps_; } + + bool onRightBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] > this->bBoxMax()[0] - eps_; } + + bool onLowerBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] < this->bBoxMin()[1] + eps_; } + + bool onUpperBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] > this->bBoxMax()[1] - eps_; } + + Scalar eps_; + Scalar injectionVelocity_; +}; + +} //end namespace + +#endif // DUMUX_ZEROEQTESTPROBLEM_HH diff --git a/test/freeflow/zeroeq2c/CMakeLists.txt b/test/freeflow/zeroeq2c/CMakeLists.txt new file mode 100644 index 0000000000..ba10e8d369 --- /dev/null +++ b/test/freeflow/zeroeq2c/CMakeLists.txt @@ -0,0 +1,9 @@ +# test: test_zeroeq2c +add_dumux_test(test_zeroeq2c test_zeroeq2c test_zeroeq2c.cc + ${CMAKE_SOURCE_DIR}/bin/runTest.sh + ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py + ${CMAKE_SOURCE_DIR}/test/references/zeroeq2c-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/zeroeq2c-00016.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_zeroeq2c + -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_zeroeq2c.input + ) diff --git a/test/freeflow/zeroeq2c/Makefile.am b/test/freeflow/zeroeq2c/Makefile.am new file mode 100644 index 0000000000..e6337b4570 --- /dev/null +++ b/test/freeflow/zeroeq2c/Makefile.am @@ -0,0 +1,7 @@ +check_PROGRAMS = test_zeroeq2c + +test_zeroeq2c_SOURCES = test_zeroeq2c.cc + +EXTRA_DIST:=$(wildcard *.input) $(wildcard grids/*.dgf) CMakeLists.txt +noinst_HEADERS:=$(wildcard *.hh) +include $(top_srcdir)/am/global-rules diff --git a/test/freeflow/zeroeq2c/grids/testpipe.dgf b/test/freeflow/zeroeq2c/grids/testpipe.dgf new file mode 100644 index 0000000000..6bf3308370 --- /dev/null +++ b/test/freeflow/zeroeq2c/grids/testpipe.dgf @@ -0,0 +1,15 @@ +DGF +Interval +0 0 % first corner +3 1 % second corner +30 20 % cells in x and y direction +# + +Cube +0 1 2 3 +# + +BOUNDARYDOMAIN +default 1 % all boundaries have id 1 +#BOUNDARYDOMAIN +# unitcube.dgf \ No newline at end of file diff --git a/test/freeflow/zeroeq2c/test_zeroeq2c.cc b/test/freeflow/zeroeq2c/test_zeroeq2c.cc new file mode 100644 index 0000000000..d9968d30b5 --- /dev/null +++ b/test/freeflow/zeroeq2c/test_zeroeq2c.cc @@ -0,0 +1,64 @@ +// -*- 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 isothermal compositional ZeroEq box model. + */ +#include "config.h" +#include "zeroeq2ctestproblem.hh" +#include <dumux/common/start.hh> + +/*! + * \brief Provides an interface for customizing error messages associated with + * reading in parameters. + * + * \param progName The name of the program, that was tried to be started. + * \param errorMsg The error message that was issued by the start function. + * Comprises the thing that went wrong and a general help message. + */ +void usage(const char *progName, const std::string &errorMsg) +{ + if (errorMsg.size() > 0) { + std::string errorMessageOut = "\nUsage: "; + errorMessageOut += progName; + errorMessageOut += " [options]\n"; + errorMessageOut += errorMsg; + errorMessageOut += "\n\nThe List of Mandatory arguments for this program is:\n" + "\t-TimeManager.TEnd The end of the simulation. [s] \n" + "\t-TimeManager.DtInitial The initial timestep size. [s] \n" + "\t-Grid.File The file name of the file containing the grid \n" + "\t definition in DGF format.\n" + "\t-Problem.OutputName The file name prefix of the vtu files.\n" + "\t-Problem.InjectionVelocity The fluid velocity at the left inflow. [m/s]\n" + "\t-Problem.InjectionConcentration The mass fraction concentration injected from the left. [-]\n" + "\t-ZeroEq.WriteAllSCVData Indicator at which dimensionless position subcontrol volume data will be outputted.\n" + "\t-ZeroEq.EddyViscosityModel The used zero eq. eddy viscosity model.\n" + "\t-ZeroEq.EddyDiffusivityModel The used zero eq. eddy diffusivity model.\n"; + + std::cout << errorMessageOut + << "\n"; + } +} + +int main(int argc, char** argv) +{ + typedef TTAG(ZeroEq2cTestProblem) ProblemTypeTag; + return Dumux::start<ProblemTypeTag>(argc, argv, usage); +} diff --git a/test/freeflow/zeroeq2c/test_zeroeq2c.input b/test/freeflow/zeroeq2c/test_zeroeq2c.input new file mode 100644 index 0000000000..301952789f --- /dev/null +++ b/test/freeflow/zeroeq2c/test_zeroeq2c.input @@ -0,0 +1,23 @@ +[TimeManager] +DtInitial = .1 # [s] +TEnd = 10 # [s] + +[Grid] +File = grids/testpipe.dgf + +[Problem] +OutputName = "zeroeq2c" +InjectionVelocity = 2.5 # [m/s] +InjectionConcentration = .2 # [-] + +[ZeroEq] +# Eddy Diffusivity Models +# 0 = none +# 1 = Reynolds analogy +# 2 = modified Van Driest +# 3 = Deissler +# 4 = Meier and Rotta +# 5 = Mamayev exponential law +WriteAllSCVData = 0.8984 +EddyViscosityModel = 1 +EddyDiffusivityModel = 4 diff --git a/test/freeflow/zeroeq2c/zeroeq2ctestproblem.hh b/test/freeflow/zeroeq2c/zeroeq2ctestproblem.hh new file mode 100644 index 0000000000..70eb9884d5 --- /dev/null +++ b/test/freeflow/zeroeq2c/zeroeq2ctestproblem.hh @@ -0,0 +1,268 @@ +// -*- 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 an isothermal compositional ZeroEq problem + */ +#ifndef DUMUX_ZEROEQTWOCTESTPROBLEM_HH +#define DUMUX_ZEROEQTWOCTESTPROBLEM_HH + +#if HAVE_UG +#include <dune/grid/io/file/dgfparser/dgfug.hh> +#else +#include <dune/grid/io/file/dgfparser/dgfyasp.hh> +#endif + +#include <dumux/material/fluidsystems/h2oairfluidsystem.hh> +#include <dumux/material/fluidsystems/gasphase.hh> + +#include <dumux/freeflow/zeroeqnc/zeroeqncmodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqproblem.hh> + +namespace Dumux +{ + +template <class TypeTag> +class ZeroEq2cTestProblem; + +namespace Properties +{ +NEW_TYPE_TAG(ZeroEq2cTestProblem, INHERITS_FROM(BoxZeroEqnc)); + +// Set the grid type +#if HAVE_UG +SET_TYPE_PROP(ZeroEq2cTestProblem, Grid, Dune::UGGrid<2>); +#else +SET_TYPE_PROP(ZeroEq2cTestProblem, Grid, Dune::YaspGrid<2>); +#endif + +// Set the problem property +SET_TYPE_PROP(ZeroEq2cTestProblem, Problem, Dumux::ZeroEq2cTestProblem<TypeTag>); + +// Select the fluid system +SET_PROP(ZeroEq2cTestProblem, FluidSystem) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef Dumux::FluidSystems::H2OAir<Scalar> type; +}; + +// Disable gravity +SET_BOOL_PROP(ZeroEq2cTestProblem, ProblemEnableGravity, false); +} + +/*! + * \ingroup ImplicitTestProblems + * \ingroup ZeroEqTwoCModel + * \brief Compositional ZeroEq flow problem . + * + * \todo This is just some arbitrary test problem, for which the description + * has to be added + * + * This problem uses the \ref ZeroEqTwoCModel. + * + * To run the simulation execute the following line in shell:<br> + * <tt>./test_zeroeq2c -ParameterFile ./test_zeroeq2c.input</tt> + */ +template <class TypeTag> +class ZeroEq2cTestProblem : public ZeroEqProblem<TypeTag> +{ + typedef ZeroEqProblem<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; + + // Number of equations and grid dimension + enum { dim = GridView::dimension }; + enum { // equation indices + massBalanceIdx = Indices::massBalanceIdx, + momentumXIdx = Indices::momentumXIdx, // Index of the x-component of the momentum balance + momentumYIdx = Indices::momentumYIdx, // Index of the y-component of the momentum balance + transportEqIdx = Indices::transportEqIdx // Index of the transport equation + }; + enum { // indices for primary variables + velocityXIdx = Indices::velocityXIdx, + velocityYIdx = Indices::velocityYIdx, + pressureIdx = Indices::pressureIdx, + massOrMoleFracIdx = Indices::massOrMoleFracIdx + }; + + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GridView::template Codim<dim>::Entity Vertex; + typedef typename GridView::ctype CoordScalar; + typedef typename GridView::Intersection Intersection; + typedef Dune::FieldVector<CoordScalar, dim> GlobalPosition; + +public: + ZeroEq2cTestProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + { + eps_ = 1e-6; + + injectionVelocity_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionVelocity); + injectionConcentration_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionConcentration); + + // initialize the tables of the fluid system + FluidSystem::init(); + } + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string &name() const + { + return GET_RUNTIME_PARAM(TypeTag, std::string, Problem.OutputName); + } + + /*! + * \brief Returns the temperature within the domain. + * + * This problem assumes a constant temperature of 10 degrees Celsius. + */ + Scalar temperature() const + { + return 273.15 + 10; // -> 10C + } + + // \} + + /*! + * \name Boundary conditions + */ + // \{ + + /*! + * \brief Specifies which kind of boundary condition should be + * used for which equation on a given boundary segment. + * + * \param values The boundary types for the conservation equations + * \param vertex The vertex on the boundary for which the + * conditions needs to be specified + */ + void boundaryTypes(BoundaryTypes &values, const Vertex &vertex) const + { + const GlobalPosition globalPos = vertex.geometry().center(); + + values.setAllDirichlet(); + + if (onRightBoundary_(globalPos) + && globalPos[1] < this->bBoxMax()[1]-eps_ && globalPos[1] > this->bBoxMin()[1]+eps_) + values.setAllOutflow(); + + // the mass balance has to be of type outflow + values.setOutflow(massBalanceIdx); + + // set pressure on left boundary (at least at one point) + if (onRightBoundary_(globalPos)) + values.setDirichlet(massBalanceIdx); + } + + //! \copydoc ImplicitProblem::dirichletAtPos() + void dirichletAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + + /*! + * \brief Evaluate the boundary conditions for a neumann + * boundary segment. + * + * For this method, the \a values parameter stores the mass flux + * in normal direction of each phase. Negative values mean influx. + * + * A NEUMANN condition for the Stokes equation corresponds to: + * \f[ -\mu \nabla {\bf v} \cdot {\bf n} + p \cdot {\bf n} = q_N \f] + */ + void neumann(PrimaryVariables &values, + const Element &element, + const FVElementGeometry &fvElemGeom, + const Intersection &is, + int scvIdx, + int boundaryFaceIdx) const + { + values = 0.0; + } + // \} + + /*! + * \name Volume terms + */ + // \{ + + //! \copydoc ImplicitProblem::sourceAtPos() + void sourceAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + values = 0.0; + } + + //! \copydoc ImplicitProblem::initialAtPos() + void initialAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + // \} + +private: + // internal method for the initial condition (reused for the Dirichlet condition) + void initial_(PrimaryVariables &values, const GlobalPosition &globalPos) const + { + values = 0.0; + + if (!(onLowerBoundary_(globalPos) || onUpperBoundary_(globalPos))) + values[velocityXIdx] = injectionVelocity_; + + Scalar middle = 0.5 * (this->bBoxMax()[1] - this->bBoxMin()[1]); + if (onLeftBoundary_(globalPos) && globalPos[1] > middle - 0.2 && globalPos[1] < middle + 0.2) + values[massOrMoleFracIdx] = injectionConcentration_; + + values[pressureIdx] = 1e5; + } + + bool onLeftBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] < this->bBoxMin()[0] + eps_; } + + bool onRightBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] > this->bBoxMax()[0] - eps_; } + + bool onLowerBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] < this->bBoxMin()[1] + eps_; } + + bool onUpperBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] > this->bBoxMax()[1] - eps_; } + + Scalar injectionVelocity_; + Scalar injectionConcentration_; + Scalar eps_; +}; + +} //end namespace + +#endif // DUMUX_ZEROEQTWOCTESTPROBLEM_HH diff --git a/test/freeflow/zeroeq2cni/CMakeLists.txt b/test/freeflow/zeroeq2cni/CMakeLists.txt new file mode 100644 index 0000000000..2b16f65a50 --- /dev/null +++ b/test/freeflow/zeroeq2cni/CMakeLists.txt @@ -0,0 +1,9 @@ +# test: test_zeroeq2cni +add_dumux_test(test_zeroeq2cni test_zeroeq2cni test_zeroeq2cni.cc + ${CMAKE_SOURCE_DIR}/bin/runTest.sh + ${CMAKE_SOURCE_DIR}/bin/fuzzycomparevtu.py + ${CMAKE_SOURCE_DIR}/test/references/zeroeq2cni-reference.vtu + ${CMAKE_CURRENT_BINARY_DIR}/zeroeq2cni-00011.vtu + ${CMAKE_CURRENT_BINARY_DIR}/test_zeroeq2cni + -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_zeroeq2cni.input + ) diff --git a/test/freeflow/zeroeq2cni/Makefile.am b/test/freeflow/zeroeq2cni/Makefile.am new file mode 100644 index 0000000000..baa825003c --- /dev/null +++ b/test/freeflow/zeroeq2cni/Makefile.am @@ -0,0 +1,7 @@ +check_PROGRAMS = test_zeroeq2cni + +test_zeroeq2cni_SOURCES = test_zeroeq2cni.cc + +EXTRA_DIST:=$(wildcard *.input) $(wildcard grids/*.dgf) CMakeLists.txt +noinst_HEADERS:=$(wildcard *.hh) +include $(top_srcdir)/am/global-rules diff --git a/test/freeflow/zeroeq2cni/grids/testpipe.dgf b/test/freeflow/zeroeq2cni/grids/testpipe.dgf new file mode 100644 index 0000000000..b6bcedfe68 --- /dev/null +++ b/test/freeflow/zeroeq2cni/grids/testpipe.dgf @@ -0,0 +1,15 @@ +DGF +Interval +0 0 % first corner +3 1 % second corner +30 20 % cells in x and y direction +# + +Cube +0 1 2 3 +# + +BOUNDARYDOMAIN +default 1 % all boundaries have id 1 +#BOUNDARYDOMAIN +# unitcube.dgf diff --git a/test/freeflow/zeroeq2cni/test_zeroeq2cni.cc b/test/freeflow/zeroeq2cni/test_zeroeq2cni.cc new file mode 100644 index 0000000000..d53785b98c --- /dev/null +++ b/test/freeflow/zeroeq2cni/test_zeroeq2cni.cc @@ -0,0 +1,67 @@ +// -*- 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 non-isothermal compositional ZeroEq box model. + */ +#include "config.h" +#include "zeroeq2cnitestproblem.hh" +#include <dumux/common/start.hh> + +/*! + * \brief Provides an interface for customizing error messages associated with + * reading in parameters. + * + * \param progName The name of the program, that was tried to be started. + * \param errorMsg The error message that was issued by the start function. + * Comprises the thing that went wrong and a general help message. + */ +void usage(const char *progName, const std::string &errorMsg) +{ + if (errorMsg.size() > 0) { + std::string errorMessageOut = "\nUsage: "; + errorMessageOut += progName; + errorMessageOut += " [options]\n"; + errorMessageOut += errorMsg; + errorMessageOut += "\n\nThe List of Mandatory arguments for this program is:\n" + "\t-TimeManager.TEnd The end of the simulation. [s] \n" + "\t-TimeManager.DtInitial The initial timestep size. [s] \n" + "\t-Grid.File The file name of the file containing the grid \n" + "\t definition in DGF format.\n" + "\t-Problem.OutputName The file name prefix of the vtu files.\n" + "\t-Problem.InjectionVelocity The fluid velocity at the left inflow. [m/s]\n" + "\t-Problem.InjectionConcentration The mass fraction concentration injected from the left. [-]\n" + "\t-Problem.WallTemperature The temperature at the bottom wall. [K]\n" + "\t-ZeroEq.EddyViscosityModel The used zero eq. eddy viscosity model.\n" + "\t-ZeroEq.EddyDiffusivityModel The used zero eq. eddy diffusivity model.\n" + "\t-ZeroEq.EddyConductivityModel The used zero eq. eddy conductivity model.\n" + "\t-ZeroEq.BBoxMinSandGrainRoughness The sand grain roughness lenght at the bottom. [m]\n" + "\t-ZeroEq.BBoxMaxSandGrainRoughness The sand grain roughness lenght at the top. [m]\n"; + + std::cout << errorMessageOut + << "\n"; + } +} + +int main(int argc, char** argv) +{ + typedef TTAG(ZeroEq2cniTestProblem) ProblemTypeTag; + return Dumux::start<ProblemTypeTag>(argc, argv, usage); +} diff --git a/test/freeflow/zeroeq2cni/test_zeroeq2cni.input b/test/freeflow/zeroeq2cni/test_zeroeq2cni.input new file mode 100644 index 0000000000..f9ac53f211 --- /dev/null +++ b/test/freeflow/zeroeq2cni/test_zeroeq2cni.input @@ -0,0 +1,25 @@ +[TimeManager] +DtInitial = 1 # [s] +TEnd = 100 # [s] + +[Grid] +File = grids/testpipe.dgf + +[Problem] +OutputName = "zeroeq2cni" +InjectionVelocity = 0.5 # [m/s] +InjectionConcentration = .1 # [-] +WallTemperature = 297.0 # [K] + +[ZeroEq] +# Eddy Conductivity Models +# 0 = none +# 1 = Reynolds analogy +# 2 = modified Van Driest +# 3 = Deissler +# 4 = Meier and Rotta +EddyViscosityModel = 1 +EddyDiffusivityModel = 3 +EddyConductivityModel = 3 +BBoxMinSandGrainRoughness = 0.1 # [m] +BBoxMaxSandGrainRoughness = 0.1 # [m] diff --git a/test/freeflow/zeroeq2cni/zeroeq2cnitestproblem.hh b/test/freeflow/zeroeq2cni/zeroeq2cnitestproblem.hh new file mode 100644 index 0000000000..85c66e36e4 --- /dev/null +++ b/test/freeflow/zeroeq2cni/zeroeq2cnitestproblem.hh @@ -0,0 +1,271 @@ +// -*- 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 simple non-isothermal compositional ZeroEq2cni box problem + */ +#ifndef DUMUX_ZEROEQTWOCNITESTPROBLEM_HH +#define DUMUX_ZEROEQTWOCNITESTPROBLEM_HH + +#if HAVE_UG +#include <dune/grid/io/file/dgfparser/dgfug.hh> +#else +#include <dune/grid/io/file/dgfparser/dgfyasp.hh> +#endif + +#include <dumux/material/fluidsystems/h2oairfluidsystem.hh> +#include <dumux/material/fluidsystems/gasphase.hh> + +#include <dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh> +#include <dumux/freeflow/zeroeq/zeroeqproblem.hh> + +namespace Dumux +{ + +template <class TypeTag> +class ZeroEq2cniTestProblem; + +namespace Properties +{ +NEW_TYPE_TAG(ZeroEq2cniTestProblem, INHERITS_FROM(BoxZeroEqncni)); + +// Set the grid type +#if HAVE_UG +SET_TYPE_PROP(ZeroEq2cniTestProblem, Grid, Dune::UGGrid<2>); +#else +SET_TYPE_PROP(ZeroEq2cniTestProblem, Grid, Dune::YaspGrid<2>); +#endif + +//Set the problem property +SET_TYPE_PROP(ZeroEq2cniTestProblem, Problem, Dumux::ZeroEq2cniTestProblem<TypeTag>); + +// Select the fluid system +SET_PROP(ZeroEq2cniTestProblem, FluidSystem) +{ +private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef Dumux::FluidSystems::H2OAir<Scalar> type; +}; + +// Disable gravity +SET_BOOL_PROP(ZeroEq2cniTestProblem, ProblemEnableGravity, false); +} + +/*! + * \ingroup ZeroEq2cniModel + * \ingroup ImplicitTestProblems + * \brief Non-isothermal compositional ZeroEq2cni flow problem. + * + * \todo This is just some arbitrary test problem, for which the description + * has to be added + * + * This problem uses the \ref BoxZeroEq2cniModel. + * + * To run the simulation execute the following line in shell: + * <tt>./test_zeroeq2cni -ParameterFile ./test_zeroeq2cni.input</tt> + */ +template <class TypeTag> +class ZeroEq2cniTestProblem : public ZeroEqProblem<TypeTag> +{ + typedef ZeroEqProblem<TypeTag> ParentType; + typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; + typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager; + typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices; + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; + + // Number of equations and grid dimension + enum { dim = GridView::dimension }; + enum { // copy some indices for convenience + massBalanceIdx = Indices::massBalanceIdx, + momentumXIdx = Indices::momentumXIdx, // Index of the x-component of the momentum balance + momentumYIdx = Indices::momentumYIdx, // Index of the y-component of the momentum balance + momentumZIdx = Indices::momentumZIdx, // Index of the z-component of the momentum balance + transportEqIdx = Indices::transportEqIdx, // Index of the transport equation + energyEqIdx = Indices::energyEqIdx // Index of the energy equation + }; + enum { // indices for primary variables + velocityXIdx = Indices::velocityXIdx, + velocityYIdx = Indices::velocityYIdx, + pressureIdx = Indices::pressureIdx, + massOrMoleFracIdx = Indices::massOrMoleFracIdx, + temperatureIdx = Indices::temperatureIdx + }; + + typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables; + typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes; + typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + + typedef typename GridView::template Codim<0>::Entity Element; + typedef typename GridView::template Codim<dim>::Entity Vertex; + typedef typename GridView::ctype CoordScalar; + typedef typename GridView::Intersection Intersection; + typedef Dune::FieldVector<CoordScalar, dim> GlobalPosition; + +public: + ZeroEq2cniTestProblem(TimeManager &timeManager, const GridView &gridView) + : ParentType(timeManager, gridView) + , flowNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, FlowNormal)) + , wallNormal_(GET_PARAM_FROM_GROUP(TypeTag, int, ZeroEq, WallNormal)) + { + eps_ = 1e-6; + + injectionVelocity_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionVelocity); + injectionConcentration_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.InjectionConcentration); + wallTemperature_ = GET_RUNTIME_PARAM(TypeTag, Scalar, Problem.WallTemperature); + + // initialize the tables of the fluid system + FluidSystem::init(); + } + + /*! + * \brief The problem name. + * + * This is used as a prefix for files generated by the simulation. + */ + const std::string &name() const + { + return GET_RUNTIME_PARAM(TypeTag, std::string, Problem.OutputName); + } + + + // \} + + /*! + * \name Boundary conditions + */ + // \{ + + //! \copydoc ImplicitProblem::boundaryTypesAtPos() + void boundaryTypesAtPos(BoundaryTypes &values, + const GlobalPosition &globalPos) const + { + values.setAllDirichlet(); + + if (onRightBoundary_(globalPos) + && globalPos[1] < this->bBoxMax()[1]-eps_ && globalPos[1] > this->bBoxMin()[1]+eps_) + values.setAllOutflow(); + + // the mass balance has to be of type outflow + values.setOutflow(massBalanceIdx); + + // set pressure on left boundary (at least at one point) + if (onRightBoundary_(globalPos)) + values.setDirichlet(pressureIdx, massBalanceIdx); + } + + //! \copydoc ImplicitProblem::dirichletAtPos() + void dirichletAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + + /*! + * \brief Evaluate the boundary conditions for a neumann + * boundary segment. + * + * For this method, the \a values parameter stores the mass flux + * in normal direction of each phase. Negative values mean influx. + * + * A NEUMANN condition for the Stokes equation corresponds to: + * \f[ -\mu \nabla {\bf v} \cdot {\bf n} + p \cdot {\bf n} = q_N \f] + */ + void neumann(PrimaryVariables &values, + const Element &element, + const FVElementGeometry &fvElemGeom, + const Intersection &is, + int scvIdx, + int boundaryFaceIdx) const + { + values = 0.0; + } + // \} + + /*! + * \name Volume terms + */ + // \{ + + //! \copydoc ImplicitProblem::sourceAtPos() + void sourceAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + values = 0.0; + } + + //! \copydoc ImplicitProblem::initialAtPos() + void initialAtPos(PrimaryVariables &values, + const GlobalPosition &globalPos) const + { + initial_(values, globalPos); + } + // \} + +private: + // internal method for the initial condition (reused for the Dirichlet condition) + void initial_(PrimaryVariables &values, const GlobalPosition &globalPos) const + { + values = 0.0; + + if (!(onLowerBoundary_(globalPos) || onUpperBoundary_(globalPos))) + { + if (flowNormal_ == 0 ) + values[velocityXIdx] = injectionVelocity_; + else + values[velocityYIdx] = injectionVelocity_; + } + + // concentration + values[massOrMoleFracIdx] = injectionConcentration_; + + // temperature + if(onLowerBoundary_(globalPos)) + values[temperatureIdx] = wallTemperature_; + else + values[temperatureIdx] = wallTemperature_ + 10.0; + + values[pressureIdx] = 1e5; + } + + bool onLeftBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] < this->bBoxMin()[0] + eps_; } + + bool onRightBoundary_(const GlobalPosition &globalPos) const + { return globalPos[0] > this->bBoxMax()[0] - eps_; } + + bool onLowerBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] < this->bBoxMin()[1] + eps_; } + + bool onUpperBoundary_(const GlobalPosition &globalPos) const + { return globalPos[1] > this->bBoxMax()[1] - eps_; } + + const unsigned int flowNormal_; + const unsigned int wallNormal_; + Scalar eps_; + Scalar injectionVelocity_; + Scalar injectionConcentration_; + Scalar wallTemperature_; + +}; + +} //end namespace + +#endif // DUMUX_ZEROEQTWOCNITESTPROBLEM_HH diff --git a/test/references/zeroeq-reference.vtu b/test/references/zeroeq-reference.vtu new file mode 100644 index 0000000000..5b69122746 --- /dev/null +++ b/test/references/zeroeq-reference.vtu @@ -0,0 +1,1152 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> + <UnstructuredGrid> + <Piece NumberOfCells="800" NumberOfPoints="861"> + <PointData Scalars="P" Vectors="v"> + <DataArray type="Float32" Name="P" NumberOfComponents="1" format="ascii"> + 100009 99994.6 100009 99994.6 100009 100009 99994.8 99994.8 100008 100008 99995.3 99995.3 + 100007 100007 99995.8 99995.8 100006 100006 99996.4 99996.4 100005 100005 99996.9 99996.9 + 100004 100004 99997.4 99997.4 100003 100003 99998 99998 100002 100002 99998.5 99998.5 + 100001 100001 99999 99999 100000 100000 100009 99994.5 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.4 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.4 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100010 99994.3 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 100010 99994.4 100009 + 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 + 99998 100002 99998.5 100001 99999 100000 100009 99994.6 100009 99994.8 100008 99995.3 + 100007 99995.8 100006 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 + 100001 99999 100000 100013 99993.9 100009 99994.8 100008 99995.3 100007 99995.8 100006 + 99996.4 100005 99996.9 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + 100013 99993.9 100009 99994.8 100008 99995.3 100007 99995.8 100006 99996.4 100005 99996.9 + 100004 99997.4 100003 99998 100002 99998.5 100001 99999 100000 + </DataArray> + <DataArray type="Float32" Name="delP" NumberOfComponents="1" format="ascii"> + 8.79366 -5.42546 8.79412 -5.425 8.76578 8.76566 -5.19932 -5.19932 7.75585 7.75586 -4.69013 -4.69012 + 6.74012 6.74012 -4.15901 -4.15901 5.74924 5.74924 -3.62386 -3.62387 4.77931 4.77931 -3.0901 -3.09011 + 3.81499 3.81499 -2.55637 -2.55637 2.85328 2.85328 -2.02727 -2.02727 1.90328 1.90327 -1.4935 -1.4935 + 0.953005 0.953003 -0.969063 -0.969062 0 0 9.21033 -5.49628 8.77868 -5.20161 7.7562 -4.6902 + 6.74013 -4.15903 5.74923 -3.62387 4.77931 -3.09011 3.81498 -2.55638 2.85328 -2.02728 1.90326 -1.49353 + 0.953013 -0.969145 0 9.80258 -5.59942 8.79688 -5.20447 7.75709 -4.69015 6.74019 -4.15896 5.74924 + -3.62389 4.77929 -3.09015 3.81495 -2.55638 2.85325 -2.02732 1.90322 -1.49352 0.953008 -0.969114 0 + 10.0436 -5.64131 8.80515 -5.20617 7.75724 -4.6902 6.74018 -4.15887 5.74924 -3.6237 4.77928 -3.08997 + 3.81497 -2.55639 2.85329 -2.02726 1.90325 -1.49356 0.952995 -0.969039 0 10.184 -5.667 8.81023 + -5.20688 7.75777 -4.69014 6.74022 -4.1588 5.74922 -3.62376 4.77929 -3.09001 3.81495 -2.55638 2.85328 + -2.02726 1.90325 -1.49354 0.953012 -0.969057 0 10.256 -5.68004 8.81357 -5.20784 7.75772 -4.69017 + 6.74023 -4.15875 5.74926 -3.62355 4.77927 -3.08985 3.81496 -2.55639 2.8533 -2.0272 1.90327 -1.49357 + 0.953 -0.968997 0 10.2924 -5.68774 8.81556 -5.20805 7.7582 -4.69015 6.74026 -4.15869 5.7492 + -3.62366 4.7793 -3.08989 3.81495 -2.55638 2.8533 -2.0272 1.90327 -1.49355 0.953013 -0.969003 0 + 10.3104 -5.69148 8.81726 -5.20879 7.75805 -4.69017 6.7403 -4.15867 5.74929 -3.62343 4.77925 -3.08975 + 3.81496 -2.55639 2.85331 -2.02715 1.90329 -1.49358 0.953004 -0.968959 0 10.3179 -5.69405 8.81828 + -5.20885 7.75854 -4.69019 6.74031 -4.15861 5.74919 -3.62358 4.77932 -3.08979 3.81495 -2.55639 2.85331 + -2.02714 1.90329 -1.49356 0.953012 -0.968954 0 10.3209 -5.69514 8.81944 -5.20953 7.75832 -4.69019 + 6.74037 -4.15861 5.74932 -3.62334 4.77925 -3.08967 3.81496 -2.55639 2.85332 -2.02711 1.9033 -1.49359 + 0.953005 -0.968926 0 10.3211 -5.69625 8.82009 -5.20952 7.75882 -4.69023 6.74037 -4.15856 5.74919 + -3.62352 4.77934 -3.08971 3.81495 -2.55639 2.85333 -2.02709 1.9033 -1.49357 0.95301 -0.968908 0 + 10.3206 -5.69665 8.82105 -5.21018 7.75855 -4.69021 6.74045 -4.15858 5.74935 -3.62327 4.77926 -3.08962 + 3.81496 -2.5564 2.85333 -2.02707 1.90331 -1.4936 0.953005 -0.968895 0 10.3195 -5.69734 8.82152 + -5.21012 7.75904 -4.69028 6.74044 -4.15851 5.74919 -3.62348 4.77938 -3.08965 3.81496 -2.5564 2.85334 + -2.02705 1.90331 -1.49358 0.953006 -0.968863 0 10.3186 -5.69757 8.82237 -5.21076 7.75873 -4.69025 + 6.74053 -4.15855 5.74939 -3.6232 4.77927 -3.08957 3.81496 -2.55641 2.85334 -2.02703 1.90331 -1.49361 + 0.953003 -0.968864 0 10.3176 -5.69809 8.8227 -5.21067 7.75922 -4.69033 6.7405 -4.15848 5.7492 + -3.62345 4.77941 -3.0896 3.81497 -2.55641 2.85336 -2.02701 1.90332 -1.49359 0.952999 -0.968818 0 + 10.3169 -5.69824 8.82345 -5.21127 7.75887 -4.69029 6.7406 -4.15853 5.74943 -3.62315 4.77929 -3.08953 + 3.81496 -2.55642 2.85334 -2.02701 1.90332 -1.49362 0.952998 -0.968831 0 10.3161 -5.69862 8.82364 + -5.21114 7.75934 -4.69039 6.74056 -4.15846 5.74921 -3.62342 4.77945 -3.08956 3.81498 -2.55642 2.85337 + -2.02698 1.90333 -1.49361 0.952991 -0.968774 0 10.3156 -5.69869 8.82431 -5.21172 7.75897 -4.69033 + 6.74064 -4.15852 5.74945 -3.62311 4.77931 -3.08951 3.81497 -2.55642 2.85335 -2.02699 1.90333 -1.49364 + 0.952993 -0.968801 0 10.3151 -5.69895 8.82436 -5.21155 7.75943 -4.69043 6.74059 -4.15845 5.74921 + -3.62339 4.77949 -3.08953 3.81499 -2.55642 2.85337 -2.02696 1.90333 -1.49362 0.952984 -0.968735 0 + 10.3148 -5.69893 8.82493 -5.21209 7.75903 -4.69037 6.74067 -4.15851 5.74946 -3.62308 4.77933 -3.0895 + 3.81498 -2.55642 2.85335 -2.02698 1.90333 -1.49364 0.952991 -0.968781 0 10.3145 -5.69906 8.82486 + -5.21189 7.75948 -4.69048 6.74061 -4.15847 5.7492 -3.62343 4.77952 -3.08956 3.81499 -2.55643 2.85337 + -2.02695 1.90334 -1.49362 0.952984 -0.968714 0 10.3145 -5.69897 8.82534 -5.21241 7.75905 -4.6904 + 6.74067 -4.15852 5.74944 -3.62308 4.77933 -3.08953 3.81498 -2.55643 2.85333 -2.02699 1.90333 -1.49365 + 0.952996 -0.968784 0 10.3145 -5.69896 8.82513 -5.21216 7.75948 -4.69051 6.74059 -4.15847 5.74915 + -3.62345 4.77953 -3.08959 3.81499 -2.55644 2.85336 -2.02696 1.90334 -1.49362 0.952973 -0.968671 0 + 10.3146 -5.6988 8.82552 -5.21265 7.75903 -4.69043 6.74064 -4.15853 5.7494 -3.62309 4.77932 -3.08959 + 3.81498 -2.55644 2.85331 -2.02701 1.90333 -1.49364 0.952994 -0.968771 0 10.3149 -5.69866 8.82518 + -5.21236 7.75945 -4.69055 6.74055 -4.15848 5.74908 -3.62348 4.77954 -3.08964 3.815 -2.55644 2.85334 + -2.02697 1.90334 -1.49361 0.952951 -0.968599 0 10.3152 -5.69842 8.82547 -5.21283 7.75897 -4.69045 + 6.7406 -4.15854 5.74935 -3.6231 4.77931 -3.08965 3.81499 -2.55644 2.85328 -2.02703 1.90334 -1.49364 + 0.952981 -0.968731 0 10.3158 -5.69814 8.825 -5.2125 7.75937 -4.69058 6.74049 -4.15848 5.74901 + -3.62353 4.77956 -3.0897 3.81501 -2.55644 2.85332 -2.02699 1.90335 -1.4936 0.952916 -0.9685 0 + 10.3162 -5.69781 8.8252 -5.21294 7.75886 -4.69047 6.74054 -4.15856 5.74932 -3.62311 4.77931 -3.08973 + 3.815 -2.55644 2.85325 -2.02706 1.90334 -1.49363 0.952957 -0.968667 0 10.3168 -5.69735 8.82458 + -5.21258 7.75925 -4.69062 6.74042 -4.1585 5.74895 -3.62358 4.77959 -3.08977 3.81502 -2.55644 2.85329 + -2.02701 1.90335 -1.49359 0.952873 -0.968385 0 10.3168 -5.69683 8.82467 -5.213 7.75869 -4.69049 + 6.74049 -4.15859 5.74929 -3.62314 4.77932 -3.08982 3.81502 -2.55644 2.85322 -2.0271 1.90334 -1.49362 + 0.952927 -0.968598 0 10.3159 -5.69594 8.82387 -5.21259 7.75907 -4.69067 6.74035 -4.15853 5.74889 + -3.62366 4.77963 -3.08986 3.81504 -2.55644 2.85327 -2.02704 1.90336 -1.49358 0.952827 -0.968274 0 + 10.3122 -5.6947 8.82375 -5.21298 7.75846 -4.69053 6.74044 -4.15864 5.74927 -3.6232 4.77933 -3.08994 + 3.81504 -2.55644 2.85318 -2.02715 1.90335 -1.49362 0.952897 -0.968538 0 10.3038 -5.69231 8.82257 + -5.2125 7.75885 -4.69074 6.74028 -4.15858 5.74884 -3.62376 4.77967 -3.08998 3.81507 -2.55645 2.85324 + -2.02709 1.90336 -1.49358 0.952781 -0.968172 0 10.2832 -5.68808 8.82185 -5.21283 7.75817 -4.69059 + 6.74039 -4.15873 5.74927 -3.62328 4.77936 -3.09008 3.81506 -2.55644 2.85314 -2.02721 1.90335 -1.49361 + 0.952864 -0.968484 0 10.2453 -5.68044 8.81966 -5.21217 7.75856 -4.69084 6.74022 -4.15868 5.7488 + -3.6239 4.77973 -3.09012 3.81509 -2.55645 2.85321 -2.02713 1.90336 -1.49357 0.95273 -0.968068 0 + 10.1342 -5.66062 8.81615 -5.21208 7.75774 -4.69068 6.74036 -4.15885 5.74928 -3.6234 4.77939 -3.09025 + 3.81509 -2.55645 2.8531 -2.02727 1.90335 -1.4936 0.952823 -0.968421 0 10.0804 -5.65004 8.81333 + -5.21133 7.75814 -4.69099 6.74018 -4.15881 5.74877 -3.62402 4.77976 -3.09029 3.81512 -2.55645 2.85316 + -2.02719 1.90336 -1.49355 0.952663 -0.967938 0 8.86831 -5.44141 8.77725 -5.20578 7.75644 -4.69077 + 6.74028 -4.15887 5.74904 -3.62373 4.77961 -3.09029 3.81512 -2.55645 2.85314 -2.02722 1.90337 -1.49357 + 0.95275 -0.968197 0 12.7674 -6.10859 8.89087 -5.22508 7.75995 -4.69137 6.74032 -4.15887 5.74895 + -3.6238 4.77968 -3.09029 3.81512 -2.55645 2.85315 -2.02719 1.90338 -1.49354 0.9527 -0.968008 0 + 12.767 -6.109 8.89083 -5.22515 7.75993 -4.69137 6.74032 -4.15887 5.74897 -3.62378 4.77967 -3.09028 + 3.81512 -2.55645 2.85315 -2.02719 1.90338 -1.49354 0.952702 -0.968012 0 + </DataArray> + <DataArray type="Float32" Name="rho" NumberOfComponents="1" format="ascii"> + 1.23023 1.23005 1.23023 1.23005 1.23023 1.23023 1.23006 1.23006 1.23021 1.23021 1.23006 1.23006 + 1.2302 1.2302 1.23007 1.23007 1.23019 1.23019 1.23008 1.23008 1.23018 1.23018 1.23008 1.23008 + 1.23017 1.23017 1.23009 1.23009 1.23015 1.23015 1.23009 1.23009 1.23014 1.23014 1.2301 1.2301 + 1.23013 1.23013 1.23011 1.23011 1.23012 1.23012 1.23023 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23024 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23024 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23024 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23025 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23024 1.23005 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23024 1.23005 1.23023 + 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 + 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 1.23023 1.23005 1.23023 1.23006 1.23021 1.23006 + 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 + 1.23013 1.23011 1.23012 1.23028 1.23004 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 + 1.23008 1.23018 1.23008 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + 1.23028 1.23004 1.23023 1.23006 1.23021 1.23006 1.2302 1.23007 1.23019 1.23008 1.23018 1.23008 + 1.23017 1.23009 1.23015 1.23009 1.23014 1.2301 1.23013 1.23011 1.23012 + </DataArray> + <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii"> + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + </DataArray> + <DataArray type="Float32" Name="v" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 2.5 0 0 1.71681 0.00740167 0 + 0 0 0 1.52883 -0.00176772 0 0 -6.34956e-37 0 1.68763 3.63718e-05 0 + 0 0 0 1.53458 0.000167235 0 0 0 0 1.67439 0.00016323 0 + 0 -3.11697e-37 0 1.51358 7.8725e-05 0 0 0 0 1.66439 4.52105e-05 0 + 0 6.95309e-38 0 1.51351 1.03204e-05 0 0 0 0 1.66924 -4.56647e-05 0 + 0 0 0 1.52215 -3.71703e-05 0 0 -2.29221e-37 0 1.67755 -7.72989e-05 0 + 0 0 0 1.53354 -4.88357e-05 0 0 -2.11681e-37 0 1.68608 -1.96307e-05 0 + 0 0 0 1.53892 -3.20131e-05 0 0 0 0 1.6927 -9.41847e-05 0 + 0 0 0 1.55487 -8.91494e-05 0 0 0 0 1.70884 -2.76103e-05 0 + 0 2.76241e-37 0 1.56486 -7.12366e-05 0 0 0 0 1.71465 0.000255542 0 + 0 0 0 1.5594 -0.00121806 0 2.5 0 0 2.21514 0.0134203 0 + 1.92872 -0.00148212 0 1.98899 0.000384692 0 1.8214 0.00011315 0 1.95678 0.000277231 0 + 1.79878 9.36305e-05 0 1.9463 -9.9563e-07 0 1.79965 -6.25359e-05 0 1.95336 -9.80373e-05 0 + 1.8099 -8.90004e-05 0 1.9636 -0.000133581 0 1.82353 -9.93126e-05 0 1.97378 -4.75767e-05 0 + 1.8288 -6.08508e-05 0 1.98184 -0.000192748 0 1.84845 -0.000192306 0 2.00078 -9.37471e-05 0 + 1.85847 -9.91933e-05 0 2.00557 0.000192051 0 1.85928 -0.000653059 0 2.5 0 0 + 2.45649 0.0168078 0 2.21286 -0.000287813 0 2.24492 0.00141611 0 2.03891 0.000487704 0 + 2.14953 0.000538867 0 1.97834 0.000233718 0 2.11099 7.28587e-05 0 1.95542 -5.11446e-05 0 + 2.09721 -0.000153675 0 1.95502 -0.000154041 0 2.10492 -0.000254916 0 1.97074 -0.000181514 0 + 2.1158 -6.48125e-05 0 1.97513 -0.000116227 0 2.12505 -0.000357289 0 1.99767 -0.000338263 0 + 2.14548 -0.000138633 0 2.0063 -0.000115683 0 2.1489 0.000155079 0 2.01148 -0.000620159 0 + 2.5 0 0 2.58474 0.0179994 0 2.39282 0.000762788 0 2.43637 0.00256442 0 + 2.22708 0.00110632 0 2.31747 0.00101465 0 2.14275 0.000533863 0 2.25965 0.000271615 0 + 2.1018 9.85188e-05 0 2.23093 -8.87637e-05 0 2.08594 -0.000169253 0 2.22519 -0.000320981 0 + 2.08867 -0.000229676 0 2.22818 -7.47021e-05 0 2.09019 -0.000151331 0 2.23201 -0.000476004 0 + 2.10282 -0.000450603 0 2.24525 -0.000187585 0 2.11095 -0.000127397 0 2.249 8.67049e-05 0 + 2.11504 -0.000428876 0 2.5 0 0 2.65551 0.0184262 0 2.50414 0.00151282 0 + 2.57122 0.00356527 0 2.37764 0.00184424 0 2.45888 0.00156273 0 2.28703 0.000902686 0 + 2.39181 0.000571574 0 2.23535 0.000289052 0 2.35313 3.86008e-05 0 2.20847 -9.6437e-05 0 + 2.33712 -0.000301335 0 2.20082 -0.000228999 0 2.33311 -6.94278e-05 0 2.19879 -0.000155788 0 + 2.33266 -0.000530282 0 2.20391 -0.000516717 0 2.33973 -0.0002322 0 2.21016 -0.000147229 0 + 2.34303 6.68217e-05 0 2.21428 -0.000467961 0 2.5 0 0 2.69433 0.0178379 0 + 2.57458 0.00190838 0 2.66349 0.00423463 0 2.4918 0.00244774 0 2.57349 0.00213259 0 + 2.40918 0.00131667 0 2.50677 0.000908892 0 2.35414 0.000555172 0 2.46328 0.000245253 0 + 2.32084 1.03802e-05 0 2.44041 -0.000231386 0 2.30568 -0.00019174 0 2.43081 -4.45145e-05 0 + 2.30023 -0.000143228 0 2.42697 -0.000545701 0 2.29977 -0.000547644 0 2.42898 -0.000264886 0 + 2.30356 -0.000161501 0 2.43142 3.65445e-05 0 2.30734 -0.000487233 0 2.5 0 0 + 2.71527 0.0171761 0 2.61857 0.00205629 0 2.72579 0.00467426 0 2.57533 0.00294634 0 + 2.66327 0.00260043 0 2.50942 0.00168888 0 2.60444 0.00125621 0 2.45747 0.000803447 0 + 2.56096 0.000455965 0 2.42204 0.000165469 0 2.53464 -0.000112991 0 2.40231 -0.00012271 0 + 2.52118 -1.50648e-06 0 2.39414 -0.000110728 0 2.51476 -0.00052441 0 2.38967 -0.000547717 0 + 2.51283 -0.000282586 0 2.39095 -0.000171669 0 2.51415 1.46591e-05 0 2.39415 -0.000492253 0 + 2.5 0 0 2.72585 0.0159312 0 2.64291 0.00196347 0 2.76696 0.00482867 0 + 2.63483 0.00322686 0 2.73168 0.00297364 0 2.58953 0.00201655 0 2.68555 0.00156047 0 + 2.54552 0.00107116 0 2.64615 0.000691865 0 2.51168 0.000314444 0 2.61949 1.76955e-05 0 + 2.49019 -3.76846e-05 0 2.604 5.52461e-05 0 2.4803 -7.02651e-05 0 2.59587 -0.00048644 0 + 2.47316 -0.000527714 0 2.59105 -0.000285154 0 2.47221 -0.000173451 0 2.59116 -1.22556e-05 0 + 2.4747 -0.000487839 0 2.5 0 0 2.73059 0.0149175 0 2.65393 0.00174119 0 + 2.79257 0.00480663 0 2.67618 0.00339935 0 2.78268 0.0031878 0 2.65218 0.00224274 0 + 2.75156 0.00181318 0 2.6192 0.00127282 0 2.71924 0.000885252 0 2.58989 0.000474733 0 + 2.69483 0.000160692 0 2.56911 5.70497e-05 0 2.67911 0.000119106 0 2.55865 -1.90853e-05 0 + 2.67016 -0.000429832 0 2.54995 -0.000490794 0 2.66342 -0.000274818 0 2.54721 -0.000169799 0 + 2.66238 -2.78561e-05 0 2.549 -0.000476126 0 2.5 0 0 2.73241 0.0135203 0 + 2.65807 0.00139468 0 2.8068 0.00455915 0 2.70391 0.00337448 0 2.81984 0.0032944 0 + 2.70025 0.00239344 0 2.80436 0.00198261 0 2.67984 0.00145767 0 2.78101 0.00106648 0 + 2.6572 0.000597841 0 2.76086 0.000284561 0 2.6391 0.000146124 0 2.74648 0.000183315 0 + 2.62922 3.00285e-05 0 2.7376 -0.000371436 0 2.61994 -0.000446195 0 2.72977 -0.000254197 0 + 2.61589 -0.000158077 0 2.72775 -4.74144e-05 0 2.61705 -0.000460176 0 2.5 0 0 + 2.73292 0.0124549 0 2.65927 0.00102483 0 2.81345 0.00422121 0 2.72151 0.00326629 0 + 2.84614 0.00325333 0 2.73648 0.00243259 0 2.84594 0.00207979 0 2.72907 0.00155296 0 + 2.83251 0.00117812 0 2.7144 0.000707982 0 2.81803 0.000395608 0 2.70045 0.000225576 0 + 2.80627 0.000240775 0 2.69216 7.99755e-05 0 2.79823 -0.000306902 0 2.6831 -0.00039526 0 + 2.78999 -0.000226616 0 2.67823 -0.000142598 0 2.78724 -5.59527e-05 0 2.67889 -0.000440876 0 + 2.5 0 0 2.73291 0.0110452 0 2.65948 0.00061017 0 2.81604 0.00375433 0 + 2.73175 0.00299607 0 2.8639 0.00312597 0 2.76318 0.00239859 0 2.87814 0.00208749 0 + 2.76849 0.00161917 0 2.87492 0.00126063 0 2.76244 0.000763671 0 2.86696 0.000468718 0 + 2.75362 0.000283797 0 2.85872 0.000286082 0 2.74774 0.000118779 0 2.85219 -0.000250683 0 + 2.73949 -0.000345247 0 2.84407 -0.00019477 0 2.73424 -0.000121701 0 2.84085 -6.96004e-05 0 + 2.73455 -0.000420343 0 2.5 0 0 2.73272 0.00997927 0 2.65929 0.00021608 0 + 2.81674 0.00328358 0 2.73705 0.00269525 0 2.87513 0.00287672 0 2.78219 0.00226187 0 + 2.90256 0.00202582 0 2.79962 0.00159158 0 2.90943 0.00126496 0 2.80235 0.000795864 0 + 2.90837 0.000516438 0 2.79918 0.000321106 0 2.90423 0.000314524 0 2.79628 0.000150796 0 + 2.89966 -0.000195924 0 2.78925 -0.000295373 0 2.89202 -0.00016143 0 2.78397 -0.000100294 0 + 2.88862 -7.38618e-05 0 2.7841 -0.000398414 0 2.5 0 0 2.73249 0.00857297 0 + 2.65907 -0.000204407 0 2.81686 0.0027463 0 2.73938 0.0022917 0 2.88161 0.00257372 0 + 2.79505 0.00206627 0 2.92049 0.00188189 0 2.82375 0.0015356 0 2.93712 0.0012379 0 + 2.83512 0.000768516 0 2.943 0.00051941 0 2.83775 0.00033026 0 2.94319 0.000323562 0 + 2.83814 0.00016601 0 2.94087 -0.000154472 0 2.83252 -0.000250637 0 2.93389 -0.000128449 0 + 2.8275 -7.70227e-05 0 2.93058 -8.50052e-05 0 2.82757 -0.000376108 0 2.5 0 0 + 2.73227 0.00751099 0 2.65879 -0.00060035 0 2.81672 0.00224408 0 2.74019 0.00191145 0 + 2.88498 0.00218819 0 2.8031 0.00178854 0 2.93304 0.00167854 0 2.84197 0.00138912 0 + 2.95893 0.00113427 0 2.86165 0.000716793 0 2.97158 0.000495155 0 2.8699 0.000315629 0 + 2.97603 0.0003114 0 2.87369 0.000171017 0 2.97603 -0.00011667 0 2.86945 -0.000208024 0 + 2.96972 -9.76364e-05 0 2.86487 -5.68868e-05 0 2.96676 -8.84395e-05 0 2.865 -0.000351971 0 + 2.5 0 0 2.73205 0.00610904 0 2.65859 -0.00102148 0 2.81663 0.00169454 0 + 2.74035 0.00146593 0 2.88649 0.00179098 0 2.80766 0.00147929 0 2.94127 0.00140603 0 + 2.85516 0.00122001 0 2.97564 0.00100329 0 2.88268 0.000607416 0 2.99467 0.000428402 0 + 2.89612 0.000273585 0 3.0031 0.000278278 0 2.90319 0.000158168 0 3.00529 -9.1592e-05 0 + 2.9001 -0.000170472 0 2.99952 -6.99354e-05 0 2.89611 -3.84308e-05 0 2.99715 -0.000100188 0 + 2.89636 -0.000325714 0 2.5 0 0 2.73188 0.00505082 0 2.65838 -0.00141914 0 + 2.81646 0.00118862 0 2.74028 0.00106738 0 2.88706 0.0013483 0 2.80994 0.00111855 0 + 2.94623 0.00109251 0 2.86418 0.000969501 0 2.98788 0.000801558 0 2.89879 0.000478065 0 + 3.01269 0.000340116 0 2.91674 0.000211497 0 3.02457 0.00022503 0 2.92677 0.000136463 0 + 3.02864 -6.70538e-05 0 2.92445 -0.000133345 0 3.02322 -4.63491e-05 0 2.92112 -2.63139e-05 0 + 3.02161 -0.000105386 0 2.92154 -0.000294721 0 2.5 0 0 2.73172 0.00365232 0 + 2.65825 -0.00184113 0 2.81641 0.000637919 0 2.74018 0.00061413 0 2.8872 0.000921199 0 + 2.8109 0.000755653 0 2.9489 0.000733196 0 2.86982 0.000710688 0 2.9962 0.000581615 0 + 2.91032 0.000298308 0 3.02579 0.000218218 0 2.93183 0.000128328 0 3.04044 0.0001543 0 + 2.94432 0.000100693 0 3.04588 -5.01116e-05 0 2.9423 -9.87846e-05 0 3.04062 -2.71376e-05 0 + 2.93965 -1.82977e-05 0 3.03985 -0.000120003 0 2.94032 -0.000258184 0 2.5 0 0 + 2.73161 0.0025968 0 2.65811 -0.0022406 0 2.81629 0.000131825 0 2.74007 0.000213793 0 + 2.8872 0.000465114 0 2.81121 0.000364436 0 2.95011 0.000359194 0 2.87283 0.000390623 0 + 3.00096 0.000305463 0 2.91736 0.000110853 0 3.03377 8.72952e-05 0 2.94112 3.34411e-05 0 + 3.05034 6.92605e-05 0 2.95537 6.24848e-05 0 3.05643 -2.75322e-05 0 2.9532 -6.27905e-05 0 + 3.0513 -1.25735e-05 0 2.95119 -1.74208e-05 0 3.05128 -0.000129843 0 2.95235 -0.000214577 0 + 2.5 0 0 2.7315 0.00120051 0 2.65804 -0.00266329 0 2.8163 -0.00041903 0 + 2.74001 -0.000240388 0 2.88714 3.29461e-05 0 2.81123 -1.23711e-05 0 2.95031 -3.5359e-05 0 + 2.87369 8.89664e-05 0 3.00204 3.44642e-05 0 2.91957 -0.000107466 0 3.03573 -6.04944e-05 0 + 2.9439 -7.32162e-05 0 3.05341 -2.48924e-05 0 2.95897 1.97534e-05 0 3.0592 -7.17528e-06 0 + 2.95649 -3.05278e-05 0 3.05461 -1.61048e-06 0 2.95489 -1.80308e-05 0 3.05488 -0.000153846 0 + 2.95735 -0.000168239 0 2.5 0 0 2.73145 0.000146543 0 2.65798 -0.00306442 0 + 2.81623 -0.000925166 0 2.73996 -0.000639919 0 2.8871 -0.000424641 0 2.81109 -0.000405955 0 + 2.94967 -0.000420759 0 2.87237 -0.00024064 0 2.99952 -0.000259105 0 2.9162 -0.000305342 0 + 3.03161 -0.000196777 0 2.93943 -0.00018202 0 3.0488 -0.000121108 0 2.95398 -1.38784e-05 0 + 3.05406 2.00021e-05 0 2.95153 -1.9609e-06 0 3.04991 6.21436e-06 0 2.94989 -6.82609e-06 0 + 3.04953 -0.000241831 0 2.95536 0.00019438 0 2.5 0 0 2.73139 -0.00124876 0 + 2.65798 -0.00348759 0 2.81629 -0.00147615 0 2.73996 -0.00109398 0 2.887 -0.000856229 0 + 2.81069 -0.000775288 0 2.94806 -0.000801325 0 2.86891 -0.000519058 0 2.9939 -0.0005053 0 + 2.90822 -0.00050487 0 3.02245 -0.000330553 0 2.9288 -0.000284187 0 3.03764 -0.000209103 0 + 2.94166 -4.87064e-05 0 3.04209 4.04032e-05 0 2.93919 2.39066e-05 0 3.03802 1.46747e-05 0 + 2.93716 1.6008e-05 0 3.0371 -0.000352845 0 2.94238 0.000503339 0 2.5 0 0 + 2.7314 -0.00230236 0 2.65799 -0.00389017 0 2.81629 -0.00198238 0 2.73997 -0.00149183 0 + 2.8868 -0.00130995 0 2.80968 -0.00115009 0 2.94494 -0.00114757 0 2.86287 -0.000799467 0 + 2.98497 -0.000741239 0 2.89596 -0.000660606 0 3.0086 -0.000434806 0 2.91267 -0.000369867 0 + 3.02072 -0.000283795 0 2.92301 -7.21412e-05 0 3.02388 6.71357e-05 0 2.92018 5.04898e-05 0 + 3.01958 2.7268e-05 0 2.91762 3.64427e-05 0 3.01794 -0.000444541 0 2.92246 0.000864635 0 + 2.5 0 0 2.73139 -0.00369793 0 2.65806 -0.00431359 0 2.81639 -0.00253346 0 + 2.73996 -0.00194358 0 2.88621 -0.00173012 0 2.80746 -0.00148332 0 2.93957 -0.00146276 0 + 2.8535 -0.00100695 0 2.97231 -0.000908108 0 2.8793 -0.000801002 0 2.99003 -0.000521469 0 + 2.89121 -0.000435339 0 2.99835 -0.000339583 0 2.89848 -9.16687e-05 0 2.99976 9.06403e-05 0 + 2.89489 7.83568e-05 0 2.995 4.24029e-05 0 2.89177 6.82597e-05 0 2.99271 -0.000547947 0 + 2.8957 0.00116144 0 2.5 0 0 2.73146 -0.00475235 0 2.65814 -0.00471734 0 + 2.81643 -0.00303937 0 2.73982 -0.00233405 0 2.88482 -0.00215683 0 2.80306 -0.00179838 0 + 2.93105 -0.00171643 0 2.84003 -0.00119886 0 2.95532 -0.0010514 0 2.85779 -0.000885288 0 + 2.96646 -0.000566952 0 2.86426 -0.000475149 0 2.97051 -0.000375454 0 2.86817 -9.43649e-05 0 + 2.96984 0.000125508 0 2.86347 0.000109748 0 2.96448 6.20016e-05 0 2.85983 9.6503e-05 0 + 2.9617 -0.00062948 0 2.86232 0.0015434 0 2.5 0 0 2.73151 -0.00614934 0 + 2.65826 -0.00514076 0 2.81651 -0.00358869 0 2.73923 -0.00276966 0 2.88176 -0.00252273 0 + 2.79529 -0.0020425 0 2.91839 -0.00191491 0 2.82159 -0.00130376 0 2.93328 -0.00111692 0 + 2.83081 -0.000945768 0 2.93737 -0.000586442 0 2.83142 -0.000489118 0 2.93697 -0.000389204 0 + 2.83192 -8.9143e-05 0 2.93408 0.000161653 0 2.82592 0.000144094 0 2.92809 8.35078e-05 0 + 2.82191 0.000132953 0 2.92505 -0.000719553 0 2.82263 0.00189572 0 2.5 0 0 + 2.73162 -0.0072056 0 2.65838 -0.00554511 0 2.81633 -0.00408752 0 2.73748 -0.00312345 0 + 2.87583 -0.00285591 0 2.78277 -0.00223776 0 2.90047 -0.00203283 0 2.79724 -0.00138219 0 + 2.90529 -0.0011531 0 2.79754 -0.000944507 0 2.90214 -0.000559442 0 2.79219 -0.000475272 0 + 2.89738 -0.000382824 0 2.78946 -6.52899e-05 0 2.89234 0.000211895 0 2.78217 0.000182275 0 + 2.88583 0.000107956 0 2.77799 0.000161074 0 2.88282 -0.000780001 0 2.7765 0.00232764 0 + 2.5 0 0 2.73168 -0.00860475 0 2.65844 -0.00596654 0 2.81558 -0.00461555 0 + 2.73321 -0.00348857 0 2.8653 -0.00308063 0 2.76402 -0.00233383 0 2.87602 -0.00208235 0 + 2.76581 -0.00136522 0 2.87035 -0.00110738 0 2.75707 -0.000917199 0 2.86006 -0.000504847 0 + 2.74597 -0.000436909 0 2.85132 -0.000356962 0 2.74043 -3.429e-05 0 2.84443 0.000263613 0 + 2.73207 0.00022207 0 2.83764 0.000131939 0 2.728 0.000192581 0 2.83493 -0.00084564 0 + 2.72441 0.00274876 0 2.5 0 0 2.73171 -0.00966269 0 2.6582 -0.00636364 0 + 2.81304 -0.00506074 0 2.72427 -0.00372012 0 2.84819 -0.00322533 0 2.73738 -0.00235875 0 + 2.84354 -0.00204178 0 2.72595 -0.00131686 0 2.82732 -0.00103088 0 2.70834 -0.000829661 0 + 2.81038 -0.000406695 0 2.69219 -0.000375896 0 2.7984 -0.000316409 0 2.68447 1.19337e-05 0 + 2.79016 0.000326742 0 2.67551 0.000262569 0 2.78349 0.000155559 0 2.67189 0.000211196 0 + 2.78131 -0.00087695 0 2.66666 0.00321859 0 2.5 0 0 2.73144 -0.0110612 0 + 2.65706 -0.00675813 0 2.80672 -0.00547598 0 2.70782 -0.00390155 0 2.82223 -0.00322221 0 + 2.70084 -0.00226809 0 2.80126 -0.00192696 0 2.67609 -0.00117304 0 2.775 -0.000874863 0 + 2.65033 -0.000722806 0 2.75244 -0.00028965 0 2.63032 -0.000299479 0 2.73828 -0.000264437 0 + 2.62127 5.93714e-05 0 2.72938 0.000385579 0 2.61239 0.000299766 0 2.72338 0.000174301 0 + 2.6096 0.000231583 0 2.72186 -0.000921406 0 2.60384 0.00367727 0 2.5 0 0 + 2.73048 -0.0121087 0 2.65342 -0.00708542 0 2.79342 -0.00571861 0 2.68071 -0.00388742 0 + 2.78488 -0.00311152 0 2.65192 -0.00209553 0 2.74726 -0.00172196 0 2.61466 -0.00100531 0 + 2.71226 -0.000696701 0 2.58208 -0.000568463 0 2.68569 -0.000144464 0 2.55997 -0.000213612 0 + 2.67073 -0.000207968 0 2.55058 0.000113886 0 2.66201 0.000446915 0 2.54269 0.000331136 0 + 2.65735 0.000187399 0 2.54112 0.000240101 0 2.65652 -0.000945193 0 2.53609 0.00416248 0 + 2.5 0 0 2.72771 -0.0134651 0 2.64385 -0.00733075 0 2.76953 -0.00582171 0 + 2.63939 -0.00377148 0 2.73296 -0.00283401 0 2.58773 -0.00180431 0 2.67958 -0.0014547 0 + 2.54016 -0.000759033 0 2.63809 -0.000454934 0 2.5028 -0.000415112 0 2.60979 -3.43173e-06 0 + 2.48096 -0.000129009 0 2.59563 -0.000151545 0 2.47224 0.000159582 0 2.58809 0.00049188 0 + 2.46648 0.000351351 0 2.58549 0.000190128 0 2.46644 0.000254217 0 2.58533 -0.00100377 0 + 2.46323 0.00464145 0 2.5 0 0 2.72125 -0.0143875 0 2.62281 -0.00739584 0 + 2.73062 -0.00564514 0 2.57949 -0.00341435 0 2.66254 -0.0024378 0 2.50512 -0.00144468 0 + 2.59656 -0.00112825 0 2.4515 -0.000516462 0 2.55168 -0.00021493 0 2.41197 -0.000242972 0 + 2.52473 0.000134884 0 2.39331 -5.39206e-05 0 2.51303 -0.000102076 0 2.38618 0.000200693 0 + 2.50776 0.000524134 0 2.38391 0.00035711 0 2.50796 0.000182715 0 2.38561 0.000260525 0 + 2.50832 -0.0010576 0 2.38483 0.00513542 0 2.5 0 0 2.70782 -0.0154521 0 + 2.5839 -0.00723426 0 2.67055 -0.00524084 0 2.49465 -0.0029137 0 2.56904 -0.00188221 0 + 2.40132 -0.00101001 0 2.49714 -0.000796734 0 2.34815 -0.000231181 0 2.45247 5.86503e-05 0 + 2.30946 -0.000111397 0 2.43091 0.000230835 0 2.29734 1.3158e-06 0 2.42304 -6.20264e-05 0 + 2.29244 0.000219471 0 2.42132 0.000521188 0 2.29527 0.000343386 0 2.42493 0.000162655 0 + 2.29868 0.000276195 0 2.42558 -0.00115326 0 2.30043 0.00560149 0 2.5 0 0 + 2.68188 -0.015815 0 2.51906 -0.0067145 0 2.57949 -0.00447234 0 2.37637 -0.00215286 0 + 2.44811 -0.0012649 0 2.27467 -0.000594819 0 2.38132 -0.000491474 0 2.23038 1.29589e-05 0 + 2.34007 0.000296471 0 2.19571 -1.48891e-05 0 2.32907 0.000280876 0 2.1936 3.29604e-05 0 + 2.32583 -3.39629e-05 0 2.1911 0.00021714 0 2.32924 0.000482582 0 2.20095 0.000309013 0 + 2.33659 0.000133732 0 2.20572 0.000285971 0 2.33721 -0.00123327 0 2.20929 0.00600887 0 + 2.5 0 0 2.63134 -0.0159107 0 2.41108 -0.00575092 0 2.4437 -0.00339597 0 + 2.21522 -0.00130695 0 2.29704 -0.000636408 0 2.12571 -0.000242083 0 2.25024 -0.000290457 0 + 2.09951 0.000273912 0 2.21388 0.00053215 0 2.07214 -3.19899e-05 0 2.22023 0.00024613 0 + 2.08285 3.92552e-05 0 2.22143 -1.34849e-05 0 2.08239 0.000169935 0 2.23221 0.000381319 0 + 2.10145 0.000253816 0 2.24305 9.92609e-05 0 2.10677 0.000300083 0 2.24371 -0.00130648 0 + 2.10837 0.00619998 0 2.5 0 0 2.52894 -0.014591 0 2.22559 -0.00423911 0 + 2.24876 -0.00199911 0 2.00398 -0.000396715 0 2.11697 -0.000223027 0 1.95783 -9.08825e-05 0 + 2.10758 -0.000199847 0 1.94897 0.000402746 0 2.12517 0.000608908 0 1.97529 -0.000108736 0 + 2.12574 0.000154291 0 1.98513 3.08382e-05 0 2.12779 2.03218e-06 0 1.98554 9.00583e-05 0 + 2.13654 0.000237511 0 2.00249 0.000184819 0 2.14785 7.35541e-05 0 2.00811 0.000263329 0 + 2.15356 -0.0011748 0 1.98294 0.0058371 0 2.5 0 0 2.30911 -0.0116831 0 + 1.91243 -0.00236121 0 1.97784 -0.00087008 0 1.82682 9.82685e-05 0 1.97987 -0.000101334 0 + 1.81452 -0.000131123 0 1.96628 -9.65279e-05 0 1.80705 0.000114581 0 1.97912 0.000242635 0 + 1.82979 1.01619e-05 0 1.98245 8.66882e-05 0 1.83782 2.48657e-05 0 1.98506 5.5756e-06 0 + 1.83896 5.72747e-05 0 1.99211 0.000148115 0 1.85377 0.000112022 0 2.00319 5.91924e-05 0 + 1.86061 0.000129581 0 2.00624 -0.000722549 0 1.85539 0.00478392 0 2.5 0 0 + 2.00383 -0.00555198 0 1.62067 -0.000641966 0 1.69764 -0.000904239 0 1.53446 -0.000368591 0 + 1.69165 1.5962e-05 0 1.52834 4.9886e-05 0 1.68018 -6.21912e-05 0 1.52196 0.000217541 0 + 1.68892 0.000270437 0 1.53987 -8.77891e-05 0 1.6933 2.72412e-05 0 1.54633 5.27458e-06 0 + 1.69586 6.4692e-06 0 1.54795 3.63552e-06 0 1.70119 3.55203e-05 0 1.55996 4.66473e-05 0 + 1.71107 8.00562e-06 0 1.56701 0.000144566 0 1.712 -0.000713833 0 1.57576 0.00378707 0 + 0 0 0 0 5.08736e-38 0 0 0 0 0 0 0 + 0 -1.58875e-38 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> + </PointData> + <Points> + <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii"> + 0 0 0 0.5 0 0 0 0.0061725 0 0.5 0.0061725 0 + 1 0 0 1 0.0061725 0 1.5 0 0 1.5 0.0061725 0 + 2 0 0 2 0.0061725 0 2.5 0 0 2.5 0.0061725 0 + 3 0 0 3 0.0061725 0 3.5 0 0 3.5 0.0061725 0 + 4 0 0 4 0.0061725 0 4.5 0 0 4.5 0.0061725 0 + 5 0 0 5 0.0061725 0 5.5 0 0 5.5 0.0061725 0 + 6 0 0 6 0.0061725 0 6.5 0 0 6.5 0.0061725 0 + 7 0 0 7 0.0061725 0 7.5 0 0 7.5 0.0061725 0 + 8 0 0 8 0.0061725 0 8.5 0 0 8.5 0.0061725 0 + 9 0 0 9 0.0061725 0 9.5 0 0 9.5 0.0061725 0 + 10 0 0 10 0.0061725 0 0 0.012345 0 0.5 0.012345 0 + 1 0.012345 0 1.5 0.012345 0 2 0.012345 0 2.5 0.012345 0 + 3 0.012345 0 3.5 0.012345 0 4 0.012345 0 4.5 0.012345 0 + 5 0.012345 0 5.5 0.012345 0 6 0.012345 0 6.5 0.012345 0 + 7 0.012345 0 7.5 0.012345 0 8 0.012345 0 8.5 0.012345 0 + 9 0.012345 0 9.5 0.012345 0 10 0.012345 0 0 0.0185175 0 + 0.5 0.0185175 0 1 0.0185175 0 1.5 0.0185175 0 2 0.0185175 0 + 2.5 0.0185175 0 3 0.0185175 0 3.5 0.0185175 0 4 0.0185175 0 + 4.5 0.0185175 0 5 0.0185175 0 5.5 0.0185175 0 6 0.0185175 0 + 6.5 0.0185175 0 7 0.0185175 0 7.5 0.0185175 0 8 0.0185175 0 + 8.5 0.0185175 0 9 0.0185175 0 9.5 0.0185175 0 10 0.0185175 0 + 0 0.02469 0 0.5 0.02469 0 1 0.02469 0 1.5 0.02469 0 + 2 0.02469 0 2.5 0.02469 0 3 0.02469 0 3.5 0.02469 0 + 4 0.02469 0 4.5 0.02469 0 5 0.02469 0 5.5 0.02469 0 + 6 0.02469 0 6.5 0.02469 0 7 0.02469 0 7.5 0.02469 0 + 8 0.02469 0 8.5 0.02469 0 9 0.02469 0 9.5 0.02469 0 + 10 0.02469 0 0 0.0308625 0 0.5 0.0308625 0 1 0.0308625 0 + 1.5 0.0308625 0 2 0.0308625 0 2.5 0.0308625 0 3 0.0308625 0 + 3.5 0.0308625 0 4 0.0308625 0 4.5 0.0308625 0 5 0.0308625 0 + 5.5 0.0308625 0 6 0.0308625 0 6.5 0.0308625 0 7 0.0308625 0 + 7.5 0.0308625 0 8 0.0308625 0 8.5 0.0308625 0 9 0.0308625 0 + 9.5 0.0308625 0 10 0.0308625 0 0 0.037035 0 0.5 0.037035 0 + 1 0.037035 0 1.5 0.037035 0 2 0.037035 0 2.5 0.037035 0 + 3 0.037035 0 3.5 0.037035 0 4 0.037035 0 4.5 0.037035 0 + 5 0.037035 0 5.5 0.037035 0 6 0.037035 0 6.5 0.037035 0 + 7 0.037035 0 7.5 0.037035 0 8 0.037035 0 8.5 0.037035 0 + 9 0.037035 0 9.5 0.037035 0 10 0.037035 0 0 0.0432075 0 + 0.5 0.0432075 0 1 0.0432075 0 1.5 0.0432075 0 2 0.0432075 0 + 2.5 0.0432075 0 3 0.0432075 0 3.5 0.0432075 0 4 0.0432075 0 + 4.5 0.0432075 0 5 0.0432075 0 5.5 0.0432075 0 6 0.0432075 0 + 6.5 0.0432075 0 7 0.0432075 0 7.5 0.0432075 0 8 0.0432075 0 + 8.5 0.0432075 0 9 0.0432075 0 9.5 0.0432075 0 10 0.0432075 0 + 0 0.04938 0 0.5 0.04938 0 1 0.04938 0 1.5 0.04938 0 + 2 0.04938 0 2.5 0.04938 0 3 0.04938 0 3.5 0.04938 0 + 4 0.04938 0 4.5 0.04938 0 5 0.04938 0 5.5 0.04938 0 + 6 0.04938 0 6.5 0.04938 0 7 0.04938 0 7.5 0.04938 0 + 8 0.04938 0 8.5 0.04938 0 9 0.04938 0 9.5 0.04938 0 + 10 0.04938 0 0 0.0555525 0 0.5 0.0555525 0 1 0.0555525 0 + 1.5 0.0555525 0 2 0.0555525 0 2.5 0.0555525 0 3 0.0555525 0 + 3.5 0.0555525 0 4 0.0555525 0 4.5 0.0555525 0 5 0.0555525 0 + 5.5 0.0555525 0 6 0.0555525 0 6.5 0.0555525 0 7 0.0555525 0 + 7.5 0.0555525 0 8 0.0555525 0 8.5 0.0555525 0 9 0.0555525 0 + 9.5 0.0555525 0 10 0.0555525 0 0 0.061725 0 0.5 0.061725 0 + 1 0.061725 0 1.5 0.061725 0 2 0.061725 0 2.5 0.061725 0 + 3 0.061725 0 3.5 0.061725 0 4 0.061725 0 4.5 0.061725 0 + 5 0.061725 0 5.5 0.061725 0 6 0.061725 0 6.5 0.061725 0 + 7 0.061725 0 7.5 0.061725 0 8 0.061725 0 8.5 0.061725 0 + 9 0.061725 0 9.5 0.061725 0 10 0.061725 0 0 0.0678975 0 + 0.5 0.0678975 0 1 0.0678975 0 1.5 0.0678975 0 2 0.0678975 0 + 2.5 0.0678975 0 3 0.0678975 0 3.5 0.0678975 0 4 0.0678975 0 + 4.5 0.0678975 0 5 0.0678975 0 5.5 0.0678975 0 6 0.0678975 0 + 6.5 0.0678975 0 7 0.0678975 0 7.5 0.0678975 0 8 0.0678975 0 + 8.5 0.0678975 0 9 0.0678975 0 9.5 0.0678975 0 10 0.0678975 0 + 0 0.07407 0 0.5 0.07407 0 1 0.07407 0 1.5 0.07407 0 + 2 0.07407 0 2.5 0.07407 0 3 0.07407 0 3.5 0.07407 0 + 4 0.07407 0 4.5 0.07407 0 5 0.07407 0 5.5 0.07407 0 + 6 0.07407 0 6.5 0.07407 0 7 0.07407 0 7.5 0.07407 0 + 8 0.07407 0 8.5 0.07407 0 9 0.07407 0 9.5 0.07407 0 + 10 0.07407 0 0 0.0802425 0 0.5 0.0802425 0 1 0.0802425 0 + 1.5 0.0802425 0 2 0.0802425 0 2.5 0.0802425 0 3 0.0802425 0 + 3.5 0.0802425 0 4 0.0802425 0 4.5 0.0802425 0 5 0.0802425 0 + 5.5 0.0802425 0 6 0.0802425 0 6.5 0.0802425 0 7 0.0802425 0 + 7.5 0.0802425 0 8 0.0802425 0 8.5 0.0802425 0 9 0.0802425 0 + 9.5 0.0802425 0 10 0.0802425 0 0 0.086415 0 0.5 0.086415 0 + 1 0.086415 0 1.5 0.086415 0 2 0.086415 0 2.5 0.086415 0 + 3 0.086415 0 3.5 0.086415 0 4 0.086415 0 4.5 0.086415 0 + 5 0.086415 0 5.5 0.086415 0 6 0.086415 0 6.5 0.086415 0 + 7 0.086415 0 7.5 0.086415 0 8 0.086415 0 8.5 0.086415 0 + 9 0.086415 0 9.5 0.086415 0 10 0.086415 0 0 0.0925875 0 + 0.5 0.0925875 0 1 0.0925875 0 1.5 0.0925875 0 2 0.0925875 0 + 2.5 0.0925875 0 3 0.0925875 0 3.5 0.0925875 0 4 0.0925875 0 + 4.5 0.0925875 0 5 0.0925875 0 5.5 0.0925875 0 6 0.0925875 0 + 6.5 0.0925875 0 7 0.0925875 0 7.5 0.0925875 0 8 0.0925875 0 + 8.5 0.0925875 0 9 0.0925875 0 9.5 0.0925875 0 10 0.0925875 0 + 0 0.09876 0 0.5 0.09876 0 1 0.09876 0 1.5 0.09876 0 + 2 0.09876 0 2.5 0.09876 0 3 0.09876 0 3.5 0.09876 0 + 4 0.09876 0 4.5 0.09876 0 5 0.09876 0 5.5 0.09876 0 + 6 0.09876 0 6.5 0.09876 0 7 0.09876 0 7.5 0.09876 0 + 8 0.09876 0 8.5 0.09876 0 9 0.09876 0 9.5 0.09876 0 + 10 0.09876 0 0 0.104933 0 0.5 0.104933 0 1 0.104933 0 + 1.5 0.104933 0 2 0.104933 0 2.5 0.104933 0 3 0.104933 0 + 3.5 0.104933 0 4 0.104933 0 4.5 0.104933 0 5 0.104933 0 + 5.5 0.104933 0 6 0.104933 0 6.5 0.104933 0 7 0.104933 0 + 7.5 0.104933 0 8 0.104933 0 8.5 0.104933 0 9 0.104933 0 + 9.5 0.104933 0 10 0.104933 0 0 0.111105 0 0.5 0.111105 0 + 1 0.111105 0 1.5 0.111105 0 2 0.111105 0 2.5 0.111105 0 + 3 0.111105 0 3.5 0.111105 0 4 0.111105 0 4.5 0.111105 0 + 5 0.111105 0 5.5 0.111105 0 6 0.111105 0 6.5 0.111105 0 + 7 0.111105 0 7.5 0.111105 0 8 0.111105 0 8.5 0.111105 0 + 9 0.111105 0 9.5 0.111105 0 10 0.111105 0 0 0.117278 0 + 0.5 0.117278 0 1 0.117278 0 1.5 0.117278 0 2 0.117278 0 + 2.5 0.117278 0 3 0.117278 0 3.5 0.117278 0 4 0.117278 0 + 4.5 0.117278 0 5 0.117278 0 5.5 0.117278 0 6 0.117278 0 + 6.5 0.117278 0 7 0.117278 0 7.5 0.117278 0 8 0.117278 0 + 8.5 0.117278 0 9 0.117278 0 9.5 0.117278 0 10 0.117278 0 + 0 0.12345 0 0.5 0.12345 0 1 0.12345 0 1.5 0.12345 0 + 2 0.12345 0 2.5 0.12345 0 3 0.12345 0 3.5 0.12345 0 + 4 0.12345 0 4.5 0.12345 0 5 0.12345 0 5.5 0.12345 0 + 6 0.12345 0 6.5 0.12345 0 7 0.12345 0 7.5 0.12345 0 + 8 0.12345 0 8.5 0.12345 0 9 0.12345 0 9.5 0.12345 0 + 10 0.12345 0 0 0.129623 0 0.5 0.129623 0 1 0.129623 0 + 1.5 0.129623 0 2 0.129623 0 2.5 0.129623 0 3 0.129623 0 + 3.5 0.129623 0 4 0.129623 0 4.5 0.129623 0 5 0.129623 0 + 5.5 0.129623 0 6 0.129623 0 6.5 0.129623 0 7 0.129623 0 + 7.5 0.129623 0 8 0.129623 0 8.5 0.129623 0 9 0.129623 0 + 9.5 0.129623 0 10 0.129623 0 0 0.135795 0 0.5 0.135795 0 + 1 0.135795 0 1.5 0.135795 0 2 0.135795 0 2.5 0.135795 0 + 3 0.135795 0 3.5 0.135795 0 4 0.135795 0 4.5 0.135795 0 + 5 0.135795 0 5.5 0.135795 0 6 0.135795 0 6.5 0.135795 0 + 7 0.135795 0 7.5 0.135795 0 8 0.135795 0 8.5 0.135795 0 + 9 0.135795 0 9.5 0.135795 0 10 0.135795 0 0 0.141968 0 + 0.5 0.141968 0 1 0.141968 0 1.5 0.141968 0 2 0.141968 0 + 2.5 0.141968 0 3 0.141968 0 3.5 0.141968 0 4 0.141968 0 + 4.5 0.141968 0 5 0.141968 0 5.5 0.141968 0 6 0.141968 0 + 6.5 0.141968 0 7 0.141968 0 7.5 0.141968 0 8 0.141968 0 + 8.5 0.141968 0 9 0.141968 0 9.5 0.141968 0 10 0.141968 0 + 0 0.14814 0 0.5 0.14814 0 1 0.14814 0 1.5 0.14814 0 + 2 0.14814 0 2.5 0.14814 0 3 0.14814 0 3.5 0.14814 0 + 4 0.14814 0 4.5 0.14814 0 5 0.14814 0 5.5 0.14814 0 + 6 0.14814 0 6.5 0.14814 0 7 0.14814 0 7.5 0.14814 0 + 8 0.14814 0 8.5 0.14814 0 9 0.14814 0 9.5 0.14814 0 + 10 0.14814 0 0 0.154313 0 0.5 0.154313 0 1 0.154313 0 + 1.5 0.154313 0 2 0.154313 0 2.5 0.154313 0 3 0.154313 0 + 3.5 0.154313 0 4 0.154313 0 4.5 0.154313 0 5 0.154313 0 + 5.5 0.154313 0 6 0.154313 0 6.5 0.154313 0 7 0.154313 0 + 7.5 0.154313 0 8 0.154313 0 8.5 0.154313 0 9 0.154313 0 + 9.5 0.154313 0 10 0.154313 0 0 0.160485 0 0.5 0.160485 0 + 1 0.160485 0 1.5 0.160485 0 2 0.160485 0 2.5 0.160485 0 + 3 0.160485 0 3.5 0.160485 0 4 0.160485 0 4.5 0.160485 0 + 5 0.160485 0 5.5 0.160485 0 6 0.160485 0 6.5 0.160485 0 + 7 0.160485 0 7.5 0.160485 0 8 0.160485 0 8.5 0.160485 0 + 9 0.160485 0 9.5 0.160485 0 10 0.160485 0 0 0.166658 0 + 0.5 0.166658 0 1 0.166658 0 1.5 0.166658 0 2 0.166658 0 + 2.5 0.166658 0 3 0.166658 0 3.5 0.166658 0 4 0.166658 0 + 4.5 0.166658 0 5 0.166658 0 5.5 0.166658 0 6 0.166658 0 + 6.5 0.166658 0 7 0.166658 0 7.5 0.166658 0 8 0.166658 0 + 8.5 0.166658 0 9 0.166658 0 9.5 0.166658 0 10 0.166658 0 + 0 0.17283 0 0.5 0.17283 0 1 0.17283 0 1.5 0.17283 0 + 2 0.17283 0 2.5 0.17283 0 3 0.17283 0 3.5 0.17283 0 + 4 0.17283 0 4.5 0.17283 0 5 0.17283 0 5.5 0.17283 0 + 6 0.17283 0 6.5 0.17283 0 7 0.17283 0 7.5 0.17283 0 + 8 0.17283 0 8.5 0.17283 0 9 0.17283 0 9.5 0.17283 0 + 10 0.17283 0 0 0.179002 0 0.5 0.179002 0 1 0.179002 0 + 1.5 0.179002 0 2 0.179002 0 2.5 0.179002 0 3 0.179002 0 + 3.5 0.179002 0 4 0.179002 0 4.5 0.179002 0 5 0.179002 0 + 5.5 0.179002 0 6 0.179002 0 6.5 0.179002 0 7 0.179002 0 + 7.5 0.179002 0 8 0.179002 0 8.5 0.179002 0 9 0.179002 0 + 9.5 0.179002 0 10 0.179002 0 0 0.185175 0 0.5 0.185175 0 + 1 0.185175 0 1.5 0.185175 0 2 0.185175 0 2.5 0.185175 0 + 3 0.185175 0 3.5 0.185175 0 4 0.185175 0 4.5 0.185175 0 + 5 0.185175 0 5.5 0.185175 0 6 0.185175 0 6.5 0.185175 0 + 7 0.185175 0 7.5 0.185175 0 8 0.185175 0 8.5 0.185175 0 + 9 0.185175 0 9.5 0.185175 0 10 0.185175 0 0 0.191347 0 + 0.5 0.191347 0 1 0.191347 0 1.5 0.191347 0 2 0.191347 0 + 2.5 0.191347 0 3 0.191347 0 3.5 0.191347 0 4 0.191347 0 + 4.5 0.191347 0 5 0.191347 0 5.5 0.191347 0 6 0.191347 0 + 6.5 0.191347 0 7 0.191347 0 7.5 0.191347 0 8 0.191347 0 + 8.5 0.191347 0 9 0.191347 0 9.5 0.191347 0 10 0.191347 0 + 0 0.19752 0 0.5 0.19752 0 1 0.19752 0 1.5 0.19752 0 + 2 0.19752 0 2.5 0.19752 0 3 0.19752 0 3.5 0.19752 0 + 4 0.19752 0 4.5 0.19752 0 5 0.19752 0 5.5 0.19752 0 + 6 0.19752 0 6.5 0.19752 0 7 0.19752 0 7.5 0.19752 0 + 8 0.19752 0 8.5 0.19752 0 9 0.19752 0 9.5 0.19752 0 + 10 0.19752 0 0 0.203692 0 0.5 0.203692 0 1 0.203692 0 + 1.5 0.203692 0 2 0.203692 0 2.5 0.203692 0 3 0.203692 0 + 3.5 0.203692 0 4 0.203692 0 4.5 0.203692 0 5 0.203692 0 + 5.5 0.203692 0 6 0.203692 0 6.5 0.203692 0 7 0.203692 0 + 7.5 0.203692 0 8 0.203692 0 8.5 0.203692 0 9 0.203692 0 + 9.5 0.203692 0 10 0.203692 0 0 0.209865 0 0.5 0.209865 0 + 1 0.209865 0 1.5 0.209865 0 2 0.209865 0 2.5 0.209865 0 + 3 0.209865 0 3.5 0.209865 0 4 0.209865 0 4.5 0.209865 0 + 5 0.209865 0 5.5 0.209865 0 6 0.209865 0 6.5 0.209865 0 + 7 0.209865 0 7.5 0.209865 0 8 0.209865 0 8.5 0.209865 0 + 9 0.209865 0 9.5 0.209865 0 10 0.209865 0 0 0.216037 0 + 0.5 0.216037 0 1 0.216037 0 1.5 0.216037 0 2 0.216037 0 + 2.5 0.216037 0 3 0.216037 0 3.5 0.216037 0 4 0.216037 0 + 4.5 0.216037 0 5 0.216037 0 5.5 0.216037 0 6 0.216037 0 + 6.5 0.216037 0 7 0.216037 0 7.5 0.216037 0 8 0.216037 0 + 8.5 0.216037 0 9 0.216037 0 9.5 0.216037 0 10 0.216037 0 + 0 0.22221 0 0.5 0.22221 0 1 0.22221 0 1.5 0.22221 0 + 2 0.22221 0 2.5 0.22221 0 3 0.22221 0 3.5 0.22221 0 + 4 0.22221 0 4.5 0.22221 0 5 0.22221 0 5.5 0.22221 0 + 6 0.22221 0 6.5 0.22221 0 7 0.22221 0 7.5 0.22221 0 + 8 0.22221 0 8.5 0.22221 0 9 0.22221 0 9.5 0.22221 0 + 10 0.22221 0 0 0.228382 0 0.5 0.228382 0 1 0.228382 0 + 1.5 0.228382 0 2 0.228382 0 2.5 0.228382 0 3 0.228382 0 + 3.5 0.228382 0 4 0.228382 0 4.5 0.228382 0 5 0.228382 0 + 5.5 0.228382 0 6 0.228382 0 6.5 0.228382 0 7 0.228382 0 + 7.5 0.228382 0 8 0.228382 0 8.5 0.228382 0 9 0.228382 0 + 9.5 0.228382 0 10 0.228382 0 0 0.234555 0 0.5 0.234555 0 + 1 0.234555 0 1.5 0.234555 0 2 0.234555 0 2.5 0.234555 0 + 3 0.234555 0 3.5 0.234555 0 4 0.234555 0 4.5 0.234555 0 + 5 0.234555 0 5.5 0.234555 0 6 0.234555 0 6.5 0.234555 0 + 7 0.234555 0 7.5 0.234555 0 8 0.234555 0 8.5 0.234555 0 + 9 0.234555 0 9.5 0.234555 0 10 0.234555 0 0 0.240727 0 + 0.5 0.240727 0 1 0.240727 0 1.5 0.240727 0 2 0.240727 0 + 2.5 0.240727 0 3 0.240727 0 3.5 0.240727 0 4 0.240727 0 + 4.5 0.240727 0 5 0.240727 0 5.5 0.240727 0 6 0.240727 0 + 6.5 0.240727 0 7 0.240727 0 7.5 0.240727 0 8 0.240727 0 + 8.5 0.240727 0 9 0.240727 0 9.5 0.240727 0 10 0.240727 0 + 0 0.2469 0 0.5 0.2469 0 1 0.2469 0 1.5 0.2469 0 + 2 0.2469 0 2.5 0.2469 0 3 0.2469 0 3.5 0.2469 0 + 4 0.2469 0 4.5 0.2469 0 5 0.2469 0 5.5 0.2469 0 + 6 0.2469 0 6.5 0.2469 0 7 0.2469 0 7.5 0.2469 0 + 8 0.2469 0 8.5 0.2469 0 9 0.2469 0 9.5 0.2469 0 + 10 0.2469 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 20 22 23 21 22 24 25 23 + 24 26 27 25 26 28 29 27 28 30 31 29 + 30 32 33 31 32 34 35 33 34 36 37 35 + 36 38 39 37 38 40 41 39 2 3 43 42 + 3 5 44 43 5 7 45 44 7 9 46 45 + 9 11 47 46 11 13 48 47 13 15 49 48 + 15 17 50 49 17 19 51 50 19 21 52 51 + 21 23 53 52 23 25 54 53 25 27 55 54 + 27 29 56 55 29 31 57 56 31 33 58 57 + 33 35 59 58 35 37 60 59 37 39 61 60 + 39 41 62 61 42 43 64 63 43 44 65 64 + 44 45 66 65 45 46 67 66 46 47 68 67 + 47 48 69 68 48 49 70 69 49 50 71 70 + 50 51 72 71 51 52 73 72 52 53 74 73 + 53 54 75 74 54 55 76 75 55 56 77 76 + 56 57 78 77 57 58 79 78 58 59 80 79 + 59 60 81 80 60 61 82 81 61 62 83 82 + 63 64 85 84 64 65 86 85 65 66 87 86 + 66 67 88 87 67 68 89 88 68 69 90 89 + 69 70 91 90 70 71 92 91 71 72 93 92 + 72 73 94 93 73 74 95 94 74 75 96 95 + 75 76 97 96 76 77 98 97 77 78 99 98 + 78 79 100 99 79 80 101 100 80 81 102 101 + 81 82 103 102 82 83 104 103 84 85 106 105 + 85 86 107 106 86 87 108 107 87 88 109 108 + 88 89 110 109 89 90 111 110 90 91 112 111 + 91 92 113 112 92 93 114 113 93 94 115 114 + 94 95 116 115 95 96 117 116 96 97 118 117 + 97 98 119 118 98 99 120 119 99 100 121 120 + 100 101 122 121 101 102 123 122 102 103 124 123 + 103 104 125 124 105 106 127 126 106 107 128 127 + 107 108 129 128 108 109 130 129 109 110 131 130 + 110 111 132 131 111 112 133 132 112 113 134 133 + 113 114 135 134 114 115 136 135 115 116 137 136 + 116 117 138 137 117 118 139 138 118 119 140 139 + 119 120 141 140 120 121 142 141 121 122 143 142 + 122 123 144 143 123 124 145 144 124 125 146 145 + 126 127 148 147 127 128 149 148 128 129 150 149 + 129 130 151 150 130 131 152 151 131 132 153 152 + 132 133 154 153 133 134 155 154 134 135 156 155 + 135 136 157 156 136 137 158 157 137 138 159 158 + 138 139 160 159 139 140 161 160 140 141 162 161 + 141 142 163 162 142 143 164 163 143 144 165 164 + 144 145 166 165 145 146 167 166 147 148 169 168 + 148 149 170 169 149 150 171 170 150 151 172 171 + 151 152 173 172 152 153 174 173 153 154 175 174 + 154 155 176 175 155 156 177 176 156 157 178 177 + 157 158 179 178 158 159 180 179 159 160 181 180 + 160 161 182 181 161 162 183 182 162 163 184 183 + 163 164 185 184 164 165 186 185 165 166 187 186 + 166 167 188 187 168 169 190 189 169 170 191 190 + 170 171 192 191 171 172 193 192 172 173 194 193 + 173 174 195 194 174 175 196 195 175 176 197 196 + 176 177 198 197 177 178 199 198 178 179 200 199 + 179 180 201 200 180 181 202 201 181 182 203 202 + 182 183 204 203 183 184 205 204 184 185 206 205 + 185 186 207 206 186 187 208 207 187 188 209 208 + 189 190 211 210 190 191 212 211 191 192 213 212 + 192 193 214 213 193 194 215 214 194 195 216 215 + 195 196 217 216 196 197 218 217 197 198 219 218 + 198 199 220 219 199 200 221 220 200 201 222 221 + 201 202 223 222 202 203 224 223 203 204 225 224 + 204 205 226 225 205 206 227 226 206 207 228 227 + 207 208 229 228 208 209 230 229 210 211 232 231 + 211 212 233 232 212 213 234 233 213 214 235 234 + 214 215 236 235 215 216 237 236 216 217 238 237 + 217 218 239 238 218 219 240 239 219 220 241 240 + 220 221 242 241 221 222 243 242 222 223 244 243 + 223 224 245 244 224 225 246 245 225 226 247 246 + 226 227 248 247 227 228 249 248 228 229 250 249 + 229 230 251 250 231 232 253 252 232 233 254 253 + 233 234 255 254 234 235 256 255 235 236 257 256 + 236 237 258 257 237 238 259 258 238 239 260 259 + 239 240 261 260 240 241 262 261 241 242 263 262 + 242 243 264 263 243 244 265 264 244 245 266 265 + 245 246 267 266 246 247 268 267 247 248 269 268 + 248 249 270 269 249 250 271 270 250 251 272 271 + 252 253 274 273 253 254 275 274 254 255 276 275 + 255 256 277 276 256 257 278 277 257 258 279 278 + 258 259 280 279 259 260 281 280 260 261 282 281 + 261 262 283 282 262 263 284 283 263 264 285 284 + 264 265 286 285 265 266 287 286 266 267 288 287 + 267 268 289 288 268 269 290 289 269 270 291 290 + 270 271 292 291 271 272 293 292 273 274 295 294 + 274 275 296 295 275 276 297 296 276 277 298 297 + 277 278 299 298 278 279 300 299 279 280 301 300 + 280 281 302 301 281 282 303 302 282 283 304 303 + 283 284 305 304 284 285 306 305 285 286 307 306 + 286 287 308 307 287 288 309 308 288 289 310 309 + 289 290 311 310 290 291 312 311 291 292 313 312 + 292 293 314 313 294 295 316 315 295 296 317 316 + 296 297 318 317 297 298 319 318 298 299 320 319 + 299 300 321 320 300 301 322 321 301 302 323 322 + 302 303 324 323 303 304 325 324 304 305 326 325 + 305 306 327 326 306 307 328 327 307 308 329 328 + 308 309 330 329 309 310 331 330 310 311 332 331 + 311 312 333 332 312 313 334 333 313 314 335 334 + 315 316 337 336 316 317 338 337 317 318 339 338 + 318 319 340 339 319 320 341 340 320 321 342 341 + 321 322 343 342 322 323 344 343 323 324 345 344 + 324 325 346 345 325 326 347 346 326 327 348 347 + 327 328 349 348 328 329 350 349 329 330 351 350 + 330 331 352 351 331 332 353 352 332 333 354 353 + 333 334 355 354 334 335 356 355 336 337 358 357 + 337 338 359 358 338 339 360 359 339 340 361 360 + 340 341 362 361 341 342 363 362 342 343 364 363 + 343 344 365 364 344 345 366 365 345 346 367 366 + 346 347 368 367 347 348 369 368 348 349 370 369 + 349 350 371 370 350 351 372 371 351 352 373 372 + 352 353 374 373 353 354 375 374 354 355 376 375 + 355 356 377 376 357 358 379 378 358 359 380 379 + 359 360 381 380 360 361 382 381 361 362 383 382 + 362 363 384 383 363 364 385 384 364 365 386 385 + 365 366 387 386 366 367 388 387 367 368 389 388 + 368 369 390 389 369 370 391 390 370 371 392 391 + 371 372 393 392 372 373 394 393 373 374 395 394 + 374 375 396 395 375 376 397 396 376 377 398 397 + 378 379 400 399 379 380 401 400 380 381 402 401 + 381 382 403 402 382 383 404 403 383 384 405 404 + 384 385 406 405 385 386 407 406 386 387 408 407 + 387 388 409 408 388 389 410 409 389 390 411 410 + 390 391 412 411 391 392 413 412 392 393 414 413 + 393 394 415 414 394 395 416 415 395 396 417 416 + 396 397 418 417 397 398 419 418 399 400 421 420 + 400 401 422 421 401 402 423 422 402 403 424 423 + 403 404 425 424 404 405 426 425 405 406 427 426 + 406 407 428 427 407 408 429 428 408 409 430 429 + 409 410 431 430 410 411 432 431 411 412 433 432 + 412 413 434 433 413 414 435 434 414 415 436 435 + 415 416 437 436 416 417 438 437 417 418 439 438 + 418 419 440 439 420 421 442 441 421 422 443 442 + 422 423 444 443 423 424 445 444 424 425 446 445 + 425 426 447 446 426 427 448 447 427 428 449 448 + 428 429 450 449 429 430 451 450 430 431 452 451 + 431 432 453 452 432 433 454 453 433 434 455 454 + 434 435 456 455 435 436 457 456 436 437 458 457 + 437 438 459 458 438 439 460 459 439 440 461 460 + 441 442 463 462 442 443 464 463 443 444 465 464 + 444 445 466 465 445 446 467 466 446 447 468 467 + 447 448 469 468 448 449 470 469 449 450 471 470 + 450 451 472 471 451 452 473 472 452 453 474 473 + 453 454 475 474 454 455 476 475 455 456 477 476 + 456 457 478 477 457 458 479 478 458 459 480 479 + 459 460 481 480 460 461 482 481 462 463 484 483 + 463 464 485 484 464 465 486 485 465 466 487 486 + 466 467 488 487 467 468 489 488 468 469 490 489 + 469 470 491 490 470 471 492 491 471 472 493 492 + 472 473 494 493 473 474 495 494 474 475 496 495 + 475 476 497 496 476 477 498 497 477 478 499 498 + 478 479 500 499 479 480 501 500 480 481 502 501 + 481 482 503 502 483 484 505 504 484 485 506 505 + 485 486 507 506 486 487 508 507 487 488 509 508 + 488 489 510 509 489 490 511 510 490 491 512 511 + 491 492 513 512 492 493 514 513 493 494 515 514 + 494 495 516 515 495 496 517 516 496 497 518 517 + 497 498 519 518 498 499 520 519 499 500 521 520 + 500 501 522 521 501 502 523 522 502 503 524 523 + 504 505 526 525 505 506 527 526 506 507 528 527 + 507 508 529 528 508 509 530 529 509 510 531 530 + 510 511 532 531 511 512 533 532 512 513 534 533 + 513 514 535 534 514 515 536 535 515 516 537 536 + 516 517 538 537 517 518 539 538 518 519 540 539 + 519 520 541 540 520 521 542 541 521 522 543 542 + 522 523 544 543 523 524 545 544 525 526 547 546 + 526 527 548 547 527 528 549 548 528 529 550 549 + 529 530 551 550 530 531 552 551 531 532 553 552 + 532 533 554 553 533 534 555 554 534 535 556 555 + 535 536 557 556 536 537 558 557 537 538 559 558 + 538 539 560 559 539 540 561 560 540 541 562 561 + 541 542 563 562 542 543 564 563 543 544 565 564 + 544 545 566 565 546 547 568 567 547 548 569 568 + 548 549 570 569 549 550 571 570 550 551 572 571 + 551 552 573 572 552 553 574 573 553 554 575 574 + 554 555 576 575 555 556 577 576 556 557 578 577 + 557 558 579 578 558 559 580 579 559 560 581 580 + 560 561 582 581 561 562 583 582 562 563 584 583 + 563 564 585 584 564 565 586 585 565 566 587 586 + 567 568 589 588 568 569 590 589 569 570 591 590 + 570 571 592 591 571 572 593 592 572 573 594 593 + 573 574 595 594 574 575 596 595 575 576 597 596 + 576 577 598 597 577 578 599 598 578 579 600 599 + 579 580 601 600 580 581 602 601 581 582 603 602 + 582 583 604 603 583 584 605 604 584 585 606 605 + 585 586 607 606 586 587 608 607 588 589 610 609 + 589 590 611 610 590 591 612 611 591 592 613 612 + 592 593 614 613 593 594 615 614 594 595 616 615 + 595 596 617 616 596 597 618 617 597 598 619 618 + 598 599 620 619 599 600 621 620 600 601 622 621 + 601 602 623 622 602 603 624 623 603 604 625 624 + 604 605 626 625 605 606 627 626 606 607 628 627 + 607 608 629 628 609 610 631 630 610 611 632 631 + 611 612 633 632 612 613 634 633 613 614 635 634 + 614 615 636 635 615 616 637 636 616 617 638 637 + 617 618 639 638 618 619 640 639 619 620 641 640 + 620 621 642 641 621 622 643 642 622 623 644 643 + 623 624 645 644 624 625 646 645 625 626 647 646 + 626 627 648 647 627 628 649 648 628 629 650 649 + 630 631 652 651 631 632 653 652 632 633 654 653 + 633 634 655 654 634 635 656 655 635 636 657 656 + 636 637 658 657 637 638 659 658 638 639 660 659 + 639 640 661 660 640 641 662 661 641 642 663 662 + 642 643 664 663 643 644 665 664 644 645 666 665 + 645 646 667 666 646 647 668 667 647 648 669 668 + 648 649 670 669 649 650 671 670 651 652 673 672 + 652 653 674 673 653 654 675 674 654 655 676 675 + 655 656 677 676 656 657 678 677 657 658 679 678 + 658 659 680 679 659 660 681 680 660 661 682 681 + 661 662 683 682 662 663 684 683 663 664 685 684 + 664 665 686 685 665 666 687 686 666 667 688 687 + 667 668 689 688 668 669 690 689 669 670 691 690 + 670 671 692 691 672 673 694 693 673 674 695 694 + 674 675 696 695 675 676 697 696 676 677 698 697 + 677 678 699 698 678 679 700 699 679 680 701 700 + 680 681 702 701 681 682 703 702 682 683 704 703 + 683 684 705 704 684 685 706 705 685 686 707 706 + 686 687 708 707 687 688 709 708 688 689 710 709 + 689 690 711 710 690 691 712 711 691 692 713 712 + 693 694 715 714 694 695 716 715 695 696 717 716 + 696 697 718 717 697 698 719 718 698 699 720 719 + 699 700 721 720 700 701 722 721 701 702 723 722 + 702 703 724 723 703 704 725 724 704 705 726 725 + 705 706 727 726 706 707 728 727 707 708 729 728 + 708 709 730 729 709 710 731 730 710 711 732 731 + 711 712 733 732 712 713 734 733 714 715 736 735 + 715 716 737 736 716 717 738 737 717 718 739 738 + 718 719 740 739 719 720 741 740 720 721 742 741 + 721 722 743 742 722 723 744 743 723 724 745 744 + 724 725 746 745 725 726 747 746 726 727 748 747 + 727 728 749 748 728 729 750 749 729 730 751 750 + 730 731 752 751 731 732 753 752 732 733 754 753 + 733 734 755 754 735 736 757 756 736 737 758 757 + 737 738 759 758 738 739 760 759 739 740 761 760 + 740 741 762 761 741 742 763 762 742 743 764 763 + 743 744 765 764 744 745 766 765 745 746 767 766 + 746 747 768 767 747 748 769 768 748 749 770 769 + 749 750 771 770 750 751 772 771 751 752 773 772 + 752 753 774 773 753 754 775 774 754 755 776 775 + 756 757 778 777 757 758 779 778 758 759 780 779 + 759 760 781 780 760 761 782 781 761 762 783 782 + 762 763 784 783 763 764 785 784 764 765 786 785 + 765 766 787 786 766 767 788 787 767 768 789 788 + 768 769 790 789 769 770 791 790 770 771 792 791 + 771 772 793 792 772 773 794 793 773 774 795 794 + 774 775 796 795 775 776 797 796 777 778 799 798 + 778 779 800 799 779 780 801 800 780 781 802 801 + 781 782 803 802 782 783 804 803 783 784 805 804 + 784 785 806 805 785 786 807 806 786 787 808 807 + 787 788 809 808 788 789 810 809 789 790 811 810 + 790 791 812 811 791 792 813 812 792 793 814 813 + 793 794 815 814 794 795 816 815 795 796 817 816 + 796 797 818 817 798 799 820 819 799 800 821 820 + 800 801 822 821 801 802 823 822 802 803 824 823 + 803 804 825 824 804 805 826 825 805 806 827 826 + 806 807 828 827 807 808 829 828 808 809 830 829 + 809 810 831 830 810 811 832 831 811 812 833 832 + 812 813 834 833 813 814 835 834 814 815 836 835 + 815 816 837 836 816 817 838 837 817 818 839 838 + 819 820 841 840 820 821 842 841 821 822 843 842 + 822 823 844 843 823 824 845 844 824 825 846 845 + 825 826 847 846 826 827 848 847 827 828 849 848 + 828 829 850 849 829 830 851 850 830 831 852 851 + 831 832 853 852 832 833 854 853 833 834 855 854 + 834 835 856 855 835 836 857 856 836 837 858 857 + 837 838 859 858 838 839 860 859 + </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 404 408 412 416 420 424 428 432 + 436 440 444 448 452 456 460 464 468 472 476 480 + 484 488 492 496 500 504 508 512 516 520 524 528 + 532 536 540 544 548 552 556 560 564 568 572 576 + 580 584 588 592 596 600 604 608 612 616 620 624 + 628 632 636 640 644 648 652 656 660 664 668 672 + 676 680 684 688 692 696 700 704 708 712 716 720 + 724 728 732 736 740 744 748 752 756 760 764 768 + 772 776 780 784 788 792 796 800 804 808 812 816 + 820 824 828 832 836 840 844 848 852 856 860 864 + 868 872 876 880 884 888 892 896 900 904 908 912 + 916 920 924 928 932 936 940 944 948 952 956 960 + 964 968 972 976 980 984 988 992 996 1000 1004 1008 + 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 + 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 + 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 + 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + 1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 + 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 + 1300 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 + 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 + 1396 1400 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 + 1444 1448 1452 1456 1460 1464 1468 1472 1476 1480 1484 1488 + 1492 1496 1500 1504 1508 1512 1516 1520 1524 1528 1532 1536 + 1540 1544 1548 1552 1556 1560 1564 1568 1572 1576 1580 1584 + 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 + 1636 1640 1644 1648 1652 1656 1660 1664 1668 1672 1676 1680 + 1684 1688 1692 1696 1700 1704 1708 1712 1716 1720 1724 1728 + 1732 1736 1740 1744 1748 1752 1756 1760 1764 1768 1772 1776 + 1780 1784 1788 1792 1796 1800 1804 1808 1812 1816 1820 1824 + 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 + 1876 1880 1884 1888 1892 1896 1900 1904 1908 1912 1916 1920 + 1924 1928 1932 1936 1940 1944 1948 1952 1956 1960 1964 1968 + 1972 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016 + 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 + 2068 2072 2076 2080 2084 2088 2092 2096 2100 2104 2108 2112 + 2116 2120 2124 2128 2132 2136 2140 2144 2148 2152 2156 2160 + 2164 2168 2172 2176 2180 2184 2188 2192 2196 2200 2204 2208 + 2212 2216 2220 2224 2228 2232 2236 2240 2244 2248 2252 2256 + 2260 2264 2268 2272 2276 2280 2284 2288 2292 2296 2300 2304 + 2308 2312 2316 2320 2324 2328 2332 2336 2340 2344 2348 2352 + 2356 2360 2364 2368 2372 2376 2380 2384 2388 2392 2396 2400 + 2404 2408 2412 2416 2420 2424 2428 2432 2436 2440 2444 2448 + 2452 2456 2460 2464 2468 2472 2476 2480 2484 2488 2492 2496 + 2500 2504 2508 2512 2516 2520 2524 2528 2532 2536 2540 2544 + 2548 2552 2556 2560 2564 2568 2572 2576 2580 2584 2588 2592 + 2596 2600 2604 2608 2612 2616 2620 2624 2628 2632 2636 2640 + 2644 2648 2652 2656 2660 2664 2668 2672 2676 2680 2684 2688 + 2692 2696 2700 2704 2708 2712 2716 2720 2724 2728 2732 2736 + 2740 2744 2748 2752 2756 2760 2764 2768 2772 2776 2780 2784 + 2788 2792 2796 2800 2804 2808 2812 2816 2820 2824 2828 2832 + 2836 2840 2844 2848 2852 2856 2860 2864 2868 2872 2876 2880 + 2884 2888 2892 2896 2900 2904 2908 2912 2916 2920 2924 2928 + 2932 2936 2940 2944 2948 2952 2956 2960 2964 2968 2972 2976 + 2980 2984 2988 2992 2996 3000 3004 3008 3012 3016 3020 3024 + 3028 3032 3036 3040 3044 3048 3052 3056 3060 3064 3068 3072 + 3076 3080 3084 3088 3092 3096 3100 3104 3108 3112 3116 3120 + 3124 3128 3132 3136 3140 3144 3148 3152 3156 3160 3164 3168 + 3172 3176 3180 3184 3188 3192 3196 3200 + </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 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 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 + 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 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 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 + 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 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> diff --git a/test/references/zeroeq2c-reference.vtu b/test/references/zeroeq2c-reference.vtu new file mode 100644 index 0000000000..0f7ee4a880 --- /dev/null +++ b/test/references/zeroeq2c-reference.vtu @@ -0,0 +1,934 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> + <UnstructuredGrid> + <Piece NumberOfCells="600" NumberOfPoints="651"> + <PointData Scalars="P" Vectors="v"> + <DataArray type="Float32" Name="P" NumberOfComponents="1" format="ascii"> + 100009 99994.9 100009 99995 100008 100008 99994.5 99994.5 100007 100007 99994.8 99994.8 + 100007 100007 99995.2 99995.2 100006 100006 99995.6 99995.6 100005 100005 99995.9 99995.9 + 100005 100005 99996.3 99996.3 100004 100004 99996.7 99996.7 100004 100004 99997.1 99997.1 + 100003 100003 99997.5 99997.5 100003 100003 99997.9 99997.9 100002 100002 99998.3 99998.3 + 100002 100002 99998.7 99998.7 100001 100001 99999.1 99999.1 100001 100001 99999.5 99999.5 + 100000 100000 100010 99993.8 100008 99994.3 100007 99994.8 100007 99995.2 100006 99995.5 + 100005 99996 100005 99996.4 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 + 100002 99998.3 100002 99998.7 100001 99999.1 100001 99999.5 100000 100010 99994.3 100008 + 99994.3 100007 99994.7 100007 99995.2 100006 99995.6 100005 99995.9 100005 99996.3 100004 + 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.3 100002 99998.7 100001 + 99999.1 100001 99999.5 100000 100009 99993.3 100008 99994.3 100007 99994.8 100007 99995.1 + 100006 99995.5 100005 99996 100005 99996.4 100004 99996.7 100004 99997.1 100003 99997.5 + 100003 99997.9 100002 99998.3 100002 99998.7 100001 99999.1 100001 99999.5 100000 100011 + 99994.4 100008 99994.4 100007 99994.8 100007 99995.2 100006 99995.6 100005 99995.9 100005 + 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.3 100002 + 99998.7 100001 99999.1 100001 99999.5 100000 100007 99993.5 100008 99994.5 100007 99994.8 + 100007 99995.2 100006 99995.5 100005 99996 100005 99996.4 100004 99996.7 100004 99997.1 + 100003 99997.5 100003 99997.9 100002 99998.2 100002 99998.6 100001 99999 100001 99999.5 + 100000 100008 99994.5 100008 99994.5 100007 99994.8 100007 99995.2 100006 99995.6 100005 + 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.8 100002 + 99998.3 100002 99998.7 100001 99999.1 100001 99999.5 100000 100008 99993.9 100008 99994.5 + 100007 99994.8 100007 99995.2 100006 99995.5 100005 99996 100005 99996.4 100004 99996.7 + 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.2 100002 99998.6 100001 99999 + 100001 99999.4 100000 100008 99994.3 100008 99994.6 100007 99994.9 100007 99995.2 100006 + 99995.6 100005 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 + 99997.9 100002 99998.3 100002 99998.7 100001 99999 100001 99999.4 100000 100008 99994.1 + 100008 99994.4 100007 99994.8 100007 99995.2 100006 99995.5 100005 99996 100005 99996.4 + 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.2 100002 99998.6 + 100001 99999 100001 99999.4 100000 100008 99993.9 100008 99994.5 100007 99994.9 100007 + 99995.2 100006 99995.6 100005 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 100003 + 99997.5 100003 99997.9 100002 99998.3 100002 99998.7 100001 99999 100001 99999.4 100000 + 100008 99994.3 100008 99994.4 100007 99994.7 100007 99995.1 100006 99995.5 100005 99995.9 + 100005 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.2 + 100002 99998.6 100001 99999 100001 99999.4 100000 100007 99993.6 100008 99994.4 100007 + 99994.8 100007 99995.2 100006 99995.5 100005 99995.9 100005 99996.3 100004 99996.7 100004 + 99997.1 100003 99997.5 100003 99997.8 100002 99998.3 100002 99998.7 100001 99999.1 100001 + 99999.5 100000 100010 99994.2 100008 99994.2 100007 99994.7 100007 99995.1 100006 99995.5 + 100005 99995.9 100005 99996.3 100004 99996.7 100004 99997 100003 99997.5 100003 99997.9 + 100002 99998.2 100002 99998.6 100001 99999 100001 99999.5 100000 100009 99993.3 100008 + 99994.2 100008 99994.7 100007 99995.1 100006 99995.5 100005 99995.9 100005 99996.3 100004 + 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.3 100002 99998.7 100001 + 99999.1 100001 99999.5 100000 100010 99993.9 100008 99994.2 100007 99994.6 100007 99995.1 + 100006 99995.5 100005 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 + 100003 99997.9 100002 99998.3 100002 99998.6 100001 99999.1 100001 99999.5 100000 100009 + 99993.6 100008 99994.3 100008 99994.7 100007 99995.1 100006 99995.5 100005 99995.9 100005 + 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.3 100002 + 99998.7 100001 99999.1 100001 99999.5 100000 100010 99993.9 100008 99994.3 100007 99994.7 + 100007 99995.1 100006 99995.5 100005 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 + 100003 99997.5 100003 99997.9 100002 99998.3 100002 99998.7 100001 99999.1 100001 99999.5 + 100000 100008 99994.5 100008 99994.5 100007 99994.7 100007 99995.1 100006 99995.5 100005 + 99995.9 100005 99996.3 100004 99996.7 100004 99997.1 100003 99997.5 100003 99997.9 100002 + 99998.3 100002 99998.7 100001 99999.1 100001 99999.5 100000 100008 99994.5 100008 99994.5 + 100007 99994.7 100007 99995.1 100006 99995.5 100005 99995.9 100005 99996.3 100004 99996.7 + 100004 99997.1 100003 99997.5 100003 99997.9 100002 99998.3 100002 99998.7 100001 99999.1 + 100001 99999.5 100000 + </DataArray> + <DataArray type="Float32" Name="delP" NumberOfComponents="1" format="ascii"> + 8.80025 -5.06099 8.86929 -4.99195 7.73966 7.77332 -5.53513 -5.50811 7.0562 7.0644 -5.22933 -5.22207 + 6.5107 6.51446 -4.82785 -4.82254 5.93373 5.9376 -4.44407 -4.4399 5.35622 5.35781 -4.06009 -4.05957 + 4.81256 4.81229 -3.66058 -3.66112 4.28087 4.28117 -3.26208 -3.26061 3.73249 3.73423 -2.88231 -2.87992 + 3.18159 3.18335 -2.50579 -2.50461 2.64297 2.64356 -2.11389 -2.11356 2.11328 2.11353 -1.71501 -1.71407 + 1.57986 1.58056 -1.32243 -1.32112 1.04488 1.04543 -0.929635 -0.928807 0.518818 0.519192 -0.5322 -0.531286 + 0 0 9.98593 -6.17871 8.20854 -5.67072 7.22685 -5.24532 6.55559 -4.84339 5.95053 -4.45117 + 5.38119 -4.04612 4.82841 -3.64629 4.28364 -3.26632 3.73303 -2.88878 3.18488 -2.50035 2.64911 -2.1084 + 2.11866 -1.71971 1.58527 -1.32949 1.05377 -0.93289 0.525813 -0.535774 0 10.3072 -5.73419 8.23906 + -5.66447 7.22094 -5.255 6.57879 -4.81925 5.97493 -4.42518 5.3773 -4.06959 4.81744 -3.68013 4.2891 + -3.26115 3.74866 -2.87235 3.20171 -2.50678 2.65382 -2.1207 2.11898 -1.71351 1.58768 -1.31643 1.05026 + -0.927535 0.521268 -0.529086 0 9.17398 -6.67943 8.26074 -5.69332 7.3415 -5.24242 6.59897 -4.86128 + 5.97561 -4.46464 5.42547 -4.02882 4.86224 -3.6255 4.30159 -3.27881 3.73985 -2.90858 3.19416 -2.49904 + 2.66592 -2.10428 2.136 -1.73256 1.59915 -1.3474 1.07128 -0.941708 0.537341 -0.537167 0 10.7091 + -5.63903 8.00073 -5.63382 7.19179 -5.2307 6.59099 -4.79414 5.99577 -4.40779 5.38918 -4.08682 4.82322 + -3.71113 4.30508 -3.26531 3.76776 -2.86653 3.22923 -2.51856 2.66982 -2.13907 2.12895 -1.71611 1.60008 + -1.3126 1.05771 -0.930611 0.524467 -0.530349 0 6.72835 -6.4806 7.89834 -5.54662 7.30211 -5.1835 + 6.61068 -4.84219 5.99072 -4.45558 5.4271 -4.01442 4.87517 -3.61094 4.31529 -3.2983 3.7474 -2.93555 + 3.20448 -2.50114 2.68306 -2.10305 2.15868 -1.75222 1.61713 -1.37463 1.09382 -0.956487 0.553346 -0.546663 + 0 8.44305 -5.47116 7.84464 -5.45464 7.13696 -5.1885 6.58923 -4.78886 6.01327 -4.41409 5.41592 + -4.07686 4.83121 -3.70262 4.2891 -3.26113 3.77143 -2.8618 3.25737 -2.53866 2.68475 -2.16223 2.13792 + -1.71784 1.6122 -1.30909 1.0662 -0.940011 0.530394 -0.542369 0 7.61308 -6.14986 7.64245 -5.53902 + 7.20178 -5.17552 6.60791 -4.83284 6.00597 -4.45269 5.43664 -4.02704 4.88869 -3.62432 4.32779 -3.28604 + 3.74994 -2.92456 3.19417 -2.50108 2.68725 -2.10219 2.18658 -1.77776 1.63718 -1.40757 1.11976 -0.972402 + 0.572054 -0.565572 0 8.10807 -5.73613 7.71708 -5.43582 7.18795 -5.14226 6.61586 -4.78872 6.02939 + -4.42175 5.43159 -4.06927 4.83848 -3.69371 4.28656 -3.26913 3.77029 -2.86823 3.25022 -2.51987 2.68328 + -2.14624 2.12464 -1.70865 1.60896 -1.29837 1.07809 -0.956545 0.542941 -0.565588 0 7.94188 -5.88032 + 7.60449 -5.5574 7.17142 -5.20237 6.61616 -4.84125 6.02506 -4.45814 5.452 -4.04064 4.89812 -3.63268 + 4.33022 -3.27514 3.756 -2.91578 3.20155 -2.50656 2.68665 -2.10087 2.17546 -1.76558 1.63736 -1.40071 + 1.11419 -0.96241 0.576731 -0.573776 0 7.69595 -6.05226 7.74988 -5.46559 7.25835 -5.14611 6.65339 + -4.80463 6.04736 -4.43857 5.44074 -4.07534 4.84183 -3.69526 4.2909 -3.27249 3.77146 -2.86925 3.24468 + -2.51728 2.68426 -2.14793 2.12664 -1.70754 1.6084 -1.29557 1.0706 -0.955186 0.542996 -0.565053 0 + 8.19794 -5.65769 7.77313 -5.65037 7.19073 -5.2754 6.63473 -4.87112 6.03572 -4.46928 5.46229 -4.05179 + 4.91207 -3.65543 4.33778 -3.30024 3.76016 -2.93553 3.20476 -2.49892 2.68318 -2.09113 2.16512 -1.77139 + 1.63716 -1.40652 1.11993 -0.968376 0.569248 -0.562438 0 6.78018 -6.40406 8.05909 -5.57238 7.41209 + -5.19814 6.7033 -4.84412 6.0634 -4.47401 5.44251 -4.09728 4.84214 -3.70204 4.30242 -3.26338 3.77314 + -2.85965 3.23027 -2.5319 2.686 -2.16395 2.14674 -1.71733 1.61281 -1.30534 1.06148 -0.939223 0.531445 + -0.543019 0 10.4883 -5.78856 7.9185 -5.79051 7.27666 -5.3396 6.67199 -4.90292 6.04756 -4.47989 + 5.4715 -4.05915 4.92348 -3.68221 4.33637 -3.32329 3.76764 -2.95161 3.22591 -2.5061 2.68629 -2.09895 + 2.14886 -1.75075 1.61748 -1.37435 1.09605 -0.955175 0.552477 -0.545131 0 8.99906 -6.71761 8.35231 + -5.77568 7.53301 -5.26624 6.74221 -4.87674 6.07367 -4.51323 5.44343 -4.12123 4.84852 -3.71125 4.32307 + -3.2731 3.77365 -2.8718 3.21792 -2.52151 2.67325 -2.14236 2.13824 -1.71775 1.60246 -1.31224 1.05667 + -0.930609 0.525415 -0.530611 0 9.82177 -6.11618 8.26308 -5.81751 7.38581 -5.35988 6.69089 -4.93196 + 6.04501 -4.49844 5.46808 -4.07885 4.90716 -3.6843 4.32562 -3.31086 3.76029 -2.92721 3.21357 -2.50815 + 2.67299 -2.10653 2.13527 -1.73375 1.60134 -1.34825 1.07371 -0.941476 0.537596 -0.536089 0 9.46806 + -6.40548 8.36741 -5.74123 7.50055 -5.29388 6.7289 -4.90664 6.0589 -4.52446 5.4362 -4.11981 4.85562 + -3.70104 4.31384 -3.28116 3.76009 -2.88624 3.20373 -2.51411 2.66089 -2.12532 2.12739 -1.71653 1.59147 + -1.31773 1.05153 -0.927898 0.522429 -0.52881 0 10.0432 -6.09444 8.27371 -5.69656 7.3774 -5.32346 + 6.66507 -4.93243 6.02444 -4.52 5.43709 -4.10215 4.8736 -3.69148 4.31125 -3.29675 3.75125 -2.90801 + 3.19899 -2.51034 2.65834 -2.113 2.12398 -1.72264 1.58921 -1.33117 1.05643 -0.933174 0.526912 -0.535017 + 0 8.2017 -5.50678 7.91897 -5.51074 7.33311 -5.26648 6.64665 -4.92145 6.01293 -4.53065 5.4206 + -4.11524 4.85705 -3.69472 4.3077 -3.28758 3.74886 -2.8975 3.19241 -2.51311 2.65308 -2.1183 2.12159 + -1.71764 1.58504 -1.32294 1.04784 -0.929079 0.520625 -0.530772 0 8.18528 -5.5232 7.92187 -5.52276 + 7.32315 -5.2791 6.63807 -4.92905 6.00816 -4.53369 5.41938 -4.11561 4.85738 -3.69496 4.30701 -3.28938 + 3.74727 -2.89974 3.19116 -2.51397 2.65268 -2.11848 2.12128 -1.71855 1.58439 -1.32417 1.0474 -0.929814 + 0.520309 -0.531588 0 + </DataArray> + <DataArray type="Float32" Name="X^H2O" NumberOfComponents="1" format="ascii"> + 0 0 0 5.97792e-06 0 2.80698e-05 0 7.87136e-05 0 0.000161827 0 0.000289296 + 0 0.000494062 0 0.000783005 0 0.00117004 0 0.00163392 0 0.00220455 0 0.00285043 + 0 0.0036057 0 0.00441345 0 0.00531683 0 0.00623837 0 0.0072468 0 0.00825163 + 0 0.00934504 0 0.0104233 0 0.0115874 0 0.0127085 0 0.0139042 0 0.0150239 + 0 0.0162204 0 0.0173304 0 0.018532 0 0.01964 0 0.0208358 0 0.0219141 + 0 0.0231281 0 2.09565e-05 0.000103705 0.000262472 0.000449179 0.00069013 0.00111752 0.00173126 0.00246964 0.00329397 + 0.00423415 0.00527987 0.00643327 0.0076479 0.00892788 0.0102368 0.0115908 0.0129504 0.0143454 0.0157365 0.0171522 0.0185533 + 0.0199665 0.0213531 0.0227464 0.0241078 0.0254764 0.026813 0.0281542 0.0294513 0.0306635 0 0.000149863 0.000669002 + 0.0014083 0.00177565 0.00188314 0.00300528 0.00458535 0.00601986 0.00730832 0.00870948 0.010342 0.0120439 0.0137623 0.0154529 + 0.0171201 0.018766 0.0203853 0.021976 0.023554 0.0251234 0.0266672 0.0282018 0.0296925 0.0311648 0.0325968 0.0340158 + 0.0354114 0.0367981 0.0381637 0.0394102 0 0.000788031 0.00207811 0.00801384 0.0129618 0.0181398 0.021053 0.0216834 + 0.0204762 0.0189139 0.020094 0.0223225 0.024402 0.0261312 0.0275515 0.0292239 0.0308583 0.0325166 0.0340801 0.0356099 + 0.037055 0.0385004 0.0398706 0.0412642 0.042623 0.0439812 0.0453105 0.0466089 0.0478944 0.0491933 0.0504809 0 + 0.0517814 0.0649271 0.0666228 0.0650927 0.0635832 0.06266 0.0628816 0.0637275 0.0664752 0.0665578 0.0638137 0.0597808 + 0.0544987 0.0526373 0.0525919 0.052927 0.0533586 0.0533173 0.0538568 0.0545333 0.0554783 0.0564297 0.0573993 0.0582949 + 0.0592161 0.0600971 0.0610856 0.0620551 0.0631666 0.0644331 0.2 0.134396 0.103879 0.0982443 0.0994003 0.101906 + 0.103259 0.103408 0.103172 0.102607 0.101519 0.100926 0.10042 0.10207 0.102357 0.0993306 0.0951243 0.0887043 + 0.0844873 0.0827062 0.081561 0.0809493 0.079699 0.0793439 0.0790822 0.0793266 0.0795186 0.0797993 0.0800698 0.0806052 + 0.0817848 0.2 0.195971 0.189155 0.183211 0.172041 0.160688 0.152226 0.1463 0.142642 0.140127 0.138898 + 0.137597 0.136561 0.135255 0.133135 0.131251 0.129401 0.12877 0.129854 0.127533 0.124049 0.118091 0.113503 + 0.11061 0.108408 0.106472 0.104318 0.103281 0.102314 0.102161 0.103078 0.2 0.199853 0.198298 0.195345 + 0.190636 0.185924 0.181476 0.177454 0.17358 0.169893 0.166282 0.163202 0.160917 0.159313 0.158792 0.158322 + 0.15783 0.157131 0.155479 0.153465 0.151311 0.149818 0.150308 0.148181 0.145255 0.140044 0.136492 0.13309 + 0.130067 0.127803 0.128119 0.2 0.199946 0.199642 0.199005 0.198543 0.197703 0.195844 0.19355 0.190821 + 0.188238 0.185659 0.183355 0.180933 0.178674 0.176074 0.173641 0.171568 0.169777 0.168779 0.168254 0.167716 + 0.16744 0.166301 0.165024 0.163396 0.162661 0.162291 0.160233 0.15777 0.154173 0.153927 0.2 0.199453 + 0.198463 0.19778 0.19777 0.19715 0.195683 0.193908 0.191598 0.189254 0.18674 0.184383 0.182249 0.180573 + 0.179182 0.178619 0.177657 0.177328 0.175729 0.173825 0.172169 0.17063 0.170108 0.169838 0.169335 0.169041 + 0.167831 0.167201 0.166418 0.163763 0.164204 0.2 0.198887 0.196212 0.192128 0.187335 0.183015 0.179252 + 0.176286 0.173656 0.171842 0.170263 0.169172 0.16768 0.165869 0.163684 0.161202 0.159271 0.157379 0.156741 + 0.157059 0.157512 0.15791 0.156406 0.154809 0.153197 0.152645 0.150487 0.146626 0.142501 0.138382 0.138301 + 0.2 0.191246 0.189715 0.180411 0.171619 0.163545 0.157906 0.153598 0.150456 0.147735 0.145593 0.143698 + 0.142591 0.142084 0.142408 0.142648 0.142933 0.142313 0.140348 0.138489 0.136383 0.135929 0.134122 0.130247 + 0.126543 0.120985 0.117247 0.114418 0.111961 0.110109 0.110659 0.2 0.1403 0.124168 0.12033 0.121624 + 0.122873 0.122905 0.121689 0.120557 0.119531 0.118887 0.118485 0.11798 0.116688 0.114817 0.11353 0.112571 + 0.112932 0.111196 0.107244 0.103221 0.097216 0.0930833 0.0908483 0.0895351 0.0886714 0.0872678 0.0867608 0.0862979 + 0.0862547 0.0871355 0 0.0655354 0.0891039 0.0900756 0.0864966 0.0824618 0.08037 0.0797663 0.0797674 0.0797985 + 0.0799626 0.0807397 0.0827411 0.0825 0.0805463 0.0766868 0.0727329 0.0671021 0.0640943 0.0633534 0.0633611 0.0638453 + 0.0634247 0.0635197 0.0636722 0.0642922 0.0648899 0.0654209 0.0659194 0.0664582 0.0674419 0 0.00201193 0.00718646 + 0.0106091 0.0171837 0.0244373 0.0303372 0.0356058 0.0394586 0.0406824 0.040388 0.0385874 0.0357994 0.0331795 0.0332289 + 0.0347899 0.0364245 0.0378804 0.0385036 0.0393605 0.0403066 0.0415386 0.0428056 0.0439481 0.0450023 0.0460396 0.0470567 + 0.0481528 0.0492047 0.0502539 0.0512858 0 6.15723e-05 0.000801971 0.00188263 0.00316409 0.00446715 0.00546265 0.0057729 + 0.00525425 0.00633672 0.00834123 0.0108745 0.012996 0.0146309 0.0159133 0.0173529 0.0189259 0.0206242 0.0222692 0.0237753 + 0.0251952 0.0265931 0.0279644 0.0293558 0.0307132 0.0320528 0.0333654 0.034637 0.035893 0.037102 0.0381366 0 + -1.54744e-06 1.73973e-05 7.01749e-05 0.000175811 0.00038605 0.000730307 0.00118682 0.00157756 0.00199997 0.0026256 0.00354007 0.00469165 + 0.00593864 0.00718178 0.00839807 0.00964222 0.010925 0.0122543 0.0136033 0.0149609 0.016302 0.0176511 0.0189723 0.0202973 + 0.021596 0.0228948 0.0241773 0.0254559 0.0267017 0.0276867 0 -2.72568e-08 -4.88814e-09 2.38508e-06 1.28503e-05 4.38602e-05 + 0.000114577 0.000241781 0.000418942 0.000629284 0.000894518 0.00124546 0.00172154 0.00231132 0.00300979 0.00377325 0.00460946 0.00549135 + 0.00644496 0.00743576 0.00848444 0.00955071 0.0106553 0.0117634 0.0129019 0.0140355 0.0151951 0.0163424 0.0175086 0.0186584 + 0.0195824 0 -1.43482e-09 -2.60873e-08 8.53659e-08 1.17895e-06 5.62029e-06 1.89208e-05 4.83958e-05 0.000102582 0.000180983 0.000290957 + 0.000433676 0.000631665 0.000884274 0.00121568 0.0016038 0.00207427 0.00258915 0.00318719 0.00381962 0.00453387 0.00526516 0.0060718 + 0.00687188 0.00774551 0.00859639 0.00952427 0.010417 0.011383 0.0123035 0.0131964 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="rho" NumberOfComponents="1" format="ascii"> + 1.23023 1.23006 1.23023 1.23005 1.23021 1.23019 1.23005 1.22999 1.23021 1.23009 1.23006 1.22984 + 1.2302 1.22983 1.23006 1.22948 1.23019 1.22932 1.23006 1.22885 1.23019 1.22854 1.23007 1.22794 + 1.23018 1.22749 1.23007 1.22679 1.23017 1.22622 1.23008 1.22544 1.23017 1.22478 1.23008 1.22396 + 1.23016 1.22323 1.23009 1.22236 1.23015 1.22157 1.23009 1.22069 1.23015 1.21986 1.2301 1.219 + 1.23014 1.21816 1.2301 1.21732 1.23013 1.21647 1.23011 1.21564 1.23013 1.21479 1.23011 1.21399 + 1.23012 1.21312 1.23024 1.23003 1.23014 1.22985 1.22987 1.22954 1.22937 1.22877 1.22835 1.22761 + 1.22703 1.22614 1.2254 1.22439 1.22355 1.22249 1.22158 1.2205 1.21955 1.21847 1.2175 1.21642 + 1.21544 1.21438 1.21341 1.21239 1.21143 1.21044 1.20949 1.20855 1.20768 1.23025 1.22994 1.22972 + 1.229 1.22888 1.22865 1.22796 1.22665 1.22572 1.22464 1.22372 1.2224 1.22126 1.2199 1.21876 + 1.21745 1.21633 1.21507 1.21399 1.21278 1.21171 1.21053 1.20948 1.20836 1.20734 1.20628 1.20529 + 1.20427 1.2033 1.20231 1.20143 1.23023 1.22945 1.22867 1.2241 1.22062 1.21668 1.2147 1.21411 + 1.21511 1.21612 1.21539 1.21365 1.21225 1.2109 1.20997 1.20868 1.20759 1.20632 1.20527 1.20411 + 1.20314 1.20206 1.20113 1.2001 1.19918 1.19818 1.19727 1.19633 1.19544 1.19452 1.19362 1.23025 + 1.19264 1.18367 1.18234 1.18354 1.18444 1.18522 1.18493 1.18447 1.18245 1.18251 1.18429 1.18719 + 1.19076 1.19216 1.1921 1.19195 1.19157 1.19167 1.19123 1.19082 1.1901 1.18949 1.18877 1.18818 + 1.18751 1.18693 1.18622 1.18556 1.18478 1.18391 1.09732 1.13746 1.1574 1.16097 1.16036 1.15855 + 1.1578 1.15757 1.15785 1.1581 1.15893 1.15921 1.15965 1.15846 1.15836 1.16028 1.16315 1.16737 + 1.17027 1.17141 1.17224 1.1726 1.1735 1.17369 1.17391 1.17371 1.17361 1.17339 1.17323 1.17285 + 1.17206 1.09734 1.09958 1.10379 1.10722 1.11414 1.12098 1.12637 1.12995 1.13238 1.13385 1.13474 + 1.13546 1.13622 1.13695 1.13839 1.13951 1.14077 1.1411 1.14048 1.1419 1.1442 1.14799 1.15103 + 1.15287 1.15435 1.15559 1.15703 1.15769 1.15835 1.15844 1.15784 1.09733 1.09727 1.09834 1.09995 + 1.1029 1.10559 1.1084 1.11071 1.11319 1.11533 1.11765 1.11944 1.12095 1.12185 1.12226 1.12247 + 1.12285 1.12321 1.12431 1.1255 1.1269 1.12778 1.12752 1.12881 1.13068 1.13394 1.13622 1.13836 + 1.14031 1.14175 1.14155 1.09734 1.09722 1.09754 1.09778 1.09819 1.09855 1.09979 1.10103 1.10278 + 1.10421 1.10587 1.10715 1.10871 1.10999 1.11165 1.11305 1.11439 1.11541 1.11609 1.11635 1.11674 + 1.11686 1.1176 1.11834 1.11939 1.11981 1.12006 1.12131 1.12285 1.12508 1.12524 1.09733 1.09751 + 1.09824 1.0985 1.09865 1.09888 1.09988 1.10081 1.10231 1.1036 1.10522 1.10653 1.10792 1.10884 + 1.10977 1.11002 1.11068 1.11081 1.11185 1.11295 1.11401 1.1149 1.11527 1.11539 1.11574 1.11588 + 1.11665 1.11702 1.11751 1.11913 1.11887 1.09733 1.09784 1.09958 1.10187 1.10488 1.10734 1.10975 + 1.11142 1.11314 1.11413 1.11521 1.11577 1.11679 1.1178 1.11924 1.12068 1.12196 1.12306 1.12352 + 1.12326 1.12304 1.12274 1.12372 1.12467 1.12571 1.12602 1.1274 1.12979 1.13241 1.135 1.13506 + 1.09734 1.10239 1.10346 1.10891 1.1144 1.11922 1.12284 1.12539 1.12747 1.12906 1.13051 1.1316 + 1.1324 1.13262 1.13251 1.13227 1.13217 1.13249 1.1338 1.13491 1.13631 1.13654 1.13774 1.14017 + 1.14258 1.14613 1.14858 1.15039 1.15201 1.15321 1.15286 1.09732 1.13372 1.14418 1.1465 1.14582 + 1.14486 1.14498 1.14563 1.14649 1.14703 1.14756 1.14771 1.14814 1.14889 1.15019 1.15095 1.15165 + 1.15134 1.15254 1.15507 1.15778 1.16169 1.1645 1.16595 1.16686 1.16741 1.16838 1.1687 1.16902 + 1.16904 1.16845 1.23025 1.18308 1.16723 1.16641 1.16897 1.17154 1.1731 1.17337 1.1735 1.17335 + 1.17336 1.17272 1.17147 1.17154 1.17295 1.17548 1.17826 1.18204 1.18419 1.18463 1.18469 1.18429 + 1.18464 1.18452 1.18446 1.18399 1.18361 1.18322 1.1829 1.18251 1.18184 1.23023 1.22854 1.22488 + 1.22219 1.21753 1.21211 1.208 1.20409 1.20147 1.20048 1.20081 1.20197 1.20406 1.20583 1.2059 + 1.20469 1.20361 1.20249 1.20212 1.20144 1.20083 1.1999 1.19905 1.1982 1.19749 1.19673 1.19604 + 1.19524 1.19452 1.19377 1.19305 1.23024 1.23 1.22962 1.22864 1.22785 1.22673 1.22614 1.22576 + 1.22628 1.22535 1.22399 1.22201 1.22056 1.21926 1.21842 1.21728 1.21622 1.2149 1.21378 1.21262 + 1.21165 1.21059 1.20965 1.2086 1.20767 1.20667 1.20576 1.20482 1.20395 1.20307 1.20234 1.23024 + 1.23004 1.23021 1.23 1.23008 1.22977 1.22966 1.22917 1.22902 1.22857 1.22823 1.22743 1.22669 + 1.22566 1.22484 1.22385 1.22301 1.22199 1.22109 1.22003 1.2191 1.21806 1.21712 1.21612 1.21519 + 1.21421 1.2133 1.21235 1.21144 1.21053 1.20982 1.23024 1.23004 1.23022 1.23005 1.2302 1.23002 + 1.23012 1.22988 1.22988 1.22959 1.22952 1.22914 1.22889 1.22835 1.22793 1.22727 1.22673 1.226 + 1.22537 1.22456 1.22385 1.22301 1.22225 1.22139 1.22059 1.21973 1.21891 1.21804 1.21721 1.21636 + 1.21569 1.23022 1.23005 1.23022 1.23005 1.23021 1.23005 1.23019 1.23002 1.23012 1.22993 1.22997 + 1.22975 1.22971 1.22941 1.22927 1.22888 1.22862 1.22815 1.22778 1.22724 1.22678 1.22618 1.22563 + 1.22499 1.22439 1.22372 1.22307 1.22239 1.22169 1.22101 1.22036 1.23022 1.23005 1.23022 1.23005 + 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23019 1.23007 1.23018 1.23007 1.23017 1.23008 + 1.23017 1.23008 1.23016 1.23009 1.23015 1.23009 1.23015 1.2301 1.23014 1.2301 1.23013 1.23011 + 1.23013 1.23011 1.23012 + </DataArray> + <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii"> + 1.75183e-05 1.75183e-05 1.75183e-05 1.75182e-05 1.75183e-05 1.75179e-05 1.75183e-05 1.75171e-05 1.75183e-05 1.7516e-05 1.75183e-05 1.75141e-05 + 1.75183e-05 1.75112e-05 1.75183e-05 1.75071e-05 1.75183e-05 1.75016e-05 1.75183e-05 1.7495e-05 1.75183e-05 1.74868e-05 1.75183e-05 1.74777e-05 + 1.75183e-05 1.74669e-05 1.75183e-05 1.74555e-05 1.75183e-05 1.74427e-05 1.75183e-05 1.74296e-05 1.75183e-05 1.74153e-05 1.75183e-05 1.74012e-05 + 1.75183e-05 1.73858e-05 1.75183e-05 1.73706e-05 1.75183e-05 1.73542e-05 1.75183e-05 1.73385e-05 1.75183e-05 1.73217e-05 1.75183e-05 1.73061e-05 + 1.75183e-05 1.72894e-05 1.75183e-05 1.72739e-05 1.75183e-05 1.72572e-05 1.75183e-05 1.72418e-05 1.75183e-05 1.72252e-05 1.75183e-05 1.72103e-05 + 1.75183e-05 1.71935e-05 1.75183e-05 1.7518e-05 1.75168e-05 1.75145e-05 1.75119e-05 1.75084e-05 1.75023e-05 1.74936e-05 1.74831e-05 1.74714e-05 + 1.7458e-05 1.74432e-05 1.74268e-05 1.74097e-05 1.73916e-05 1.73732e-05 1.73542e-05 1.73351e-05 1.73156e-05 1.72961e-05 1.72764e-05 1.72569e-05 + 1.72373e-05 1.72181e-05 1.71988e-05 1.718e-05 1.71611e-05 1.71428e-05 1.71244e-05 1.71066e-05 1.709e-05 1.75183e-05 1.75161e-05 1.75087e-05 + 1.74982e-05 1.74929e-05 1.74914e-05 1.74755e-05 1.7453e-05 1.74327e-05 1.74145e-05 1.73947e-05 1.73717e-05 1.73478e-05 1.73237e-05 1.73001e-05 + 1.72768e-05 1.72539e-05 1.72315e-05 1.72094e-05 1.71876e-05 1.7166e-05 1.71448e-05 1.71237e-05 1.71033e-05 1.70832e-05 1.70636e-05 1.70443e-05 + 1.70254e-05 1.70066e-05 1.69881e-05 1.69712e-05 1.75183e-05 1.7507e-05 1.74886e-05 1.74045e-05 1.73349e-05 1.72627e-05 1.72222e-05 1.72135e-05 + 1.72302e-05 1.72519e-05 1.72355e-05 1.72047e-05 1.71759e-05 1.71521e-05 1.71326e-05 1.71097e-05 1.70874e-05 1.70647e-05 1.70434e-05 1.70227e-05 + 1.70031e-05 1.69835e-05 1.6965e-05 1.69463e-05 1.6928e-05 1.69098e-05 1.6892e-05 1.68746e-05 1.68574e-05 1.68401e-05 1.6823e-05 1.75183e-05 + 1.68057e-05 1.6633e-05 1.66109e-05 1.66308e-05 1.66505e-05 1.66625e-05 1.66596e-05 1.66486e-05 1.66128e-05 1.66118e-05 1.66475e-05 1.67002e-05 + 1.67698e-05 1.67944e-05 1.6795e-05 1.67906e-05 1.67848e-05 1.67854e-05 1.67782e-05 1.67693e-05 1.67568e-05 1.67443e-05 1.67315e-05 1.67197e-05 + 1.67076e-05 1.66961e-05 1.66831e-05 1.66704e-05 1.66559e-05 1.66394e-05 1.50242e-05 1.57697e-05 1.6139e-05 1.62088e-05 1.61945e-05 1.61634e-05 + 1.61467e-05 1.61448e-05 1.61477e-05 1.61547e-05 1.61682e-05 1.61755e-05 1.61818e-05 1.61614e-05 1.61578e-05 1.61953e-05 1.62478e-05 1.63283e-05 + 1.63816e-05 1.64042e-05 1.64188e-05 1.64266e-05 1.64425e-05 1.64471e-05 1.64504e-05 1.64473e-05 1.64448e-05 1.64413e-05 1.64378e-05 1.6431e-05 + 1.6416e-05 1.50242e-05 1.50682e-05 1.51431e-05 1.5209e-05 1.53342e-05 1.54633e-05 1.55608e-05 1.56297e-05 1.56725e-05 1.57021e-05 1.57165e-05 + 1.57319e-05 1.57441e-05 1.57596e-05 1.57847e-05 1.58071e-05 1.58292e-05 1.58367e-05 1.58238e-05 1.58515e-05 1.58933e-05 1.59652e-05 1.60209e-05 + 1.60563e-05 1.60832e-05 1.6107e-05 1.61336e-05 1.61464e-05 1.61584e-05 1.61602e-05 1.61489e-05 1.50242e-05 1.50258e-05 1.50428e-05 1.50751e-05 + 1.51268e-05 1.51789e-05 1.52284e-05 1.52733e-05 1.53169e-05 1.53585e-05 1.53995e-05 1.54346e-05 1.54607e-05 1.54791e-05 1.54851e-05 1.54905e-05 + 1.54961e-05 1.55042e-05 1.55232e-05 1.55465e-05 1.55714e-05 1.55887e-05 1.5583e-05 1.56078e-05 1.56419e-05 1.5703e-05 1.57449e-05 1.57852e-05 + 1.58212e-05 1.58483e-05 1.58445e-05 1.50242e-05 1.50248e-05 1.50281e-05 1.5035e-05 1.50401e-05 1.50493e-05 1.50696e-05 1.50947e-05 1.51248e-05 + 1.51533e-05 1.51818e-05 1.52074e-05 1.52344e-05 1.52597e-05 1.52888e-05 1.53162e-05 1.53396e-05 1.53598e-05 1.53711e-05 1.53771e-05 1.53832e-05 + 1.53863e-05 1.53993e-05 1.54138e-05 1.54324e-05 1.54408e-05 1.5445e-05 1.54686e-05 1.54968e-05 1.55383e-05 1.55411e-05 1.50242e-05 1.50302e-05 + 1.5041e-05 1.50484e-05 1.50485e-05 1.50553e-05 1.50714e-05 1.50908e-05 1.51162e-05 1.51421e-05 1.51699e-05 1.5196e-05 1.52197e-05 1.52384e-05 + 1.5254e-05 1.52603e-05 1.52711e-05 1.52748e-05 1.52927e-05 1.53141e-05 1.53328e-05 1.53502e-05 1.53561e-05 1.53591e-05 1.53648e-05 1.53682e-05 + 1.53819e-05 1.5389e-05 1.53979e-05 1.54282e-05 1.54232e-05 1.50242e-05 1.50363e-05 1.50656e-05 1.51104e-05 1.51633e-05 1.52112e-05 1.52532e-05 + 1.52864e-05 1.5316e-05 1.53365e-05 1.53543e-05 1.53667e-05 1.53836e-05 1.54042e-05 1.54291e-05 1.54574e-05 1.54796e-05 1.55013e-05 1.55087e-05 + 1.5505e-05 1.54998e-05 1.54952e-05 1.55125e-05 1.55309e-05 1.55496e-05 1.5556e-05 1.5581e-05 1.56259e-05 1.56742e-05 1.57226e-05 1.57236e-05 + 1.50242e-05 1.51201e-05 1.5137e-05 1.52403e-05 1.5339e-05 1.54307e-05 1.54953e-05 1.55449e-05 1.55813e-05 1.5613e-05 1.5638e-05 1.56601e-05 + 1.56731e-05 1.56791e-05 1.56752e-05 1.56724e-05 1.56691e-05 1.56764e-05 1.56995e-05 1.57214e-05 1.57462e-05 1.57516e-05 1.5773e-05 1.58191e-05 + 1.58633e-05 1.59302e-05 1.59754e-05 1.60098e-05 1.60397e-05 1.60624e-05 1.60557e-05 1.50242e-05 1.57e-05 1.58918e-05 1.59381e-05 1.59225e-05 + 1.59074e-05 1.5907e-05 1.59217e-05 1.59353e-05 1.59477e-05 1.59555e-05 1.59604e-05 1.59665e-05 1.59822e-05 1.60049e-05 1.60206e-05 1.60323e-05 + 1.60279e-05 1.60491e-05 1.60975e-05 1.61471e-05 1.62217e-05 1.62733e-05 1.63013e-05 1.63179e-05 1.63287e-05 1.63465e-05 1.63529e-05 1.63587e-05 + 1.63593e-05 1.63481e-05 1.75183e-05 1.66251e-05 1.63233e-05 1.63111e-05 1.63562e-05 1.64073e-05 1.6434e-05 1.64417e-05 1.64417e-05 1.64413e-05 + 1.64392e-05 1.64293e-05 1.64038e-05 1.64069e-05 1.64317e-05 1.64811e-05 1.65319e-05 1.66047e-05 1.66438e-05 1.66535e-05 1.66534e-05 1.66471e-05 + 1.66526e-05 1.66513e-05 1.66493e-05 1.66412e-05 1.66335e-05 1.66265e-05 1.66201e-05 1.66131e-05 1.66003e-05 1.75183e-05 1.74896e-05 1.74162e-05 + 1.7368e-05 1.7276e-05 1.71755e-05 1.70945e-05 1.70227e-05 1.69706e-05 1.69541e-05 1.69581e-05 1.69824e-05 1.70201e-05 1.70557e-05 1.7055e-05 + 1.70338e-05 1.70116e-05 1.69919e-05 1.69835e-05 1.69719e-05 1.69592e-05 1.69426e-05 1.69255e-05 1.69102e-05 1.68961e-05 1.68822e-05 1.68686e-05 + 1.6854e-05 1.684e-05 1.6826e-05 1.68123e-05 1.75183e-05 1.75174e-05 1.75068e-05 1.74914e-05 1.74732e-05 1.74547e-05 1.74406e-05 1.74362e-05 + 1.74435e-05 1.74282e-05 1.73999e-05 1.73642e-05 1.73345e-05 1.73116e-05 1.72937e-05 1.72736e-05 1.72517e-05 1.72282e-05 1.72054e-05 1.71846e-05 + 1.7165e-05 1.71458e-05 1.7127e-05 1.71079e-05 1.70893e-05 1.70711e-05 1.70532e-05 1.70359e-05 1.70188e-05 1.70024e-05 1.69884e-05 1.75183e-05 + 1.75183e-05 1.7518e-05 1.75173e-05 1.75158e-05 1.75128e-05 1.75078e-05 1.75013e-05 1.74958e-05 1.74898e-05 1.74809e-05 1.74679e-05 1.74515e-05 + 1.74338e-05 1.74163e-05 1.73991e-05 1.73816e-05 1.73635e-05 1.73449e-05 1.7326e-05 1.7307e-05 1.72883e-05 1.72695e-05 1.72511e-05 1.72327e-05 + 1.72147e-05 1.71967e-05 1.7179e-05 1.71614e-05 1.71443e-05 1.71308e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75182e-05 1.75181e-05 1.75176e-05 + 1.75166e-05 1.75148e-05 1.75123e-05 1.75093e-05 1.75055e-05 1.75005e-05 1.74937e-05 1.74853e-05 1.74754e-05 1.74645e-05 1.74527e-05 1.74402e-05 + 1.74267e-05 1.74127e-05 1.73979e-05 1.73829e-05 1.73673e-05 1.73517e-05 1.73358e-05 1.73199e-05 1.73037e-05 1.72877e-05 1.72714e-05 1.72554e-05 + 1.72426e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75182e-05 1.75182e-05 1.7518e-05 1.75176e-05 1.75168e-05 1.75157e-05 1.75141e-05 + 1.75121e-05 1.75093e-05 1.75057e-05 1.75009e-05 1.74954e-05 1.74887e-05 1.74814e-05 1.74729e-05 1.74639e-05 1.74538e-05 1.74434e-05 1.7432e-05 + 1.74206e-05 1.74083e-05 1.73963e-05 1.73832e-05 1.73707e-05 1.73571e-05 1.73442e-05 1.73317e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 + </DataArray> + <DataArray type="Float32" Name="v" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 2.5 0 0 2.37481 0.176083 0 + 0 0 0 2.21751 0.0739739 0 0 0 0 2.17922 0.0676992 0 + 0 0 0 2.01872 0.0236302 0 0 0 0 2.03916 0.0209521 0 + 0 0 0 1.90135 0.0121637 0 0 0 0 1.95284 0.0154283 0 + 0 0 0 1.82861 0.0120045 0 0 0 0 1.89421 0.0121987 0 + 0 0 0 1.77916 0.00558931 0 0 0 0 1.85291 0.00251918 0 + 0 0 0 1.74124 0.000311778 0 0 0 0 1.81945 -0.00044168 0 + 0 0 0 1.70839 0.00176583 0 0 0 0 1.7906 0.00481562 0 + 0 0 0 1.68146 0.00575258 0 0 0 0 1.76652 0.00727351 0 + 0 0 0 1.65933 0.0057166 0 0 0 0 1.74776 0.00382564 0 + 0 0 0 1.64092 0.00224128 0 0 0 0 1.73195 0.00143592 0 + 0 0 0 1.62475 0.00121142 0 0 0 0 1.7177 0.00312297 0 + 0 0 0 1.61103 0.00246541 0 0 0 0 1.70565 0.00411686 0 + 0 0 0 1.59948 0.0019878 0 0 0 0 1.69507 0.00273608 0 + 0 0 0 1.58861 0.00147263 0 0 0 0 1.68467 0.00300462 0 + 0 0 0 1.57716 0.000606455 0 2.5 0 0 2.7081 0.121611 0 + 2.60763 0.0664264 0 2.6681 0.0847624 0 2.54524 0.0551782 0 2.57188 0.0513148 0 + 2.45716 0.0360893 0 2.48887 0.0327547 0 2.38515 0.0256899 0 2.4247 0.022896 0 + 2.32948 0.0184626 0 2.37573 0.0181055 0 2.28531 0.0152127 0 2.33548 0.0159737 0 + 2.24868 0.0132547 0 2.30335 0.0131723 0 2.21943 0.0113391 0 2.27715 0.0111712 0 + 2.19485 0.00905232 0 2.2549 0.00965712 0 2.17367 0.00783232 0 2.2356 0.00861111 0 + 2.1552 0.0072224 0 2.21924 0.00737259 0 2.13974 0.00630832 0 2.20552 0.00633936 0 + 2.12647 0.005695 0 2.19327 0.00596303 0 2.11434 0.00565508 0 2.18175 0.00569152 0 + 2.10388 0.00788135 0 2.5 0 0 2.77054 0.122548 0 2.71585 0.109259 0 + 2.81962 0.100883 0 2.72956 0.0739632 0 2.77898 0.0645654 0 2.68105 0.0529513 0 + 2.72111 0.0511676 0 2.6318 0.0434654 0 2.67316 0.0402455 0 2.59066 0.029876 0 + 2.63238 0.025781 0 2.55202 0.0209703 0 2.59546 0.0196925 0 2.51816 0.0186777 0 + 2.56665 0.021197 0 2.49351 0.0199431 0 2.5439 0.0214014 0 2.47293 0.0179214 0 + 2.52451 0.0163805 0 2.4536 0.0131245 0 2.50632 0.0127054 0 2.4359 0.0107689 0 + 2.49067 0.0127381 0 2.42198 0.0107002 0 2.47826 0.0125181 0 2.41033 0.00953763 0 + 2.46699 0.0105193 0 2.39899 0.00891142 0 2.45614 0.00938746 0 2.38842 0.010847 0 + 2.5 0 0 2.70105 -0.00358029 0 2.61509 0.0640769 0 2.75251 0.0753937 0 + 2.69191 0.0792753 0 2.78639 0.0721359 0 2.7235 0.0656474 0 2.79568 0.0580601 0 + 2.72568 0.0510722 0 2.78269 0.0450606 0 2.70728 0.0403393 0 2.75984 0.0396438 0 + 2.68741 0.0354774 0 2.73696 0.035454 0 2.66824 0.0295183 0 2.71775 0.0282609 0 + 2.65038 0.0249043 0 2.70023 0.0243237 0 2.63382 0.0207935 0 2.68473 0.021901 0 + 2.62029 0.0188003 0 2.67122 0.0198981 0 2.608 0.0169252 0 2.65956 0.0167271 0 + 2.5969 0.0144538 0 2.64934 0.0144739 0 2.58699 0.013189 0 2.6406 0.0137561 0 + 2.57841 0.0128908 0 2.63233 0.0131583 0 2.56888 0.0140068 0 2.5 0 0 + 2.70535 0.0406578 0 2.62269 0.0996822 0 2.70725 0.0750364 0 2.64848 0.074402 0 + 2.73541 0.0628286 0 2.67972 0.0583738 0 2.76375 0.0534613 0 2.70657 0.0487313 0 + 2.78864 0.045264 0 2.73394 0.0430985 0 2.80515 0.0393202 0 2.74286 0.0358559 0 + 2.80441 0.032757 0 2.73635 0.0304727 0 2.79611 0.0329402 0 2.73318 0.0310048 0 + 2.78957 0.0324232 0 2.72916 0.0277883 0 2.78391 0.0259308 0 2.72249 0.0221559 0 + 2.77558 0.0216695 0 2.71416 0.0187005 0 2.76763 0.0207203 0 2.70847 0.0176955 0 + 2.76207 0.0197562 0 2.70378 0.015837 0 2.75678 0.0171001 0 2.69832 0.014907 0 + 2.75123 0.0164554 0 2.69133 0.0171062 0 2.5 0 0 2.51129 0.0343513 0 + 2.49165 0.0804497 0 2.61865 0.0589036 0 2.58803 0.0648531 0 2.68556 0.0563202 0 + 2.63918 0.0531983 0 2.72536 0.0494065 0 2.67349 0.0439462 0 2.75589 0.0421969 0 + 2.70055 0.0362964 0 2.78158 0.0333455 0 2.72429 0.0310278 0 2.8042 0.0289423 0 + 2.75184 0.0311087 0 2.82605 0.0302544 0 2.7685 0.0292488 0 2.83631 0.0282279 0 + 2.77254 0.0239206 0 2.83631 0.0266247 0 2.77711 0.0241192 0 2.83681 0.0258009 0 + 2.77989 0.0224183 0 2.83716 0.0215155 0 2.77992 0.0188948 0 2.83556 0.0188196 0 + 2.77837 0.0172667 0 2.83478 0.0183607 0 2.77826 0.0170191 0 2.83408 0.0188283 0 + 2.77556 0.0192243 0 2.5 0 0 2.54152 -0.0652621 0 2.50415 0.0128999 0 + 2.59808 0.0317136 0 2.55704 0.0501097 0 2.64433 0.0468388 0 2.59828 0.0433304 0 + 2.68784 0.0394152 0 2.63996 0.0345771 0 2.72675 0.032668 0 2.6769 0.0294294 0 + 2.75953 0.0294774 0 2.70538 0.0259031 0 2.78503 0.0264683 0 2.72806 0.0239947 0 + 2.80754 0.0217644 0 2.75164 0.0213564 0 2.83017 0.0194711 0 2.77794 0.0210609 0 + 2.85586 0.0213594 0 2.79899 0.0206966 0 2.87007 0.0205775 0 2.80771 0.0168833 0 + 2.87478 0.0207049 0 2.81729 0.0181042 0 2.88106 0.0212618 0 2.82544 0.0166864 0 + 2.88586 0.0181126 0 2.83023 0.0157922 0 2.88929 0.0192294 0 2.83301 0.0198072 0 + 2.5 0 0 2.51901 0.0363856 0 2.46295 0.0372549 0 2.55227 0.0292309 0 + 2.51567 0.0263249 0 2.61524 0.022165 0 2.57018 0.021 0 2.66425 0.0229172 0 + 2.61403 0.0211689 0 2.7031 0.0225175 0 2.64968 0.0198126 0 2.73571 0.0188577 0 + 2.68232 0.017512 0 2.76618 0.0163628 0 2.71446 0.0164479 0 2.79631 0.0170459 0 + 2.74186 0.0163199 0 2.82163 0.0165968 0 2.76392 0.0170458 0 2.84267 0.013745 0 + 2.78562 0.0137047 0 2.86384 0.0112092 0 2.81111 0.0130188 0 2.88861 0.0123751 0 + 2.83284 0.0131326 0 2.90436 0.0125907 0 2.84407 0.01162 0 2.91484 0.0147761 0 + 2.85821 0.0136434 0 2.92592 0.0177392 0 2.87022 0.0181529 0 2.5 0 0 + 2.54619 -0.0416528 0 2.48802 -0.0125182 0 2.566 0.00479094 0 2.51517 0.0126619 0 + 2.6082 0.016926 0 2.55562 0.0136014 0 2.64988 0.0137939 0 2.59687 0.0100194 0 + 2.68946 0.0105961 0 2.63585 0.00800747 0 2.72486 0.00970283 0 2.66916 0.00816085 0 + 2.75416 0.00945004 0 2.69683 0.00939546 0 2.7798 0.00851722 0 2.72466 0.00821753 0 + 2.80697 0.00792631 0 2.75375 0.00715667 0 2.8372 0.00778698 0 2.78039 0.00746174 0 + 2.86192 0.00673934 0 2.80131 0.00881304 0 2.88099 0.00707273 0 2.82182 0.00726819 0 + 2.9025 0.00613255 0 2.84799 0.00672519 0 2.92585 0.00572724 0 2.86834 0.00609595 0 + 2.94445 0.00998665 0 2.89119 0.0112264 0 2.5 0 0 2.53827 0.0499317 0 + 2.48046 0.0224241 0 2.55248 0.0156535 0 2.50051 0.00100507 0 2.59621 0.00138074 0 + 2.54334 -0.00378009 0 2.64064 -0.000325726 0 2.58613 -0.00263483 0 2.67918 0.000271467 0 + 2.62386 -0.00137926 0 2.71252 -0.000420538 0 2.65755 -0.0010738 0 2.74554 -0.000574446 0 + 2.68946 -0.00105851 0 2.77879 -0.000329982 0 2.72027 -0.000313659 0 2.80759 0.000141654 0 + 2.74813 0.00128866 0 2.82884 0.000764747 0 2.77276 0.00052278 0 2.8519 0.000691037 0 + 2.79762 0.0005208 0 2.88077 0.000218918 0 2.82257 7.58924e-05 0 2.90346 -0.000252837 0 + 2.84178 0.00133042 0 2.92258 0.00142581 0 2.86406 0.00150559 0 2.94832 0.00047226 0 + 2.8971 6.19596e-05 0 2.5 0 0 2.51029 -0.0252754 0 2.45559 -0.027153 0 + 2.54115 -0.00522349 0 2.49859 -0.0127109 0 2.59893 -0.00439386 0 2.55027 -0.0116607 0 + 2.64759 -0.00957564 0 2.59593 -0.0129748 0 2.68904 -0.0114997 0 2.63565 -0.0126026 0 + 2.72461 -0.0101337 0 2.66952 -0.0114386 0 2.754 -0.00763129 0 2.69696 -0.00908914 0 + 2.77975 -0.00644141 0 2.72441 -0.00793654 0 2.80707 -0.00607153 0 2.75308 -0.00682403 0 + 2.83614 -0.00779076 0 2.77947 -0.00677699 0 2.86129 -0.00730573 0 2.80033 -0.0056101 0 + 2.87968 -0.00464849 0 2.82031 -0.00507563 0 2.9012 -0.00420495 0 2.84717 -0.00554053 0 + 2.92333 -0.00579289 0 2.86661 -0.00611292 0 2.94064 -0.00987427 0 2.88792 -0.0108263 0 + 2.5 0 0 2.52015 0.0776427 0 2.48899 -0.00467134 0 2.57341 -0.00681969 0 + 2.52574 -0.0352654 0 2.61735 -0.0278694 0 2.57084 -0.033352 0 2.66432 -0.0260401 0 + 2.61501 -0.0267795 0 2.70376 -0.0209862 0 2.65119 -0.0210178 0 2.73644 -0.0179883 0 + 2.68364 -0.0182192 0 2.76747 -0.016712 0 2.71427 -0.0177262 0 2.79584 -0.0177396 0 + 2.74121 -0.0166847 0 2.82115 -0.0164635 0 2.76234 -0.0133362 0 2.84158 -0.0106904 0 + 2.78313 -0.011231 0 2.86274 -0.00874443 0 2.81085 -0.0123232 0 2.88491 -0.0120033 0 + 2.82975 -0.0129104 0 2.89994 -0.0125096 0 2.84066 -0.011714 0 2.90984 -0.0143598 0 + 2.85434 -0.0131068 0 2.92059 -0.0168431 0 2.86554 -0.0171957 0 2.5 0 0 + 2.49699 -0.0246005 0 2.48274 -0.0605471 0 2.5974 -0.036167 0 2.55531 -0.047393 0 + 2.65275 -0.0371694 0 2.60447 -0.0420543 0 2.69476 -0.0362086 0 2.64439 -0.0363486 0 + 2.73086 -0.0324528 0 2.6776 -0.0314551 0 2.76078 -0.0282224 0 2.70571 -0.0277288 0 + 2.78537 -0.022189 0 2.72744 -0.0216476 0 2.80733 -0.0184236 0 2.74984 -0.0197714 0 + 2.83047 -0.0173121 0 2.77772 -0.020844 0 2.85154 -0.0201794 0 2.79525 -0.0202939 0 + 2.86453 -0.019312 0 2.80306 -0.0171099 0 2.86867 -0.0197486 0 2.8119 -0.0169434 0 + 2.87491 -0.0199405 0 2.82017 -0.0157388 0 2.87937 -0.0168771 0 2.82471 -0.0148526 0 + 2.8831 -0.0180593 0 2.82712 -0.0186311 0 2.5 0 0 2.66902 -0.0161163 0 + 2.58988 -0.0654724 0 2.66107 -0.0381478 0 2.59717 -0.055815 0 2.68935 -0.0472769 0 + 2.63626 -0.0522187 0 2.72714 -0.0459663 0 2.67368 -0.0448335 0 2.75782 -0.0370141 0 + 2.70134 -0.0355491 0 2.78173 -0.0309299 0 2.7249 -0.0307554 0 2.806 -0.0287907 0 + 2.74911 -0.0312805 0 2.82189 -0.029188 0 2.76305 -0.0283042 0 2.82964 -0.0261267 0 + 2.76582 -0.023845 0 2.82884 -0.024613 0 2.76981 -0.0221921 0 2.82929 -0.0236284 0 + 2.77306 -0.0206438 0 2.82903 -0.0196998 0 2.77267 -0.0174192 0 2.82795 -0.0170642 0 + 2.77154 -0.016109 0 2.82765 -0.0170841 0 2.77174 -0.0157993 0 2.82717 -0.0176651 0 + 2.76895 -0.018068 0 2.5 0 0 2.65465 0.0577884 0 2.56486 -0.0277686 0 + 2.68909 -0.0454338 0 2.62795 -0.0654983 0 2.73272 -0.0613024 0 2.6758 -0.0606927 0 + 2.76557 -0.0529821 0 2.70797 -0.0493993 0 2.78938 -0.043946 0 2.72791 -0.041127 0 + 2.79917 -0.036153 0 2.73317 -0.0323928 0 2.79411 -0.0313122 0 2.7266 -0.0294532 0 + 2.78607 -0.0302856 0 2.72338 -0.0282567 0 2.78026 -0.029258 0 2.71974 -0.0249224 0 + 2.77339 -0.0229409 0 2.71278 -0.0199538 0 2.76575 -0.0190045 0 2.70523 -0.0173657 0 + 2.75882 -0.0190047 0 2.70012 -0.016225 0 2.75382 -0.0181211 0 2.69614 -0.0144133 0 + 2.74899 -0.0156819 0 2.69117 -0.0137423 0 2.74401 -0.0152948 0 2.68431 -0.0159654 0 + 2.5 0 0 2.70502 -0.0641579 0 2.63694 -0.0623823 0 2.74887 -0.064829 0 + 2.67689 -0.0605736 0 2.76862 -0.0572182 0 2.70129 -0.0555983 0 2.7776 -0.0503399 0 + 2.7037 -0.0459965 0 2.76333 -0.0420272 0 2.68906 -0.0381157 0 2.74254 -0.0352465 0 + 2.67117 -0.032733 0 2.72283 -0.0309003 0 2.65303 -0.0268145 0 2.70399 -0.0246884 0 + 2.63678 -0.0223028 0 2.6879 -0.0209802 0 2.62168 -0.0191439 0 2.67345 -0.0195031 0 + 2.60909 -0.0168754 0 2.66075 -0.017766 0 2.59811 -0.0150612 0 2.64989 -0.0149435 0 + 2.58792 -0.0130549 0 2.64064 -0.0129715 0 2.57889 -0.0120592 0 2.63272 -0.0125899 0 + 2.57105 -0.0118259 0 2.62505 -0.012187 0 2.5619 -0.0130296 0 2.5 0 0 + 2.69276 -0.0227383 0 2.60584 -0.0366683 0 2.72299 -0.0684795 0 2.64391 -0.0705207 0 + 2.72057 -0.0721473 0 2.63582 -0.0612666 0 2.69002 -0.0535989 0 2.60401 -0.0436063 0 + 2.65101 -0.0353197 0 2.56616 -0.027612 0 2.61223 -0.0230346 0 2.53108 -0.018878 0 + 2.57824 -0.0191648 0 2.50117 -0.0181385 0 2.55192 -0.0199467 0 2.47865 -0.017998 0 + 2.53082 -0.0190195 0 2.45984 -0.0152365 0 2.51215 -0.0139703 0 2.44181 -0.0113794 0 + 2.49533 -0.0108977 0 2.42563 -0.00985632 0 2.48119 -0.0115254 0 2.41301 -0.00971324 0 + 2.46982 -0.0113897 0 2.40241 -0.00853108 0 2.45935 -0.00952536 0 2.39189 -0.00810315 0 + 2.44928 -0.00856483 0 2.38189 -0.0100177 0 2.5 0 0 2.6856 -0.134505 0 + 2.57879 -0.0623972 0 2.63005 -0.0820878 0 2.50764 -0.0519048 0 2.54195 -0.0519217 0 + 2.42685 -0.0379303 0 2.46526 -0.0339272 0 2.35978 -0.0256488 0 2.40431 -0.0228332 0 + 2.30673 -0.0182727 0 2.35666 -0.016739 0 2.26481 -0.014667 0 2.31879 -0.0141252 0 + 2.23105 -0.012205 0 2.28861 -0.0114828 0 2.20427 -0.010127 0 2.26422 -0.00940918 0 + 2.18184 -0.00810687 0 2.24344 -0.0083553 0 2.16244 -0.00686721 0 2.22559 -0.00759671 0 + 2.14568 -0.0063417 0 2.21058 -0.00649721 0 2.13158 -0.00562542 0 2.19798 -0.00558889 0 + 2.11941 -0.00512926 0 2.18664 -0.00538836 0 2.10818 -0.00513027 0 2.17589 -0.00517238 0 + 2.09845 -0.00732432 0 2.5 0 0 2.35684 -0.0517975 0 2.19784 0.00281175 0 + 2.16838 -0.0335063 0 2.00813 -0.0276989 0 2.03394 -0.0338484 0 1.88843 -0.0247018 0 + 1.94171 -0.0212786 0 1.81119 -0.0145649 0 1.88131 -0.00933127 0 1.76041 -0.0046815 0 + 1.83937 -0.00208114 0 1.72374 -0.00015154 0 1.80619 -0.00156495 0 1.69319 -0.00283732 0 + 1.7788 -0.00566591 0 1.66857 -0.00529298 0 1.75657 -0.00677017 0 1.64902 -0.00419005 0 + 1.73917 -0.00290521 0 1.63238 -0.0016343 0 1.72467 -0.000959847 0 1.61759 -0.00134834 0 + 1.71161 -0.00297828 0 1.6051 -0.00232094 0 1.70046 -0.00385928 0 1.5946 -0.00165846 0 + 1.69062 -0.00243985 0 1.58454 -0.00126661 0 1.68092 -0.00273406 0 1.57396 -0.000308815 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> + </PointData> + <Points> + <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii"> + 0 0 0 0.1 0 0 0 0.05 0 0.1 0.05 0 + 0.2 0 0 0.2 0.05 0 0.3 0 0 0.3 0.05 0 + 0.4 0 0 0.4 0.05 0 0.5 0 0 0.5 0.05 0 + 0.6 0 0 0.6 0.05 0 0.7 0 0 0.7 0.05 0 + 0.8 0 0 0.8 0.05 0 0.9 0 0 0.9 0.05 0 + 1 0 0 1 0.05 0 1.1 0 0 1.1 0.05 0 + 1.2 0 0 1.2 0.05 0 1.3 0 0 1.3 0.05 0 + 1.4 0 0 1.4 0.05 0 1.5 0 0 1.5 0.05 0 + 1.6 0 0 1.6 0.05 0 1.7 0 0 1.7 0.05 0 + 1.8 0 0 1.8 0.05 0 1.9 0 0 1.9 0.05 0 + 2 0 0 2 0.05 0 2.1 0 0 2.1 0.05 0 + 2.2 0 0 2.2 0.05 0 2.3 0 0 2.3 0.05 0 + 2.4 0 0 2.4 0.05 0 2.5 0 0 2.5 0.05 0 + 2.6 0 0 2.6 0.05 0 2.7 0 0 2.7 0.05 0 + 2.8 0 0 2.8 0.05 0 2.9 0 0 2.9 0.05 0 + 3 0 0 3 0.05 0 0 0.1 0 0.1 0.1 0 + 0.2 0.1 0 0.3 0.1 0 0.4 0.1 0 0.5 0.1 0 + 0.6 0.1 0 0.7 0.1 0 0.8 0.1 0 0.9 0.1 0 + 1 0.1 0 1.1 0.1 0 1.2 0.1 0 1.3 0.1 0 + 1.4 0.1 0 1.5 0.1 0 1.6 0.1 0 1.7 0.1 0 + 1.8 0.1 0 1.9 0.1 0 2 0.1 0 2.1 0.1 0 + 2.2 0.1 0 2.3 0.1 0 2.4 0.1 0 2.5 0.1 0 + 2.6 0.1 0 2.7 0.1 0 2.8 0.1 0 2.9 0.1 0 + 3 0.1 0 0 0.15 0 0.1 0.15 0 0.2 0.15 0 + 0.3 0.15 0 0.4 0.15 0 0.5 0.15 0 0.6 0.15 0 + 0.7 0.15 0 0.8 0.15 0 0.9 0.15 0 1 0.15 0 + 1.1 0.15 0 1.2 0.15 0 1.3 0.15 0 1.4 0.15 0 + 1.5 0.15 0 1.6 0.15 0 1.7 0.15 0 1.8 0.15 0 + 1.9 0.15 0 2 0.15 0 2.1 0.15 0 2.2 0.15 0 + 2.3 0.15 0 2.4 0.15 0 2.5 0.15 0 2.6 0.15 0 + 2.7 0.15 0 2.8 0.15 0 2.9 0.15 0 3 0.15 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 1.1 0.2 0 + 1.2 0.2 0 1.3 0.2 0 1.4 0.2 0 1.5 0.2 0 + 1.6 0.2 0 1.7 0.2 0 1.8 0.2 0 1.9 0.2 0 + 2 0.2 0 2.1 0.2 0 2.2 0.2 0 2.3 0.2 0 + 2.4 0.2 0 2.5 0.2 0 2.6 0.2 0 2.7 0.2 0 + 2.8 0.2 0 2.9 0.2 0 3 0.2 0 0 0.25 0 + 0.1 0.25 0 0.2 0.25 0 0.3 0.25 0 0.4 0.25 0 + 0.5 0.25 0 0.6 0.25 0 0.7 0.25 0 0.8 0.25 0 + 0.9 0.25 0 1 0.25 0 1.1 0.25 0 1.2 0.25 0 + 1.3 0.25 0 1.4 0.25 0 1.5 0.25 0 1.6 0.25 0 + 1.7 0.25 0 1.8 0.25 0 1.9 0.25 0 2 0.25 0 + 2.1 0.25 0 2.2 0.25 0 2.3 0.25 0 2.4 0.25 0 + 2.5 0.25 0 2.6 0.25 0 2.7 0.25 0 2.8 0.25 0 + 2.9 0.25 0 3 0.25 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 1.1 0.3 0 1.2 0.3 0 1.3 0.3 0 + 1.4 0.3 0 1.5 0.3 0 1.6 0.3 0 1.7 0.3 0 + 1.8 0.3 0 1.9 0.3 0 2 0.3 0 2.1 0.3 0 + 2.2 0.3 0 2.3 0.3 0 2.4 0.3 0 2.5 0.3 0 + 2.6 0.3 0 2.7 0.3 0 2.8 0.3 0 2.9 0.3 0 + 3 0.3 0 0 0.35 0 0.1 0.35 0 0.2 0.35 0 + 0.3 0.35 0 0.4 0.35 0 0.5 0.35 0 0.6 0.35 0 + 0.7 0.35 0 0.8 0.35 0 0.9 0.35 0 1 0.35 0 + 1.1 0.35 0 1.2 0.35 0 1.3 0.35 0 1.4 0.35 0 + 1.5 0.35 0 1.6 0.35 0 1.7 0.35 0 1.8 0.35 0 + 1.9 0.35 0 2 0.35 0 2.1 0.35 0 2.2 0.35 0 + 2.3 0.35 0 2.4 0.35 0 2.5 0.35 0 2.6 0.35 0 + 2.7 0.35 0 2.8 0.35 0 2.9 0.35 0 3 0.35 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 1.1 0.4 0 + 1.2 0.4 0 1.3 0.4 0 1.4 0.4 0 1.5 0.4 0 + 1.6 0.4 0 1.7 0.4 0 1.8 0.4 0 1.9 0.4 0 + 2 0.4 0 2.1 0.4 0 2.2 0.4 0 2.3 0.4 0 + 2.4 0.4 0 2.5 0.4 0 2.6 0.4 0 2.7 0.4 0 + 2.8 0.4 0 2.9 0.4 0 3 0.4 0 0 0.45 0 + 0.1 0.45 0 0.2 0.45 0 0.3 0.45 0 0.4 0.45 0 + 0.5 0.45 0 0.6 0.45 0 0.7 0.45 0 0.8 0.45 0 + 0.9 0.45 0 1 0.45 0 1.1 0.45 0 1.2 0.45 0 + 1.3 0.45 0 1.4 0.45 0 1.5 0.45 0 1.6 0.45 0 + 1.7 0.45 0 1.8 0.45 0 1.9 0.45 0 2 0.45 0 + 2.1 0.45 0 2.2 0.45 0 2.3 0.45 0 2.4 0.45 0 + 2.5 0.45 0 2.6 0.45 0 2.7 0.45 0 2.8 0.45 0 + 2.9 0.45 0 3 0.45 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 1.1 0.5 0 1.2 0.5 0 1.3 0.5 0 + 1.4 0.5 0 1.5 0.5 0 1.6 0.5 0 1.7 0.5 0 + 1.8 0.5 0 1.9 0.5 0 2 0.5 0 2.1 0.5 0 + 2.2 0.5 0 2.3 0.5 0 2.4 0.5 0 2.5 0.5 0 + 2.6 0.5 0 2.7 0.5 0 2.8 0.5 0 2.9 0.5 0 + 3 0.5 0 0 0.55 0 0.1 0.55 0 0.2 0.55 0 + 0.3 0.55 0 0.4 0.55 0 0.5 0.55 0 0.6 0.55 0 + 0.7 0.55 0 0.8 0.55 0 0.9 0.55 0 1 0.55 0 + 1.1 0.55 0 1.2 0.55 0 1.3 0.55 0 1.4 0.55 0 + 1.5 0.55 0 1.6 0.55 0 1.7 0.55 0 1.8 0.55 0 + 1.9 0.55 0 2 0.55 0 2.1 0.55 0 2.2 0.55 0 + 2.3 0.55 0 2.4 0.55 0 2.5 0.55 0 2.6 0.55 0 + 2.7 0.55 0 2.8 0.55 0 2.9 0.55 0 3 0.55 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 1.1 0.6 0 + 1.2 0.6 0 1.3 0.6 0 1.4 0.6 0 1.5 0.6 0 + 1.6 0.6 0 1.7 0.6 0 1.8 0.6 0 1.9 0.6 0 + 2 0.6 0 2.1 0.6 0 2.2 0.6 0 2.3 0.6 0 + 2.4 0.6 0 2.5 0.6 0 2.6 0.6 0 2.7 0.6 0 + 2.8 0.6 0 2.9 0.6 0 3 0.6 0 0 0.65 0 + 0.1 0.65 0 0.2 0.65 0 0.3 0.65 0 0.4 0.65 0 + 0.5 0.65 0 0.6 0.65 0 0.7 0.65 0 0.8 0.65 0 + 0.9 0.65 0 1 0.65 0 1.1 0.65 0 1.2 0.65 0 + 1.3 0.65 0 1.4 0.65 0 1.5 0.65 0 1.6 0.65 0 + 1.7 0.65 0 1.8 0.65 0 1.9 0.65 0 2 0.65 0 + 2.1 0.65 0 2.2 0.65 0 2.3 0.65 0 2.4 0.65 0 + 2.5 0.65 0 2.6 0.65 0 2.7 0.65 0 2.8 0.65 0 + 2.9 0.65 0 3 0.65 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 1.1 0.7 0 1.2 0.7 0 1.3 0.7 0 + 1.4 0.7 0 1.5 0.7 0 1.6 0.7 0 1.7 0.7 0 + 1.8 0.7 0 1.9 0.7 0 2 0.7 0 2.1 0.7 0 + 2.2 0.7 0 2.3 0.7 0 2.4 0.7 0 2.5 0.7 0 + 2.6 0.7 0 2.7 0.7 0 2.8 0.7 0 2.9 0.7 0 + 3 0.7 0 0 0.75 0 0.1 0.75 0 0.2 0.75 0 + 0.3 0.75 0 0.4 0.75 0 0.5 0.75 0 0.6 0.75 0 + 0.7 0.75 0 0.8 0.75 0 0.9 0.75 0 1 0.75 0 + 1.1 0.75 0 1.2 0.75 0 1.3 0.75 0 1.4 0.75 0 + 1.5 0.75 0 1.6 0.75 0 1.7 0.75 0 1.8 0.75 0 + 1.9 0.75 0 2 0.75 0 2.1 0.75 0 2.2 0.75 0 + 2.3 0.75 0 2.4 0.75 0 2.5 0.75 0 2.6 0.75 0 + 2.7 0.75 0 2.8 0.75 0 2.9 0.75 0 3 0.75 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 1.1 0.8 0 + 1.2 0.8 0 1.3 0.8 0 1.4 0.8 0 1.5 0.8 0 + 1.6 0.8 0 1.7 0.8 0 1.8 0.8 0 1.9 0.8 0 + 2 0.8 0 2.1 0.8 0 2.2 0.8 0 2.3 0.8 0 + 2.4 0.8 0 2.5 0.8 0 2.6 0.8 0 2.7 0.8 0 + 2.8 0.8 0 2.9 0.8 0 3 0.8 0 0 0.85 0 + 0.1 0.85 0 0.2 0.85 0 0.3 0.85 0 0.4 0.85 0 + 0.5 0.85 0 0.6 0.85 0 0.7 0.85 0 0.8 0.85 0 + 0.9 0.85 0 1 0.85 0 1.1 0.85 0 1.2 0.85 0 + 1.3 0.85 0 1.4 0.85 0 1.5 0.85 0 1.6 0.85 0 + 1.7 0.85 0 1.8 0.85 0 1.9 0.85 0 2 0.85 0 + 2.1 0.85 0 2.2 0.85 0 2.3 0.85 0 2.4 0.85 0 + 2.5 0.85 0 2.6 0.85 0 2.7 0.85 0 2.8 0.85 0 + 2.9 0.85 0 3 0.85 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 1.1 0.9 0 1.2 0.9 0 1.3 0.9 0 + 1.4 0.9 0 1.5 0.9 0 1.6 0.9 0 1.7 0.9 0 + 1.8 0.9 0 1.9 0.9 0 2 0.9 0 2.1 0.9 0 + 2.2 0.9 0 2.3 0.9 0 2.4 0.9 0 2.5 0.9 0 + 2.6 0.9 0 2.7 0.9 0 2.8 0.9 0 2.9 0.9 0 + 3 0.9 0 0 0.95 0 0.1 0.95 0 0.2 0.95 0 + 0.3 0.95 0 0.4 0.95 0 0.5 0.95 0 0.6 0.95 0 + 0.7 0.95 0 0.8 0.95 0 0.9 0.95 0 1 0.95 0 + 1.1 0.95 0 1.2 0.95 0 1.3 0.95 0 1.4 0.95 0 + 1.5 0.95 0 1.6 0.95 0 1.7 0.95 0 1.8 0.95 0 + 1.9 0.95 0 2 0.95 0 2.1 0.95 0 2.2 0.95 0 + 2.3 0.95 0 2.4 0.95 0 2.5 0.95 0 2.6 0.95 0 + 2.7 0.95 0 2.8 0.95 0 2.9 0.95 0 3 0.95 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 1.1 1 0 + 1.2 1 0 1.3 1 0 1.4 1 0 1.5 1 0 + 1.6 1 0 1.7 1 0 1.8 1 0 1.9 1 0 + 2 1 0 2.1 1 0 2.2 1 0 2.3 1 0 + 2.4 1 0 2.5 1 0 2.6 1 0 2.7 1 0 + 2.8 1 0 2.9 1 0 3 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 20 22 23 21 22 24 25 23 + 24 26 27 25 26 28 29 27 28 30 31 29 + 30 32 33 31 32 34 35 33 34 36 37 35 + 36 38 39 37 38 40 41 39 40 42 43 41 + 42 44 45 43 44 46 47 45 46 48 49 47 + 48 50 51 49 50 52 53 51 52 54 55 53 + 54 56 57 55 56 58 59 57 58 60 61 59 + 2 3 63 62 3 5 64 63 5 7 65 64 + 7 9 66 65 9 11 67 66 11 13 68 67 + 13 15 69 68 15 17 70 69 17 19 71 70 + 19 21 72 71 21 23 73 72 23 25 74 73 + 25 27 75 74 27 29 76 75 29 31 77 76 + 31 33 78 77 33 35 79 78 35 37 80 79 + 37 39 81 80 39 41 82 81 41 43 83 82 + 43 45 84 83 45 47 85 84 47 49 86 85 + 49 51 87 86 51 53 88 87 53 55 89 88 + 55 57 90 89 57 59 91 90 59 61 92 91 + 62 63 94 93 63 64 95 94 64 65 96 95 + 65 66 97 96 66 67 98 97 67 68 99 98 + 68 69 100 99 69 70 101 100 70 71 102 101 + 71 72 103 102 72 73 104 103 73 74 105 104 + 74 75 106 105 75 76 107 106 76 77 108 107 + 77 78 109 108 78 79 110 109 79 80 111 110 + 80 81 112 111 81 82 113 112 82 83 114 113 + 83 84 115 114 84 85 116 115 85 86 117 116 + 86 87 118 117 87 88 119 118 88 89 120 119 + 89 90 121 120 90 91 122 121 91 92 123 122 + 93 94 125 124 94 95 126 125 95 96 127 126 + 96 97 128 127 97 98 129 128 98 99 130 129 + 99 100 131 130 100 101 132 131 101 102 133 132 + 102 103 134 133 103 104 135 134 104 105 136 135 + 105 106 137 136 106 107 138 137 107 108 139 138 + 108 109 140 139 109 110 141 140 110 111 142 141 + 111 112 143 142 112 113 144 143 113 114 145 144 + 114 115 146 145 115 116 147 146 116 117 148 147 + 117 118 149 148 118 119 150 149 119 120 151 150 + 120 121 152 151 121 122 153 152 122 123 154 153 + 124 125 156 155 125 126 157 156 126 127 158 157 + 127 128 159 158 128 129 160 159 129 130 161 160 + 130 131 162 161 131 132 163 162 132 133 164 163 + 133 134 165 164 134 135 166 165 135 136 167 166 + 136 137 168 167 137 138 169 168 138 139 170 169 + 139 140 171 170 140 141 172 171 141 142 173 172 + 142 143 174 173 143 144 175 174 144 145 176 175 + 145 146 177 176 146 147 178 177 147 148 179 178 + 148 149 180 179 149 150 181 180 150 151 182 181 + 151 152 183 182 152 153 184 183 153 154 185 184 + 155 156 187 186 156 157 188 187 157 158 189 188 + 158 159 190 189 159 160 191 190 160 161 192 191 + 161 162 193 192 162 163 194 193 163 164 195 194 + 164 165 196 195 165 166 197 196 166 167 198 197 + 167 168 199 198 168 169 200 199 169 170 201 200 + 170 171 202 201 171 172 203 202 172 173 204 203 + 173 174 205 204 174 175 206 205 175 176 207 206 + 176 177 208 207 177 178 209 208 178 179 210 209 + 179 180 211 210 180 181 212 211 181 182 213 212 + 182 183 214 213 183 184 215 214 184 185 216 215 + 186 187 218 217 187 188 219 218 188 189 220 219 + 189 190 221 220 190 191 222 221 191 192 223 222 + 192 193 224 223 193 194 225 224 194 195 226 225 + 195 196 227 226 196 197 228 227 197 198 229 228 + 198 199 230 229 199 200 231 230 200 201 232 231 + 201 202 233 232 202 203 234 233 203 204 235 234 + 204 205 236 235 205 206 237 236 206 207 238 237 + 207 208 239 238 208 209 240 239 209 210 241 240 + 210 211 242 241 211 212 243 242 212 213 244 243 + 213 214 245 244 214 215 246 245 215 216 247 246 + 217 218 249 248 218 219 250 249 219 220 251 250 + 220 221 252 251 221 222 253 252 222 223 254 253 + 223 224 255 254 224 225 256 255 225 226 257 256 + 226 227 258 257 227 228 259 258 228 229 260 259 + 229 230 261 260 230 231 262 261 231 232 263 262 + 232 233 264 263 233 234 265 264 234 235 266 265 + 235 236 267 266 236 237 268 267 237 238 269 268 + 238 239 270 269 239 240 271 270 240 241 272 271 + 241 242 273 272 242 243 274 273 243 244 275 274 + 244 245 276 275 245 246 277 276 246 247 278 277 + 248 249 280 279 249 250 281 280 250 251 282 281 + 251 252 283 282 252 253 284 283 253 254 285 284 + 254 255 286 285 255 256 287 286 256 257 288 287 + 257 258 289 288 258 259 290 289 259 260 291 290 + 260 261 292 291 261 262 293 292 262 263 294 293 + 263 264 295 294 264 265 296 295 265 266 297 296 + 266 267 298 297 267 268 299 298 268 269 300 299 + 269 270 301 300 270 271 302 301 271 272 303 302 + 272 273 304 303 273 274 305 304 274 275 306 305 + 275 276 307 306 276 277 308 307 277 278 309 308 + 279 280 311 310 280 281 312 311 281 282 313 312 + 282 283 314 313 283 284 315 314 284 285 316 315 + 285 286 317 316 286 287 318 317 287 288 319 318 + 288 289 320 319 289 290 321 320 290 291 322 321 + 291 292 323 322 292 293 324 323 293 294 325 324 + 294 295 326 325 295 296 327 326 296 297 328 327 + 297 298 329 328 298 299 330 329 299 300 331 330 + 300 301 332 331 301 302 333 332 302 303 334 333 + 303 304 335 334 304 305 336 335 305 306 337 336 + 306 307 338 337 307 308 339 338 308 309 340 339 + 310 311 342 341 311 312 343 342 312 313 344 343 + 313 314 345 344 314 315 346 345 315 316 347 346 + 316 317 348 347 317 318 349 348 318 319 350 349 + 319 320 351 350 320 321 352 351 321 322 353 352 + 322 323 354 353 323 324 355 354 324 325 356 355 + 325 326 357 356 326 327 358 357 327 328 359 358 + 328 329 360 359 329 330 361 360 330 331 362 361 + 331 332 363 362 332 333 364 363 333 334 365 364 + 334 335 366 365 335 336 367 366 336 337 368 367 + 337 338 369 368 338 339 370 369 339 340 371 370 + 341 342 373 372 342 343 374 373 343 344 375 374 + 344 345 376 375 345 346 377 376 346 347 378 377 + 347 348 379 378 348 349 380 379 349 350 381 380 + 350 351 382 381 351 352 383 382 352 353 384 383 + 353 354 385 384 354 355 386 385 355 356 387 386 + 356 357 388 387 357 358 389 388 358 359 390 389 + 359 360 391 390 360 361 392 391 361 362 393 392 + 362 363 394 393 363 364 395 394 364 365 396 395 + 365 366 397 396 366 367 398 397 367 368 399 398 + 368 369 400 399 369 370 401 400 370 371 402 401 + 372 373 404 403 373 374 405 404 374 375 406 405 + 375 376 407 406 376 377 408 407 377 378 409 408 + 378 379 410 409 379 380 411 410 380 381 412 411 + 381 382 413 412 382 383 414 413 383 384 415 414 + 384 385 416 415 385 386 417 416 386 387 418 417 + 387 388 419 418 388 389 420 419 389 390 421 420 + 390 391 422 421 391 392 423 422 392 393 424 423 + 393 394 425 424 394 395 426 425 395 396 427 426 + 396 397 428 427 397 398 429 428 398 399 430 429 + 399 400 431 430 400 401 432 431 401 402 433 432 + 403 404 435 434 404 405 436 435 405 406 437 436 + 406 407 438 437 407 408 439 438 408 409 440 439 + 409 410 441 440 410 411 442 441 411 412 443 442 + 412 413 444 443 413 414 445 444 414 415 446 445 + 415 416 447 446 416 417 448 447 417 418 449 448 + 418 419 450 449 419 420 451 450 420 421 452 451 + 421 422 453 452 422 423 454 453 423 424 455 454 + 424 425 456 455 425 426 457 456 426 427 458 457 + 427 428 459 458 428 429 460 459 429 430 461 460 + 430 431 462 461 431 432 463 462 432 433 464 463 + 434 435 466 465 435 436 467 466 436 437 468 467 + 437 438 469 468 438 439 470 469 439 440 471 470 + 440 441 472 471 441 442 473 472 442 443 474 473 + 443 444 475 474 444 445 476 475 445 446 477 476 + 446 447 478 477 447 448 479 478 448 449 480 479 + 449 450 481 480 450 451 482 481 451 452 483 482 + 452 453 484 483 453 454 485 484 454 455 486 485 + 455 456 487 486 456 457 488 487 457 458 489 488 + 458 459 490 489 459 460 491 490 460 461 492 491 + 461 462 493 492 462 463 494 493 463 464 495 494 + 465 466 497 496 466 467 498 497 467 468 499 498 + 468 469 500 499 469 470 501 500 470 471 502 501 + 471 472 503 502 472 473 504 503 473 474 505 504 + 474 475 506 505 475 476 507 506 476 477 508 507 + 477 478 509 508 478 479 510 509 479 480 511 510 + 480 481 512 511 481 482 513 512 482 483 514 513 + 483 484 515 514 484 485 516 515 485 486 517 516 + 486 487 518 517 487 488 519 518 488 489 520 519 + 489 490 521 520 490 491 522 521 491 492 523 522 + 492 493 524 523 493 494 525 524 494 495 526 525 + 496 497 528 527 497 498 529 528 498 499 530 529 + 499 500 531 530 500 501 532 531 501 502 533 532 + 502 503 534 533 503 504 535 534 504 505 536 535 + 505 506 537 536 506 507 538 537 507 508 539 538 + 508 509 540 539 509 510 541 540 510 511 542 541 + 511 512 543 542 512 513 544 543 513 514 545 544 + 514 515 546 545 515 516 547 546 516 517 548 547 + 517 518 549 548 518 519 550 549 519 520 551 550 + 520 521 552 551 521 522 553 552 522 523 554 553 + 523 524 555 554 524 525 556 555 525 526 557 556 + 527 528 559 558 528 529 560 559 529 530 561 560 + 530 531 562 561 531 532 563 562 532 533 564 563 + 533 534 565 564 534 535 566 565 535 536 567 566 + 536 537 568 567 537 538 569 568 538 539 570 569 + 539 540 571 570 540 541 572 571 541 542 573 572 + 542 543 574 573 543 544 575 574 544 545 576 575 + 545 546 577 576 546 547 578 577 547 548 579 578 + 548 549 580 579 549 550 581 580 550 551 582 581 + 551 552 583 582 552 553 584 583 553 554 585 584 + 554 555 586 585 555 556 587 586 556 557 588 587 + 558 559 590 589 559 560 591 590 560 561 592 591 + 561 562 593 592 562 563 594 593 563 564 595 594 + 564 565 596 595 565 566 597 596 566 567 598 597 + 567 568 599 598 568 569 600 599 569 570 601 600 + 570 571 602 601 571 572 603 602 572 573 604 603 + 573 574 605 604 574 575 606 605 575 576 607 606 + 576 577 608 607 577 578 609 608 578 579 610 609 + 579 580 611 610 580 581 612 611 581 582 613 612 + 582 583 614 613 583 584 615 614 584 585 616 615 + 585 586 617 616 586 587 618 617 587 588 619 618 + 589 590 621 620 590 591 622 621 591 592 623 622 + 592 593 624 623 593 594 625 624 594 595 626 625 + 595 596 627 626 596 597 628 627 597 598 629 628 + 598 599 630 629 599 600 631 630 600 601 632 631 + 601 602 633 632 602 603 634 633 603 604 635 634 + 604 605 636 635 605 606 637 636 606 607 638 637 + 607 608 639 638 608 609 640 639 609 610 641 640 + 610 611 642 641 611 612 643 642 612 613 644 643 + 613 614 645 644 614 615 646 645 615 616 647 646 + 616 617 648 647 617 618 649 648 618 619 650 649 + </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 404 408 412 416 420 424 428 432 + 436 440 444 448 452 456 460 464 468 472 476 480 + 484 488 492 496 500 504 508 512 516 520 524 528 + 532 536 540 544 548 552 556 560 564 568 572 576 + 580 584 588 592 596 600 604 608 612 616 620 624 + 628 632 636 640 644 648 652 656 660 664 668 672 + 676 680 684 688 692 696 700 704 708 712 716 720 + 724 728 732 736 740 744 748 752 756 760 764 768 + 772 776 780 784 788 792 796 800 804 808 812 816 + 820 824 828 832 836 840 844 848 852 856 860 864 + 868 872 876 880 884 888 892 896 900 904 908 912 + 916 920 924 928 932 936 940 944 948 952 956 960 + 964 968 972 976 980 984 988 992 996 1000 1004 1008 + 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 + 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 + 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 + 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + 1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 + 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 + 1300 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 + 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 + 1396 1400 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 + 1444 1448 1452 1456 1460 1464 1468 1472 1476 1480 1484 1488 + 1492 1496 1500 1504 1508 1512 1516 1520 1524 1528 1532 1536 + 1540 1544 1548 1552 1556 1560 1564 1568 1572 1576 1580 1584 + 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 + 1636 1640 1644 1648 1652 1656 1660 1664 1668 1672 1676 1680 + 1684 1688 1692 1696 1700 1704 1708 1712 1716 1720 1724 1728 + 1732 1736 1740 1744 1748 1752 1756 1760 1764 1768 1772 1776 + 1780 1784 1788 1792 1796 1800 1804 1808 1812 1816 1820 1824 + 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 + 1876 1880 1884 1888 1892 1896 1900 1904 1908 1912 1916 1920 + 1924 1928 1932 1936 1940 1944 1948 1952 1956 1960 1964 1968 + 1972 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016 + 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 + 2068 2072 2076 2080 2084 2088 2092 2096 2100 2104 2108 2112 + 2116 2120 2124 2128 2132 2136 2140 2144 2148 2152 2156 2160 + 2164 2168 2172 2176 2180 2184 2188 2192 2196 2200 2204 2208 + 2212 2216 2220 2224 2228 2232 2236 2240 2244 2248 2252 2256 + 2260 2264 2268 2272 2276 2280 2284 2288 2292 2296 2300 2304 + 2308 2312 2316 2320 2324 2328 2332 2336 2340 2344 2348 2352 + 2356 2360 2364 2368 2372 2376 2380 2384 2388 2392 2396 2400 + </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 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 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 + 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 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 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> diff --git a/test/references/zeroeq2cni-reference.vtu b/test/references/zeroeq2cni-reference.vtu new file mode 100644 index 0000000000..61481d2bbb --- /dev/null +++ b/test/references/zeroeq2cni-reference.vtu @@ -0,0 +1,991 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> + <UnstructuredGrid> + <Piece NumberOfCells="600" NumberOfPoints="651"> + <PointData Scalars="P" Vectors="v"> + <DataArray type="Float32" Name="P" NumberOfComponents="1" format="ascii"> + 99999.1 99998.6 100001 100001 99999.2 100001 99998.7 100001 99999.2 100001 99998.8 100001 + 99999.3 100001 99998.9 100001 99999.3 100001 99998.9 100001 99999.4 100001 99999 100001 + 99999.4 100001 99999.1 100001 99999.5 100001 99999.2 100001 99999.6 100001 99999.3 100000 + 99999.6 100001 99999.4 100000 99999.7 100001 99999.5 100000 99999.8 100000 99999.6 100000 + 99999.8 100000 99999.7 100000 99999.9 100000 99999.8 100000 99999.9 100000 99999.9 100000 + 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 + 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 + 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 100000 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100000 100001 100000 100001 100000 100000 100000 100000 100000 100000 + 100000 100000 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 + 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 + 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 100000 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100000 100001 100000 100001 100000 100000 100000 100000 + 100000 100000 100000 100000 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 + 99999.3 99998.9 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 + 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 + 100000 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100000 100001 100000 100001 100000 100000 + 100000 100000 100000 100000 100000 100000 100000 100000 99999.2 99998.6 99999.2 99998.7 + 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 + 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 + 99999.9 99999.9 100000 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100000 100001 100000 100001 + 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 99999.2 99998.6 + 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 99999.4 99999 99999.4 99999.1 + 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 + 99999.9 99999.8 99999.9 99999.9 100000 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100000 100001 + 100000 100001 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 + 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 99999.4 99999 + 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 + 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 100000 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100000 100001 100000 100001 100000 100000 100000 100000 100000 100000 100000 100000 + 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 + 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 + 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 100000 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100000 100001 100000 100001 100000 100000 100000 100000 100000 100000 + 100000 100000 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 99999.3 99998.9 + 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 99999.6 99999.4 + 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 100000 100001 + 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100000 100001 100000 100001 100000 100000 100000 100000 + 100000 100000 100000 100000 100000 100000 99999.2 99998.6 99999.2 99998.7 99999.2 99998.8 + 99999.3 99998.9 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 99999.6 99999.3 + 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 99999.9 99999.9 + 100000 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 100001 + 100001 100001 100001 100001 100001 100001 100000 100001 100000 100001 100000 100000 + 100000 100000 100000 100000 100000 100000 100000 100000 99999.1 99998.6 99999.2 99998.7 + 99999.2 99998.8 99999.3 99998.9 99999.3 99998.9 99999.4 99999 99999.4 99999.1 99999.5 99999.2 + 99999.6 99999.3 99999.6 99999.4 99999.7 99999.5 99999.8 99999.6 99999.8 99999.7 99999.9 99999.8 + 99999.9 99999.9 100000 + </DataArray> + <DataArray type="Float32" Name="delP" NumberOfComponents="1" format="ascii"> + -0.851063 -1.3527 1.47446 0.972821 -0.810936 1.40233 -1.31219 0.915953 -0.778891 1.32569 -1.23648 0.85779 + -0.731077 1.23582 -1.14847 0.795303 -0.676677 1.13957 -1.05521 0.729844 -0.619217 1.04 -0.95919 0.662405 + -0.559981 0.938517 -0.861468 0.593608 -0.499556 0.835837 -0.762619 0.523852 -0.438289 0.732367 -0.662995 0.453409 + -0.376402 0.628357 -0.562824 0.382467 -0.314046 0.523972 -0.462275 0.31116 -0.251343 0.419331 -0.36149 0.239581 + -0.188374 0.314528 -0.260607 0.167802 -0.125238 0.209649 -0.159897 0.0958945 -0.0622257 0.104827 -0.0598809 0.0238783 + 0 0 -0.814626 -1.35912 -0.808912 -1.31119 -0.77816 -1.23591 -0.730762 -1.14824 -0.676544 -1.05512 + -0.619156 -0.959146 -0.55995 -0.861448 -0.499542 -0.76261 -0.438281 -0.66299 -0.376396 -0.562822 -0.314045 -0.462276 + -0.251341 -0.361489 -0.188372 -0.26061 -0.125238 -0.159917 -0.0621848 -0.06007 0 1.48884 0.939006 1.41621 + 0.908333 1.33187 0.856078 1.23893 0.795118 1.14133 0.73006 1.04109 0.662702 0.939232 0.593888 0.836327 + 0.52409 0.732711 0.453605 0.628601 0.382629 0.524141 0.311298 0.419438 0.239709 0.314569 0.167934 0.209609 + 0.0960641 0.104672 0.0241948 0 -0.817047 -1.35731 -0.805939 -1.30833 -0.774238 -1.23439 -0.728619 -1.14795 + -0.67561 -1.0553 -0.618785 -0.959436 -0.559823 -0.861718 -0.49952 -0.76283 -0.438304 -0.663159 -0.376438 -0.562946 + -0.314097 -0.462357 -0.251403 -0.361518 -0.188447 -0.260551 -0.125326 -0.159678 -0.0622371 -0.0594274 0 1.46812 + 0.923025 1.41708 0.901171 1.33508 0.853141 1.24164 0.794077 1.14327 0.729762 1.0424 0.66267 0.940107 + 0.593941 0.836913 0.524164 0.733105 0.45368 0.628865 0.382703 0.524311 0.311382 0.419526 0.239825 0.314568 + 0.16813 0.209499 0.0964655 0.104432 0.0251543 0 -0.815943 -1.35425 -0.806075 -1.30674 -0.772292 -1.23305 + -0.726438 -1.14713 -0.67401 -1.05492 -0.61775 -0.959274 -0.559169 -0.861652 -0.499102 -0.762802 -0.438033 -0.663143 + -0.376264 -0.562928 -0.313993 -0.462324 -0.25136 -0.361448 -0.18847 -0.260396 -0.125431 -0.159324 -0.0624205 -0.058591 + 0 1.45594 0.91359 1.41483 0.895614 1.33614 0.850371 1.2431 0.792682 1.14444 0.729033 1.04321 + 0.662262 0.940642 0.593696 0.837256 0.524011 0.733324 0.453586 0.629 0.382655 0.524384 0.311381 0.41954 + 0.23989 0.314511 0.168323 0.209353 0.0969563 0.104245 0.0264453 0 -0.814102 -1.35169 -0.80602 -1.30585 + -0.771751 -1.23265 -0.72542 -1.14677 -0.672965 -1.05462 -0.616908 -0.959055 -0.558554 -0.8615 -0.49867 -0.762696 + -0.437736 -0.663065 -0.376063 -0.562866 -0.313867 -0.462264 -0.251299 -0.361368 -0.18848 -0.260257 -0.125538 -0.159042 + -0.0626547 -0.0578658 0 1.45001 0.909059 1.413 0.892503 1.3363 0.848748 1.24368 0.791789 1.14493 + 0.728484 1.04354 0.661896 0.940836 0.593444 0.837366 0.523838 0.733385 0.453471 0.629032 0.382586 0.524392 + 0.311354 0.419522 0.239918 0.314455 0.168449 0.20925 0.0973107 0.104147 0.0274059 0 -0.813749 -1.35077 + -0.805922 -1.30567 -0.771734 -1.2328 -0.725276 -1.14689 -0.672735 -1.05466 -0.616679 -0.959061 -0.55837 -0.861498 + -0.498536 -0.762695 -0.437644 -0.663067 -0.376005 -0.562868 -0.313835 -0.462262 -0.251291 -0.361354 -0.1885 -0.260216 + -0.1256 -0.15893 -0.0627881 -0.0574711 0 1.44997 0.909025 1.41297 0.892486 1.33629 0.848753 1.2437 + 0.791806 1.14495 0.728506 1.04356 0.66192 0.940861 0.593468 0.837391 0.523862 0.733409 0.453494 0.629055 + 0.382609 0.524414 0.311375 0.419542 0.239936 0.314474 0.168465 0.209265 0.0973206 0.104156 0.0274075 0 + -0.814067 -1.35166 -0.805988 -1.30585 -0.771749 -1.23267 -0.725438 -1.14681 -0.672993 -1.05466 -0.616941 -0.959102 + -0.55859 -0.861548 -0.498708 -0.762744 -0.437774 -0.663113 -0.376102 -0.562912 -0.313904 -0.462306 -0.251335 -0.361406 + -0.188513 -0.260289 -0.125565 -0.159062 -0.062671 -0.0578703 0 1.45584 0.913493 1.41474 0.89557 1.33613 + 0.850386 1.24313 0.792729 1.1445 0.729094 1.04328 0.662327 0.940711 0.593763 0.837324 0.524077 0.73339 + 0.45365 0.629064 0.382716 0.524444 0.311437 0.419596 0.23994 0.314561 0.168364 0.209393 0.0969829 0.104268 + 0.0264528 0 -0.815881 -1.35419 -0.806024 -1.30673 -0.77229 -1.23309 -0.726468 -1.1472 -0.674058 -1.05499 + -0.617808 -0.959357 -0.559233 -0.861738 -0.499169 -0.762888 -0.438101 -0.663227 -0.376332 -0.563009 -0.31406 -0.4624 + -0.251424 -0.361516 -0.188528 -0.260452 -0.125479 -0.159359 -0.0624496 -0.0585971 0 1.46795 0.922863 1.41695 + 0.901108 1.33506 0.853166 1.2417 0.794148 1.14335 0.729853 1.0425 0.662769 0.940211 0.594042 0.837015 + 0.524263 0.733205 0.453776 0.628961 0.382794 0.524401 0.311466 0.419609 0.2399 0.314643 0.168191 0.209559 + 0.0965039 0.104467 0.0251626 0 -0.816972 -1.35723 -0.805875 -1.30832 -0.77423 -1.23443 -0.728654 -1.14803 + -0.675672 -1.05541 -0.618862 -0.959548 -0.559909 -0.861833 -0.499609 -0.762945 -0.438395 -0.663271 -0.376528 -0.563053 + -0.314185 -0.462456 -0.251487 -0.361607 -0.188524 -0.260624 -0.125389 -0.159725 -0.062276 -0.0594326 0 1.48858 + 0.938771 1.41605 0.908266 1.33186 0.856121 1.23901 0.795214 1.14144 0.730179 1.04121 0.662829 0.939363 + 0.594016 0.836455 0.524215 0.732834 0.453725 0.628718 0.382743 0.524252 0.311403 0.41954 0.239802 0.31466 + 0.168009 0.209684 0.0961095 0.104716 0.0241933 0 -0.814485 -1.35905 -0.808828 -1.31117 -0.778146 -1.23596 + -0.730809 -1.14834 -0.676626 -1.05524 -0.619254 -0.959281 -0.560055 -0.861585 -0.49965 -0.762745 -0.438389 -0.66312 + -0.376503 -0.562946 -0.314148 -0.462391 -0.25144 -0.361593 -0.188462 -0.260695 -0.125312 -0.159972 -0.0622311 -0.0600746 + 0 1.47382 0.972532 1.40215 0.915903 1.32569 0.857853 1.23592 0.79542 1.1397 0.729985 1.04014 + 0.662554 0.938665 0.593757 0.835982 0.523998 0.732506 0.453549 0.628489 0.3826 0.524097 0.311282 0.419447 + 0.239689 0.314631 0.167889 0.209735 0.0959475 0.104883 0.023868 0 -0.851294 -1.35258 -0.810854 -1.31216 + -0.77887 -1.23652 -0.731122 -1.14857 -0.676759 -1.05534 -0.619316 -0.959326 -0.560088 -0.861607 -0.499666 -0.762755 + -0.4384 -0.663128 -0.376511 -0.56295 -0.314152 -0.462392 -0.251443 -0.361595 -0.188465 -0.260694 -0.125315 -0.159954 + -0.0622742 -0.0598862 0 + </DataArray> + <DataArray type="Float32" Name="X^H2O" NumberOfComponents="1" format="ascii"> + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100001 0.1 0.100043 + 0.1 0.102884 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.100001 0.100032 0.102012 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.100001 0.100038 0.101546 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100002 0.10004 0.101404 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.100002 0.100046 0.101184 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100003 0.100049 + 0.101133 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.100004 0.100054 0.101025 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.100004 0.100058 0.101002 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100004 0.100062 0.100946 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.100003 0.10006 0.100945 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100003 0.100055 0.100934 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.100002 0.100051 0.100992 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100002 + 0.100049 0.101018 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.100001 0.100044 0.101126 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.100001 0.100043 0.101181 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.100001 0.100037 0.101398 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.100034 0.101537 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0999993 0.100026 + 0.101997 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.0999808 0.102757 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 + 0.1 0.1 0.1 + </DataArray> + <DataArray type="Float32" Name="rho" NumberOfComponents="1" format="ascii"> + 1.1059 1.1059 1.07 1.07014 1.1059 1.07028 1.1059 1.07041 1.1059 1.07056 1.1059 1.07069 + 1.1059 1.07083 1.1059 1.07097 1.1059 1.0711 1.1059 1.07123 1.1059 1.07137 1.1059 1.07149 + 1.1059 1.07162 1.1059 1.07174 1.1059 1.07187 1.1059 1.07199 1.10591 1.07211 1.1059 1.07222 + 1.10591 1.07234 1.1059 1.07245 1.10591 1.07256 1.10591 1.07267 1.10591 1.07278 1.10591 1.07288 + 1.10591 1.07299 1.10591 1.07309 1.10591 1.07319 1.10591 1.07329 1.10591 1.07338 1.10591 1.07344 + 1.10591 1.06903 1.06998 1.06998 1.07 1.07001 1.07003 1.07004 1.07006 1.07007 1.07009 1.0701 + 1.07012 1.07013 1.07015 1.07017 1.07019 1.07021 1.07023 1.07025 1.07027 1.07029 1.07031 1.07033 + 1.07036 1.07038 1.07041 1.07043 1.07046 1.07048 1.07051 1.07051 1.06737 1.07 1.07 1.07 + 1.07 1.07001 1.07 1.07001 1.07001 1.07001 1.07001 1.07002 1.07002 1.07002 1.07002 1.07003 + 1.07003 1.07003 1.07003 1.07004 1.07004 1.07005 1.07005 1.07006 1.07006 1.07006 1.07007 1.07007 + 1.07008 1.07008 1.07006 1.06766 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.07 1.07 1.07 1.07 1.07 1.07 1.07001 1.06998 1.0678 1.07 + 1.07 1.07 1.07 1.07 1.07 1.07 1.07 1.07 1.06999 1.07 1.06999 1.07 + 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06995 1.06814 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 + 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 1.06999 1.06999 1.06999 1.06995 + 1.06822 1.07 1.07 1.07 1.07 1.07 1.07 1.07 1.06999 1.07 1.06999 1.07 + 1.06999 1.07 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06994 1.0684 1.06998 1.06997 1.06998 1.06997 + 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 + 1.06998 1.06994 1.06843 1.07 1.07 1.07 1.07 1.07 1.07 1.07 1.06999 1.07 + 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06994 1.06853 1.06998 1.06997 + 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06999 1.06998 1.06998 1.06994 1.06852 1.07 1.07 1.07 1.07 1.07 1.07 1.07 + 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06994 1.06854 + 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06999 1.06998 1.06998 1.06994 1.06844 1.07 1.07 1.07 1.07 1.07 + 1.07 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06995 1.0684 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 1.06998 1.06995 1.06822 1.07 1.07 1.07 + 1.07 1.07 1.07 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06995 1.06814 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 1.06999 1.06996 1.06778 1.07 + 1.07 1.07 1.07 1.07 1.07 1.07 1.06999 1.07 1.06999 1.07 1.06999 1.07 + 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06996 1.06757 1.06998 1.06997 1.06998 1.06997 1.06998 1.06997 + 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 1.06999 1.06996 + 1.06682 1.07 1.07 1.07 1.07 1.07 1.07 1.07 1.06999 1.07 1.06999 1.07 + 1.06999 1.07 1.06999 1.07 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 + 1.06999 1.06999 1.06999 1.06999 1.06999 1.06999 1.07 1.06555 1.06998 1.06997 1.06998 1.06997 + 1.06998 1.06997 1.06998 1.06997 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 + 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06998 1.06999 1.06998 + 1.06999 1.06999 1.06999 + </DataArray> + <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii"> + 1.68204e-05 1.68204e-05 1.72735e-05 1.72717e-05 1.68204e-05 1.72699e-05 1.68204e-05 1.72681e-05 1.68204e-05 1.72663e-05 1.68204e-05 1.72645e-05 + 1.68204e-05 1.72627e-05 1.68204e-05 1.72609e-05 1.68204e-05 1.72592e-05 1.68204e-05 1.72575e-05 1.68204e-05 1.72558e-05 1.68204e-05 1.72541e-05 + 1.68204e-05 1.72525e-05 1.68204e-05 1.72508e-05 1.68204e-05 1.72493e-05 1.68204e-05 1.72477e-05 1.68204e-05 1.72461e-05 1.68204e-05 1.72446e-05 + 1.68204e-05 1.72431e-05 1.68204e-05 1.72417e-05 1.68204e-05 1.72402e-05 1.68204e-05 1.72388e-05 1.68204e-05 1.72374e-05 1.68204e-05 1.7236e-05 + 1.68204e-05 1.72347e-05 1.68204e-05 1.72333e-05 1.68204e-05 1.7232e-05 1.68204e-05 1.72308e-05 1.68204e-05 1.72295e-05 1.68204e-05 1.72279e-05 + 1.68204e-05 1.7226e-05 1.72735e-05 1.72734e-05 1.72733e-05 1.72731e-05 1.72729e-05 1.72727e-05 1.72725e-05 1.72723e-05 1.72721e-05 1.72719e-05 + 1.72717e-05 1.72715e-05 1.72713e-05 1.7271e-05 1.72708e-05 1.72706e-05 1.72703e-05 1.72701e-05 1.72698e-05 1.72695e-05 1.72692e-05 1.72689e-05 + 1.72687e-05 1.72683e-05 1.7268e-05 1.72677e-05 1.72674e-05 1.72671e-05 1.72668e-05 1.72661e-05 1.72657e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72734e-05 1.72734e-05 1.72734e-05 1.72733e-05 1.72733e-05 1.72733e-05 1.72732e-05 1.72732e-05 1.72731e-05 1.72731e-05 + 1.72731e-05 1.7273e-05 1.7273e-05 1.72729e-05 1.72729e-05 1.72728e-05 1.72728e-05 1.72727e-05 1.72726e-05 1.72726e-05 1.72725e-05 1.72724e-05 + 1.72724e-05 1.72723e-05 1.72718e-05 1.72716e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72734e-05 1.72734e-05 1.72734e-05 1.72734e-05 1.72734e-05 + 1.72734e-05 1.72734e-05 1.72734e-05 1.72733e-05 1.72733e-05 1.72733e-05 1.72733e-05 1.72733e-05 1.72732e-05 1.72728e-05 1.72728e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72734e-05 1.7273e-05 1.72728e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.7273e-05 + 1.7273e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.7273e-05 1.72728e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72729e-05 1.72729e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72729e-05 1.72728e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72729e-05 1.72729e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.7273e-05 1.72729e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.7273e-05 1.7273e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.7273e-05 1.72729e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72731e-05 1.72731e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72731e-05 1.72729e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72732e-05 1.72731e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72732e-05 1.7273e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72733e-05 + 1.72732e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72737e-05 1.7274e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 1.72735e-05 + 1.72735e-05 1.72735e-05 1.72735e-05 + </DataArray> + <DataArray type="Float32" Name="v" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 0.5 0 0 0.468418 8.18926e-17 0 + 0 0 0 0.432946 6.74122e-17 0 0 0 0 0.422666 7.11068e-17 0 + 0 0 0 0.394455 6.91192e-17 0 0 0 0 0.400083 6.83679e-17 0 + 0 0 0 0.376867 6.61416e-17 0 0 0 0 0.389502 6.43011e-17 0 + 0 0 0 0.368517 6.17502e-17 0 0 0 0 0.384249 5.95338e-17 0 + 0 0 0 0.364221 5.62562e-17 0 0 0 0 0.381391 5.71204e-17 0 + 0 0 0 0.361796 3.44319e-17 0 0 0 0 0.379687 1.47847e-16 0 + 0 0 0 0.360311 -5.31815e-16 0 0 0 0 0.378594 3.41112e-15 0 + 0 0 0 0.359346 -1.95928e-14 0 0 0 0 0.377853 1.14482e-13 0 + 0 0 0 0.35869 -6.67072e-13 0 0 0 0 0.37733 3.88857e-12 0 + 0 0 0 0.358231 -2.26658e-11 0 0 0 0 0.376948 1.32115e-10 0 + 0 0 0 0.357909 -7.70063e-10 0 0 0 0 0.37666 4.48848e-09 0 + 0 0 0 0.357692 -2.61617e-08 0 0 0 0 0.376442 1.52488e-07 0 + 0 0 0 0.357602 -8.88776e-07 0 0 0 0 0.376365 5.18024e-06 0 + 0 0 0 0.357877 -3.01913e-05 0 0 0 0 0.376892 0.000175952 0 + 0 0 0 0.359431 -0.00102526 0 0.5 0 0 0.509644 0.031678 0 + 0.488518 0.0164099 0 0.489015 0.0170058 0 0.464167 0.00881842 0 0.467784 0.00805465 0 + 0.445876 0.00440637 0 0.453572 0.00398938 0 0.433972 0.00231894 0 0.444296 0.00214321 0 + 0.42608 0.00132902 0 0.438038 0.00125169 0 0.420681 0.000822562 0 0.433689 0.000780361 0 + 0.4169 0.000537577 0 0.430603 0.000508322 0 0.414203 0.000364617 0 0.428378 0.000340336 0 + 0.412256 0.000254275 0 0.426754 0.00022952 0 0.410838 0.000181382 0 0.42556 0.000150349 0 + 0.409809 0.000133691 0 0.424683 8.58026e-05 0 0.409096 0.000100571 0 0.424083 9.98391e-06 0 + 0.408737 4.1423e-05 0 0.423893 -0.000180857 0 0.409116 -0.000211609 0 0.42483 -0.000835108 0 + 0.411318 -0.00068666 0 0.5 0 0 0.536309 0.00710221 0 0.530704 0.0100309 0 + 0.547607 0.0118008 0 0.534864 0.00939478 0 0.544134 0.00851765 0 0.528718 0.00623904 0 + 0.536953 0.00552525 0 0.521544 0.00407223 0 0.530554 0.00364688 0 0.515758 0.00274216 0 + 0.5257 0.00247863 0 0.511483 0.00190075 0 0.522164 0.00172552 0 0.508384 0.00134605 0 + 0.5196 0.00122271 0 0.506135 0.000968709 0 0.517731 0.000877544 0 0.504493 0.000706291 0 + 0.51636 0.000633481 0 0.503288 0.000520172 0 0.515348 0.000453202 0 0.502404 0.000385086 0 + 0.514605 0.000305529 0 0.501781 0.000273453 0 0.514099 0.000138302 0 0.501443 0.00011394 0 + 0.51391 -0.000201987 0 0.501626 -0.000348098 0 0.514475 -0.00114637 0 0.503224 -0.000957517 0 + 0.5 0 0 0.511922 0.0174535 0 0.501404 0.0146994 0 0.514405 0.0166452 0 + 0.502486 0.0118625 0 0.513304 0.0117144 0 0.500078 0.00820512 0 0.510285 0.00767447 0 + 0.497014 0.00543003 0 0.507498 0.00499993 0 0.49455 0.0036233 0 0.505439 0.00332847 0 + 0.492799 0.00247403 0 0.504013 0.00227236 0 0.4916 0.0017266 0 0.503043 0.00158394 0 + 0.490785 0.00122667 0 0.502384 0.00112095 0 0.490231 0.000884541 0 0.501933 0.000798793 0 + 0.489853 0.000645821 0 0.501621 0.000563627 0 0.489595 0.000476095 0 0.501405 0.000372276 0 + 0.489429 0.000340138 0 0.501266 0.000154992 0 0.48936 0.000145483 0 0.501241 -0.000298829 0 + 0.489521 -0.000444632 0 0.501613 -0.00168672 0 0.490637 -0.00170464 0 0.5 0 0 + 0.523912 0.00267839 0 0.518806 0.00763265 0 0.538531 0.0101901 0 0.531671 0.00972245 0 + 0.545919 0.00948847 0 0.53707 0.00770659 0 0.548604 0.00703438 0 0.538809 0.00547706 0 + 0.549261 0.00492179 0 0.539176 0.00380415 0 0.549275 0.00341265 0 0.539153 0.00265057 0 + 0.549156 0.00238118 0 0.539061 0.0018659 0 0.549046 0.00167838 0 0.538985 0.001329 0 + 0.54897 0.00119455 0 0.538937 0.000957735 0 0.548926 0.000854691 0 0.53891 0.000697614 0 + 0.548903 0.000606575 0 0.538898 0.000511272 0 0.548895 0.000405649 0 0.538896 0.000359368 0 + 0.548902 0.000179983 0 0.538907 0.000144311 0 0.548932 -0.00028351 0 0.538948 -0.000488431 0 + 0.549009 -0.00166482 0 0.538867 -0.00170063 0 0.5 0 0 0.508308 0.00891855 0 + 0.49921 0.00920176 0 0.512415 0.0109928 0 0.505381 0.00907206 0 0.518572 0.00939541 0 + 0.5107 0.00727328 0 0.522671 0.00697066 0 0.51401 0.0052618 0 0.525162 0.00487137 0 + 0.516092 0.00366831 0 0.526778 0.00335204 0 0.517497 0.00254563 0 0.527901 0.00231638 0 + 0.518493 0.00178049 0 0.528709 0.00161727 0 0.519215 0.00125954 0 0.529301 0.00114066 0 + 0.519744 0.000901699 0 0.529737 0.000808624 0 0.520133 0.000652957 0 0.530059 0.000567654 0 + 0.520418 0.000476674 0 0.530296 0.000372581 0 0.520617 0.000334753 0 0.530457 0.000150383 0 + 0.520721 0.000131134 0 0.530512 -0.00031563 0 0.520656 -0.000496826 0 0.53033 -0.0016799 0 + 0.520191 -0.00163136 0 0.5 0 0 0.517582 0.00105619 0 0.512111 0.00430058 0 + 0.529659 0.00611616 0 0.524503 0.00638137 0 0.539475 0.00651914 0 0.533698 0.00563218 0 + 0.546529 0.00526592 0 0.539953 0.00425382 0 0.551264 0.00384288 0 0.544075 0.00302723 0 + 0.554415 0.00270377 0 0.546823 0.00211844 0 0.556553 0.001889 0 0.548699 0.00148549 0 + 0.558037 0.00132623 0 0.550008 0.00105122 0 0.559086 0.000938625 0 0.550936 0.000752419 0 + 0.559839 0.000667718 0 0.551601 0.000544739 0 0.560385 0.000471305 0 0.552074 0.000397172 0 + 0.56078 0.000313031 0 0.552395 0.000277678 0 0.561048 0.000134792 0 0.552545 0.000107091 0 + 0.561126 -0.000241597 0 0.552334 -0.000420568 0 0.560656 -0.0013689 0 0.551157 -0.00137272 0 + 0.5 0 0 0.507013 0.00385455 0 0.498696 0.00431858 0 0.510532 0.00528808 0 + 0.505212 0.00468524 0 0.518337 0.00497195 0 0.513057 0.00405129 0 0.525459 0.0039363 0 + 0.519475 0.0030765 0 0.530846 0.00285813 0 0.524164 0.00219726 0 0.534675 0.00200173 0 + 0.527469 0.00153706 0 0.537354 0.00139072 0 0.529782 0.0010749 0 0.539231 0.00097042 0 + 0.531408 0.000757671 0 0.540557 0.000682244 0 0.532561 0.000539722 0 0.541502 0.000481619 0 + 0.533384 0.000388704 0 0.542182 0.000336556 0 0.533968 0.000282034 0 0.542669 0.000219441 0 + 0.534364 0.000196222 0 0.542992 8.52834e-05 0 0.53455 7.2294e-05 0 0.543071 -0.000201833 0 + 0.534285 -0.000317341 0 0.54244 -0.00104673 0 0.532845 -0.000952365 0 0.5 0 0 + 0.51465 0.000392443 0 0.509414 0.00145502 0 0.525002 0.0020606 0 0.520686 0.00220336 0 + 0.535022 0.00229238 0 0.530732 0.00203578 0 0.543484 0.00192608 0 0.53861 0.0015879 0 + 0.549871 0.00143925 0 0.544316 0.0011487 0 0.554418 0.00102393 0 0.548307 0.000808893 0 + 0.55759 0.000718582 0 0.551077 0.000568293 0 0.559802 0.000505523 0 0.553011 0.000402434 0 + 0.561358 0.000358302 0 0.554373 0.000288218 0 0.562464 0.000255328 0 0.555339 0.000208836 0 + 0.563257 0.000180698 0 0.556022 0.000152421 0 0.563824 0.000120619 0 0.556477 0.000106829 0 + 0.5642 5.29782e-05 0 0.556672 4.21953e-05 0 0.564277 -9.22445e-05 0 0.556288 -0.000158235 0 + 0.563467 -0.000553901 0 0.554403 -0.000497893 0 0.5 0 0 0.50664 2.45829e-05 0 + 0.499396 3.25883e-05 0 0.510559 3.57115e-05 0 0.506181 3.77943e-05 0 0.518741 3.86217e-05 0 + 0.51462 3.70785e-05 0 0.526648 3.56466e-05 0 0.521896 3.22735e-05 0 0.532895 2.9872e-05 0 + 0.527375 2.60146e-05 0 0.537422 2.34956e-05 0 0.531274 1.9859e-05 0 0.540598 1.75986e-05 0 + 0.534 1.44615e-05 0 0.542815 1.25736e-05 0 0.535908 9.99435e-06 0 0.544371 8.4906e-06 0 + 0.537253 6.43477e-06 0 0.545475 5.30273e-06 0 0.538208 3.70597e-06 0 0.546265 2.94403e-06 0 + 0.538883 1.74463e-06 0 0.546829 1.3772e-06 0 0.539338 5.51123e-07 0 0.547201 6.40116e-07 0 + 0.539546 2.55183e-07 0 0.547282 8.75666e-07 0 0.5392 1.1079e-06 0 0.546466 2.138e-06 0 + 0.537224 2.69849e-06 0 0.5 0 0 0.514646 -0.000390043 0 0.509406 -0.00142486 0 + 0.524989 -0.00200393 0 0.520671 -0.00213305 0 0.535005 -0.00221082 0 0.530717 -0.00195336 0 + 0.543469 -0.00184121 0 0.538599 -0.00150881 0 0.549862 -0.00136168 0 0.544311 -0.00107929 0 + 0.554415 -0.00095728 0 0.548307 -0.000750597 0 0.557592 -0.000663064 0 0.551083 -0.000520421 0 + 0.559808 -0.000460044 0 0.553021 -0.0003636 0 0.561368 -0.000321409 0 0.554386 -0.000256934 0 + 0.562477 -0.000225593 0 0.555355 -0.000183739 0 0.563272 -0.000156877 0 0.55604 -0.000132353 0 + 0.563842 -0.000101722 0 0.556497 -9.08759e-05 0 0.564219 -3.83436e-05 0 0.556694 -2.97113e-05 0 + 0.564297 0.000102881 0 0.556311 0.000167141 0 0.563488 0.000559544 0 0.554424 0.000502732 0 + 0.5 0 0 0.50701 -0.00380175 0 0.49869 -0.00424915 0 0.510518 -0.0052132 0 + 0.505193 -0.00460773 0 0.518314 -0.00489444 0 0.513037 -0.0039782 0 0.525441 -0.00386709 0 + 0.519463 -0.00301463 0 0.530839 -0.00280136 0 0.524165 -0.00214823 0 0.53468 -0.00195768 0 + 0.527481 -0.00150004 0 0.53737 -0.00135806 0 0.529805 -0.00104822 0 0.539256 -0.000947356 0 + 0.53144 -0.000739485 0 0.540589 -0.00066695 0 0.5326 -0.000528296 0 0.541541 -0.000472379 0 + 0.533427 -0.000382453 0 0.542225 -0.00033178 0 0.534016 -0.000279486 0 0.542715 -0.000217596 0 + 0.534415 -0.00019589 0 0.543042 -8.47446e-05 0 0.534603 -7.23625e-05 0 0.543123 0.000203036 0 + 0.53434 0.000319035 0 0.542493 0.00104931 0 0.532899 0.000956753 0 0.5 0 0 + 0.517572 -0.00104935 0 0.512088 -0.00426361 0 0.529622 -0.00605301 0 0.52446 -0.00630713 0 + 0.539431 -0.0064371 0 0.533658 -0.0055522 0 0.546495 -0.00518567 0 0.53993 -0.00418054 0 + 0.551249 -0.0037717 0 0.544073 -0.00296414 0 0.55442 -0.00264325 0 0.54684 -0.00206574 0 + 0.556576 -0.0018387 0 0.548733 -0.00144222 0 0.558076 -0.00128501 0 0.550056 -0.00101608 0 + 0.559138 -0.000905167 0 0.550996 -0.000724089 0 0.5599 -0.000640751 0 0.551669 -0.00052201 0 + 0.560454 -0.000449718 0 0.55215 -0.000379009 0 0.560856 -0.000295926 0 0.552478 -0.00026325 0 + 0.56113 -0.000121558 0 0.552633 -9.58145e-05 0 0.561213 0.000251145 0 0.552425 0.000428644 0 + 0.560745 0.00137342 0 0.551247 0.00137687 0 0.5 0 0 0.508301 -0.00885427 0 + 0.499194 -0.00911916 0 0.512383 -0.0109085 0 0.505343 -0.00899066 0 0.518531 -0.00931938 0 + 0.510668 -0.0072057 0 0.522647 -0.00690977 0 0.514002 -0.00520959 0 0.525165 -0.00482497 0 + 0.516112 -0.00362931 0 0.526808 -0.0033178 0 0.517542 -0.00251747 0 0.527953 -0.00229213 0 + 0.518559 -0.00176115 0 0.528781 -0.00160115 0 0.519298 -0.00124732 0 0.529388 -0.00113102 0 + 0.519842 -0.000895096 0 0.529836 -0.000804003 0 0.520243 -0.00065062 0 0.530169 -0.000566667 0 + 0.520537 -0.000477335 0 0.530414 -0.000373853 0 0.520744 -0.000337092 0 0.530581 -0.000152381 0 + 0.520854 -0.000133464 0 0.530642 0.000315122 0 0.520793 0.000497003 0 0.530462 0.00168237 0 + 0.520327 0.00163542 0 0.5 0 0 0.52389 -0.00265977 0 0.518756 -0.00758092 0 + 0.538462 -0.0101159 0 0.531601 -0.00964492 0 0.545856 -0.00941066 0 0.537024 -0.00763601 0 + 0.548575 -0.00696693 0 0.538803 -0.0054176 0 0.549274 -0.00486501 0 0.539211 -0.00375461 0 + 0.549326 -0.00336526 0 0.539225 -0.00260958 0 0.54924 -0.00234199 0 0.539164 -0.00183231 0 + 0.549157 -0.0016463 0 0.539114 -0.00130172 0 0.549104 -0.00116855 0 0.539087 -0.000935775 0 + 0.549078 -0.000833817 0 0.539078 -0.000680064 0 0.549071 -0.000589969 0 0.539081 -0.000497338 0 + 0.549076 -0.000392598 0 0.539091 -0.000348394 0 0.549095 -0.00016996 0 0.539114 -0.000135859 0 + 0.549135 0.000290668 0 0.539163 0.000494954 0 0.549217 0.00166895 0 0.539079 0.00170574 0 + 0.5 0 0 0.511904 -0.0173636 0 0.501374 -0.0145952 0 0.514363 -0.0165523 0 + 0.502455 -0.0117846 0 0.513286 -0.0116509 0 0.500086 -0.00815459 0 0.510313 -0.00763364 0 + 0.497072 -0.00539771 0 0.507572 -0.00497375 0 0.494653 -0.00360264 0 0.505553 -0.00331213 0 + 0.49294 -0.00246154 0 0.504161 -0.00226325 0 0.491774 -0.00172028 0 0.503221 -0.00158041 0 + 0.490988 -0.00122514 0 0.502585 -0.00112172 0 0.490456 -0.000886711 0 0.502154 -0.000802808 0 + 0.490097 -0.000650721 0 0.501859 -0.000569857 0 0.489855 -0.000482795 0 0.501657 -0.000379623 0 + 0.489702 -0.00034762 0 0.501529 -0.00016207 0 0.489644 -0.0001524 0 0.501514 0.000294585 0 + 0.489814 0.000441452 0 0.501891 0.00169156 0 0.490925 0.00171043 0 0.5 0 0 + 0.536267 -0.00706017 0 0.530626 -0.00996481 0 0.547537 -0.011728 0 0.534832 -0.009332 0 + 0.544146 -0.0084633 0 0.528784 -0.00619381 0 0.537062 -0.00548491 0 0.521704 -0.00403753 0 + 0.530748 -0.00361489 0 0.515999 -0.00271427 0 0.525968 -0.00245265 0 0.511794 -0.0018781 0 + 0.522493 -0.00170445 0 0.508754 -0.00132776 0 0.519982 -0.00120583 0 0.506556 -0.000954127 0 + 0.51816 -0.000864253 0 0.504959 -0.000694855 0 0.516829 -0.000623243 0 0.503793 -0.000511373 0 + 0.515853 -0.000445528 0 0.502946 -0.000378465 0 0.515143 -0.00029997 0 0.502354 -0.000268614 0 + 0.514666 -0.000134409 0 0.502047 -0.000110695 0 0.514507 0.000204193 0 0.50226 0.00035021 0 + 0.515098 0.00115284 0 0.503861 0.000968419 0 0.5 0 0 0.509651 -0.0315512 0 + 0.488567 -0.0163 0 0.489133 -0.0169412 0 0.464352 -0.00878112 0 0.468026 -0.00803808 0 + 0.44617 -0.00440027 0 0.453908 -0.00399239 0 0.43435 -0.00232517 0 0.444708 -0.00215444 0 + 0.426529 -0.00134081 0 0.438514 -0.00126708 0 0.421192 -0.000837486 0 0.434222 -0.000798273 0 + 0.417464 -0.000554516 0 0.431185 -0.000527873 0 0.414815 -0.000382881 0 0.429003 -0.000360899 0 + 0.412909 -0.000273338 0 0.427418 -0.000250563 0 0.411528 -0.000200777 0 0.426257 -0.000171342 0 + 0.410532 -0.000152954 0 0.425411 -0.000106094 0 0.409848 -0.00011916 0 0.424837 -2.85425e-05 0 + 0.409514 -5.88887e-05 0 0.424672 0.000166139 0 0.409915 0.000198059 0 0.425629 0.000839925 0 + 0.412153 0.000696652 0 0.5 0 0 0.468608 -8.21283e-17 0 0.433375 -6.75891e-17 0 + 0.423259 -7.12854e-17 0 0.395173 -6.92811e-17 0 0.400884 -6.85258e-17 0 0.377738 -6.62862e-17 0 + 0.390423 -6.44422e-17 0 0.369486 -6.18786e-17 0 0.385254 -5.96593e-17 0 0.365262 -5.63692e-17 0 + 0.382462 -5.72339e-17 0 0.362894 -3.45151e-17 0 0.380811 -1.48039e-16 0 0.361458 5.32275e-16 0 + 0.379764 -3.41436e-15 0 0.360534 1.9611e-14 0 0.379064 -1.14588e-13 0 0.359914 6.67684e-13 0 + 0.378576 -3.89211e-12 0 0.359487 2.26863e-11 0 0.378226 -1.32234e-10 0 0.359194 7.70752e-10 0 + 0.377968 -4.49247e-09 0 0.359007 2.61849e-08 0 0.37778 -1.52621e-07 0 0.358947 8.89553e-07 0 + 0.377735 -5.18473e-06 0 0.35926 3.02173e-05 0 0.378307 -0.000176102 0 0.360852 0.00102613 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="temperature" NumberOfComponents="1" format="ascii"> + 297 297 307 306.96 297 306.92 297 306.88 297 306.84 297 306.8 + 297 306.76 297 306.721 297 306.683 297 306.644 297 306.607 297 306.57 + 297 306.533 297 306.497 297 306.462 297 306.427 297 306.393 297 306.359 + 297 306.327 297 306.294 297 306.262 297 306.231 297 306.2 297 306.169 + 297 306.14 297 306.11 297 306.081 297 306.053 297 306.026 297 306.001 + 297 306.77 307 306.998 306.995 306.99 306.986 306.981 306.977 306.973 306.968 306.964 + 306.959 306.955 306.95 306.945 306.94 306.934 306.929 306.923 306.917 306.911 306.905 306.898 + 306.892 306.885 306.878 306.871 306.864 306.857 306.85 306.845 307.401 307 307 307 + 306.999 306.998 306.998 306.997 306.996 306.995 306.995 306.994 306.993 306.992 306.991 306.991 + 306.99 306.989 306.987 306.986 306.985 306.984 306.983 306.981 306.98 306.979 306.977 306.976 + 306.974 306.972 306.973 307.399 307 307 307 307 307 307 307 306.999 + 306.999 306.999 306.999 306.999 306.999 306.998 306.998 306.998 306.998 306.998 306.997 306.997 + 306.997 306.996 306.996 306.996 306.996 306.995 306.995 306.994 306.994 306.996 307.385 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 306.999 306.999 306.999 306.999 306.999 306.999 306.999 306.999 + 306.999 306.999 306.999 306.999 307.001 307.323 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307.002 + 307.312 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307.003 307.278 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307.003 307.272 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307.004 307.253 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307.004 307.256 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307.003 307.253 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307.003 307.272 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307.003 307.278 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307.003 307.312 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307.003 307.325 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307.002 307.391 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307.002 307.428 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307.002 + 307.563 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 306.999 307.799 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 307 307 307 307 307 307 307 307 307 + 307 307 307 + </DataArray> + </PointData> + <Points> + <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii"> + 0 0 0 0.1 0 0 0 0.05 0 0.1 0.05 0 + 0.2 0 0 0.2 0.05 0 0.3 0 0 0.3 0.05 0 + 0.4 0 0 0.4 0.05 0 0.5 0 0 0.5 0.05 0 + 0.6 0 0 0.6 0.05 0 0.7 0 0 0.7 0.05 0 + 0.8 0 0 0.8 0.05 0 0.9 0 0 0.9 0.05 0 + 1 0 0 1 0.05 0 1.1 0 0 1.1 0.05 0 + 1.2 0 0 1.2 0.05 0 1.3 0 0 1.3 0.05 0 + 1.4 0 0 1.4 0.05 0 1.5 0 0 1.5 0.05 0 + 1.6 0 0 1.6 0.05 0 1.7 0 0 1.7 0.05 0 + 1.8 0 0 1.8 0.05 0 1.9 0 0 1.9 0.05 0 + 2 0 0 2 0.05 0 2.1 0 0 2.1 0.05 0 + 2.2 0 0 2.2 0.05 0 2.3 0 0 2.3 0.05 0 + 2.4 0 0 2.4 0.05 0 2.5 0 0 2.5 0.05 0 + 2.6 0 0 2.6 0.05 0 2.7 0 0 2.7 0.05 0 + 2.8 0 0 2.8 0.05 0 2.9 0 0 2.9 0.05 0 + 3 0 0 3 0.05 0 0 0.1 0 0.1 0.1 0 + 0.2 0.1 0 0.3 0.1 0 0.4 0.1 0 0.5 0.1 0 + 0.6 0.1 0 0.7 0.1 0 0.8 0.1 0 0.9 0.1 0 + 1 0.1 0 1.1 0.1 0 1.2 0.1 0 1.3 0.1 0 + 1.4 0.1 0 1.5 0.1 0 1.6 0.1 0 1.7 0.1 0 + 1.8 0.1 0 1.9 0.1 0 2 0.1 0 2.1 0.1 0 + 2.2 0.1 0 2.3 0.1 0 2.4 0.1 0 2.5 0.1 0 + 2.6 0.1 0 2.7 0.1 0 2.8 0.1 0 2.9 0.1 0 + 3 0.1 0 0 0.15 0 0.1 0.15 0 0.2 0.15 0 + 0.3 0.15 0 0.4 0.15 0 0.5 0.15 0 0.6 0.15 0 + 0.7 0.15 0 0.8 0.15 0 0.9 0.15 0 1 0.15 0 + 1.1 0.15 0 1.2 0.15 0 1.3 0.15 0 1.4 0.15 0 + 1.5 0.15 0 1.6 0.15 0 1.7 0.15 0 1.8 0.15 0 + 1.9 0.15 0 2 0.15 0 2.1 0.15 0 2.2 0.15 0 + 2.3 0.15 0 2.4 0.15 0 2.5 0.15 0 2.6 0.15 0 + 2.7 0.15 0 2.8 0.15 0 2.9 0.15 0 3 0.15 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 1.1 0.2 0 + 1.2 0.2 0 1.3 0.2 0 1.4 0.2 0 1.5 0.2 0 + 1.6 0.2 0 1.7 0.2 0 1.8 0.2 0 1.9 0.2 0 + 2 0.2 0 2.1 0.2 0 2.2 0.2 0 2.3 0.2 0 + 2.4 0.2 0 2.5 0.2 0 2.6 0.2 0 2.7 0.2 0 + 2.8 0.2 0 2.9 0.2 0 3 0.2 0 0 0.25 0 + 0.1 0.25 0 0.2 0.25 0 0.3 0.25 0 0.4 0.25 0 + 0.5 0.25 0 0.6 0.25 0 0.7 0.25 0 0.8 0.25 0 + 0.9 0.25 0 1 0.25 0 1.1 0.25 0 1.2 0.25 0 + 1.3 0.25 0 1.4 0.25 0 1.5 0.25 0 1.6 0.25 0 + 1.7 0.25 0 1.8 0.25 0 1.9 0.25 0 2 0.25 0 + 2.1 0.25 0 2.2 0.25 0 2.3 0.25 0 2.4 0.25 0 + 2.5 0.25 0 2.6 0.25 0 2.7 0.25 0 2.8 0.25 0 + 2.9 0.25 0 3 0.25 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 1.1 0.3 0 1.2 0.3 0 1.3 0.3 0 + 1.4 0.3 0 1.5 0.3 0 1.6 0.3 0 1.7 0.3 0 + 1.8 0.3 0 1.9 0.3 0 2 0.3 0 2.1 0.3 0 + 2.2 0.3 0 2.3 0.3 0 2.4 0.3 0 2.5 0.3 0 + 2.6 0.3 0 2.7 0.3 0 2.8 0.3 0 2.9 0.3 0 + 3 0.3 0 0 0.35 0 0.1 0.35 0 0.2 0.35 0 + 0.3 0.35 0 0.4 0.35 0 0.5 0.35 0 0.6 0.35 0 + 0.7 0.35 0 0.8 0.35 0 0.9 0.35 0 1 0.35 0 + 1.1 0.35 0 1.2 0.35 0 1.3 0.35 0 1.4 0.35 0 + 1.5 0.35 0 1.6 0.35 0 1.7 0.35 0 1.8 0.35 0 + 1.9 0.35 0 2 0.35 0 2.1 0.35 0 2.2 0.35 0 + 2.3 0.35 0 2.4 0.35 0 2.5 0.35 0 2.6 0.35 0 + 2.7 0.35 0 2.8 0.35 0 2.9 0.35 0 3 0.35 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 1.1 0.4 0 + 1.2 0.4 0 1.3 0.4 0 1.4 0.4 0 1.5 0.4 0 + 1.6 0.4 0 1.7 0.4 0 1.8 0.4 0 1.9 0.4 0 + 2 0.4 0 2.1 0.4 0 2.2 0.4 0 2.3 0.4 0 + 2.4 0.4 0 2.5 0.4 0 2.6 0.4 0 2.7 0.4 0 + 2.8 0.4 0 2.9 0.4 0 3 0.4 0 0 0.45 0 + 0.1 0.45 0 0.2 0.45 0 0.3 0.45 0 0.4 0.45 0 + 0.5 0.45 0 0.6 0.45 0 0.7 0.45 0 0.8 0.45 0 + 0.9 0.45 0 1 0.45 0 1.1 0.45 0 1.2 0.45 0 + 1.3 0.45 0 1.4 0.45 0 1.5 0.45 0 1.6 0.45 0 + 1.7 0.45 0 1.8 0.45 0 1.9 0.45 0 2 0.45 0 + 2.1 0.45 0 2.2 0.45 0 2.3 0.45 0 2.4 0.45 0 + 2.5 0.45 0 2.6 0.45 0 2.7 0.45 0 2.8 0.45 0 + 2.9 0.45 0 3 0.45 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 1.1 0.5 0 1.2 0.5 0 1.3 0.5 0 + 1.4 0.5 0 1.5 0.5 0 1.6 0.5 0 1.7 0.5 0 + 1.8 0.5 0 1.9 0.5 0 2 0.5 0 2.1 0.5 0 + 2.2 0.5 0 2.3 0.5 0 2.4 0.5 0 2.5 0.5 0 + 2.6 0.5 0 2.7 0.5 0 2.8 0.5 0 2.9 0.5 0 + 3 0.5 0 0 0.55 0 0.1 0.55 0 0.2 0.55 0 + 0.3 0.55 0 0.4 0.55 0 0.5 0.55 0 0.6 0.55 0 + 0.7 0.55 0 0.8 0.55 0 0.9 0.55 0 1 0.55 0 + 1.1 0.55 0 1.2 0.55 0 1.3 0.55 0 1.4 0.55 0 + 1.5 0.55 0 1.6 0.55 0 1.7 0.55 0 1.8 0.55 0 + 1.9 0.55 0 2 0.55 0 2.1 0.55 0 2.2 0.55 0 + 2.3 0.55 0 2.4 0.55 0 2.5 0.55 0 2.6 0.55 0 + 2.7 0.55 0 2.8 0.55 0 2.9 0.55 0 3 0.55 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 1.1 0.6 0 + 1.2 0.6 0 1.3 0.6 0 1.4 0.6 0 1.5 0.6 0 + 1.6 0.6 0 1.7 0.6 0 1.8 0.6 0 1.9 0.6 0 + 2 0.6 0 2.1 0.6 0 2.2 0.6 0 2.3 0.6 0 + 2.4 0.6 0 2.5 0.6 0 2.6 0.6 0 2.7 0.6 0 + 2.8 0.6 0 2.9 0.6 0 3 0.6 0 0 0.65 0 + 0.1 0.65 0 0.2 0.65 0 0.3 0.65 0 0.4 0.65 0 + 0.5 0.65 0 0.6 0.65 0 0.7 0.65 0 0.8 0.65 0 + 0.9 0.65 0 1 0.65 0 1.1 0.65 0 1.2 0.65 0 + 1.3 0.65 0 1.4 0.65 0 1.5 0.65 0 1.6 0.65 0 + 1.7 0.65 0 1.8 0.65 0 1.9 0.65 0 2 0.65 0 + 2.1 0.65 0 2.2 0.65 0 2.3 0.65 0 2.4 0.65 0 + 2.5 0.65 0 2.6 0.65 0 2.7 0.65 0 2.8 0.65 0 + 2.9 0.65 0 3 0.65 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 1.1 0.7 0 1.2 0.7 0 1.3 0.7 0 + 1.4 0.7 0 1.5 0.7 0 1.6 0.7 0 1.7 0.7 0 + 1.8 0.7 0 1.9 0.7 0 2 0.7 0 2.1 0.7 0 + 2.2 0.7 0 2.3 0.7 0 2.4 0.7 0 2.5 0.7 0 + 2.6 0.7 0 2.7 0.7 0 2.8 0.7 0 2.9 0.7 0 + 3 0.7 0 0 0.75 0 0.1 0.75 0 0.2 0.75 0 + 0.3 0.75 0 0.4 0.75 0 0.5 0.75 0 0.6 0.75 0 + 0.7 0.75 0 0.8 0.75 0 0.9 0.75 0 1 0.75 0 + 1.1 0.75 0 1.2 0.75 0 1.3 0.75 0 1.4 0.75 0 + 1.5 0.75 0 1.6 0.75 0 1.7 0.75 0 1.8 0.75 0 + 1.9 0.75 0 2 0.75 0 2.1 0.75 0 2.2 0.75 0 + 2.3 0.75 0 2.4 0.75 0 2.5 0.75 0 2.6 0.75 0 + 2.7 0.75 0 2.8 0.75 0 2.9 0.75 0 3 0.75 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 1.1 0.8 0 + 1.2 0.8 0 1.3 0.8 0 1.4 0.8 0 1.5 0.8 0 + 1.6 0.8 0 1.7 0.8 0 1.8 0.8 0 1.9 0.8 0 + 2 0.8 0 2.1 0.8 0 2.2 0.8 0 2.3 0.8 0 + 2.4 0.8 0 2.5 0.8 0 2.6 0.8 0 2.7 0.8 0 + 2.8 0.8 0 2.9 0.8 0 3 0.8 0 0 0.85 0 + 0.1 0.85 0 0.2 0.85 0 0.3 0.85 0 0.4 0.85 0 + 0.5 0.85 0 0.6 0.85 0 0.7 0.85 0 0.8 0.85 0 + 0.9 0.85 0 1 0.85 0 1.1 0.85 0 1.2 0.85 0 + 1.3 0.85 0 1.4 0.85 0 1.5 0.85 0 1.6 0.85 0 + 1.7 0.85 0 1.8 0.85 0 1.9 0.85 0 2 0.85 0 + 2.1 0.85 0 2.2 0.85 0 2.3 0.85 0 2.4 0.85 0 + 2.5 0.85 0 2.6 0.85 0 2.7 0.85 0 2.8 0.85 0 + 2.9 0.85 0 3 0.85 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 1.1 0.9 0 1.2 0.9 0 1.3 0.9 0 + 1.4 0.9 0 1.5 0.9 0 1.6 0.9 0 1.7 0.9 0 + 1.8 0.9 0 1.9 0.9 0 2 0.9 0 2.1 0.9 0 + 2.2 0.9 0 2.3 0.9 0 2.4 0.9 0 2.5 0.9 0 + 2.6 0.9 0 2.7 0.9 0 2.8 0.9 0 2.9 0.9 0 + 3 0.9 0 0 0.95 0 0.1 0.95 0 0.2 0.95 0 + 0.3 0.95 0 0.4 0.95 0 0.5 0.95 0 0.6 0.95 0 + 0.7 0.95 0 0.8 0.95 0 0.9 0.95 0 1 0.95 0 + 1.1 0.95 0 1.2 0.95 0 1.3 0.95 0 1.4 0.95 0 + 1.5 0.95 0 1.6 0.95 0 1.7 0.95 0 1.8 0.95 0 + 1.9 0.95 0 2 0.95 0 2.1 0.95 0 2.2 0.95 0 + 2.3 0.95 0 2.4 0.95 0 2.5 0.95 0 2.6 0.95 0 + 2.7 0.95 0 2.8 0.95 0 2.9 0.95 0 3 0.95 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 1.1 1 0 + 1.2 1 0 1.3 1 0 1.4 1 0 1.5 1 0 + 1.6 1 0 1.7 1 0 1.8 1 0 1.9 1 0 + 2 1 0 2.1 1 0 2.2 1 0 2.3 1 0 + 2.4 1 0 2.5 1 0 2.6 1 0 2.7 1 0 + 2.8 1 0 2.9 1 0 3 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 20 22 23 21 22 24 25 23 + 24 26 27 25 26 28 29 27 28 30 31 29 + 30 32 33 31 32 34 35 33 34 36 37 35 + 36 38 39 37 38 40 41 39 40 42 43 41 + 42 44 45 43 44 46 47 45 46 48 49 47 + 48 50 51 49 50 52 53 51 52 54 55 53 + 54 56 57 55 56 58 59 57 58 60 61 59 + 2 3 63 62 3 5 64 63 5 7 65 64 + 7 9 66 65 9 11 67 66 11 13 68 67 + 13 15 69 68 15 17 70 69 17 19 71 70 + 19 21 72 71 21 23 73 72 23 25 74 73 + 25 27 75 74 27 29 76 75 29 31 77 76 + 31 33 78 77 33 35 79 78 35 37 80 79 + 37 39 81 80 39 41 82 81 41 43 83 82 + 43 45 84 83 45 47 85 84 47 49 86 85 + 49 51 87 86 51 53 88 87 53 55 89 88 + 55 57 90 89 57 59 91 90 59 61 92 91 + 62 63 94 93 63 64 95 94 64 65 96 95 + 65 66 97 96 66 67 98 97 67 68 99 98 + 68 69 100 99 69 70 101 100 70 71 102 101 + 71 72 103 102 72 73 104 103 73 74 105 104 + 74 75 106 105 75 76 107 106 76 77 108 107 + 77 78 109 108 78 79 110 109 79 80 111 110 + 80 81 112 111 81 82 113 112 82 83 114 113 + 83 84 115 114 84 85 116 115 85 86 117 116 + 86 87 118 117 87 88 119 118 88 89 120 119 + 89 90 121 120 90 91 122 121 91 92 123 122 + 93 94 125 124 94 95 126 125 95 96 127 126 + 96 97 128 127 97 98 129 128 98 99 130 129 + 99 100 131 130 100 101 132 131 101 102 133 132 + 102 103 134 133 103 104 135 134 104 105 136 135 + 105 106 137 136 106 107 138 137 107 108 139 138 + 108 109 140 139 109 110 141 140 110 111 142 141 + 111 112 143 142 112 113 144 143 113 114 145 144 + 114 115 146 145 115 116 147 146 116 117 148 147 + 117 118 149 148 118 119 150 149 119 120 151 150 + 120 121 152 151 121 122 153 152 122 123 154 153 + 124 125 156 155 125 126 157 156 126 127 158 157 + 127 128 159 158 128 129 160 159 129 130 161 160 + 130 131 162 161 131 132 163 162 132 133 164 163 + 133 134 165 164 134 135 166 165 135 136 167 166 + 136 137 168 167 137 138 169 168 138 139 170 169 + 139 140 171 170 140 141 172 171 141 142 173 172 + 142 143 174 173 143 144 175 174 144 145 176 175 + 145 146 177 176 146 147 178 177 147 148 179 178 + 148 149 180 179 149 150 181 180 150 151 182 181 + 151 152 183 182 152 153 184 183 153 154 185 184 + 155 156 187 186 156 157 188 187 157 158 189 188 + 158 159 190 189 159 160 191 190 160 161 192 191 + 161 162 193 192 162 163 194 193 163 164 195 194 + 164 165 196 195 165 166 197 196 166 167 198 197 + 167 168 199 198 168 169 200 199 169 170 201 200 + 170 171 202 201 171 172 203 202 172 173 204 203 + 173 174 205 204 174 175 206 205 175 176 207 206 + 176 177 208 207 177 178 209 208 178 179 210 209 + 179 180 211 210 180 181 212 211 181 182 213 212 + 182 183 214 213 183 184 215 214 184 185 216 215 + 186 187 218 217 187 188 219 218 188 189 220 219 + 189 190 221 220 190 191 222 221 191 192 223 222 + 192 193 224 223 193 194 225 224 194 195 226 225 + 195 196 227 226 196 197 228 227 197 198 229 228 + 198 199 230 229 199 200 231 230 200 201 232 231 + 201 202 233 232 202 203 234 233 203 204 235 234 + 204 205 236 235 205 206 237 236 206 207 238 237 + 207 208 239 238 208 209 240 239 209 210 241 240 + 210 211 242 241 211 212 243 242 212 213 244 243 + 213 214 245 244 214 215 246 245 215 216 247 246 + 217 218 249 248 218 219 250 249 219 220 251 250 + 220 221 252 251 221 222 253 252 222 223 254 253 + 223 224 255 254 224 225 256 255 225 226 257 256 + 226 227 258 257 227 228 259 258 228 229 260 259 + 229 230 261 260 230 231 262 261 231 232 263 262 + 232 233 264 263 233 234 265 264 234 235 266 265 + 235 236 267 266 236 237 268 267 237 238 269 268 + 238 239 270 269 239 240 271 270 240 241 272 271 + 241 242 273 272 242 243 274 273 243 244 275 274 + 244 245 276 275 245 246 277 276 246 247 278 277 + 248 249 280 279 249 250 281 280 250 251 282 281 + 251 252 283 282 252 253 284 283 253 254 285 284 + 254 255 286 285 255 256 287 286 256 257 288 287 + 257 258 289 288 258 259 290 289 259 260 291 290 + 260 261 292 291 261 262 293 292 262 263 294 293 + 263 264 295 294 264 265 296 295 265 266 297 296 + 266 267 298 297 267 268 299 298 268 269 300 299 + 269 270 301 300 270 271 302 301 271 272 303 302 + 272 273 304 303 273 274 305 304 274 275 306 305 + 275 276 307 306 276 277 308 307 277 278 309 308 + 279 280 311 310 280 281 312 311 281 282 313 312 + 282 283 314 313 283 284 315 314 284 285 316 315 + 285 286 317 316 286 287 318 317 287 288 319 318 + 288 289 320 319 289 290 321 320 290 291 322 321 + 291 292 323 322 292 293 324 323 293 294 325 324 + 294 295 326 325 295 296 327 326 296 297 328 327 + 297 298 329 328 298 299 330 329 299 300 331 330 + 300 301 332 331 301 302 333 332 302 303 334 333 + 303 304 335 334 304 305 336 335 305 306 337 336 + 306 307 338 337 307 308 339 338 308 309 340 339 + 310 311 342 341 311 312 343 342 312 313 344 343 + 313 314 345 344 314 315 346 345 315 316 347 346 + 316 317 348 347 317 318 349 348 318 319 350 349 + 319 320 351 350 320 321 352 351 321 322 353 352 + 322 323 354 353 323 324 355 354 324 325 356 355 + 325 326 357 356 326 327 358 357 327 328 359 358 + 328 329 360 359 329 330 361 360 330 331 362 361 + 331 332 363 362 332 333 364 363 333 334 365 364 + 334 335 366 365 335 336 367 366 336 337 368 367 + 337 338 369 368 338 339 370 369 339 340 371 370 + 341 342 373 372 342 343 374 373 343 344 375 374 + 344 345 376 375 345 346 377 376 346 347 378 377 + 347 348 379 378 348 349 380 379 349 350 381 380 + 350 351 382 381 351 352 383 382 352 353 384 383 + 353 354 385 384 354 355 386 385 355 356 387 386 + 356 357 388 387 357 358 389 388 358 359 390 389 + 359 360 391 390 360 361 392 391 361 362 393 392 + 362 363 394 393 363 364 395 394 364 365 396 395 + 365 366 397 396 366 367 398 397 367 368 399 398 + 368 369 400 399 369 370 401 400 370 371 402 401 + 372 373 404 403 373 374 405 404 374 375 406 405 + 375 376 407 406 376 377 408 407 377 378 409 408 + 378 379 410 409 379 380 411 410 380 381 412 411 + 381 382 413 412 382 383 414 413 383 384 415 414 + 384 385 416 415 385 386 417 416 386 387 418 417 + 387 388 419 418 388 389 420 419 389 390 421 420 + 390 391 422 421 391 392 423 422 392 393 424 423 + 393 394 425 424 394 395 426 425 395 396 427 426 + 396 397 428 427 397 398 429 428 398 399 430 429 + 399 400 431 430 400 401 432 431 401 402 433 432 + 403 404 435 434 404 405 436 435 405 406 437 436 + 406 407 438 437 407 408 439 438 408 409 440 439 + 409 410 441 440 410 411 442 441 411 412 443 442 + 412 413 444 443 413 414 445 444 414 415 446 445 + 415 416 447 446 416 417 448 447 417 418 449 448 + 418 419 450 449 419 420 451 450 420 421 452 451 + 421 422 453 452 422 423 454 453 423 424 455 454 + 424 425 456 455 425 426 457 456 426 427 458 457 + 427 428 459 458 428 429 460 459 429 430 461 460 + 430 431 462 461 431 432 463 462 432 433 464 463 + 434 435 466 465 435 436 467 466 436 437 468 467 + 437 438 469 468 438 439 470 469 439 440 471 470 + 440 441 472 471 441 442 473 472 442 443 474 473 + 443 444 475 474 444 445 476 475 445 446 477 476 + 446 447 478 477 447 448 479 478 448 449 480 479 + 449 450 481 480 450 451 482 481 451 452 483 482 + 452 453 484 483 453 454 485 484 454 455 486 485 + 455 456 487 486 456 457 488 487 457 458 489 488 + 458 459 490 489 459 460 491 490 460 461 492 491 + 461 462 493 492 462 463 494 493 463 464 495 494 + 465 466 497 496 466 467 498 497 467 468 499 498 + 468 469 500 499 469 470 501 500 470 471 502 501 + 471 472 503 502 472 473 504 503 473 474 505 504 + 474 475 506 505 475 476 507 506 476 477 508 507 + 477 478 509 508 478 479 510 509 479 480 511 510 + 480 481 512 511 481 482 513 512 482 483 514 513 + 483 484 515 514 484 485 516 515 485 486 517 516 + 486 487 518 517 487 488 519 518 488 489 520 519 + 489 490 521 520 490 491 522 521 491 492 523 522 + 492 493 524 523 493 494 525 524 494 495 526 525 + 496 497 528 527 497 498 529 528 498 499 530 529 + 499 500 531 530 500 501 532 531 501 502 533 532 + 502 503 534 533 503 504 535 534 504 505 536 535 + 505 506 537 536 506 507 538 537 507 508 539 538 + 508 509 540 539 509 510 541 540 510 511 542 541 + 511 512 543 542 512 513 544 543 513 514 545 544 + 514 515 546 545 515 516 547 546 516 517 548 547 + 517 518 549 548 518 519 550 549 519 520 551 550 + 520 521 552 551 521 522 553 552 522 523 554 553 + 523 524 555 554 524 525 556 555 525 526 557 556 + 527 528 559 558 528 529 560 559 529 530 561 560 + 530 531 562 561 531 532 563 562 532 533 564 563 + 533 534 565 564 534 535 566 565 535 536 567 566 + 536 537 568 567 537 538 569 568 538 539 570 569 + 539 540 571 570 540 541 572 571 541 542 573 572 + 542 543 574 573 543 544 575 574 544 545 576 575 + 545 546 577 576 546 547 578 577 547 548 579 578 + 548 549 580 579 549 550 581 580 550 551 582 581 + 551 552 583 582 552 553 584 583 553 554 585 584 + 554 555 586 585 555 556 587 586 556 557 588 587 + 558 559 590 589 559 560 591 590 560 561 592 591 + 561 562 593 592 562 563 594 593 563 564 595 594 + 564 565 596 595 565 566 597 596 566 567 598 597 + 567 568 599 598 568 569 600 599 569 570 601 600 + 570 571 602 601 571 572 603 602 572 573 604 603 + 573 574 605 604 574 575 606 605 575 576 607 606 + 576 577 608 607 577 578 609 608 578 579 610 609 + 579 580 611 610 580 581 612 611 581 582 613 612 + 582 583 614 613 583 584 615 614 584 585 616 615 + 585 586 617 616 586 587 618 617 587 588 619 618 + 589 590 621 620 590 591 622 621 591 592 623 622 + 592 593 624 623 593 594 625 624 594 595 626 625 + 595 596 627 626 596 597 628 627 597 598 629 628 + 598 599 630 629 599 600 631 630 600 601 632 631 + 601 602 633 632 602 603 634 633 603 604 635 634 + 604 605 636 635 605 606 637 636 606 607 638 637 + 607 608 639 638 608 609 640 639 609 610 641 640 + 610 611 642 641 611 612 643 642 612 613 644 643 + 613 614 645 644 614 615 646 645 615 616 647 646 + 616 617 648 647 617 618 649 648 618 619 650 649 + </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 404 408 412 416 420 424 428 432 + 436 440 444 448 452 456 460 464 468 472 476 480 + 484 488 492 496 500 504 508 512 516 520 524 528 + 532 536 540 544 548 552 556 560 564 568 572 576 + 580 584 588 592 596 600 604 608 612 616 620 624 + 628 632 636 640 644 648 652 656 660 664 668 672 + 676 680 684 688 692 696 700 704 708 712 716 720 + 724 728 732 736 740 744 748 752 756 760 764 768 + 772 776 780 784 788 792 796 800 804 808 812 816 + 820 824 828 832 836 840 844 848 852 856 860 864 + 868 872 876 880 884 888 892 896 900 904 908 912 + 916 920 924 928 932 936 940 944 948 952 956 960 + 964 968 972 976 980 984 988 992 996 1000 1004 1008 + 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 + 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 + 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 + 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + 1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 + 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 + 1300 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 + 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 + 1396 1400 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 + 1444 1448 1452 1456 1460 1464 1468 1472 1476 1480 1484 1488 + 1492 1496 1500 1504 1508 1512 1516 1520 1524 1528 1532 1536 + 1540 1544 1548 1552 1556 1560 1564 1568 1572 1576 1580 1584 + 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 + 1636 1640 1644 1648 1652 1656 1660 1664 1668 1672 1676 1680 + 1684 1688 1692 1696 1700 1704 1708 1712 1716 1720 1724 1728 + 1732 1736 1740 1744 1748 1752 1756 1760 1764 1768 1772 1776 + 1780 1784 1788 1792 1796 1800 1804 1808 1812 1816 1820 1824 + 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 + 1876 1880 1884 1888 1892 1896 1900 1904 1908 1912 1916 1920 + 1924 1928 1932 1936 1940 1944 1948 1952 1956 1960 1964 1968 + 1972 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016 + 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 + 2068 2072 2076 2080 2084 2088 2092 2096 2100 2104 2108 2112 + 2116 2120 2124 2128 2132 2136 2140 2144 2148 2152 2156 2160 + 2164 2168 2172 2176 2180 2184 2188 2192 2196 2200 2204 2208 + 2212 2216 2220 2224 2228 2232 2236 2240 2244 2248 2252 2256 + 2260 2264 2268 2272 2276 2280 2284 2288 2292 2296 2300 2304 + 2308 2312 2316 2320 2324 2328 2332 2336 2340 2344 2348 2352 + 2356 2360 2364 2368 2372 2376 2380 2384 2388 2392 2396 2400 + </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 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 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 + 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 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 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> diff --git a/test/references/zeroeqchannel-reference.vtu b/test/references/zeroeqchannel-reference.vtu new file mode 100644 index 0000000000..acc44abf90 --- /dev/null +++ b/test/references/zeroeqchannel-reference.vtu @@ -0,0 +1,568 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"> + <UnstructuredGrid> + <Piece NumberOfCells="375" NumberOfPoints="416"> + <PointData Scalars="P" Vectors="v"> + <DataArray type="Float32" Name="P" NumberOfComponents="1" format="ascii"> + 100008 99994.4 100008 99994.4 100008 100008 99994.2 99994.2 100007 100007 99994.6 99994.6 + 100006 100006 99995 99995.1 100006 100006 99995.6 99995.6 100005 100005 99996.1 99996.1 + 100005 100005 99996.7 99996.7 100004 100004 99997.2 99997.2 100003 100003 99997.8 99997.8 + 100003 100003 99998.3 99998.3 100002 100002 99998.9 99998.9 100001 100001 99999.4 99999.4 + 100001 100001 100000 100000 100010 99993.5 100008 99994 100007 99994.5 100006 99995 + 100006 99995.6 100005 99996.1 100005 99996.7 100004 99997.2 100003 99997.8 100003 99998.3 + 100002 99998.9 100001 99999.4 100001 100000 100009 99993.5 100008 99994 100007 99994.5 + 100007 99995 100006 99995.6 100005 99996.1 100005 99996.7 100004 99997.2 100003 99997.8 + 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 100009 99993.3 100008 99993.9 + 100007 99994.4 100007 99995 100006 99995.5 100005 99996.1 100005 99996.6 100004 99997.2 + 100003 99997.8 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 100009 99993.3 + 100008 99993.9 100007 99994.4 100007 99995 100006 99995.5 100005 99996.1 100005 99996.6 + 100004 99997.2 100003 99997.8 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 + 100009 99993.2 100008 99993.8 100007 99994.4 100007 99994.9 100006 99995.5 100005 99996.1 + 100005 99996.6 100004 99997.2 100003 99997.8 100003 99998.3 100002 99998.9 100001 99999.4 + 100001 100000 100009 99993.2 100008 99993.8 100007 99994.4 100007 99995 100006 99995.5 + 100005 99996.1 100005 99996.6 100004 99997.2 100003 99997.7 100003 99998.3 100002 99998.9 + 100001 99999.4 100001 100000 100009 99993.1 100008 99993.7 100007 99994.3 100007 99994.9 + 100006 99995.5 100005 99996.1 100005 99996.6 100004 99997.2 100003 99997.7 100003 99998.3 + 100002 99998.9 100001 99999.4 100001 100000 100009 99993.2 100008 99993.8 100007 99994.4 + 100007 99994.9 100006 99995.5 100005 99996.1 100005 99996.6 100004 99997.2 100003 99997.7 + 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 100009 99993.1 100008 99993.7 + 100007 99994.3 100007 99994.9 100006 99995.5 100005 99996 100005 99996.6 100004 99997.2 + 100003 99997.7 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 100009 99993.1 + 100008 99993.8 100007 99994.3 100007 99994.9 100006 99995.5 100005 99996.1 100005 99996.6 + 100004 99997.2 100003 99997.7 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 + 100009 99993.1 100008 99993.7 100007 99994.3 100007 99994.9 100006 99995.5 100005 99996 + 100005 99996.6 100004 99997.2 100003 99997.7 100003 99998.3 100002 99998.9 100001 99999.4 + 100001 100000 100009 99993.1 100008 99993.7 100007 99994.3 100007 99994.9 100006 99995.5 + 100005 99996 100005 99996.6 100004 99997.2 100003 99997.7 100003 99998.3 100002 99998.9 + 100001 99999.4 100001 100000 100009 99993.1 100008 99993.7 100007 99994.3 100007 99994.9 + 100006 99995.5 100005 99996 100005 99996.6 100004 99997.2 100003 99997.7 100003 99998.3 + 100002 99998.9 100001 99999.4 100001 100000 100009 99993.1 100008 99993.7 100007 99994.3 + 100007 99994.9 100006 99995.5 100005 99996.1 100005 99996.6 100004 99997.2 100003 99997.7 + 100003 99998.3 100002 99998.9 100001 99999.4 100001 100000 + </DataArray> + <DataArray type="Float32" Name="delP" NumberOfComponents="1" format="ascii"> + 7.99548 -5.64978 8.02925 -5.61601 7.59982 7.60944 -5.77318 -5.75678 7.03754 7.04406 -5.42798 -5.41917 + 6.41957 6.42381 -4.95148 -4.94658 5.78743 5.78986 -4.42478 -4.42185 5.15254 5.15424 -3.88099 -3.87878 + 4.51258 4.51401 -3.33313 -3.33134 3.86979 3.87088 -2.78156 -2.78026 3.22815 3.22886 -2.22617 -2.22525 + 2.58642 2.58691 -1.66882 -1.66808 1.93946 1.93974 -1.11109 -1.11054 1.27926 1.27874 -0.55619 -0.555281 + 0.583693 0.568232 0 0 9.66331 -6.46303 8.02461 -5.95793 7.16699 -5.48109 6.47404 -4.96753 + 5.81813 -4.43122 5.16979 -3.88581 4.52338 -3.33645 3.87906 -2.78324 3.23655 -2.22765 2.59349 -1.67123 + 1.94649 -1.11564 1.29107 -0.567399 0.621757 0 9.39627 -6.46604 8.09639 -5.99708 7.2485 -5.49541 + 6.52736 -4.9795 5.84763 -4.44138 5.19181 -3.89019 4.54264 -3.33883 3.89312 -2.78714 3.24643 -2.23262 + 2.60295 -1.67548 1.95748 -1.11915 1.3054 -0.567741 0.652112 0 9.07437 -6.7236 8.16835 -6.11417 + 7.30858 -5.57134 6.56984 -5.01685 5.88645 -4.46112 5.21587 -3.90842 4.55616 -3.35461 3.90706 -2.79659 + 3.26249 -2.23909 2.61754 -1.68289 1.97099 -1.12769 1.32418 -0.572864 0.687258 0 9.07671 -6.67682 + 8.18131 -6.11771 7.35201 -5.56404 6.60557 -5.01559 5.9041 -4.46918 5.23539 -3.90971 4.58053 -3.355 + 3.92498 -2.80251 3.27371 -2.24859 2.62999 -1.69025 1.98756 -1.13158 1.34552 -0.572409 0.711783 0 + 8.88162 -6.83398 8.16227 -6.20773 7.37421 -5.62916 6.63124 -5.05313 5.92991 -4.48144 5.24818 -3.92155 + 4.58314 -3.36946 3.933 -2.80971 3.28955 -2.25262 2.64563 -1.69689 2.00089 -1.14049 1.36347 -0.578625 + 0.741462 0 8.93791 -6.77553 8.1843 -6.18593 7.40608 -5.61391 6.66095 -5.04917 5.94864 -4.48854 + 5.26566 -3.9237 4.59992 -3.36192 3.94129 -2.80644 3.29155 -2.25689 2.65216 -1.69986 2.01527 -1.14019 + 1.38492 -0.578356 0.766139 0 8.80198 -6.89102 8.13231 -6.26223 7.39815 -5.66893 6.67019 -5.08335 + 5.96529 -4.50458 5.27731 -3.93775 4.60527 -3.37784 3.94844 -2.81617 3.30107 -2.25594 2.6581 -1.69765 + 2.01946 -1.14198 1.39408 -0.582341 0.78843 0 8.86769 -6.82808 8.16776 -6.22328 7.42864 -5.64398 + 6.69572 -5.07285 5.98253 -4.50558 5.29288 -3.93751 4.6206 -3.37294 3.95853 -2.815 3.30651 -2.26103 + 2.66542 -1.70369 2.03219 -1.14322 1.40839 -0.576991 0.801768 0 8.75287 -6.92204 8.105 -6.29333 + 7.40015 -5.69251 6.68926 -5.10322 5.98781 -4.52135 5.29865 -3.95069 4.62378 -3.38684 3.96355 -2.82375 + 3.31399 -2.26221 2.67145 -1.70351 2.03672 -1.14512 1.41492 -0.579688 0.812452 0 8.83214 -6.85905 + 8.151 -6.24366 7.43554 -5.65824 6.71635 -5.08552 6.00539 -4.51592 5.31239 -3.94672 4.63632 -3.38121 + 3.97234 -2.82182 3.31927 -2.26563 2.67762 -1.70761 2.04638 -1.14588 1.42594 -0.576785 0.821048 0 + 8.74938 -6.94397 8.0915 -6.31382 7.40007 -5.70943 6.69689 -5.11543 5.99798 -4.53055 5.3093 -3.95747 + 4.63413 -3.39203 3.97291 -2.82839 3.32246 -2.26621 2.68046 -1.7069 2.0483 -1.1473 1.42948 -0.579933 + 0.827592 0 8.80858 -6.87309 8.13965 -6.25444 7.43815 -5.66477 6.72628 -5.08924 6.01714 -4.51846 + 5.32241 -3.94942 4.6445 -3.38432 3.97987 -2.82445 3.32628 -2.26705 2.68417 -1.70859 2.05434 -1.14724 + 1.43712 -0.578606 0.834644 0 8.72224 -6.94918 8.08107 -6.32418 7.39737 -5.71853 6.69785 -5.12213 + 5.99936 -4.53393 5.31029 -3.9586 4.63582 -3.39292 3.97532 -2.82929 3.32456 -2.26612 2.68248 -1.70612 + 2.05242 -1.14762 1.4374 -0.582087 0.838464 0 8.7955 -6.87593 8.13528 -6.25728 7.43865 -5.66621 + 6.72898 -5.08916 6.01967 -4.51679 5.32421 -3.94774 4.64678 -3.38392 3.98293 -2.82443 3.32897 -2.26604 + 2.68621 -1.70718 2.05709 -1.14765 1.44239 -0.580879 0.842697 0 + </DataArray> + <DataArray type="Float32" Name="rho" NumberOfComponents="1" format="ascii"> + 1.23022 1.23005 1.23022 1.23005 1.23021 1.23021 1.23005 1.23005 1.23021 1.23021 1.23005 1.23005 + 1.2302 1.2302 1.23006 1.23006 1.23019 1.23019 1.23007 1.23007 1.23018 1.23018 1.23007 1.23007 + 1.23018 1.23018 1.23008 1.23008 1.23017 1.23017 1.23009 1.23009 1.23016 1.23016 1.23009 1.23009 + 1.23015 1.23015 1.2301 1.2301 1.23014 1.23014 1.23011 1.23011 1.23014 1.23014 1.23011 1.23011 + 1.23013 1.23013 1.23012 1.23012 1.23024 1.23004 1.23022 1.23005 1.23021 1.23005 1.2302 1.23006 + 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23009 1.23016 1.23009 1.23015 1.2301 + 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23024 1.23004 1.23022 1.23005 1.23021 1.23005 + 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23009 1.23016 1.23009 + 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23004 1.23022 1.23004 + 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23009 + 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23004 + 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 + 1.23017 1.23009 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 + 1.23023 1.23004 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 + 1.23018 1.23008 1.23017 1.23009 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 + 1.23013 1.23012 1.23023 1.23004 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 + 1.23018 1.23007 1.23018 1.23008 1.23017 1.23009 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 + 1.23014 1.23011 1.23013 1.23012 1.23023 1.23003 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 + 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 1.23015 1.2301 + 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23004 1.23022 1.23004 1.23021 1.23005 + 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 + 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23003 1.23022 1.23004 + 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23008 + 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23004 + 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 + 1.23017 1.23008 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 + 1.23023 1.23003 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 1.23018 1.23007 + 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 + 1.23013 1.23012 1.23023 1.23003 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 1.23019 1.23006 + 1.23019 1.23007 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 1.23015 1.2301 1.23014 1.23011 + 1.23014 1.23011 1.23013 1.23012 1.23023 1.23003 1.23022 1.23004 1.23021 1.23005 1.2302 1.23006 + 1.23019 1.23006 1.23018 1.23007 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 1.23015 1.2301 + 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 1.23023 1.23003 1.23022 1.23004 1.23021 1.23005 + 1.2302 1.23006 1.23019 1.23006 1.23019 1.23007 1.23018 1.23008 1.23017 1.23008 1.23016 1.23009 + 1.23015 1.2301 1.23014 1.23011 1.23014 1.23011 1.23013 1.23012 + </DataArray> + <DataArray type="Float32" Name="mu" NumberOfComponents="1" format="ascii"> + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 1.75183e-05 + </DataArray> + <DataArray type="Float32" Name="v" NumberOfComponents="3" format="ascii"> + 0 0 0 0 0 0 2.5 0 0 2.36048 0.105196 0 + 0 0 0 2.21414 0.0262673 0 0 0 0 2.18635 0.0494144 0 + 0 0 0 2.02843 0.021798 0 0 0 0 2.06335 0.0282764 0 + 0 0 0 1.91289 0.0152549 0 0 0 0 1.98097 0.0167263 0 + 0 0 0 1.8361 0.00943935 0 0 0 0 1.92245 0.0104908 0 + 0 0 0 1.78073 0.0068759 0 0 0 0 1.87833 0.00812998 0 + 0 0 0 1.73863 0.00590026 0 0 0 0 1.84401 0.00669202 0 + 0 0 0 1.70555 0.00459625 0 0 0 0 1.81667 0.00499692 0 + 0 0 0 1.67895 0.00316616 0 0 0 0 1.79472 0.00368385 0 + 0 0 0 1.65737 0.00224652 0 0 0 0 1.77759 0.00295465 0 + 0 0 0 1.64076 0.00135279 0 0 0 0 1.76647 0.00210606 0 + 0 0 0 1.63148 -0.00130928 0 0 0 0 1.76871 -0.000966754 0 + 0 0 0 1.64834 -0.0327194 0 0.512824 -0.0090883 0 1.74695 -0.0455043 0 + 2.5 0 0 2.67577 0.12834 0 2.56747 0.0561493 0 2.62139 0.0821828 0 + 2.4956 0.0459336 0 2.53592 0.0519924 0 2.41123 0.0327505 0 2.45951 0.0351635 0 + 2.33965 0.024057 0 2.39738 0.0256275 0 2.28209 0.0184537 0 2.34759 0.0195982 0 + 2.23604 0.0144683 0 2.30755 0.0154905 0 2.19861 0.0115733 0 2.27474 0.0125393 0 + 2.16771 0.00929982 0 2.24773 0.0102779 0 2.14221 0.00721017 0 2.22603 0.00810018 0 + 2.12216 0.00458018 0 2.21034 0.005152 0 2.10946 -0.000921922 0 2.20448 -0.00368595 0 + 2.10526 -0.0252243 0 2.17407 -0.0301369 0 2.5 0 0 2.69513 0.0799784 0 + 2.61704 0.0628963 0 2.72514 0.0870451 0 2.63322 0.0626379 0 2.70624 0.0703267 0 + 2.60299 0.0505971 0 2.66306 0.0523093 0 2.55864 0.038123 0 2.61757 0.0391669 0 + 2.51557 0.0299291 0 2.57684 0.031135 0 2.47798 0.0244568 0 2.54218 0.0254602 0 + 2.44568 0.0198242 0 2.51237 0.0205602 0 2.41774 0.0157047 0 2.48682 0.01662 0 + 2.39385 0.012279 0 2.46569 0.0132316 0 2.37454 0.00853034 0 2.44961 0.00880467 0 + 2.36108 0.00130529 0 2.4395 -0.00224962 0 2.35014 -0.0176855 0 2.41591 -0.0207303 0 + 2.5 0 0 2.64948 0.0593476 0 2.56924 0.0539241 0 2.69702 0.0748276 0 + 2.6176 0.0584984 0 2.724 0.0670884 0 2.64058 0.0536995 0 2.72984 0.0566707 0 + 2.63991 0.0456326 0 2.71612 0.0468259 0 2.62379 0.0378749 0 2.69341 0.0383208 0 + 2.60248 0.0309828 0 2.66994 0.0317222 0 2.58065 0.0257745 0 2.6477 0.0266233 0 + 2.56014 0.0214369 0 2.62762 0.0223801 0 2.54158 0.0172244 0 2.61019 0.0179389 0 + 2.5258 0.0122058 0 2.596 0.0120282 0 2.51354 0.00365583 0 2.58484 0.000363044 0 + 2.50127 -0.0126931 0 2.56758 -0.0150059 0 2.5 0 0 2.63413 0.0349702 0 + 2.55112 0.0443924 0 2.67269 0.0630587 0 2.59422 0.0533659 0 2.70181 0.0610444 0 + 2.62249 0.0503499 0 2.72302 0.0539382 0 2.64158 0.0457142 0 2.7359 0.0471234 0 + 2.65309 0.0409701 0 2.73983 0.0413877 0 2.65463 0.0357863 0 2.7339 0.036155 0 + 2.64857 0.0306346 0 2.72261 0.0307654 0 2.63885 0.0254385 0 2.71021 0.0259662 0 + 2.62792 0.020687 0 2.69838 0.0211959 0 2.61764 0.0153655 0 2.68794 0.0149103 0 + 2.60858 0.00648953 0 2.67833 0.00338446 0 2.59792 -0.00865894 0 2.66549 -0.0107849 0 + 2.5 0 0 2.61589 0.0291686 0 2.52761 0.0364401 0 2.64769 0.0514907 0 + 2.56875 0.0449524 0 2.67812 0.0527919 0 2.59956 0.0440523 0 2.70125 0.0481518 0 + 2.62231 0.0405594 0 2.71992 0.0423173 0 2.63997 0.036952 0 2.73552 0.0380521 0 + 2.65451 0.0342356 0 2.747 0.0344331 0 2.66601 0.0312956 0 2.75329 0.0310548 0 + 2.67138 0.027504 0 2.75314 0.02758 0 2.67169 0.0230698 0 2.74894 0.0229196 0 + 2.66919 0.0173695 0 2.74353 0.0164062 0 2.66504 0.0082637 0 2.7368 0.0055802 0 + 2.65713 -0.00611444 0 2.7271 -0.00797118 0 2.5 0 0 2.61454 0.0179407 0 + 2.52453 0.0291178 0 2.63928 0.0415935 0 2.5568 0.0393177 0 2.66427 0.045624 0 + 2.58462 0.0391803 0 2.68614 0.0428573 0 2.60758 0.0365799 0 2.7048 0.0389056 0 + 2.62622 0.0335796 0 2.72096 0.0350061 0 2.64252 0.0308774 0 2.73591 0.0312213 0 + 2.65685 0.0282436 0 2.74953 0.0284038 0 2.6695 0.025875 0 2.76059 0.0255336 0 + 2.68093 0.0228759 0 2.76844 0.0220091 0 2.68856 0.0180639 0 2.77237 0.0165843 0 + 2.69172 0.00981024 0 2.77051 0.00717056 0 2.68841 -0.00353378 0 2.76099 -0.00533126 0 + 2.5 0 0 2.60612 0.016054 0 2.51318 0.0243422 0 2.62595 0.0340735 0 + 2.54206 0.0327263 0 2.65047 0.0383126 0 2.5695 0.0332731 0 2.67234 0.0366064 0 + 2.59288 0.0311368 0 2.69157 0.0331576 0 2.6132 0.0286368 0 2.70867 0.030184 0 + 2.63101 0.0266457 0 2.72411 0.0276938 0 2.64639 0.0246214 0 2.73804 0.025308 0 + 2.66033 0.0225054 0 2.75101 0.0223845 0 2.67278 0.0197835 0 2.7629 0.0193896 0 + 2.68349 0.0157855 0 2.77266 0.0146662 0 2.69186 0.00937001 0 2.7773 0.00674548 0 + 2.69439 -0.0011423 0 2.77051 -0.00244769 0 2.5 0 0 2.60699 0.01038 0 + 2.51384 0.018954 0 2.62425 0.0265663 0 2.53832 0.0276092 0 2.64487 0.0317403 0 + 2.56247 0.0285907 0 2.6648 0.0311866 0 2.58431 0.0271175 0 2.6829 0.0289514 0 + 2.60356 0.025065 0 2.69935 0.0263427 0 2.6211 0.0230052 0 2.71479 0.0237836 0 + 2.6373 0.0210527 0 2.72908 0.0216892 0 2.65209 0.0192673 0 2.74216 0.0195668 0 + 2.66501 0.0169621 0 2.7538 0.0169867 0 2.6764 0.0134241 0 2.76338 0.0126009 0 + 2.6851 0.00797654 0 2.76927 0.00566826 0 2.68815 0.000308363 0 2.76633 -0.000566453 0 + 2.5 0 0 2.60116 0.0093545 0 2.50813 0.0155777 0 2.61557 0.0214037 0 + 2.52859 0.022363 0 2.63634 0.025827 0 2.55216 0.0233009 0 2.65665 0.0254652 0 + 2.57448 0.0220215 0 2.67533 0.0234175 0 2.59486 0.0203108 0 2.69229 0.0214261 0 + 2.61311 0.0188399 0 2.70766 0.0197511 0 2.6293 0.0174127 0 2.72171 0.0180707 0 + 2.64408 0.0158371 0 2.73472 0.0160715 0 2.65755 0.0138149 0 2.74638 0.0137808 0 + 2.66936 0.0109213 0 2.75581 0.0103029 0 2.67805 0.00649234 0 2.7615 0.00498478 0 + 2.68121 0.000740585 0 2.76126 4.02698e-05 0 2.5 0 0 2.60459 0.00615892 0 + 2.51011 0.0111024 0 2.61798 0.0162666 0 2.529 0.0171705 0 2.63649 0.0199804 0 + 2.55077 0.0186125 0 2.65504 0.0200672 0 2.57158 0.0179846 0 2.67226 0.0188634 0 + 2.59044 0.0167376 0 2.68809 0.0173044 0 2.60776 0.0153338 0 2.70297 0.0157389 0 + 2.62387 0.0139861 0 2.71687 0.0143445 0 2.63865 0.0127263 0 2.72953 0.0129203 0 + 2.65177 0.0111518 0 2.74064 0.0110955 0 2.66308 0.00873345 0 2.74969 0.00821318 0 + 2.67148 0.00508838 0 2.7553 0.0040115 0 2.67528 0.000667993 0 2.75667 0.000111401 0 + 2.5 0 0 2.60397 0.00472161 0 2.50706 0.00864672 0 2.61416 0.0120685 0 + 2.52399 0.0128914 0 2.63098 0.0148535 0 2.54452 0.0139554 0 2.64949 0.0148939 0 + 2.56518 0.0133463 0 2.66733 0.0137992 0 2.58481 0.0123247 0 2.68386 0.012652 0 + 2.60275 0.0113621 0 2.69895 0.0116963 0 2.61882 0.0104578 0 2.71272 0.0106894 0 + 2.63344 0.00948644 0 2.7253 0.00946664 0 2.64675 0.00824566 0 2.73637 0.00802696 0 + 2.65816 0.006415 0 2.74519 0.00603142 0 2.66634 0.00369044 0 2.75054 0.00314483 0 + 2.67 0.00022637 0 2.75238 -0.000241609 0 2.5 0 0 2.6027 0.00263572 0 + 2.50749 0.00545994 0 2.6139 0.00771528 0 2.52422 0.0084869 0 2.63075 0.00967649 0 + 2.54432 0.00929696 0 2.64898 0.00976238 0 2.5644 0.0091537 0 2.66619 0.00911312 0 + 2.5831 0.00860406 0 2.68197 0.00838986 0 2.60027 0.00783821 0 2.69668 0.00772796 0 + 2.61606 0.00709357 0 2.71038 0.00703589 0 2.63049 0.00646496 0 2.72274 0.00625449 0 + 2.64334 0.00569203 0 2.73342 0.00533353 0 2.65422 0.0043757 0 2.74198 0.00406019 0 + 2.66206 0.00240675 0 2.74726 0.00219479 0 2.666 -0.000162786 0 2.74912 -0.000539412 0 + 2.5 0 0 2.59931 0.00141614 0 2.5058 0.00278525 0 2.60906 0.0038983 0 + 2.52139 0.00426149 0 2.62532 0.00490284 0 2.5409 0.00468475 0 2.64344 0.00489042 0 + 2.56071 0.00460123 0 2.66142 0.00441483 0 2.57946 0.004301 0 2.6784 0.0040373 0 + 2.59676 0.00390156 0 2.69388 0.00382327 0 2.61254 0.00354442 0 2.70787 0.00349991 0 + 2.62683 0.00325241 0 2.72062 0.00300306 0 2.63961 0.00286474 0 2.7319 0.00249882 0 + 2.65047 0.00211994 0 2.7407 0.00202987 0 2.65847 0.00108585 0 2.74577 0.00116827 0 + 2.66245 -0.000509596 0 2.74597 -0.00075674 0 2.5 0 0 2.60115 0 0 + 2.50665 0 0 2.61156 0 0 2.52273 0 0 2.62812 0 0 + 2.5427 0 0 2.64649 0 0 2.56267 1.75348e-38 0 2.66433 0 0 + 2.58075 1.24265e-38 0 2.68082 -1.36825e-38 0 2.59725 0 0 2.69591 -1.51127e-38 0 + 2.61281 0 0 2.70978 0 0 2.62706 -1.6163e-38 0 2.72244 0 0 + 2.63929 0 0 2.73345 0 0 2.64931 0 0 2.74175 0 0 + 2.65713 0 0 2.74635 0 0 2.661 0 0 2.74462 -0.000309358 0 + </DataArray> + </PointData> + <Points> + <DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii"> + 0 0 0 0.2 0 0 0 0.1 0 0.2 0.1 0 + 0.4 0 0 0.4 0.1 0 0.6 0 0 0.6 0.1 0 + 0.8 0 0 0.8 0.1 0 1 0 0 1 0.1 0 + 1.2 0 0 1.2 0.1 0 1.4 0 0 1.4 0.1 0 + 1.6 0 0 1.6 0.1 0 1.8 0 0 1.8 0.1 0 + 2 0 0 2 0.1 0 2.2 0 0 2.2 0.1 0 + 2.4 0 0 2.4 0.1 0 2.6 0 0 2.6 0.1 0 + 2.8 0 0 2.8 0.1 0 3 0 0 3 0.1 0 + 3.2 0 0 3.2 0.1 0 3.4 0 0 3.4 0.1 0 + 3.6 0 0 3.6 0.1 0 3.8 0 0 3.8 0.1 0 + 4 0 0 4 0.1 0 4.2 0 0 4.2 0.1 0 + 4.4 0 0 4.4 0.1 0 4.6 0 0 4.6 0.1 0 + 4.8 0 0 4.8 0.1 0 5 0 0 5 0.1 0 + 0 0.2 0 0.2 0.2 0 0.4 0.2 0 0.6 0.2 0 + 0.8 0.2 0 1 0.2 0 1.2 0.2 0 1.4 0.2 0 + 1.6 0.2 0 1.8 0.2 0 2 0.2 0 2.2 0.2 0 + 2.4 0.2 0 2.6 0.2 0 2.8 0.2 0 3 0.2 0 + 3.2 0.2 0 3.4 0.2 0 3.6 0.2 0 3.8 0.2 0 + 4 0.2 0 4.2 0.2 0 4.4 0.2 0 4.6 0.2 0 + 4.8 0.2 0 5 0.2 0 0 0.3 0 0.2 0.3 0 + 0.4 0.3 0 0.6 0.3 0 0.8 0.3 0 1 0.3 0 + 1.2 0.3 0 1.4 0.3 0 1.6 0.3 0 1.8 0.3 0 + 2 0.3 0 2.2 0.3 0 2.4 0.3 0 2.6 0.3 0 + 2.8 0.3 0 3 0.3 0 3.2 0.3 0 3.4 0.3 0 + 3.6 0.3 0 3.8 0.3 0 4 0.3 0 4.2 0.3 0 + 4.4 0.3 0 4.6 0.3 0 4.8 0.3 0 5 0.3 0 + 0 0.4 0 0.2 0.4 0 0.4 0.4 0 0.6 0.4 0 + 0.8 0.4 0 1 0.4 0 1.2 0.4 0 1.4 0.4 0 + 1.6 0.4 0 1.8 0.4 0 2 0.4 0 2.2 0.4 0 + 2.4 0.4 0 2.6 0.4 0 2.8 0.4 0 3 0.4 0 + 3.2 0.4 0 3.4 0.4 0 3.6 0.4 0 3.8 0.4 0 + 4 0.4 0 4.2 0.4 0 4.4 0.4 0 4.6 0.4 0 + 4.8 0.4 0 5 0.4 0 0 0.5 0 0.2 0.5 0 + 0.4 0.5 0 0.6 0.5 0 0.8 0.5 0 1 0.5 0 + 1.2 0.5 0 1.4 0.5 0 1.6 0.5 0 1.8 0.5 0 + 2 0.5 0 2.2 0.5 0 2.4 0.5 0 2.6 0.5 0 + 2.8 0.5 0 3 0.5 0 3.2 0.5 0 3.4 0.5 0 + 3.6 0.5 0 3.8 0.5 0 4 0.5 0 4.2 0.5 0 + 4.4 0.5 0 4.6 0.5 0 4.8 0.5 0 5 0.5 0 + 0 0.6 0 0.2 0.6 0 0.4 0.6 0 0.6 0.6 0 + 0.8 0.6 0 1 0.6 0 1.2 0.6 0 1.4 0.6 0 + 1.6 0.6 0 1.8 0.6 0 2 0.6 0 2.2 0.6 0 + 2.4 0.6 0 2.6 0.6 0 2.8 0.6 0 3 0.6 0 + 3.2 0.6 0 3.4 0.6 0 3.6 0.6 0 3.8 0.6 0 + 4 0.6 0 4.2 0.6 0 4.4 0.6 0 4.6 0.6 0 + 4.8 0.6 0 5 0.6 0 0 0.7 0 0.2 0.7 0 + 0.4 0.7 0 0.6 0.7 0 0.8 0.7 0 1 0.7 0 + 1.2 0.7 0 1.4 0.7 0 1.6 0.7 0 1.8 0.7 0 + 2 0.7 0 2.2 0.7 0 2.4 0.7 0 2.6 0.7 0 + 2.8 0.7 0 3 0.7 0 3.2 0.7 0 3.4 0.7 0 + 3.6 0.7 0 3.8 0.7 0 4 0.7 0 4.2 0.7 0 + 4.4 0.7 0 4.6 0.7 0 4.8 0.7 0 5 0.7 0 + 0 0.8 0 0.2 0.8 0 0.4 0.8 0 0.6 0.8 0 + 0.8 0.8 0 1 0.8 0 1.2 0.8 0 1.4 0.8 0 + 1.6 0.8 0 1.8 0.8 0 2 0.8 0 2.2 0.8 0 + 2.4 0.8 0 2.6 0.8 0 2.8 0.8 0 3 0.8 0 + 3.2 0.8 0 3.4 0.8 0 3.6 0.8 0 3.8 0.8 0 + 4 0.8 0 4.2 0.8 0 4.4 0.8 0 4.6 0.8 0 + 4.8 0.8 0 5 0.8 0 0 0.9 0 0.2 0.9 0 + 0.4 0.9 0 0.6 0.9 0 0.8 0.9 0 1 0.9 0 + 1.2 0.9 0 1.4 0.9 0 1.6 0.9 0 1.8 0.9 0 + 2 0.9 0 2.2 0.9 0 2.4 0.9 0 2.6 0.9 0 + 2.8 0.9 0 3 0.9 0 3.2 0.9 0 3.4 0.9 0 + 3.6 0.9 0 3.8 0.9 0 4 0.9 0 4.2 0.9 0 + 4.4 0.9 0 4.6 0.9 0 4.8 0.9 0 5 0.9 0 + 0 1 0 0.2 1 0 0.4 1 0 0.6 1 0 + 0.8 1 0 1 1 0 1.2 1 0 1.4 1 0 + 1.6 1 0 1.8 1 0 2 1 0 2.2 1 0 + 2.4 1 0 2.6 1 0 2.8 1 0 3 1 0 + 3.2 1 0 3.4 1 0 3.6 1 0 3.8 1 0 + 4 1 0 4.2 1 0 4.4 1 0 4.6 1 0 + 4.8 1 0 5 1 0 0 1.1 0 0.2 1.1 0 + 0.4 1.1 0 0.6 1.1 0 0.8 1.1 0 1 1.1 0 + 1.2 1.1 0 1.4 1.1 0 1.6 1.1 0 1.8 1.1 0 + 2 1.1 0 2.2 1.1 0 2.4 1.1 0 2.6 1.1 0 + 2.8 1.1 0 3 1.1 0 3.2 1.1 0 3.4 1.1 0 + 3.6 1.1 0 3.8 1.1 0 4 1.1 0 4.2 1.1 0 + 4.4 1.1 0 4.6 1.1 0 4.8 1.1 0 5 1.1 0 + 0 1.2 0 0.2 1.2 0 0.4 1.2 0 0.6 1.2 0 + 0.8 1.2 0 1 1.2 0 1.2 1.2 0 1.4 1.2 0 + 1.6 1.2 0 1.8 1.2 0 2 1.2 0 2.2 1.2 0 + 2.4 1.2 0 2.6 1.2 0 2.8 1.2 0 3 1.2 0 + 3.2 1.2 0 3.4 1.2 0 3.6 1.2 0 3.8 1.2 0 + 4 1.2 0 4.2 1.2 0 4.4 1.2 0 4.6 1.2 0 + 4.8 1.2 0 5 1.2 0 0 1.3 0 0.2 1.3 0 + 0.4 1.3 0 0.6 1.3 0 0.8 1.3 0 1 1.3 0 + 1.2 1.3 0 1.4 1.3 0 1.6 1.3 0 1.8 1.3 0 + 2 1.3 0 2.2 1.3 0 2.4 1.3 0 2.6 1.3 0 + 2.8 1.3 0 3 1.3 0 3.2 1.3 0 3.4 1.3 0 + 3.6 1.3 0 3.8 1.3 0 4 1.3 0 4.2 1.3 0 + 4.4 1.3 0 4.6 1.3 0 4.8 1.3 0 5 1.3 0 + 0 1.4 0 0.2 1.4 0 0.4 1.4 0 0.6 1.4 0 + 0.8 1.4 0 1 1.4 0 1.2 1.4 0 1.4 1.4 0 + 1.6 1.4 0 1.8 1.4 0 2 1.4 0 2.2 1.4 0 + 2.4 1.4 0 2.6 1.4 0 2.8 1.4 0 3 1.4 0 + 3.2 1.4 0 3.4 1.4 0 3.6 1.4 0 3.8 1.4 0 + 4 1.4 0 4.2 1.4 0 4.4 1.4 0 4.6 1.4 0 + 4.8 1.4 0 5 1.4 0 0 1.5 0 0.2 1.5 0 + 0.4 1.5 0 0.6 1.5 0 0.8 1.5 0 1 1.5 0 + 1.2 1.5 0 1.4 1.5 0 1.6 1.5 0 1.8 1.5 0 + 2 1.5 0 2.2 1.5 0 2.4 1.5 0 2.6 1.5 0 + 2.8 1.5 0 3 1.5 0 3.2 1.5 0 3.4 1.5 0 + 3.6 1.5 0 3.8 1.5 0 4 1.5 0 4.2 1.5 0 + 4.4 1.5 0 4.6 1.5 0 4.8 1.5 0 5 1.5 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 20 22 23 21 22 24 25 23 + 24 26 27 25 26 28 29 27 28 30 31 29 + 30 32 33 31 32 34 35 33 34 36 37 35 + 36 38 39 37 38 40 41 39 40 42 43 41 + 42 44 45 43 44 46 47 45 46 48 49 47 + 48 50 51 49 2 3 53 52 3 5 54 53 + 5 7 55 54 7 9 56 55 9 11 57 56 + 11 13 58 57 13 15 59 58 15 17 60 59 + 17 19 61 60 19 21 62 61 21 23 63 62 + 23 25 64 63 25 27 65 64 27 29 66 65 + 29 31 67 66 31 33 68 67 33 35 69 68 + 35 37 70 69 37 39 71 70 39 41 72 71 + 41 43 73 72 43 45 74 73 45 47 75 74 + 47 49 76 75 49 51 77 76 52 53 79 78 + 53 54 80 79 54 55 81 80 55 56 82 81 + 56 57 83 82 57 58 84 83 58 59 85 84 + 59 60 86 85 60 61 87 86 61 62 88 87 + 62 63 89 88 63 64 90 89 64 65 91 90 + 65 66 92 91 66 67 93 92 67 68 94 93 + 68 69 95 94 69 70 96 95 70 71 97 96 + 71 72 98 97 72 73 99 98 73 74 100 99 + 74 75 101 100 75 76 102 101 76 77 103 102 + 78 79 105 104 79 80 106 105 80 81 107 106 + 81 82 108 107 82 83 109 108 83 84 110 109 + 84 85 111 110 85 86 112 111 86 87 113 112 + 87 88 114 113 88 89 115 114 89 90 116 115 + 90 91 117 116 91 92 118 117 92 93 119 118 + 93 94 120 119 94 95 121 120 95 96 122 121 + 96 97 123 122 97 98 124 123 98 99 125 124 + 99 100 126 125 100 101 127 126 101 102 128 127 + 102 103 129 128 104 105 131 130 105 106 132 131 + 106 107 133 132 107 108 134 133 108 109 135 134 + 109 110 136 135 110 111 137 136 111 112 138 137 + 112 113 139 138 113 114 140 139 114 115 141 140 + 115 116 142 141 116 117 143 142 117 118 144 143 + 118 119 145 144 119 120 146 145 120 121 147 146 + 121 122 148 147 122 123 149 148 123 124 150 149 + 124 125 151 150 125 126 152 151 126 127 153 152 + 127 128 154 153 128 129 155 154 130 131 157 156 + 131 132 158 157 132 133 159 158 133 134 160 159 + 134 135 161 160 135 136 162 161 136 137 163 162 + 137 138 164 163 138 139 165 164 139 140 166 165 + 140 141 167 166 141 142 168 167 142 143 169 168 + 143 144 170 169 144 145 171 170 145 146 172 171 + 146 147 173 172 147 148 174 173 148 149 175 174 + 149 150 176 175 150 151 177 176 151 152 178 177 + 152 153 179 178 153 154 180 179 154 155 181 180 + 156 157 183 182 157 158 184 183 158 159 185 184 + 159 160 186 185 160 161 187 186 161 162 188 187 + 162 163 189 188 163 164 190 189 164 165 191 190 + 165 166 192 191 166 167 193 192 167 168 194 193 + 168 169 195 194 169 170 196 195 170 171 197 196 + 171 172 198 197 172 173 199 198 173 174 200 199 + 174 175 201 200 175 176 202 201 176 177 203 202 + 177 178 204 203 178 179 205 204 179 180 206 205 + 180 181 207 206 182 183 209 208 183 184 210 209 + 184 185 211 210 185 186 212 211 186 187 213 212 + 187 188 214 213 188 189 215 214 189 190 216 215 + 190 191 217 216 191 192 218 217 192 193 219 218 + 193 194 220 219 194 195 221 220 195 196 222 221 + 196 197 223 222 197 198 224 223 198 199 225 224 + 199 200 226 225 200 201 227 226 201 202 228 227 + 202 203 229 228 203 204 230 229 204 205 231 230 + 205 206 232 231 206 207 233 232 208 209 235 234 + 209 210 236 235 210 211 237 236 211 212 238 237 + 212 213 239 238 213 214 240 239 214 215 241 240 + 215 216 242 241 216 217 243 242 217 218 244 243 + 218 219 245 244 219 220 246 245 220 221 247 246 + 221 222 248 247 222 223 249 248 223 224 250 249 + 224 225 251 250 225 226 252 251 226 227 253 252 + 227 228 254 253 228 229 255 254 229 230 256 255 + 230 231 257 256 231 232 258 257 232 233 259 258 + 234 235 261 260 235 236 262 261 236 237 263 262 + 237 238 264 263 238 239 265 264 239 240 266 265 + 240 241 267 266 241 242 268 267 242 243 269 268 + 243 244 270 269 244 245 271 270 245 246 272 271 + 246 247 273 272 247 248 274 273 248 249 275 274 + 249 250 276 275 250 251 277 276 251 252 278 277 + 252 253 279 278 253 254 280 279 254 255 281 280 + 255 256 282 281 256 257 283 282 257 258 284 283 + 258 259 285 284 260 261 287 286 261 262 288 287 + 262 263 289 288 263 264 290 289 264 265 291 290 + 265 266 292 291 266 267 293 292 267 268 294 293 + 268 269 295 294 269 270 296 295 270 271 297 296 + 271 272 298 297 272 273 299 298 273 274 300 299 + 274 275 301 300 275 276 302 301 276 277 303 302 + 277 278 304 303 278 279 305 304 279 280 306 305 + 280 281 307 306 281 282 308 307 282 283 309 308 + 283 284 310 309 284 285 311 310 286 287 313 312 + 287 288 314 313 288 289 315 314 289 290 316 315 + 290 291 317 316 291 292 318 317 292 293 319 318 + 293 294 320 319 294 295 321 320 295 296 322 321 + 296 297 323 322 297 298 324 323 298 299 325 324 + 299 300 326 325 300 301 327 326 301 302 328 327 + 302 303 329 328 303 304 330 329 304 305 331 330 + 305 306 332 331 306 307 333 332 307 308 334 333 + 308 309 335 334 309 310 336 335 310 311 337 336 + 312 313 339 338 313 314 340 339 314 315 341 340 + 315 316 342 341 316 317 343 342 317 318 344 343 + 318 319 345 344 319 320 346 345 320 321 347 346 + 321 322 348 347 322 323 349 348 323 324 350 349 + 324 325 351 350 325 326 352 351 326 327 353 352 + 327 328 354 353 328 329 355 354 329 330 356 355 + 330 331 357 356 331 332 358 357 332 333 359 358 + 333 334 360 359 334 335 361 360 335 336 362 361 + 336 337 363 362 338 339 365 364 339 340 366 365 + 340 341 367 366 341 342 368 367 342 343 369 368 + 343 344 370 369 344 345 371 370 345 346 372 371 + 346 347 373 372 347 348 374 373 348 349 375 374 + 349 350 376 375 350 351 377 376 351 352 378 377 + 352 353 379 378 353 354 380 379 354 355 381 380 + 355 356 382 381 356 357 383 382 357 358 384 383 + 358 359 385 384 359 360 386 385 360 361 387 386 + 361 362 388 387 362 363 389 388 364 365 391 390 + 365 366 392 391 366 367 393 392 367 368 394 393 + 368 369 395 394 369 370 396 395 370 371 397 396 + 371 372 398 397 372 373 399 398 373 374 400 399 + 374 375 401 400 375 376 402 401 376 377 403 402 + 377 378 404 403 378 379 405 404 379 380 406 405 + 380 381 407 406 381 382 408 407 382 383 409 408 + 383 384 410 409 384 385 411 410 385 386 412 411 + 386 387 413 412 387 388 414 413 388 389 415 414 + </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 404 408 412 416 420 424 428 432 + 436 440 444 448 452 456 460 464 468 472 476 480 + 484 488 492 496 500 504 508 512 516 520 524 528 + 532 536 540 544 548 552 556 560 564 568 572 576 + 580 584 588 592 596 600 604 608 612 616 620 624 + 628 632 636 640 644 648 652 656 660 664 668 672 + 676 680 684 688 692 696 700 704 708 712 716 720 + 724 728 732 736 740 744 748 752 756 760 764 768 + 772 776 780 784 788 792 796 800 804 808 812 816 + 820 824 828 832 836 840 844 848 852 856 860 864 + 868 872 876 880 884 888 892 896 900 904 908 912 + 916 920 924 928 932 936 940 944 948 952 956 960 + 964 968 972 976 980 984 988 992 996 1000 1004 1008 + 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 + 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 + 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 + 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + 1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 + 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 + 1300 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 + 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 + 1396 1400 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 + 1444 1448 1452 1456 1460 1464 1468 1472 1476 1480 1484 1488 + 1492 1496 1500 + </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 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 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 + 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