remove the Stokes model

there seems to be only a *very* limited amount of interest, the code
of the model is quite complex and there are currently no suitable
discretizations for free-flow equations in eWoms (i.e., the model
tends to be very unstable and oscillates a lot). Combined, all of this
makes maintaining this model a pain in the back, so let's remove it
some interest in these kinds of problems surfaces and until
appropriate discretizations -- like staggered grid methods -- are
available.
This commit is contained in:
Andreas Lauser 2017-07-21 18:35:17 +02:00
parent a626ab869e
commit 2ff14fb13e
12 changed files with 0 additions and 4971 deletions

View File

@ -1,344 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
* \copydoc Ewoms::Stokes2cTestProblem
*/
#ifndef EWOMS_STOKES_2C_TEST_PROBLEM_HH
#define EWOMS_STOKES_2C_TEST_PROBLEM_HH
#include <ewoms/models/stokes/stokesmodel.hh>
#include <opm/material/fluidsystems/H2OAirFluidSystem.hpp>
#include <opm/common/Unused.hpp>
#include <dune/grid/yaspgrid.hh>
#include <dune/grid/io/file/dgfparser/dgfyasp.hh>
#include <dune/common/version.hh>
#include <dune/common/fvector.hh>
namespace Ewoms {
template <class TypeTag>
class Stokes2cTestProblem;
}
namespace Ewoms {
//////////
// Specify the properties for the stokes2c problem
//////////
namespace Properties {
NEW_TYPE_TAG(Stokes2cTestProblem, INHERITS_FROM(StokesModel));
// Set the grid type
SET_TYPE_PROP(Stokes2cTestProblem, Grid, Dune::YaspGrid<2>);
// Set the problem property
SET_TYPE_PROP(Stokes2cTestProblem, Problem, Ewoms::Stokes2cTestProblem<TypeTag>);
//! Select the fluid system
SET_TYPE_PROP(Stokes2cTestProblem, FluidSystem,
Opm::FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>);
//! Select the phase to be considered
SET_INT_PROP(Stokes2cTestProblem, StokesPhaseIndex,
GET_PROP_TYPE(TypeTag, FluidSystem)::gasPhaseIdx);
// Disable gravity
SET_BOOL_PROP(Stokes2cTestProblem, EnableGravity, false);
// Enable constraints
SET_BOOL_PROP(Stokes2cTestProblem, EnableConstraints, true);
// Default simulation end time [s]
SET_SCALAR_PROP(Stokes2cTestProblem, EndTime, 2.0);
// Default initial time step size [s]
SET_SCALAR_PROP(Stokes2cTestProblem, InitialTimeStepSize, 0.1);
// Default grid file to load
SET_STRING_PROP(Stokes2cTestProblem, GridFile, "data/test_stokes2c.dgf");
} // namespace Properties
} // namespace Ewoms
namespace Ewoms {
/*!
* \ingroup Stokes2cModel
* \ingroup TestProblems
*
* \brief Stokes transport problem with humid air flowing from the
* left to the right.
*
* The domain is sized 1m times 1m. The boundaries are specified using
* constraints, with finite volumes on the left side of the domain
* exhibiting slightly higher humitiy than the ones on the right.
*/
template <class TypeTag>
class Stokes2cTestProblem : public GET_PROP_TYPE(TypeTag, BaseProblem)
{
typedef typename GET_PROP_TYPE(TypeTag, BaseProblem) ParentType;
typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
typedef typename GET_PROP_TYPE(TypeTag, EqVector) EqVector;
typedef typename GET_PROP_TYPE(TypeTag, BoundaryRateVector) BoundaryRateVector;
typedef typename GET_PROP_TYPE(TypeTag, RateVector) RateVector;
typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
typedef typename GET_PROP_TYPE(TypeTag, Constraints) Constraints;
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
enum { dimWorld = GridView::dimensionworld };
enum { numComponents = FluidSystem::numComponents };
enum {
// copy some indices for convenience
conti0EqIdx = Indices::conti0EqIdx,
momentum0EqIdx = Indices::momentum0EqIdx,
velocity0Idx = Indices::velocity0Idx,
moleFrac1Idx = Indices::moleFrac1Idx,
pressureIdx = Indices::pressureIdx,
H2OIdx = FluidSystem::H2OIdx,
AirIdx = FluidSystem::AirIdx
};
typedef typename GridView::ctype CoordScalar;
typedef Dune::FieldVector<CoordScalar, dimWorld> GlobalPosition;
typedef Dune::FieldVector<Scalar, dimWorld> DimVector;
public:
/*!
* \copydoc Doxygen::defaultProblemConstructor
*/
Stokes2cTestProblem(Simulator& simulator)
: ParentType(simulator)
{ }
/*!
* \copydoc FvBaseProblem::finishInit
*/
void finishInit()
{
ParentType::finishInit();
eps_ = 1e-6;
// initialize the tables of the fluid system
FluidSystem::init();
}
/*!
* \name Problem parameters
*/
//! \{
/*!
* \copydoc FvBaseProblem::name
*/
std::string name() const
{
std::ostringstream oss;
oss << "stokes2ctest_";
if (std::is_same<typename GET_PROP_TYPE(TypeTag, LocalLinearizerSplice),
TTAG(AutoDiffLocalLinearizer)>::value)
oss << "ad";
else
oss << "fd";
return oss.str();
}
/*!
* \copydoc FvBaseProblem::endTimeStep
*/
void endTimeStep()
{
#ifndef NDEBUG
// checkConservativeness() does not include the effect of constraints, so we
// disable it for this problem...
//this->model().checkConservativeness();
// Calculate storage terms
EqVector storage;
this->model().globalStorage(storage);
// Write mass balance information for rank 0
if (this->gridView().comm().rank() == 0) {
std::cout << "Storage: " << storage << std::endl << std::flush;
}
#endif // NDEBUG
}
/*!
* \brief StokesProblem::temperature
*
* This problem assumes a temperature of 10 degrees Celsius.
*/
template <class Context>
Scalar temperature(const Context& context OPM_UNUSED,
unsigned spaceIdx OPM_UNUSED,
unsigned timeIdx OPM_UNUSED) const
{ return 273.15 + 10; /* -> 10 deg C */ }
// \}
/*!
* \name Boundary conditions
*/
//! \{
/*!
* \copydoc FvBaseProblem::boundary
*
* This problem uses an out-flow boundary on the lower edge of the
* domain, no-flow on the left and right edges and constrains the
* upper edge.
*/
template <class Context>
void boundary(BoundaryRateVector& values,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
#if 0
const GlobalPosition& pos = context.pos(spaceIdx, timeIdx);
if (onLowerBoundary_(pos))
values.setOutFlow(context, spaceIdx, timeIdx);
else if (onUpperBoundary_(pos))
values.setInFlow(context, spaceIdx, timeIdx);
else
// left and right boundaries
values.setNoFlow(context, spaceIdx, timeIdx);
#else
// this is a hack because something seems to be broken with the code for boundary
// conditions in the Stokes model...
values = 0.0;
#endif
}
//! \}
/*!
* \name Volumetric terms
*/
//! \{
/*!
* \copydoc FvBaseProblem::initial
*
* For this method a parabolic velocity profile from left to
* right, atmospheric pressure and a mole fraction of water of
* 0.5% is set.
*/
template <class Context>
void initial(PrimaryVariables& values,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
const GlobalPosition& globalPos = context.pos(spaceIdx, timeIdx);
values = 0.0;
// parabolic profile
DimVector v;
initialVelocity_(globalPos, v);
for (unsigned dimIdx = 0; dimIdx < dimWorld; ++ dimIdx)
values[velocity0Idx + dimIdx] = v[dimIdx];
Scalar moleFrac[numComponents];
if (onUpperBoundary_(globalPos))
moleFrac[H2OIdx] = 0.005;
else
moleFrac[H2OIdx] = 0.007;
moleFrac[AirIdx] = 1.0 - moleFrac[H2OIdx];
values[pressureIdx] = 1e5;
values[moleFrac1Idx] = moleFrac[1];
}
/*!
* \copydoc FvBaseProblem::source
*
* For this problem, the source term of all conserved quantities
* is 0 everywhere.
*/
template <class Context>
void source(RateVector& rate,
const Context& context OPM_UNUSED,
unsigned spaceIdx OPM_UNUSED,
unsigned timeIdx OPM_UNUSED) const
{ rate = Scalar(0.0); }
/*!
* \copydoc FvBaseProblem::constraints
*
* In this problem, the method sets the domain's lower edge to
* initial conditions.
*/
template <class Context>
void constraints(Constraints& constraints,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
const auto& pos = context.pos(spaceIdx, timeIdx);
if (onUpperBoundary_(pos)) {
constraints.setActive(true);
initial(constraints, context, spaceIdx, timeIdx);
}
}
//! \}
private:
bool onLeftBoundary_(const GlobalPosition& globalPos) const
{ return globalPos[0] < this->boundingBoxMin()[0] + eps_; }
bool onRightBoundary_(const GlobalPosition& globalPos) const
{ return globalPos[0] > this->boundingBoxMax()[0] - eps_; }
bool onLowerBoundary_(const GlobalPosition& globalPos) const
{ return globalPos[1] < this->boundingBoxMin()[1] + eps_; }
bool onUpperBoundary_(const GlobalPosition& globalPos) const
{ return globalPos[1] > this->boundingBoxMax()[1] - eps_; }
void initialVelocity_(const GlobalPosition& globalPos, DimVector v) const
{
const Scalar v1max = 1.0;
v[0] = 0.0;
v[1] =
- v1max
* (globalPos[0] - this->boundingBoxMin()[0])
* (this->boundingBoxMax()[0] - globalPos[0])
/ (0.25
* (this->boundingBoxMax()[0] - this->boundingBoxMin()[0])
* (this->boundingBoxMax()[0] - this->boundingBoxMin()[0]));
}
Scalar eps_;
};
} // namespace Ewoms
#endif

