diff --git a/doc/doxygen/modules.txt b/doc/doxygen/modules.txt
index 317d5de6cca889091028f1372d5d90965ea7f07f..bce8b3d1aa57dcd8e571da4db7e3a7f9ed24ed70 100644
--- a/doc/doxygen/modules.txt
+++ b/doc/doxygen/modules.txt
@@ -54,6 +54,12 @@
* # Saturation
* \copydetails Dumux::FVSaturation2P
*/
+ /*!
+ * \ingroup Porousmediaflow
+ * \defgroup TwoPOneCModel 2p1c (two-phase, one-component Darcy flow)
+ *
+ * \copydetails Dumux::TwoPOneCModel
+ */
/*!
* \ingroup Porousmediaflow
* \defgroup TwoPTwoCModels 2p2c (two-phase, two-component Darcy flow)
diff --git a/doc/handbook/dumux-handbook.bib b/doc/handbook/dumux-handbook.bib
index 96c774ad67a619366d702408a34f3f11d73adec4..7edb5dd91ea1f319d114d7e2bbb27c25043a2184 100644
--- a/doc/handbook/dumux-handbook.bib
+++ b/doc/handbook/dumux-handbook.bib
@@ -608,6 +608,18 @@
edition = {1}
}
+@article{gudbjerg2004,
+title = {{On spurious water flow during numerical simulation of steam injection into water-saturated soil}},
+author = {{J. Gudbjerg and O. Trötschler and A. Färber and T.O. Sonnenborg and K.H. Jensen}},
+journal = {{Journal of Contaminant Hydrology}},
+volume = {75},
+number = {3–4},
+pages = {297 - 318},
+year = {2004},
+doi = {http://dx.doi.org/10.1016/j.jconhyd.2004.07.003},
+url = {http://www.sciencedirect.com/science/article/pii/S0169772204001160}
+}
+
@INPROCEEDINGS{A3:freiboth:2004,
author = {S. H\"olzemann and H. Class and R. Helmig},
title = {{A New Concept for the Numerical Simulation and Parameter Identification
diff --git a/dumux/material/fluidsystems/2pliquidvapor.hh b/dumux/material/fluidsystems/2pliquidvapor.hh
new file mode 100644
index 0000000000000000000000000000000000000000..9d4db7ce3d541d4e45760075a3c43fc07ab7a0e8
--- /dev/null
+++ b/dumux/material/fluidsystems/2pliquidvapor.hh
@@ -0,0 +1,578 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief @copybrief Dumux::FluidSystems::TwoPLiquidVaporFluidsystem
+ */
+#ifndef DUMUX_2P_LIQUID_VAPOR_FLUID_SYSTEM_HH
+#define DUMUX_2P_LIQUID_VAPOR_FLUID_SYSTEM_HHH
+
+#include
+#include
+
+#include
+#include
+#include
+
+#include
+
+#include "base.hh"
+
+namespace Dumux
+{
+namespace FluidSystems
+{
+
+/*!
+ * \ingroup Fluidsystems
+ *
+ * \brief A two-phase fluid system with only one component.
+ *
+ *
+ * This FluidSystem can be used without the PropertySystem that is applied in Dumux,
+ * as all Parameters are defined via template parameters. Hence it is in an
+ * additional namespace Dumux::FluidSystem::.
+ * An adapter class using Dumux::FluidSystem is also provided
+ * at the end of this file.
+ */
+template
+class TwoPLiquidVaporFluidsystem
+ : public BaseFluidSystem >
+{
+ // do not try to instantiate this class, it has only static members!
+ TwoPLiquidVaporFluidsystem()
+ {}
+
+ typedef TwoPLiquidVaporFluidsystem ThisType;
+ typedef BaseFluidSystem Base;
+ typedef ComponentType Component;
+
+public:
+ /****************************************
+ * Fluid phase related static parameters
+ ****************************************/
+
+ //! Number of phases in the fluid system
+ static constexpr int numPhases = 2;
+
+ static constexpr int wPhaseIdx = 0; // index of the wetting phase
+ static constexpr int nPhaseIdx = 1; // index of the non-wetting phase
+
+
+ /*!
+ * \brief Return the human readable name of a fluid phase
+ *
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ static const char *phaseName(int phaseIdx)
+ {
+ static const char *name[] = {
+ "liquid",
+ "vapor",
+ };
+
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ return name[phaseIdx];
+ }
+
+ /*!
+ * \brief Return whether a phase is liquid
+ *
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ static bool isLiquid(int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ return phaseIdx != nPhaseIdx;
+ }
+
+ /*!
+ * \brief Returns true if and only if a fluid phase is assumed to
+ * be an ideal mixture.
+ *
+ * We define an ideal mixture as a fluid phase where the fugacity
+ * coefficients of all components times the pressure of the phase
+ * are indepent on the fluid composition. This assumtion is true
+ * if Henry's law and Rault's law apply. If you are unsure what
+ * this function should return, it is safe to return false. The
+ * only damage done will be (slightly) increased computation times
+ * in some cases.
+ *
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ static bool isIdealMixture(int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ // we assume Henry's and Rault's laws for the water phase and
+ // and no interaction between gas molecules of different
+ // components, so all phases are ideal mixtures!
+ return true;
+ }
+
+ /*!
+ * \brief Returns true if and only if a fluid phase is assumed to
+ * be compressible.
+ *
+ * Compressible means that the partial derivative of the density
+ * to the fluid pressure is always larger than zero.
+ *
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ static bool isCompressible(int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ // gases are always compressible
+ if (phaseIdx == nPhaseIdx)
+ return true;
+ // the component decides for the liquid phase...
+ return Component::liquidIsCompressible();
+ }
+
+ /*!
+ * \brief Returns true if and only if a fluid phase is assumed to
+ * be an ideal gas.
+ *
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ static bool isIdealGas(int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+
+ if (phaseIdx == nPhaseIdx)
+ // let the components decide
+ return Component::gasIsIdeal();
+ return false; // not a gas
+ }
+
+ /****************************************
+ * Component related static parameters
+ ****************************************/
+
+ //! Number of components in the fluid system
+ static constexpr int numComponents = 1;
+
+ static constexpr int ComponentIdx = 0;
+
+
+
+ /*!
+ * \brief Return the human readable name of a component
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static const char *componentName(int compIdx)
+ {
+ static const char *name[] = {
+ Component::name()
+ };
+
+ assert(0 <= compIdx && compIdx < numComponents);
+ return name[compIdx];
+ }
+
+ /*!
+ * \brief Return the molar mass of a component in [kg/mol].
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static Scalar molarMass(int compIdx)
+ {
+ static const Scalar M[] = {
+ Component::molarMass()
+ };
+
+ assert(0 <= compIdx && compIdx < numComponents);
+ return M[compIdx];
+ }
+
+ /*!
+ * \brief Critical temperature of a component [K].
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static Scalar criticalTemperature(int compIdx)
+ {
+ static const Scalar Tcrit[] = {
+ Component::criticalTemperature()
+ };
+
+ assert(0 <= compIdx && compIdx < numComponents);
+ return Tcrit[compIdx];
+ }
+
+ /*!
+ * \brief Critical pressure of a component [Pa].
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static Scalar criticalPressure(int compIdx)
+ {
+ static const Scalar pcrit[] = {
+ Component::criticalPressure()
+ };
+
+ assert(0 <= compIdx && compIdx < numComponents);
+ return pcrit[compIdx];
+ }
+
+ /*!
+ * \brief Molar volume of a component at the critical point [m^3/mol].
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static Scalar criticalMolarVolume(int compIdx)
+ {
+ DUNE_THROW(Dune::NotImplemented,
+ "TwoPLiquidVaporFluidsystem::criticalMolarVolume()");
+ return 0;
+ }
+
+ /*!
+ * \brief The acentric factor of a component [].
+ *
+ * \param compIdx The index of the component to consider
+ */
+ static Scalar acentricFactor(int compIdx)
+ {
+ static const Scalar accFac[] = {
+ Component::acentricFactor(), // H2O (from Reid, et al.)
+ };
+
+ assert(0 <= compIdx && compIdx < numComponents);
+ return accFac[compIdx];
+ }
+
+ /****************************************
+ * thermodynamic relations
+ ****************************************/
+
+ /*!
+ * \brief Initialize the fluid system's static parameters generically
+ *
+ * If a tabulated H2O component is used, we do our best to create
+ * tables that always work.
+ */
+ static void init()
+ {
+ init(/*tempMin=*/273.15,
+ /*tempMax=*/623.15,
+ /*numTemp=*/100,
+ /*pMin=*/0.0,
+ /*pMax=*/20e6,
+ /*numP=*/200);
+ }
+
+ /*!
+ * \brief Initialize the fluid system's static parameters using
+ * problem specific temperature and pressure ranges
+ *
+ * \param tempMin The minimum temperature used for tabulation of water [K]
+ * \param tempMax The maximum temperature used for tabulation of water [K]
+ * \param nTemp The number of ticks on the temperature axis of the table of water
+ * \param pressMin The minimum pressure used for tabulation of water [Pa]
+ * \param pressMax The maximum pressure used for tabulation of water [Pa]
+ * \param nPress The number of ticks on the pressure axis of the table of water
+ */
+ static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
+ Scalar pressMin, Scalar pressMax, unsigned nPress)
+ {
+ if (Component::isTabulated) {
+ std::cout << "Initializing tables for the fluid properties ("
+ << nTemp*nPress
+ << " entries).\n";
+
+ Component::init(tempMin, tempMax, nTemp,
+ pressMin, pressMax, nPress);
+ }
+ }
+
+ /*!
+ * \brief Calculate the density [kg/m^3] of a fluid phase
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ using Base::density;
+ template
+ static Scalar density(const FluidState &fluidState,
+ int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+
+ Scalar T = fluidState.temperature(phaseIdx);
+ Scalar p = fluidState.pressure(phaseIdx);
+
+ // liquid phase
+ if (phaseIdx == wPhaseIdx) {
+ return Component::liquidDensity(T, p);
+ }
+ else if (phaseIdx == nPhaseIdx)// gas phase
+ {
+ return Component::gasDensity(T, p);
+ }
+ else DUNE_THROW(Dune::NotImplemented,
+ "wrong index");
+ }
+
+ /*!
+ * \brief Calculate the dynamic viscosity of a fluid phase [Pa*s]
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ using Base::viscosity;
+ template
+ static Scalar viscosity(const FluidState &fluidState,
+ int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+
+ Scalar T = fluidState.temperature(phaseIdx);
+ Scalar p = fluidState.pressure(phaseIdx);
+
+ // liquid phase
+ if (phaseIdx == wPhaseIdx) {
+ return Component::liquidViscosity(T, p);
+ }
+ else if (phaseIdx == nPhaseIdx) // gas phase
+ {
+ return Component::gasViscosity(T, p) ;
+ }
+ else DUNE_THROW(Dune::NotImplemented,
+ "wrong index");
+ }
+
+ /*!
+ * \brief calculate the temperature of vapor at a given pressure on the vapor pressure curve.
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ template
+ static Scalar vaporTemperature(const FluidState &fluidState,
+ const unsigned int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ Scalar pressure = fluidState.pressure(nPhaseIdx) ;
+
+ return Component::vaporTemperature( pressure ) ;
+ }
+
+ /*!
+ * \brief Calculate the fugacity coefficient [Pa] of an individual
+ * component in a fluid phase
+ *
+ * The fugacity coefficient \f$\phi^\kappa_\alpha\f$ of
+ * component \f$\kappa\f$ in phase \f$\alpha\f$ is connected to
+ * the fugacity \f$f^\kappa_\alpha\f$ and the component's mole
+ * fraction \f$x^\kappa_\alpha\f$ by means of the relation
+ *
+ * \f[
+ f^\kappa_\alpha = \phi^\kappa_\alpha\;x^\kappa_\alpha\;p_\alpha
+ \f]
+ * where \f$p_\alpha\f$ is the pressure of the fluid phase.
+ *
+ * The quantity "fugacity" itself is just an other way to express
+ * the chemical potential \f$\zeta^\kappa_\alpha\f$ of the
+ * component. It is defined via
+ *
+ * \f[
+ f^\kappa_\alpha := \exp\left\{\frac{\zeta^\kappa_\alpha}{k_B T_\alpha} \right\}
+ \f]
+ * where \f$k_B = 1.380\cdot10^{-23}\;J/K\f$ is the Boltzmann constant.
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ * \param compIdx The index of the component to consider
+ */
+ using Base::fugacityCoefficient;
+ template
+ static Scalar fugacityCoefficient(const FluidState &fluidState,
+ int phaseIdx,
+ int compIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ assert(0 <= compIdx && compIdx < numComponents);
+
+ Scalar T = fluidState.temperature(phaseIdx);
+ Scalar p = fluidState.pressure(phaseIdx);
+
+ // liquid phase
+ if (phaseIdx == wPhaseIdx)
+ {
+ return Component::vaporPressure(T)/p;
+ }
+
+ // for the gas phase, assume an ideal gas when it comes to
+ // fugacity (-> fugacity == partial pressure)
+ else
+ {
+ return 1.0;
+
+ }
+ }
+
+
+ /*!
+ * \brief Calculate the molecular diffusion coefficient for a
+ * component in a fluid phase [mol^2 * s / (kg*m^3)]
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ * \param compIdx The index of the component to consider
+ */
+ using Base::diffusionCoefficient;
+ template
+ static Scalar diffusionCoefficient(const FluidState &fluidState,
+ int phaseIdx,
+ int compIdx)
+ {
+ // TODO!
+ DUNE_THROW(Dune::NotImplemented, "Diffusion coefficients");
+ }
+
+ /*!
+ * \brief Given a phase's composition, temperature and pressure,
+ * return the binary diffusion coefficient for components
+ * \f$i\f$ and \f$j\f$ in this phase.
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ * \param compIIdx The index of the first component to consider
+ * \param compJIdx The index of the second component to consider
+ */
+ using Base::binaryDiffusionCoefficient;
+ template
+ static Scalar binaryDiffusionCoefficient(const FluidState &fluidState,
+ int phaseIdx,
+ int compIIdx,
+ int compJIdx)
+
+ {
+ DUNE_THROW(Dune::NotImplemented, "Binary Diffusion coefficients");
+ }
+
+ /*!
+ * \brief Calculate specific enthalpy [J/kg].
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ using Base::enthalpy;
+ template
+ static Scalar enthalpy(const FluidState &fluidState,
+ int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+
+ // liquid phase
+ if (phaseIdx == wPhaseIdx) {
+ return Component::liquidEnthalpy(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx));
+ }
+ else if (phaseIdx == nPhaseIdx) // gas phase
+ {
+ return Component::gasEnthalpy(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx));
+ }
+ else DUNE_THROW(Dune::NotImplemented,
+ "wrong index");
+ }
+
+ /*!
+ * \brief Thermal conductivity of a fluid phase [W/(m K)].
+ *
+ * Use the conductivity of vapor and liquid water at 100°C
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ using Base::thermalConductivity;
+ template
+ static Scalar thermalConductivity(const FluidState &fluidState,
+ const int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ // liquid phase
+ if (phaseIdx == wPhaseIdx) {
+ return Component::liquidThermalConductivity(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx)); //0.68 ;
+ }
+ else if (phaseIdx == nPhaseIdx) // gas phase
+ {
+ return Component::gasThermalConductivity(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx)); //0.0248;
+ }
+ else DUNE_THROW(Dune::NotImplemented,
+ "wrong index");
+ }
+
+ /*!
+ * \brief Specific isobaric heat capacity of a fluid phase.
+ * \f$\mathrm{[J/kg / K]}\f$.
+ *
+ * \param fluidState An arbitrary fluid state
+ * \param phaseIdx The index of the fluid phase to consider
+ */
+ using Base::heatCapacity;
+ template
+ static Scalar heatCapacity(const FluidState &fluidState,
+ int phaseIdx)
+ {
+ assert(0 <= phaseIdx && phaseIdx < numPhases);
+ // liquid phase
+ if (phaseIdx == wPhaseIdx) {
+ return Component::liquidHeatCapacity(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx));//4.217e3 ;
+ }
+ else if (phaseIdx == nPhaseIdx) // gas phase
+ {
+ return Component::gasHeatCapacity(fluidState.temperature(phaseIdx),
+ fluidState.pressure(phaseIdx));//2.029e3;
+ }
+ else DUNE_THROW(Dune::NotImplemented,
+ "wrong index");
+ }
+};
+
+} // end namespace FluidSystems
+
+#ifdef DUMUX_PROPERTIES_HH
+// forward defintions of the property tags
+namespace Properties {
+NEW_PROP_TAG(Scalar);
+NEW_PROP_TAG(Components);
+}
+/*!
+ * \brief A two-phase fluid system with only one component.
+ *
+ * This is an adapter to use Dumux::TwoPLiquidVaporFluidsystem, as is
+ * done with most other classes in Dumux.
+ */
+template
+class TwoPLiquidVaporFluidsystem
+: public FluidSystems::TwoPLiquidVaporFluidsystem
+{};
+#endif
+
+} // end namespace
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/CMakeLists.txt b/dumux/porousmediumflow/2p1c/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ba8341c614f1a2c797c95f5402f602025f1087b1
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory("implicit")
diff --git a/dumux/porousmediumflow/2p1c/implicit/CMakeLists.txt b/dumux/porousmediumflow/2p1c/implicit/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d5c0899adf06164a0f194e86e8a06f13d6b90c91
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/CMakeLists.txt
@@ -0,0 +1,11 @@
+
+#install headers
+install(FILES
+indices.hh
+localresidual.hh
+model.hh
+newtoncontroller.hh
+properties.hh
+propertydefaults.hh
+volumevariables.hh
+DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/porousmediumflow/2p1c/implicit)
diff --git a/dumux/porousmediumflow/2p1c/implicit/indices.hh b/dumux/porousmediumflow/2p1c/implicit/indices.hh
new file mode 100644
index 0000000000000000000000000000000000000000..49a07a06e8fea6035c1e9e8d98799e83212b734b
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/indices.hh
@@ -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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ * \brief Defines the indices required for the 2p1cni model.
+ *
+ *Important note: The 2p1c model requires the use of the non-isothermal extension found in dumux/implicit/nonisothermal
+ */
+#ifndef DUMUX_2P1C_INDICES_HH
+#define DUMUX_2P1C_INDICES_HH
+
+#include "properties.hh"
+
+namespace Dumux
+{
+
+/*!
+ * \ingroup TwoPOneCModel
+ * \ingroup ImplicitIndices
+ * \brief The indices for the isothermal 2p1cni model.
+ *
+ * \tparam formulation The formulation, only pgSwSn
+ * \tparam PVOffset The first index in a primary variable vector.
+ */
+template
+class TwoPOneCIndices
+{
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+
+public:
+ // Phase indices
+ static const int wPhaseIdx = FluidSystem::wPhaseIdx; //!< index of the wetting liquid phase
+ static const int gPhaseIdx = FluidSystem::nPhaseIdx; //!< index of the gas phase
+
+ // present phases (-> 'pseudo' primary variable)
+ static const int twoPhases = 1; //!< All three phases are present
+ static const int wPhaseOnly = 2; //!< Only the water phase is present
+ static const int gPhaseOnly = 3; //!< Only gas phase is present
+
+ // Primary variable indices
+ static const int pressureIdx = PVOffset + 0; //!< Index for phase pressure in a solution vector
+ static const int switch1Idx = PVOffset + 1; //!< Index of saturation or temperature
+
+ // equation indices
+ static const int conti0EqIdx = PVOffset + 0; //wCompIdx; //!< Index of the mass conservation equation for the water component
+ static const int energyEqIdx = PVOffset + 1;//! The index for energy in equation vectors.
+};
+
+}
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/implicit/localresidual.hh b/dumux/porousmediumflow/2p1c/implicit/localresidual.hh
new file mode 100644
index 0000000000000000000000000000000000000000..bb1fb8cb1c48a57f835f0a6cbcbde4ab6e6f9654
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/localresidual.hh
@@ -0,0 +1,272 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Element-wise calculation of the Jacobian matrix for problems
+ * using the two-phase one-component fully implicit model.
+ *
+ * Important note: The 2p1c model requires the use of the non-isothermal extension found in dumux/porousmediumflow/nonisothermal/implicit/
+ */
+#ifndef DUMUX_2P1C_LOCAL_RESIDUAL_HH
+#define DUMUX_2P1C_LOCAL_RESIDUAL_HH
+
+#include "properties.hh"
+
+namespace Dumux
+{
+/*!
+ * \ingroup TwoPOneCModel
+ * \ingroup ImplicitLocalResidual
+ * \brief Element-wise calculation of the Jacobian matrix for problems
+ * using the two-phase one-component fully implicit model.
+ *
+ * This class depends on the non-isothermal model.
+ *
+ */
+template
+class TwoPOneCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
+{
+protected:
+ typedef typename GET_PROP_TYPE(TypeTag, LocalResidual) Implementation;
+
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+
+ typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+ typedef typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes) ElementBoundaryTypes;
+
+
+ enum {
+ numPhases = GET_PROP_VALUE(TypeTag, NumPhases),
+ numComponents = GET_PROP_VALUE(TypeTag, NumComponents),
+
+ conti0EqIdx = Indices::conti0EqIdx, //!< Index of the mass conservation equation for the water component
+ energyEqIdx = Indices::energyEqIdx, //!< Index of the energy conservation equation
+ wPhaseIdx = Indices::wPhaseIdx,
+ gPhaseIdx = Indices::gPhaseIdx,
+ };
+
+ typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, FluxVariables) FluxVariables;
+
+ typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+ typedef typename GridView::template Codim<0>::Entity Element;
+
+ static const bool useBlockingOfSpuriousFlow = GET_PROP_VALUE(TypeTag, UseBlockingOfSpuriousFlow);
+
+public:
+
+ /*!
+ * \brief Evaluate the amount all conservation quantities
+ * (e.g. phase mass) within a sub-control volume.
+ *
+ * The result should be averaged over the volume (e.g. phase mass
+ * inside a sub control volume divided by the volume)
+ *
+ * \param storage The mass of the component within the sub-control volume
+ * \param scvIdx The SCV (sub-control-volume) index
+ * \param usePrevSol Evaluate function with solution of current or previous time step
+ */
+ void computeStorage(PrimaryVariables &storage, const int scvIdx, bool usePrevSol) const
+ {
+ // if flag usePrevSol is set, the solution from the previous
+ // time step is used, otherwise the current solution is
+ // used. The secondary variables are used accordingly. This
+ // is required to compute the derivative of the storage term
+ // using the implicit euler method.
+ const ElementVolumeVariables &elemVolVars = usePrevSol ? this->prevVolVars_() : this->curVolVars_();
+ const VolumeVariables &volVars = elemVolVars[scvIdx];
+
+ // compute storage term of all components within all phases
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
+ {
+ storage[conti0EqIdx] +=
+ volVars.porosity()
+ * volVars.saturation(phaseIdx) * volVars.density(phaseIdx);
+ }
+ }
+
+ /*!
+ * \brief Evaluates the total flux of all conservation quantities
+ * over a face of a sub-control volume.
+ *
+ * \param flux The flux over the SCV (sub-control-volume) face for each component
+ * \param faceIdx The index of the SCV face
+ * \param onBoundary A boolean variable to specify whether the flux variables
+ * are calculated for interior SCV faces or boundary faces, default=false
+ */
+ void computeFlux(PrimaryVariables &flux, const int faceIdx, const bool onBoundary=false) const
+ {
+ FluxVariables fluxVars;
+ fluxVars.update(this->problem_(),
+ this->element_(),
+ this->fvGeometry_(),
+ faceIdx,
+ this->curVolVars_(),
+ onBoundary);
+
+ flux = 0;
+ computeAdvectiveFlux(flux, fluxVars);
+ asImp_()->computeDiffusiveFlux(flux, fluxVars);
+ }
+
+ /*!
+ * \brief Evaluates the advective mass flux of all components over
+ * a face of a subcontrol volume.
+ *
+ * \param flux The advective flux over the sub-control-volume face for each component
+ * \param fluxVars The flux variables at the current SCV
+ */
+
+ void computeAdvectiveFlux(PrimaryVariables &flux, const FluxVariables &fluxVars) const
+ {
+ Scalar massUpwindWeight = GET_PARAM_FROM_GROUP(TypeTag, Scalar, Implicit, MassUpwindWeight);
+
+ // loop over all phases
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
+ {
+ // data attached to upstream and the downstream vertices
+ // of the current phase
+ const VolumeVariables &up = this->curVolVars_(fluxVars.upstreamIdx(phaseIdx));
+ const VolumeVariables &dn = this->curVolVars_(fluxVars.downstreamIdx(phaseIdx));
+
+ Scalar factor = 1.0;
+
+ // factor for the blocking of spurious cold water fluxes into the steam zone (Gudbjerg, 2004)
+ if(useBlockingOfSpuriousFlow)
+ { factor = factor_(up, dn, phaseIdx); }
+
+
+ // advective mass flux
+ flux[conti0EqIdx] += fluxVars.volumeFlux(phaseIdx)
+ * (massUpwindWeight
+ * up.fluidState().density(phaseIdx)
+ + (1.0 - massUpwindWeight)
+ * dn.fluidState().density(phaseIdx))
+ * factor ;
+
+ // advective heat flux
+ flux[energyEqIdx] += fluxVars.volumeFlux(phaseIdx)
+ * (massUpwindWeight
+ * up.density(phaseIdx)
+ * up.enthalpy(phaseIdx)
+ + (1.0 - massUpwindWeight)
+ * dn.density(phaseIdx)
+ * dn.enthalpy(phaseIdx))
+ * factor ;
+ }
+ }
+
+ /*!
+ * \brief Adds the diffusive mass flux of all components over
+ * a face of a subcontrol volume.
+ *
+ * \param flux The diffusive flux over the sub-control-volume face for each component
+ * \param fluxVars The flux variables at the current SCV
+ */
+ void computeDiffusiveFlux(PrimaryVariables &flux, const FluxVariables &fluxVars) const
+ {}
+
+ /*!
+ * \brief Returns true if a spurious flow has been detected
+ *
+ */
+ const bool spuriousFlowDetected() const
+ {
+ return spuriousFlowDetected_;
+ }
+
+ /*!
+ * \brief Used to reset the respective flag
+ *
+ */
+ void resetSpuriousFlowDetected()
+ {
+ spuriousFlowDetected_ = false;
+ }
+
+protected:
+
+ /*!
+ * \brief Calculate the blocking factor which prevents spurious cold water fluxes into the steam zone (Gudbjerg et al., 2005) \cite gudbjerg2004
+ *
+ * \param up The upstream volume variables
+ * \param dn The downstream volume variables
+ * \param phaseIdx The index of the fluid phase
+ */
+ Scalar factor_(const VolumeVariables &up, const VolumeVariables &dn,const int phaseIdx) const {
+
+ Scalar factor = 1.0;
+
+ Scalar tDn = dn.temperature(); //temperature of the downstream SCV (where the cold water is potentially intruding into a steam zone)
+ Scalar tUp = up.temperature(); //temperature of the upstream SCV
+
+ Scalar sgDn = dn.saturation(gPhaseIdx); //gas phase saturation of the downstream SCV
+ Scalar sgUp = up.saturation(gPhaseIdx); //gas phase saturation of the upstream SCV
+
+ bool upIsNotSteam = false;
+ bool downIsSteam = false;
+ bool spuriousFlow = false;
+
+ if(sgUp <= 1e-5)
+ {upIsNotSteam = true;}
+
+ if(sgDn > 1e-5)
+ {downIsSteam = true;}
+
+ if(upIsNotSteam && downIsSteam && tDn > tUp && phaseIdx == wPhaseIdx)
+ {
+ spuriousFlow = true;
+ spuriousFlowDetected_ = true;
+ }
+
+ if(spuriousFlow)
+ {
+ Scalar deltaT = tDn - tUp;
+
+ if((deltaT) > 15 )
+ {factor = 0.0 ;}
+
+ else
+ { factor = 1-(deltaT/15); }
+
+ }
+ return factor;
+ }
+
+ Implementation *asImp_()
+ {
+ return static_cast (this);
+ }
+
+ const Implementation *asImp_() const
+ {
+ return static_cast (this);
+ }
+
+private:
+ mutable bool spuriousFlowDetected_;// true if spurious cold-water flow into a steam zone is happening
+};
+
+} // end namespace
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/implicit/model.hh b/dumux/porousmediumflow/2p1c/implicit/model.hh
new file mode 100644
index 0000000000000000000000000000000000000000..2502b0c2ecc0dd35df427f3f225153d9bdd46cdb
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/model.hh
@@ -0,0 +1,579 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Adaption of the fully implicit scheme to the two-phase one-component flow model.
+ *
+ */
+#ifndef DUMUX_2P1C_MODEL_HH
+#define DUMUX_2P1C_MODEL_HH
+
+#include
+#include "properties.hh"
+
+namespace Dumux
+{
+/*!
+ * \ingroup TwoPOneCModel
+ * \brief Adaption of the fully implicit scheme to the two-phase one-component flow model.
+ *
+ * \note The 2p1c model requires the use of the non-isothermal extension found in dumux/implicit/nonisothermal.
+ *
+ * This model is designed for simulating two fluid phases with water as the only component.
+ * It is particularly suitable for the simulation of steam injection in saturated conditions.
+ *
+ * The model implements the flow of two phases and one component, i.e. a pure liquid (e.g. water)
+ * and its vapor (e.g. steam),
+ * \f$\alpha \in \{ w, n \}\f$ using a standard multiphase Darcy
+ * approach as the equation for the conservation of momentum, i.e.
+ \f[
+ v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \textbf{K}
+ \left(\textbf{grad}\, p_\alpha - \varrho_{\alpha} {\textbf g} \right)
+ \f]
+ *
+ * By inserting this into the equation for the conservation of the
+ * phase mass, one gets
+ \f[
+\phi \frac{\partial\ \sum_\alpha (\rho_\alpha S_\alpha)}{\partial t} \\-\sum \limits_ \alpha \text{div} \left \{\rho_\alpha \frac{k_{r\alpha}}{\mu_\alpha}
+\mathbf{K} (\mathbf{grad}p_\alpha - \rho_\alpha \mathbf{g}) \right \} -q^w =0
+ \f]
+ *
+ * All equations are discretized using a vertex-centered finite volume (box)
+ * or cell-centered finite volume scheme as spatial
+ * and the implicit Euler method as time discretization.
+ *
+ * By using constitutive relations for the capillary pressure \f$p_c =
+ * p_n - p_w\f$ and relative permeability \f$k_{r\alpha}\f$ and taking
+ * advantage of the fact that \f$S_w + S_n = 1\f$, the number of
+ * unknowns can be reduced to two. The model features a primary variable switch.
+ * If only one phase is present, \f$p_g\f$ and \f$T\f$ are the primary variables.
+ * In the presence of two phases, \f$p_g\f$ and \f$S_w\f$ become the new primary variables.
+ */
+template
+class TwoPOneCModel: public GET_PROP_TYPE(TypeTag, BaseModel)
+{
+ typedef typename GET_PROP_TYPE(TypeTag, BaseModel) ParentType;
+
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+ typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+
+ typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+ typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector;
+ typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+
+ enum {
+ dim = GridView::dimension,
+ dimWorld = GridView::dimensionworld,
+
+ numPhases = GET_PROP_VALUE(TypeTag, NumPhases),
+ numComponents = GET_PROP_VALUE(TypeTag, NumComponents),
+
+ pressureIdx = Indices::pressureIdx,
+ switch1Idx = Indices::switch1Idx,
+
+ wPhaseIdx = Indices::wPhaseIdx,
+ gPhaseIdx = Indices::gPhaseIdx,
+
+ twoPhases = Indices::twoPhases,
+ wPhaseOnly = Indices::wPhaseOnly,
+ gPhaseOnly = Indices::gPhaseOnly,
+ };
+
+ typedef typename GridView::template Codim::Entity Vertex;
+ typedef typename GridView::template Codim<0>::Entity Element;
+ typedef typename GridView::template Codim<0>::Iterator ElementIterator;
+ typedef typename GridView::template Codim::Iterator VertexIterator;
+ typedef Dune::FieldMatrix FieldMatrix;
+
+ typedef Dune::FieldVector GlobalPosition;
+
+
+ enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
+ enum { dofCodim = isBox ? dim : 0 };
+
+public:
+ /*!
+ * \brief Initialize the static data with the initial solution.
+ *
+ * \param problem The problem to be solved
+ */
+ void init(Problem &problem)
+ {
+ ParentType::init(problem);
+
+ staticDat_.resize(this->numDofs());
+
+ setSwitched_(false);
+
+ if (isBox)
+ {
+ for(const auto& vertex: vertices(this->gridView_()))
+ {
+ int globalIdx = this->dofMapper().index(vertex);
+ const GlobalPosition &globalPos = vertex.geometry().corner(0);
+
+ // initialize phase presence
+ staticDat_[globalIdx].phasePresence
+ = this->problem_().initialPhasePresence(vertex, globalIdx,
+ globalPos);
+ staticDat_[globalIdx].wasSwitched = false;
+
+ staticDat_[globalIdx].oldPhasePresence
+ = staticDat_[globalIdx].phasePresence;
+ }
+ }
+ else
+ {
+ for (const auto& element : elements(this->gridView_()))
+ {
+ int globalIdx = this->dofMapper().index(element);
+ const GlobalPosition &globalPos = element.geometry().center();
+
+ // initialize phase presence
+ staticDat_[globalIdx].phasePresence
+ = this->problem_().initialPhasePresence(*this->gridView_().template begin (),
+ globalIdx, globalPos);
+ staticDat_[globalIdx].wasSwitched = false;
+
+ staticDat_[globalIdx].oldPhasePresence
+ = staticDat_[globalIdx].phasePresence;
+ }
+ }
+ }
+
+ /*!
+ * \brief Called by the update() method if applying the newton
+ * method was unsuccessful.
+ */
+ void updateFailed()
+ {
+ ParentType::updateFailed();
+
+ setSwitched_(false);
+ resetPhasePresence_();
+ };
+
+ /*!
+ * \brief Called by the problem if a time integration was
+ * successful, post processing of the solution is done and the
+ * result has been written to disk.
+ *
+ * This should prepare the model for the next time integration.
+ */
+ void advanceTimeLevel()
+ {
+ ParentType::advanceTimeLevel();
+
+ // update the phase state
+ updateOldPhasePresence_();
+ setSwitched_(false);
+ }
+
+ /*!
+ * \brief Return true if the primary variables were switched for
+ * at least one vertex after the last timestep.
+ */
+ bool switched() const
+ {
+ return switchFlag_;
+ }
+
+ /*!
+ * \brief Returns the phase presence of the current or the old solution of a degree of freedom.
+ *
+ * \param globalIdx The global index of the degree of freedom
+ * \param oldSol Evaluate function with solution of current or previous time step
+ */
+ int phasePresence(int globalIdx, bool oldSol) const
+ {
+ return
+ oldSol
+ ? staticDat_[globalIdx].oldPhasePresence
+ : staticDat_[globalIdx].phasePresence;
+ }
+
+ /*!
+ * \brief Append all quantities of interest which can be derived
+ * from the solution of the current time step to the VTK
+ * writer.
+ *
+ * \param sol The solution vector
+ * \param writer The writer for multi-file VTK datasets
+ */
+ template
+ void addOutputVtkFields(const SolutionVector &sol,
+ MultiWriter &writer)
+ {
+ typedef Dune::BlockVector > ScalarField;
+ typedef Dune::BlockVector > VectorField;
+
+ // get the number of degrees of freedom
+ unsigned numDofs = this->numDofs();
+
+ // create the required scalar fields
+ ScalarField *saturation[numPhases];
+ ScalarField *pressure[numPhases];
+ ScalarField *density[numPhases];
+
+ ScalarField *mobility[numPhases];
+ ScalarField *viscosity[numPhases];
+
+
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) {
+ saturation[phaseIdx] = writer.allocateManagedBuffer(numDofs);
+ pressure[phaseIdx] = writer.allocateManagedBuffer(numDofs);
+ density[phaseIdx] = writer.allocateManagedBuffer(numDofs);
+
+ mobility[phaseIdx] = writer.allocateManagedBuffer(numDofs);
+ viscosity[phaseIdx] = writer.allocateManagedBuffer(numDofs);
+ }
+
+ ScalarField *phasePresence = writer.allocateManagedBuffer (numDofs);
+ ScalarField *poro = writer.allocateManagedBuffer(numDofs);
+ ScalarField *permXX = writer.allocateManagedBuffer(numDofs);
+ ScalarField *permYY = writer.allocateManagedBuffer(numDofs);
+ ScalarField *permZZ = writer.allocateManagedBuffer(numDofs);
+ VectorField *velocityW = writer.template allocateManagedBuffer(numDofs);
+ VectorField *velocityG = writer.template allocateManagedBuffer(numDofs);
+ ImplicitVelocityOutput velocityOutput(this->problem_());
+
+ if (velocityOutput.enableOutput()) // check if velocity output is demanded
+ {
+ // initialize velocity fields
+ for (unsigned int i = 0; i < numDofs; ++i)
+ {
+ (*velocityW)[i] = Scalar(0);
+ (*velocityG)[i] = Scalar(0);
+ }
+ }
+
+ unsigned numElements = this->gridView_().size(0);
+ ScalarField *rank = writer.allocateManagedBuffer (numElements);
+
+ for (const auto& element : elements(this->gridView_()))
+ {
+ int idx = this->dofMapper().index(element);
+ (*rank)[idx] = this->gridView_().comm().rank();
+
+ FVElementGeometry fvGeometry;
+ fvGeometry.update(this->gridView_(), element);
+
+
+ ElementVolumeVariables elemVolVars;
+ elemVolVars.update(this->problem_(),
+ element,
+ fvGeometry,
+ false /* oldSol? */);
+
+ for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
+ {
+ int globalIdx = this->dofMapper().subIndex(element, scvIdx, dofCodim);
+
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx) {
+ (*saturation[phaseIdx])[globalIdx] = elemVolVars[scvIdx].fluidState().saturation(phaseIdx);
+ (*pressure[phaseIdx])[globalIdx] = elemVolVars[scvIdx].fluidState().pressure(phaseIdx);
+ (*density[phaseIdx])[globalIdx] = elemVolVars[scvIdx].fluidState().density(phaseIdx);
+
+ (*mobility[phaseIdx])[globalIdx] = elemVolVars[scvIdx].mobility(phaseIdx);
+ (*viscosity[phaseIdx])[globalIdx] = elemVolVars[scvIdx].fluidState().viscosity(phaseIdx);
+ }
+
+ (*poro)[globalIdx] = elemVolVars[scvIdx].porosity();
+ (*phasePresence)[globalIdx] = staticDat_[globalIdx].phasePresence;
+
+ FieldMatrix K = this->problem_().spatialParams().intrinsicPermeability(element,
+ fvGeometry,
+ scvIdx);
+ (*permXX)[globalIdx] = K[0][0];
+ if(dimWorld > 1)
+ (*permYY)[globalIdx] = K[1][1];
+ if(dimWorld > 2)
+ (*permZZ)[globalIdx] = K[2][2];
+ }
+
+ // velocity output
+ velocityOutput.calculateVelocity(*velocityW, elemVolVars, fvGeometry, element, wPhaseIdx);
+ velocityOutput.calculateVelocity(*velocityG, elemVolVars, fvGeometry, element, gPhaseIdx);
+ }
+
+ writer.attachDofData(*saturation[wPhaseIdx], "sw", isBox);
+ writer.attachDofData(*saturation[gPhaseIdx], "sg", isBox);
+ writer.attachDofData(*pressure[wPhaseIdx], "pw", isBox);
+ writer.attachDofData(*pressure[gPhaseIdx], "pg", isBox);
+ writer.attachDofData(*density[wPhaseIdx], "rhow", isBox);
+ writer.attachDofData(*density[gPhaseIdx], "rhog", isBox);
+
+ writer.attachDofData(*mobility[wPhaseIdx], "MobW", isBox);
+ writer.attachDofData(*mobility[gPhaseIdx], "MobG", isBox);
+
+ writer.attachDofData(*viscosity[wPhaseIdx], "ViscosW", isBox);
+ writer.attachDofData(*viscosity[gPhaseIdx], "ViscosG", isBox);
+
+ writer.attachDofData(*poro, "porosity", isBox);
+ writer.attachDofData(*permXX, "permeabilityXX", isBox);
+ if(dimWorld > 1)
+ writer.attachDofData(*permYY, "permeabilityYY", isBox);
+ if(dimWorld > 2)
+ writer.attachDofData(*permZZ, "permeabilityZZ", isBox);
+ writer.attachDofData(*phasePresence, "phase presence", isBox);
+
+ if (velocityOutput.enableOutput()) // check if velocity output is demanded
+ {
+ writer.attachDofData(*velocityW, "velocityW", isBox, dim);
+ writer.attachDofData(*velocityG, "velocityG", isBox, dim);
+ }
+
+ writer.attachCellData(*rank, "process rank");
+ }
+
+ /*!
+ * \brief Update the static data of all vertices in the grid.
+ *
+ * \param curGlobalSol The current global solution
+ * \param oldGlobalSol The previous global solution
+ */
+ void updateStaticData(SolutionVector &curGlobalSol,
+ const SolutionVector &oldGlobalSol)
+ {
+ bool wasSwitched = false;
+ int succeeded;
+ try {
+ for (unsigned i = 0; i < staticDat_.size(); ++i)
+ staticDat_[i].visited = false;
+
+ FVElementGeometry fvGeometry;
+ static VolumeVariables volVars;
+ for (const auto& element : elements(this->gridView_()))
+ {
+ fvGeometry.update(this->gridView_(), element);
+ for (int scvIdx = 0; scvIdx < fvGeometry.numScv; ++scvIdx)
+ {
+ int globalIdx = this->dofMapper().subIndex(element, scvIdx, dofCodim);
+
+ if (staticDat_[globalIdx].visited)
+ continue;
+
+ staticDat_[globalIdx].visited = true;
+ volVars.update(curGlobalSol[globalIdx],
+ this->problem_(),
+ element,
+ fvGeometry,
+ scvIdx,
+ false);
+ const GlobalPosition &globalPos = fvGeometry.subContVol[scvIdx].global;
+
+ if (primaryVarSwitch_(curGlobalSol,
+ volVars,
+ globalIdx,
+ globalPos))
+ {
+ this->jacobianAssembler().markDofRed(globalIdx);
+ wasSwitched = true;
+ }
+ }
+ }
+ succeeded = 1;
+ }
+
+ catch (Dumux::NumericalProblem &e)
+ {
+ std::cout << "\n"
+ << "Rank " << this->problem_().gridView().comm().rank()
+ << " caught an exception while updating the static data." << e.what()
+ << "\n";
+ succeeded = 0;
+ }
+
+ //make sure that all processes succeeded. If not throw a NumericalProblem to decrease the time step size.
+ if (this->gridView_().comm().size() > 1)
+ succeeded = this->gridView_().comm().min(succeeded);
+
+ if (!succeeded) {
+ updateFailed();
+
+ DUNE_THROW(NumericalProblem,
+ "A process did not succeed in updating the static data.");
+
+ return;
+ }
+
+ // make sure that if there was a variable switch in an
+ // other partition we will also set the switch flag
+ // for our partition.
+ if (this->gridView_().comm().size() > 1)
+ wasSwitched = this->gridView_().comm().max(wasSwitched);
+
+ setSwitched_(wasSwitched);
+ }
+
+protected:
+ /*!
+ * \brief Data which is attached to each vertex and is not only
+ * stored locally.
+ */
+ struct StaticVars
+ {
+ int phasePresence;
+ bool wasSwitched;
+
+ int oldPhasePresence;
+ bool visited;
+ };
+
+ /*!
+ * \brief Reset the current phase presence of all vertices to the old one.
+ *
+ * This is done after an update failed.
+ */
+ void resetPhasePresence_()
+ {
+ for (unsigned int i = 0; i < this->numDofs(); ++i)
+ {
+ staticDat_[i].phasePresence
+ = staticDat_[i].oldPhasePresence;
+ staticDat_[i].wasSwitched = false;
+ }
+ }
+
+ /*!
+ * \brief Set the old phase of all verts state to the current one.
+ */
+ void updateOldPhasePresence_()
+ {
+ for (unsigned int i = 0; i < this->numDofs(); ++i)
+ {
+ staticDat_[i].oldPhasePresence
+ = staticDat_[i].phasePresence;
+ staticDat_[i].wasSwitched = false;
+ }
+ }
+
+ /*!
+ * \brief Set whether there was a primary variable switch after in
+ * the last timestep.
+ */
+ void setSwitched_(bool yesno)
+ {
+ switchFlag_ = yesno;
+ }
+
+ // perform variable switch at a vertex; Returns true if a
+ // variable switch was performed.
+ bool primaryVarSwitch_(SolutionVector &globalSol,
+ const VolumeVariables &volVars,
+ int globalIdx,
+ const GlobalPosition &globalPos)
+ {
+ // evaluate primary variable switch
+ bool wouldSwitch = false;
+ int phasePresence = staticDat_[globalIdx].phasePresence;
+ int newPhasePresence = phasePresence;
+
+ globalSol[globalIdx][pressureIdx] = volVars.fluidState().pressure(gPhaseIdx);
+
+ // check if a primary var switch is necessary
+ if (phasePresence == twoPhases)
+ {
+ Scalar Smin = 0;
+ if (staticDat_[globalIdx].wasSwitched)
+ Smin = -0.01;
+
+ if (volVars.saturation(gPhaseIdx) <= Smin)
+ {
+ wouldSwitch = true;
+ // gas phase disappears
+ std::cout << "Gas phase disappears at vertex " << globalIdx
+ << ", coordinates: " << globalPos << ", sg: "
+ << volVars.saturation(gPhaseIdx) << std::endl;
+ newPhasePresence = wPhaseOnly;
+
+ globalSol[globalIdx][switch1Idx] = volVars.fluidState().temperature();
+ }
+ else if (volVars.saturation(wPhaseIdx) <= Smin)
+ {
+ wouldSwitch = true;
+ // water phase disappears
+ std::cout << "Wetting phase disappears at vertex " << globalIdx
+ << ", coordinates: " << globalPos << ", sw: "
+ << volVars.saturation(wPhaseIdx) << std::endl;
+ newPhasePresence = gPhaseOnly;
+
+ globalSol[globalIdx][switch1Idx] = volVars.fluidState().temperature();
+ }
+
+ }
+ else if (phasePresence == wPhaseOnly)
+ {
+ Scalar temp = volVars.fluidState().temperature();
+ Scalar tempVap = volVars.vaporTemperature();
+
+ // if the the temperature would be larger than
+ // the vapor temperature at the given pressure, gas phase appears
+ if (temp >= tempVap)
+ {
+ wouldSwitch = true;
+ // gas phase appears
+ std::cout << "gas phase appears at vertex " << globalIdx
+ << ", coordinates: " << globalPos << std::endl;
+
+ newPhasePresence = twoPhases;
+ globalSol[globalIdx][switch1Idx] = 0.9999; //wetting phase saturation
+ }
+ }
+
+
+ else if (phasePresence == gPhaseOnly)
+ {
+
+ Scalar temp = volVars.fluidState().temperature();
+ Scalar tempVap = volVars.vaporTemperature();
+
+ if (temp < tempVap)
+ {
+ wouldSwitch = true;
+ // wetting phase appears
+ std::cout << "wetting phase appears at vertex " << globalIdx
+ << ", coordinates: " << globalPos << std::endl;
+
+
+ newPhasePresence = twoPhases;
+ globalSol[globalIdx][switch1Idx] = 0.0001; //arbitrary small value
+ }
+ }
+ staticDat_[globalIdx].phasePresence = newPhasePresence;
+ staticDat_[globalIdx].wasSwitched = wouldSwitch;
+ return phasePresence != newPhasePresence;
+ }
+
+ // parameters given in constructor
+ std::vector staticDat_;
+ bool switchFlag_;
+};
+
+}
+
+#include "propertydefaults.hh"
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/implicit/newtoncontroller.hh b/dumux/porousmediumflow/2p1c/implicit/newtoncontroller.hh
new file mode 100644
index 0000000000000000000000000000000000000000..bc5c7e32f493186f9dbdb23cdc9e0125f8132d20
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/newtoncontroller.hh
@@ -0,0 +1,86 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ * \brief A 2p1c specific controller for the newton solver.
+ *
+ * This controller 'knows' what a 'physically meaningful' solution is
+ * which allows the newton method to abort quicker if the solution is
+ * way out of bounds.
+ */
+#ifndef DUMUX_2P1CNI_NEWTON_CONTROLLER_HH
+#define DUMUX_2P1CNI_NEWTON_CONTROLLER_HH
+
+#include "properties.hh"
+
+#include
+#include
+
+namespace Dumux {
+/*!
+ * \ingroup TwoPOneCModel
+ * \brief A 2p1cni specific controller for the newton solver.
+ *
+ * This controller 'knows' what a 'physically meaningful' solution is
+ * which allows the newton method to abort quicker if the solution is
+ * way out of bounds.
+ */
+template
+class TwoPOneCNINewtonController : public TwoPTwoCNewtonController
+{
+ typedef TwoPTwoCNewtonController ParentType;
+ typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
+ typedef typename GET_PROP_TYPE(TypeTag, SolutionVector) SolutionVector;
+
+public:
+ TwoPOneCNINewtonController(const Problem &problem)
+ : ParentType(problem)
+ {}
+
+ void newtonBeginStep()
+ {
+ // call the method of the base class
+ ParentType::newtonBeginStep();
+
+ //reset the indicator of spurious cold water fluxes into the steam zone
+ this->model_().localJacobian().localResidual().resetSpuriousFlowDetected();
+ }
+
+
+ /*!
+ * \brief Called after each Newton update
+ *
+ * \param uCurrentIter The current global solution vector
+ * \param uLastIter The previous global solution vector
+ */
+ void newtonEndStep(SolutionVector &uCurrentIter,
+ const SolutionVector &uLastIter)
+ {
+ // call the method of the base class
+ ParentType::newtonEndStep(uCurrentIter, uLastIter);
+
+ //Output message after each Newton Step if spurious fluxes have been blocked
+ if (this->model_().localJacobian().localResidual().spuriousFlowDetected())
+ std::cout <<"Spurious fluxes blocked!" <. *
+ *****************************************************************************/
+/*!
+ * \ingroup TwoPOneCModel
+ */
+/*!
+ * \file
+ *
+ * \brief Defines the properties required for the 2p1cn fully implicit model.
+ *
+ *Important note: The 2p1c model requires the use of the non-isothermal extension found in dumux/implicit/nonisothermal
+ */
+#ifndef DUMUX_2P1C_PROPERTIES_HH
+#define DUMUX_2P1C_PROPERTIES_HH
+
+#include
+#include
+#include
+
+namespace Dumux
+{
+
+namespace Properties
+{
+//////////////////////////////////////////////////////////////////
+// Type tags
+//////////////////////////////////////////////////////////////////
+NEW_TYPE_TAG(TwoPOneCNI, INHERITS_FROM(NonIsothermal));
+NEW_TYPE_TAG(BoxTwoPOneCNI, INHERITS_FROM(BoxModel, TwoPOneCNI));
+NEW_TYPE_TAG(CCTwoPOneCNI, INHERITS_FROM(CCModel, TwoPOneCNI));
+
+//////////////////////////////////////////////////////////////////
+// Property tags
+//////////////////////////////////////////////////////////////////
+
+NEW_PROP_TAG(NumPhases); //!< Number of fluid phases in the system
+NEW_PROP_TAG(NumComponents); //!< Number of fluid components in the system
+NEW_PROP_TAG(SpatialParams); //!< The type of the spatial parameters
+NEW_PROP_TAG(FluidSystem); //!< Type of the multi-component relations
+
+NEW_PROP_TAG(MaterialLaw); //!< The material law which ought to be used (extracted from the spatial parameters)
+NEW_PROP_TAG(MaterialLawParams); //!< The parameters of the material law (extracted from the spatial parameters)
+
+NEW_PROP_TAG(ProblemEnableGravity); //!< Returns whether gravity is considered in the problem
+
+NEW_PROP_TAG(ImplicitMassUpwindWeight); //!< The value of the upwind parameter for the mobility
+NEW_PROP_TAG(ImplicitMobilityUpwindWeight); //!< Weight for the upwind mobility in the velocity calculation
+NEW_PROP_TAG(UseBlockingOfSpuriousFlow); //!< Determines whether Blocking ofspurious flow is used
+NEW_PROP_TAG(BaseFluxVariables); //! The base flux variables
+NEW_PROP_TAG(SpatialParamsForchCoeff); //!< Property for the forchheimer coefficient
+NEW_PROP_TAG(VtkAddVelocity); //!< Returns whether velocity vectors are written into the vtk output
+}
+}
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/implicit/propertydefaults.hh b/dumux/porousmediumflow/2p1c/implicit/propertydefaults.hh
new file mode 100644
index 0000000000000000000000000000000000000000..e141683a62863eb5f4370f8ac1882cb399967117
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/propertydefaults.hh
@@ -0,0 +1,178 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \ingroup TwoPOneCModel
+ */
+/*!
+ * \file
+ *
+ * \brief Defines default values for most properties required by the
+ * 2p1cni fully implicit model.
+ *
+ *Important note: The 2p1c model requires the use of the non-isothermal extension found in dumux/implicit/nonisothermal
+ */
+#ifndef DUMUX_2P1C_PROPERTY_DEFAULTS_HH
+#define DUMUX_2P1C_PROPERTY_DEFAULTS_HH
+
+#include "model.hh"
+#include "indices.hh"
+#include "volumevariables.hh"
+#include "properties.hh"
+#include "newtoncontroller.hh"
+#include "localresidual.hh"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace Dumux
+{
+
+namespace Properties {
+//////////////////////////////////////////////////////////////////
+// Property values
+//////////////////////////////////////////////////////////////////
+
+/*!
+ * \brief Set the property for the number of components.
+ *
+ * We just forward the number from the fluid system and use an static
+ * assert to make sure it is 1.
+ */
+SET_PROP(TwoPOneCNI, NumComponents)
+{
+ private:
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+
+ public:
+ static const int value = FluidSystem::numComponents;
+
+ static_assert(value == 1,
+ "Only fluid systems with 1 component are supported by the 2p1cni model!");
+};
+
+/*!
+ * \brief Set the property for the number of fluid phases.
+ *
+ * We just forward the number from the fluid system and use an static
+ * assert to make sure it is 2.
+ */
+SET_PROP(TwoPOneCNI, NumPhases)
+{
+ private:
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+
+ public:
+ static const int value = FluidSystem::numPhases;
+ static_assert(value == 2,
+ "Only fluid systems with 2 phases are supported by the 2p1cni model!");
+};
+
+/*!
+ * \brief Set the property for the material parameters by extracting
+ * it from the material law.
+ */
+SET_TYPE_PROP(TwoPOneCNI, MaterialLawParams, typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params);
+
+//! Use the 2p2c specific newton controller for dealing with phase switches
+SET_TYPE_PROP(TwoPOneCNI, NewtonController, TwoPOneCNINewtonController);
+
+//! the FluxVariables property
+// SET_TYPE_PROP(TwoPOneCNI, FluxVariables, ImplicitDarcyFluxVariables);
+
+//! the upwind factor for the mobility.
+SET_SCALAR_PROP(TwoPOneCNI, ImplicitMassUpwindWeight, 1.0);
+
+//! set default mobility upwind weight to 1.0, i.e. fully upwind
+SET_SCALAR_PROP(TwoPOneCNI, ImplicitMobilityUpwindWeight, 1.0);
+
+//! The fluid system to use by default
+SET_PROP(TwoPOneCNI, FluidSystem)
+{ private:
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+public:
+ typedef FluidSystems::TwoPLiquidVaporFluidsystem > type;
+};
+
+//! Determines whether Blocking ofspurious flow is used
+SET_BOOL_PROP(TwoPOneCNI, UseBlockingOfSpuriousFlow, false);
+
+//! The spatial parameters to be employed.
+//! Use ImplicitSpatialParams by default.
+SET_TYPE_PROP(TwoPOneCNI, SpatialParams, ImplicitSpatialParams);
+
+// disable velocity output by default
+SET_BOOL_PROP(TwoPOneCNI, VtkAddVelocity, false);
+
+// enable gravity by default
+SET_BOOL_PROP(TwoPOneCNI, ProblemEnableGravity, true);
+
+//! default value for the forchheimer coefficient
+// Source: Ward, J.C. 1964 Turbulent flow in porous media. ASCE J. Hydraul. Div 90.
+// Actually the Forchheimer coefficient is also a function of the dimensions of the
+// porous medium. Taking it as a constant is only a first approximation
+// (Nield, Bejan, Convection in porous media, 2006, p. 10)
+SET_SCALAR_PROP(BoxModel, SpatialParamsForchCoeff, 0.55);
+
+
+//! Somerton is used as default model to compute the effective thermal heat conductivity
+SET_PROP(NonIsothermal, ThermalConductivityModel)
+{
+private:
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+public:
+ typedef ThermalConductivitySomerton type;
+};
+
+//////////////////////////////////////////////////////////////////
+// Property values for isothermal model required for the general non-isothermal model
+//////////////////////////////////////////////////////////////////
+
+// set isothermal Model
+SET_TYPE_PROP(TwoPOneCNI, IsothermalModel, TwoPOneCModel);
+
+// set isothermal FluxVariables
+SET_TYPE_PROP(TwoPOneCNI, IsothermalFluxVariables, ImplicitDarcyFluxVariables);
+
+//set isothermal VolumeVariables
+SET_TYPE_PROP(TwoPOneCNI, IsothermalVolumeVariables, TwoPOneCVolumeVariables);
+
+//set isothermal LocalResidual
+SET_TYPE_PROP(TwoPOneCNI, IsothermalLocalResidual, TwoPOneCLocalResidual);
+
+//set isothermal Indices
+SET_PROP(TwoPOneCNI, IsothermalIndices)
+{
+
+public:
+ typedef TwoPOneCIndices type;
+};
+
+//set isothermal NumEq
+SET_INT_PROP(TwoPOneCNI, IsothermalNumEq, 1);
+
+}
+
+}
+
+#endif
diff --git a/dumux/porousmediumflow/2p1c/implicit/volumevariables.hh b/dumux/porousmediumflow/2p1c/implicit/volumevariables.hh
new file mode 100644
index 0000000000000000000000000000000000000000..6d6653b553b6e25e4efba11d80ecf01531bb1332
--- /dev/null
+++ b/dumux/porousmediumflow/2p1c/implicit/volumevariables.hh
@@ -0,0 +1,305 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Contains the quantities which are constant within a
+ * finite volume in the two-phase, one-component model.
+ *
+ * \note The 2p1c model requires the use of the non-isothermal extension found in dumux/implicit/nonisothermal
+ */
+#ifndef DUMUX_2P1C_VOLUME_VARIABLES_HH
+#define DUMUX_2P1C_VOLUME_VARIABLES_HH
+
+#include
+#include
+#include "properties.hh"
+
+namespace Dumux
+{
+
+/*!
+ * \ingroup TwoPOneCModel
+ * \ingroup ImplicitVolumeVariables
+ * \brief Contains the quantities which are are constant within a
+ * finite volume in the two-phase, two-component model.
+ */
+template
+class TwoPOneCVolumeVariables : public ImplicitVolumeVariables
+{
+ typedef ImplicitVolumeVariables ParentType;
+ typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
+
+ 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, FVElementGeometry) FVElementGeometry;
+ typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+ typedef typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw;
+ typedef typename GET_PROP_TYPE(TypeTag, MaterialLawParams) MaterialLawParams;
+
+ typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+ enum {
+ dim = GridView::dimension,
+
+ numPhases = GET_PROP_VALUE(TypeTag, NumPhases),
+ numComponents = GET_PROP_VALUE(TypeTag, NumComponents),
+
+ wPhaseIdx = Indices::wPhaseIdx,
+ gPhaseIdx = Indices::gPhaseIdx,
+
+ switch1Idx = Indices::switch1Idx,
+ pressureIdx = Indices::pressureIdx
+ };
+
+ // present phases
+ enum {
+ twoPhases = Indices::twoPhases,
+ wPhaseOnly = Indices::wPhaseOnly,
+ gPhaseOnly = Indices::gPhaseOnly,
+ };
+
+ typedef typename GridView::template Codim<0>::Entity Element;
+ typedef Dune::FieldMatrix FieldMatrix;
+
+ enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
+ enum { dofCodim = isBox ? dim : 0 };
+
+public:
+ //! The type of the object returned by the fluidState() method
+ typedef Dumux::CompositionalFluidState FluidState;
+
+ /*!
+ * \copydoc ImplicitVolumeVariables::update
+ */
+ void update(const PrimaryVariables &priVars,
+ const Problem &problem,
+ const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx,
+ bool isOldSol)
+ {
+ ParentType::update(priVars,
+ problem,
+ element,
+ fvGeometry,
+ scvIdx,
+ isOldSol);
+
+ // capillary pressure parameters
+ const MaterialLawParams &materialParams =
+ problem.spatialParams().materialLawParams(element, fvGeometry, scvIdx);
+
+ int globalIdx = problem.model().dofMapper().subIndex(element, scvIdx, dofCodim);
+ int phasePresence = problem.model().phasePresence(globalIdx, isOldSol);
+
+ // get saturations
+ Scalar sw(0.0);
+ Scalar sg(0.0);
+ if (phasePresence == twoPhases)
+ {
+ sw = priVars[switch1Idx];
+ sg = 1.0 - sw;
+ }
+ else if (phasePresence == wPhaseOnly)
+ {
+ sw = 1.0;
+ sg = 0.0;
+ }
+ else if (phasePresence == gPhaseOnly)
+ {
+ sw = 0.0;
+ sg = 1.0;
+ }
+ else DUNE_THROW(Dune::InvalidStateException, "phasePresence: " << phasePresence << " is invalid.");
+ Valgrind::CheckDefined(sg);
+
+ fluidState_.setSaturation(wPhaseIdx, sw);
+ fluidState_.setSaturation(gPhaseIdx, sg);
+
+ // get gas phase pressure
+ const Scalar pg = priVars[pressureIdx];
+
+ // calculate capillary pressure
+ const Scalar pc = MaterialLaw::pc(materialParams, sw);
+
+ // set wetting phase pressure
+ const Scalar pw = pg - pc;
+
+ //set pressures
+ fluidState_.setPressure(wPhaseIdx, pw);
+ fluidState_.setPressure(gPhaseIdx, pg);
+
+ // get temperature
+ Scalar temperature;
+ if (phasePresence == wPhaseOnly || phasePresence == gPhaseOnly)
+ temperature = priVars[switch1Idx];
+ else if (phasePresence == twoPhases)
+ temperature = FluidSystem::vaporTemperature(fluidState_, wPhaseIdx);
+ else
+ DUNE_THROW(Dune::InvalidStateException, "phasePresence: " << phasePresence << " is invalid.");
+
+ Valgrind::CheckDefined(temperature);
+
+ fluidState_.setTemperature(temperature);
+
+ // set the densities
+ const Scalar rhoW = FluidSystem::density(fluidState_, wPhaseIdx);
+ const Scalar rhoG = FluidSystem::density(fluidState_, gPhaseIdx);
+
+ fluidState_.setDensity(wPhaseIdx, rhoW);
+ fluidState_.setDensity(gPhaseIdx, rhoG);
+
+ //get the viscosity and mobility
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
+ {
+ // Mobilities
+ const Scalar mu =
+ FluidSystem::viscosity(fluidState_,
+ phaseIdx);
+ fluidState_.setViscosity(phaseIdx,mu);
+
+ Scalar kr;
+ if (phaseIdx == wPhaseIdx)
+ kr = MaterialLaw::krw(materialParams, saturation(wPhaseIdx));
+ else // ATTENTION: krn requires the wetting phase saturation
+ // as parameter!
+ kr = MaterialLaw::krn(materialParams, saturation(wPhaseIdx));
+
+ mobility_[phaseIdx] = kr / mu;
+ Valgrind::CheckDefined(mobility_[phaseIdx]);
+ }
+
+ // porosity
+ porosity_ = problem.spatialParams().porosity(element,
+ fvGeometry,
+ scvIdx);
+ Valgrind::CheckDefined(porosity_);
+
+ // the enthalpies (internal energies are directly calculated in the fluidstate
+ for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
+ {
+ Scalar h = FluidSystem::enthalpy(fluidState_, phaseIdx);
+ fluidState_.setEnthalpy(phaseIdx, h);
+ }
+
+ // energy related quantities not contained in the fluid state
+ asImp_().updateEnergy_(priVars, problem, element, fvGeometry, scvIdx, isOldSol);
+ }
+
+ /*!
+ * \brief Returns the phase state for the control-volume.
+ */
+ const FluidState &fluidState() const
+ { return fluidState_; }
+
+ /*!
+ * \brief Returns the effective saturation of a given phase within
+ * the control volume.
+ *
+ * \param phaseIdx The phase index
+ */
+ Scalar saturation(const int phaseIdx) const
+ { return fluidState_.saturation(phaseIdx); }
+
+ /*!
+ * \brief Returns the mass density of a given phase within the
+ * control volume.
+ *
+ * \param phaseIdx The phase index
+ */
+ Scalar density(const int phaseIdx) const
+ { return fluidState_.density(phaseIdx); }
+
+ /*!
+ * \brief Returns the molar density of a given phase within the
+ * control volume.
+ *
+ * \param phaseIdx The phase index
+ */
+ Scalar molarDensity(const int phaseIdx) const
+ { return fluidState_.density(phaseIdx) / fluidState_.averageMolarMass(phaseIdx); }
+
+ /*!
+ * \brief Returns the effective pressure of a given phase within
+ * the control volume.
+ *
+ * \param phaseIdx The phase index
+ */
+ Scalar pressure(const int phaseIdx) const
+ { return fluidState_.pressure(phaseIdx); }
+
+ /*!
+ * \brief Returns temperature inside the sub-control volume.
+ *
+ * Note that we assume thermodynamic equilibrium, i.e. the
+ * temperatures of the rock matrix and of all fluid phases are
+ * identical.
+ */
+ Scalar temperature() const
+ { return fluidState_.temperature(/*phaseIdx=*/0); }
+
+ /*!
+ * \brief Returns the effective mobility of a given phase within
+ * the control volume.
+ *
+ * \param phaseIdx The phase index
+ */
+ Scalar mobility(const int phaseIdx) const
+ {
+ return mobility_[phaseIdx];
+ }
+
+ /*!
+ * \brief Returns the effective capillary pressure within the control volume.
+ */
+ Scalar capillaryPressure() const
+ { return fluidState_.capillaryPressure(); }
+
+ /*!
+ * \brief Returns the average porosity within the control volume.
+ */
+ Scalar porosity() const
+ { return porosity_; }
+
+ /*!
+ * \brief Returns the vapor temperature (T_{vap}(p_g) of the fluid within the control volume.
+ */
+ Scalar vaporTemperature() const
+ { return FluidSystem::vaporTemperature(fluidState_, wPhaseIdx);}
+
+protected:
+ FluidState fluidState_;
+
+private:
+
+ Scalar porosity_;
+ Scalar mobility_[numPhases];
+
+ Implementation &asImp_()
+ { return *static_cast(this); }
+
+ const Implementation &asImp_() const
+ { return *static_cast(this); }
+};
+
+} // end namespace
+
+#endif
diff --git a/dumux/porousmediumflow/CMakeLists.txt b/dumux/porousmediumflow/CMakeLists.txt
index 643a57f0eeca6fe8ce47b7462bdbdeb2aa64f9ee..9f3095a65c2cafbdb57875366fe4583d141f8a7c 100644
--- a/dumux/porousmediumflow/CMakeLists.txt
+++ b/dumux/porousmediumflow/CMakeLists.txt
@@ -1,6 +1,7 @@
add_subdirectory("1p")
add_subdirectory("1p2c")
add_subdirectory("2p")
+add_subdirectory("2p1c")
add_subdirectory("2p2c")
add_subdirectory("2pdfm")
add_subdirectory("2pminc")
diff --git a/test/porousmediumflow/2p1c/CMakeLists.txt b/test/porousmediumflow/2p1c/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ba8341c614f1a2c797c95f5402f602025f1087b1
--- /dev/null
+++ b/test/porousmediumflow/2p1c/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory("implicit")
diff --git a/test/porousmediumflow/2p1c/implicit/CMakeLists.txt b/test/porousmediumflow/2p1c/implicit/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..436aaaac55c891152be6a21e14741cf0a592031a
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/CMakeLists.txt
@@ -0,0 +1,16 @@
+#add links to input files
+add_input_file_links()
+
+add_dumux_test(test_boxsteaminjection test_boxsteaminjection test_boxsteaminjection.cc
+ python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+ --script fuzzy
+ --files ${CMAKE_SOURCE_DIR}/test/references/steaminjectionbox-reference.vtu
+ ${CMAKE_CURRENT_BINARY_DIR}/test_boxsteaminjection-00008.vtu
+ --command "${CMAKE_CURRENT_BINARY_DIR}/test_boxsteaminjection")
+
+add_dumux_test(test_ccsteaminjection test_ccsteaminjection test_ccsteaminjection.cc
+ python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+ --script fuzzy
+ --files ${CMAKE_SOURCE_DIR}/test/references/steaminjectioncc-reference.vtu
+ ${CMAKE_CURRENT_BINARY_DIR}/test_ccsteaminjection-00009.vtu
+ --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccsteaminjection")
diff --git a/test/porousmediumflow/2p1c/implicit/steaminjectionproblem.hh b/test/porousmediumflow/2p1c/implicit/steaminjectionproblem.hh
new file mode 100644
index 0000000000000000000000000000000000000000..59ad310cfd684e8f5edc5d504620a9c1030f8adf
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/steaminjectionproblem.hh
@@ -0,0 +1,285 @@
+// -*- 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 vesion. *
+ * *
+ * 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Non-isothermal steam injection test problem for the 2p1cni model.
+ *
+ */
+#ifndef DUMUX_STEAM_INJECTIONPROBLEM_HH
+#define DUMUX_STEAM_INJECTIONPROBLEM_HH
+
+#include
+#include
+
+#include "steaminjectionspatialparams.hh"
+#include
+#include
+
+namespace Dumux
+{
+template
+class InjectionProblem;
+
+namespace Properties
+{
+NEW_TYPE_TAG(InjectionProblem, INHERITS_FROM(TwoPOneCNI, InjectionProblemSpatialParams));
+NEW_TYPE_TAG(InjectionBoxProblem, INHERITS_FROM(BoxModel, InjectionProblem));
+NEW_TYPE_TAG(InjectionCCProblem, INHERITS_FROM(CCModel, InjectionProblem));
+
+SET_TYPE_PROP(InjectionProblem, Grid, Dune::YaspGrid<2>);
+
+// Set the problem property
+SET_PROP(InjectionProblem, Problem)
+{
+ typedef Dumux::InjectionProblem type;
+};
+
+// Set the fluid system
+SET_PROP(InjectionProblem, FluidSystem)
+{
+private:
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef Dumux::TabulatedComponent > H2OType ;
+public:
+ typedef Dumux::FluidSystems::TwoPLiquidVaporFluidsystem type;
+};
+
+// Enable gravity
+SET_BOOL_PROP(InjectionProblem, ProblemEnableGravity, true);
+
+//Define whether spurious cold-water flow into the steam is blocked
+SET_BOOL_PROP(InjectionProblem, UseBlockingOfSpuriousFlow, true);
+}
+
+//TODO: Names
+/*!
+ * \ingroup ThreePTwoCNIBoxModel
+ * \ingroup ImplicitTestProblems
+ * \brief Non-isothermal 2D problem where steam is injected on the lower left side of the domain.
+ *
+ * This problem uses the \ref ThreePTwoCNIModel.
+ *
+ * */
+template
+class InjectionProblem : public ImplicitPorousMediaProblem
+{
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+ typedef typename GridView::Grid Grid;
+
+ typedef ImplicitPorousMediaProblem ParentType;
+
+ // copy some indices for convenience
+ typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
+ enum {
+ pressureIdx = Indices::pressureIdx,
+ switch1Idx = Indices::switch1Idx,
+
+ energyEqIdx = Indices::energyEqIdx,
+
+ // phase and component indices
+ wPhaseIdx = Indices::wPhaseIdx,
+ gPhaseIdx = Indices::gPhaseIdx,
+
+ // Phase State
+ wPhaseOnly = Indices::wPhaseOnly,
+ gPhaseOnly = Indices::gPhaseOnly,
+ twoPhases = Indices::twoPhases,
+
+ // Grid and world dimension
+ dim = GridView::dimension,
+ dimWorld = GridView::dimensionworld
+ };
+
+ typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
+ typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes;
+ typedef typename GET_PROP_TYPE(TypeTag, TimeManager) TimeManager;
+
+ typedef typename GridView::template Codim<0>::Entity Element;
+ typedef typename GridView::template Codim::Entity Vertex;
+
+ typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+ typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
+ typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
+
+ typedef Dune::FieldVector GlobalPosition;
+
+ enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
+
+public:
+
+ /*!
+ * \brief The constructor
+ *
+ * \param timeManager The time manager
+ * \param gridView The grid view
+ */
+
+ InjectionProblem(TimeManager &timeManager, const GridView &gridView)
+ : ParentType(timeManager, gridView), eps_(1e-6)
+ {
+
+ name_ = GET_RUNTIME_PARAM_FROM_GROUP(TypeTag,
+ std::string,
+ Problem,
+ Name);
+
+ FluidSystem::init();
+ }
+
+ /*!
+ * \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 name_; }
+
+
+ void sourceAtPos(PrimaryVariables &values,
+ const GlobalPosition &globalPos) const
+ {
+ values = 0.0;
+ }
+
+ /*!
+ * \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 globalPos The position for which the bc type should be evaluated
+ */
+ void boundaryTypesAtPos(BoundaryTypes &bcTypes,
+ const GlobalPosition &globalPos) const
+ {
+ if(globalPos[1] > this->bBoxMax()[1] - eps_ || globalPos[0] > this->bBoxMax()[0] - eps_)
+ bcTypes.setAllDirichlet();
+ else
+ bcTypes.setAllNeumann();
+ }
+
+ /*!
+ * \brief Evaluate the boundary conditions for a dirichlet
+ * boundary segment.
+ *
+ * \param values The dirichlet values for the primary variables
+ * \param globalPos The position for which the bc type should be evaluated
+ *
+ * For this method, the \a values parameter stores primary variables.
+ */
+ void dirichletAtPos(PrimaryVariables &values, const GlobalPosition &globalPos) const
+ {
+ initial_(values, globalPos);
+ }
+
+ /*!
+ * \brief Evaluate the boundary conditions for a neumann
+ * boundary segment.
+ *
+ * \param values The neumann values for the conservation equations
+ * \param element The finite element
+ * \param fvGeomtry The finite-volume geometry in the box scheme
+ * \param is The intersection between element and boundary
+ * \param scvIdx The local vertex index
+ * \param boundaryFaceIdx The index of the boundary face
+ *
+ * For this method, the \a values parameter stores the mass flux
+ * in normal direction of each phase. Negative values mean influx.
+ */
+ void neumannAtPos(PrimaryVariables &values,
+ const GlobalPosition &globalPos) const
+ {
+ values = 0.0;
+
+ if (globalPos[0] < eps_)
+ {
+ if(globalPos[1] > 2.0 - eps_ && globalPos[1] < 3.0 + eps_)
+ {
+ Scalar massRate = 1e-1;
+ values[Indices::conti0EqIdx] = -massRate;
+ values[Indices::energyEqIdx] = -massRate * 2690e3;
+ }
+ }
+ }
+
+ // \}
+
+ /*!
+ * \name Volume terms
+ */
+ // \{
+
+ /*!
+ * \brief Evaluate the initial value for a control volume.
+ *
+ * \param values The initial values for the primary variables
+ * \param globalPos The position for which the initial condition should be evaluated
+ *
+ * For this method, the \a values parameter stores primary
+ * variables.
+ */
+ void initialAtPos(PrimaryVariables &values, const GlobalPosition &globalPos) const
+ {
+ initial_(values, globalPos);
+ }
+
+ /*!
+ * \brief Return the initial phase state inside a control volume.
+ *
+ * \param vert The vertex
+ * \param globalIdx The index of the global vertex
+ * \param globalPos The global position
+ */
+ int initialPhasePresence(const Vertex &vert,
+ int &globalIdx,
+ const GlobalPosition &globalPos) const
+ {
+ return wPhaseOnly;
+ }
+
+
+
+private:
+ // internal method for the initial condition (reused for the
+ // dirichlet conditions!)
+ void initial_(PrimaryVariables &values,
+ const GlobalPosition &globalPos) const
+ {
+ Scalar densityW = 1000.0;
+ values[pressureIdx] = 101300.0 + (this->bBoxMax()[1] - globalPos[1])*densityW*9.81; // hydrostatic pressure
+ values[switch1Idx] = 283.13;
+ }
+
+ Scalar eps_;
+ std::string name_;
+};
+} //end namespace
+
+#endif
diff --git a/test/porousmediumflow/2p1c/implicit/steaminjectionspatialparams.hh b/test/porousmediumflow/2p1c/implicit/steaminjectionspatialparams.hh
new file mode 100644
index 0000000000000000000000000000000000000000..02f7028b6c9d5bcfb04cdcd4b6c1c96876846dcd
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/steaminjectionspatialparams.hh
@@ -0,0 +1,206 @@
+// -*- 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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Definition of the spatial parameters for the steam injection problem
+ */
+
+#ifndef DUMUX_STEAMINJECTION_SPATIAL_PARAMS_HH
+#define DUMUX_STEAMINJECTION_SPATIAL_PARAMS_HH
+
+#include
+#include
+#include
+
+namespace Dumux
+{
+
+//forward declaration
+template
+class InjectionProblemSpatialParams;
+
+namespace Properties
+{
+// The spatial parameters TypeTag
+NEW_TYPE_TAG(InjectionProblemSpatialParams);
+
+// Set the spatial parameters
+SET_TYPE_PROP(InjectionProblemSpatialParams, SpatialParams, Dumux::InjectionProblemSpatialParams);
+
+// Set the material Law
+SET_PROP(InjectionProblemSpatialParams, MaterialLaw)
+{
+ private:
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef RegularizedVanGenuchten EffMaterialLaw;
+ public:
+ // define the material law parameterized by absolute saturations
+ typedef EffToAbsLaw type;
+};
+}
+
+/*!
+ * \ingroup TwoPOneCNIModel
+ *
+ * \brief Definition of the spatial parameters for various steam injection problems
+ */
+template
+class InjectionProblemSpatialParams : public ImplicitSpatialParams
+{
+ typedef ImplicitSpatialParams ParentType;
+
+ typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid;
+ typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
+ typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
+ typedef typename Grid::ctype CoordScalar;
+ enum {
+ dim=GridView::dimension,
+ dimWorld=GridView::dimensionworld
+ };
+
+ typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
+ typedef typename GridView::template Codim<0>::Entity Element;
+
+ typedef Dune::FieldMatrix FieldMatrix;
+
+
+public:
+ typedef typename GET_PROP_TYPE(TypeTag, MaterialLaw) MaterialLaw;
+ typedef typename MaterialLaw::Params MaterialLawParams;
+
+ /*!
+ * \brief The constructor
+ *
+ * \param gridView The grid view
+ */
+ InjectionProblemSpatialParams(const GridView &gridView)
+ : ParentType(gridView)
+ {
+ // set Van Genuchten Parameters
+ materialParams_.setSwr(0.1);
+ materialParams_.setSnr(0.0);
+ materialParams_.setVgAlpha(0.0028);
+ materialParams_.setVgn(2.0);
+ }
+
+ /*!
+ * \brief Apply the intrinsic permeability tensor to a pressure
+ * potential gradient.
+ *
+ * \param element The current finite element
+ * \param fvElemGeom The current finite volume geometry of the element
+ * \param scvIdx The index of the sub-control volume
+ */
+ const FieldMatrix intrinsicPermeability(const Element &element,
+ const FVElementGeometry &fvElemGeom,
+ int scvIdx) const
+ {
+ FieldMatrix permMatrix = 0.0;
+
+ // intrinsic permeability
+ permMatrix[0][0] = 1e-9;
+ permMatrix[1][1] = 1e-9;
+
+ return permMatrix; //default value
+ }
+
+ /*!
+ * \brief Define the porosity \f$[-]\f$ of the spatial parameters
+ *
+ * \param element The finite element
+ * \param fvGeometry The finite volume geometry
+ * \param scvIdx The local index of the sub-control volume where
+ * the porosity needs to be defined
+ */
+ double porosity(const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx) const
+ {
+ return 0.4;
+ }
+
+
+ /*!
+ * \brief return the parameter object for the Brooks-Corey material law which depends on the position
+ *
+ * \param element The current finite element
+ * \param fvGeometry The current finite volume geometry of the element
+ * \param scvIdx The index of the sub-control volume
+ */
+ const MaterialLawParams& materialLawParams(const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx) const
+ {
+ return materialParams_;
+ }
+
+ /*!
+ * \brief Returns the heat capacity \f$[J / (kg K)]\f$ of the rock matrix.
+ *
+ * This is only required for non-isothermal models.
+ *
+ * \param element The finite element
+ * \param fvGeometry The finite volume geometry
+ * \param scvIdx The local index of the sub-control volume
+ */
+ Scalar solidHeatCapacity(const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx) const
+ {
+ return 850.0; // specific heat capacity of granite [J / (kg K)]
+ }
+
+ /*!
+ * \brief Returns the mass density \f$[kg / m^3]\f$ of the rock matrix.
+ *
+ * This is only required for non-isothermal models.
+ *
+ * \param element The finite element
+ * \param fvGeometry The finite volume geometry
+ * \param scvIdx The local index of the sub-control volume
+ */
+ Scalar solidDensity(const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx) const
+ {
+ return 2650.0; // density of granite [kg/m^3]
+ }
+
+ /*!
+ * \brief Returns the thermal conductivity \f$\mathrm{[W/(m K)]}\f$ of the porous material.
+ *
+ * \param element The finite element
+ * \param fvGeometry The finite volume geometry
+ * \param scvIdx The local index of the sub-control volume
+ */
+ Scalar solidThermalConductivity(const Element &element,
+ const FVElementGeometry &fvGeometry,
+ const int scvIdx) const
+ {
+ return 2.8;
+ }
+
+private:
+ MaterialLawParams materialParams_;
+};
+
+}
+
+#endif
diff --git a/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.cc b/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.cc
new file mode 100644
index 0000000000000000000000000000000000000000..bd83890846bb39f76a3e9233e83fa289156e7bfe
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Test for the 2p1cni box model
+ */
+#include "config.h"
+#include "steaminjectionproblem.hh"
+#include
+
+/*!
+ * \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 options for this program is:\n"
+ "\t-TimeManager.TEnd End of the simulation [s] \n"
+ "\t-TimeManager.DtInitial Initial timestep size [s] \n"
+ "\t-Grid.UpperRight coordinates of the upper right corner of the grid [m] \n"
+ "\t-Grid.Cells Number of cells in respective coordinate directions\n"
+ "\t-Problem.Name String for naming of the output files \n"
+ "\n";
+
+ std::cout << errorMessageOut << std::endl;
+ }
+}
+
+////////////////////////
+// the main function
+////////////////////////
+int main(int argc, char** argv)
+{
+ typedef TTAG(InjectionBoxProblem) TypeTag;
+ return Dumux::start(argc, argv, usage);
+}
diff --git a/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.input b/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.input
new file mode 100644
index 0000000000000000000000000000000000000000..4696345154e120977b7f4c2d8377e28ec4cdfc07
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/test_boxsteaminjection.input
@@ -0,0 +1,10 @@
+[TimeManager]
+DtInitial = 50 # [s]
+TEnd = 300 # [s]
+
+[Grid]
+UpperRight = 4 8
+Cells = 10 20
+
+[Problem]
+Name = test_boxsteaminjection # name passed to the output routines
diff --git a/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.cc b/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.cc
new file mode 100644
index 0000000000000000000000000000000000000000..1273bd90ede4491753202a2f9cfef6b72e669adc
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.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 . *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Test for the 2p1cni cell-centered model
+ */
+#include "config.h"
+#include "steaminjectionproblem.hh"
+#include
+
+/*!
+ * \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 options for this program is:\n"
+ "\t-TimeManager.TEnd End of the simulation [s] \n"
+ "\t-TimeManager.DtInitial Initial timestep size [s] \n"
+ "\t-Grid.UpperRight coordinates of the upper right corner of the grid [m] \n"
+ "\t-Grid.Cells Number of cells in respective coordinate directions\n"
+ "\t-Problem.Name String for naming of the output files \n"
+ "\n";
+
+ std::cout << errorMessageOut << std::endl;
+ }
+}
+
+////////////////////////
+// the main function
+////////////////////////
+int main(int argc, char** argv)
+{
+ typedef TTAG(InjectionCCProblem) TypeTag;
+ return Dumux::start(argc, argv, usage);
+}
diff --git a/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.input b/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.input
new file mode 100644
index 0000000000000000000000000000000000000000..c5b8d8556b1fd4b9c149baa9212b1684d3db858d
--- /dev/null
+++ b/test/porousmediumflow/2p1c/implicit/test_ccsteaminjection.input
@@ -0,0 +1,10 @@
+[TimeManager]
+DtInitial = 50 # [s]
+TEnd = 300 # [s]
+
+[Grid]
+UpperRight = 4 8
+Cells = 20 40
+
+[Problem]
+Name = test_ccsteaminjection # name passed to the output routines
diff --git a/test/porousmediumflow/CMakeLists.txt b/test/porousmediumflow/CMakeLists.txt
index 9925ca7fd9353f75e92f5c640c325e11f12567ad..53b792a0788106bfcc0a516db26aedac9df0d4b7 100644
--- a/test/porousmediumflow/CMakeLists.txt
+++ b/test/porousmediumflow/CMakeLists.txt
@@ -1,6 +1,7 @@
add_subdirectory("1p")
add_subdirectory("1p2c")
add_subdirectory("2p")
+add_subdirectory("2p1c")
add_subdirectory("2p2c")
add_subdirectory("2pminc")
add_subdirectory("2pnc")
diff --git a/test/references/steaminjectionbox-reference.vtu b/test/references/steaminjectionbox-reference.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..138f79f6d4849ce5604fd82f9179b3315bcf566b
--- /dev/null
+++ b/test/references/steaminjectionbox-reference.vtu
@@ -0,0 +1,531 @@
+
+
+
+
+
+
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 0.822808 1 1 1 1 1
+ 1 1 1 1 1 0.74307 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0.177192 0 0 0 0 0
+ 0 0 0 0 0 0.25693 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0
+
+
+ 180140 180133 176223 176217 180115 176198 180087 176168 180052 176131 180011 176090
+ 179967 176045 179921 175998 179874 175951 179826 175903 179780 175856 172320 172312
+ 172290 172257 172216 172171 172124 172076 172028 171980 171932 168434 168423 168394
+ 168352 168304 168254 168204 168155 168105 168057 168008 164568 164554 164511 164452
+ 164394 164338 164284 164233 164182 164133 164084 160692 160744 160632 160550 160480
+ 160419 160362 160309 160258 160209 160160 157303 156850 156733 156637 156560 156495
+ 156437 156384 156333 156284 156236 153356 152873 152801 152705 152628 152564 152507
+ 152455 152406 152359 152312 148899 148944 148833 148753 148686 148626 148573 148524
+ 148477 148432 148388 144946 144901 144849 144790 144734 144683 144635 144590 144547
+ 144505 144464 140913 140897 140863 140822 140779 140736 140695 140655 140616 140578
+ 140540 136914 136906 136885 136856 136823 136788 136753 136718 136684 136650 136616
+ 132933 132928 132914 132893 132868 132840 132811 132781 132751 132722 132692 128964
+ 128960 128950 128934 128915 128893 128869 128844 128819 128793 128768 125001 124999
+ 124991 124980 124964 124947 124928 124908 124887 124865 124844 121044 121043 121037
+ 121028 121017 121003 120988 120972 120955 120937 120920 117091 117090 117086 117079
+ 117071 117060 117049 117036 117023 117010 116996 113141 113140 113137 113133 113127
+ 113119 113111 113102 113092 113082 113072 109193 109192 109191 109188 109184 109179
+ 109173 109167 109161 109155 109148 105246 105246 105245 105244 105242 105239 105237
+ 105234 105231 105227 105224 101300 101300 101300 101300 101300 101300 101300 101300
+ 101300 101300 101300
+
+
+ 180140 180133 176223 176217 180115 176198 180087 176168 180052 176131 180011 176090
+ 179967 176045 179921 175998 179874 175951 179826 175903 179780 175856 172320 172312
+ 172290 172257 172216 172171 172124 172076 172028 171980 171932 168434 168423 168394
+ 168352 168304 168254 168204 168155 168105 168057 168008 164568 164554 164511 164452
+ 164394 164338 164284 164233 164182 164133 164084 160692 160744 160632 160550 160480
+ 160419 160362 160309 160258 160209 160160 157568 156850 156733 156637 156560 156495
+ 156437 156384 156333 156284 156236 153705 152873 152801 152705 152628 152564 152507
+ 152455 152406 152359 152312 148899 148944 148833 148753 148686 148626 148573 148524
+ 148477 148432 148388 144946 144901 144849 144790 144734 144683 144635 144590 144547
+ 144505 144464 140913 140897 140863 140822 140779 140736 140695 140655 140616 140578
+ 140540 136914 136906 136885 136856 136823 136788 136753 136718 136684 136650 136616
+ 132933 132928 132914 132893 132868 132840 132811 132781 132751 132722 132692 128964
+ 128960 128950 128934 128915 128893 128869 128844 128819 128793 128768 125001 124999
+ 124991 124980 124964 124947 124928 124908 124887 124865 124844 121044 121043 121037
+ 121028 121017 121003 120988 120972 120955 120937 120920 117091 117090 117086 117079
+ 117071 117060 117049 117036 117023 117010 116996 113141 113140 113137 113133 113127
+ 113119 113111 113102 113092 113082 113072 109193 109192 109191 109188 109184 109179
+ 109173 109167 109161 109155 109148 105246 105246 105245 105244 105242 105239 105237
+ 105234 105231 105227 105224 101300 101300 101300 101300 101300 101300 101300 101300
+ 101300 101300 101300
+
+
+ 999.729 999.729 999.727 999.727 999.729 999.727 999.729 999.727 999.729 999.727 999.729 999.727
+ 999.729 999.727 999.729 999.727 999.729 999.727 999.729 999.727 999.729 999.727 999.725 999.725
+ 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.723 999.723 999.723
+ 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.657 999.72 999.721 999.721
+ 999.721 999.721 999.721 999.721 999.721 999.721 999.721 978.951 999.651 999.719 999.719 999.719
+ 999.719 999.719 999.719 999.719 999.719 999.719 948.769 998.836 999.707 999.717 999.717 999.717
+ 999.717 999.717 999.717 999.717 999.717 949.345 997.01 999.666 999.714 999.716 999.716 999.716
+ 999.716 999.716 999.715 999.715 988.278 999.483 999.708 999.714 999.714 999.714 999.714 999.714
+ 999.714 999.714 999.714 999.437 999.704 999.712 999.712 999.712 999.712 999.712 999.712 999.712
+ 999.712 999.712 999.704 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71
+ 999.71 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708
+ 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.704
+ 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.702 999.702
+ 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.701 999.701 999.701
+ 999.701 999.701 999.701 999.701 999.701 999.701 999.7 999.7 999.699 999.699 999.699 999.699
+ 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.697 999.697 999.697 999.697 999.697
+ 999.697 999.697 999.697 999.697 999.697 999.697 999.695 999.695 999.695 999.695 999.695 999.695
+ 999.695 999.695 999.695 999.695 999.695 999.693 999.693 999.693 999.693 999.693 999.693 999.693
+ 999.693 999.693 999.693 999.693 999.691 999.691 999.691 999.691 999.691 999.691 999.691 999.691
+ 999.691 999.691 999.691
+
+
+ 1.38113 1.38108 1.3511 1.35105 1.38094 1.35091 1.38073 1.35068 1.38046 1.3504 1.38014 1.35008
+ 1.3798 1.34973 1.37945 1.34938 1.37909 1.34901 1.37873 1.34865 1.37837 1.34829 1.32118 1.32112
+ 1.32095 1.32069 1.32038 1.32003 1.31967 1.31931 1.31894 1.31857 1.3182 1.29136 1.2913 1.29108
+ 1.29075 1.29039 1.29 1.28962 1.28924 1.28886 1.28849 1.28812 1.25832 1.26155 1.2613 1.26085
+ 1.2604 1.25998 1.25957 1.25917 1.25878 1.25841 1.25803 1.03357 1.22892 1.23152 1.23093 1.2304
+ 1.22993 1.2295 1.22909 1.2287 1.22832 1.22795 0.90318 1.17527 1.20107 1.20092 1.20034 1.19984
+ 1.1994 1.19899 1.1986 1.19823 1.19786 0.882446 1.11391 1.16881 1.17072 1.1702 1.16971 1.16927
+ 1.16887 1.16849 1.16813 1.16777 1.00739 1.1334 1.14078 1.14048 1.13997 1.13952 1.13911 1.13873
+ 1.13837 1.13803 1.13769 1.10158 1.11054 1.11054 1.1101 1.10968 1.10928 1.10892 1.10857 1.10824
+ 1.10792 1.1076 1.08005 1.08024 1.08 1.07968 1.07935 1.07902 1.0787 1.0784 1.0781 1.07781
+ 1.07752 1.04971 1.04965 1.04949 1.04927 1.04902 1.04875 1.04848 1.04822 1.04795 1.04769 1.04743
+ 1.0192 1.01916 1.01905 1.01889 1.01869 1.01848 1.01826 1.01803 1.0178 1.01757 1.01735 0.988761
+ 0.988734 0.988655 0.988536 0.988386 0.988216 0.988034 0.987844 0.987651 0.987457 0.987261 0.958382 0.958362
+ 0.958305 0.958214 0.958099 0.957965 0.957818 0.957662 0.957502 0.95734 0.957176 0.928044 0.928029 0.927987
+ 0.927919 0.92783 0.927726 0.92761 0.927485 0.927356 0.927224 0.92709 0.897736 0.897725 0.897694 0.897644
+ 0.897577 0.897498 0.897409 0.897313 0.897213 0.897109 0.897005 0.86745 0.867443 0.86742 0.867385 0.867337
+ 0.867281 0.867216 0.867146 0.867072 0.866996 0.866919 0.837179 0.837175 0.83716 0.837138 0.837107 0.83707
+ 0.837028 0.836983 0.836934 0.836884 0.836834 0.806919 0.806916 0.806909 0.806898 0.806883 0.806865 0.806845
+ 0.806822 0.806798 0.806773 0.806748 0.776663 0.776663 0.776663 0.776663 0.776663 0.776663 0.776663 0.776663
+ 0.776663 0.776663 0.776663
+
+
+ 764.381 764.381 764.379 764.379 764.381 764.379 764.381 764.379 764.381 764.379 764.381 764.379
+ 764.381 764.379 764.381 764.379 764.381 764.379 764.381 764.378 764.381 764.378 764.377 764.376
+ 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.517 764.379 764.374
+ 764.374 764.374 764.374 764.374 764.374 764.374 764.374 764.374 782.422 764.828 764.378 764.372
+ 764.372 764.372 764.372 764.372 764.372 764.372 764.372 2408.16 783.213 764.612 764.373 764.37
+ 764.37 764.37 764.37 764.37 764.37 764.37 590.728 918.384 767.734 764.417 764.369 764.368
+ 764.368 764.368 764.368 764.368 764.368 305.539 1128.42 780.017 764.747 764.372 764.366 764.366
+ 764.366 764.366 764.366 764.366 1815.35 812.654 766.195 764.404 764.365 764.364 764.364 764.364
+ 764.364 764.364 764.364 821.035 766.832 764.435 764.364 764.362 764.362 764.362 764.362 764.362
+ 764.362 764.362 766.371 764.432 764.362 764.36 764.36 764.36 764.36 764.36 764.36 764.36
+ 764.36 764.397 764.36 764.359 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358
+ 764.357 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.355 764.354
+ 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.353 764.353 764.352 764.352
+ 764.352 764.352 764.352 764.352 764.352 764.352 764.351 764.351 764.351 764.35 764.35 764.35
+ 764.35 764.35 764.35 764.349 764.349 764.349 764.349 764.349 764.348 764.348 764.348 764.347
+ 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.345 764.345 764.345 764.345 764.345
+ 764.345 764.345 764.345 764.345 764.345 764.345 764.343 764.343 764.343 764.343 764.343 764.343
+ 764.343 764.343 764.343 764.343 764.343 764.341 764.341 764.341 764.341 764.341 764.341 764.341
+ 764.341 764.341 764.341 764.341 764.339 764.339 764.339 764.339 764.339 764.339 764.339 764.339
+ 764.339 764.339 764.339
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 16289.6 0 0 0 0 0
+ 0 0 0 0 0 25473.2 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0
+
+
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130802 0.00130825 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00127808 0.00130748 0.00130825 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.000415254 0.00127679 0.00130785 0.00130826 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.000247832 0.00108887 0.00130253 0.00130819 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.000249633 0.000886195 0.00128202 0.00130762 0.00130826 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.000550859 0.00123054 0.00130515 0.00130821 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00121797 0.00130407 0.00130816 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130485 0.00130816 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130822 0.00130828 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832
+
+
+ 8.67141e-06 8.67143e-06 8.68382e-06 8.68384e-06 8.67149e-06 8.6839e-06 8.67158e-06 8.68399e-06 8.67169e-06 8.68411e-06 8.67182e-06 8.68424e-06
+ 8.67196e-06 8.68438e-06 8.67211e-06 8.68453e-06 8.67226e-06 8.68468e-06 8.67241e-06 8.68483e-06 8.67255e-06 8.68498e-06 8.69618e-06 8.6962e-06
+ 8.69627e-06 8.69638e-06 8.69651e-06 8.69665e-06 8.6968e-06 8.69695e-06 8.6971e-06 8.69725e-06 8.69741e-06 8.70871e-06 8.70852e-06 8.70861e-06
+ 8.70874e-06 8.70889e-06 8.70905e-06 8.70921e-06 8.70937e-06 8.70952e-06 8.70968e-06 8.70983e-06 8.75024e-06 8.72151e-06 8.72091e-06 8.72109e-06
+ 8.72128e-06 8.72145e-06 8.72162e-06 8.72179e-06 8.72195e-06 8.7221e-06 8.72226e-06 1.09277e-05 8.76365e-06 8.73358e-06 8.73345e-06 8.73367e-06
+ 8.73386e-06 8.73404e-06 8.73421e-06 8.73437e-06 8.73453e-06 8.73468e-06 1.26779e-05 8.99726e-06 8.75092e-06 8.74592e-06 8.74608e-06 8.74629e-06
+ 8.74647e-06 8.74664e-06 8.7468e-06 8.74696e-06 8.74711e-06 1.26519e-05 9.32498e-06 8.78276e-06 8.7589e-06 8.75854e-06 8.75874e-06 8.75892e-06
+ 8.75908e-06 8.75924e-06 8.75939e-06 8.75953e-06 1.02456e-05 8.85123e-06 8.77346e-06 8.77087e-06 8.77102e-06 8.7712e-06 8.77137e-06 8.77153e-06
+ 8.77168e-06 8.77182e-06 8.77196e-06 8.87719e-06 8.7869e-06 8.78328e-06 8.78336e-06 8.78353e-06 8.78369e-06 8.78384e-06 8.78399e-06 8.78412e-06
+ 8.78425e-06 8.78439e-06 8.79879e-06 8.79579e-06 8.79579e-06 8.79592e-06 8.79605e-06 8.79619e-06 8.79632e-06 8.79645e-06 8.79657e-06 8.79669e-06
+ 8.79681e-06 8.80836e-06 8.80832e-06 8.80839e-06 8.80848e-06 8.80858e-06 8.80869e-06 8.8088e-06 8.80891e-06 8.80902e-06 8.80913e-06 8.80924e-06
+ 8.8209e-06 8.82092e-06 8.82096e-06 8.82103e-06 8.82111e-06 8.8212e-06 8.82129e-06 8.82138e-06 8.82147e-06 8.82157e-06 8.82166e-06 8.83347e-06
+ 8.83348e-06 8.83351e-06 8.83356e-06 8.83362e-06 8.83369e-06 8.83377e-06 8.83385e-06 8.83393e-06 8.83401e-06 8.83409e-06 8.84602e-06 8.84602e-06
+ 8.84605e-06 8.84609e-06 8.84613e-06 8.84619e-06 8.84625e-06 8.84631e-06 8.84638e-06 8.84645e-06 8.84651e-06 8.85855e-06 8.85855e-06 8.85857e-06
+ 8.8586e-06 8.85863e-06 8.85868e-06 8.85873e-06 8.85878e-06 8.85883e-06 8.85888e-06 8.85894e-06 8.87106e-06 8.87107e-06 8.87108e-06 8.8711e-06
+ 8.87113e-06 8.87116e-06 8.8712e-06 8.87124e-06 8.87128e-06 8.87132e-06 8.87137e-06 8.88357e-06 8.88357e-06 8.88358e-06 8.8836e-06 8.88362e-06
+ 8.88364e-06 8.88367e-06 8.8837e-06 8.88373e-06 8.88376e-06 8.88379e-06 8.89607e-06 8.89608e-06 8.89608e-06 8.89609e-06 8.8961e-06 8.89612e-06
+ 8.89614e-06 8.89616e-06 8.89618e-06 8.8962e-06 8.89622e-06 8.90857e-06 8.90857e-06 8.90858e-06 8.90858e-06 8.90859e-06 8.90859e-06 8.9086e-06
+ 8.90861e-06 8.90862e-06 8.90863e-06 8.90864e-06 8.92107e-06 8.92107e-06 8.92107e-06 8.92107e-06 8.92107e-06 8.92107e-06 8.92107e-06 8.92107e-06
+ 8.92107e-06 8.92107e-06 8.92107e-06
+
+
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4
+
+
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09
+
+
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09
+
+
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 1 2 2 2 2 2
+ 2 2 2 2 2 1 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2
+
+
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.136 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.913 283.15 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 341.114 283.951 283.14 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 385.984 289.877 283.274 283.132 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 385.234 298.364 283.796 283.146 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 322.683 285.32 283.209 283.132 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 285.691 283.236 283.133 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.216 283.133 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.132 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13
+
+
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0
+
+
+
+
+ 0 0 0 0.4 0 0 0 0.4 0 0.4 0.4 0
+ 0.8 0 0 0.8 0.4 0 1.2 0 0 1.2 0.4 0
+ 1.6 0 0 1.6 0.4 0 2 0 0 2 0.4 0
+ 2.4 0 0 2.4 0.4 0 2.8 0 0 2.8 0.4 0
+ 3.2 0 0 3.2 0.4 0 3.6 0 0 3.6 0.4 0
+ 4 0 0 4 0.4 0 0 0.8 0 0.4 0.8 0
+ 0.8 0.8 0 1.2 0.8 0 1.6 0.8 0 2 0.8 0
+ 2.4 0.8 0 2.8 0.8 0 3.2 0.8 0 3.6 0.8 0
+ 4 0.8 0 0 1.2 0 0.4 1.2 0 0.8 1.2 0
+ 1.2 1.2 0 1.6 1.2 0 2 1.2 0 2.4 1.2 0
+ 2.8 1.2 0 3.2 1.2 0 3.6 1.2 0 4 1.2 0
+ 0 1.6 0 0.4 1.6 0 0.8 1.6 0 1.2 1.6 0
+ 1.6 1.6 0 2 1.6 0 2.4 1.6 0 2.8 1.6 0
+ 3.2 1.6 0 3.6 1.6 0 4 1.6 0 0 2 0
+ 0.4 2 0 0.8 2 0 1.2 2 0 1.6 2 0
+ 2 2 0 2.4 2 0 2.8 2 0 3.2 2 0
+ 3.6 2 0 4 2 0 0 2.4 0 0.4 2.4 0
+ 0.8 2.4 0 1.2 2.4 0 1.6 2.4 0 2 2.4 0
+ 2.4 2.4 0 2.8 2.4 0 3.2 2.4 0 3.6 2.4 0
+ 4 2.4 0 0 2.8 0 0.4 2.8 0 0.8 2.8 0
+ 1.2 2.8 0 1.6 2.8 0 2 2.8 0 2.4 2.8 0
+ 2.8 2.8 0 3.2 2.8 0 3.6 2.8 0 4 2.8 0
+ 0 3.2 0 0.4 3.2 0 0.8 3.2 0 1.2 3.2 0
+ 1.6 3.2 0 2 3.2 0 2.4 3.2 0 2.8 3.2 0
+ 3.2 3.2 0 3.6 3.2 0 4 3.2 0 0 3.6 0
+ 0.4 3.6 0 0.8 3.6 0 1.2 3.6 0 1.6 3.6 0
+ 2 3.6 0 2.4 3.6 0 2.8 3.6 0 3.2 3.6 0
+ 3.6 3.6 0 4 3.6 0 0 4 0 0.4 4 0
+ 0.8 4 0 1.2 4 0 1.6 4 0 2 4 0
+ 2.4 4 0 2.8 4 0 3.2 4 0 3.6 4 0
+ 4 4 0 0 4.4 0 0.4 4.4 0 0.8 4.4 0
+ 1.2 4.4 0 1.6 4.4 0 2 4.4 0 2.4 4.4 0
+ 2.8 4.4 0 3.2 4.4 0 3.6 4.4 0 4 4.4 0
+ 0 4.8 0 0.4 4.8 0 0.8 4.8 0 1.2 4.8 0
+ 1.6 4.8 0 2 4.8 0 2.4 4.8 0 2.8 4.8 0
+ 3.2 4.8 0 3.6 4.8 0 4 4.8 0 0 5.2 0
+ 0.4 5.2 0 0.8 5.2 0 1.2 5.2 0 1.6 5.2 0
+ 2 5.2 0 2.4 5.2 0 2.8 5.2 0 3.2 5.2 0
+ 3.6 5.2 0 4 5.2 0 0 5.6 0 0.4 5.6 0
+ 0.8 5.6 0 1.2 5.6 0 1.6 5.6 0 2 5.6 0
+ 2.4 5.6 0 2.8 5.6 0 3.2 5.6 0 3.6 5.6 0
+ 4 5.6 0 0 6 0 0.4 6 0 0.8 6 0
+ 1.2 6 0 1.6 6 0 2 6 0 2.4 6 0
+ 2.8 6 0 3.2 6 0 3.6 6 0 4 6 0
+ 0 6.4 0 0.4 6.4 0 0.8 6.4 0 1.2 6.4 0
+ 1.6 6.4 0 2 6.4 0 2.4 6.4 0 2.8 6.4 0
+ 3.2 6.4 0 3.6 6.4 0 4 6.4 0 0 6.8 0
+ 0.4 6.8 0 0.8 6.8 0 1.2 6.8 0 1.6 6.8 0
+ 2 6.8 0 2.4 6.8 0 2.8 6.8 0 3.2 6.8 0
+ 3.6 6.8 0 4 6.8 0 0 7.2 0 0.4 7.2 0
+ 0.8 7.2 0 1.2 7.2 0 1.6 7.2 0 2 7.2 0
+ 2.4 7.2 0 2.8 7.2 0 3.2 7.2 0 3.6 7.2 0
+ 4 7.2 0 0 7.6 0 0.4 7.6 0 0.8 7.6 0
+ 1.2 7.6 0 1.6 7.6 0 2 7.6 0 2.4 7.6 0
+ 2.8 7.6 0 3.2 7.6 0 3.6 7.6 0 4 7.6 0
+ 0 8 0 0.4 8 0 0.8 8 0 1.2 8 0
+ 1.6 8 0 2 8 0 2.4 8 0 2.8 8 0
+ 3.2 8 0 3.6 8 0 4 8 0
+
+
+
+
+ 0 1 3 2 1 4 5 3 4 6 7 5
+ 6 8 9 7 8 10 11 9 10 12 13 11
+ 12 14 15 13 14 16 17 15 16 18 19 17
+ 18 20 21 19 2 3 23 22 3 5 24 23
+ 5 7 25 24 7 9 26 25 9 11 27 26
+ 11 13 28 27 13 15 29 28 15 17 30 29
+ 17 19 31 30 19 21 32 31 22 23 34 33
+ 23 24 35 34 24 25 36 35 25 26 37 36
+ 26 27 38 37 27 28 39 38 28 29 40 39
+ 29 30 41 40 30 31 42 41 31 32 43 42
+ 33 34 45 44 34 35 46 45 35 36 47 46
+ 36 37 48 47 37 38 49 48 38 39 50 49
+ 39 40 51 50 40 41 52 51 41 42 53 52
+ 42 43 54 53 44 45 56 55 45 46 57 56
+ 46 47 58 57 47 48 59 58 48 49 60 59
+ 49 50 61 60 50 51 62 61 51 52 63 62
+ 52 53 64 63 53 54 65 64 55 56 67 66
+ 56 57 68 67 57 58 69 68 58 59 70 69
+ 59 60 71 70 60 61 72 71 61 62 73 72
+ 62 63 74 73 63 64 75 74 64 65 76 75
+ 66 67 78 77 67 68 79 78 68 69 80 79
+ 69 70 81 80 70 71 82 81 71 72 83 82
+ 72 73 84 83 73 74 85 84 74 75 86 85
+ 75 76 87 86 77 78 89 88 78 79 90 89
+ 79 80 91 90 80 81 92 91 81 82 93 92
+ 82 83 94 93 83 84 95 94 84 85 96 95
+ 85 86 97 96 86 87 98 97 88 89 100 99
+ 89 90 101 100 90 91 102 101 91 92 103 102
+ 92 93 104 103 93 94 105 104 94 95 106 105
+ 95 96 107 106 96 97 108 107 97 98 109 108
+ 99 100 111 110 100 101 112 111 101 102 113 112
+ 102 103 114 113 103 104 115 114 104 105 116 115
+ 105 106 117 116 106 107 118 117 107 108 119 118
+ 108 109 120 119 110 111 122 121 111 112 123 122
+ 112 113 124 123 113 114 125 124 114 115 126 125
+ 115 116 127 126 116 117 128 127 117 118 129 128
+ 118 119 130 129 119 120 131 130 121 122 133 132
+ 122 123 134 133 123 124 135 134 124 125 136 135
+ 125 126 137 136 126 127 138 137 127 128 139 138
+ 128 129 140 139 129 130 141 140 130 131 142 141
+ 132 133 144 143 133 134 145 144 134 135 146 145
+ 135 136 147 146 136 137 148 147 137 138 149 148
+ 138 139 150 149 139 140 151 150 140 141 152 151
+ 141 142 153 152 143 144 155 154 144 145 156 155
+ 145 146 157 156 146 147 158 157 147 148 159 158
+ 148 149 160 159 149 150 161 160 150 151 162 161
+ 151 152 163 162 152 153 164 163 154 155 166 165
+ 155 156 167 166 156 157 168 167 157 158 169 168
+ 158 159 170 169 159 160 171 170 160 161 172 171
+ 161 162 173 172 162 163 174 173 163 164 175 174
+ 165 166 177 176 166 167 178 177 167 168 179 178
+ 168 169 180 179 169 170 181 180 170 171 182 181
+ 171 172 183 182 172 173 184 183 173 174 185 184
+ 174 175 186 185 176 177 188 187 177 178 189 188
+ 178 179 190 189 179 180 191 190 180 181 192 191
+ 181 182 193 192 182 183 194 193 183 184 195 194
+ 184 185 196 195 185 186 197 196 187 188 199 198
+ 188 189 200 199 189 190 201 200 190 191 202 201
+ 191 192 203 202 192 193 204 203 193 194 205 204
+ 194 195 206 205 195 196 207 206 196 197 208 207
+ 198 199 210 209 199 200 211 210 200 201 212 211
+ 201 202 213 212 202 203 214 213 203 204 215 214
+ 204 205 216 215 205 206 217 216 206 207 218 217
+ 207 208 219 218 209 210 221 220 210 211 222 221
+ 211 212 223 222 212 213 224 223 213 214 225 224
+ 214 215 226 225 215 216 227 226 216 217 228 227
+ 217 218 229 228 218 219 230 229
+
+
+ 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
+
+
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9
+
+
+
+
+
diff --git a/test/references/steaminjectioncc-reference.vtu b/test/references/steaminjectioncc-reference.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..7c1956e3deaf2a7a2370bc2a88e89373c1d5a5d4
--- /dev/null
+++ b/test/references/steaminjectioncc-reference.vtu
@@ -0,0 +1,1742 @@
+
+
+
+
+
+
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 0.874568 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 0.80153 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 0.753075 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 0.74249 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0.125432 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0.19847 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0.246925 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0.25751 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0
+
+
+ 178915 178914 178912 178909 178906 178902 178897 178891 178885 178879 178872 178865
+ 178857 178849 178842 178834 178826 178818 178810 178803 176954 176953 176951 176949
+ 176945 176941 176936 176930 176924 176918 176911 176903 176896 176888 176880 176872
+ 176864 176857 176849 176841 174994 174993 174992 174989 174985 174981 174976 174970
+ 174964 174957 174950 174942 174935 174927 174919 174911 174903 174895 174887 174879
+ 173036 173035 173033 173030 173026 173021 173016 173010 173003 172996 172989 172982
+ 172974 172966 172958 172950 172942 172933 172925 172917 171078 171077 171075 171072
+ 171068 171063 171057 171051 171044 171036 171029 171021 171013 171005 170997 170988
+ 170980 170972 170963 170955 169121 169120 169118 169115 169110 169105 169099 169092
+ 169085 169077 169069 169061 169052 169044 169035 169027 169019 169010 169002 168993
+ 167165 167164 167162 167159 167154 167148 167141 167134 167126 167117 167109 167100
+ 167092 167083 167074 167066 167057 167048 167040 167031 165209 165210 165208 165205
+ 165199 165192 165184 165176 165167 165158 165149 165140 165131 165122 165113 165104
+ 165096 165087 165078 165069 163254 163257 163257 163252 163245 163237 163228 163218
+ 163209 163199 163189 163180 163171 163161 163152 163143 163134 163125 163116 163107
+ 161294 161309 161309 161302 161293 161282 161272 161261 161250 161240 161230 161220
+ 161210 161200 161191 161182 161173 161163 161154 161145 159368 159375 159367 159355
+ 159341 159328 159316 159303 159292 159280 159270 159259 159249 159239 159230 159220
+ 159211 159202 159193 159184 157488 157449 157428 157408 157390 157374 157359 157345
+ 157333 157321 157309 157298 157288 157278 157268 157258 157249 157240 157231 157222
+ 155586 155507 155484 155459 155437 155418 155401 155386 155373 155360 155348 155337
+ 155326 155316 155306 155297 155287 155278 155269 155260 153650 153552 153533 153505
+ 153481 153460 153442 153426 153412 153399 153387 153375 153365 153354 153344 153335
+ 153325 153316 153307 153298 151670 151596 151576 151547 151521 151499 151481 151464
+ 151450 151437 151424 151413 151402 151392 151382 151372 151363 151354 151345 151336
+ 149649 149639 149610 149581 149556 149535 149517 149501 149486 149473 149461 149450
+ 149439 149429 149419 149410 149400 149391 149382 149373 147695 147665 147635 147609
+ 147587 147568 147551 147536 147522 147509 147497 147486 147476 147466 147456 147447
+ 147438 147429 147420 147411 145694 145675 145654 145634 145615 145598 145583 145569
+ 145556 145544 145533 145522 145512 145502 145493 145484 145475 145466 145458 145449
+ 143696 143686 143672 143657 143642 143628 143614 143601 143590 143578 143568 143558
+ 143548 143539 143530 143521 143512 143504 143495 143487 141706 141700 141691 141680
+ 141668 141656 141644 141633 141622 141612 141602 141592 141583 141574 141566 141557
+ 141549 141541 141533 141525 139722 139718 139712 139703 139694 139684 139674 139664
+ 139654 139645 139636 139627 139618 139610 139602 139594 139586 139578 139570 139563
+ 137742 137740 137735 137728 137721 137712 137704 137695 137686 137678 137670 137661
+ 137653 137645 137638 137630 137623 137615 137608 137601 135765 135763 135759 135754
+ 135748 135741 135734 135726 135718 135711 135703 135696 135688 135681 135674 135666
+ 135659 135652 135645 135638 133789 133788 133785 133781 133776 133770 133764 133757
+ 133750 133743 133736 133730 133723 133716 133709 133703 133696 133689 133683 133676
+ 131815 131814 131812 131808 131804 131799 131794 131788 131782 131776 131770 131764
+ 131757 131751 131745 131739 131732 131726 131720 131714 129843 129842 129840 129837
+ 129833 129829 129825 129820 129814 129809 129803 129798 129792 129786 129780 129775
+ 129769 129763 129758 129752 127871 127870 127869 127866 127863 127860 127856 127851
+ 127847 127842 127837 127832 127826 127821 127816 127811 127805 127800 127795 127790
+ 125900 125900 125898 125896 125894 125891 125887 125883 125879 125875 125870 125866
+ 125861 125856 125852 125847 125842 125837 125832 125827 123930 123930 123928 123927
+ 123924 123922 123919 123915 123912 123908 123904 123900 123896 123892 123887 123883
+ 123878 123874 123870 123865 121961 121960 121959 121958 121956 121954 121951 121948
+ 121945 121942 121938 121934 121931 121927 121923 121919 121915 121911 121907 121903
+ 119992 119991 119990 119989 119987 119986 119983 119981 119978 119975 119972 119969
+ 119965 119962 119959 119955 119952 119948 119944 119941 118023 118023 118022 118021
+ 118020 118018 118016 118014 118011 118009 118006 118003 118000 117997 117994 117991
+ 117988 117985 117982 117979 116055 116055 116054 116053 116052 116050 116049 116047
+ 116045 116043 116040 116038 116035 116033 116030 116027 116025 116022 116019 116016
+ 114087 114087 114086 114085 114084 114083 114082 114080 114079 114077 114075 114073
+ 114071 114068 114066 114064 114061 114059 114057 114054 112119 112119 112119 112118
+ 112117 112116 112115 112114 112112 112111 112109 112108 112106 112104 112102 112100
+ 112098 112096 112094 112092 110152 110152 110151 110151 110150 110149 110149 110148
+ 110146 110145 110144 110142 110141 110139 110138 110136 110135 110133 110131 110130
+ 108185 108184 108184 108184 108183 108183 108182 108181 108180 108179 108178 108177
+ 108176 108175 108174 108173 108171 108170 108169 108168 106218 106217 106217 106217
+ 106217 106216 106216 106215 106215 106214 106213 106212 106212 106211 106210 106209
+ 106208 106207 106206 106205 104250 104250 104250 104250 104250 104250 104249 104249
+ 104249 104248 104248 104247 104247 104246 104246 104245 104245 104244 104244 104243
+ 102283 102283 102283 102283 102283 102283 102283 102283 102283 102283 102283 102282
+ 102282 102282 102282 102282 102282 102281 102281 102281
+
+
+ 178915 178914 178912 178909 178906 178902 178897 178891 178885 178879 178872 178865
+ 178857 178849 178842 178834 178826 178818 178810 178803 176954 176953 176951 176949
+ 176945 176941 176936 176930 176924 176918 176911 176903 176896 176888 176880 176872
+ 176864 176857 176849 176841 174994 174993 174992 174989 174985 174981 174976 174970
+ 174964 174957 174950 174942 174935 174927 174919 174911 174903 174895 174887 174879
+ 173036 173035 173033 173030 173026 173021 173016 173010 173003 172996 172989 172982
+ 172974 172966 172958 172950 172942 172933 172925 172917 171078 171077 171075 171072
+ 171068 171063 171057 171051 171044 171036 171029 171021 171013 171005 170997 170988
+ 170980 170972 170963 170955 169121 169120 169118 169115 169110 169105 169099 169092
+ 169085 169077 169069 169061 169052 169044 169035 169027 169019 169010 169002 168993
+ 167165 167164 167162 167159 167154 167148 167141 167134 167126 167117 167109 167100
+ 167092 167083 167074 167066 167057 167048 167040 167031 165209 165210 165208 165205
+ 165199 165192 165184 165176 165167 165158 165149 165140 165131 165122 165113 165104
+ 165096 165087 165078 165069 163254 163257 163257 163252 163245 163237 163228 163218
+ 163209 163199 163189 163180 163171 163161 163152 163143 163134 163125 163116 163107
+ 161294 161309 161309 161302 161293 161282 161272 161261 161250 161240 161230 161220
+ 161210 161200 161191 161182 161173 161163 161154 161145 159368 159375 159367 159355
+ 159341 159328 159316 159303 159292 159280 159270 159259 159249 159239 159230 159220
+ 159211 159202 159193 159184 157699 157449 157428 157408 157390 157374 157359 157345
+ 157333 157321 157309 157298 157288 157278 157268 157258 157249 157240 157231 157222
+ 155873 155507 155484 155459 155437 155418 155401 155386 155373 155360 155348 155337
+ 155326 155316 155306 155297 155287 155278 155269 155260 153988 153552 153533 153505
+ 153481 153460 153442 153426 153412 153399 153387 153375 153365 153354 153344 153335
+ 153325 153316 153307 153298 152020 151596 151576 151547 151521 151499 151481 151464
+ 151450 151437 151424 151413 151402 151392 151382 151372 151363 151354 151345 151336
+ 149649 149639 149610 149581 149556 149535 149517 149501 149486 149473 149461 149450
+ 149439 149429 149419 149410 149400 149391 149382 149373 147695 147665 147635 147609
+ 147587 147568 147551 147536 147522 147509 147497 147486 147476 147466 147456 147447
+ 147438 147429 147420 147411 145694 145675 145654 145634 145615 145598 145583 145569
+ 145556 145544 145533 145522 145512 145502 145493 145484 145475 145466 145458 145449
+ 143696 143686 143672 143657 143642 143628 143614 143601 143590 143578 143568 143558
+ 143548 143539 143530 143521 143512 143504 143495 143487 141706 141700 141691 141680
+ 141668 141656 141644 141633 141622 141612 141602 141592 141583 141574 141566 141557
+ 141549 141541 141533 141525 139722 139718 139712 139703 139694 139684 139674 139664
+ 139654 139645 139636 139627 139618 139610 139602 139594 139586 139578 139570 139563
+ 137742 137740 137735 137728 137721 137712 137704 137695 137686 137678 137670 137661
+ 137653 137645 137638 137630 137623 137615 137608 137601 135765 135763 135759 135754
+ 135748 135741 135734 135726 135718 135711 135703 135696 135688 135681 135674 135666
+ 135659 135652 135645 135638 133789 133788 133785 133781 133776 133770 133764 133757
+ 133750 133743 133736 133730 133723 133716 133709 133703 133696 133689 133683 133676
+ 131815 131814 131812 131808 131804 131799 131794 131788 131782 131776 131770 131764
+ 131757 131751 131745 131739 131732 131726 131720 131714 129843 129842 129840 129837
+ 129833 129829 129825 129820 129814 129809 129803 129798 129792 129786 129780 129775
+ 129769 129763 129758 129752 127871 127870 127869 127866 127863 127860 127856 127851
+ 127847 127842 127837 127832 127826 127821 127816 127811 127805 127800 127795 127790
+ 125900 125900 125898 125896 125894 125891 125887 125883 125879 125875 125870 125866
+ 125861 125856 125852 125847 125842 125837 125832 125827 123930 123930 123928 123927
+ 123924 123922 123919 123915 123912 123908 123904 123900 123896 123892 123887 123883
+ 123878 123874 123870 123865 121961 121960 121959 121958 121956 121954 121951 121948
+ 121945 121942 121938 121934 121931 121927 121923 121919 121915 121911 121907 121903
+ 119992 119991 119990 119989 119987 119986 119983 119981 119978 119975 119972 119969
+ 119965 119962 119959 119955 119952 119948 119944 119941 118023 118023 118022 118021
+ 118020 118018 118016 118014 118011 118009 118006 118003 118000 117997 117994 117991
+ 117988 117985 117982 117979 116055 116055 116054 116053 116052 116050 116049 116047
+ 116045 116043 116040 116038 116035 116033 116030 116027 116025 116022 116019 116016
+ 114087 114087 114086 114085 114084 114083 114082 114080 114079 114077 114075 114073
+ 114071 114068 114066 114064 114061 114059 114057 114054 112119 112119 112119 112118
+ 112117 112116 112115 112114 112112 112111 112109 112108 112106 112104 112102 112100
+ 112098 112096 112094 112092 110152 110152 110151 110151 110150 110149 110149 110148
+ 110146 110145 110144 110142 110141 110139 110138 110136 110135 110133 110131 110130
+ 108185 108184 108184 108184 108183 108183 108182 108181 108180 108179 108178 108177
+ 108176 108175 108174 108173 108171 108170 108169 108168 106218 106217 106217 106217
+ 106217 106216 106216 106215 106215 106214 106213 106212 106212 106211 106210 106209
+ 106208 106207 106206 106205 104250 104250 104250 104250 104250 104250 104249 104249
+ 104249 104248 104248 104247 104247 104246 104246 104245 104245 104244 104244 104243
+ 102283 102283 102283 102283 102283 102283 102283 102283 102283 102283 102283 102282
+ 102282 102282 102282 102282 102282 102281 102281 102281
+
+
+ 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728
+ 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.728 999.727 999.727 999.727 999.727
+ 999.727 999.727 999.727 999.727 999.727 999.727 999.727 999.727 999.727 999.727 999.727 999.727
+ 999.727 999.727 999.727 999.727 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726
+ 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726 999.726
+ 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725
+ 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.725 999.724 999.724 999.724 999.724
+ 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724
+ 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724 999.724
+ 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723
+ 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723 999.723
+ 999.723 999.723 999.723 999.723 999.723 999.723 999.722 999.722 999.722 999.722 999.722 999.722
+ 999.722 999.722 999.722 999.722 999.722 999.722 999.722 999.722 999.722 999.722 999.722 999.722
+ 999.722 999.722 999.722 999.722 999.717 999.721 999.721 999.721 999.721 999.721 999.721 999.721
+ 999.721 999.721 999.721 999.721 999.721 999.721 999.721 999.721 999.721 999.721 999.721 999.721
+ 999.466 999.713 999.72 999.72 999.72 999.72 999.72 999.72 999.72 999.72 999.72 999.72
+ 999.72 999.72 999.72 999.72 999.72 999.72 999.72 999.72 952.244 999.556 999.715 999.719
+ 999.719 999.719 999.719 999.719 999.719 999.719 999.719 999.719 999.719 999.719 999.719 999.719
+ 999.719 999.719 999.719 999.719 948.75 998.182 999.69 999.717 999.718 999.718 999.718 999.718
+ 999.718 999.718 999.718 999.718 999.718 999.718 999.718 999.718 999.718 999.718 999.718 999.718
+ 949.02 996.638 999.632 999.714 999.717 999.717 999.717 999.717 999.717 999.717 999.717 999.717
+ 999.717 999.717 999.717 999.717 999.717 999.717 999.717 999.717 949.302 993.563 999.456 999.704
+ 999.715 999.716 999.716 999.716 999.716 999.716 999.716 999.716 999.716 999.716 999.716 999.716
+ 999.716 999.716 999.716 999.716 949.6 988.868 998.994 999.677 999.713 999.715 999.715 999.715
+ 999.715 999.715 999.715 999.715 999.715 999.715 999.715 999.715 999.715 999.715 999.715 999.715
+ 967.998 998.253 999.614 999.708 999.714 999.714 999.714 999.714 999.714 999.714 999.714 999.714
+ 999.714 999.714 999.714 999.714 999.714 999.714 999.714 999.714 997.714 999.571 999.704 999.713
+ 999.713 999.713 999.713 999.713 999.713 999.713 999.713 999.713 999.713 999.713 999.713 999.713
+ 999.713 999.713 999.713 999.713 999.589 999.703 999.712 999.712 999.712 999.712 999.712 999.712
+ 999.712 999.712 999.712 999.712 999.712 999.712 999.712 999.712 999.712 999.712 999.712 999.712
+ 999.705 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.711
+ 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.711 999.71 999.71 999.71 999.71
+ 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71 999.71
+ 999.71 999.71 999.71 999.71 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709
+ 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709 999.709
+ 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708
+ 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708
+ 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708 999.708
+ 999.708 999.708 999.708 999.708 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707
+ 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707 999.707
+ 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706
+ 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.706 999.705 999.705 999.705 999.705
+ 999.705 999.705 999.705 999.705 999.705 999.705 999.705 999.705 999.705 999.705 999.705 999.705
+ 999.705 999.705 999.705 999.705 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704
+ 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704 999.704
+ 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703
+ 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.703 999.702 999.702 999.702 999.702
+ 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702 999.702
+ 999.702 999.702 999.702 999.702 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701
+ 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701 999.701
+ 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7
+ 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.7 999.699 999.699 999.699 999.699
+ 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.699 999.699
+ 999.699 999.699 999.699 999.699 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698
+ 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698 999.698
+ 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697
+ 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.697 999.696 999.696 999.696 999.696
+ 999.696 999.696 999.696 999.696 999.696 999.696 999.696 999.696 999.696 999.696 999.696 999.696
+ 999.696 999.696 999.696 999.696 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695
+ 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695 999.695
+ 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694
+ 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.694 999.693 999.693 999.693 999.693
+ 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693
+ 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693
+ 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693 999.693
+ 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692
+ 999.692 999.692 999.692 999.692 999.692 999.692 999.692 999.692
+
+
+ 1.37174 1.37173 1.37172 1.3717 1.37167 1.37164 1.3716 1.37156 1.37151 1.37146 1.37141 1.37135
+ 1.3713 1.37124 1.37118 1.37112 1.37106 1.371 1.37094 1.37088 1.35671 1.3567 1.35668 1.35666
+ 1.35664 1.3566 1.35657 1.35652 1.35648 1.35643 1.35637 1.35632 1.35626 1.3562 1.35614 1.35608
+ 1.35602 1.35596 1.3559 1.35584 1.34168 1.34167 1.34166 1.34164 1.34161 1.34158 1.34154 1.34149
+ 1.34144 1.34139 1.34134 1.34128 1.34122 1.34116 1.3411 1.34104 1.34098 1.34092 1.34086 1.3408
+ 1.32666 1.32666 1.32664 1.32662 1.32659 1.32655 1.32651 1.32647 1.32642 1.32636 1.32631 1.32625
+ 1.32619 1.32613 1.32607 1.326 1.32594 1.32588 1.32582 1.32575 1.31165 1.31164 1.31163 1.31161
+ 1.31158 1.31154 1.31149 1.31144 1.31139 1.31134 1.31128 1.31122 1.31116 1.31109 1.31103 1.31097
+ 1.3109 1.31084 1.31078 1.31071 1.29665 1.29664 1.29663 1.2966 1.29657 1.29653 1.29648 1.29643
+ 1.29637 1.29631 1.29625 1.29619 1.29612 1.29606 1.29599 1.29593 1.29586 1.2958 1.29573 1.29567
+ 1.28165 1.28165 1.28163 1.28161 1.28157 1.28152 1.28147 1.28141 1.28135 1.28129 1.28122 1.28116
+ 1.28109 1.28102 1.28096 1.28089 1.28083 1.28076 1.28069 1.28063 1.26666 1.26666 1.26665 1.26662
+ 1.26658 1.26653 1.26647 1.2664 1.26633 1.26627 1.2662 1.26613 1.26606 1.26599 1.26592 1.26585
+ 1.26579 1.26572 1.26565 1.26559 1.25144 1.25168 1.25169 1.25165 1.2516 1.25154 1.25147 1.25139
+ 1.25132 1.25125 1.25117 1.2511 1.25103 1.25096 1.25089 1.25082 1.25075 1.25068 1.25061 1.25054
+ 1.22659 1.23635 1.23674 1.2367 1.23663 1.23655 1.23647 1.23639 1.2363 1.23622 1.23615 1.23607
+ 1.23599 1.23592 1.23585 1.23578 1.23571 1.23564 1.23557 1.2355 0.925294 1.21516 1.22165 1.22176
+ 1.22167 1.22157 1.22147 1.22138 1.22129 1.2212 1.22112 1.22104 1.22096 1.22089 1.22081 1.22074
+ 1.22067 1.2206 1.22053 1.22046 0.903887 1.1663 1.20535 1.2068 1.20671 1.20658 1.20647 1.20637
+ 1.20627 1.20618 1.20609 1.206 1.20592 1.20585 1.20577 1.2057 1.20563 1.20556 1.20549 1.20542
+ 0.894086 1.12811 1.18813 1.19172 1.19173 1.19159 1.19146 1.19135 1.19124 1.19114 1.19105 1.19097
+ 1.19089 1.19081 1.19073 1.19066 1.19058 1.19051 1.19044 1.19037 0.883967 1.0802 1.16735 1.17624
+ 1.1767 1.17657 1.17644 1.17632 1.17621 1.17611 1.17601 1.17593 1.17584 1.17576 1.17569 1.17561
+ 1.17554 1.17547 1.1754 1.17533 0.873396 1.02966 1.13957 1.15978 1.16158 1.16154 1.1614 1.16127
+ 1.16116 1.16106 1.16097 1.16088 1.1608 1.16072 1.16064 1.16057 1.1605 1.16043 1.16036 1.16029
+ 0.919177 1.10982 1.14274 1.1465 1.14662 1.14648 1.14634 1.14622 1.14611 1.14601 1.14592 1.14583
+ 1.14575 1.14567 1.1456 1.14552 1.14545 1.14538 1.14531 1.14524 1.08645 1.12653 1.13141 1.13168
+ 1.13155 1.1314 1.13127 1.13115 1.13105 1.13095 1.13086 1.13078 1.1307 1.13062 1.13055 1.13047
+ 1.1304 1.13034 1.13027 1.1302 1.1121 1.11637 1.11669 1.11657 1.11643 1.1163 1.11618 1.11608
+ 1.11598 1.11588 1.1158 1.11572 1.11564 1.11556 1.11549 1.11542 1.11536 1.11529 1.11522 1.11516
+ 1.10137 1.1016 1.10153 1.10141 1.1013 1.10119 1.10109 1.10099 1.1009 1.10081 1.10073 1.10065
+ 1.10058 1.10051 1.10044 1.10037 1.10031 1.10024 1.10018 1.10011 1.08644 1.08641 1.08634 1.08626
+ 1.08617 1.08607 1.08598 1.0859 1.08582 1.08574 1.08566 1.08559 1.08552 1.08545 1.08538 1.08532
+ 1.08525 1.08519 1.08513 1.08507 1.07125 1.07122 1.07117 1.0711 1.07103 1.07096 1.07088 1.0708
+ 1.07073 1.07066 1.07059 1.07052 1.07045 1.07039 1.07032 1.07026 1.0702 1.07014 1.07008 1.07003
+ 1.05607 1.05605 1.05601 1.05596 1.0559 1.05584 1.05577 1.05571 1.05564 1.05557 1.05551 1.05545
+ 1.05539 1.05533 1.05527 1.05521 1.05515 1.05509 1.05504 1.05498 1.04091 1.04089 1.04086 1.04082
+ 1.04077 1.04072 1.04067 1.04061 1.04055 1.04049 1.04043 1.04037 1.04032 1.04026 1.04021 1.04015
+ 1.0401 1.04004 1.03999 1.03994 1.02576 1.02575 1.02573 1.02569 1.02565 1.02561 1.02556 1.02551
+ 1.02546 1.02541 1.02535 1.0253 1.02525 1.0252 1.02515 1.02509 1.02504 1.02499 1.02494 1.02489
+ 1.01063 1.01062 1.0106 1.01057 1.01054 1.0105 1.01046 1.01042 1.01037 1.01032 1.01028 1.01023
+ 1.01018 1.01013 1.01008 1.01004 1.00999 1.00994 1.0099 1.00985 0.995501 0.995493 0.995478 0.995457
+ 0.995429 0.995397 0.995362 0.995324 0.995283 0.995241 0.995198 0.995155 0.995111 0.995067 0.995023 0.994979
+ 0.994935 0.994892 0.994848 0.994804 0.980384 0.980378 0.980365 0.980347 0.980324 0.980297 0.980266 0.980232
+ 0.980197 0.98016 0.980121 0.980082 0.980042 0.980002 0.979962 0.979922 0.979881 0.979841 0.9798 0.97976
+ 0.965274 0.965269 0.965258 0.965243 0.965223 0.965199 0.965173 0.965144 0.965112 0.965079 0.965045 0.96501
+ 0.964974 0.964938 0.964901 0.964864 0.964827 0.96479 0.964753 0.964716 0.950169 0.950164 0.950155 0.950142
+ 0.950126 0.950105 0.950082 0.950057 0.950029 0.95 0.94997 0.949938 0.949906 0.949873 0.94984 0.949806
+ 0.949773 0.949739 0.949705 0.949671 0.935069 0.935065 0.935057 0.935046 0.935032 0.935014 0.934994 0.934972
+ 0.934948 0.934922 0.934895 0.934867 0.934838 0.934809 0.934779 0.934749 0.934719 0.934688 0.934658 0.934627
+ 0.919972 0.919969 0.919962 0.919953 0.919941 0.919926 0.919908 0.919889 0.919868 0.919845 0.919822 0.919797
+ 0.919772 0.919746 0.919719 0.919692 0.919665 0.919638 0.91961 0.919583 0.904879 0.904876 0.904871 0.904863
+ 0.904852 0.904839 0.904824 0.904808 0.90479 0.90477 0.904749 0.904728 0.904705 0.904683 0.904659 0.904635
+ 0.904611 0.904587 0.904563 0.904538 0.889789 0.889786 0.889782 0.889775 0.889766 0.889755 0.889742 0.889728
+ 0.889713 0.889696 0.889678 0.889659 0.88964 0.88962 0.8896 0.889579 0.889558 0.889537 0.889515 0.889494
+ 0.874701 0.874699 0.874695 0.874689 0.874682 0.874673 0.874662 0.87465 0.874637 0.874623 0.874607 0.874592
+ 0.874575 0.874558 0.874541 0.874523 0.874505 0.874487 0.874468 0.87445 0.859615 0.859613 0.85961 0.859605
+ 0.859599 0.859592 0.859583 0.859573 0.859562 0.85955 0.859538 0.859524 0.859511 0.859496 0.859482 0.859467
+ 0.859452 0.859436 0.859421 0.859406 0.84453 0.844529 0.844527 0.844523 0.844518 0.844512 0.844505 0.844497
+ 0.844488 0.844479 0.844468 0.844458 0.844447 0.844435 0.844423 0.844411 0.844399 0.844386 0.844374 0.844361
+ 0.829447 0.829446 0.829444 0.829442 0.829438 0.829433 0.829428 0.829422 0.829415 0.829408 0.8294 0.829392
+ 0.829383 0.829374 0.829365 0.829356 0.829346 0.829337 0.829327 0.829317 0.814365 0.814365 0.814363 0.814361
+ 0.814359 0.814355 0.814352 0.814347 0.814342 0.814337 0.814332 0.814326 0.81432 0.814314 0.814307 0.8143
+ 0.814294 0.814287 0.81428 0.814273 0.799284 0.799284 0.799283 0.799282 0.79928 0.799278 0.799276 0.799273
+ 0.79927 0.799267 0.799264 0.799261 0.799257 0.799253 0.799249 0.799245 0.799241 0.799237 0.799233 0.799229
+ 0.784203 0.784203 0.784203 0.784202 0.784202 0.784201 0.7842 0.784199 0.784199 0.784198 0.784196 0.784195
+ 0.784194 0.784193 0.784191 0.78419 0.784189 0.784187 0.784186 0.784185
+
+
+ 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38
+ 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.38 764.379 764.379 764.379 764.379
+ 764.379 764.379 764.379 764.379 764.379 764.379 764.379 764.379 764.379 764.379 764.379 764.379
+ 764.379 764.379 764.379 764.379 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378
+ 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378 764.378
+ 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377
+ 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.377 764.376 764.376 764.376 764.376
+ 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376 764.376
+ 764.376 764.376 764.376 764.376 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375
+ 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375 764.375
+ 764.374 764.374 764.373 764.373 764.374 764.374 764.374 764.374 764.374 764.374 764.374 764.374
+ 764.374 764.374 764.374 764.374 764.374 764.374 764.374 764.374 764.393 764.373 764.372 764.372
+ 764.372 764.372 764.372 764.373 764.373 764.373 764.373 764.373 764.373 764.373 764.373 764.373
+ 764.373 764.373 764.373 764.373 765.577 764.43 764.373 764.371 764.371 764.371 764.371 764.371
+ 764.372 764.372 764.372 764.372 764.372 764.372 764.372 764.372 764.372 764.372 764.372 764.372
+ 816.908 766.563 764.436 764.372 764.37 764.37 764.37 764.37 764.37 764.371 764.371 764.371
+ 764.371 764.371 764.371 764.371 764.371 764.371 764.371 764.371 3862.08 800.011 765.544 764.401
+ 764.37 764.369 764.369 764.369 764.369 764.37 764.37 764.37 764.37 764.37 764.37 764.37
+ 764.37 764.37 764.37 764.37 901.808 1001.44 773.59 764.634 764.375 764.368 764.368 764.368
+ 764.368 764.369 764.369 764.369 764.369 764.369 764.369 764.369 764.369 764.369 764.369 764.369
+ 495.58 1163.15 786.173 765.376 764.405 764.368 764.367 764.367 764.367 764.367 764.367 764.367
+ 764.368 764.368 764.368 764.368 764.368 764.368 764.368 764.368 332.191 1428.54 818.131 768.249
+ 764.56 764.374 764.367 764.366 764.366 764.366 764.367 764.367 764.367 764.367 764.367 764.367
+ 764.367 764.367 764.367 764.366 303.098 1773.12 894.642 776.788 765.091 764.396 764.367 764.366
+ 764.365 764.365 764.365 764.365 764.365 764.365 764.365 764.365 764.365 764.365 764.365 764.365
+ 3036.43 992.09 788.849 766.309 764.471 764.369 764.365 764.365 764.365 764.365 764.365 764.365
+ 764.364 764.364 764.364 764.364 764.364 764.364 764.364 764.364 1053.9 796.323 767.337 764.557
+ 764.373 764.364 764.364 764.364 764.364 764.364 764.363 764.363 764.363 764.363 764.363 764.363
+ 764.363 764.363 764.363 764.363 792.957 767.441 764.6 764.377 764.364 764.363 764.363 764.363
+ 764.363 764.362 764.362 764.362 764.362 764.362 764.362 764.362 764.362 764.362 764.362 764.362
+ 766.462 764.561 764.376 764.363 764.362 764.362 764.362 764.362 764.362 764.362 764.361 764.361
+ 764.361 764.361 764.361 764.361 764.361 764.361 764.361 764.361 764.469 764.371 764.362 764.361
+ 764.361 764.361 764.361 764.361 764.361 764.36 764.36 764.36 764.36 764.36 764.36 764.36
+ 764.36 764.36 764.36 764.36 764.365 764.361 764.36 764.36 764.36 764.36 764.36 764.36
+ 764.36 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359
+ 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.359 764.358 764.358 764.358
+ 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358 764.358
+ 764.358 764.358 764.358 764.358 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.357
+ 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.357 764.356
+ 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356 764.356
+ 764.356 764.356 764.356 764.356 764.356 764.356 764.355 764.355 764.355 764.355 764.355 764.355
+ 764.355 764.355 764.355 764.355 764.355 764.355 764.355 764.355 764.355 764.355 764.355 764.354
+ 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354 764.354
+ 764.354 764.354 764.354 764.354 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353
+ 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353 764.353
+ 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352
+ 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.352 764.351 764.351 764.351 764.351
+ 764.351 764.351 764.351 764.351 764.351 764.351 764.351 764.351 764.351 764.351 764.351 764.351
+ 764.351 764.351 764.351 764.351 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35
+ 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35 764.35
+ 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349
+ 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.349 764.348 764.348 764.348 764.348
+ 764.348 764.348 764.348 764.348 764.348 764.348 764.348 764.348 764.348 764.348 764.348 764.348
+ 764.348 764.348 764.348 764.348 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347
+ 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347 764.347
+ 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346
+ 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.346 764.345 764.345 764.345 764.345
+ 764.345 764.345 764.345 764.345 764.345 764.345 764.345 764.345 764.345 764.345 764.345 764.345
+ 764.345 764.345 764.345 764.345 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344
+ 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344 764.344
+ 764.343 764.343 764.343 764.343 764.343 764.343 764.343 764.343 764.343 764.343 764.343 764.343
+ 764.343 764.343 764.343 764.343 764.343 764.342 764.342 764.342 764.342 764.342 764.342 764.342
+ 764.342 764.342 764.342 764.342 764.342 764.342 764.342 764.342 764.342 764.341 764.341 764.341
+ 764.341 764.341 764.341 764.341 764.341 764.341 764.341 764.341 764.341 764.341 764.341 764.341
+ 764.341 764.341 764.341 764.341 764.341 764.34 764.34 764.34 764.34 764.34 764.34 764.34
+ 764.34 764.34 764.34 764.34 764.34 764.34 764.34 764.34 764.339 764.339 764.339 764.339
+ 764.339 764.339 764.339 764.339 764.339 764.339 764.339 764.339
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 10604 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 18717 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 24312.2 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 25563.6 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0
+
+
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825 0.00130825
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130823 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130621 0.00130816 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826 0.00130826
+ 0.00122413 0.00130452 0.00130815 0.00130826 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.000258928 0.00124998 0.00130626 0.00130821
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.000247772 0.000998563 0.00129267 0.00130782 0.00130826 0.00130827 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.000248618 0.000859732 0.00127198 0.00130655 0.00130821 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.0002495 0.000700015 0.0012223 0.00130166
+ 0.00130794 0.00130826 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.000250431 0.000563979 0.00111777 0.00128735 0.00130703 0.00130822 0.00130827 0.00130827
+ 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827 0.00130827
+ 0.000329334 0.00100797 0.00126767 0.00130496 0.00130809 0.00130827 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00094886 0.00125577 0.00130321 0.00130795
+ 0.00130826 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.0012611 0.00130303 0.00130787 0.00130825 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.0013047 0.00130794 0.00130826 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.0013081 0.00130826 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828 0.00130828
+ 0.00130828 0.00130828 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829 0.00130829
+ 0.00130829 0.00130829 0.00130829 0.00130829 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083 0.0013083
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831
+ 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130831 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+ 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832 0.00130832
+
+
+ 8.67529e-06 8.6753e-06 8.6753e-06 8.67531e-06 8.67532e-06 8.67534e-06 8.67535e-06 8.67537e-06 8.67539e-06 8.67541e-06 8.67543e-06 8.67545e-06
+ 8.67548e-06 8.6755e-06 8.67553e-06 8.67555e-06 8.67557e-06 8.6756e-06 8.67562e-06 8.67565e-06 8.6815e-06 8.68151e-06 8.68151e-06 8.68152e-06
+ 8.68153e-06 8.68154e-06 8.68156e-06 8.68158e-06 8.6816e-06 8.68162e-06 8.68164e-06 8.68166e-06 8.68169e-06 8.68171e-06 8.68174e-06 8.68176e-06
+ 8.68179e-06 8.68181e-06 8.68184e-06 8.68186e-06 8.68771e-06 8.68771e-06 8.68772e-06 8.68773e-06 8.68774e-06 8.68775e-06 8.68777e-06 8.68779e-06
+ 8.68781e-06 8.68783e-06 8.68785e-06 8.68787e-06 8.6879e-06 8.68792e-06 8.68795e-06 8.68797e-06 8.688e-06 8.68802e-06 8.68805e-06 8.68807e-06
+ 8.69391e-06 8.69391e-06 8.69392e-06 8.69393e-06 8.69394e-06 8.69396e-06 8.69397e-06 8.69399e-06 8.69401e-06 8.69403e-06 8.69406e-06 8.69408e-06
+ 8.69411e-06 8.69413e-06 8.69416e-06 8.69418e-06 8.69421e-06 8.69423e-06 8.69426e-06 8.69429e-06 8.70011e-06 8.70011e-06 8.70012e-06 8.70013e-06
+ 8.70014e-06 8.70016e-06 8.70018e-06 8.7002e-06 8.70022e-06 8.70024e-06 8.70026e-06 8.70029e-06 8.70032e-06 8.70034e-06 8.70037e-06 8.70039e-06
+ 8.70042e-06 8.70045e-06 8.70047e-06 8.7005e-06 8.70631e-06 8.70631e-06 8.70632e-06 8.70633e-06 8.70634e-06 8.70636e-06 8.70638e-06 8.7064e-06
+ 8.70642e-06 8.70645e-06 8.70647e-06 8.7065e-06 8.70652e-06 8.70655e-06 8.70658e-06 8.7066e-06 8.70663e-06 8.70666e-06 8.70668e-06 8.70671e-06
+ 8.7125e-06 8.7125e-06 8.71251e-06 8.71252e-06 8.71253e-06 8.71255e-06 8.71258e-06 8.7126e-06 8.71262e-06 8.71265e-06 8.71268e-06 8.7127e-06
+ 8.71273e-06 8.71276e-06 8.71279e-06 8.71281e-06 8.71284e-06 8.71287e-06 8.7129e-06 8.71292e-06 8.71873e-06 8.71869e-06 8.7187e-06 8.71871e-06
+ 8.71873e-06 8.71875e-06 8.71877e-06 8.7188e-06 8.71883e-06 8.71885e-06 8.71888e-06 8.71891e-06 8.71894e-06 8.71897e-06 8.719e-06 8.71903e-06
+ 8.71905e-06 8.71908e-06 8.71911e-06 8.71914e-06 8.72684e-06 8.72497e-06 8.72488e-06 8.72489e-06 8.72491e-06 8.72494e-06 8.72497e-06 8.725e-06
+ 8.72503e-06 8.72506e-06 8.72509e-06 8.72512e-06 8.72515e-06 8.72518e-06 8.72521e-06 8.72524e-06 8.72526e-06 8.72529e-06 8.72532e-06 8.72535e-06
+ 8.82044e-06 8.73458e-06 8.73115e-06 8.73107e-06 8.73109e-06 8.73113e-06 8.73116e-06 8.7312e-06 8.73123e-06 8.73126e-06 8.73129e-06 8.73133e-06
+ 8.73136e-06 8.73139e-06 8.73142e-06 8.73145e-06 8.73148e-06 8.7315e-06 8.73153e-06 8.73156e-06 1.24977e-05 8.79766e-06 8.73909e-06 8.73728e-06
+ 8.73727e-06 8.73732e-06 8.73736e-06 8.73739e-06 8.73743e-06 8.73747e-06 8.7375e-06 8.73753e-06 8.73757e-06 8.7376e-06 8.73763e-06 8.73766e-06
+ 8.73769e-06 8.73772e-06 8.73775e-06 8.73777e-06 1.26788e-05 9.12458e-06 8.758e-06 8.74382e-06 8.74346e-06 8.7435e-06 8.74355e-06 8.74359e-06
+ 8.74364e-06 8.74367e-06 8.74371e-06 8.74374e-06 8.74378e-06 8.74381e-06 8.74384e-06 8.74387e-06 8.7439e-06 8.74393e-06 8.74396e-06 8.74399e-06
+ 1.26666e-05 9.36982e-06 8.78542e-06 8.75119e-06 8.7497e-06 8.7497e-06 8.74975e-06 8.7498e-06 8.74984e-06 8.74988e-06 8.74992e-06 8.74995e-06
+ 8.74999e-06 8.75002e-06 8.75005e-06 8.75008e-06 8.75011e-06 8.75014e-06 8.75017e-06 8.7502e-06 1.26539e-05 9.74208e-06 8.84621e-06 8.76194e-06
+ 8.75614e-06 8.75591e-06 8.75596e-06 8.75601e-06 8.75605e-06 8.75609e-06 8.75613e-06 8.75617e-06 8.7562e-06 8.75623e-06 8.75626e-06 8.7563e-06
+ 8.75633e-06 8.75635e-06 8.75638e-06 8.75641e-06 1.26404e-05 1.01898e-05 8.97542e-06 8.78149e-06 8.7632e-06 8.76216e-06 8.76217e-06 8.76222e-06
+ 8.76226e-06 8.76231e-06 8.76234e-06 8.76238e-06 8.76241e-06 8.76245e-06 8.76248e-06 8.76251e-06 8.76254e-06 8.76257e-06 8.7626e-06 8.76263e-06
+ 1.16371e-05 9.13208e-06 8.8085e-06 8.77127e-06 8.76843e-06 8.76834e-06 8.76839e-06 8.76844e-06 8.76848e-06 8.76852e-06 8.76856e-06 8.7686e-06
+ 8.76863e-06 8.76866e-06 8.76869e-06 8.76872e-06 8.76875e-06 8.76878e-06 8.76881e-06 8.76884e-06 9.22985e-06 8.82757e-06 8.77905e-06 8.77473e-06
+ 8.77451e-06 8.77456e-06 8.77461e-06 8.77466e-06 8.7747e-06 8.77474e-06 8.77478e-06 8.77481e-06 8.77485e-06 8.77488e-06 8.77491e-06 8.77494e-06
+ 8.77497e-06 8.775e-06 8.77502e-06 8.77505e-06 8.82787e-06 8.78541e-06 8.78099e-06 8.7807e-06 8.78074e-06 8.78079e-06 8.78084e-06 8.78089e-06
+ 8.78093e-06 8.78096e-06 8.781e-06 8.78103e-06 8.78107e-06 8.7811e-06 8.78113e-06 8.78116e-06 8.78118e-06 8.78121e-06 8.78124e-06 8.78127e-06
+ 8.79013e-06 8.78717e-06 8.78692e-06 8.78694e-06 8.78699e-06 8.78703e-06 8.78708e-06 8.78712e-06 8.78715e-06 8.78719e-06 8.78722e-06 8.78726e-06
+ 8.78729e-06 8.78732e-06 8.78734e-06 8.78737e-06 8.7874e-06 8.78743e-06 8.78745e-06 8.78748e-06 8.79329e-06 8.79315e-06 8.79317e-06 8.7932e-06
+ 8.79324e-06 8.79328e-06 8.79331e-06 8.79335e-06 8.79338e-06 8.79342e-06 8.79345e-06 8.79348e-06 8.79351e-06 8.79354e-06 8.79356e-06 8.79359e-06
+ 8.79362e-06 8.79364e-06 8.79367e-06 8.79369e-06 8.79941e-06 8.79941e-06 8.79943e-06 8.79946e-06 8.79949e-06 8.79952e-06 8.79955e-06 8.79958e-06
+ 8.79962e-06 8.79965e-06 8.79967e-06 8.7997e-06 8.79973e-06 8.79976e-06 8.79978e-06 8.79981e-06 8.79983e-06 8.79986e-06 8.79988e-06 8.79991e-06
+ 8.80567e-06 8.80568e-06 8.8057e-06 8.80572e-06 8.80574e-06 8.80577e-06 8.80579e-06 8.80582e-06 8.80585e-06 8.80587e-06 8.8059e-06 8.80593e-06
+ 8.80595e-06 8.80598e-06 8.806e-06 8.80603e-06 8.80605e-06 8.80607e-06 8.8061e-06 8.80612e-06 8.81193e-06 8.81194e-06 8.81195e-06 8.81197e-06
+ 8.81199e-06 8.81201e-06 8.81203e-06 8.81206e-06 8.81208e-06 8.8121e-06 8.81213e-06 8.81215e-06 8.81218e-06 8.8122e-06 8.81222e-06 8.81224e-06
+ 8.81227e-06 8.81229e-06 8.81231e-06 8.81233e-06 8.81819e-06 8.81819e-06 8.8182e-06 8.81822e-06 8.81823e-06 8.81825e-06 8.81827e-06 8.81829e-06
+ 8.81831e-06 8.81833e-06 8.81836e-06 8.81838e-06 8.8184e-06 8.81842e-06 8.81844e-06 8.81846e-06 8.81848e-06 8.8185e-06 8.81853e-06 8.81855e-06
+ 8.82444e-06 8.82444e-06 8.82445e-06 8.82446e-06 8.82448e-06 8.82449e-06 8.82451e-06 8.82453e-06 8.82454e-06 8.82456e-06 8.82458e-06 8.8246e-06
+ 8.82462e-06 8.82464e-06 8.82466e-06 8.82468e-06 8.8247e-06 8.82472e-06 8.82474e-06 8.82476e-06 8.83069e-06 8.83069e-06 8.8307e-06 8.8307e-06
+ 8.83072e-06 8.83073e-06 8.83074e-06 8.83076e-06 8.83078e-06 8.83079e-06 8.83081e-06 8.83083e-06 8.83085e-06 8.83086e-06 8.83088e-06 8.8309e-06
+ 8.83092e-06 8.83094e-06 8.83095e-06 8.83097e-06 8.83693e-06 8.83693e-06 8.83694e-06 8.83694e-06 8.83695e-06 8.83697e-06 8.83698e-06 8.83699e-06
+ 8.83701e-06 8.83702e-06 8.83704e-06 8.83705e-06 8.83707e-06 8.83709e-06 8.8371e-06 8.83712e-06 8.83714e-06 8.83715e-06 8.83717e-06 8.83719e-06
+ 8.84317e-06 8.84317e-06 8.84318e-06 8.84318e-06 8.84319e-06 8.8432e-06 8.84321e-06 8.84322e-06 8.84324e-06 8.84325e-06 8.84326e-06 8.84328e-06
+ 8.84329e-06 8.84331e-06 8.84332e-06 8.84334e-06 8.84335e-06 8.84337e-06 8.84338e-06 8.8434e-06 8.84941e-06 8.84941e-06 8.84941e-06 8.84942e-06
+ 8.84943e-06 8.84943e-06 8.84944e-06 8.84945e-06 8.84947e-06 8.84948e-06 8.84949e-06 8.8495e-06 8.84952e-06 8.84953e-06 8.84954e-06 8.84956e-06
+ 8.84957e-06 8.84959e-06 8.8496e-06 8.84961e-06 8.85565e-06 8.85565e-06 8.85565e-06 8.85565e-06 8.85566e-06 8.85567e-06 8.85568e-06 8.85568e-06
+ 8.85569e-06 8.85571e-06 8.85572e-06 8.85573e-06 8.85574e-06 8.85575e-06 8.85576e-06 8.85578e-06 8.85579e-06 8.8558e-06 8.85581e-06 8.85583e-06
+ 8.86188e-06 8.86188e-06 8.86188e-06 8.86189e-06 8.86189e-06 8.8619e-06 8.86191e-06 8.86191e-06 8.86192e-06 8.86193e-06 8.86194e-06 8.86195e-06
+ 8.86196e-06 8.86197e-06 8.86198e-06 8.862e-06 8.86201e-06 8.86202e-06 8.86203e-06 8.86204e-06 8.86811e-06 8.86811e-06 8.86812e-06 8.86812e-06
+ 8.86812e-06 8.86813e-06 8.86814e-06 8.86814e-06 8.86815e-06 8.86816e-06 8.86817e-06 8.86818e-06 8.86819e-06 8.86819e-06 8.8682e-06 8.86821e-06
+ 8.86822e-06 8.86823e-06 8.86824e-06 8.86825e-06 8.87435e-06 8.87435e-06 8.87435e-06 8.87435e-06 8.87436e-06 8.87436e-06 8.87437e-06 8.87437e-06
+ 8.87438e-06 8.87438e-06 8.87439e-06 8.8744e-06 8.87441e-06 8.87442e-06 8.87442e-06 8.87443e-06 8.87444e-06 8.87445e-06 8.87446e-06 8.87447e-06
+ 8.88058e-06 8.88058e-06 8.88058e-06 8.88058e-06 8.88059e-06 8.88059e-06 8.88059e-06 8.8806e-06 8.8806e-06 8.88061e-06 8.88062e-06 8.88062e-06
+ 8.88063e-06 8.88064e-06 8.88064e-06 8.88065e-06 8.88066e-06 8.88067e-06 8.88067e-06 8.88068e-06 8.88681e-06 8.88681e-06 8.88681e-06 8.88681e-06
+ 8.88681e-06 8.88682e-06 8.88682e-06 8.88683e-06 8.88683e-06 8.88683e-06 8.88684e-06 8.88685e-06 8.88685e-06 8.88686e-06 8.88686e-06 8.88687e-06
+ 8.88688e-06 8.88688e-06 8.88689e-06 8.88689e-06 8.89304e-06 8.89304e-06 8.89304e-06 8.89304e-06 8.89304e-06 8.89305e-06 8.89305e-06 8.89305e-06
+ 8.89306e-06 8.89306e-06 8.89306e-06 8.89307e-06 8.89307e-06 8.89308e-06 8.89308e-06 8.89309e-06 8.89309e-06 8.8931e-06 8.8931e-06 8.89311e-06
+ 8.89927e-06 8.89927e-06 8.89927e-06 8.89927e-06 8.89927e-06 8.89927e-06 8.89928e-06 8.89928e-06 8.89928e-06 8.89928e-06 8.89929e-06 8.89929e-06
+ 8.89929e-06 8.8993e-06 8.8993e-06 8.89931e-06 8.89931e-06 8.89931e-06 8.89932e-06 8.89932e-06 8.9055e-06 8.9055e-06 8.9055e-06 8.9055e-06
+ 8.9055e-06 8.9055e-06 8.9055e-06 8.9055e-06 8.90551e-06 8.90551e-06 8.90551e-06 8.90551e-06 8.90552e-06 8.90552e-06 8.90552e-06 8.90552e-06
+ 8.90553e-06 8.90553e-06 8.90553e-06 8.90553e-06 8.91173e-06 8.91173e-06 8.91173e-06 8.91173e-06 8.91173e-06 8.91173e-06 8.91173e-06 8.91173e-06
+ 8.91173e-06 8.91173e-06 8.91173e-06 8.91174e-06 8.91174e-06 8.91174e-06 8.91174e-06 8.91174e-06 8.91174e-06 8.91174e-06 8.91175e-06 8.91175e-06
+ 8.91795e-06 8.91795e-06 8.91795e-06 8.91795e-06 8.91795e-06 8.91795e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06
+ 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06 8.91796e-06
+
+
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
+
+
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+
+
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+ 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09 1e-09
+
+
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 1 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 1 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 1 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2
+
+
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0
+
+
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.131 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.182 283.133 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 285.509 283.224 283.133 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 381.451 284.744 283.181 283.131
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 386.009 293.326 283.522 283.141 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 385.657 299.742 284.093 283.173 283.132 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 385.289 309.551 285.563 283.296
+ 283.138 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 384.902 321.338 288.881 283.656 283.161 283.131 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 359.133 292.951 284.221 283.214 283.135 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 295.444 284.573 283.258 283.138
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 284.415 283.262 283.14 283.131 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.22 283.139 283.131 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.135 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+ 283.13 283.13 283.13 283.13 283.13 283.13 283.13 283.13
+
+
+
+
+ 0 0 0 0.2 0 0 0 0.2 0 0.2 0.2 0
+ 0.4 0 0 0.4 0.2 0 0.6 0 0 0.6 0.2 0
+ 0.8 0 0 0.8 0.2 0 1 0 0 1 0.2 0
+ 1.2 0 0 1.2 0.2 0 1.4 0 0 1.4 0.2 0
+ 1.6 0 0 1.6 0.2 0 1.8 0 0 1.8 0.2 0
+ 2 0 0 2 0.2 0 2.2 0 0 2.2 0.2 0
+ 2.4 0 0 2.4 0.2 0 2.6 0 0 2.6 0.2 0
+ 2.8 0 0 2.8 0.2 0 3 0 0 3 0.2 0
+ 3.2 0 0 3.2 0.2 0 3.4 0 0 3.4 0.2 0
+ 3.6 0 0 3.6 0.2 0 3.8 0 0 3.8 0.2 0
+ 4 0 0 4 0.2 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 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
+ 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 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 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 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
+ 0 1.6 0 0.2 1.6 0 0.4 1.6 0 0.6 1.6 0
+ 0.8 1.6 0 1 1.6 0 1.2 1.6 0 1.4 1.6 0
+ 1.6 1.6 0 1.8 1.6 0 2 1.6 0 2.2 1.6 0
+ 2.4 1.6 0 2.6 1.6 0 2.8 1.6 0 3 1.6 0
+ 3.2 1.6 0 3.4 1.6 0 3.6 1.6 0 3.8 1.6 0
+ 4 1.6 0 0 1.8 0 0.2 1.8 0 0.4 1.8 0
+ 0.6 1.8 0 0.8 1.8 0 1 1.8 0 1.2 1.8 0
+ 1.4 1.8 0 1.6 1.8 0 1.8 1.8 0 2 1.8 0
+ 2.2 1.8 0 2.4 1.8 0 2.6 1.8 0 2.8 1.8 0
+ 3 1.8 0 3.2 1.8 0 3.4 1.8 0 3.6 1.8 0
+ 3.8 1.8 0 4 1.8 0 0 2 0 0.2 2 0
+ 0.4 2 0 0.6 2 0 0.8 2 0 1 2 0
+ 1.2 2 0 1.4 2 0 1.6 2 0 1.8 2 0
+ 2 2 0 2.2 2 0 2.4 2 0 2.6 2 0
+ 2.8 2 0 3 2 0 3.2 2 0 3.4 2 0
+ 3.6 2 0 3.8 2 0 4 2 0 0 2.2 0
+ 0.2 2.2 0 0.4 2.2 0 0.6 2.2 0 0.8 2.2 0
+ 1 2.2 0 1.2 2.2 0 1.4 2.2 0 1.6 2.2 0
+ 1.8 2.2 0 2 2.2 0 2.2 2.2 0 2.4 2.2 0
+ 2.6 2.2 0 2.8 2.2 0 3 2.2 0 3.2 2.2 0
+ 3.4 2.2 0 3.6 2.2 0 3.8 2.2 0 4 2.2 0
+ 0 2.4 0 0.2 2.4 0 0.4 2.4 0 0.6 2.4 0
+ 0.8 2.4 0 1 2.4 0 1.2 2.4 0 1.4 2.4 0
+ 1.6 2.4 0 1.8 2.4 0 2 2.4 0 2.2 2.4 0
+ 2.4 2.4 0 2.6 2.4 0 2.8 2.4 0 3 2.4 0
+ 3.2 2.4 0 3.4 2.4 0 3.6 2.4 0 3.8 2.4 0
+ 4 2.4 0 0 2.6 0 0.2 2.6 0 0.4 2.6 0
+ 0.6 2.6 0 0.8 2.6 0 1 2.6 0 1.2 2.6 0
+ 1.4 2.6 0 1.6 2.6 0 1.8 2.6 0 2 2.6 0
+ 2.2 2.6 0 2.4 2.6 0 2.6 2.6 0 2.8 2.6 0
+ 3 2.6 0 3.2 2.6 0 3.4 2.6 0 3.6 2.6 0
+ 3.8 2.6 0 4 2.6 0 0 2.8 0 0.2 2.8 0
+ 0.4 2.8 0 0.6 2.8 0 0.8 2.8 0 1 2.8 0
+ 1.2 2.8 0 1.4 2.8 0 1.6 2.8 0 1.8 2.8 0
+ 2 2.8 0 2.2 2.8 0 2.4 2.8 0 2.6 2.8 0
+ 2.8 2.8 0 3 2.8 0 3.2 2.8 0 3.4 2.8 0
+ 3.6 2.8 0 3.8 2.8 0 4 2.8 0 0 3 0
+ 0.2 3 0 0.4 3 0 0.6 3 0 0.8 3 0
+ 1 3 0 1.2 3 0 1.4 3 0 1.6 3 0
+ 1.8 3 0 2 3 0 2.2 3 0 2.4 3 0
+ 2.6 3 0 2.8 3 0 3 3 0 3.2 3 0
+ 3.4 3 0 3.6 3 0 3.8 3 0 4 3 0
+ 0 3.2 0 0.2 3.2 0 0.4 3.2 0 0.6 3.2 0
+ 0.8 3.2 0 1 3.2 0 1.2 3.2 0 1.4 3.2 0
+ 1.6 3.2 0 1.8 3.2 0 2 3.2 0 2.2 3.2 0
+ 2.4 3.2 0 2.6 3.2 0 2.8 3.2 0 3 3.2 0
+ 3.2 3.2 0 3.4 3.2 0 3.6 3.2 0 3.8 3.2 0
+ 4 3.2 0 0 3.4 0 0.2 3.4 0 0.4 3.4 0
+ 0.6 3.4 0 0.8 3.4 0 1 3.4 0 1.2 3.4 0
+ 1.4 3.4 0 1.6 3.4 0 1.8 3.4 0 2 3.4 0
+ 2.2 3.4 0 2.4 3.4 0 2.6 3.4 0 2.8 3.4 0
+ 3 3.4 0 3.2 3.4 0 3.4 3.4 0 3.6 3.4 0
+ 3.8 3.4 0 4 3.4 0 0 3.6 0 0.2 3.6 0
+ 0.4 3.6 0 0.6 3.6 0 0.8 3.6 0 1 3.6 0
+ 1.2 3.6 0 1.4 3.6 0 1.6 3.6 0 1.8 3.6 0
+ 2 3.6 0 2.2 3.6 0 2.4 3.6 0 2.6 3.6 0
+ 2.8 3.6 0 3 3.6 0 3.2 3.6 0 3.4 3.6 0
+ 3.6 3.6 0 3.8 3.6 0 4 3.6 0 0 3.8 0
+ 0.2 3.8 0 0.4 3.8 0 0.6 3.8 0 0.8 3.8 0
+ 1 3.8 0 1.2 3.8 0 1.4 3.8 0 1.6 3.8 0
+ 1.8 3.8 0 2 3.8 0 2.2 3.8 0 2.4 3.8 0
+ 2.6 3.8 0 2.8 3.8 0 3 3.8 0 3.2 3.8 0
+ 3.4 3.8 0 3.6 3.8 0 3.8 3.8 0 4 3.8 0
+ 0 4 0 0.2 4 0 0.4 4 0 0.6 4 0
+ 0.8 4 0 1 4 0 1.2 4 0 1.4 4 0
+ 1.6 4 0 1.8 4 0 2 4 0 2.2 4 0
+ 2.4 4 0 2.6 4 0 2.8 4 0 3 4 0
+ 3.2 4 0 3.4 4 0 3.6 4 0 3.8 4 0
+ 4 4 0 0 4.2 0 0.2 4.2 0 0.4 4.2 0
+ 0.6 4.2 0 0.8 4.2 0 1 4.2 0 1.2 4.2 0
+ 1.4 4.2 0 1.6 4.2 0 1.8 4.2 0 2 4.2 0
+ 2.2 4.2 0 2.4 4.2 0 2.6 4.2 0 2.8 4.2 0
+ 3 4.2 0 3.2 4.2 0 3.4 4.2 0 3.6 4.2 0
+ 3.8 4.2 0 4 4.2 0 0 4.4 0 0.2 4.4 0
+ 0.4 4.4 0 0.6 4.4 0 0.8 4.4 0 1 4.4 0
+ 1.2 4.4 0 1.4 4.4 0 1.6 4.4 0 1.8 4.4 0
+ 2 4.4 0 2.2 4.4 0 2.4 4.4 0 2.6 4.4 0
+ 2.8 4.4 0 3 4.4 0 3.2 4.4 0 3.4 4.4 0
+ 3.6 4.4 0 3.8 4.4 0 4 4.4 0 0 4.6 0
+ 0.2 4.6 0 0.4 4.6 0 0.6 4.6 0 0.8 4.6 0
+ 1 4.6 0 1.2 4.6 0 1.4 4.6 0 1.6 4.6 0
+ 1.8 4.6 0 2 4.6 0 2.2 4.6 0 2.4 4.6 0
+ 2.6 4.6 0 2.8 4.6 0 3 4.6 0 3.2 4.6 0
+ 3.4 4.6 0 3.6 4.6 0 3.8 4.6 0 4 4.6 0
+ 0 4.8 0 0.2 4.8 0 0.4 4.8 0 0.6 4.8 0
+ 0.8 4.8 0 1 4.8 0 1.2 4.8 0 1.4 4.8 0
+ 1.6 4.8 0 1.8 4.8 0 2 4.8 0 2.2 4.8 0
+ 2.4 4.8 0 2.6 4.8 0 2.8 4.8 0 3 4.8 0
+ 3.2 4.8 0 3.4 4.8 0 3.6 4.8 0 3.8 4.8 0
+ 4 4.8 0 0 5 0 0.2 5 0 0.4 5 0
+ 0.6 5 0 0.8 5 0 1 5 0 1.2 5 0
+ 1.4 5 0 1.6 5 0 1.8 5 0 2 5 0
+ 2.2 5 0 2.4 5 0 2.6 5 0 2.8 5 0
+ 3 5 0 3.2 5 0 3.4 5 0 3.6 5 0
+ 3.8 5 0 4 5 0 0 5.2 0 0.2 5.2 0
+ 0.4 5.2 0 0.6 5.2 0 0.8 5.2 0 1 5.2 0
+ 1.2 5.2 0 1.4 5.2 0 1.6 5.2 0 1.8 5.2 0
+ 2 5.2 0 2.2 5.2 0 2.4 5.2 0 2.6 5.2 0
+ 2.8 5.2 0 3 5.2 0 3.2 5.2 0 3.4 5.2 0
+ 3.6 5.2 0 3.8 5.2 0 4 5.2 0 0 5.4 0
+ 0.2 5.4 0 0.4 5.4 0 0.6 5.4 0 0.8 5.4 0
+ 1 5.4 0 1.2 5.4 0 1.4 5.4 0 1.6 5.4 0
+ 1.8 5.4 0 2 5.4 0 2.2 5.4 0 2.4 5.4 0
+ 2.6 5.4 0 2.8 5.4 0 3 5.4 0 3.2 5.4 0
+ 3.4 5.4 0 3.6 5.4 0 3.8 5.4 0 4 5.4 0
+ 0 5.6 0 0.2 5.6 0 0.4 5.6 0 0.6 5.6 0
+ 0.8 5.6 0 1 5.6 0 1.2 5.6 0 1.4 5.6 0
+ 1.6 5.6 0 1.8 5.6 0 2 5.6 0 2.2 5.6 0
+ 2.4 5.6 0 2.6 5.6 0 2.8 5.6 0 3 5.6 0
+ 3.2 5.6 0 3.4 5.6 0 3.6 5.6 0 3.8 5.6 0
+ 4 5.6 0 0 5.8 0 0.2 5.8 0 0.4 5.8 0
+ 0.6 5.8 0 0.8 5.8 0 1 5.8 0 1.2 5.8 0
+ 1.4 5.8 0 1.6 5.8 0 1.8 5.8 0 2 5.8 0
+ 2.2 5.8 0 2.4 5.8 0 2.6 5.8 0 2.8 5.8 0
+ 3 5.8 0 3.2 5.8 0 3.4 5.8 0 3.6 5.8 0
+ 3.8 5.8 0 4 5.8 0 0 6 0 0.2 6 0
+ 0.4 6 0 0.6 6 0 0.8 6 0 1 6 0
+ 1.2 6 0 1.4 6 0 1.6 6 0 1.8 6 0
+ 2 6 0 2.2 6 0 2.4 6 0 2.6 6 0
+ 2.8 6 0 3 6 0 3.2 6 0 3.4 6 0
+ 3.6 6 0 3.8 6 0 4 6 0 0 6.2 0
+ 0.2 6.2 0 0.4 6.2 0 0.6 6.2 0 0.8 6.2 0
+ 1 6.2 0 1.2 6.2 0 1.4 6.2 0 1.6 6.2 0
+ 1.8 6.2 0 2 6.2 0 2.2 6.2 0 2.4 6.2 0
+ 2.6 6.2 0 2.8 6.2 0 3 6.2 0 3.2 6.2 0
+ 3.4 6.2 0 3.6 6.2 0 3.8 6.2 0 4 6.2 0
+ 0 6.4 0 0.2 6.4 0 0.4 6.4 0 0.6 6.4 0
+ 0.8 6.4 0 1 6.4 0 1.2 6.4 0 1.4 6.4 0
+ 1.6 6.4 0 1.8 6.4 0 2 6.4 0 2.2 6.4 0
+ 2.4 6.4 0 2.6 6.4 0 2.8 6.4 0 3 6.4 0
+ 3.2 6.4 0 3.4 6.4 0 3.6 6.4 0 3.8 6.4 0
+ 4 6.4 0 0 6.6 0 0.2 6.6 0 0.4 6.6 0
+ 0.6 6.6 0 0.8 6.6 0 1 6.6 0 1.2 6.6 0
+ 1.4 6.6 0 1.6 6.6 0 1.8 6.6 0 2 6.6 0
+ 2.2 6.6 0 2.4 6.6 0 2.6 6.6 0 2.8 6.6 0
+ 3 6.6 0 3.2 6.6 0 3.4 6.6 0 3.6 6.6 0
+ 3.8 6.6 0 4 6.6 0 0 6.8 0 0.2 6.8 0
+ 0.4 6.8 0 0.6 6.8 0 0.8 6.8 0 1 6.8 0
+ 1.2 6.8 0 1.4 6.8 0 1.6 6.8 0 1.8 6.8 0
+ 2 6.8 0 2.2 6.8 0 2.4 6.8 0 2.6 6.8 0
+ 2.8 6.8 0 3 6.8 0 3.2 6.8 0 3.4 6.8 0
+ 3.6 6.8 0 3.8 6.8 0 4 6.8 0 0 7 0
+ 0.2 7 0 0.4 7 0 0.6 7 0 0.8 7 0
+ 1 7 0 1.2 7 0 1.4 7 0 1.6 7 0
+ 1.8 7 0 2 7 0 2.2 7 0 2.4 7 0
+ 2.6 7 0 2.8 7 0 3 7 0 3.2 7 0
+ 3.4 7 0 3.6 7 0 3.8 7 0 4 7 0
+ 0 7.2 0 0.2 7.2 0 0.4 7.2 0 0.6 7.2 0
+ 0.8 7.2 0 1 7.2 0 1.2 7.2 0 1.4 7.2 0
+ 1.6 7.2 0 1.8 7.2 0 2 7.2 0 2.2 7.2 0
+ 2.4 7.2 0 2.6 7.2 0 2.8 7.2 0 3 7.2 0
+ 3.2 7.2 0 3.4 7.2 0 3.6 7.2 0 3.8 7.2 0
+ 4 7.2 0 0 7.4 0 0.2 7.4 0 0.4 7.4 0
+ 0.6 7.4 0 0.8 7.4 0 1 7.4 0 1.2 7.4 0
+ 1.4 7.4 0 1.6 7.4 0 1.8 7.4 0 2 7.4 0
+ 2.2 7.4 0 2.4 7.4 0 2.6 7.4 0 2.8 7.4 0
+ 3 7.4 0 3.2 7.4 0 3.4 7.4 0 3.6 7.4 0
+ 3.8 7.4 0 4 7.4 0 0 7.6 0 0.2 7.6 0
+ 0.4 7.6 0 0.6 7.6 0 0.8 7.6 0 1 7.6 0
+ 1.2 7.6 0 1.4 7.6 0 1.6 7.6 0 1.8 7.6 0
+ 2 7.6 0 2.2 7.6 0 2.4 7.6 0 2.6 7.6 0
+ 2.8 7.6 0 3 7.6 0 3.2 7.6 0 3.4 7.6 0
+ 3.6 7.6 0 3.8 7.6 0 4 7.6 0 0 7.8 0
+ 0.2 7.8 0 0.4 7.8 0 0.6 7.8 0 0.8 7.8 0
+ 1 7.8 0 1.2 7.8 0 1.4 7.8 0 1.6 7.8 0
+ 1.8 7.8 0 2 7.8 0 2.2 7.8 0 2.4 7.8 0
+ 2.6 7.8 0 2.8 7.8 0 3 7.8 0 3.2 7.8 0
+ 3.4 7.8 0 3.6 7.8 0 3.8 7.8 0 4 7.8 0
+ 0 8 0 0.2 8 0 0.4 8 0 0.6 8 0
+ 0.8 8 0 1 8 0 1.2 8 0 1.4 8 0
+ 1.6 8 0 1.8 8 0 2 8 0 2.2 8 0
+ 2.4 8 0 2.6 8 0 2.8 8 0 3 8 0
+ 3.2 8 0 3.4 8 0 3.6 8 0 3.8 8 0
+ 4 8 0
+
+
+
+
+ 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
+
+
+ 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
+
+
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9
+
+
+
+
+