View File

@ -1,342 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
* \copydoc Ewoms::StokesNiTestProblem
*/
#ifndef EWOMS_STOKES_NI_TEST_PROBLEM_HH
#define EWOMS_STOKES_NI_TEST_PROBLEM_HH
#include <ewoms/models/stokes/stokesmodel.hh>
#include <ewoms/io/simplexgridmanager.hh>
#include <opm/material/fluidsystems/H2OAirFluidSystem.hpp>
#include <opm/common/Unused.hpp>
#include <dune/grid/yaspgrid.hh>
#include <dune/grid/io/file/dgfparser/dgfyasp.hh>
#include <dune/common/version.hh>
#include <dune/common/fvector.hh>
namespace Ewoms {
template <class TypeTag>
class StokesNiTestProblem;
}
namespace Ewoms {
namespace Properties {
NEW_TYPE_TAG(StokesNiTestProblem, INHERITS_FROM(StokesModel));
// Set the grid type
SET_TYPE_PROP(StokesNiTestProblem, Grid, Dune::YaspGrid<2>);
// Set the problem property
SET_TYPE_PROP(StokesNiTestProblem, Problem, Ewoms::StokesNiTestProblem<TypeTag>);
//! Select the fluid system
SET_TYPE_PROP(StokesNiTestProblem, FluidSystem,
Opm::FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>);
//! Select the phase to be considered
SET_INT_PROP(StokesNiTestProblem, StokesPhaseIndex,
GET_PROP_TYPE(TypeTag, FluidSystem)::gasPhaseIdx);
// Enable gravity
SET_BOOL_PROP(StokesNiTestProblem, EnableGravity, true);
// Enable the energy equation
SET_BOOL_PROP(StokesNiTestProblem, EnableEnergy, true);
// Enable constraints
SET_BOOL_PROP(StokesNiTestProblem, EnableConstraints, true);
// Default simulation end time [s]
SET_SCALAR_PROP(StokesNiTestProblem, EndTime, 3.0);
// Default initial time step size [s]
SET_SCALAR_PROP(StokesNiTestProblem, InitialTimeStepSize, 0.1);
// Increase the default raw tolerance of the Newton-Raphson method to 10^-4
SET_SCALAR_PROP(StokesNiTestProblem, NewtonRawTolerance, 1e-4);
// Default grid file to load
SET_STRING_PROP(StokesNiTestProblem, GridFile, "data/test_stokes2cni.dgf");
} // namespace Properties
} // namespace Ewoms
namespace Ewoms {
/*!
* \ingroup StokesNiModel
* \ingroup TestProblems
* \brief Non-isothermal test problem for the Stokes model with a gas
* (N2) flowing from the left to the right.
*
* The domain of this problem is 1m times 1m. The upper and the lower
* boundaries are fixed to the initial condition by means of
* constraints, the left and the right boundaries are no-slip
* conditions.
*/
template <class TypeTag>
class StokesNiTestProblem : public GET_PROP_TYPE(TypeTag, BaseProblem)
{
typedef typename GET_PROP_TYPE(TypeTag, BaseProblem) ParentType;
typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem;
typedef typename GET_PROP_TYPE(TypeTag, Constraints) Constraints;
typedef typename GET_PROP_TYPE(TypeTag, EqVector) EqVector;
typedef typename GET_PROP_TYPE(TypeTag, RateVector) RateVector;
typedef typename GET_PROP_TYPE(TypeTag, BoundaryRateVector) BoundaryRateVector;
typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
enum {
// Number of equations and grid dimension
dimWorld = GridView::dimensionworld,
// primary variable indices
pressureIdx = Indices::pressureIdx,
moleFrac1Idx = Indices::moleFrac1Idx,
velocity0Idx = Indices::velocity0Idx,
temperatureIdx = Indices::temperatureIdx,
// equation indices
conti0EqIdx = Indices::conti0EqIdx,
momentum0EqIdx = Indices::momentum0EqIdx,
energyEqIdx = Indices::energyEqIdx
};
enum { numComponents = FluidSystem::numComponents };
enum { H2OIdx = FluidSystem::H2OIdx };
enum { AirIdx = FluidSystem::AirIdx };
typedef typename GridView::ctype CoordScalar;
typedef Dune::FieldVector<CoordScalar, dimWorld> GlobalPosition;
typedef Dune::FieldVector<Scalar, dimWorld> DimVector;
public:
/*!
* \copydoc Doxygen::defaultProblemConstructor
*/
StokesNiTestProblem(Simulator& simulator)
: ParentType(simulator)
{ }
/*!
* \copydoc FvBaseProblem::finishInit
*/
void finishInit()
{
ParentType::finishInit();
eps_ = 1e-6;
// initialize the tables of the fluid system
FluidSystem::init(/*Tmin=*/280.0, /*Tmax=*/285, /*nT=*/10,
/*pmin=*/1e5, /*pmax=*/1e5 + 100, /*np=*/200);
}
/*!
* \name Problem parameters
*/
//! \{
/*!
* \copydoc FvBaseProblem::name
*/
std::string name() const
{ return "stokestest_ni"; }
/*!
* \copydoc FvBaseProblem::endTimeStep
*/
void endTimeStep()
{
#ifndef NDEBUG
// checkConservativeness() does not include the effect of constraints, so we
// disable it for this problem...
//this->model().checkConservativeness();
// Calculate storage terms
EqVector storage;
this->model().globalStorage(storage);
// Write mass balance information for rank 0
if (this->gridView().comm().rank() == 0) {
std::cout << "Storage: " << storage << std::endl << std::flush;
}
#endif // NDEBUG
}
//! \}
/*!
* \name Boundary conditions
*/
//! \{
/*!
* \copydoc FvBaseProblem::boundary
*/
template <class Context>
void boundary(BoundaryRateVector& values, const Context& context,
unsigned spaceIdx, unsigned timeIdx) const
{
#if 0
const GlobalPosition& pos = context.pos(spaceIdx, timeIdx);
if (onUpperBoundary_(pos))
values.setOutFlow(context, spaceIdx, timeIdx);
else if (onLowerBoundary_(pos)) {
// lower boundary is constraint!
values = 0.0;
}
else {
// left and right
values.setNoFlow(context, spaceIdx, timeIdx);
}
#else
// this is a hack because something seems to be broken with the code for boundary
// conditions in the Stokes model...
values = 0.0;
#endif
}
//! \}
/*!
* \name Volumetric terms
*/
// \{
/*!
* \copydoc FvBaseProblem::initial
*/
template <class Context>
void initial(PrimaryVariables& values, const Context& context, unsigned spaceIdx,
unsigned timeIdx) const
{
const GlobalPosition& pos = context.pos(spaceIdx, timeIdx);
Scalar moleFrac[numComponents];
moleFrac[H2OIdx] = 1e-4;
Scalar temperature = 283.15;
if (inLens_(pos)) {
moleFrac[H2OIdx] = 0.9e-4;
temperature = 284.15;
}
moleFrac[AirIdx] = 1 - moleFrac[H2OIdx];
// parabolic velocity profile
Scalar y = this->boundingBoxMax()[1] - pos[1];
Scalar x = pos[0] - this->boundingBoxMin()[0];
Scalar width = this->boundingBoxMax()[0] - this->boundingBoxMin()[0];
// parabolic velocity profile
const Scalar maxVelocity = 1.0;
Scalar a = -4 * maxVelocity / (width * width);
Scalar b = -a * width;
Scalar c = 0;
DimVector velocity(0.0);
velocity[1] = a * x * x + b * x + c;
// hydrostatic pressure
Scalar rho = 1.189;
Scalar pressure = 1e5 - rho * this->gravity()[1] * y;
for (unsigned axisIdx = 0; axisIdx < dimWorld; ++axisIdx)
values[velocity0Idx + axisIdx] = velocity[axisIdx];
values[pressureIdx] = pressure;
values[moleFrac1Idx] = moleFrac[1];
values[temperatureIdx] = temperature;
}
/*!
* \copydoc FvBaseProblem::source
*
* For this problem, the source term of all conserved quantities
* is 0 everywhere.
*/
template <class Context>
void source(RateVector& rate,
const Context& context OPM_UNUSED,
unsigned spaceIdx OPM_UNUSED,
unsigned timeIdx OPM_UNUSED) const
{ rate = Scalar(0.0); }
/*!
* \copydoc FvBaseProblem::constraints
*
* This problem sets temperature constraints for the finite volumes
* adjacent to the inlet.
*/
template <class Context>
void constraints(Constraints& constraints,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
const auto& pos = context.pos(spaceIdx, timeIdx);
if (onLowerBoundary_(pos) || onUpperBoundary_(pos)) {
constraints.setActive(true);
initial(constraints, context, spaceIdx, timeIdx);
}
}
//! \}
private:
bool onLeftBoundary_(const GlobalPosition& pos) const
{ return pos[0] < this->boundingBoxMin()[0] + eps_; }
bool onRightBoundary_(const GlobalPosition& pos) const
{ return pos[0] > this->boundingBoxMax()[0] - eps_; }
bool onLowerBoundary_(const GlobalPosition& pos) const
{ return pos[1] < this->boundingBoxMin()[1] + eps_; }
bool onUpperBoundary_(const GlobalPosition& pos) const
{ return pos[1] > this->boundingBoxMax()[1] - eps_; }
bool onBoundary_(const GlobalPosition& pos) const
{
return onLeftBoundary_(pos) || onRightBoundary_(pos)
|| onLowerBoundary_(pos) || onUpperBoundary_(pos);
}
bool inLens_(const GlobalPosition& pos) const
{ return pos[0] < 0.75 && pos[0] > 0.25 && pos[1] < 0.75 && pos[1] > 0.25; }
Scalar eps_;
};
} // namespace Ewoms
#endif

View File

@ -1,330 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \copydoc Ewoms::StokesTestProblem
*/
#ifndef EWOMS_STOKES_TEST_PROBLEM_HH
#define EWOMS_STOKES_TEST_PROBLEM_HH
#include <ewoms/models/stokes/stokesmodel.hh>
#include <opm/material/fluidsystems/H2ON2FluidSystem.hpp>
#include <opm/material/fluidsystems/GasPhase.hpp>
#include <opm/common/Unused.hpp>
#include <dune/grid/yaspgrid.hh>
#include <dune/grid/io/file/dgfparser/dgfyasp.hh>
#include <dune/common/version.hh>
#include <dune/common/fvector.hh>
namespace Ewoms {
template <class TypeTag>
class StokesTestProblem;
}
namespace Ewoms {
namespace Properties {
NEW_TYPE_TAG(StokesTestProblem, INHERITS_FROM(StokesModel));
// Set the grid type
SET_TYPE_PROP(StokesTestProblem, Grid, Dune::YaspGrid<2>);
// Set the problem property
SET_TYPE_PROP(StokesTestProblem, Problem, Ewoms::StokesTestProblem<TypeTag>);
// Use the default fluid system of the Stokes model. It requires to
// specify a fluid, though.
SET_PROP(StokesTestProblem, Fluid)
{
private:
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
public:
typedef Opm::GasPhase<Scalar, Opm::N2<Scalar> > type;
};
// Disable gravity
SET_BOOL_PROP(StokesTestProblem, EnableGravity, false);
// Enable constraints
SET_BOOL_PROP(StokesTestProblem, EnableConstraints, true);
// Default simulation end time [s]
SET_SCALAR_PROP(StokesTestProblem, EndTime, 10.0);
// Default initial time step size [s]
SET_SCALAR_PROP(StokesTestProblem, InitialTimeStepSize, 10.0);
// Default grid file to load
SET_STRING_PROP(StokesTestProblem, GridFile, "data/test_stokes.dgf");
} // namespace Properties
} // namespace Ewoms
namespace Ewoms {
/*!
* \ingroup StokesModel
* \ingroup TestProblems
*
* \brief Stokes flow problem with nitrogen (\f$N_2\f$) flowing
* from the left to the right.
*
* The domain is sized 1m times 1m. The boundary conditions for the
* momentum balances are set to outflow on the right boundary and to
* no-flow at the top and bottom of the domain. For the mass balance
* equation, outflow boundary conditions are assumed on the right,
* free-flow on the left and no-flow at the top and bottom boundaries.
*/
template <class TypeTag>
class StokesTestProblem : public GET_PROP_TYPE(TypeTag, BaseProblem)
{
typedef typename GET_PROP_TYPE(TypeTag, BaseProblem) ParentType;
typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
typedef typename GET_PROP_TYPE(TypeTag, Indices) Indices;
typedef typename GET_PROP_TYPE(TypeTag, EqVector) EqVector;
typedef typename GET_PROP_TYPE(TypeTag, RateVector) RateVector;
typedef typename GET_PROP_TYPE(TypeTag, BoundaryRateVector) BoundaryRateVector;
typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid;
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
typedef typename GET_PROP_TYPE(TypeTag, Constraints) Constraints;
enum {
// Number of equations and grid dimension
dimWorld = GridView::dimensionworld,
// equation indices
conti0EqIdx = Indices::conti0EqIdx,
momentum0EqIdx = Indices::momentum0EqIdx,
// primary variable indices
velocity0Idx = Indices::velocity0Idx,
pressureIdx = Indices::pressureIdx
};
typedef typename GridView::ctype CoordScalar;
typedef Dune::FieldVector<CoordScalar, dimWorld> GlobalPosition;
typedef Dune::FieldVector<Scalar, dimWorld> DimVector;
public:
/*!
* \copydoc Doxygen::defaultProblemConstructor
*/
StokesTestProblem(Simulator& simulator)
: ParentType(simulator)
{ eps_ = 1e-6; }
/*!
* \name Problem parameters
*/
//! \{
/*!
* \copydoc FvBaseProblem::name
*/
std::string name() const
{ return "stokestest"; }
/*!
* \copydoc FvBaseProblem::endTimeStep
*/
void endTimeStep()
{
#ifndef NDEBUG
// checkConservativeness() does not include the effect of constraints, so we
// disable it for this problem...
//this->model().checkConservativeness();
// Calculate storage terms
EqVector storage;
this->model().globalStorage(storage);
// Write mass balance information for rank 0
if (this->gridView().comm().rank() == 0) {
std::cout << "Storage: " << storage << std::endl << std::flush;
}
#endif // NDEBUG
}
/*!
* \brief StokesProblem::temperature
*
* This problem assumes a constant temperature of 10 degrees Celsius.
*/
template <class Context>
Scalar temperature(const Context& context OPM_UNUSED,
unsigned spaceIdx OPM_UNUSED,
unsigned timeIdx OPM_UNUSED) const
{ return 273.15 + 10; } // -> 10 deg C
//! \}
/*!
* \name Boundary conditions
*/
//! \{
/*!
* \copydoc FvBaseProblem::boundary
*
* For this problem, we use an out-flow boundary on the right,
* no-flow at the top and at the bottom and the left boundary gets
* a parabolic velocity profile via constraints.
*/
template <class Context>
void boundary(BoundaryRateVector& values,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
#if 0
const GlobalPosition& pos = context.pos(spaceIdx, timeIdx);
Scalar y = pos[1] - this->boundingBoxMin()[1];
Scalar height = this->boundingBoxMax()[1] - this->boundingBoxMin()[1];
// parabolic velocity profile
Scalar maxVelocity = 1.0;
Scalar a = -4*maxVelocity/(height*height);
Scalar b = -a*height;
Scalar c = 0.0;
DimVector velocity(0.0);
velocity[0] = a*y*y + b*y + c;
if (onRightBoundary_(pos))
values.setOutFlow(context, spaceIdx, timeIdx);
else if (onLeftBoundary_(pos)) {
// left boundary is constraint!
values = 0.0;
}
else {
// top and bottom
values.setNoFlow(context, spaceIdx, timeIdx);
}
#else
// this is a hack because something seems to be broken with the code for boundary
// conditions in the Stokes model...
values = 0.0;
#endif
}
//! \}
/*!
* \name Volumetric terms
*/
//! \{
/*!
* \copydoc FvBaseProblem::initial
*/
template <class Context>
void initial(PrimaryVariables& values, const Context& context, unsigned spaceIdx,
unsigned timeIdx) const
{
const auto& pos = context.pos(spaceIdx, timeIdx);
Scalar y = pos[1] - this->boundingBoxMin()[1];
Scalar height = this->boundingBoxMax()[1] - this->boundingBoxMin()[1];
// parabolic velocity profile on boundaries
const Scalar maxVelocity = 1.0;
Scalar a = -4 * maxVelocity / (height * height);
Scalar b = -a * height;
Scalar c = 0;
DimVector velocity(0.0);
velocity[0] = a * y * y + b * y + c;
for (unsigned axisIdx = 0; axisIdx < dimWorld; ++axisIdx)
values[velocity0Idx + axisIdx] = velocity[axisIdx];
values[pressureIdx] = 1e5;
}
/*!
* \copydoc FvBaseProblem::source
*
* For this problem, the source term of all conserved quantities
* is 0 everywhere.
*/
template <class Context>
void source(RateVector& rate,
const Context& context OPM_UNUSED,
unsigned spaceIdx OPM_UNUSED,
unsigned timeIdx OPM_UNUSED) const
{ rate = Scalar(0.0); }
/*!
* \copydoc FvBaseProblem::constraints
*
* For this problem, the left side of the domain gets a parabolic
* velocity profile using constraints.
*/
template <class Context>
void constraints(Constraints& constraints,
const Context& context,
unsigned spaceIdx,
unsigned timeIdx) const
{
const auto& pos = context.pos(spaceIdx, timeIdx);
if (onLeftBoundary_(pos) || onRightBoundary_(pos)) {
constraints.setActive(true);
initial(constraints, context, spaceIdx, timeIdx);
}
}
//! \}
private:
bool onLeftBoundary_(const GlobalPosition& pos) const
{ return pos[0] < this->boundingBoxMin()[0] + eps_; }
bool onRightBoundary_(const GlobalPosition& pos) const
{ return pos[0] > this->boundingBoxMax()[0] - eps_; }
bool onLowerBoundary_(const GlobalPosition& pos) const
{ return pos[1] < this->boundingBoxMin()[1] + eps_; }
bool onUpperBoundary_(const GlobalPosition& pos) const
{ return pos[1] > this->boundingBoxMax()[1] - eps_; }
bool onBoundary_(const GlobalPosition& pos) const
{
return onLeftBoundary_(pos) || onRightBoundary_(pos)
|| onLowerBoundary_(pos) || onUpperBoundary_(pos);
}
Scalar eps_;
};
} // namespace Ewoms
#endif

View File

@ -1 +0,0 @@
stokes2ctest_fd-heuristix.vtu

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,565 +0,0 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
<UnstructuredGrid>
<Piece NumberOfCells="324" NumberOfPoints="361">
<PointData Scalars="pressure_gas" Vectors="velocity_gas">
<DataArray type="Float32" Name="pressure_gas" NumberOfComponents="1" format="ascii">
100012 100012 100012 100012 100012 100012 100012 100012 100012 100021 100012 100002
100012 100011 100012 100011 100012 100011 100012 100011 100012 100011 100012 100011
100012 100011 100012 100002 100012 100021 100012 100012 100012 100012 100012 100012
100012 100012 100010 100010 100010 100010 100012 100008 100011 100010 100010 100010
100010 100010 100011 100008 100012 100010 100010 100010 100010 100010 100010 100010
100010 100019 100001 100010 100009 100009 100009 100009 100009 100010 100001 100019
100010 100010 100010 100010 100009 100009 100009 100008 100012 100005 100010 100008
100009 100009 100009 100008 100010 100005 100012 100008 100009 100009 100009 100009
100009 100009 100009 100018 99998.3 100007 100007 100007 100007 100007 100007 100007
99998.3 100018 100009 100009 100009 100009 100008 100008 100008 100007 100011 100005
100009 100008 100008 100008 100008 100008 100009 100005 100011 100007 100008 100008
100008 100008 100008 100008 100007 100015 99998.7 100006 100006 100006 100006 100006
100006 100006 99998.7 100015 100007 100008 100008 100008 100006 100006 100007 100006
100009 100004 100008 100006 100007 100007 100007 100006 100008 100004 100009 100006
100007 100006 100006 100006 100006 100006 100006 100011 99999.1 100004 100004 100004
100004 100004 100004 100004 99999.1 100011 100006 100006 100006 100006 100005 100005
100005 100004 100007 100004 100006 100005 100005 100005 100005 100005 100006 100004
100007 100004 100005 100005 100005 100005 100005 100005 100005 100008 99999.5 100002
100003 100003 100003 100003 100003 100002 99999.5 100008 100005 100005 100005 100005
100004 100004 100004 100003 100004 100003 100004 100004 100004 100004 100004 100004
100004 100003 100004 100003 100004 100004 100004 100004 100004 100004 100004 100005
99999.8 100001 100001 100001 100001 100001 100001 100001 99999.8 100005 100004 100004
100004 100004 100003 100003 100003 100002 100002 100004 100003 100003 100003 100003
100003 100003 100003 100004 100002 100002 100003 100003 100003 100002 100002 100002
100003 100004 99997.4 99998.6 99998.9 99999 99999 99999 99998.9 99998.6 99997.4 100004
100003 100002 100002 100002 100001 100001 100001 100001 100001 100002 100002 100002
100001 100002 100001 100002 100002 100002 100001 100001 100001 100001 100001 100001
100001 100001 100001 100002 99996.1 99997.2 99997.5 99997.6 99997.6 99997.6 99997.5 99997.2
99996.1 100002 100001 100001 100001 100001 100000 100000 100000 100000 100000 100000
100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000
100000
</DataArray>
<DataArray type="Float32" Name="density_gas" NumberOfComponents="1" format="ascii">
1.23021 1.23021 1.2302 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302
1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302
1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302 1.23021 1.2302
1.23021 1.2302 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019
1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019
1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019 1.23019
1.23019 1.23019 1.23019 1.23019 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018
1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23018 1.23017
1.23017 1.23017 1.23017 1.23017 1.22584 1.22584 1.22584 1.22584 1.22584 1.22584 1.22584 1.22584
1.22584 1.23017 1.23017 1.23017 1.23017 1.23017 1.23016 1.23016 1.23016 1.23016 1.23016 1.22584
1.22584 1.22584 1.22584 1.22584 1.22584 1.22584 1.22584 1.22584 1.23016 1.23016 1.23016 1.23016
1.23016 1.23015 1.23015 1.23015 1.23015 1.23015 1.22583 1.22583 1.22583 1.22583 1.22583 1.22583
1.22583 1.22583 1.22583 1.23015 1.23015 1.23015 1.23015 1.23015 1.23015 1.23015 1.23015 1.23015
1.23015 1.22582 1.22582 1.22582 1.22582 1.22582 1.22582 1.22582 1.22582 1.22582 1.23015 1.23015
1.23015 1.23015 1.23015 1.23014 1.23014 1.23014 1.23014 1.23014 1.22581 1.22581 1.22581 1.22581
1.22581 1.22581 1.22581 1.22581 1.22581 1.23014 1.23014 1.23014 1.23014 1.23014 1.23013 1.23013
1.23013 1.23013 1.23013 1.2258 1.2258 1.2258 1.2258 1.2258 1.2258 1.2258 1.2258 1.2258
1.23013 1.23013 1.23013 1.23013 1.23013 1.23012 1.23012 1.23012 1.23012 1.23012 1.2258 1.2258
1.2258 1.2258 1.2258 1.2258 1.2258 1.2258 1.2258 1.23012 1.23012 1.23012 1.23012 1.23012
1.23011 1.23011 1.23011 1.23011 1.23011 1.22579 1.22579 1.22579 1.22579 1.22579 1.22579 1.22579
1.22579 1.22579 1.23011 1.23011 1.23011 1.23011 1.23011 1.23011 1.23011 1.23011 1.23011 1.23011
1.22578 1.22578 1.22578 1.22578 1.22578 1.22578 1.22578 1.22578 1.22578 1.23011 1.23011 1.23011
1.23011 1.23011 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301
1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.2301 1.23009 1.23009 1.23009
1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009 1.23009
1.23009 1.23009 1.23009 1.23009 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008
1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23008 1.23007
1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007
1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007
1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007 1.23007
1.23007
</DataArray>
<DataArray type="Float32" Name="moleFraction_gas^H2O" NumberOfComponents="1" format="ascii">
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05
9e-05 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 9e-05
9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05
9e-05 9e-05 9e-05 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 9e-05 9e-05 9e-05 9e-05
9e-05 9e-05 9e-05 9e-05 9e-05 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 9e-05 9e-05
9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05
9e-05 9e-05 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 9e-05 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001
0.0001
</DataArray>
<DataArray type="Float32" Name="moleFraction_gas^Air" NumberOfComponents="1" format="ascii">
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991
0.99991 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.99991
0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991
0.99991 0.99991 0.99991 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.99991 0.99991 0.99991 0.99991
0.99991 0.99991 0.99991 0.99991 0.99991 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.99991 0.99991
0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991
0.99991 0.99991 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.99991 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
0.9999
</DataArray>
<DataArray type="Float32" Name="temperature_gas" NumberOfComponents="1" format="ascii">
283.15 283.15 283.152 283.152 283.15 283.152 283.15 283.152 283.15 283.177 283.15 283.124
283.15 283.15 283.15 283.15 283.15 283.149 283.15 283.149 283.15 283.149 283.15 283.15
283.15 283.15 283.15 283.124 283.15 283.177 283.15 283.152 283.15 283.152 283.15 283.152
283.15 283.152 283.15 283.15 283.15 283.148 283.155 283.144 283.151 283.149 283.149 283.149
283.149 283.149 283.151 283.144 283.155 283.148 283.15 283.15 283.15 283.152 283.152 283.152
283.151 283.177 283.124 283.15 283.149 283.149 283.149 283.149 283.149 283.15 283.124 283.177
283.151 283.152 283.152 283.152 283.15 283.15 283.151 283.147 283.16 283.139 283.152 283.148
283.149 283.149 283.149 283.148 283.152 283.139 283.16 283.147 283.151 283.15 283.15 283.152
283.152 283.152 283.151 283.176 284.121 284.147 284.146 284.146 284.146 284.146 284.146 284.147
284.121 283.176 283.151 283.152 283.152 283.152 283.15 283.15 283.151 283.147 283.158 284.143
284.154 284.15 284.151 284.151 284.151 284.15 284.154 284.143 283.158 283.147 283.151 283.15
283.15 283.152 283.151 283.152 283.151 283.171 284.126 284.146 284.145 284.146 284.146 284.146
284.145 284.146 284.126 283.171 283.151 283.152 283.151 283.152 283.15 283.15 283.15 283.147
283.156 284.144 284.153 284.15 284.15 284.15 284.15 284.15 284.153 284.144 283.156 283.147
283.15 283.15 283.15 283.151 283.151 283.152 283.151 283.166 284.131 284.145 284.145 284.145
284.145 284.145 284.145 284.145 284.131 283.166 283.151 283.152 283.151 283.151 283.15 283.15
283.15 283.148 283.154 284.146 284.152 284.149 284.15 284.15 284.15 284.149 284.152 284.146
283.154 283.148 283.15 283.15 283.15 283.151 283.151 283.151 283.152 283.16 284.136 284.144
284.145 284.145 284.145 284.145 284.145 284.144 284.136 283.16 283.152 283.151 283.151 283.151
283.15 283.15 283.15 283.149 283.151 284.148 284.15 284.149 284.149 284.149 284.149 284.149
284.15 284.148 283.151 283.149 283.15 283.15 283.15 283.151 283.151 283.151 283.152 283.155
284.14 284.143 284.144 284.144 284.144 284.144 284.144 284.143 284.14 283.155 283.152 283.151
283.151 283.151 283.15 283.15 283.15 283.15 283.148 283.154 283.151 283.151 283.151 283.151
283.151 283.151 283.151 283.154 283.148 283.15 283.15 283.15 283.15 283.151 283.151 283.151
283.152 283.155 283.137 283.14 283.141 283.142 283.142 283.142 283.141 283.14 283.137 283.155
283.152 283.151 283.151 283.151 283.15 283.15 283.15 283.15 283.149 283.152 283.151 283.151
283.151 283.151 283.151 283.151 283.151 283.152 283.149 283.15 283.15 283.15 283.15 283.151
283.151 283.151 283.152 283.155 283.137 283.14 283.141 283.141 283.141 283.141 283.141 283.14
283.137 283.155 283.152 283.151 283.151 283.151 283.15 283.15 283.15 283.15 283.15 283.15
283.15 283.15 283.15 283.15 283.15 283.15 283.15 283.15 283.15 283.15 283.15 283.15
283.15
</DataArray>
<DataArray type="Float32" Name="viscosity_gas" NumberOfComponents="1" format="ascii">
1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75175e-05 1.75174e-05 1.75175e-05 1.75174e-05 1.75187e-05 1.75174e-05 1.75162e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75162e-05 1.75174e-05 1.75187e-05 1.75174e-05 1.75175e-05 1.75174e-05 1.75175e-05 1.75174e-05 1.75175e-05
1.75174e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75173e-05 1.75177e-05 1.75171e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05
1.75174e-05 1.75174e-05 1.75175e-05 1.75171e-05 1.75177e-05 1.75173e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05
1.75175e-05 1.75187e-05 1.75162e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75162e-05 1.75187e-05
1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75173e-05 1.75179e-05 1.75169e-05 1.75175e-05 1.75173e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75173e-05 1.75175e-05 1.75169e-05 1.75179e-05 1.75173e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75175e-05
1.75175e-05 1.75175e-05 1.75175e-05 1.75187e-05 1.75647e-05 1.75659e-05 1.75659e-05 1.75659e-05 1.75659e-05 1.75659e-05 1.75659e-05 1.75659e-05
1.75647e-05 1.75187e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75173e-05 1.75178e-05 1.75657e-05
1.75662e-05 1.75661e-05 1.75661e-05 1.75661e-05 1.75661e-05 1.75661e-05 1.75662e-05 1.75657e-05 1.75178e-05 1.75173e-05 1.75175e-05 1.75174e-05
1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75184e-05 1.75649e-05 1.75659e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05
1.75658e-05 1.75659e-05 1.75649e-05 1.75184e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75173e-05
1.75177e-05 1.75658e-05 1.75662e-05 1.7566e-05 1.75661e-05 1.75661e-05 1.75661e-05 1.7566e-05 1.75662e-05 1.75658e-05 1.75177e-05 1.75173e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75182e-05 1.75651e-05 1.75658e-05 1.75658e-05 1.75658e-05
1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75651e-05 1.75182e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05
1.75174e-05 1.75173e-05 1.75176e-05 1.75659e-05 1.75661e-05 1.7566e-05 1.7566e-05 1.7566e-05 1.7566e-05 1.7566e-05 1.75661e-05 1.75659e-05
1.75176e-05 1.75173e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75179e-05 1.75654e-05 1.75658e-05
1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75654e-05 1.75179e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.7566e-05 1.75661e-05 1.7566e-05 1.7566e-05 1.7566e-05 1.7566e-05 1.7566e-05
1.75661e-05 1.7566e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75177e-05
1.75656e-05 1.75657e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75658e-05 1.75657e-05 1.75656e-05 1.75177e-05 1.75175e-05 1.75175e-05
1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75173e-05 1.75176e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05
1.75175e-05 1.75175e-05 1.75175e-05 1.75176e-05 1.75173e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05
1.75175e-05 1.75177e-05 1.75168e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.75168e-05 1.75177e-05
1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75175e-05
1.75175e-05 1.75175e-05 1.75175e-05 1.75177e-05 1.75168e-05 1.75169e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.7517e-05 1.75169e-05
1.75168e-05 1.75177e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75175e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05
1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05 1.75174e-05
1.75174e-05
</DataArray>
<DataArray type="Float32" Name="velocity_gas" NumberOfComponents="3" format="ascii">
0 283.15 0 0 283.15 0 1.76649 283.152 0 -1.00273 283.152 0
0 283.15 0 -15.2883 283.152 0 0 283.15 0 152.668 283.152 0
0 283.15 0 -145.187 283.177 0 0 283.15 0 -145.192 283.124 0
0 283.15 0 152.674 283.15 0 0 283.15 0 -15.3189 283.15 0
0 283.15 0 -0.757377 283.149 0 0 283.15 0 1.5539e-06 283.149 0
0 283.15 0 0.757379 283.149 0 0 283.15 0 15.3189 283.15 0
0 283.15 0 -152.674 283.15 0 0 283.15 0 145.192 283.124 0
0 283.15 0 145.187 283.177 0 0 283.15 0 -152.668 283.152 0
0 283.15 0 15.2883 283.152 0 0 283.15 0 1.00272 283.152 0
0 283.15 0 -1.76648 283.152 0 -0.352171 283.15 0 3.16329 283.15 0
-17.0481 283.15 0 54.7835 283.148 0 -42.7984 283.155 0 -42.7984 283.144 0
54.7812 283.151 0 -17.0412 283.149 0 3.11806 283.149 0 -4.99531e-07 283.149 0
-3.11806 283.149 0 17.0412 283.149 0 -54.7812 283.151 0 42.7984 283.144 0
42.7984 283.155 0 -54.7835 283.148 0 17.0481 283.15 0 -3.16329 283.15 0
0.35217 283.15 0 0.541831 283.152 0 1.19114 283.152 0 -21.0618 283.152 0
162.108 283.151 0 -150.874 283.177 0 -150.893 283.124 0 162.121 283.15 0
-21.0653 283.149 0 1.25616 283.149 0 5.17464e-07 283.149 0 -1.25616 283.149 0
21.0653 283.149 0 -162.121 283.15 0 150.893 283.124 0 150.874 283.177 0
-162.108 283.151 0 21.0618 283.152 0 -1.19114 283.152 0 -0.541828 283.152 0
-1.31463 283.15 0 6.40671 283.15 0 -31.8475 283.151 0 101.043 283.147 0
-79.4871 283.16 0 -79.3859 283.139 0 100.958 283.152 0 -31.8105 283.148 0
6.20676 283.149 0 -3.45928e-06 283.149 0 -6.20676 283.149 0 31.8105 283.148 0
-100.958 283.152 0 79.3859 283.139 0 79.487 283.16 0 -101.043 283.147 0
31.8475 283.151 0 -6.40671 283.15 0 1.31463 283.15 0 -1.53598 283.152 0
4.94929 283.152 0 -32.2083 283.152 0 186.78 283.151 0 -187.45 283.176 0
-188.289 284.121 0 187.405 284.147 0 -32.2506 284.146 0 4.74002 284.146 0
-1.97328e-06 284.146 0 -4.74001 284.146 0 32.2506 284.146 0 -187.405 284.147 0
188.289 284.121 0 187.45 283.176 0 -186.78 283.151 0 32.2083 283.152 0
-4.94929 283.152 0 1.53598 283.152 0 -1.46711 283.15 0 6.56677 283.15 0
-31.4285 283.151 0 91.5636 283.147 0 -55.1418 283.158 0 -55.421 284.143 0
91.879 284.154 0 -31.4848 284.15 0 6.35213 284.151 0 -4.00553e-06 284.151 0
-6.35213 284.151 0 31.4848 284.15 0 -91.879 284.154 0 55.421 284.143 0
55.1418 283.158 0 -91.5636 283.147 0 31.4285 283.151 0 -6.56677 283.15 0
1.4671 283.15 0 -1.92729 283.152 0 5.01227 283.151 0 -27.0263 283.152 0
152.723 283.151 0 -157.421 283.171 0 -158.072 284.126 0 153.184 284.146 0
-27.0396 284.145 0 4.73911 284.146 0 -4.29111e-06 284.146 0 -4.73911 284.146 0
27.0397 284.145 0 -153.184 284.146 0 158.072 284.126 0 157.421 283.171 0
-152.723 283.151 0 27.0263 283.152 0 -5.01227 283.151 0 1.92729 283.152 0
-1.65655 283.15 0 6.149 283.15 0 -28.5569 283.15 0 79.1362 283.147 0
-49.3701 283.156 0 -49.6168 284.144 0 79.4071 284.153 0 -28.6012 284.15 0
5.91262 284.15 0 -4.3194e-06 284.15 0 -5.91261 284.15 0 28.6012 284.15 0
-79.4071 284.153 0 49.6168 284.144 0 49.3701 283.156 0 -79.1363 283.147 0
28.5569 283.15 0 -6.149 283.15 0 1.65655 283.15 0 -2.00779 283.151 0
4.50607 283.151 0 -20.4016 283.152 0 116.034 283.151 0 -126.554 283.166 0
-127.08 284.131 0 116.382 284.145 0 -20.4003 284.145 0 4.22065 284.145 0
-3.80898e-06 284.145 0 -4.22064 284.145 0 20.4003 284.145 0 -116.382 284.145 0
127.08 284.131 0 126.554 283.166 0 -116.034 283.151 0 20.4016 283.152 0
-4.50607 283.151 0 2.00779 283.151 0 -1.55271 283.15 0 4.8965 283.15 0
-22.1387 283.15 0 57.422 283.148 0 -37.2608 283.154 0 -37.4441 284.146 0
57.6154 284.152 0 -22.1678 284.149 0 4.67926 284.15 0 -3.13783e-06 284.15 0
-4.67925 284.15 0 22.1678 284.149 0 -57.6154 284.152 0 37.4441 284.146 0
37.2608 283.154 0 -57.422 283.148 0 22.1387 283.15 0 -4.8965 283.15 0
1.55271 283.15 0 -1.55718 283.151 0 3.06306 283.151 0 -11.3074 283.151 0
74.8583 283.152 0 -93.3805 283.16 0 -93.7699 284.136 0 75.0813 284.144 0
-11.2969 284.145 0 2.84658 284.145 0 -4.59287e-06 284.145 0 -2.84658 284.145 0
11.2969 284.145 0 -75.0813 284.144 0 93.7699 284.136 0 93.3805 283.16 0
-74.8583 283.152 0 11.3074 283.151 0 -3.06306 283.151 0 1.55718 283.151 0
-0.84853 283.15 0 2.65593 283.15 0 -12.1617 283.15 0 26.8341 283.149 0
-19.2804 283.151 0 -19.3816 284.148 0 26.9275 284.15 0 -12.1795 284.149 0
2.54219 284.149 0 -3.82344e-06 284.149 0 -2.54219 284.149 0 12.1795 284.149 0
-26.9276 284.15 0 19.3816 284.148 0 19.2804 283.151 0 -26.8341 283.149 0
12.1617 283.15 0 -2.65593 283.15 0 0.848532 283.15 0 -0.433772 283.151 0
0.542267 283.151 0 0.768438 283.151 0 28.0448 283.152 0 -56.8064 283.155 0
-57.0333 284.14 0 28.1209 284.143 0 0.783421 284.144 0 0.4893 284.144 0
-2.06659e-06 284.144 0 -0.489296 284.144 0 -0.783413 284.144 0 -28.121 284.143 0
57.0333 284.14 0 56.8064 283.155 0 -28.0448 283.152 0 -0.768436 283.151 0
-0.542268 283.151 0 0.433773 283.151 0 0.539075 283.15 0 -0.66239 283.15 0
2.249 283.15 0 -18.7374 283.15 0 29.4075 283.148 0 29.4379 283.154 0
-18.744 283.151 0 2.23863 283.151 0 -0.597453 283.151 0 -2.82621e-06 283.151 0
0.597454 283.151 0 -2.23862 283.151 0 18.744 283.151 0 -29.4379 283.154 0
-29.4075 283.148 0 18.7374 283.15 0 -2.249 283.15 0 0.66239 283.15 0
-0.539074 283.15 0 -0.25761 283.151 0 0.558587 283.151 0 0.376949 283.151 0
30.4587 283.152 0 -77.4495 283.155 0 -77.4555 283.137 0 30.4576 283.14 0
0.380832 283.141 0 0.529631 283.142 0 -2.88566e-06 283.142 0 -0.529626 283.142 0
-0.380824 283.141 0 -30.4576 283.14 0 77.4555 283.137 0 77.4495 283.155 0
-30.4587 283.152 0 -0.376947 283.151 0 -0.558587 283.151 0 0.25761 283.151 0
0.277617 283.15 0 -0.308565 283.15 0 0.790311 283.15 0 -7.78736 283.15 0
12.6955 283.149 0 12.6966 283.152 0 -7.78636 283.151 0 0.785282 283.151 0
-0.271962 283.151 0 4.02743e-07 283.151 0 0.271962 283.151 0 -0.78528 283.151 0
7.78636 283.151 0 -12.6966 283.152 0 -12.6955 283.149 0 7.78736 283.15 0
-0.79031 283.15 0 0.308564 283.15 0 -0.277616 283.15 0 -0.147219 283.151 0
0.575001 283.151 0 0.397696 283.151 0 29.26 283.152 0 -76.0206 283.155 0
-76.0224 283.137 0 29.2578 283.14 0 0.401475 283.141 0 0.552293 283.141 0
-2.0979e-06 283.141 0 -0.552286 283.141 0 -0.401469 283.141 0 -29.2578 283.14 0
76.0224 283.137 0 76.0206 283.155 0 -29.26 283.152 0 -0.397694 283.151 0
-0.575002 283.151 0 0.147221 283.151 0 0 283.15 0 0 283.15 0
0 283.15 0 0 283.15 0 0 283.15 0 0 283.15 0
0 283.15 0 0 283.15 0 0 283.15 0 0 283.15 0
0 283.15 0 0 283.15 0 0 283.15 0 0 283.15 0
0 283.15 0 0 283.15 0 0 283.15 0 0 283.15 0
0 283.15 0
</DataArray>
</PointData>
<Points>
<DataArray type="Float32" Name="Coordinates" NumberOfComponents="3" format="ascii">
0 0 0 0.0555556 0 0 0 0.0555556 0 0.0555556 0.0555556 0
0.111111 0 0 0.111111 0.0555556 0 0.166667 0 0 0.166667 0.0555556 0
0.222222 0 0 0.222222 0.0555556 0 0.277778 0 0 0.277778 0.0555556 0
0.333333 0 0 0.333333 0.0555556 0 0.388889 0 0 0.388889 0.0555556 0
0.444444 0 0 0.444444 0.0555556 0 0.5 0 0 0.5 0.0555556 0
0.555556 0 0 0.555556 0.0555556 0 0.611111 0 0 0.611111 0.0555556 0
0.666667 0 0 0.666667 0.0555556 0 0.722222 0 0 0.722222 0.0555556 0
0.777778 0 0 0.777778 0.0555556 0 0.833333 0 0 0.833333 0.0555556 0
0.888889 0 0 0.888889 0.0555556 0 0.944444 0 0 0.944444 0.0555556 0
1 0 0 1 0.0555556 0 0 0.111111 0 0.0555556 0.111111 0
0.111111 0.111111 0 0.166667 0.111111 0 0.222222 0.111111 0 0.277778 0.111111 0
0.333333 0.111111 0 0.388889 0.111111 0 0.444444 0.111111 0 0.5 0.111111 0
0.555556 0.111111 0 0.611111 0.111111 0 0.666667 0.111111 0 0.722222 0.111111 0
0.777778 0.111111 0 0.833333 0.111111 0 0.888889 0.111111 0 0.944444 0.111111 0
1 0.111111 0 0 0.166667 0 0.0555556 0.166667 0 0.111111 0.166667 0
0.166667 0.166667 0 0.222222 0.166667 0 0.277778 0.166667 0 0.333333 0.166667 0
0.388889 0.166667 0 0.444444 0.166667 0 0.5 0.166667 0 0.555556 0.166667 0
0.611111 0.166667 0 0.666667 0.166667 0 0.722222 0.166667 0 0.777778 0.166667 0
0.833333 0.166667 0 0.888889 0.166667 0 0.944444 0.166667 0 1 0.166667 0
0 0.222222 0 0.0555556 0.222222 0 0.111111 0.222222 0 0.166667 0.222222 0
0.222222 0.222222 0 0.277778 0.222222 0 0.333333 0.222222 0 0.388889 0.222222 0
0.444444 0.222222 0 0.5 0.222222 0 0.555556 0.222222 0 0.611111 0.222222 0
0.666667 0.222222 0 0.722222 0.222222 0 0.777778 0.222222 0 0.833333 0.222222 0
0.888889 0.222222 0 0.944444 0.222222 0 1 0.222222 0 0 0.277778 0
0.0555556 0.277778 0 0.111111 0.277778 0 0.166667 0.277778 0 0.222222 0.277778 0
0.277778 0.277778 0 0.333333 0.277778 0 0.388889 0.277778 0 0.444444 0.277778 0
0.5 0.277778 0 0.555556 0.277778 0 0.611111 0.277778 0 0.666667 0.277778 0
0.722222 0.277778 0 0.777778 0.277778 0 0.833333 0.277778 0 0.888889 0.277778 0
0.944444 0.277778 0 1 0.277778 0 0 0.333333 0 0.0555556 0.333333 0
0.111111 0.333333 0 0.166667 0.333333 0 0.222222 0.333333 0 0.277778 0.333333 0
0.333333 0.333333 0 0.388889 0.333333 0 0.444444 0.333333 0 0.5 0.333333 0
0.555556 0.333333 0 0.611111 0.333333 0 0.666667 0.333333 0 0.722222 0.333333 0
0.777778 0.333333 0 0.833333 0.333333 0 0.888889 0.333333 0 0.944444 0.333333 0
1 0.333333 0 0 0.388889 0 0.0555556 0.388889 0 0.111111 0.388889 0
0.166667 0.388889 0 0.222222 0.388889 0 0.277778 0.388889 0 0.333333 0.388889 0
0.388889 0.388889 0 0.444444 0.388889 0 0.5 0.388889 0 0.555556 0.388889 0
0.611111 0.388889 0 0.666667 0.388889 0 0.722222 0.388889 0 0.777778 0.388889 0
0.833333 0.388889 0 0.888889 0.388889 0 0.944444 0.388889 0 1 0.388889 0
0 0.444444 0 0.0555556 0.444444 0 0.111111 0.444444 0 0.166667 0.444444 0
0.222222 0.444444 0 0.277778 0.444444 0 0.333333 0.444444 0 0.388889 0.444444 0
0.444444 0.444444 0 0.5 0.444444 0 0.555556 0.444444 0 0.611111 0.444444 0
0.666667 0.444444 0 0.722222 0.444444 0 0.777778 0.444444 0 0.833333 0.444444 0
0.888889 0.444444 0 0.944444 0.444444 0 1 0.444444 0 0 0.5 0
0.0555556 0.5 0 0.111111 0.5 0 0.166667 0.5 0 0.222222 0.5 0
0.277778 0.5 0 0.333333 0.5 0 0.388889 0.5 0 0.444444 0.5 0
0.5 0.5 0 0.555556 0.5 0 0.611111 0.5 0 0.666667 0.5 0
0.722222 0.5 0 0.777778 0.5 0 0.833333 0.5 0 0.888889 0.5 0
0.944444 0.5 0 1 0.5 0 0 0.555556 0 0.0555556 0.555556 0
0.111111 0.555556 0 0.166667 0.555556 0 0.222222 0.555556 0 0.277778 0.555556 0
0.333333 0.555556 0 0.388889 0.555556 0 0.444444 0.555556 0 0.5 0.555556 0
0.555556 0.555556 0 0.611111 0.555556 0 0.666667 0.555556 0 0.722222 0.555556 0
0.777778 0.555556 0 0.833333 0.555556 0 0.888889 0.555556 0 0.944444 0.555556 0
1 0.555556 0 0 0.611111 0 0.0555556 0.611111 0 0.111111 0.611111 0
0.166667 0.611111 0 0.222222 0.611111 0 0.277778 0.611111 0 0.333333 0.611111 0
0.388889 0.611111 0 0.444444 0.611111 0 0.5 0.611111 0 0.555556 0.611111 0
0.611111 0.611111 0 0.666667 0.611111 0 0.722222 0.611111 0 0.777778 0.611111 0
0.833333 0.611111 0 0.888889 0.611111 0 0.944444 0.611111 0 1 0.611111 0
0 0.666667 0 0.0555556 0.666667 0 0.111111 0.666667 0 0.166667 0.666667 0
0.222222 0.666667 0 0.277778 0.666667 0 0.333333 0.666667 0 0.388889 0.666667 0
0.444444 0.666667 0 0.5 0.666667 0 0.555556 0.666667 0 0.611111 0.666667 0
0.666667 0.666667 0 0.722222 0.666667 0 0.777778 0.666667 0 0.833333 0.666667 0
0.888889 0.666667 0 0.944444 0.666667 0 1 0.666667 0 0 0.722222 0
0.0555556 0.722222 0 0.111111 0.722222 0 0.166667 0.722222 0 0.222222 0.722222 0
0.277778 0.722222 0 0.333333 0.722222 0 0.388889 0.722222 0 0.444444 0.722222 0
0.5 0.722222 0 0.555556 0.722222 0 0.611111 0.722222 0 0.666667 0.722222 0
0.722222 0.722222 0 0.777778 0.722222 0 0.833333 0.722222 0 0.888889 0.722222 0
0.944444 0.722222 0 1 0.722222 0 0 0.777778 0 0.0555556 0.777778 0
0.111111 0.777778 0 0.166667 0.777778 0 0.222222 0.777778 0 0.277778 0.777778 0
0.333333 0.777778 0 0.388889 0.777778 0 0.444444 0.777778 0 0.5 0.777778 0
0.555556 0.777778 0 0.611111 0.777778 0 0.666667 0.777778 0 0.722222 0.777778 0
0.777778 0.777778 0 0.833333 0.777778 0 0.888889 0.777778 0 0.944444 0.777778 0
1 0.777778 0 0 0.833333 0 0.0555556 0.833333 0 0.111111 0.833333 0
0.166667 0.833333 0 0.222222 0.833333 0 0.277778 0.833333 0 0.333333 0.833333 0
0.388889 0.833333 0 0.444444 0.833333 0 0.5 0.833333 0 0.555556 0.833333 0
0.611111 0.833333 0 0.666667 0.833333 0 0.722222 0.833333 0 0.777778 0.833333 0
0.833333 0.833333 0 0.888889 0.833333 0 0.944444 0.833333 0 1 0.833333 0
0 0.888889 0 0.0555556 0.888889 0 0.111111 0.888889 0 0.166667 0.888889 0
0.222222 0.888889 0 0.277778 0.888889 0 0.333333 0.888889 0 0.388889 0.888889 0
0.444444 0.888889 0 0.5 0.888889 0 0.555556 0.888889 0 0.611111 0.888889 0
0.666667 0.888889 0 0.722222 0.888889 0 0.777778 0.888889 0 0.833333 0.888889 0
0.888889 0.888889 0 0.944444 0.888889 0 1 0.888889 0 0 0.944444 0
0.0555556 0.944444 0 0.111111 0.944444 0 0.166667 0.944444 0 0.222222 0.944444 0
0.277778 0.944444 0 0.333333 0.944444 0 0.388889 0.944444 0 0.444444 0.944444 0
0.5 0.944444 0 0.555556 0.944444 0 0.611111 0.944444 0 0.666667 0.944444 0
0.722222 0.944444 0 0.777778 0.944444 0 0.833333 0.944444 0 0.888889 0.944444 0
0.944444 0.944444 0 1 0.944444 0 0 1 0 0.0555556 1 0
0.111111 1 0 0.166667 1 0 0.222222 1 0 0.277778 1 0
0.333333 1 0 0.388889 1 0 0.444444 1 0 0.5 1 0
0.555556 1 0 0.611111 1 0 0.666667 1 0 0.722222 1 0
0.777778 1 0 0.833333 1 0 0.888889 1 0 0.944444 1 0
1 1 0
</DataArray>
</Points>
<Cells>
<DataArray type="Int32" Name="connectivity" NumberOfComponents="1" format="ascii">
0 1 3 2 1 4 5 3 4 6 7 5
6 8 9 7 8 10 11 9 10 12 13 11
12 14 15 13 14 16 17 15 16 18 19 17
18 20 21 19 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
2 3 39 38 3 5 40 39 5 7 41 40
7 9 42 41 9 11 43 42 11 13 44 43
13 15 45 44 15 17 46 45 17 19 47 46
19 21 48 47 21 23 49 48 23 25 50 49
25 27 51 50 27 29 52 51 29 31 53 52
31 33 54 53 33 35 55 54 35 37 56 55
38 39 58 57 39 40 59 58 40 41 60 59
41 42 61 60 42 43 62 61 43 44 63 62
44 45 64 63 45 46 65 64 46 47 66 65
47 48 67 66 48 49 68 67 49 50 69 68
50 51 70 69 51 52 71 70 52 53 72 71
53 54 73 72 54 55 74 73 55 56 75 74
57 58 77 76 58 59 78 77 59 60 79 78
60 61 80 79 61 62 81 80 62 63 82 81
63 64 83 82 64 65 84 83 65 66 85 84
66 67 86 85 67 68 87 86 68 69 88 87
69 70 89 88 70 71 90 89 71 72 91 90
72 73 92 91 73 74 93 92 74 75 94 93
76 77 96 95 77 78 97 96 78 79 98 97
79 80 99 98 80 81 100 99 81 82 101 100
82 83 102 101 83 84 103 102 84 85 104 103
85 86 105 104 86 87 106 105 87 88 107 106
88 89 108 107 89 90 109 108 90 91 110 109
91 92 111 110 92 93 112 111 93 94 113 112
95 96 115 114 96 97 116 115 97 98 117 116
98 99 118 117 99 100 119 118 100 101 120 119
101 102 121 120 102 103 122 121 103 104 123 122
104 105 124 123 105 106 125 124 106 107 126 125
107 108 127 126 108 109 128 127 109 110 129 128
110 111 130 129 111 112 131 130 112 113 132 131
114 115 134 133 115 116 135 134 116 117 136 135
117 118 137 136 118 119 138 137 119 120 139 138
120 121 140 139 121 122 141 140 122 123 142 141
123 124 143 142 124 125 144 143 125 126 145 144
126 127 146 145 127 128 147 146 128 129 148 147
129 130 149 148 130 131 150 149 131 132 151 150
133 134 153 152 134 135 154 153 135 136 155 154
136 137 156 155 137 138 157 156 138 139 158 157
139 140 159 158 140 141 160 159 141 142 161 160
142 143 162 161 143 144 163 162 144 145 164 163
145 146 165 164 146 147 166 165 147 148 167 166
148 149 168 167 149 150 169 168 150 151 170 169
152 153 172 171 153 154 173 172 154 155 174 173
155 156 175 174 156 157 176 175 157 158 177 176
158 159 178 177 159 160 179 178 160 161 180 179
161 162 181 180 162 163 182 181 163 164 183 182
164 165 184 183 165 166 185 184 166 167 186 185
167 168 187 186 168 169 188 187 169 170 189 188
171 172 191 190 172 173 192 191 173 174 193 192
174 175 194 193 175 176 195 194 176 177 196 195
177 178 197 196 178 179 198 197 179 180 199 198
180 181 200 199 181 182 201 200 182 183 202 201
183 184 203 202 184 185 204 203 185 186 205 204
186 187 206 205 187 188 207 206 188 189 208 207
190 191 210 209 191 192 211 210 192 193 212 211
193 194 213 212 194 195 214 213 195 196 215 214
196 197 216 215 197 198 217 216 198 199 218 217
199 200 219 218 200 201 220 219 201 202 221 220
202 203 222 221 203 204 223 222 204 205 224 223
205 206 225 224 206 207 226 225 207 208 227 226
209 210 229 228 210 211 230 229 211 212 231 230
212 213 232 231 213 214 233 232 214 215 234 233
215 216 235 234 216 217 236 235 217 218 237 236
218 219 238 237 219 220 239 238 220 221 240 239
221 222 241 240 222 223 242 241 223 224 243 242
224 225 244 243 225 226 245 244 226 227 246 245
228 229 248 247 229 230 249 248 230 231 250 249
231 232 251 250 232 233 252 251 233 234 253 252
234 235 254 253 235 236 255 254 236 237 256 255
237 238 257 256 238 239 258 257 239 240 259 258
240 241 260 259 241 242 261 260 242 243 262 261
243 244 263 262 244 245 264 263 245 246 265 264
247 248 267 266 248 249 268 267 249 250 269 268
250 251 270 269 251 252 271 270 252 253 272 271
253 254 273 272 254 255 274 273 255 256 275 274
256 257 276 275 257 258 277 276 258 259 278 277
259 260 279 278 260 261 280 279 261 262 281 280
262 263 282 281 263 264 283 282 264 265 284 283
266 267 286 285 267 268 287 286 268 269 288 287
269 270 289 288 270 271 290 289 271 272 291 290
272 273 292 291 273 274 293 292 274 275 294 293
275 276 295 294 276 277 296 295 277 278 297 296
278 279 298 297 279 280 299 298 280 281 300 299
281 282 301 300 282 283 302 301 283 284 303 302
285 286 305 304 286 287 306 305 287 288 307 306
288 289 308 307 289 290 309 308 290 291 310 309
291 292 311 310 292 293 312 311 293 294 313 312
294 295 314 313 295 296 315 314 296 297 316 315
297 298 317 316 298 299 318 317 299 300 319 318
300 301 320 319 301 302 321 320 302 303 322 321
304 305 324 323 305 306 325 324 306 307 326 325
307 308 327 326 308 309 328 327 309 310 329 328
310 311 330 329 311 312 331 330 312 313 332 331
313 314 333 332 314 315 334 333 315 316 335 334
316 317 336 335 317 318 337 336 318 319 338 337
319 320 339 338 320 321 340 339 321 322 341 340
323 324 343 342 324 325 344 343 325 326 345 344
326 327 346 345 327 328 347 346 328 329 348 347
329 330 349 348 330 331 350 349 331 332 351 350
332 333 352 351 333 334 353 352 334 335 354 353
335 336 355 354 336 337 356 355 337 338 357 356
338 339 358 357 339 340 359 358 340 341 360 359
</DataArray>
<DataArray type="Int32" Name="offsets" NumberOfComponents="1" format="ascii">
4 8 12 16 20 24 28 32 36 40 44 48
52 56 60 64 68 72 76 80 84 88 92 96
100 104 108 112 116 120 124 128 132 136 140 144
148 152 156 160 164 168 172 176 180 184 188 192
196 200 204 208 212 216 220 224 228 232 236 240
244 248 252 256 260 264 268 272 276 280 284 288
292 296 300 304 308 312 316 320 324 328 332 336
340 344 348 352 356 360 364 368 372 376 380 384
388 392 396 400 404 408 412 416 420 424 428 432
436 440 444 448 452 456 460 464 468 472 476 480
484 488 492 496 500 504 508 512 516 520 524 528
532 536 540 544 548 552 556 560 564 568 572 576
580 584 588 592 596 600 604 608 612 616 620 624
628 632 636 640 644 648 652 656 660 664 668 672
676 680 684 688 692 696 700 704 708 712 716 720
724 728 732 736 740 744 748 752 756 760 764 768
772 776 780 784 788 792 796 800 804 808 812 816
820 824 828 832 836 840 844 848 852 856 860 864
868 872 876 880 884 888 892 896 900 904 908 912
916 920 924 928 932 936 940 944 948 952 956 960
964 968 972 976 980 984 988 992 996 1000 1004 1008
1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056
1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104
1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152
1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200
1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248
1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296
</DataArray>
<DataArray type="UInt8" Name="types" NumberOfComponents="1" format="ascii">
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9 9 9
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>

View File

@ -1,36 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \brief Test for the isothermal Stokes VCVF discretization.
*/
#include "config.h"
#include <ewoms/common/start.hh>
#include "problems/stokestestproblem.hh"
int main(int argc, char **argv)
{
typedef TTAG(StokesTestProblem) ProblemTypeTag;
return Ewoms::start<ProblemTypeTag>(argc, argv);
}

View File

@ -1,37 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \brief Test for the isothermal two-component Stokes VCVF discretization.
*/
#include "config.h"
#include <ewoms/common/start.hh>
#include "problems/stokes2ctestproblem.hh"
int main(int argc, char **argv)
{
typedef TTAG(Stokes2cTestProblem) ProblemTypeTag;
return Ewoms::start<ProblemTypeTag>(argc, argv);
}

View File

@ -1,45 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \brief Test for the isothermal two-component Stokes VCVF discretization.
*/
#include "config.h"
#include <ewoms/common/start.hh>
#include "problems/stokes2ctestproblem.hh"
namespace Ewoms {
namespace Properties {
NEW_TYPE_TAG(Stokes2cAdTestProblem,
INHERITS_FROM(Stokes2cTestProblem));
SET_TAG_PROP(Stokes2cAdTestProblem, LocalLinearizerSplice, AutoDiffLocalLinearizer);
}}
int main(int argc, char **argv)
{
typedef TTAG(Stokes2cAdTestProblem) ProblemTypeTag;
return Ewoms::start<ProblemTypeTag>(argc, argv);
}

View File

@ -1,46 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \brief Test for the isothermal two-component Stokes VCVF discretization.
*/
#include "config.h"
#include <ewoms/common/start.hh>
#include "problems/stokes2ctestproblem.hh"
namespace Ewoms {
namespace Properties {
NEW_TYPE_TAG(Stokes2cFdTestProblem,
INHERITS_FROM(Stokes2cTestProblem));
SET_TAG_PROP(Stokes2cFdTestProblem, LocalLinearizerSplice, FiniteDifferenceLocalLinearizer);
}}
int main(int argc, char **argv)
{
typedef TTAG(Stokes2cFdTestProblem) ProblemTypeTag;
return Ewoms::start<ProblemTypeTag>(argc, argv);
}

View File

@ -1,36 +0,0 @@
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*
This file is part of the Open Porous Media project (OPM).
OPM 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.
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
Consult the COPYING file in the top-level source directory of this
module for the precise wording of the license and the list of
copyright holders.
*/
/*!
* \file
*
* \brief Test for the non-isothermal two-component Stokes VCVF discretization.
*/
#include "config.h"
#include <ewoms/common/start.hh>
#include "problems/stokesnitestproblem.hh"
int main(int argc, char **argv)
{
typedef TTAG(StokesNiTestProblem) ProblemTypeTag;
return Ewoms::start<ProblemTypeTag>(argc, argv);
}