diff --git a/src/thermophysicalModels/basic/basicThermo/basicThermo.C b/src/thermophysicalModels/basic/basicThermo/basicThermo.C index 896beac6a..6b417f32b 100644 --- a/src/thermophysicalModels/basic/basicThermo/basicThermo.C +++ b/src/thermophysicalModels/basic/basicThermo/basicThermo.C @@ -149,6 +149,8 @@ void Foam::basicThermo::eBoundaryCorrection(volScalarField& e) } } +//real Gas Boundary Conditions + Foam::wordList Foam::basicThermo::hRealBoundaryTypes() { const volScalarField::GeometricBoundaryField& tbf = T_.boundaryField(); diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.C new file mode 100755 index 000000000..a2e65edaa --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.C @@ -0,0 +1,147 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "fixedEnthalpyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::fixedEnthalpyRealFluids::fixedEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + fixedValueFvPatchScalarField(p, iF) +{} + + +Foam::fixedEnthalpyRealFluids::fixedEnthalpyRealFluids +( + const fixedEnthalpyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + fixedValueFvPatchScalarField(ptf, p, iF, mapper) +{} + + +Foam::fixedEnthalpyRealFluids::fixedEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + fixedValueFvPatchScalarField(p, iF, dict) +{} + + +Foam::fixedEnthalpyRealFluids::fixedEnthalpyRealFluids +( + const fixedEnthalpyRealFluids& tppsf +) +: + fixedValueFvPatchScalarField(tppsf) +{} + + +Foam::fixedEnthalpyRealFluids::fixedEnthalpyRealFluids +( + const fixedEnthalpyRealFluids& tppsf, + const DimensionedField& iF +) +: + fixedValueFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::fixedEnthalpyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + const label patchi = patch().index(); + + fvPatchScalarField& Tw = + const_cast(thermo.T().boundaryField()[patchi]); + Tw.evaluate(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + pw.evaluate(); + + + if (dimensionedInternalField().name() == "h") + { + + operator==(thermo.h(pw,Tw, patchi)); + } + else + { + operator==(thermo.hs(Tw, patchi)); + } + + fixedValueFvPatchScalarField::updateCoeffs(); + + +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField + ( + fvPatchScalarField, + fixedEnthalpyRealFluids + ); +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.H new file mode 100755 index 000000000..e8df794e4 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedEnthalpyRealFluids/fixedEnthalpyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::fixedEnthalpyRealFluids + +Description + A fixed boundary condition for enthalpy + +SourceFiles + fixedEnthalpyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef fixedEnthalpyRealFluids_H +#define fixedEnthalpyRealFluids_H + +#include "fixedValueFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class fixedEnthalpyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class fixedEnthalpyRealFluids +: + public fixedValueFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("fixedEnthalpy"); + + + // Constructors + + //- Construct from patch and internal field + fixedEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + fixedEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given fixedEnthalpyFvPatchScalarField + // onto a new patch + fixedEnthalpyRealFluids + ( + const fixedEnthalpyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + fixedEnthalpyRealFluids + ( + const fixedEnthalpyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new fixedEnthalpyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + fixedEnthalpyRealFluids + ( + const fixedEnthalpyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new fixedEnthalpyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.C new file mode 100755 index 000000000..381358c3d --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.C @@ -0,0 +1,137 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "fixedInternalEnergyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +fixedInternalEnergyRealFluids::fixedInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + fixedValueFvPatchScalarField(p, iF) +{} + + +fixedInternalEnergyRealFluids::fixedInternalEnergyRealFluids +( + const fixedInternalEnergyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + fixedValueFvPatchScalarField(ptf, p, iF, mapper) +{} + + +fixedInternalEnergyRealFluids::fixedInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + fixedValueFvPatchScalarField(p, iF, dict) +{} + + +fixedInternalEnergyRealFluids::fixedInternalEnergyRealFluids +( + const fixedInternalEnergyRealFluids& tppsf +) +: + fixedValueFvPatchScalarField(tppsf) +{} + + +fixedInternalEnergyRealFluids::fixedInternalEnergyRealFluids +( + const fixedInternalEnergyRealFluids& tppsf, + const DimensionedField& iF +) +: + fixedValueFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void fixedInternalEnergyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + + const label patchi = patch().index(); + + fvPatchScalarField& Tw = + const_cast(thermo.T().boundaryField()[patchi]); + Tw.evaluate(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + pw.evaluate(); + + operator==(thermo.e(pw,Tw, patchi)); + + fixedValueFvPatchScalarField::updateCoeffs(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField(fvPatchScalarField, fixedInternalEnergyRealFluids); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.H new file mode 100755 index 000000000..176f91c77 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/fixedInternalEnergyRealFluids/fixedInternalEnergyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::fixedInternalEnergyRealFluids + +Description + A fixed boundary condition for internal energy + +SourceFiles + fixedInternalEnergyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef fixedInternalEnergyRealFluids_H +#define fixedInternalEnergyRealFluids_H + +#include "fixedValueFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class fixedInternalEnergyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class fixedInternalEnergyRealFluids +: + public fixedValueFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("fixedInternalEnergy"); + + + // Constructors + + //- Construct from patch and internal field + fixedInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + fixedInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given fixedInternalEnergyRealFluids + // onto a new patch + fixedInternalEnergyRealFluids + ( + const fixedInternalEnergyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + fixedInternalEnergyRealFluids + ( + const fixedInternalEnergyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new fixedInternalEnergyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + fixedInternalEnergyRealFluids + ( + const fixedInternalEnergyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new fixedInternalEnergyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.C new file mode 100644 index 000000000..0d2005ba1 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.C @@ -0,0 +1,154 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright held by original author + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "gradientEnthalpyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::gradientEnthalpyRealFluids::gradientEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + fixedGradientFvPatchScalarField(p, iF) +{} + + +Foam::gradientEnthalpyRealFluids::gradientEnthalpyRealFluids +( + const gradientEnthalpyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + fixedGradientFvPatchScalarField(ptf, p, iF, mapper) +{} + + +Foam::gradientEnthalpyRealFluids::gradientEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + fixedGradientFvPatchScalarField(p, iF, dict) +{} + + +Foam::gradientEnthalpyRealFluids::gradientEnthalpyRealFluids +( + const gradientEnthalpyRealFluids& tppsf +) +: + fixedGradientFvPatchScalarField(tppsf) +{} + + +Foam::gradientEnthalpyRealFluids::gradientEnthalpyRealFluids +( + const gradientEnthalpyRealFluids& tppsf, + const DimensionedField& iF +) +: + fixedGradientFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::gradientEnthalpyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + const label patchi = patch().index(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + + pw.evaluate(); + + fvPatchScalarField& Tw = + const_cast(thermo.T().boundaryField()[patchi]); + + Tw.evaluate(); + + if (dimensionedInternalField().name() == "h") + { + gradient() = thermo.Cp(pw,Tw, patchi)*Tw.snGrad() + + patch().deltaCoeffs()* + ( + thermo.h(pw,Tw, patchi) + - thermo.h(pw,Tw, patch().faceCells()) + ); + } + /* else + { + gradient() = thermo.Cp(Tw, patchi)*Tw.snGrad() + + patch().deltaCoeffs()* + ( + thermo.hs(Tw, patchi) + - thermo.hs(Tw, patch().faceCells()) + ); + } +*/ + fixedGradientFvPatchScalarField::updateCoeffs(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField + ( + fvPatchScalarField, + gradientEnthalpyRealFluids + ); +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.H new file mode 100644 index 000000000..07d1b876f --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientEnthalpyRealFluids/gradientEnthalpyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright held by original author + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::gradientEnthalpyRealFluids + +Description + Gradient boundary condition for enthalpy + +SourceFiles + gradientEnthalpyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef gradientEnthalpyRealFluids_H +#define gradientEnthalpyRealFluids_H + +#include "fixedGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class gradientEnthalpyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class gradientEnthalpyRealFluids +: + public fixedGradientFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("gradientEnthalpy"); + + + // Constructors + + //- Construct from patch and internal field + gradientEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + gradientEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given gradientEnthalpyRealFluids + // onto a new patch + gradientEnthalpyRealFluids + ( + const gradientEnthalpyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + gradientEnthalpyRealFluids + ( + const gradientEnthalpyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new gradientEnthalpyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + gradientEnthalpyRealFluids + ( + const gradientEnthalpyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new gradientEnthalpyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.C new file mode 100755 index 000000000..915889d4b --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.C @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "gradientInternalEnergyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +gradientInternalEnergyRealFluids::gradientInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + fixedGradientFvPatchScalarField(p, iF) +{} + + +gradientInternalEnergyRealFluids::gradientInternalEnergyRealFluids +( + const gradientInternalEnergyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + fixedGradientFvPatchScalarField(ptf, p, iF, mapper) +{} + + +gradientInternalEnergyRealFluids::gradientInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + fixedGradientFvPatchScalarField(p, iF, dict) +{} + + +gradientInternalEnergyRealFluids::gradientInternalEnergyRealFluids +( + const gradientInternalEnergyRealFluids& tppsf +) +: + fixedGradientFvPatchScalarField(tppsf) +{} + + +gradientInternalEnergyRealFluids::gradientInternalEnergyRealFluids +( + const gradientInternalEnergyRealFluids& tppsf, + const DimensionedField& iF +) +: + fixedGradientFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void gradientInternalEnergyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + + const label patchi = patch().index(); + + fvPatchScalarField& Tw = + const_cast(thermo.T().boundaryField()[patchi]); + + Tw.evaluate(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + + pw.evaluate(); + + + + gradient() = thermo.Cv(pw,Tw, patchi)*Tw.snGrad() + + patch().deltaCoeffs()* + ( + thermo.e(pw,Tw, patchi) + - thermo.e(pw,Tw, patch().faceCells()) + ); + + fixedGradientFvPatchScalarField::updateCoeffs(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField(fvPatchScalarField, gradientInternalEnergyRealFluids); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.H new file mode 100755 index 000000000..cc254c769 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/gradientInternalEnergyRealFluids/gradientInternalEnergyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::gradientInternalEnergyRealFluids + +Description + Gradient boundary condition for internal energy + +SourceFiles + gradientInternalEnergyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef gradientInternalEnergyRealFluids_H +#define gradientInternalEnergyRealFluids_H + +#include "fixedGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class gradientInternalEnergyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class gradientInternalEnergyRealFluids +: + public fixedGradientFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("gradientInternalEnergy"); + + + // Constructors + + //- Construct from patch and internal field + gradientInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + gradientInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given gradientInternalEnergyRealFluids + // onto a new patch + gradientInternalEnergyRealFluids + ( + const gradientInternalEnergyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + gradientInternalEnergyRealFluids + ( + const gradientInternalEnergyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new gradientInternalEnergyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + gradientInternalEnergyRealFluids + ( + const gradientInternalEnergyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new gradientInternalEnergyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.C new file mode 100755 index 000000000..abd9cc8e3 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.C @@ -0,0 +1,164 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "mixedEnthalpyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::mixedEnthalpyRealFluids::mixedEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(p, iF) +{ + valueFraction() = 0.0; + refValue() = 0.0; + refGrad() = 0.0; +} + + +Foam::mixedEnthalpyRealFluids::mixedEnthalpyRealFluids +( + const mixedEnthalpyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + mixedFvPatchScalarField(ptf, p, iF, mapper) +{} + + +Foam::mixedEnthalpyRealFluids::mixedEnthalpyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + mixedFvPatchScalarField(p, iF, dict) +{} + + +Foam::mixedEnthalpyRealFluids::mixedEnthalpyRealFluids +( + const mixedEnthalpyRealFluids& tppsf +) +: + mixedFvPatchScalarField(tppsf) +{} + + +Foam::mixedEnthalpyRealFluids::mixedEnthalpyRealFluids +( + const mixedEnthalpyRealFluids& tppsf, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::mixedEnthalpyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + + const label patchi = patch().index(); + + mixedFvPatchScalarField& Tw = refCast + ( + const_cast(thermo.T().boundaryField()[patchi]) + ); + + Tw.evaluate(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + pw.evaluate(); + + valueFraction() = Tw.valueFraction(); + + if (dimensionedInternalField().name() == "h") + { + refValue() = thermo.h(pw,Tw.refValue(), patchi); + refGrad() = thermo.Cp(pw,Tw, patchi)*Tw.refGrad() + + patch().deltaCoeffs()* + ( + thermo.h(pw,Tw, patchi) + - thermo.h(pw,Tw, patch().faceCells()) + ); + } + /* else + { + refValue() = thermo.hs(Tw.refValue(), patchi); + refGrad() = thermo.CpBC(pw,Tw, patchi)*Tw.refGrad() + + patch().deltaCoeffs()* + ( + thermo.hs(Tw, patchi) + - thermo.hs(Tw, patch().faceCells()) + ); + }*/ + + mixedFvPatchScalarField::updateCoeffs(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField + ( + fvPatchScalarField, + mixedEnthalpyRealFluids + ); +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.H new file mode 100755 index 000000000..b74148637 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedEnthalpyRealFluids/mixedEnthalpyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::mixedEnthalpyRealFluids + +Description + Mixed boundary conditions for enthalpy + +SourceFiles + mixedEnthalpyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef mixedEnthalpyRealFluids_H +#define mixedEnthalpyRealFluids_H + +#include "mixedFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class mixedEnthalpyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class mixedEnthalpyRealFluids +: + public mixedFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("mixedEnthalpy"); + + + // Constructors + + //- Construct from patch and internal field + mixedEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + mixedEnthalpyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given mixedEnthalpyRealFluids + // onto a new patch + mixedEnthalpyRealFluids + ( + const mixedEnthalpyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + mixedEnthalpyRealFluids + ( + const mixedEnthalpyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new mixedEnthalpyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + mixedEnthalpyRealFluids + ( + const mixedEnthalpyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new mixedEnthalpyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.C new file mode 100755 index 000000000..4d462759c --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.C @@ -0,0 +1,151 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "mixedInternalEnergyRealFluids.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +mixedInternalEnergyRealFluids::mixedInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(p, iF) +{ + valueFraction() = 0.0; + refValue() = 0.0; + refGrad() = 0.0; +} + + +mixedInternalEnergyRealFluids::mixedInternalEnergyRealFluids +( + const mixedInternalEnergyRealFluids& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + mixedFvPatchScalarField(ptf, p, iF, mapper) +{} + + +mixedInternalEnergyRealFluids::mixedInternalEnergyRealFluids +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + mixedFvPatchScalarField(p, iF, dict) +{} + + +mixedInternalEnergyRealFluids::mixedInternalEnergyRealFluids +( + const mixedInternalEnergyRealFluids& tppsf +) +: + mixedFvPatchScalarField(tppsf) +{} + + +mixedInternalEnergyRealFluids::mixedInternalEnergyRealFluids +( + const mixedInternalEnergyRealFluids& tppsf, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(tppsf, iF) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void mixedInternalEnergyRealFluids::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + + const label patchi = patch().index(); + + mixedFvPatchScalarField& Tw = refCast + ( + const_cast(thermo.T().boundaryField()[patchi]) + ); + + Tw.evaluate(); + + fvPatchScalarField& pw = + const_cast(thermo.p().boundaryField()[patchi]); + pw.evaluate(); + + valueFraction() = Tw.valueFraction(); + refValue() = thermo.e(pw,Tw.refValue(), patchi); + refGrad() = thermo.Cv(pw,Tw, patchi)*Tw.refGrad() + + patch().deltaCoeffs()* + ( + thermo.e(pw,Tw, patchi) + - thermo.e(pw,Tw, patch().faceCells()) + ); + + mixedFvPatchScalarField::updateCoeffs(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField(fvPatchScalarField, mixedInternalEnergyRealFluids); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.H new file mode 100755 index 000000000..491305f59 --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/mixedInternalEnergyRealFluids/mixedInternalEnergyRealFluids.H @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::mixedInternalEnergyRealFluids + +Description + Mixed boundary conditions for internal energy + +SourceFiles + mixedInternalEnergyRealFluids.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef mixedInternalEnergyRealFluids_H +#define mixedInternalEnergyRealFluids_H + +#include "mixedFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class mixedInternalEnergyRealFluids Declaration +\*---------------------------------------------------------------------------*/ + +class mixedInternalEnergyRealFluids +: + public mixedFvPatchScalarField +{ + +public: + + //- Runtime type information + TypeName("mixedInternalEnergy"); + + + // Constructors + + //- Construct from patch and internal field + mixedInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + mixedInternalEnergyRealFluids + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given mixedInternalEnergyRealFluids + // onto a new patch + mixedInternalEnergyRealFluids + ( + const mixedInternalEnergyRealFluids&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + mixedInternalEnergyRealFluids + ( + const mixedInternalEnergyRealFluids& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new mixedInternalEnergyRealFluids(*this) + ); + } + + //- Construct as copy setting internal field reference + mixedInternalEnergyRealFluids + ( + const mixedInternalEnergyRealFluids&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new mixedInternalEnergyRealFluids(*this, iF) + ); + } + + + // Member functions + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.C b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.C new file mode 100755 index 000000000..521b46f3a --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.C @@ -0,0 +1,198 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "realFluidWallHeatTransferFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "basicPsiThermo.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::realFluidWallHeatTransferFvPatchScalarField::realFluidWallHeatTransferFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(p, iF), + Tinf_(p.size(), 0.0), + alphaWall_(p.size(), 0.0) +{ + refValue() = 0.0; + refGrad() = 0.0; + valueFraction() = 0.0; +} + + +Foam::realFluidWallHeatTransferFvPatchScalarField::realFluidWallHeatTransferFvPatchScalarField +( + const realFluidWallHeatTransferFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + mixedFvPatchScalarField(ptf, p, iF, mapper), + Tinf_(ptf.Tinf_, mapper), + alphaWall_(ptf.alphaWall_, mapper) +{} + + +Foam::realFluidWallHeatTransferFvPatchScalarField::realFluidWallHeatTransferFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + mixedFvPatchScalarField(p, iF), + Tinf_("Tinf", dict, p.size()), + alphaWall_("alphaWall", dict, p.size()) +{ + refValue() = Tinf_; + refGrad() = 0.0; + valueFraction() = 0.0; + + if (dict.found("value")) + { + fvPatchField::operator= + ( + scalarField("value", dict, p.size()) + ); + } + else + { + evaluate(); + } +} + + +Foam::realFluidWallHeatTransferFvPatchScalarField::realFluidWallHeatTransferFvPatchScalarField +( + const realFluidWallHeatTransferFvPatchScalarField& tppsf +) +: + mixedFvPatchScalarField(tppsf), + Tinf_(tppsf.Tinf_), + alphaWall_(tppsf.alphaWall_) +{} + + +Foam::realFluidWallHeatTransferFvPatchScalarField::realFluidWallHeatTransferFvPatchScalarField +( + const realFluidWallHeatTransferFvPatchScalarField& tppsf, + const DimensionedField& iF +) +: + mixedFvPatchScalarField(tppsf, iF), + Tinf_(tppsf.Tinf_), + alphaWall_(tppsf.alphaWall_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::realFluidWallHeatTransferFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + scalarField::autoMap(m); + Tinf_.autoMap(m); + alphaWall_.autoMap(m); +} + + +void Foam::realFluidWallHeatTransferFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + mixedFvPatchScalarField::rmap(ptf, addr); + + const realFluidWallHeatTransferFvPatchScalarField& tiptf = + refCast(ptf); + + Tinf_.rmap(tiptf.Tinf_, addr); + alphaWall_.rmap(tiptf.alphaWall_, addr); +} + + +void Foam::realFluidWallHeatTransferFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + const basicPsiThermo& thermo = db().lookupObject + ( + "thermophysicalProperties" + ); + + const label patchi = patch().index(); + + const scalarField& Tw = thermo.T().boundaryField()[patchi]; + const scalarField& pw = thermo.p().boundaryField()[patchi]; + scalarField Cpw = thermo.Cp(pw,Tw, patchi); + + valueFraction() = + 1.0/ + ( + 1.0 + + Cpw*thermo.alpha().boundaryField()[patchi] + *patch().deltaCoeffs()/alphaWall_ + ); + + mixedFvPatchScalarField::updateCoeffs(); +} + + +void Foam::realFluidWallHeatTransferFvPatchScalarField::write(Ostream& os) const +{ + fvPatchScalarField::write(os); + Tinf_.writeEntry("Tinf", os); + alphaWall_.writeEntry("alphaWall", os); + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField(fvPatchScalarField, realFluidWallHeatTransferFvPatchScalarField); +} + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.H b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.H new file mode 100755 index 000000000..b50bae77a --- /dev/null +++ b/src/thermophysicalModels/basic/derivedFvPatchFieldsRealGas/realFluidWallHeatTransfer/realFluidWallHeatTransferFvPatchScalarField.H @@ -0,0 +1,201 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::realFluidWallHeatTransferFvPatchScalarField + +Description + Enthalpy boundary conditions for wall heat transfer + +SourceFiles + realFluidWallHeatTransferFvPatchScalarField.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef realFluidWallHeatTransferFvPatchScalarField_H +#define realFluidWallHeatTransferFvPatchScalarField_H + +#include "mixedFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class wallHeatTransferFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +class realFluidWallHeatTransferFvPatchScalarField +: + public mixedFvPatchScalarField +{ + // Private data + + //- Tinf + scalarField Tinf_; + + //- alphaWall + scalarField alphaWall_; + + +public: + + //- Runtime type information + TypeName("realFluidWallHeatTransfer"); + + + // Constructors + + //- Construct from patch and internal field + realFluidWallHeatTransferFvPatchScalarField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + realFluidWallHeatTransferFvPatchScalarField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given realFluidWallHeatTransferFvPatchScalarField + // onto a new patch + realFluidWallHeatTransferFvPatchScalarField + ( + const realFluidWallHeatTransferFvPatchScalarField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + realFluidWallHeatTransferFvPatchScalarField + ( + const realFluidWallHeatTransferFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new realFluidWallHeatTransferFvPatchScalarField(*this) + ); + } + + //- Construct as copy setting internal field reference + realFluidWallHeatTransferFvPatchScalarField + ( + const realFluidWallHeatTransferFvPatchScalarField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new realFluidWallHeatTransferFvPatchScalarField(*this, iF) + ); + } + + + // Member functions + + // Access + + //- Return Tinf + const scalarField& Tinf() const + { + return Tinf_; + } + + //- Return reference to Tinf to allow adjustment + scalarField& Tinf() + { + return Tinf_; + } + + //- Return alphaWall + const scalarField& alphaWall() const + { + return alphaWall_; + } + + //- Return reference to alphaWall to allow adjustment + scalarField& alphaWall() + { + return alphaWall_; + } + + + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + virtual void autoMap + ( + const fvPatchFieldMapper& + ); + + //- Reverse map the given fvPatchField onto this fvPatchField + virtual void rmap + ( + const fvPatchScalarField&, + const labelList& + ); + + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.C b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.C new file mode 100755 index 000000000..a5f427949 --- /dev/null +++ b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.C @@ -0,0 +1,460 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "realGasHThermo.H" + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +void Foam::realGasHThermo::calculate() +{ + + + const scalarField& hCells = h_.internalField(); + const scalarField& pCells = this->p_.internalField(); + + scalarField& TCells = this->T_.internalField(); + scalarField& rhoCells= this->rho_.internalField(); + scalarField& psiCells = this->psi_.internalField(); + scalarField& muCells = this->mu_.internalField(); + scalarField& alphaCells = this->alpha_.internalField(); + + + + forAll(TCells, celli) + { + const typename MixtureType::thermoType& mixture_ = + this->cellMixture(celli); + + mixture_.TH(hCells[celli], TCells[celli],pCells[celli],rhoCells[celli]); + psiCells[celli]=mixture_.psi(rhoCells[celli],TCells[celli]); + muCells[celli] = mixture_.mu(TCells[celli]); + alphaCells[celli] = mixture_.alpha(rhoCells[celli], TCells[celli]); + } + + + forAll(T_.boundaryField(), patchi) + { + fvPatchScalarField& pp = this->p_.boundaryField()[patchi]; + fvPatchScalarField& pT = this->T_.boundaryField()[patchi]; + fvPatchScalarField& ppsi = this->psi_.boundaryField()[patchi]; + fvPatchScalarField& prho = this->rho_.boundaryField()[patchi]; + fvPatchScalarField& ph = h_.boundaryField()[patchi]; + + fvPatchScalarField& pmu = this->mu_.boundaryField()[patchi]; + fvPatchScalarField& palpha = this->alpha_.boundaryField()[patchi]; + + + + if (pT.fixesValue()) + { + + forAll(pT, facei) + { + const typename MixtureType::thermoType& mixture_ = + this->patchFaceMixture(patchi, facei); + + + prho[facei] = mixture_.rho(pp[facei], pT[facei],prho[facei]); + ppsi[facei]=mixture_.psi(prho[facei],pT[facei]); + ph[facei] = mixture_.H(prho[facei], pT[facei]); + + pmu[facei] = mixture_.mu(pT[facei]); + palpha[facei] = mixture_.alpha(prho[facei],pT[facei]); + + } + } + else + { + + forAll(pT, facei) + { + const typename MixtureType::thermoType& mixture_ = + this->patchFaceMixture(patchi, facei); + mixture_.TH(ph[facei], pT[facei],pp[facei],prho[facei]); + pmu[facei] = mixture_.mu(pT[facei]); + ppsi[facei]=mixture_.psi(prho[facei],pT[facei]); + palpha[facei] = mixture_.alpha(prho[facei],pT[facei]); + } + } + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::realGasHThermo::realGasHThermo(const fvMesh& mesh) +: + basicPsiThermo(mesh), + MixtureType(*this, mesh), + + h_ + ( + IOobject + ( + "h", + mesh.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh, + dimensionSet(0, 2, -2, 0, 0), + this->hRealBoundaryTypes() + ), + + rho_ + ( + IOobject + ( + "rho1", + mesh.time().timeName(), + mesh, + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE + ), + mesh, + dimDensity + ) +{ + + + + scalarField& hCells = h_.internalField(); + const scalarField& TCells = this->T_.internalField(); + const scalarField& pCells =this->p_.internalField(); + scalarField& rhoCells =this->rho_.internalField(); + + + + forAll(rhoCells, celli) + { + rhoCells[celli]=this->cellMixture(celli).rho(pCells[celli],TCells[celli]); + + } + + + + forAll(rho_.boundaryField(), patchi) + { + rho_.boundaryField()[patchi] == + rho( this->p_.boundaryField()[patchi] , this->T_.boundaryField()[patchi], patchi); + + } + + + forAll(hCells, celli) + { + hCells[celli] = this->cellMixture(celli).H(rhoCells[celli],TCells[celli]); + } + + + forAll(h_.boundaryField(), patchi) + { + h_.boundaryField()[patchi] == + h((this->rho_.boundaryField()[patchi]) , this->T_.boundaryField()[patchi], patchi); + } + + hRealBoundaryCorrection(h_); + calculate(); + + // Switch on saving old time + this->psi_.oldTime(); + +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template +Foam::realGasHThermo::~realGasHThermo() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::realGasHThermo::correct() +{ + if (debug) + { + Info<< "entering realGasHThermo::correct()" << endl; + } + + // force the saving of the old-time values + this->psi_.oldTime(); + + calculate(); + + if (debug) + { + Info<< "exiting realGasHThermo::correct()" << endl; + } +} + + + + +template +Foam::tmp Foam::realGasHThermo::h +( + const scalarField& p, + const scalarField& T, + const labelList& cells +) const +{ + + tmp th(new scalarField(T.size())); + scalarField& h = th(); + + forAll(T, celli) + { + h[celli] = this->cellMixture(cells[celli]).H(this->cellMixture(cells[celli]).rho(p[celli],T[celli]),T[celli]); + } + + return th; +} + + + + +template +Foam::tmp Foam::realGasHThermo::h +( + const scalarField& p, + const scalarField& T, + const label patchi +) const +{ + tmp th(new scalarField(T.size())); + scalarField& h = th(); + + forAll(T, facei) + { + h[facei] = this->patchFaceMixture(patchi, facei).H(this->patchFaceMixture(patchi, facei).rho(p[facei], T[facei]),T[facei]); + } + + return th; +} + + +template +Foam::tmp Foam::realGasHThermo::psi +( + const scalarField& rho, + const scalarField& T, + const label patchi +) const +{ + + tmp tpsi(new scalarField(T.size())); + scalarField& psi = tpsi(); + + forAll(T, facei) + { + psi[facei] = this->patchFaceMixture(patchi, facei).psi(rho[facei], T[facei]); + } + + return tpsi; +} + + +template +Foam::tmp Foam::realGasHThermo::rho +( + const scalarField& p, + const scalarField& T, + const label patchi +) const +{ + + tmp trho(new scalarField(T.size())); + scalarField& rho = trho(); + + forAll(T, facei) + { + rho[facei] = this->patchFaceMixture(patchi, facei).rho(p[facei], T[facei]); + } + + return trho; +} + + + + + + +template +Foam::tmp Foam::realGasHThermo::Cp +( + const scalarField& p, + const scalarField& T, + const label patchi +) const +{ + tmp tCp(new scalarField(T.size())); + scalarField& cp = tCp(); + + forAll(T, facei) + { + cp[facei] = this->patchFaceMixture(patchi, facei).Cp(this->patchFaceMixture(patchi, facei).rho(p[facei], T[facei]),T[facei]); + } + + return tCp; +} + +template +Foam::tmp Foam::realGasHThermo::Cp() const +{ + const fvMesh& mesh = this->T_.mesh(); + + tmp tCp + ( + new volScalarField + ( + IOobject + ( + "Cp", + mesh.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionSet(0, 2, -2, -1, 0), + this->T_.boundaryField().types() + ) + ); + + volScalarField& cp = tCp(); + + forAll(this->T_, celli) + { + cp[celli] = this->cellMixture(celli).Cp(this->rho_[celli], this->T_[celli]); + } + + forAll(this->T_.boundaryField(), patchi) + { + const fvPatchScalarField& pT = this->T_.boundaryField()[patchi]; + const fvPatchScalarField& prho = this->rho_.boundaryField()[patchi]; + fvPatchScalarField& pCp = cp.boundaryField()[patchi]; + + forAll(pT, facei) + { + pCp[facei] = this->patchFaceMixture(patchi, facei).Cp(prho[facei], pT[facei]); + } + } + + return tCp; +} + + +template +Foam::tmp Foam::realGasHThermo::Cv +( + const scalarField& rho, + const scalarField& T, + const label patchi +) const +{ + + tmp tCv(new scalarField(T.size())); + scalarField& cv = tCv(); + + forAll(T, facei) + { + cv[facei] = this->patchFaceMixture(patchi, facei).Cv(rho[facei], T[facei]); + } + + return tCv; +} + + + +template +Foam::tmp Foam::realGasHThermo::Cv() const +{ + + const fvMesh& mesh = this->T_.mesh(); + + tmp tCv + ( + new volScalarField + ( + IOobject + ( + "Cv", + mesh.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionSet(0, 2, -2, -1, 0) + ) + ); + + volScalarField& cv = tCv(); + + forAll(this->T_, celli) + { + cv[celli] = this->cellMixture(celli).Cv(this->rho_[celli], this->T_[celli]); + } + + forAll(this->T_.boundaryField(), patchi) + { + cv.boundaryField()[patchi] = + Cv(this->rho_.boundaryField()[patchi] , this->T_.boundaryField()[patchi], patchi); + } + + return tCv; +} + + +template +bool Foam::realGasHThermo::read() +{ + if (basicPsiThermo::read()) + { + MixtureType::read(*this); + return true; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.H b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.H new file mode 100755 index 000000000..250be93d5 --- /dev/null +++ b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermo.H @@ -0,0 +1,226 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | . + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::realGasHThermo + +Description + Enthalpy for a real gas fluid libary + + +SourceFiles + realGasHThermo.C + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#ifndef realGasHThermo_H +#define realGasHThermo_H + +#include "basicPsiThermo.H" +#include "basicMixture.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class hPsiThermo Declaration +\*---------------------------------------------------------------------------*/ + +template +class realGasHThermo +: + public basicPsiThermo, + public MixtureType +{ + // Private data + + //- Enthalpy field + volScalarField h_; + + //- DensityField + volScalarField rho_; + + + // Private member functions + + //- Calculate the thermo variables + void calculate(); + + //- Construct as copy (not implemented) + realGasHThermo(const realGasHThermo&); + + +public: + + //- Runtime type information + TypeName("realGasHThermo"); + + + // Constructors + + //- Construct from mesh + realGasHThermo(const fvMesh&); + + + //- Destructor + virtual ~realGasHThermo(); + + + // Member functions + + //- Return the compostion of the mixture + virtual basicMixture& composition() + { + return *this; + } + + //- Return the compostion of the mixture + virtual const basicMixture& composition() const + { + return *this; + } + + //- Update properties + virtual void correct(); + + + // Access to thermodynamic state variables + + //- Enthalpy [J/kg] + // Non-const access allowed for transport equations + virtual volScalarField& h() + { + return h_; + } + + //- Enthalpy [J/kg] + virtual const volScalarField& h() const + { + return h_; + } + + + // Fields derived from thermodynamic state variables + + + + + + //- Enthalpy for cell-set [J/kg] + virtual tmp h + ( + const scalarField& p, + const scalarField& T, + const labelList& cells + ) const; + + + + //- Enthalpy for patch [J/kg] + virtual tmp h + ( + const scalarField& p, + const scalarField& T, + const label patchi + ) const; + + //- Psi for patch [J/kg] + virtual tmp psi + ( + const scalarField& rho, + const scalarField& T, + const label patchi + ) const; + + + //- Density for patch [J/kg] + virtual tmp rho + ( + const scalarField& p, + const scalarField& T, + const label patchi + ) const; + + + + //- Heat capacity at constant pressure for patch [J/kg/K] + virtual tmp Cp + ( + const scalarField& p, + const scalarField& T, + const label patchi + ) const; + + //- Heat capacity at constant pressure [J/kg/K] + virtual tmp Cp() const; + + //- Heat capacity at constant volume for patch [J/kg/K] + virtual tmp Cv + ( + const scalarField& rho, + const scalarField& T, + const label patchi + ) const; + + //- Heat capacity at constant volume [J/kg/K] + virtual tmp Cv() const; + + + //- Density [kg/m^3] - uses current value of pressure + virtual tmp rho() const + { + + return rho_*1; + } + + + //- Read thermophysicalProperties dictionary + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +#ifdef NoRepository +# include "realGasHThermo.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermos.C b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermos.C new file mode 100755 index 000000000..91dfbe76b --- /dev/null +++ b/src/thermophysicalModels/basic/psiThermo/realGasHThermo/realGasHThermos.C @@ -0,0 +1,163 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + + +\*---------------------------------------------------------------------------*/ + + +#include "makeBasicPsiThermo.H" + + +#include "redlichKwong.H" +#include "pengRobinson.H" +#include "aungierRedlichKwong.H" +#include "soaveRedlichKwong.H" +#include "nasaHeatCapacityPolynomial.H" +#include "realGasSpecieThermo.H" + +#include "pureMixture.H" +#include "realGasSutherlandTransport.H" +#include "realGasConstTransport.H" +#include "realGasHThermo.H" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */ + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasSutherlandTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + pengRobinson +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasSutherlandTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + aungierRedlichKwong +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasSutherlandTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + redlichKwong +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasSutherlandTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + soaveRedlichKwong +); + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasConstTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + pengRobinson +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasConstTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + aungierRedlichKwong +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasConstTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + redlichKwong +); + + + + +makeBasicRealGasThermo +( + realGasHThermo, + pureMixture, + realGasConstTransport, + realGasSpecieThermo, + nasaHeatCapacityPolynomial, + soaveRedlichKwong +); + + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwong.C b/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwong.C new file mode 100755 index 000000000..fb5d01800 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwong.C @@ -0,0 +1,78 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + Aungier Redlich Kwong equation of state. + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + + +\*---------------------------------------------------------------------------*/ + +#include "aungierRedlichKwong.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +aungierRedlichKwong::aungierRedlichKwong(Istream& is) +: + specie(is), + pcrit_(readScalar(is)), + Tcrit_(readScalar(is)), + azentricFactor_(readScalar(is)), + rhocrit_(readScalar(is)) +{ + is.check("aungierRedlichKwong::aungierRedlichKwong(Istream& is)"); + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); + rhoMax_=1500; + rhoMin_=0.001; +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +Ostream& operator<<(Ostream& os, const aungierRedlichKwong& pg) +{ + os << static_cast(pg)<< tab + << pg.pcrit_ << tab<< pg.Tcrit_< clone() const; + + // Selector from Istream + inline static autoPtr New(Istream& is); + + //Member Variabels + scalar pcrit_; + scalar Tcrit_; + scalar rhostd_; + scalar azentricFactor_; + scalar rhocrit_; + scalar rhoMax_; //should be read from the fvSolution file where rhoMax and rhoMin values must be define ( for rhoSimpleFoam) + scalar rhoMin_; + + // Member functions + inline scalar pcrit() const; + inline scalar Tcrit() const; + inline scalar azentricFactor() const; + inline scalar rhostd()const; + inline scalar rhocrit() const; + inline scalar pReturn(const scalar rho, const scalar T) const; + + //-Redlich Kwong factors + inline scalar a() const; + inline scalar b() const; + inline scalar c() const; + inline scalar n() const; + //derivatives + inline scalar dpdv(const scalar rho,const scalar T) const; + inline scalar dpdT(const scalar rho, const scalar T) const; + inline scalar dvdT(const scalar rho,const scalar T) const; + inline scalar dvdp(const scalar rho, const scalar T) const; + inline scalar isobarExpCoef(const scalar rho,const scalar T) const; + inline scalar isothermalCompressiblity(const scalar rho,const scalar T) const; + inline scalar integral_d2pdT2_dv(const scalar rho,const scalar T) const ; // Used for cv + inline scalar d2pdv2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdvdT(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2vdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar integral_p_dv(const scalar rho,const scalar T) const; //Used for internal Energy + inline scalar integral_dpdT_dv(const scalar rho,const scalar T) const; //Used for Entropy + + //- Return density [kg/m^3] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar rho(const scalar p,const scalar T,const scalar rho0) const; + inline scalar rho(const scalar p,const scalar T) const; + + //- Return compressibility drho/dp [s^2/m^2] + inline scalar psi(const scalar rho, const scalar T) const; + + //- Return compression factor [] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar Z(const scalar p,const scalar T,const scalar rho0) const; + + + // Member operators + + inline void operator+=(const aungierRedlichKwong&); + inline void operator-=(const aungierRedlichKwong&); + + inline void operator*=(const scalar); + + + /* // Friend operators + + inline friend aungierRedlichKwong operator+ + ( + const aungierRedlichKwong&, + const aungierRedlichKwong& + ); + + inline friend aungierRedlichKwong operator- + ( + const aungierRedlichKwong&, + const aungierRedlichKwong& + ); + + inline friend aungierRedlichKwong operator* + ( + const scalar s, + const aungierRedlichKwong& + ); + + inline friend aungierRedlichKwong operator== + ( + const aungierRedlichKwong&, + const aungierRedlichKwong& + ); +*/ + + // Ostream Operator + + friend Ostream& operator<<(Ostream&, const aungierRedlichKwong&); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "aungierRedlichKwongI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwongI.H b/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwongI.H new file mode 100755 index 000000000..b13adb1bd --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/aungierRedlichKwong/aungierRedlichKwongI.H @@ -0,0 +1,497 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "aungierRedlichKwong.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + + + + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +inline scalar aungierRedlichKwong::pcrit()const +{ +return pcrit_; +} + + + +inline scalar aungierRedlichKwong::Tcrit()const +{ +return Tcrit_; +} + + +inline scalar aungierRedlichKwong::rhostd()const +{ +return rhostd_; +} + +inline scalar aungierRedlichKwong::rhocrit()const +{ +return rhocrit_; +} + +// Returns the Azentric Factor (Acentric Factor) +inline scalar aungierRedlichKwong::azentricFactor() const +{ +return azentricFactor_; +} + +//returns the pressure for a given density and temperature +inline scalar aungierRedlichKwong::pReturn(const scalar rho,const scalar T) const +{ + +return this->RR*T/((this->W()/rho)-this->b()+this->c()) +-this->a()*pow(T,-this->n())/(pow(this->Tcrit(),-this->n())*(this->W()/rho)*((this->W()/rho)+this->b())); +} + + + +// Factor a of the redlich Kwong equation of state +//(molar values) +inline scalar aungierRedlichKwong::a() const +{ +return 0.42747*pow(this->RR,2)*pow(this->Tcrit(),2)/this->pcrit(); +} + + + +// Faktor b of the redlich Kwong equation of state +//(molar values) +inline scalar aungierRedlichKwong::b() const +{ +return 0.08664*this->RR*this->Tcrit()/this->pcrit(); +} +// Factor c of the redlich Kwong equation of state +//(molar values) +inline scalar aungierRedlichKwong::c() const +{ +return this->RR*this->Tcrit()/(this->pcrit()+(this->a()/(this->W()/this->rhocrit()*(this->W()/this->rhocrit()+this->b()))))+this->b()-this->W()/this->rhocrit(); +} +// Factor n of the redlich Kwong equation of state +inline scalar aungierRedlichKwong::n() const +{ +return 0.4986+1.2735*this->azentricFactor()+0.4754*pow(this->azentricFactor(),2); +} + + +//* * * * * * * * * * * * * Derivatives * * * * * * * * * * * // + + + +//Real deviative dp/dv at constant temperature +//(molar values) +inline scalar aungierRedlichKwong::dpdv(const scalar rho, const scalar T) const +{ + + + return this->a()*pow(T,-this->n())*pow(this->Tcrit(),this->n())*(this->b()+2*(this->W()/rho))/(pow((this->W()/rho),2)*pow((this->b()+(this->W()/rho)),2))-this->RR*T/(pow((this->b()-(this->W()/rho)-this->c()),2)); +} + + + + +//Real deviative dp/dT at constant molar volume +//(molar values) +inline scalar aungierRedlichKwong::dpdT(const scalar rho, const scalar T) const +{ +return this->a()*this->n()*pow(T,-this->n()-1)*pow(this->Tcrit(),this->n())/((this->W()/rho)*((this->W()/rho)+this->b()))- +this->RR/(this->b()-(this->W()/rho)-this->c()); +} + + + + +//Real deviative dv/dT at constant pressure +//using implicit differentiation +//(molar values) +inline scalar aungierRedlichKwong::dvdT(const scalar rho,const scalar T) const +{ +return (-1)*this->dpdT(rho,T)/this->dpdv(rho,T); +} + + + + +//Real deviative dv/dp at constant temperature +//(molar values) +inline scalar aungierRedlichKwong::dvdp(const scalar rho,const scalar T) const +{ +return 1/this->dpdv(rho,T); +} + + + + + + +//needed to calculate the internal energy +//(molar values) +inline scalar aungierRedlichKwong::integral_p_dv(const scalar rho,const scalar T) const +{ +return -pow((T/this->Tcrit()),-this->n())*(this->a()*log((this->W()/rho))/(this->b())-this->a()*log(this->b()+(this->W()/rho))/this->b())+this->RR*T*log((this->W()/rho)-this->b()+this->c()); +} + + + +//needed to calculate the entropy +//(molar values) +inline scalar aungierRedlichKwong::integral_dpdT_dv(const scalar rho,const scalar T) const +{ +return pow(T,-this->n()-1)*pow(this->Tcrit(),this->n())* +(this->a()*this->n()*log((this->W()/rho))/(this->b()) +-this->a()*this->n()*log(this->b()+(this->W()/rho))/(this->b())) ++ this->RR*log(-this->b()+this->c()+(this->W()/rho)); +} + + + + +//* * * * * * * * * * * * * second order Derivative based functions * * * * * * * * * * * // + + + +//(molar values) +inline scalar aungierRedlichKwong::d2pdT2(const scalar rho,const scalar T) const +{ +return -this->a()*this->n()*pow(T,-this->n()-2)*pow(this->Tcrit(),this->n())*(this->n()+1)/((this->W()/rho)*(this->b()+(this->W()/rho))); +} + + + + +//(molar values) +inline scalar aungierRedlichKwong::d2pdv2(const scalar rho,const scalar T) const +{ + return -2*this->a()*pow(T,-this->n())*pow(this->Tcrit(),this->n())*(pow(this->b(),2)+3*this->b()*(this->W()/rho)+3*pow((this->W()/rho),2))/(pow((this->W()/rho),3)*pow((this->b()+(this->W()/rho)),3))-2*this->RR*T/(pow((this->b()-(this->W()/rho)-this->c()),3)); +} + + + + +//(molar values) +//using second order implicit differentiation +inline scalar aungierRedlichKwong::d2vdT2(const scalar rho, const scalar T) const +{ +return -(pow(this->dpdT(rho,T),2)*this->d2pdv2(rho,T)+ pow(this->dpdv(rho,T),2) *this->d2pdT2(rho,T)- 2*this->dpdv(rho,T)*this->dpdT(rho,T)*this->d2pdvdT(rho,T))/( pow(this->dpdv(rho,T),3)); +} + + + + +//(molar values) +inline scalar aungierRedlichKwong::d2pdvdT(const scalar rho, const scalar T) const +{ +return -this->a()*this->n()*pow(T,-this->n()-1)*pow(this->Tcrit(),this->n())*(this->b()+2*(this->W()/rho))/(pow((this->W()/rho),2)*pow((this->b()+(this->W()/rho)),2))-this->RR/(pow((this->b()-this->c()-(this->W()/rho)),2)); +} + + + + +// the result of this intergal is needed for the nasa based cp polynomial +//(molar values) +inline scalar aungierRedlichKwong::integral_d2pdT2_dv(const scalar rho,const scalar T) const +{ +return pow(T,-this->n()-2)*pow(this->Tcrit(),this->n())*(this->a()*this->n()*(this->n()+1)*log(this->b()+(this->W()/rho))/this->b()-this->a()*this->n()*(1+this->n())*log((this->W()/rho))/this->b()); +} + + + + + +//* * * * * * * * * * * * * thermodynamic properties * * * * * * * * * * * // + + +//Isobar expansion Coefficent beta = 1/v (dv/dt) at constant p +//(molar values) +inline scalar aungierRedlichKwong::isobarExpCoef(const scalar rho,const scalar T) const +{ + return this->dvdT(rho, T)*rho/this->W(); +} + +//isothemal compressiblity kappa +//(molar values) +inline scalar aungierRedlichKwong::isothermalCompressiblity(const scalar rho,const scalar T) const +{ +return this->isobarExpCoef(rho, T)/this->dpdT(rho, T); +//also possible : return -this->dvdp(rho,T)*rho/this->W(); +} + + + + + + + + + + +// Construct from components +// Starting GUESS for the density by ideal gas law +inline aungierRedlichKwong::aungierRedlichKwong +( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor, + scalar rhocrit +) +: + specie(sp), + pcrit_(pcrit), + Tcrit_(Tcrit), + azentricFactor_(azentricFactor), + rhocrit_(rhocrit) +{ + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); // Starting GUESS for the density by ideal gas law +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct as named copy + +inline aungierRedlichKwong::aungierRedlichKwong(const word& name, aungierRedlichKwong& pg) +: + specie(name, pg), + pcrit_(pg.pcrit_), + Tcrit_(pg.Tcrit_), + azentricFactor_(pg.azentricFactor_) +{ + pg.rhostd_=this->rho(Pstd,Tstd, (Pstd*this->W()/(Tstd*this->R()))); // Starting GUESS for the density by ideal gas law +} + + +// Construct and return a clone +inline autoPtr aungierRedlichKwong::clone() const +{ + return autoPtr(new aungierRedlichKwong(*this)); +} + + +// Selector from Istream +inline autoPtr aungierRedlichKwong::New(Istream& is) +{ + return autoPtr(new aungierRedlichKwong(is)); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +//- Return density [kg/m^3] +inline scalar aungierRedlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const +{ + + + scalar molarVolumePrevIteration; + scalar molarVolume; + int iter=0; + int maxIter_=400; + scalar tol_=1e-8; + int i; + scalar rho1=rhoMax_, rho2=rhoMin_,rho3, f1,f2,f3; + + +molarVolume=this->W()/rho0; + + + do + { + molarVolumePrevIteration= molarVolume; + + i=0; + do + { + molarVolume=molarVolumePrevIteration-((this->pReturn((this->W()/molarVolumePrevIteration),T)-p)/(this->dpdv((this->W()/ + molarVolumePrevIteration),T)))/(pow(2,i)); + i++; + if(i>8) + { + + //using bisection methode as backup, solution must be between rho=0.001 to rho=1500; + for(i=0;i<200;i++) + { + f1= (this->pReturn(rho1,T)-p); + f2= (this->pReturn(rho2,T)-p); + rho3=(rho1+rho2)/2; + f3=(this->pReturn(rho3,T)-p); + + if ((f2<0 && f3>0)||(f2>0 &&f3<0)) + { + rho1=rho3; + } + else if ((f1<0 && f3>0)||(f1>0 &&f3<0)) + { + rho2=rho3; + } + + else + { + rho2=(rho2+rho3)/2; + } + + if(mag(f3)W()/rho3; + molarVolumePrevIteration=this->W()/rho3; + break; + } + else + { + molarVolumePrevIteration=this->W()/rho3; + } + } + } + } + while(mag(this->pReturn((this->W()/molarVolume),T)-p)>mag(this->pReturn((this->W()/molarVolumePrevIteration),T)-p)); + + if (iter++ > maxIter_) + { + FatalErrorIn + ( + "inline scalar aungierRedlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const " + ) << "Maximum number of iterations exceeded" + << abort(FatalError); + } + + } + while(mag(molarVolumePrevIteration-molarVolume)>tol_*(this->W()/rho0)); + + return this->W()/molarVolume; + +} + +//- Return density [kg/m^3]on +inline scalar aungierRedlichKwong::rho(const scalar p,const scalar T) const +{ + + +scalar rho0=p/(this->R()*T); //using perfect gas equation as starting point +return rho(p,T,rho0); + +} + +//- Return compressibility drho/dp [s^2/m^2] +inline scalar aungierRedlichKwong::psi(const scalar rho, const scalar T) const +{ + return -this->dvdp(rho,T)*pow(rho,2)/this->W(); +} + +//- Return compression factor [] +inline scalar aungierRedlichKwong::Z( const scalar p, const scalar T,const scalar rho0) const +{ + return (p*this->rho(p,T,rho0))/(this->R()*T); +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +inline void aungierRedlichKwong::operator+=(const aungierRedlichKwong& pg) +{ + specie::operator+=(pg); +} + + inline void aungierRedlichKwong::operator-=(const aungierRedlichKwong& pg) +{ + specie::operator-=(pg); +} + +inline void aungierRedlichKwong::operator*=(const scalar s) +{ + specie::operator*=(s); +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // +//****************not working**************// +/* +inline aungierRedlichKwong operator+ +( + const aungierRedlichKwong& pg1, + const aungierRedlichKwong& pg2 +) +{ + return aungierRedlichKwong + ( + static_cast(pg1) + + static_cast(pg2) + ); +} + + +inline aungierRedlichKwong operator- +( + const aungierRedlichKwong& pg1, + const aungierRedlichKwong& pg2 +) +{ + return aungierRedlichKwong + ( + static_cast(pg1) + - static_cast(pg2) + ); +} + + +inline aungierRedlichKwong operator* +( + const scalar s, + const aungierRedlichKwong& pg +) +{ + return aungierRedlichKwong(s*static_cast(pg)); +} + + +inline aungierRedlichKwong operator== +( + const aungierRedlichKwong& pg1, + const aungierRedlichKwong& pg2 +) +{ + return pg2 - pg1; +} + +*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.C b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.C new file mode 100755 index 000000000..4a55086c0 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.C @@ -0,0 +1,79 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + Peng Robinson equation of state. + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "pengRobinson.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +pengRobinson::pengRobinson(Istream& is) +: + specie(is), + pcrit_(readScalar(is)), + Tcrit_(readScalar(is)), + azentricFactor_(readScalar(is)) +{ + is.check("pengRobinson::pengRobinson(Istream& is)"); + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); + rhoMax_=1500; + rhoMin_=0.001; + + + +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +Ostream& operator<<(Ostream& os, const pengRobinson& pg) +{ + os << static_cast(pg)<< tab + << pg.pcrit_ << tab<< pg.Tcrit_<< tab << pg.azentricFactor_; + + os.check("Ostream& operator<<(Ostream& os, const pengRobinson& st)"); + return os; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.H b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.H new file mode 100755 index 000000000..09013aa3a --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinson.H @@ -0,0 +1,192 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::pengRobinson + +Description + Peng Robinson equation of state. + +SourceFiles + pengRobinsonI.H + pengRobinson.C + + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#ifndef pengRobinson_H +#define pengRobinson_H + +#include "specie.H" +#include "autoPtr.H" +#include "word.H" +#include "scalar.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class perfectGas Declaration +\*---------------------------------------------------------------------------*/ + +class pengRobinson +: + public specie + +{ + + +public: + + + // Constructors + + //- Construct from components + inline pengRobinson( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor + ); + + //- Construct from Istream + pengRobinson(Istream&); + + //- Construct as named copy + inline pengRobinson(const word& name, pengRobinson&); + + //- Construct and return a clone + inline autoPtr clone() const; + + // Selector from Istream + inline static autoPtr New(Istream& is); + + //Member Variabels + scalar pcrit_; + scalar Tcrit_; + scalar rhostd_; + scalar azentricFactor_; + scalar rhoMax_; //should be read from the fvSolution file where rhoMax and rhoMin values must be define ( for rhoSimpleFoam) + scalar rhoMin_; + + // Member functions + inline scalar pcrit() const; + inline scalar Tcrit() const; + inline scalar azentricFactor() const; + inline scalar rhostd()const; + inline scalar pReturn(const scalar rho, const scalar T) const; + + //-Redlich Kwong factors + inline scalar a() const; + inline scalar b() const; + inline scalar n() const; + + //derivatives + inline scalar dpdv(const scalar rho,const scalar T) const; + inline scalar dpdT(const scalar rho, const scalar T) const; + inline scalar dvdT(const scalar rho,const scalar T) const; + inline scalar dvdp(const scalar rho, const scalar T) const; + inline scalar isobarExpCoef(const scalar rho,const scalar T) const; + inline scalar isothermalCompressiblity(const scalar rho,const scalar T) const; + inline scalar integral_d2pdT2_dv(const scalar rho,const scalar T) const ; // Used for cv + inline scalar d2pdv2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdvdT(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2vdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar integral_p_dv(const scalar rho,const scalar T) const; //Used for internal Energy + inline scalar integral_dpdT_dv(const scalar rho,const scalar T) const; //Used for Entropy + + //- Return density [kg/m^3] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar rho(const scalar p,const scalar T,const scalar rho0) const; + inline scalar rho(const scalar p,const scalar T) const; + //- Return compressibility rho/p [s^2/m^2] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar psi(const scalar rho, const scalar T) const; + + //- Return compression factor [] + inline scalar Z(const scalar p,const scalar T,const scalar rho0) const; + + + // Member operators + + inline void operator+=(const pengRobinson&); + inline void operator-=(const pengRobinson&); + + inline void operator*=(const scalar); + + + /* // Friend operators + + inline friend pengRobinson operator+ + ( + const pengRobinson&, + const pengRobinson& + ); + + inline friend pengRobinson operator- + ( + const pengRobinson&, + const pengRobinson& + ); + + inline friend pengRobinson operator* + ( + const scalar s, + const pengRobinson& + ); + + inline friend pengRobinson operator== + ( + const pengRobinson&, + const pengRobinson& + ); +*/ + + // Ostream Operator + + friend Ostream& operator<<(Ostream&, const pengRobinson&); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "pengRobinsonI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinsonI.H b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinsonI.H new file mode 100755 index 000000000..45a04d45f --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/pengRobinson/pengRobinsonI.H @@ -0,0 +1,513 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "pengRobinson.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + + + + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +inline scalar pengRobinson::pcrit()const +{ +return pcrit_; +} + + + +inline scalar pengRobinson::Tcrit()const +{ +return Tcrit_; +} + + +inline scalar pengRobinson::rhostd()const +{ +return rhostd_; +} + + +// Returns the Azentric Factor (Acentric Factor) +inline scalar pengRobinson::azentricFactor() const +{ +return azentricFactor_; +} + +//returns the pressure for a given density and temperature +inline scalar pengRobinson::pReturn(const scalar rho,const scalar T) const +{ +return this->RR*T/((this->W()/rho)-this->b())-(this->a()*pow((1+this->n()*(1-pow((T/this->Tcrit()),0.5))),2))/(pow((this->W()/rho),2)+2*this->b()*(this->W()/rho)-pow(this->b(),2)); +} + + + +// Factor a of the pengRobinson equation of state +//(molar values) +inline scalar pengRobinson::a() const +{ +return 0.457235*pow(this->RR,2)*pow(this->Tcrit(),2)/this->pcrit(); +} + + + +// Factor b of the pengRobinson equation of state +//(molar values) +inline scalar pengRobinson::b() const +{ +return 0.077796*this->RR*this->Tcrit()/this->pcrit(); +} + +// Factor nb of the pengRobinson equation of state +//(molar values) +inline scalar pengRobinson::n() const +{ +// this equation is only valid for asentricFactors <0.49. +return 0.37464+1.54226*this->azentricFactor()-0.26992*pow(this->azentricFactor(),2); +} + + +//* * * * * * * * * * * * * Derivatives * * * * * * * * * * * // + + + +//Real deviative dp/dv at constant temperature +//(molar values) +inline scalar pengRobinson::dpdv(const scalar rho, const scalar T) const +{ +return -(4*this->a()*this->n()*this->Tcrit()*(this->b()-(this->W()/rho))*(pow(this->b(),2)-pow((this->W()/rho),2))*(this->n()+1) +*pow((T/this->Tcrit()),0.5) ++this->Tcrit()*(-2*this->a()*pow((this->n()+1),2)*(pow(this->b(),3)-pow(this->b(),2)*(this->W()/rho) +-this->b()*pow((this->W()/rho),2)+pow((this->W()/rho),3)) ++this->RR*T*(pow(this->b(),4)-4*pow(this->b(),3)*(this->W()/rho)+2*pow(this->b(),2)*pow((this->W()/rho),2) ++4*this->b()*pow((this->W()/rho),3)+pow((this->W()/rho),4))) +-2*this->a()*pow(this->n(),2)*T*(pow(this->b(),3)-pow(this->b(),2)*(this->W()/rho)-this->b()*pow((this->W()/rho),2)+pow((this->W()/rho),3))) +/(this->Tcrit()*pow((this->b()-(this->W()/rho)),2)*pow((pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2)),2)); +} + + + +//Real deviative dp/dT at constant molar volume +//(molar values) +inline scalar pengRobinson::dpdT(const scalar rho, const scalar T) const +{ +return (-this->a()*this->n()*(this->n()+1)*pow((T/this->Tcrit()),0.5)/(T*(pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2)))+this->a()*pow(this->n(),2)/(this->Tcrit()*(pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2)))-this->RR/(this->b()-(this->W()/rho))); +} + + + + +//Real deviative dv/dT at constant pressure +//by using implicit differentiation +//(molar values) +inline scalar pengRobinson::dvdT(const scalar rho,const scalar T) const +{ +return (-1)*this->dpdT(rho,T)/this->dpdv(rho,T); +} + + + + +//(molar values) +inline scalar pengRobinson::dvdp(const scalar rho,const scalar T) const +{ +return 1/this->dpdv(rho,T); +} + + + + + +//(molar values) +//needed to calculate the internal energy +inline scalar pengRobinson::integral_p_dv(const scalar rho,const scalar T) const +{ +return pow(2,0.5)*this->a()*(2*this->n()*this->Tcrit()*(this->n()+1)*pow(T/this->Tcrit(),0.5) +-this->Tcrit()*(pow(this->n(),2)+2*this->n()+1)-pow(this->n(),2)*T)*log(this->b()*(1-pow(2,0.5))+(this->W()/rho))/(4*this->b()*this->Tcrit()) ++this->RR*T*log((this->W()/rho)-this->b()) +-pow(2,0.5)*this->a()*(2*this->n()*this->Tcrit()*(this->n()+1)*pow(T/this->Tcrit(),0.5) +-this->Tcrit()*(pow(this->n(),2)+2*this->n()+1)-pow(this->n(),2)*T) +*log(this->b()*(pow(2,0.5)+1)+(this->W()/rho))/(4*this->b()*this->Tcrit()); +} + + +//(molar values) +//needed to calculate the entropy +inline scalar pengRobinson::integral_dpdT_dv(const scalar rho,const scalar T) const +{ + +return (pow(2,0.5)*this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5)/(4*this->b()*T) +-pow(2,0.5)*this->a()*pow(this->n(),2)/(4*this->b()*this->Tcrit())) +*log(this->b()*(1-pow(2,0.5))+(this->W()/rho)) ++this->RR*log((this->W()/rho)-this->b()) ++(pow(2,0.5)*this->a()*pow(this->n(),2)/(4*this->b()*this->Tcrit()) +-pow(2,0.5)*this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5)/(4*this->b()*T)) +*log(this->b()*(pow(2,0.5)+1)+(this->W()/rho)); + +} + + + + +//* * * * * * * * * * * * * second order Derivative based functions * * * * * * * * * * * // + + + +//(molar values) +inline scalar pengRobinson::d2pdT2(const scalar rho,const scalar T) const +{ +return this->a()*this->n()*(this->n()+1)*pow((T/this->Tcrit()),0.5)/(2*pow(T,2)*(pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2))); +} + + + + +//(molar values) +inline scalar pengRobinson::d2pdv2(const scalar rho,const scalar T) const +{ +return 2*(2*this->a()*this->n()*this->Tcrit()*(this->b()-(this->W()/rho))*(this->n()+1)* +(5*pow(this->b(),4)-4*pow(this->b(),3)*(this->W()/rho)-4*pow(this->b(),2)*pow((this->W()/rho),2) ++3*pow((this->W()/rho),4))*pow(T/this->Tcrit(),0.5) ++this->Tcrit()*(this->RR*T*(pow(this->b(),6)-6*pow(this->b(),5)*(this->W()/rho)+9*pow(this->b(),4)*pow((this->W()/rho),2) ++4*pow(this->b(),3)*pow((this->W()/rho),3)-9*pow(this->b(),2)*pow((this->W()/rho),4)-6*this->b()*pow((this->W()/rho),5) +-pow((this->W()/rho),6)) +-this->a()*pow((this->n()+1),2)*(5*pow(this->b(),5)-9*pow(this->b(),4)*(this->W()/rho) ++4*pow(this->b(),2)*pow((this->W()/rho),3)+3*this->b()*pow((this->W()/rho),4)-3*pow((this->W()/rho),5))) +-this->a()*pow(this->n(),2)*T*(5*pow(this->b(),5)-9*pow(this->b(),4)*(this->W()/rho)+4*pow(this->b(),2)*pow((this->W()/rho),3) ++3*this->b()*pow((this->W()/rho),4)-3*pow((this->W()/rho),5))) +/(this->Tcrit()*pow((pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2)),3)*pow(((this->W()/rho)-this->b()),3)); +} + + + + +//(molar values) +//using second order implicit differentiation +inline scalar pengRobinson::d2vdT2(const scalar rho, const scalar T) const +{ +return -(pow(this->dpdT(rho,T),2)*this->d2pdv2(rho,T)+ pow(this->dpdv(rho,T),2) *this->d2pdT2(rho,T)- 2*this->dpdv(rho,T)*this->dpdT(rho,T)*this->d2pdvdT(rho,T))/( pow(this->dpdv(rho,T),3)); +} + + + + +//(molar values) +inline scalar pengRobinson::d2pdvdT(const scalar rho, const scalar T) const +{ +return -2*this->a()*this->n()*(this->b()+(this->W()/rho))*(this->n()+1)*pow(T/this->Tcrit(),0.5) +/(T*pow((pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2)),2))+(2*this->a()*pow(this->n(),2)*(this->b()+(this->W()/rho)))/(this->Tcrit()*pow(pow(this->b(),2)-2*this->b()*(this->W()/rho)-pow((this->W()/rho),2),2))-this->RR/(pow(this->b()-(this->W()/rho),2)); +} + + + + +// the result of this intergal is needed for the nasa based cp polynomial +//(molar values) +inline scalar pengRobinson::integral_d2pdT2_dv(const scalar rho,const scalar T) const +{ +return pow(2,0.5)*this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5) +*log(this->b()*(pow(2,0.5)+1)+(this->W()/rho))/(8*this->b()*pow(T,2)) +-pow(2,0.5)*this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5) +*log(this->b()*(1-pow(2,0.5))+(this->W()/rho))/(8*this->b()*pow(T,2)); +} + + + + + +//* * * * * * * * * * * * * thermodynamic properties * * * * * * * * * * * // + + +//Isobar expansion Coefficent beta = 1/v (dv/dt) at constant p +//(molar values) +inline scalar pengRobinson::isobarExpCoef(const scalar rho,const scalar T) const +{ + return this->dvdT(rho, T)*rho/this->W(); +} + +//isothemal compressiblity kappa +//(molar values) +inline scalar pengRobinson::isothermalCompressiblity(const scalar rho,const scalar T) const +{ +return this->isobarExpCoef(rho, T)/this->dpdT(rho, T); +//also possible : return -this->dvdp(rho,T)*rho/this->W(); +} + + + + + + + + + + +// Construct from components +inline pengRobinson::pengRobinson +( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor + +) +: + specie(sp), + pcrit_(pcrit), + Tcrit_(Tcrit), + azentricFactor_(azentricFactor) +{ + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); // Starting GUESS for the density by ideal gas law +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct as named copy + +inline pengRobinson::pengRobinson(const word& name, pengRobinson& pg) +: + specie(name, pg), + pcrit_(pg.pcrit_), + Tcrit_(pg.Tcrit_), + azentricFactor_(pg.azentricFactor_) +{ + pg.rhostd_=this->rho(Pstd,Tstd, (Pstd*this->W()/(Tstd*this->R()))); // Starting GUESS for the density by ideal gas law +} + + +// Construct and return a clone +inline autoPtr pengRobinson::clone() const +{ + return autoPtr(new pengRobinson(*this)); +} + + +// Selector from Istream +inline autoPtr pengRobinson::New(Istream& is) +{ + return autoPtr(new pengRobinson(is)); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +//- Return density [kg/m^3] +// TO DO Include a max Iteration number loop and abort function +inline scalar pengRobinson::rho(const scalar p,const scalar T,const scalar rho0) const +{ + + scalar molarVolumePrevIteration; + scalar molarVolume; + int iter=0; + int i; + int maxIter_=400; + scalar tol_=1e-8; + scalar rho1=rhoMax_, rho2=rhoMin_,rho3, f1,f2,f3; + +molarVolume=this->W()/rho0; + + do + { + molarVolumePrevIteration= molarVolume; + i=0; + do + { + + molarVolume=molarVolumePrevIteration-((this->pReturn((this->W()/molarVolumePrevIteration),T)-p)/(this->dpdv((this->W()/ + molarVolumePrevIteration),T)))/(pow(2,i)); + + + i++; + if(i>8) + { + //using bisection methode as backup, solution must be between rho=0.001 to rho=1500; + for(i=0;i<200;i++) + { + + f1= (this->pReturn(rho1,T)-p); + f2= (this->pReturn(rho2,T)-p); + rho3=(rho1+rho2)/2; + f3=(this->pReturn(rho3,T)-p); + + if ((f2<0 && f3>0)||(f2>0 &&f3<0)) + { + rho1=rho3; + } + else if ((f1<0 && f3>0)||(f1>0 &&f3<0)) + { + rho2=rho3; + } + + else + { + rho2=(rho2+rho3)/2; + } + + if(mag(f3)W()/rho3; + molarVolumePrevIteration=this->W()/rho3; + break; + } + else + { + molarVolumePrevIteration=this->W()/rho3; + } + } + } + + + } + while(mag(this->pReturn((this->W()/molarVolume),T)-p)>mag(this->pReturn((this->W()/molarVolumePrevIteration),T)-p)); + + if (iter++ > maxIter_) + { + FatalErrorIn + ( + "inline scalar pengRobinson::rho(const scalar p,const scalar T,const scalar rho0) const " + ) << "Maximum number of iterations exceeded" + << abort(FatalError); + } + + } + while(mag(molarVolumePrevIteration-molarVolume)>tol_*(this->W()/rho0)); + + + + + + return this->W()/molarVolume; + +} + +//- Return density [kg/m^3]on +inline scalar pengRobinson::rho(const scalar p,const scalar T) const +{ + scalar rho0=p/(this->R()*T); //using perfect gas equation as starting point + return rho(p,T,rho0); +} + +//- Return compressibility drho/dp [s^2/m^2] +inline scalar pengRobinson::psi(const scalar rho, const scalar T) const +{ + return -this->dvdp(rho,T)*pow(rho,2)/this->W(); +} + +//- Return compression factor [] +inline scalar pengRobinson::Z( const scalar p, const scalar T,const scalar rho0) const +{ + return (p*this->rho(p,T,rho0))/(this->R()*T); +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +inline void pengRobinson::operator+=(const pengRobinson& pg) +{ + specie::operator+=(pg); +} + + inline void pengRobinson::operator-=(const pengRobinson& pg) +{ + specie::operator-=(pg); +} + +inline void pengRobinson::operator*=(const scalar s) +{ + specie::operator*=(s); +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // +//****************not working**************// +/* +inline pengRobinson operator+ +( + const pengRobinson& pg1, + const pengRobinson& pg2 +) +{ + return pengRobinson + ( + static_cast(pg1) + + static_cast(pg2) + ); +} + + +inline pengRobinson operator- +( + const pengRobinson& pg1, + const pengRobinson& pg2 +) +{ + return pengRobinson + ( + static_cast(pg1) + - static_cast(pg2) + ); +} + + +inline pengRobinson operator* +( + const scalar s, + const pengRobinson& pg +) +{ + return pengRobinson(s*static_cast(pg)); +} + + +inline pengRobinson operator== +( + const pengRobinson& pg1, + const pengRobinson& pg2 +) +{ + return pg2 - pg1; +} + +*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.C b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.C new file mode 100755 index 000000000..fd94b80b2 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.C @@ -0,0 +1,77 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + Redlich Kwong equation of state. + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "redlichKwong.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +redlichKwong::redlichKwong(Istream& is) +: + specie(is), + pcrit_(readScalar(is)), + Tcrit_(readScalar(is)), + azentricFactor_(readScalar(is)) +{ + is.check("redlichKwong::redlichKwong(Istream& is)"); + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); + rhoMax_=1500; + rhoMin_=0.001; +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +Ostream& operator<<(Ostream& os, const redlichKwong& pg) +{ + os << static_cast(pg)<< tab + << pg.pcrit_ << tab<< pg.Tcrit_<< tab << pg.azentricFactor_; + + os.check("Ostream& operator<<(Ostream& os, const redlichKwong& st)"); + return os; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.H b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.H new file mode 100755 index 000000000..2be713d1d --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwong.H @@ -0,0 +1,191 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::redlichKwong + +Description + Redlich Kwong equation of state. + +SourceFiles + redlichKwongI.H + redlichKwong.C + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#ifndef redlichKwong_H +#define redlichKwong_H + +#include "specie.H" +#include "autoPtr.H" +#include "word.H" +#include "scalar.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class perfectGas Declaration +\*---------------------------------------------------------------------------*/ + +class redlichKwong +: + public specie + +{ + + +public: + + + // Constructors + + //- Construct from components + inline redlichKwong( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor + ); + + //- Construct from Istream + redlichKwong(Istream&); + + //- Construct as named copy + inline redlichKwong(const word& name, redlichKwong&); + + //- Construct and return a clone + inline autoPtr clone() const; + + // Selector from Istream + inline static autoPtr New(Istream& is); + + //Member Variabels + scalar pcrit_; + scalar Tcrit_; + scalar rhostd_; + scalar azentricFactor_; + scalar rhoMax_; //should be read from the fvSolution file where rhoMax and rhoMin values must be define ( for rhoSimpleFoam) + scalar rhoMin_; + + // Member functions + inline scalar pcrit() const; + inline scalar Tcrit() const; + inline scalar rhostd()const; + inline scalar azentricFactor() const; + inline scalar pReturn(const scalar rho, const scalar T) const; + + //-Redlich Kwong factors + inline scalar a() const; + inline scalar b() const; + + + //derivatives + inline scalar dpdv(const scalar rho,const scalar T) const; + inline scalar dpdT(const scalar rho, const scalar T) const; + inline scalar dvdT(const scalar rho,const scalar T) const; + inline scalar dvdp(const scalar rho, const scalar T) const; + inline scalar isobarExpCoef(const scalar rho,const scalar T) const; + inline scalar isothermalCompressiblity(const scalar rho,const scalar T) const; + inline scalar integral_d2pdT2_dv(const scalar rho,const scalar T) const ; // Used for cv + inline scalar d2pdv2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdvdT(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2vdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar integral_p_dv(const scalar rho,const scalar T) const; //Used for internal Energy + inline scalar integral_dpdT_dv(const scalar rho,const scalar T) const; //Used for Entropy + + //- Return density [kg/m^3] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar rho(const scalar p,const scalar T,const scalar rho0) const; + inline scalar rho(const scalar p,const scalar T) const; + //- Return compressibility drho/dp [s^2/m^2] + inline scalar psi(const scalar rho, const scalar T) const; + + //- Return compression factor [] + inline scalar Z(const scalar p,const scalar T,const scalar rho0) const; + + + // Member operators + + inline void operator+=(const redlichKwong&); + inline void operator-=(const redlichKwong&); + + inline void operator*=(const scalar); + + + /* // Friend operators + + inline friend redlichKwong operator+ + ( + const redlichKwong&, + const redlichKwong& + ); + + inline friend redlichKwong operator- + ( + const redlichKwong&, + const redlichKwong& + ); + + inline friend redlichKwong operator* + ( + const scalar s, + const redlichKwong& + ); + + inline friend redlichKwong operator== + ( + const redlichKwong&, + const redlichKwong& + ); +*/ + + // Ostream Operator + + friend Ostream& operator<<(Ostream&, const redlichKwong&); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "redlichKwongI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwongI.H b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwongI.H new file mode 100755 index 000000000..a3062d3e6 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/redlichKwong/redlichKwongI.H @@ -0,0 +1,476 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "redlichKwong.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + + + + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +inline scalar redlichKwong::pcrit()const +{ +return pcrit_; +} + + + +inline scalar redlichKwong::Tcrit()const +{ +return Tcrit_; +} + +// Returns the Azentric Factor (Acentric Factor) +inline scalar redlichKwong::azentricFactor() const +{ +return azentricFactor_; +} + + +inline scalar redlichKwong::rhostd()const +{ +return rhostd_; +} + + +//returns the pressure for a given density and temperature +inline scalar redlichKwong::pReturn(const scalar rho,const scalar T) const +{ +return (this->RR *T/((this->W()/rho)-this->b()) - (this->a()/(sqrt(T)*(this->W()/rho)*((this->W()/rho)+this->b())))); +} + + + +// Faktor a of the redlich Kwong equation of state +//(molar values) +inline scalar redlichKwong::a() const +{ +return 0.42748*pow(this->RR,2)*pow(this->Tcrit(),2.5)/(this->pcrit()); +} + + + +// Faktor b of the redlich Kwong equation of state +//(molar values) +inline scalar redlichKwong::b() const +{ +return 0.08664*this->RR*this->Tcrit()/this->pcrit(); +} + + + +//* * * * * * * * * * * * * Derivatives * * * * * * * * * * * // + + + +//Real deviative dp/dv at constant temperature +//(molar values) +inline scalar redlichKwong::dpdv(const scalar rho, const scalar T) const +{ + return (this->a()*(pow(this->b(),3)-3*this->b()*pow((this->W()/rho),2)+2*pow((this->W()/rho),3))-this->RR*pow(T,1.5)*pow((this->W()/rho),2) *(pow(this->b(),2)+2*this->b()*(this->W()/rho)+pow((this->W()/rho),2))) / ( sqrt(T) * pow((this->W()/rho),2) * pow((this->b()+(this->W()/rho)),2) *pow( (this->b()-(this->W()/rho)),2) ); +} + + + + +//Real deviative dp/dT at constant molar volume +//(molar values) +inline scalar redlichKwong::dpdT(const scalar rho, const scalar T) const +{ +return 0.5*this->a()/(pow(T,1.5)*(this->W()/rho)*(this->b()+(this->W()/rho)))-this->RR/(this->b()-(this->W()/rho)); +} + + + + +//Real deviative dv/dT at constant pressure +//using implicit differentiation +//(molar values) +inline scalar redlichKwong::dvdT(const scalar rho,const scalar T) const +{ +return (-1)*this->dpdT(rho,T)/this->dpdv(rho,T); +} + + + + +//Real deviative dv/dp at constant temperature +//(molar values) +inline scalar redlichKwong::dvdp(const scalar rho,const scalar T) const +{ +return 1/this->dpdv(rho,T); +} + + + + + +//needed to calculate the internal energy +//(molar values) +inline scalar redlichKwong::integral_p_dv(const scalar rho,const scalar T) const +{ +return this->RR*T*log((this->W()/rho)-this->b())+(this->a()*log(this->b()+(this->W()/rho)))/(this->b()*sqrt(T))-(this->a()*log(this->W()/rho))/(this->b()*sqrt(T)); +} + + + +//needed to calculate the entropy +//(molar values) +inline scalar redlichKwong::integral_dpdT_dv(const scalar rho,const scalar T) const +{ +return this->RR*log((this->W()/rho)-this->b()) +-(this->a()*log(this->b()+(this->W()/rho)))/(2*this->b()* pow(T,1.5) ) ++(this->a()*log(this->W()/rho))/(2*this->b()* pow(T,1.5)); +} + + + + +//* * * * * * * * * * * * * second order Derivative based functions * * * * * * * * * * * // + + + +//(molar values) +inline scalar redlichKwong::d2pdT2(const scalar rho,const scalar T) const +{ +return -0.75*this->a()/( pow(T,2.5)*(this->W()/rho)*(this->b()+(this->W()/rho))); +} + + + + +//(molar values) +inline scalar redlichKwong::d2pdv2(const scalar rho,const scalar T) const +{ +return +( +2*(this->a()*(pow(this->b(),5)-3*pow(this->b(),3)*pow((this->W()/rho),2)-pow(this->b(),2)*pow((this->W()/rho),3)+6*this->b()*pow((this->W()/rho),4)-3*pow((this->W()/rho),5))+this->RR*pow(T,1.5)*pow((this->W()/rho),3) +*(pow(this->b(),3)+3*pow(this->b(),2)*(this->W()/rho)+3*this->b()*pow((this->W()/rho),2)+pow((this->W()/rho),3)))/( sqrt(T)* pow((this->W()/rho),3) *pow( (this->b()+(this->W()/rho)) ,3)* pow((this->W()/rho)-this->b(),3))); +} + + + + +//(molar values) +//using second Order implicit differentiation +inline scalar redlichKwong::d2vdT2(const scalar rho, const scalar T) const +{ +return -(pow(this->dpdT(rho,T),2)*this->d2pdv2(rho,T)+ pow(this->dpdv(rho,T),2) *this->d2pdT2(rho,T)- 2*this->dpdv(rho,T)*this->dpdT(rho,T)*this->d2pdvdT(rho,T))/( pow(this->dpdv(rho,T),3)); +} + + + + +//(molar values) +inline scalar redlichKwong::d2pdvdT(const scalar rho, const scalar T) const +{ +return -(0.5*(this->a()*( pow(this->b(),3)-3*this->b()* pow((this->W()/rho),2) +2* pow((this->W()/rho),3) )+2*this->RR*pow(T,1.5)* pow((this->W()/rho),2)*( pow(this->b(),2) + 2*this->b()*(this->W()/rho)+ pow((this->W()/rho),2) )))/( pow(T,1.5)* pow((this->W()/rho),2)*pow(this->b()+(this->W()/rho),2)*pow(this->b()-(this->W()/rho),2)); +} + + + + +// the result of this intergal is needed for the nasa based cp polynomial +//(molar values) +inline scalar redlichKwong::integral_d2pdT2_dv(const scalar rho,const scalar T) const +{ +return 0.75*this->a()*log(this->b() + (this->W()/rho))/(pow(T,2.5)*this->b()) - 0.75*this->a()*log((this->W()/rho))/(pow(T,2.5)*this->b()); +} + + + + + +//* * * * * * * * * * * * * thermodynamic properties * * * * * * * * * * * // + + +//Isobar expansion Coefficent beta = 1/v (dv/dt) at constant p +//(molar values) +inline scalar redlichKwong::isobarExpCoef(const scalar rho,const scalar T) const +{ + return this->dvdT(rho, T)*rho/this->W(); +} + +//isothemal compressiblity kappa +//(molar values) +inline scalar redlichKwong::isothermalCompressiblity(const scalar rho,const scalar T) const +{ +return this->isobarExpCoef(rho, T)/this->dpdT(rho, T); +//also possible : return -this->dvdp(rho,T)*rho/this->W(); +} + + + + + + + + + + +// Construct from components + +inline redlichKwong::redlichKwong +( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor +) +: + specie(sp), + pcrit_(pcrit), + Tcrit_(Tcrit), + azentricFactor_(azentricFactor) +{ + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); // Starting GUESS for the density by ideal gas law + +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct as named copy +// Starting GUESS for the density by ideal gas law +inline redlichKwong::redlichKwong(const word& name, redlichKwong& pg) +: + specie(name, pg), + pcrit_(pg.pcrit_), + Tcrit_(pg.Tcrit_), + azentricFactor_(pg.azentricFactor_) +{ + pg.rhostd_=this->rho(Pstd,Tstd, (Pstd*this->W()/(Tstd*this->R()))); // Starting GUESS for the density by ideal gas law +} + + +// Construct and return a clone +inline autoPtr redlichKwong::clone() const +{ + return autoPtr(new redlichKwong(*this)); +} + + +// Selector from Istream +inline autoPtr redlichKwong::New(Istream& is) +{ + return autoPtr(new redlichKwong(is)); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +//- Return density [kg/m^3]on +inline scalar redlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const +{ + + scalar molarVolumePrevIteration; + scalar molarVolume; + int iter=0; + int maxIter_=400; + scalar tol_=1e-8; + int i; + scalar rho1=rhoMax_, rho2=rhoMin_,rho3, f1,f2,f3; + +molarVolume=this->W()/rho0; + + do + { + molarVolumePrevIteration= molarVolume; + + + i=0; + do + { + molarVolume=molarVolumePrevIteration-((this->pReturn((this->W()/molarVolumePrevIteration),T)-p)/(this->dpdv((this->W()/ + molarVolumePrevIteration),T)))/(pow(2,i)); + + i++; + if(i>8) + { + //using bisection methode as backup, solution must be between rho=0.001 to rho=1500; + for(i=0;i<200;i++) + { + f1= (this->pReturn(rho1,T)-p); + f2= (this->pReturn(rho2,T)-p); + rho3=(rho1+rho2)/2; + f3=(this->pReturn(rho3,T)-p); + + if ((f2<0 && f3>0)||(f2>0 &&f3<0)) + { + rho1=rho3; + } + else if ((f1<0 && f3>0)||(f1>0 &&f3<0)) + { + rho2=rho3; + } + + else + { + rho2=(rho2+rho3)/2; + } + + if(mag(f3)W()/rho3; + molarVolumePrevIteration=this->W()/rho3; + break; + } + + else + { + molarVolumePrevIteration=this->W()/rho3; + } + } + } + } + while(mag(this->pReturn((this->W()/molarVolume),T)-p)>mag(this->pReturn((this->W()/molarVolumePrevIteration),T)-p)); + + + if (iter++ > maxIter_) + { + FatalErrorIn + ( + "inline scalar redlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const " + ) << "Maximum number of iterations exceeded" + << abort(FatalError); + } + + } + while(mag(molarVolumePrevIteration-molarVolume)>tol_*(this->W()/rho0)); + + return this->W()/molarVolume; + +} + +//- Return density [kg/m^3]on +inline scalar redlichKwong::rho(const scalar p,const scalar T) const +{ + + scalar rho0=p/(this->R()*T); //using perfect gas equation as starting point + return rho(p,T,rho0); +} + +//- Return compressibility drho/dp [s^2/m^2] +inline scalar redlichKwong::psi(const scalar rho, const scalar T) const +{ + return -this->dvdp(rho,T)*pow(rho,2)/this->W(); +} + +//- Return compression factor [] +inline scalar redlichKwong::Z( const scalar p, const scalar T,const scalar rho0) const +{ + return (p*this->rho(p,T,rho0))/(this->R()*T); +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +inline void redlichKwong::operator+=(const redlichKwong& pg) +{ + specie::operator+=(pg); +} + + inline void redlichKwong::operator-=(const redlichKwong& pg) +{ + specie::operator-=(pg); +} + +inline void redlichKwong::operator*=(const scalar s) +{ + specie::operator*=(s); +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // +//****************not working**************//// +/* +inline redlichKwong operator+ +( + const redlichKwong& pg1, + const redlichKwong& pg2 +) +{ + return redlichKwong + ( + static_cast(pg1) + + static_cast(pg2) + ); +} + + +inline redlichKwong operator- +( + const redlichKwong& pg1, + const redlichKwong& pg2 +) +{ + return redlichKwong + ( + static_cast(pg1) + - static_cast(pg2) + ); +} + + +inline redlichKwong operator* +( + const scalar s, + const redlichKwong& pg +) +{ + return redlichKwong(s*static_cast(pg)); +} + + +inline redlichKwong operator== +( + const redlichKwong& pg1, + const redlichKwong& pg2 +) +{ + return pg2 - pg1; +} + +*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwong.C b/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwong.C new file mode 100755 index 000000000..182bfaf86 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwong.C @@ -0,0 +1,76 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + Soave Redlich Kwong equation of state. + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "soaveRedlichKwong.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +soaveRedlichKwong::soaveRedlichKwong(Istream& is) +: + specie(is), + pcrit_(readScalar(is)), + Tcrit_(readScalar(is)), + azentricFactor_(readScalar(is)) +{ + is.check("soaveRedlichKwong::soaveRedlichKwong(Istream& is)"); + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); + rhoMax_=1500; + rhoMin_=0.001; +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +Ostream& operator<<(Ostream& os, const soaveRedlichKwong& pg) +{ + os << static_cast(pg)<< tab + << pg.pcrit_ << tab<< pg.Tcrit_< clone() const; + + // Selector from Istream + inline static autoPtr New(Istream& is); + + //Member Variabels + scalar pcrit_; + scalar Tcrit_; + scalar rhostd_; + scalar azentricFactor_; + scalar rhoMax_; //should be read from the fvSolution file where rhoMax and rhoMin values must be define ( for rhoSimpleFoam) + scalar rhoMin_; + + + // Member functions + inline scalar pcrit() const; + inline scalar Tcrit() const; + inline scalar azentricFactor() const; + inline scalar rhostd()const; + inline scalar pReturn(const scalar rho, const scalar T) const; + + //-Redlich Kwong factors + inline scalar a() const; + inline scalar b() const; + inline scalar n() const; + + //derivatives + inline scalar dpdv(const scalar rho,const scalar T) const; + inline scalar dpdT(const scalar rho, const scalar T) const; + inline scalar dvdT(const scalar rho,const scalar T) const; + inline scalar dvdp(const scalar rho, const scalar T) const; + inline scalar isobarExpCoef(const scalar rho,const scalar T) const; + inline scalar isothermalCompressiblity(const scalar rho,const scalar T) const; + inline scalar integral_d2pdT2_dv(const scalar rho,const scalar T) const ; // Used for cv + inline scalar d2pdv2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2pdvdT(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar d2vdT2(const scalar rho,const scalar T) const; // not Used At The Moment + inline scalar integral_p_dv(const scalar rho,const scalar T) const; //Used for internal Energy + inline scalar integral_dpdT_dv(const scalar rho,const scalar T) const; //Used for Entropy + + //- Return density [kg/m^3] // rho0 is the starting point of the newton solver used to calculate rho + inline scalar rho(const scalar p,const scalar T,const scalar rho0) const; + inline scalar rho(const scalar p,const scalar T) const; + //- Return compressibility rho/p [s^2/m^2] + inline scalar psi(const scalar rho, const scalar T) const; + + //- Return compression factor [] + inline scalar Z(const scalar p,const scalar T,const scalar rho0) const; + + + // Member operators + + inline void operator+=(const soaveRedlichKwong&); + inline void operator-=(const soaveRedlichKwong&); + + inline void operator*=(const scalar); + + + /* // Friend operators + + inline friend soaveRedlichKwong operator+ + ( + const soaveRedlichKwong&, + const soaveRedlichKwong& + ); + + inline friend soaveRedlichKwong operator- + ( + const soaveRedlichKwong&, + const soaveRedlichKwong& + ); + + inline friend soaveRedlichKwong operator* + ( + const scalar s, + const soaveRedlichKwong& + ); + + inline friend soaveRedlichKwong operator== + ( + const soaveRedlichKwong&, + const soaveRedlichKwong& + ); +*/ + + // Ostream Operator + + friend Ostream& operator<<(Ostream&, const soaveRedlichKwong&); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "soaveRedlichKwongI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwongI.H b/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwongI.H new file mode 100755 index 000000000..0cd134f43 --- /dev/null +++ b/src/thermophysicalModels/specie/equationOfState/soaveRedlichKwong/soaveRedlichKwongI.H @@ -0,0 +1,488 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "soaveRedlichKwong.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + + + + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +inline scalar soaveRedlichKwong::pcrit()const +{ +return pcrit_; +} + + + +inline scalar soaveRedlichKwong::Tcrit()const +{ +return Tcrit_; +} + + +inline scalar soaveRedlichKwong::rhostd()const +{ +return rhostd_; +} + + +// Returns the Azentric Factor (Acentric Factor) +inline scalar soaveRedlichKwong::azentricFactor() const +{ +return azentricFactor_; +} + +//returns the pressure for a given density and temperature +inline scalar soaveRedlichKwong::pReturn(const scalar rho,const scalar T) const +{ +return (this->RR*T/((this->W()/rho)-this->b())-this->a()*pow((1+this->n()*(1-pow((T/this->Tcrit()),0.5))),2)/((this->W()/rho)*((this->W()/rho)+this->b()))); +} + + + +// Faktor a of the soave redlich Kwong equation of state +//(molar values) +inline scalar soaveRedlichKwong::a() const +{ +return 0.42747*pow(this->RR,2)*pow(this->Tcrit(),2)/(this->pcrit()); +} + + + +// Faktor b of the soave redlich Kwong equation of state +//(molar values) +inline scalar soaveRedlichKwong::b() const +{ +return 0.08664*this->RR*this->Tcrit()/this->pcrit(); +} + +// Faktor n of the soave redlich Kwong equation of state +//(molar values) +inline scalar soaveRedlichKwong::n() const +{ +return 0.48508+1.55171*this->azentricFactor()-0.15613*pow(this->azentricFactor(),2); +} + + +//* * * * * * * * * * * * * Derivatives * * * * * * * * * * * // + + + +//Real deviative dp/dv at constant temperature +//(molar values) +inline scalar soaveRedlichKwong::dpdv(const scalar rho, const scalar T) const +{ + return -(2*this->a()*this->n()*this->Tcrit()*(this->b()-(this->W()/rho))*(pow(this->b(),2)+this->b()*(this->W()/rho)-2*pow((this->W()/rho),2))*(this->n()+1)*pow((T/this->Tcrit()),0.5)+this->Tcrit()*(this->RR*T*pow((this->W()/rho),2)*(pow(this->b(),2)+2*this->b()*(this->W()/rho)+pow((this->W()/rho),2))-this->a()*(pow(this->b(),3)-3*this->b()*pow((this->W()/rho),2)+2*pow((this->W()/rho),3))*pow((this->n()+1),2))-this->a()*pow(this->n(),2)*T*(pow(this->b(),3)-3*this->b()*pow((this->W()/rho),2)+2*pow((this->W()/rho),3)))/(pow((this->W()/rho),2)*this->Tcrit()*pow((this->b()+(this->W()/rho)),2)*pow((this->b()-(this->W()/rho)),2)); +} + + + + +//Real deviative dp/dT at constant molar volume +//(molar values) +inline scalar soaveRedlichKwong::dpdT(const scalar rho, const scalar T) const +{ +return this->a()*this->n()*(this->n()+1)*pow((T/this->Tcrit()),0.5)/(T*(this->W()/rho)*(this->b()+(this->W()/rho)))-this->a()*pow(this->n(),2)/((this->W()/rho)*this->Tcrit()*(this->b()+(this->W()/rho)))-this->RR/(this->b()-(this->W()/rho)); +} + + + + +//Real deviative dv/dT at constant pressure +//using implicit differentiation +// (molar values) +inline scalar soaveRedlichKwong::dvdT(const scalar rho,const scalar T) const +{ +return (-1)*this->dpdT(rho,T)/this->dpdv(rho,T); +} + + + + +//Real deviative dv/dp at constant temperature +//(molar values) +inline scalar soaveRedlichKwong::dvdp(const scalar rho,const scalar T) const +{ +return 1/this->dpdv(rho,T); +} + + + +//needed to calculate the internal energy +//(molar values) +inline scalar soaveRedlichKwong::integral_p_dv(const scalar rho,const scalar T) const +{ +return this->RR*T*log((this->W()/rho)-this->b()) +-(this->a()*(2*this->n()*this->Tcrit()*(this->n()+1)*pow(T/this->Tcrit(),0.5)-this->Tcrit()*(pow(this->n(),2)+2*this->n()+1)-pow(this->n(),2)*T)*log(this->b()+(this->W()/rho)))/(this->b()*this->Tcrit()) ++this->a()*(2*this->n()*this->Tcrit()*(this->n()+1)*pow(T/this->Tcrit(),0.5)-this->Tcrit()*(pow(this->n(),2)+2*this->n()+1)-pow(this->n(),2)*T)*log((this->W()/rho))/(this->b()*this->Tcrit()); +} + + + +//needed to calculate the entropy +//(molar values) +inline scalar soaveRedlichKwong::integral_dpdT_dv(const scalar rho,const scalar T) const +{ +return this->RR*log((this->W()/rho)-this->b())+(pow(this->n(),2)*this->a()/(this->b()*this->Tcrit())-this->a()*this->n()*(this->n()+1)*pow((T/this->Tcrit()),0.5)/(this->b()*T))*log(this->b()+(this->W()/rho))+(this->a()*this->n()*(this->n()+1)*pow((T/this->Tcrit()),0.5)/(this->b()*T)-this->a()*pow(this->n(),2)/(this->b()*this->Tcrit()))*log((this->W()/rho)); +} + + + + +//* * * * * * * * * * * * * second order Derivative based functions * * * * * * * * * * * // + + + +//(molar values) +inline scalar soaveRedlichKwong::d2pdT2(const scalar rho,const scalar T) const +{ +return -this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5)/(2*pow(T,2)*(this->W()/rho)*(this->b()+(this->W()/rho))); +} + + + + +//(molar values) +inline scalar soaveRedlichKwong::d2pdv2(const scalar rho,const scalar T) const +{ + return 2*(2*this->a()*this->n()*this->Tcrit()*(this->b()-(this->W()/rho)) + *(pow(this->b(),4)+pow(this->b(),3)*(this->W()/rho)-2*pow(this->b(),2)*pow((this->W()/rho),2) + -3*this->b()*pow((this->W()/rho),3)+3*pow((this->W()/rho),4))*(this->n()+1)*pow(T/this->Tcrit(),0.5) + -this->Tcrit()*(this->a()*(pow(this->b(),5)-3*pow(this->b(),3)*pow((this->W()/rho),2)-pow(this->b(),2)*pow((this->W()/rho),3) + +6*this->b()*pow((this->W()/rho),4)-3*pow((this->W()/rho),5))*pow((this->n()+1),2) + +this->RR*T*pow((this->W()/rho),3)*(pow(this->b(),3)+3*pow(this->b(),2)*(this->W()/rho)+3*this->b()*pow((this->W()/rho),2)+pow((this->W()/rho),3))) + -this->a()*pow(this->n(),2)*T*(pow(this->b(),5)-3*pow(this->b(),3)*pow((this->W()/rho),2)-pow(this->b(),2)*pow((this->W()/rho),3) + +6*this->b()*pow((this->W()/rho),4)-3*pow((this->W()/rho),5))) + /(pow((this->W()/rho),3)*this->Tcrit()*pow(((this->W()/rho)+this->b()),3)*pow((this->b()-(this->W()/rho)),3)); +} + + + + +//(molar values) +// using second Order implicit differentiation +inline scalar soaveRedlichKwong::d2vdT2(const scalar rho, const scalar T) const +{ +return -(pow(this->dpdT(rho,T),2)*this->d2pdv2(rho,T)+ pow(this->dpdv(rho,T),2) *this->d2pdT2(rho,T)- 2*this->dpdv(rho,T)*this->dpdT(rho,T)*this->d2pdvdT(rho,T))/( pow(this->dpdv(rho,T),3)); +} + + + + +//(molar values) +inline scalar soaveRedlichKwong::d2pdvdT(const scalar rho, const scalar T) const +{ +return -this->a()*this->n()*(this->b()+2*(this->W()/rho))*(this->n()+1)*pow(T/this->Tcrit(),0.5) +/(T*pow((this->W()/rho),2)*pow((this->b()+(this->W()/rho)),2)) +-(this->RR*pow((this->W()/rho),2)*this->Tcrit()*(pow(this->b(),2)+2*this->b()*(this->W()/rho)+pow((this->W()/rho),2)) + -this->a()*pow(this->n(),2)*(pow(this->b(),3)-3*this->b()*pow((this->W()/rho),2)+2*pow((this->W()/rho),3))) + /(pow((this->W()/rho),2)*this->Tcrit()*pow((this->b()+(this->W()/rho)),2)*pow((this->b()-(this->W()/rho)),2)); +} + + + + +// the result of this intergal is needed for the nasa based cp polynomial +//(molar values) +inline scalar soaveRedlichKwong::integral_d2pdT2_dv(const scalar rho,const scalar T) const +{ +return this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5)*log(this->b()+(this->W()/rho)) +/(2*this->b()*pow(T,2)) +-this->a()*this->n()*(this->n()+1)*pow(T/this->Tcrit(),0.5)*log((this->W()/rho))/(2*this->b()*pow(T,2)); +} + + + + + +//* * * * * * * * * * * * * thermodynamic properties * * * * * * * * * * * // + + +//Isobar expansion Coefficent beta = 1/v (dv/dt) at constant p +//(molar values) +inline scalar soaveRedlichKwong::isobarExpCoef(const scalar rho,const scalar T) const +{ +return this->dvdT(rho, T)*rho/this->W(); +} + +//isothemal compressiblity kappa +//(molar values) +inline scalar soaveRedlichKwong::isothermalCompressiblity(const scalar rho,const scalar T) const +{ +return this->isobarExpCoef(rho, T)/this->dpdT(rho, T); +} + + + + + + + + + + +// Construct from components +inline soaveRedlichKwong::soaveRedlichKwong +( + const specie& sp, + scalar pcrit, + scalar Tcrit, + scalar azentricFactor + +) +: + specie(sp), + pcrit_(pcrit), + Tcrit_(Tcrit), + azentricFactor_(azentricFactor) +{ + rhostd_=this->rho(Pstd,Tstd,Pstd*this->W()/(Tstd*this->R())); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct as named copy +inline soaveRedlichKwong::soaveRedlichKwong(const word& name, soaveRedlichKwong& pg) +: + specie(name, pg), + pcrit_(pg.pcrit_), + Tcrit_(pg.Tcrit_), + azentricFactor_(pg.azentricFactor_) +{ + pg.rhostd_=this->rho(Pstd,Tstd, (Pstd*this->W()/(Tstd*this->R()))); +} + + +// Construct and return a clone +inline autoPtr soaveRedlichKwong::clone() const +{ + return autoPtr(new soaveRedlichKwong(*this)); +} + + +// Selector from Istream +inline autoPtr soaveRedlichKwong::New(Istream& is) +{ + return autoPtr(new soaveRedlichKwong(is)); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +//- Return density [kg/m^3]on +inline scalar soaveRedlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const +{ + + scalar molarVolumePrevIteration; + scalar molarVolume; + int iter=0; + int maxIter_=400; + scalar tol_=1e-8; + int i; + scalar rho1=rhoMax_, rho2=rhoMin_,rho3, f1,f2,f3; + +molarVolume=this->W()/rho0; + + do + { + molarVolumePrevIteration= molarVolume; + + + i=0; + do + { + molarVolume=molarVolumePrevIteration-((this->pReturn((this->W()/molarVolumePrevIteration),T)-p)/(this->dpdv((this->W()/ + molarVolumePrevIteration),T)))/(pow(2,i)); + + i++; + if(i>8) + { + //using bisection methode as backup, solution must be between rho=0.001 to rho=1500; + for(i=0;i<200;i++) + { + f1= (this->pReturn(rho1,T)-p); + f2= (this->pReturn(rho2,T)-p); + rho3=(rho1+rho2)/2; + f3=(this->pReturn(rho3,T)-p); + + if ((f2<0 && f3>0)||(f2>0 &&f3<0)) + { + rho1=rho3; + } + else if ((f1<0 && f3>0)||(f1>0 &&f3<0)) + { + rho2=rho3; + } + + else + { + rho2=(rho2+rho3)/2; + } + + if(mag(f3)W()/rho3; + molarVolumePrevIteration=this->W()/rho3; + break; + } + + else + { + molarVolumePrevIteration=this->W()/rho3; + } + } + } + } + while(mag(this->pReturn((this->W()/molarVolume),T)-p)>mag(this->pReturn((this->W()/molarVolumePrevIteration),T)-p)); + + + if (iter++ > maxIter_) + { + FatalErrorIn + ( + "inline scalar soaveRedlichKwong::rho(const scalar p,const scalar T,const scalar rho0) const " + ) << "Maximum number of iterations exceeded" + << abort(FatalError); + } + + } + while(mag(molarVolumePrevIteration-molarVolume)>tol_*(this->W()/rho0)); + + return this->W()/molarVolume; + +} + +//- Return density [kg/m^3]on +inline scalar soaveRedlichKwong::rho(const scalar p,const scalar T) const +{ + + scalar rho0=p/(this->R()*T); //using perfect gas equation as starting point + return rho(p,T,rho0); +} + +//- Return compressibility drho/dp [s^2/m^2] +inline scalar soaveRedlichKwong::psi(const scalar rho, const scalar T) const +{ + return -this->dvdp(rho,T)*pow(rho,2)/this->W(); +} + +//- Return compression factor [] +inline scalar soaveRedlichKwong::Z( const scalar p, const scalar T,const scalar rho0) const +{ + return (p*this->rho(p,T,rho0))/(this->R()*T); +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +inline void soaveRedlichKwong::operator+=(const soaveRedlichKwong& pg) +{ + specie::operator+=(pg); +} + + inline void soaveRedlichKwong::operator-=(const soaveRedlichKwong& pg) +{ + specie::operator-=(pg); +} + +inline void soaveRedlichKwong::operator*=(const scalar s) +{ + specie::operator*=(s); +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // +//**************** not working**************// +/* +inline soaveRedlichKwong operator+ +( + const soaveRedlichKwong& pg1, + const soaveRedlichKwong& pg2 +) +{ + return soaveRedlichKwong + ( + static_cast(pg1) + + static_cast(pg2) + ); +} + + +inline soaveRedlichKwong operator- +( + const soaveRedlichKwong& pg1, + const soaveRedlichKwong& pg2 +) +{ + return soaveRedlichKwong + ( + static_cast(pg1) + - static_cast(pg2) + ); +} + + +inline soaveRedlichKwong operator* +( + const scalar s, + const soaveRedlichKwong& pg +) +{ + return soaveRedlichKwong(s*static_cast(pg)); +} + + +inline soaveRedlichKwong operator== +( + const soaveRedlichKwong& pg1, + const soaveRedlichKwong& pg2 +) +{ + return pg2 - pg1; +} + +*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomial.C b/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomial.C new file mode 100755 index 000000000..0d7ada3d1 --- /dev/null +++ b/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomial.C @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "nasaHeatCapacityPolynomial.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::nasaHeatCapacityPolynomial::nasaHeatCapacityPolynomial(Istream& is) +: + equationOfState(is), + a1_(readScalar(is)), + a2_(readScalar(is)), + a3_(readScalar(is)), + a4_(readScalar(is)), + a5_(readScalar(is)), + a6_(readScalar(is)), + a7_(readScalar(is)) +{ + is.check("nasaHeatCapacityPolynomial::nasaHeatCapacityPolynomial(Istream& is)"); + cp_std=this->cp_nonLimited(this->rhostd_,this->Tstd); // cp @ STD (needed to limit cp for stability +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +template +Foam::Ostream& Foam::operator<< +( + Ostream& os, + const nasaHeatCapacityPolynomial& ct +) +{ + os << static_cast(ct) << tab + << ct.a1_ << tab<< ct.a2_ << tab << ct.a3_ << tab << ct.a4_ << tab << ct.a5_ << tab << ct.a6_ << tab << ct.a7_ ; + cout<<"nasa polynomal start"< freely available for many fluids + --> paper title: NASA Glenn Coefficients for Calculating Thermodynamic Properties of Individual Species + + templated into the equationOfState + -> uses the equation of state to calculate all real Gas properties like Enthalpy, Entropy ... + -> can not be used with the perfectGas equation of state + + Equations for the real gas correction: Have a look at thermodnamics books e.g. Thermodynamics: An Engineering Approch, 5 Edition, Chapter 12 + +SourceFiles + nasaHeatCapacityPolynomialI.H + nasaHeatCapacityPolynomial.C + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef nasaHeatCapacityPolynomial_H +#define nasaHeatCapacityPolynomial_H + + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of friend functions and operators + +template class nasaHeatCapacityPolynomial; + +template +inline nasaHeatCapacityPolynomial operator+ +( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& +); + +template +inline nasaHeatCapacityPolynomial operator- +( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& +); + +template +inline nasaHeatCapacityPolynomial operator* +( + const scalar, + const nasaHeatCapacityPolynomial& +); + +template +inline nasaHeatCapacityPolynomial operator== +( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& +); + +template +Ostream& operator<< +( + Ostream&, + const nasaHeatCapacityPolynomial& +); + + +/*---------------------------------------------------------------------------*\ + Class nasaHeatCapacityPolynomial Thermo Declaration +\*---------------------------------------------------------------------------*/ + +template +class nasaHeatCapacityPolynomial +: + public equationOfState +{ + // Private data + + scalar a1_; + scalar a2_; + scalar a3_; + scalar a4_; + scalar a5_; + scalar a6_; + scalar a7_; + scalar cp_std; + + // Private member functions + + //- Construct from components + inline nasaHeatCapacityPolynomial + ( + const equationOfState& st, + const scalar a1, + const scalar a2, + const scalar a3, + const scalar a4, + const scalar a5, + const scalar a6, + const scalar a7 + ); + + +public: + +//Variable + + + // Constructors + + //- Construct from Istream + nasaHeatCapacityPolynomial(Istream&); + + //- Construct as named copy + inline nasaHeatCapacityPolynomial(const word&, const nasaHeatCapacityPolynomial&); + + //- Construct and return a clone + inline autoPtr clone() const; + + //- Selector from Istream + inline static autoPtr New(Istream& is); + + + // Member Functions + + //useful functions + //used to calculate the internal energy + //ideal Gas Enthalpy + inline scalar h0(const scalar T) const; + + + // used to calculate the entropy + //ideal Gas Entropy + inline scalar s0(const scalar T) const; + + + //used to calculate the internal energy + //ideal Gas Enthalpy + inline scalar e0(const scalar T) const; + + // Fundamental properties + + //- ideal gas Heat capacity at constant pressure [J/(kmol K)] + inline scalar cv0(const scalar T) const; + + //- ideal gas Heat capacity at constant pressure [J/(kmol K)] + inline scalar cp0(const scalar T) const; + + //- Heat capacity at constant pressure [J/(kmol K)] + inline scalar cp(const scalar rho, const scalar T) const; + + //- Heat capacity at constant pressure [J/(kmol K)] + inline scalar cp_nonLimited(const scalar rho, const scalar T) const; + + //- Heat capacity at constant pressure [J/(kmol K)] + inline scalar cv(const scalar rho, const scalar T) const; + + //- Enthalpy [J/kmol] + inline scalar h(const scalar rho, const scalar T) const; + + //- Entropy [J/(kmol K)] + inline scalar s(const scalar rho,const scalar T) const; + + //- Internal Energy [J/kmol] + inline scalar e(const scalar rho, const scalar T) const; + + + // Member operators + + inline void operator+=(const nasaHeatCapacityPolynomial&); + inline void operator-=(const nasaHeatCapacityPolynomial&); + + + // Friend operators + + friend nasaHeatCapacityPolynomial operator+ + ( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& + ); + + friend nasaHeatCapacityPolynomial operator- + ( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& + ); + + friend nasaHeatCapacityPolynomial operator* + ( + const scalar, + const nasaHeatCapacityPolynomial& + ); + + friend nasaHeatCapacityPolynomial operator== + ( + const nasaHeatCapacityPolynomial&, + const nasaHeatCapacityPolynomial& + ); + + + // IOstream Operators + + friend Ostream& operator<< + ( + Ostream&, + const nasaHeatCapacityPolynomial& + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "nasaHeatCapacityPolynomialI.H" + +#ifdef NoRepository +# include "nasaHeatCapacityPolynomial.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomialI.H b/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomialI.H new file mode 100755 index 000000000..76ddafe9b --- /dev/null +++ b/src/thermophysicalModels/specie/thermo/nasaHeatCapacityPolynomial/nasaHeatCapacityPolynomialI.H @@ -0,0 +1,419 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + + + + +template +inline Foam::nasaHeatCapacityPolynomial::nasaHeatCapacityPolynomial +( + const equationOfState& st, + const scalar a1, + const scalar a2, + const scalar a3, + const scalar a4, + const scalar a5, + const scalar a6, + const scalar a7 +) +: + equationOfState(st), + a1_(a1), + a2_(a2), + a3_(a3), + a4_(a4), + a5_(a5), + a6_(a6), + a7_(a7) +{ +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +inline Foam::nasaHeatCapacityPolynomial::nasaHeatCapacityPolynomial +( + const word& name, + const nasaHeatCapacityPolynomial& ct +) +: + equationOfState(name, ct), + a1_(ct.a1_), + a2_(ct.a2_), + a3_(ct.a3_), + a4_(ct.a4_), + a5_(ct.a5_), + a6_(ct.a6_), + a7_(ct.a7_) +{ +} + + +template +inline Foam::autoPtr > +Foam::nasaHeatCapacityPolynomial::clone() const +{ + return autoPtr > + ( + new nasaHeatCapacityPolynomial(*this) + ); +} + + +template +inline Foam::autoPtr > +Foam::nasaHeatCapacityPolynomial::New(Istream& is) +{ + return autoPtr > + ( + new nasaHeatCapacityPolynomial(is) + ); +} + + + + + + + // * * * * * * * * * * * * * * *useful functions* * * * * * * * * * * * * // + +//used to calculate the internal energy +//perfect gas enthalpy +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::h0 +( + const scalar T +) const +{ +return this->RR*T*(-this->a1_*pow(T,-2)+this->a2_*log(T)/T+this->a3_+0.5*this->a4_*T+(this->a5_*pow(T,2))/3+(this->a6_*pow(T,3))/4+(this->a7_*pow(T,4))/5); +} + + +//used to calculate the internal energy +//perfect gas internal energy +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::e0 +( + const scalar T +) const +{ +return this->h0(T) - this->RR*T; +} + +// used to calculate the entropy +// perfect gas entropy +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::s0 +( + const scalar T +) const +{ +return this->RR*( this->a1_*(-1)/(2*pow(T,2))-this->a2_/T+this->a3_*log(T)+this->a4_*T+(this->a5_*pow(T,2))/2+(this->a6_*pow(T,3))/3+(this->a7_*pow(T,4))/4); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +//perfect gas cp +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::cp0 +( + const scalar T +) const +{ + + return this->RR*(this->a1_*1/pow(T,2)+this->a2_*1/T+this->a3_+this->a4_*T+this->a5_*pow(T,2)+this->a6_*pow(T,3)+this->a7_*pow(T,4)); +} + + +//perfect gas cv +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::cv0 +( + const scalar T +) const +{ + + return this->cp0(T)-this->RR; +} + + + +//function to calculate real gas cp +//using cp=cv+(dp/dT)^2/(dp/dv) +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::cp +( + const scalar rho, + const scalar T +) const +{ +// Problem --> dpdv(rho,T) is =0 at some points within the vapour dome. To increase stability, (dp/dv) has to be limited +// cp can be negative within the vapor dome. To avoid this nonphysical result, the absolute value is used. +// within the vapourdome and at the critical point, cp increases to very high values --> infinity, +// this would decrease the stability, so cp will be limited to 20 time the cp @ STD + return min(cp_std*20,fabs(this->cv(rho,T)-T*pow((this->dpdT(rho, T)),2)/min(this->dpdv(rho, T),-1))); +} + +// this function is needed to get cp @ STD (without the limit imposed in the function above), which in turn is needed to limit the cp in the function above +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::cp_nonLimited +( + const scalar rho, + const scalar T +) const +{ + return fabs(this->cv(rho,T)-T*pow((this->dpdT(rho, T)),2)/min(this->dpdv(rho, T),-1)); +} + + +//function to calculate real gas cv +//cv=cv0+T*integral d2p/dT2 dv +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::cv +( + const scalar rho, + const scalar T + +) const +{ + + return this->cv0(T)+T*this->integral_d2pdT2_dv(rho, T); +} + + + + +//function to calculate real gas enthalpy +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::h +( + const scalar rho, + const scalar T +) const +{ + return this->e(rho,T)+this->pReturn(rho,T)/rho*this->W()-this->Pstd/this->rhostd()*this->W(); +} + + +// function to calculate real gas internal energy +// important assumption used is that the internal Energie is 0 at STD conditions. +// equation: du= cv0 dT +[T*dp/dT -p]dv +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::e +( + const scalar rho, + const scalar T +) const +{ +return ( -this->Tstd*this->integral_dpdT_dv(this->rhostd(),this->Tstd) + +this->integral_p_dv(this->rhostd(),this->Tstd) + +this->e0(T)-this->e0(this->Tstd) + +T*this->integral_dpdT_dv(rho,T) + -this->integral_p_dv(rho,T) + ); + +} + + + +//function to calculate real gas entropy +// important assumption used is that the Entropy is 0 at STD conditions. +// equation: ds= cv0/T * dT + dp/dT *dv +// --> integral cv0/T dT = s0(T) -s0(Tstd) - R*ln(T/Tstd) --> due to s0(T)-s0(Tstd)=integral cp0/T dT +template +inline Foam::scalar Foam::nasaHeatCapacityPolynomial::s +( + const scalar rho, + const scalar T + +) const +{ + return -this->integral_dpdT_dv(this->rhostd(),this->Tstd)+(this->s0(T)-this->s0(this->Tstd))-this->RR*log(T/this->Tstd)+ this->integral_dpdT_dv(rho,T); +} + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + + +template +inline void Foam::nasaHeatCapacityPolynomial::operator+= +( + const nasaHeatCapacityPolynomial& ct +) +{ + + scalar molr1 = this->nMoles(); + + equationOfState::operator+=(ct); + + molr1 /= this->nMoles(); + scalar molr2 = ct.nMoles()/this->nMoles(); + + a1_ = molr1*a1_ + molr2*ct.a1_; + a2_ = molr1*a2_ + molr2*ct.a2_; + a3_ = molr1*a3_ + molr2*ct.a3_; + a4_ = molr1*a4_ + molr2*ct.a4_; + a5_ = molr1*a5_ + molr2*ct.a5_; + a6_ = molr1*a6_ + molr2*ct.a6_; + a7_ = molr1*a7_ + molr2*ct.a7_; +} + + +template +inline void Foam::nasaHeatCapacityPolynomial::operator-= +( + const nasaHeatCapacityPolynomial& ct +) +{ + scalar molr1 = this->nMoles(); + + nasaHeatCapacityPolynomial::operator-=(ct); + + molr1 /= this->nMoles(); + scalar molr2 = ct.nMoles()/this->nMoles(); + + a1_ = molr1*a1_ - molr2*ct.a1_; + a2_ = molr1*a2_ - molr2*ct.a2_; + a3_ = molr1*a3_ - molr2*ct.a3_; + a4_ = molr1*a4_ - molr2*ct.a4_; + a5_ = molr1*a5_ - molr2*ct.a5_; + a6_ = molr1*a6_ - molr2*ct.a6_; + a7_ = molr1*a7_ - molr2*ct.a7_; +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // + +template +inline Foam::nasaHeatCapacityPolynomial Foam::operator+ +( + const nasaHeatCapacityPolynomial& ct1, + const nasaHeatCapacityPolynomial& ct2 +) +{ + equationOfState eofs + ( + static_cast(ct1) + + static_cast(ct2) + ); + + return nasaHeatCapacityPolynomial + ( + eofs, + ct1.nMoles()/eofs.nMoles()*ct1.a1_ + + ct2.nMoles()/eofs.nMoles()*ct2.a1_, + ct1.nMoles()/eofs.nMoles()*ct1.a2_ + + ct2.nMoles()/eofs.nMoles()*ct2.a2_, + ct1.nMoles()/eofs.nMoles()*ct1.a3_ + + ct2.nMoles()/eofs.nMoles()*ct2.a3_, + ct1.nMoles()/eofs.nMoles()*ct1.a4_ + + ct2.nMoles()/eofs.nMoles()*ct2.a4_, + ct1.nMoles()/eofs.nMoles()*ct1.a5_ + + ct2.nMoles()/eofs.nMoles()*ct2.a5_, + ct1.nMoles()/eofs.nMoles()*ct1.a6_ + + ct2.nMoles()/eofs.nMoles()*ct2.a6_, + ct1.nMoles()/eofs.nMoles()*ct1.a7_ + + ct2.nMoles()/eofs.nMoles()*ct2.a7_ + ); +} + + +template +inline Foam::nasaHeatCapacityPolynomial Foam::operator- +( + const nasaHeatCapacityPolynomial& ct1, + const nasaHeatCapacityPolynomial& ct2 +) +{ + equationOfState eofs + ( + static_cast(ct1) + - static_cast(ct2) + ); + + return nasaHeatCapacityPolynomial + ( + eofs, + ct1.nMoles()/eofs.nMoles()*ct1.a1_ + - ct2.nMoles()/eofs.nMoles()*ct2.a1_, + ct1.nMoles()/eofs.nMoles()*ct1.a2_ + - ct2.nMoles()/eofs.nMoles()*ct2.a2_, + ct1.nMoles()/eofs.nMoles()*ct1.a3_ + - ct2.nMoles()/eofs.nMoles()*ct2.a3_, + ct1.nMoles()/eofs.nMoles()*ct1.a4_ + - ct2.nMoles()/eofs.nMoles()*ct2.a4_, + ct1.nMoles()/eofs.nMoles()*ct1.a5_ + - ct2.nMoles()/eofs.nMoles()*ct2.a5_, + ct1.nMoles()/eofs.nMoles()*ct1.a6_ + - ct2.nMoles()/eofs.nMoles()*ct2.a6_, + ct1.nMoles()/eofs.nMoles()*ct1.a7_ + - ct2.nMoles()/eofs.nMoles()*ct2.a7_ + ); +} + + +template +inline Foam::nasaHeatCapacityPolynomial Foam::operator* +( + const scalar s, + const nasaHeatCapacityPolynomial& ct +) +{ + return nasaHeatCapacityPolynomial + ( + s*static_cast(ct), + ct.a1_, + ct.a2_, + ct.a3_, + ct.a4_, + ct.a5_, + ct.a6_, + ct.a7_ + ); +} + + +template +inline Foam::nasaHeatCapacityPolynomial Foam::operator== +( + const nasaHeatCapacityPolynomial& ct1, + const nasaHeatCapacityPolynomial& ct2 +) +{ + return ct2 - ct1; +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.C b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.C new file mode 100755 index 000000000..c192584f8 --- /dev/null +++ b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.C @@ -0,0 +1,72 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + + +#include "realGasSpecieThermo.H" +#include "IOstreams.H" + +/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */ + +template +const Foam::scalar Foam::realGasSpecieThermo::tol_ = 1.0e-9; + +template +const int Foam::realGasSpecieThermo::maxIter_ = 500; + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::realGasSpecieThermo::realGasSpecieThermo(Istream& is) +: + thermo(is) +{ + is.check("realGasSpecieThermo::realGasSpecieThermo(Istream& is)"); + + +} + + +// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // + +template +Foam::Ostream& Foam::operator<<(Ostream& os, const realGasSpecieThermo& st) +{ + os << static_cast(st); + + os.check("Ostream& operator<<(Ostream& os, const realGasSpecieThermo& st)"); + return os; +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.H b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.H new file mode 100755 index 000000000..cf8ced519 --- /dev/null +++ b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermo.H @@ -0,0 +1,305 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::realGasSpecieThermo + +Description + + This is an subversion of the specieThermo function. While the "orginal" specieThermo function + is only valid for perfect Gases, this function is valid for real gases. + + Basic thermodynamics type based on the use of fitting functions for + cp, h, s obtained from the template argument type thermo. All other + properties are derived from these primitive functions. + + Some function copied from the "orginal" specieThermo! + +SourceFiles + realGasSpecieThermoI.H + realGasSpecieThermo.C + + + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#ifndef realGasSpecieThermo_H +#define realGasSpecieThermo_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of friend functions and operators + +template class realGasSpecieThermo; + +template +inline realGasSpecieThermo operator+ +( + const realGasSpecieThermo&, + const realGasSpecieThermo& +); + +template +inline realGasSpecieThermo operator- +( + const realGasSpecieThermo&, + const realGasSpecieThermo& +); + +template +inline realGasSpecieThermo operator* +( + const scalar, + const realGasSpecieThermo& +); + +template +inline realGasSpecieThermo operator== +( + const realGasSpecieThermo&, + const realGasSpecieThermo& +); + +template +Ostream& operator<< +( + Ostream&, + const realGasSpecieThermo& +); + + +/*---------------------------------------------------------------------------*\ + Class specieThermo Declaration +\*---------------------------------------------------------------------------*/ + +template +class realGasSpecieThermo +: + public thermo +{ + // Private data + + //- Convergence tolerance of energy -> temperature inversion functions + static const scalar tol_; + + //- Max number of iterations in energy->temperature inversion functions + static const int maxIter_; + + + // Private member functions + + // return the temperature corresponding to the value of the + // thermodynamic property f, given the function f = F(T) and dF(T)/dT + inline void T + ( + scalar f, + scalar &T0, + scalar p, + scalar &rho0, + scalar (realGasSpecieThermo::*F)(const scalar,const scalar) const, + scalar (realGasSpecieThermo::*dFdT)(const scalar,const scalar) const + ) const; + + + +public: + + + + // Constructors + + //- construct from components + inline realGasSpecieThermo(const thermo& sp); + + //- Construct from Istream + realGasSpecieThermo(Istream&); + + //- Construct as named copy + inline realGasSpecieThermo(const word& name, const realGasSpecieThermo&); + + + // Member Functions + + // Fundamaental properties + // (These functions must be provided in derived types) + + // Heat capacity at constant pressure [J/(kmol K)] + //scalar cp(const scalar) const; + + // Enthalpy [J/kmol] + //scalar h(const scalar) const; + + // Sensible enthalpy [J/kmol] + //virtual scalar hs(const scalar) const; + + // Chemical enthalpy [J/kmol] + //virtual scalar hc(const scalar) const; + + // Entropy [J/(kmol K)] + //virtual scalar s(const scalar) const; + + + // Calculate and return derived properties + // (These functions need not provided in derived types) + + // Mole specific properties + + //- Heat capacity at constant volume [J/(kmol K)] + //inline scalar cv(const scalar T, const scalar rho) const; + + //- gamma = cp/cv [] + //inline scalar gamma(const scalar T, const scalar rho) const; + + // Internal energy [J/kmol] + // inline scalar e(const scalar rho, const scalar T) const; + + //- Sensible internal energy [J/kmol] + // inline scalar es(const scalar p, const scalar rho) const; + + //- Gibbs free energy [J/kmol] + inline scalar g(const scalar rho, const scalar T ) const; + + //- Helmholtz free energy [J/kmol] + inline scalar a(const scalar rho, const scalar T ) const; + + + // Mass specific properties + + //- Heat capacity at constant pressure [J/(kg K)] + inline scalar Cp(const scalar rho, const scalar T) const; + + //- Heat capacity at constant volume [J/(kg K)] + inline scalar Cv(const scalar rho, const scalar T) const; + + //- Enthalpy [J/kg] + inline scalar H(const scalar rho, const scalar T) const; + + + + //- Sensible enthalpy [J/kg] + // inline scalar Hs(const scalar T) const; + + //- Chemical enthalpy [J/kg] + // inline scalar Hc() const; + + //- Entropy [J/(kg K)] + inline scalar S(const scalar rho, const scalar T) const; + + //- Internal energy [J/kg] + inline scalar E(const scalar rho, const scalar T) const; + + //- Gibbs free energy [J/kg] + inline scalar G(const scalar rho, const scalar T) const; + + //- Helmholtz free energy [J/kg] + inline scalar A(const scalar rho, const scalar T) const; + + + + + + + // Energy->temperature inversion functions + + //- Temperature from Enthalpy given an initial temperature T0 + inline void TH(const scalar H, scalar &T0,const scalar p, scalar &psi0) const; + + + + //- Temperature from internal energy given an initial temperature T0 + inline void TE(const scalar E, scalar &T0,const scalar p, scalar &psi0) const; + + + // Member operators + + inline void operator+=(const realGasSpecieThermo&); + inline void operator-=(const realGasSpecieThermo&); + + inline void operator*=(const scalar); + + + // Friend operators + + friend realGasSpecieThermo operator+ + ( + const realGasSpecieThermo&, + const realGasSpecieThermo& + ); + + friend realGasSpecieThermo operator- + ( + const realGasSpecieThermo&, + const realGasSpecieThermo& + ); + + friend realGasSpecieThermo operator* + ( + const scalar s, + const realGasSpecieThermo& + ); + + friend realGasSpecieThermo operator== + ( + const realGasSpecieThermo&, + const realGasSpecieThermo& + ); + + + // Ostream Operator + + friend Ostream& operator<< + ( + Ostream&, + const realGasSpecieThermo& + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "realGasSpecieThermoI.H" + +#ifdef NoRepository +# include "realGasSpecieThermo.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermoI.H b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermoI.H new file mode 100755 index 000000000..83d612c72 --- /dev/null +++ b/src/thermophysicalModels/specie/thermo/realGasSpecieThermo/realGasSpecieThermoI.H @@ -0,0 +1,298 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Author +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "realGasSpecieThermo.H" + +template +inline Foam::realGasSpecieThermo::realGasSpecieThermo +( + const thermo& sp +) +: + thermo(sp) +{} + + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + + +// using a stabilizing newton solver +template +inline void Foam::realGasSpecieThermo::T +( + scalar f, + scalar &T0, + scalar p, + scalar &rho0, + scalar (realGasSpecieThermo::*F)(const scalar,const scalar) const, + scalar (realGasSpecieThermo::*dFdT)(const scalar,const scalar) const +) const +{ + + + scalar Test = T0; + scalar Tnew = T0; + scalar rho=rho0; + scalar Ttol = T0*tol_; + int iter = 0; +int i; + + do + { + Test = Tnew; + + rho=this->rho(p,Test,rho); + + + i=0; +; + do + { + Tnew = Test - ((this->*F)(rho,Test) - f)/(this->*dFdT)(rho,Test)/(pow(2,i)); + i++; // if the solve is diverging, the time step is reduced until the solver converges + }while((i<20)&&((mag((this->*F)(rho,Tnew) - f) > mag((this->*F)(rho,Test) - f)))); + + if (iter++ > maxIter_) + { + FatalErrorIn + ( + "realGasSpecieThermo::T(scalar f, scalar T0, " + "scalar (realGasSpecieThermo::*F)(const scalar) const, " + "scalar (realGasSpecieThermo::*dFdT)(const scalar) const" + ") const" + ) << "Maximum number of iterations exceeded" + << abort(FatalError); + } + + + } while (mag(mag(Tnew) - mag(Test)) > Ttol); + + rho0=rho; + T0=Tnew; +} + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +inline Foam::realGasSpecieThermo::realGasSpecieThermo +( + const word& name, + const realGasSpecieThermo& st +) +: + thermo(name, st) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + + + +template +inline Foam::scalar Foam::realGasSpecieThermo::g(const scalar rho, const scalar T ) const +{ + return this->h(rho, this->pReturn(rho,T)) - T*this->s(rho, this->pReturn(rho,T)); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::a(const scalar rho, const scalar T ) const +{ + return this->e(rho,this->pReturn(rho,T)) - T*this->s(rho,this->pReturn(rho,T)); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::Cp( const scalar rho, const scalar T) const +{ + return this->cp(rho, T)/this->W(); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::Cv( const scalar rho, const scalar T) const +{ + return this->cv(rho, T)/this->W(); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::H(const scalar rho, const scalar T) const +{ + return this->h(rho, T)/this->W(); +} + + + + + +template +inline Foam::scalar Foam::realGasSpecieThermo::S(const scalar rho, const scalar T) const +{ + return this->s(rho, T)/this->W(); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::E(const scalar rho, const scalar T) const +{ + return this->e(rho, T)/this->W(); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::G(const scalar rho, const scalar T) const +{ + return this->g(rho, T)/this->W(); +} + + +template +inline Foam::scalar Foam::realGasSpecieThermo::A(const scalar rho, const scalar T) const +{ + return this->a(rho, T)/this->W(); +} + + + + +template +inline void Foam::realGasSpecieThermo::TH +( + const scalar h, + scalar &T0, + const scalar p, + scalar &rho0 +) const +{ + T(h, T0, p,rho0, &realGasSpecieThermo::H, &realGasSpecieThermo::Cp); +} + + +template +inline void Foam::realGasSpecieThermo::TE +( + const scalar e, + scalar &T0, + const scalar p, + scalar &rho0 +) const +{ + T(e, T0, p,rho0, &realGasSpecieThermo::E, &realGasSpecieThermo::Cv); +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +template +inline void Foam::realGasSpecieThermo::operator+= +( + const realGasSpecieThermo& st +) +{ + thermo::operator+=(st); +} + +template +inline void Foam::realGasSpecieThermo::operator-= +( + const realGasSpecieThermo& st +) +{ + thermo::operator-=(st); +} + +template +inline void Foam::realGasSpecieThermo::operator*=(const scalar s) +{ + thermo::operator*=(s); +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // + +template +inline Foam::realGasSpecieThermo Foam::operator+ +( + const realGasSpecieThermo& st1, + const realGasSpecieThermo& st2 +) +{ + return realGasSpecieThermo + ( + static_cast(st1) + static_cast(st2) + ); +} + + +template +inline Foam::realGasSpecieThermo Foam::operator- +( + const realGasSpecieThermo& st1, + const realGasSpecieThermo& st2 +) +{ + return realGasSpecieThermo + ( + static_cast(st1) - static_cast(st2) + ); +} + + +template +inline Foam::realGasSpecieThermo Foam::operator* +( + const scalar s, + const realGasSpecieThermo& st +) +{ + return realGasSpecieThermo + ( + s*static_cast(st) + ); +} + + +template +inline Foam::realGasSpecieThermo Foam::operator== +( + const realGasSpecieThermo& st1, + const realGasSpecieThermo& st2 +) +{ + return st2 - st1; +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.C b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.C new file mode 100644 index 000000000..83bb6b9ca --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.C @@ -0,0 +1,79 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright held by original author + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + + Modified version of constTransport, modified to be used with realGases + + Constant properties Transport package. Templated ito a given + thermodynamics package (needed for thermal conductivity). + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "realGasConstTransport.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +realGasConstTransport::realGasConstTransport(Istream& is) +: + thermo(is), + Mu(readScalar(is)), + rPr(1.0/readScalar(is)) +{ + is.check("realGasConstTransport::realGasConstTransport(Istream& is)"); +} + + +// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // + +template +Ostream& operator<<(Ostream& os, const realGasConstTransport& ct) +{ + operator<<(os, static_cast(ct)); + os << tab << ct.Mu << tab << 1.0/ct.rPr; + + os.check("Ostream& operator<<(Ostream& os, const realGasConstTransport& ct)"); + + return os; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.H b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.H new file mode 100644 index 000000000..8153348c4 --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransport.H @@ -0,0 +1,204 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright held by original author + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::realGasConstTransport + +Description + Constant properties Transport package. + Templated into a given thermodynamics package (needed for thermal + conductivity). + +SourceFiles + realGasConstTransportI.H + realGasConstTransport.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany +\*---------------------------------------------------------------------------*/ + +#ifndef realGasConstTransport_H +#define realGasConstTransport_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of friend functions and operators + +template class realGasConstTransport; + +template +inline realGasConstTransport operator+ +( + const realGasConstTransport&, + const realGasConstTransport& +); + +template +inline realGasConstTransport operator- +( + const realGasConstTransport&, + const realGasConstTransport& +); + +template +inline realGasConstTransport operator* +( + const scalar, + const realGasConstTransport& +); + +template +inline realGasConstTransport operator== +( + const realGasConstTransport&, + const realGasConstTransport& +); + +template +Ostream& operator<< +( + Ostream&, + const realGasConstTransport& +); + + +/*---------------------------------------------------------------------------*\ + Class realGasConstTransport Declaration +\*---------------------------------------------------------------------------*/ + +template +class realGasConstTransport +: + public thermo +{ + // Private data + + //- Constant viscosity and reciprocal Prandtl Number. + scalar Mu, rPr; + + + // Private member functions + + //- Construct from components + inline realGasConstTransport + ( + const thermo& t, + const scalar nu, + const scalar Pr + ); + + +public: + + // Constructors + + //- Construct as named copy + inline realGasConstTransport(const word&, const realGasConstTransport&); + + //- Construct from Istream + realGasConstTransport(Istream&); + + + // Member functions + + //- Dynamic viscosity [kg/ms] + inline scalar mu(const scalar T) const; + + //- Thermal conductivity [W/mK] + inline scalar kappa(const scalar rho,const scalar T) const; + + //- Thermal diffusivity for enthalpy [kg/ms] + inline scalar alpha(const scalar rho,const scalar T) const; + + + + + // Member operators + + inline realGasConstTransport& operator= + ( + const realGasConstTransport& + ); + + + // Friend operators + + friend realGasConstTransport operator+ + ( + const realGasConstTransport&, + const realGasConstTransport& + ); + + friend realGasConstTransport operator- + ( + const realGasConstTransport&, + const realGasConstTransport& + ); + + friend realGasConstTransport operator* + ( + const scalar, + const realGasConstTransport& + ); + + friend realGasConstTransport operator== + ( + const realGasConstTransport&, + const realGasConstTransport& + ); + + + // Ostream Operator + + friend Ostream& operator<< + ( + Ostream&, + const realGasConstTransport& + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "realGasConstTransportI.H" + +#ifdef NoRepository +# include "realGasConstTransport.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransportI.H b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransportI.H new file mode 100644 index 000000000..b64efcacf --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasConstTransport/realGasConstTransportI.H @@ -0,0 +1,199 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright held by original author + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct from components +template +inline realGasConstTransport::realGasConstTransport +( + const thermo& t, + const scalar mu, + const scalar Pr +) +: + thermo(t), + Mu(mu), + rPr(1.0/Pr) +{} + + +// Construct as named copy +template +inline realGasConstTransport::realGasConstTransport +( + const word& name, + const realGasConstTransport& ct +) +: + thermo(name, ct), + Mu(ct.Mu), + rPr(ct.rPr) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +// Dynamic viscosity [kg/ms] +template +inline scalar realGasConstTransport::mu(const scalar T) const +{ + return Mu; +} + + +// Thermal conductivity [W/mK] +template +inline scalar realGasConstTransport::kappa(const scalar rho,const scalar T) const +{ + return this->Cp(rho,T)*mu(T)*rPr; +} + + +// Thermal diffusivity for enthalpy [kg/ms] +template +inline scalar realGasConstTransport::alpha(const scalar rho,const scalar T) const +{ + scalar Cp_ = this->Cp(rho,T); + + scalar deltaT = T - specie::Tstd; + scalar CpBar = + (deltaT*(this->H(rho,T) - this->H(this->rhostd_,specie::Tstd)) + Cp_)/(sqr(deltaT) + 1); + + return Cp_*mu(T)*rPr/CpBar; +} + + +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +template +inline realGasConstTransport& realGasConstTransport::operator= +( + const realGasConstTransport& ct +) +{ + thermo::operator=(ct); + + Mu = ct.Mu; + rPr = ct.rPr; + + return *this; +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // + +template +inline realGasConstTransport operator+ +( + const realGasConstTransport& ct1, + const realGasConstTransport& ct2 +) +{ + thermo t + ( + static_cast(ct1) + static_cast(ct2) + ); + + scalar molr1 = ct1.nMoles()/t.nMoles(); + scalar molr2 = ct2.nMoles()/t.nMoles(); + + return realGasConstTransport + ( + t, + molr1*ct1.Mu + molr2*ct2.Mu, + molr1*ct1.rPr + molr2*ct2.rPr + ); +} + + +template +inline realGasConstTransport operator- +( + const realGasConstTransport& ct1, + const realGasConstTransport& ct2 +) +{ + thermo t + ( + static_cast(ct1) - static_cast(ct2) + ); + + scalar molr1 = ct1.nMoles()/t.nMoles(); + scalar molr2 = ct2.nMoles()/t.nMoles(); + + return realGasConstTransport + ( + t, + molr1*ct1.Mu - molr2*ct2.Mu, + molr1*ct1.rPr - molr2*ct2.rPr + ); +} + + +template +inline realGasConstTransport operator* +( + const scalar s, + const realGasConstTransport& ct +) +{ + return realGasConstTransport + ( + s*static_cast(ct), + ct.Mu, + ct.rPr + ); +} + + +template +inline realGasConstTransport operator== +( + const realGasConstTransport& ct1, + const realGasConstTransport& ct2 +) +{ + return ct2 - ct1; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.C b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.C new file mode 100755 index 000000000..5ffb91227 --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.C @@ -0,0 +1,74 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#include "realGasSutherlandTransport.H" +#include "IOstreams.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +realGasSutherlandTransport::realGasSutherlandTransport(Istream& is) +: + thermo(is), + As(readScalar(is)), + Ts(readScalar(is)) +{ + is.check("realGasSutherlandTransport::realGasSutherlandTransport(Istream&)"); +} + + +// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // + +template +Ostream& operator<<(Ostream& os, const realGasSutherlandTransport& st) +{ + os << static_cast(st) << tab << st.As << tab << st.Ts; + cout<<"sutherland start"<&)" + ); + + return os; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.H b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.H new file mode 100755 index 000000000..8278d33de --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransport.H @@ -0,0 +1,237 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::realGasSutherlandTransport + +Description + + Copy of the sutherlandTransport class, modified to be used with real gas properties + + Transport package using Sutherland's formula. + + Templated into a given thermodynamics package (needed for thermal + conductivity). + + Dynamic viscosity [kg/m.s] + @f[ + \mu = A_s \frac{\sqrt{T}}{1 + T_s / T} + @f] + +SourceFiles + realGasSutherlandTransportI.H + realGasSutherlandTransport.C + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + +\*---------------------------------------------------------------------------*/ + +#ifndef realGasSutherlandTransport_H +#define realGasSutherlandTransport_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of friend functions and operators + +template class realGasSutherlandTransport; + +template +inline realGasSutherlandTransport operator+ +( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& +); + +template +inline realGasSutherlandTransport operator- +( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& +); + +template +inline realGasSutherlandTransport operator* +( + const scalar, + const realGasSutherlandTransport& +); + +template +inline realGasSutherlandTransport operator== +( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& +); + +template +Ostream& operator<< +( + Ostream&, + const realGasSutherlandTransport& +); + + +/*---------------------------------------------------------------------------*\ + Class realGasSutherlandTransport Declaration +\*---------------------------------------------------------------------------*/ + +template +class realGasSutherlandTransport +: + public thermo +{ + // Private data + + // Sutherland's coefficients + scalar As, Ts; + + + // Private member functions + + //- Calculate the Sutherland coefficients + // given two viscosities and temperatures + inline void calcCoeffs + ( + const scalar mu1, const scalar T1, + const scalar mu2, const scalar T2 + ); + + +public: + + // Constructors + + //- Construct from components + inline realGasSutherlandTransport + ( + const thermo& t, + const scalar as, + const scalar ts + ); + + //- Construct from two viscosities + inline realGasSutherlandTransport + ( + const thermo& t, + const scalar mu1, const scalar T1, + const scalar mu2, const scalar T2 + ); + + //- Construct as named copy + inline realGasSutherlandTransport(const word&, const realGasSutherlandTransport&); + + //- Construct from Istream + realGasSutherlandTransport(Istream&); + + //- Construct and return a clone + inline autoPtr clone() const; + + // Selector from Istream + inline static autoPtr New(Istream& is); + + + // Member functions + + + //- Dynamic viscosity [kg/ms] + inline scalar mu(const scalar T) const; + + + //- Thermal conductivity [W/mK] + inline scalar kappa(const scalar rho,const scalar T) const; + + //- Thermal diffusivity for enthalpy [kg/ms] + inline scalar alpha(const scalar rho,const scalar T) const; + + + + // Member operators + + inline realGasSutherlandTransport& operator= + ( + const realGasSutherlandTransport& + ); + + + // Friend operators + + friend realGasSutherlandTransport operator+ + ( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& + ); + + friend realGasSutherlandTransport operator- + ( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& + ); + + friend realGasSutherlandTransport operator* + ( + const scalar, + const realGasSutherlandTransport& + ); + + friend realGasSutherlandTransport operator== + ( + const realGasSutherlandTransport&, + const realGasSutherlandTransport& + ); + + + // Ostream Operator + + friend Ostream& operator<< + ( + Ostream&, + const realGasSutherlandTransport& + ); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "realGasSutherlandTransportI.H" + +#ifdef NoRepository +# include "realGasSutherlandTransport.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransportI.H b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransportI.H new file mode 100755 index 000000000..6e91bc971 --- /dev/null +++ b/src/thermophysicalModels/specie/transport/realGasSutherlandTransport/realGasSutherlandTransportI.H @@ -0,0 +1,262 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Modified by +Christian Lucas +Institut für Thermodynamik +Technische Universität Braunschweig +Germany + + +\*---------------------------------------------------------------------------*/ + +#include "specie.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +inline void realGasSutherlandTransport::calcCoeffs +( + const scalar mu1, const scalar T1, + const scalar mu2, const scalar T2 +) +{ + scalar rootT1 = sqrt(T1); + scalar mu1rootT2 = mu1*sqrt(T2); + scalar mu2rootT1 = mu2*rootT1; + + Ts = (mu2rootT1 - mu1rootT2)/(mu1rootT2/T1 - mu2rootT1/T2); + + As = mu1*(1.0 + Ts/T1)/rootT1; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +// Construct from components +template +inline realGasSutherlandTransport::realGasSutherlandTransport +( + const thermo& t, + const scalar as, + const scalar ts +) +: + thermo(t), + As(as), + Ts(ts) +{} + + +// Construct from components +template +inline realGasSutherlandTransport::realGasSutherlandTransport +( + const thermo& t, + const scalar mu1, const scalar T1, + const scalar mu2, const scalar T2 +) +: + thermo(t) +{ + calcCoeffs(mu1, T1, mu2, T2); +} + + +//- Construct as named copy +template +inline realGasSutherlandTransport::realGasSutherlandTransport +( + const word& name, + const realGasSutherlandTransport& st +) +: + thermo(name, st), + As(st.As), + Ts(st.Ts) +{} + + +// Construct and return a clone +template +inline autoPtr > realGasSutherlandTransport::clone +() const +{ + return autoPtr > + ( + new realGasSutherlandTransport(*this) + ); +} + + +// Selector from Istream +template +inline autoPtr > realGasSutherlandTransport::New +( + Istream& is +) +{ + return autoPtr > + ( + new realGasSutherlandTransport(is) + ); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +// Dynamic viscosity [kg/ms] +template +inline scalar realGasSutherlandTransport::mu(const scalar T) const +{ + return As*::sqrt(T)/(1.0 + Ts/T); +} + + +// Thermal conductivity [W/mK] +template +inline scalar realGasSutherlandTransport::kappa(const scalar rho, const scalar T) const +{ + scalar Cv_ = this->Cv(rho,T); + return mu(T)*Cv_*(1.32 + 1.77*this->R()/Cv_); +} + + +// Thermal diffusivity for enthalpy [kg/ms] +template +inline scalar realGasSutherlandTransport::alpha(const scalar rho, const scalar T) const +{ + scalar Cv_ = this->Cv(rho,T); + scalar Cp_ = this->Cp(rho,T); + + scalar deltaT = T - specie::Tstd; + scalar CpBar = + (deltaT*(this->H(rho, T) - this->H(this->rhostd(),specie::Tstd)) + Cp_)/(sqr(deltaT) + 1); + + return mu(T)*Cv_*(1.32 + 1.77*this->R()/Cv_)/CpBar; +} +// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // + +template +inline realGasSutherlandTransport& realGasSutherlandTransport::operator= +( + const realGasSutherlandTransport& st +) +{ + thermo::operator=(st); + + As = st.As; + Ts = st.Ts; + + return *this; +} + + +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // + +template +inline realGasSutherlandTransport operator+ +( + const realGasSutherlandTransport& st1, + const realGasSutherlandTransport& st2 +) +{ + thermo t + ( + static_cast(st1) + static_cast(st2) + ); + + scalar molr1 = st1.nMoles()/t.nMoles(); + scalar molr2 = st2.nMoles()/t.nMoles(); + + return realGasSutherlandTransport + ( + t, + molr1*st1.As + molr2*st2.As, + molr1*st1.Ts + molr2*st2.Ts + ); +} + + +template +inline realGasSutherlandTransport operator- +( + const realGasSutherlandTransport& st1, + const realGasSutherlandTransport& st2 +) +{ + thermo t + ( + static_cast(st1) - static_cast(st2) + ); + + scalar molr1 = st1.nMoles()/t.nMoles(); + scalar molr2 = st2.nMoles()/t.nMoles(); + + return realGasSutherlandTransport + ( + t, + molr1*st1.As - molr2*st2.As, + molr1*st1.Ts - molr2*st2.Ts + ); +} + + +template +inline realGasSutherlandTransport operator* +( + const scalar s, + const realGasSutherlandTransport& st +) +{ + return realGasSutherlandTransport + ( + s*static_cast(st), + st.As, + st.Ts + ); +} + + +template +inline realGasSutherlandTransport operator== +( + const realGasSutherlandTransport& st1, + const realGasSutherlandTransport& st2 +) +{ + return st2 - st1; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/T b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/T new file mode 100755 index 000000000..b71cb876b --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/T @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 333.15; + +boundaryField +{ + INLET + { + type fixedValue; + value uniform 333.15; + } + OUTLET + { + type zeroGradient; + } + + WALL_1 + { + type zeroGradient; + } + WALL_2 + { + type zeroGradient; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/U b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/U new file mode 100755 index 000000000..c5a31aca6 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/U @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (5 0 0); + +boundaryField +{ + INLET + { + type inletOutlet; + inletValue uniform (5 0 0); + value uniform (5 0 0); + } + OUTLET + { + type zeroGradient; + } + + WALL_1 + { + type fixedValue; + value uniform (0 0 0); + } + WALL_2 + { + type fixedValue; + value uniform (0 0 0); + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/alphat b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/alphat new file mode 100755 index 000000000..52705a220 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/alphat @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + WALL_1 + { + type alphatWallFunction; + Prt 0.85; + value uniform 0; + } + WALL_2 + { + type alphatWallFunction; + Prt 0.85; + value uniform 0; + } + INLET + { + type calculated; + value uniform 0; + } + OUTLET + { + type calculated; + value uniform 0; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon new file mode 100755 index 000000000..381b88669 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 1120; + +boundaryField +{ + WALL_1 + { + type compressible::epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 1120; + } + WALL_2 + { + type compressible::epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 1120; + } + INLET + { + type fixedValue; + value uniform 1120; + } + OUTLET + { + type inletOutlet; + inletValue uniform 1120; + value uniform 1120; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon.old b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon.old new file mode 100755 index 000000000..e3d97022c --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/epsilon.old @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 1120; + +boundaryField +{ + WALL_1 + { + type compressible::epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 1120; + } + INLET + { + type fixedValue; + value uniform 1120; + } + OUTLET + { + type inletOutlet; + inletValue uniform 1120; + value uniform 1120; + } + + WALL_2 + { + type compressible::epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 1120; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k new file mode 100755 index 000000000..5e6de985a --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 5; + +boundaryField +{ + WALL_1 + { + type compressible::kqRWallFunction; + value uniform 5; + } + WALL_2 + { + type compressible::kqRWallFunction; + value uniform 5; + } + INLET + { + type turbulentIntensityKineticEnergyInlet; + intensity 0.01; + value uniform 5; + } + OUTLET + { + type zeroGradient; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k.old b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k.old new file mode 100755 index 000000000..b4f3efbce --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/k.old @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 5; + +boundaryField +{ + WALL_1 + { + type compressible::kqRWallFunction; + value uniform 5; + } + INLET + { + type turbulentIntensityKineticEnergyInlet; + intensity 0.01; + value uniform 5; + } + OUTLET + { + type zeroGradient; + } + + WALL_2 + { + type compressible::kqRWallFunction; + value uniform 5; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/mut b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/mut new file mode 100755 index 000000000..057017b41 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/mut @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object mut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + WALL_1 + { + type mutWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + WALL_2 + { + type mutWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + INLET + { + type calculated; + value uniform 0; + } + OUTLET + { + type calculated; + value uniform 0; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/0/p b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/p new file mode 100755 index 000000000..ed10138df --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/0/p @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 80e5; + +boundaryField +{ + INLET + { + type zeroGradient; + } + OUTLET + { + type fixedValue; + value uniform 8e+06; + } + + WALL_1 + { + type zeroGradient; + } + WALL_2 + { + type zeroGradient; + } + frontAndBackPlanes + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/.RASProperties.swp b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/.RASProperties.swp new file mode 100755 index 000000000..35d19163d Binary files /dev/null and b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/.RASProperties.swp differ diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/RASProperties b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/RASProperties new file mode 100755 index 000000000..81b1ec911 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/RASProperties @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +RASModel kEpsilon; + +turbulence on; + +printCoeffs on; + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/boundary b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/boundary new file mode 100755 index 000000000..7a59636ef --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/boundary @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +5 +( + WALL_1 + { + type wall; + nFaces 99; + startFace 3644; + } + WALL_2 + { + type wall; + nFaces 99; + startFace 3743; + } + INLET + { + type patch; + nFaces 19; + startFace 3842; + } + OUTLET + { + type patch; + nFaces 19; + startFace 3861; + } + frontAndBackPlanes + { + type empty; + nFaces 3762; + startFace 3880; + } +) + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/cellZones b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/cellZones new file mode 100755 index 000000000..965611ab5 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/cellZones @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class regIOobject; + location "constant/polyMesh"; + object cellZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +0 +() + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faceZones b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faceZones new file mode 100755 index 000000000..6469973da --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faceZones @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class regIOobject; + location "constant/polyMesh"; + object faceZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +0 +() + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faces b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faces new file mode 100755 index 000000000..d2a85b7dd --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/faces @@ -0,0 +1,7666 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class faceList; + location "constant/polyMesh"; + object faces; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +7642 +( +4(3 2003 2002 2) +4(3 1 2001 2003) +4(5 2005 2004 4) +4(3 2003 2005 5) +4(7 2007 2006 6) +4(5 2005 2007 7) +4(9 2009 2008 8) +4(7 2007 2009 9) +4(11 2011 2010 10) +4(9 2009 2011 11) +4(13 2013 2012 12) +4(11 2011 2013 13) +4(15 2015 2014 14) +4(13 2013 2015 15) +4(17 2017 2016 16) +4(15 2015 2017 17) +4(19 2019 2018 18) +4(17 2017 2019 19) +4(21 2021 2020 20) +4(19 2019 2021 21) +4(23 2023 2022 22) +4(21 2021 2023 23) +4(25 2025 2024 24) +4(23 2023 2025 25) +4(27 2027 2026 26) +4(25 2025 2027 27) +4(29 2029 2028 28) +4(27 2027 2029 29) +4(31 2031 2030 30) +4(29 2029 2031 31) +4(33 2033 2032 32) +4(31 2031 2033 33) +4(35 2035 2034 34) +4(33 2033 2035 35) +4(37 2037 2036 36) +4(35 2035 2037 37) +4(37 2037 2039 39) +4(3 41 2041 2003) +4(40 2040 2041 41) +4(5 42 2042 2005) +4(41 2041 2042 42) +4(7 43 2043 2007) +4(42 2042 2043 43) +4(9 44 2044 2009) +4(43 2043 2044 44) +4(11 45 2045 2011) +4(44 2044 2045 45) +4(13 46 2046 2013) +4(45 2045 2046 46) +4(15 47 2047 2015) +4(46 2046 2047 47) +4(17 48 2048 2017) +4(47 2047 2048 48) +4(19 49 2049 2019) +4(48 2048 2049 49) +4(21 50 2050 2021) +4(49 2049 2050 50) +4(23 51 2051 2023) +4(50 2050 2051 51) +4(25 52 2052 2025) +4(51 2051 2052 52) +4(27 53 2053 2027) +4(52 2052 2053 53) +4(29 54 2054 2029) +4(53 2053 2054 54) +4(31 55 2055 2031) +4(54 2054 2055 55) +4(33 56 2056 2033) +4(55 2055 2056 56) +4(35 57 2057 2035) +4(56 2056 2057 57) +4(37 58 2058 2037) +4(57 2057 2058 58) +4(58 2058 2059 59) +4(41 61 2061 2041) +4(60 2060 2061 61) +4(42 62 2062 2042) +4(61 2061 2062 62) +4(43 63 2063 2043) +4(62 2062 2063 63) +4(44 64 2064 2044) +4(63 2063 2064 64) +4(45 65 2065 2045) +4(64 2064 2065 65) +4(46 66 2066 2046) +4(65 2065 2066 66) +4(47 67 2067 2047) +4(66 2066 2067 67) +4(48 68 2068 2048) +4(67 2067 2068 68) +4(49 69 2069 2049) +4(68 2068 2069 69) +4(50 70 2070 2050) +4(69 2069 2070 70) +4(51 71 2071 2051) +4(70 2070 2071 71) +4(52 72 2072 2052) +4(71 2071 2072 72) +4(53 73 2073 2053) +4(72 2072 2073 73) +4(54 74 2074 2054) +4(73 2073 2074 74) +4(55 75 2075 2055) +4(74 2074 2075 75) +4(56 76 2076 2056) +4(75 2075 2076 76) +4(57 77 2077 2057) +4(76 2076 2077 77) +4(58 78 2078 2058) +4(77 2077 2078 78) +4(78 2078 2079 79) +4(61 81 2081 2061) +4(80 2080 2081 81) +4(62 82 2082 2062) +4(81 2081 2082 82) +4(63 83 2083 2063) +4(82 2082 2083 83) +4(64 84 2084 2064) +4(83 2083 2084 84) +4(65 85 2085 2065) +4(84 2084 2085 85) +4(66 86 2086 2066) +4(85 2085 2086 86) +4(67 87 2087 2067) +4(86 2086 2087 87) +4(68 88 2088 2068) +4(87 2087 2088 88) +4(69 89 2089 2069) +4(88 2088 2089 89) +4(70 90 2090 2070) +4(89 2089 2090 90) +4(71 91 2091 2071) +4(90 2090 2091 91) +4(72 92 2092 2072) +4(91 2091 2092 92) +4(73 93 2093 2073) +4(92 2092 2093 93) +4(74 94 2094 2074) +4(93 2093 2094 94) +4(75 95 2095 2075) +4(94 2094 2095 95) +4(76 96 2096 2076) +4(95 2095 2096 96) +4(77 97 2097 2077) +4(96 2096 2097 97) +4(78 98 2098 2078) +4(97 2097 2098 98) +4(98 2098 2099 99) +4(81 101 2101 2081) +4(100 2100 2101 101) +4(82 102 2102 2082) +4(101 2101 2102 102) +4(83 103 2103 2083) +4(102 2102 2103 103) +4(84 104 2104 2084) +4(103 2103 2104 104) +4(85 105 2105 2085) +4(104 2104 2105 105) +4(86 106 2106 2086) +4(105 2105 2106 106) +4(87 107 2107 2087) +4(106 2106 2107 107) +4(88 108 2108 2088) +4(107 2107 2108 108) +4(89 109 2109 2089) +4(108 2108 2109 109) +4(90 110 2110 2090) +4(109 2109 2110 110) +4(91 111 2111 2091) +4(110 2110 2111 111) +4(92 112 2112 2092) +4(111 2111 2112 112) +4(93 113 2113 2093) +4(112 2112 2113 113) +4(94 114 2114 2094) +4(113 2113 2114 114) +4(95 115 2115 2095) +4(114 2114 2115 115) +4(96 116 2116 2096) +4(115 2115 2116 116) +4(97 117 2117 2097) +4(116 2116 2117 117) +4(98 118 2118 2098) +4(117 2117 2118 118) +4(118 2118 2119 119) +4(101 121 2121 2101) +4(120 2120 2121 121) +4(102 122 2122 2102) +4(121 2121 2122 122) +4(103 123 2123 2103) +4(122 2122 2123 123) +4(104 124 2124 2104) +4(123 2123 2124 124) +4(105 125 2125 2105) +4(124 2124 2125 125) +4(106 126 2126 2106) +4(125 2125 2126 126) +4(107 127 2127 2107) +4(126 2126 2127 127) +4(108 128 2128 2108) +4(127 2127 2128 128) +4(109 129 2129 2109) +4(128 2128 2129 129) +4(110 130 2130 2110) +4(129 2129 2130 130) +4(111 131 2131 2111) +4(130 2130 2131 131) +4(112 132 2132 2112) +4(131 2131 2132 132) +4(113 133 2133 2113) +4(132 2132 2133 133) +4(114 134 2134 2114) +4(133 2133 2134 134) +4(115 135 2135 2115) +4(134 2134 2135 135) +4(116 136 2136 2116) +4(135 2135 2136 136) +4(117 137 2137 2117) +4(136 2136 2137 137) +4(118 138 2138 2118) +4(137 2137 2138 138) +4(138 2138 2139 139) +4(121 141 2141 2121) +4(140 2140 2141 141) +4(122 142 2142 2122) +4(141 2141 2142 142) +4(123 143 2143 2123) +4(142 2142 2143 143) +4(124 144 2144 2124) +4(143 2143 2144 144) +4(125 145 2145 2125) +4(144 2144 2145 145) +4(126 146 2146 2126) +4(145 2145 2146 146) +4(127 147 2147 2127) +4(146 2146 2147 147) +4(128 148 2148 2128) +4(147 2147 2148 148) +4(129 149 2149 2129) +4(148 2148 2149 149) +4(130 150 2150 2130) +4(149 2149 2150 150) +4(131 151 2151 2131) +4(150 2150 2151 151) +4(132 152 2152 2132) +4(151 2151 2152 152) +4(133 153 2153 2133) +4(152 2152 2153 153) +4(134 154 2154 2134) +4(153 2153 2154 154) +4(135 155 2155 2135) +4(154 2154 2155 155) +4(136 156 2156 2136) +4(155 2155 2156 156) +4(137 157 2157 2137) +4(156 2156 2157 157) +4(138 158 2158 2138) +4(157 2157 2158 158) +4(158 2158 2159 159) +4(141 161 2161 2141) +4(160 2160 2161 161) +4(142 162 2162 2142) +4(161 2161 2162 162) +4(143 163 2163 2143) +4(162 2162 2163 163) +4(144 164 2164 2144) +4(163 2163 2164 164) +4(145 165 2165 2145) +4(164 2164 2165 165) +4(146 166 2166 2146) +4(165 2165 2166 166) +4(147 167 2167 2147) +4(166 2166 2167 167) +4(148 168 2168 2148) +4(167 2167 2168 168) +4(149 169 2169 2149) +4(168 2168 2169 169) +4(150 170 2170 2150) +4(169 2169 2170 170) +4(151 171 2171 2151) +4(170 2170 2171 171) +4(152 172 2172 2152) +4(171 2171 2172 172) +4(153 173 2173 2153) +4(172 2172 2173 173) +4(154 174 2174 2154) +4(173 2173 2174 174) +4(155 175 2175 2155) +4(174 2174 2175 175) +4(156 176 2176 2156) +4(175 2175 2176 176) +4(157 177 2177 2157) +4(176 2176 2177 177) +4(158 178 2178 2158) +4(177 2177 2178 178) +4(178 2178 2179 179) +4(161 181 2181 2161) +4(180 2180 2181 181) +4(162 182 2182 2162) +4(181 2181 2182 182) +4(163 183 2183 2163) +4(182 2182 2183 183) +4(164 184 2184 2164) +4(183 2183 2184 184) +4(165 185 2185 2165) +4(184 2184 2185 185) +4(166 186 2186 2166) +4(185 2185 2186 186) +4(167 187 2187 2167) +4(186 2186 2187 187) +4(168 188 2188 2168) +4(187 2187 2188 188) +4(169 189 2189 2169) +4(188 2188 2189 189) +4(170 190 2190 2170) +4(189 2189 2190 190) +4(171 191 2191 2171) +4(190 2190 2191 191) +4(172 192 2192 2172) +4(191 2191 2192 192) +4(173 193 2193 2173) +4(192 2192 2193 193) +4(174 194 2194 2174) +4(193 2193 2194 194) +4(175 195 2195 2175) +4(194 2194 2195 195) +4(176 196 2196 2176) +4(195 2195 2196 196) +4(177 197 2197 2177) +4(196 2196 2197 197) +4(178 198 2198 2178) +4(197 2197 2198 198) +4(198 2198 2199 199) +4(181 201 2201 2181) +4(200 2200 2201 201) +4(182 202 2202 2182) +4(201 2201 2202 202) +4(183 203 2203 2183) +4(202 2202 2203 203) +4(184 204 2204 2184) +4(203 2203 2204 204) +4(185 205 2205 2185) +4(204 2204 2205 205) +4(186 206 2206 2186) +4(205 2205 2206 206) +4(187 207 2207 2187) +4(206 2206 2207 207) +4(188 208 2208 2188) +4(207 2207 2208 208) +4(189 209 2209 2189) +4(208 2208 2209 209) +4(190 210 2210 2190) +4(209 2209 2210 210) +4(191 211 2211 2191) +4(210 2210 2211 211) +4(192 212 2212 2192) +4(211 2211 2212 212) +4(193 213 2213 2193) +4(212 2212 2213 213) +4(194 214 2214 2194) +4(213 2213 2214 214) +4(195 215 2215 2195) +4(214 2214 2215 215) +4(196 216 2216 2196) +4(215 2215 2216 216) +4(197 217 2217 2197) +4(216 2216 2217 217) +4(198 218 2218 2198) +4(217 2217 2218 218) +4(218 2218 2219 219) +4(201 221 2221 2201) +4(220 2220 2221 221) +4(202 222 2222 2202) +4(221 2221 2222 222) +4(203 223 2223 2203) +4(222 2222 2223 223) +4(204 224 2224 2204) +4(223 2223 2224 224) +4(205 225 2225 2205) +4(224 2224 2225 225) +4(206 226 2226 2206) +4(225 2225 2226 226) +4(207 227 2227 2207) +4(226 2226 2227 227) +4(208 228 2228 2208) +4(227 2227 2228 228) +4(209 229 2229 2209) +4(228 2228 2229 229) +4(210 230 2230 2210) +4(229 2229 2230 230) +4(211 231 2231 2211) +4(230 2230 2231 231) +4(212 232 2232 2212) +4(231 2231 2232 232) +4(213 233 2233 2213) +4(232 2232 2233 233) +4(214 234 2234 2214) +4(233 2233 2234 234) +4(215 235 2235 2215) +4(234 2234 2235 235) +4(216 236 2236 2216) +4(235 2235 2236 236) +4(217 237 2237 2217) +4(236 2236 2237 237) +4(218 238 2238 2218) +4(237 2237 2238 238) +4(238 2238 2239 239) +4(221 241 2241 2221) +4(240 2240 2241 241) +4(222 242 2242 2222) +4(241 2241 2242 242) +4(223 243 2243 2223) +4(242 2242 2243 243) +4(224 244 2244 2224) +4(243 2243 2244 244) +4(225 245 2245 2225) +4(244 2244 2245 245) +4(226 246 2246 2226) +4(245 2245 2246 246) +4(227 247 2247 2227) +4(246 2246 2247 247) +4(228 248 2248 2228) +4(247 2247 2248 248) +4(229 249 2249 2229) +4(248 2248 2249 249) +4(230 250 2250 2230) +4(249 2249 2250 250) +4(231 251 2251 2231) +4(250 2250 2251 251) +4(232 252 2252 2232) +4(251 2251 2252 252) +4(233 253 2253 2233) +4(252 2252 2253 253) +4(234 254 2254 2234) +4(253 2253 2254 254) +4(235 255 2255 2235) +4(254 2254 2255 255) +4(236 256 2256 2236) +4(255 2255 2256 256) +4(237 257 2257 2237) +4(256 2256 2257 257) +4(238 258 2258 2238) +4(257 2257 2258 258) +4(258 2258 2259 259) +4(241 261 2261 2241) +4(260 2260 2261 261) +4(242 262 2262 2242) +4(261 2261 2262 262) +4(243 263 2263 2243) +4(262 2262 2263 263) +4(244 264 2264 2244) +4(263 2263 2264 264) +4(245 265 2265 2245) +4(264 2264 2265 265) +4(246 266 2266 2246) +4(265 2265 2266 266) +4(247 267 2267 2247) +4(266 2266 2267 267) +4(248 268 2268 2248) +4(267 2267 2268 268) +4(249 269 2269 2249) +4(268 2268 2269 269) +4(250 270 2270 2250) +4(269 2269 2270 270) +4(251 271 2271 2251) +4(270 2270 2271 271) +4(252 272 2272 2252) +4(271 2271 2272 272) +4(253 273 2273 2253) +4(272 2272 2273 273) +4(254 274 2274 2254) +4(273 2273 2274 274) +4(255 275 2275 2255) +4(274 2274 2275 275) +4(256 276 2276 2256) +4(275 2275 2276 276) +4(257 277 2277 2257) +4(276 2276 2277 277) +4(258 278 2278 2258) +4(277 2277 2278 278) +4(278 2278 2279 279) +4(261 281 2281 2261) +4(280 2280 2281 281) +4(262 282 2282 2262) +4(281 2281 2282 282) +4(263 283 2283 2263) +4(282 2282 2283 283) +4(264 284 2284 2264) +4(283 2283 2284 284) +4(265 285 2285 2265) +4(284 2284 2285 285) +4(266 286 2286 2266) +4(285 2285 2286 286) +4(267 287 2287 2267) +4(286 2286 2287 287) +4(268 288 2288 2268) +4(287 2287 2288 288) +4(269 289 2289 2269) +4(288 2288 2289 289) +4(270 290 2290 2270) +4(289 2289 2290 290) +4(271 291 2291 2271) +4(290 2290 2291 291) +4(272 292 2292 2272) +4(291 2291 2292 292) +4(273 293 2293 2273) +4(292 2292 2293 293) +4(274 294 2294 2274) +4(293 2293 2294 294) +4(275 295 2295 2275) +4(294 2294 2295 295) +4(276 296 2296 2276) +4(295 2295 2296 296) +4(277 297 2297 2277) +4(296 2296 2297 297) +4(278 298 2298 2278) +4(297 2297 2298 298) +4(298 2298 2299 299) +4(281 301 2301 2281) +4(300 2300 2301 301) +4(282 302 2302 2282) +4(301 2301 2302 302) +4(283 303 2303 2283) +4(302 2302 2303 303) +4(284 304 2304 2284) +4(303 2303 2304 304) +4(285 305 2305 2285) +4(304 2304 2305 305) +4(286 306 2306 2286) +4(305 2305 2306 306) +4(287 307 2307 2287) +4(306 2306 2307 307) +4(288 308 2308 2288) +4(307 2307 2308 308) +4(289 309 2309 2289) +4(308 2308 2309 309) +4(290 310 2310 2290) +4(309 2309 2310 310) +4(291 311 2311 2291) +4(310 2310 2311 311) +4(292 312 2312 2292) +4(311 2311 2312 312) +4(293 313 2313 2293) +4(312 2312 2313 313) +4(294 314 2314 2294) +4(313 2313 2314 314) +4(295 315 2315 2295) +4(314 2314 2315 315) +4(296 316 2316 2296) +4(315 2315 2316 316) +4(297 317 2317 2297) +4(316 2316 2317 317) +4(298 318 2318 2298) +4(317 2317 2318 318) +4(318 2318 2319 319) +4(301 321 2321 2301) +4(320 2320 2321 321) +4(302 322 2322 2302) +4(321 2321 2322 322) +4(303 323 2323 2303) +4(322 2322 2323 323) +4(304 324 2324 2304) +4(323 2323 2324 324) +4(305 325 2325 2305) +4(324 2324 2325 325) +4(306 326 2326 2306) +4(325 2325 2326 326) +4(307 327 2327 2307) +4(326 2326 2327 327) +4(308 328 2328 2308) +4(327 2327 2328 328) +4(309 329 2329 2309) +4(328 2328 2329 329) +4(310 330 2330 2310) +4(329 2329 2330 330) +4(311 331 2331 2311) +4(330 2330 2331 331) +4(312 332 2332 2312) +4(331 2331 2332 332) +4(313 333 2333 2313) +4(332 2332 2333 333) +4(314 334 2334 2314) +4(333 2333 2334 334) +4(315 335 2335 2315) +4(334 2334 2335 335) +4(316 336 2336 2316) +4(335 2335 2336 336) +4(317 337 2337 2317) +4(336 2336 2337 337) +4(318 338 2338 2318) +4(337 2337 2338 338) +4(338 2338 2339 339) +4(321 341 2341 2321) +4(340 2340 2341 341) +4(322 342 2342 2322) +4(341 2341 2342 342) +4(323 343 2343 2323) +4(342 2342 2343 343) +4(324 344 2344 2324) +4(343 2343 2344 344) +4(325 345 2345 2325) +4(344 2344 2345 345) +4(326 346 2346 2326) +4(345 2345 2346 346) +4(327 347 2347 2327) +4(346 2346 2347 347) +4(328 348 2348 2328) +4(347 2347 2348 348) +4(329 349 2349 2329) +4(348 2348 2349 349) +4(330 350 2350 2330) +4(349 2349 2350 350) +4(331 351 2351 2331) +4(350 2350 2351 351) +4(332 352 2352 2332) +4(351 2351 2352 352) +4(333 353 2353 2333) +4(352 2352 2353 353) +4(334 354 2354 2334) +4(353 2353 2354 354) +4(335 355 2355 2335) +4(354 2354 2355 355) +4(336 356 2356 2336) +4(355 2355 2356 356) +4(337 357 2357 2337) +4(356 2356 2357 357) +4(338 358 2358 2338) +4(357 2357 2358 358) +4(358 2358 2359 359) +4(341 361 2361 2341) +4(360 2360 2361 361) +4(342 362 2362 2342) +4(361 2361 2362 362) +4(343 363 2363 2343) +4(362 2362 2363 363) +4(344 364 2364 2344) +4(363 2363 2364 364) +4(345 365 2365 2345) +4(364 2364 2365 365) +4(346 366 2366 2346) +4(365 2365 2366 366) +4(347 367 2367 2347) +4(366 2366 2367 367) +4(348 368 2368 2348) +4(367 2367 2368 368) +4(349 369 2369 2349) +4(368 2368 2369 369) +4(350 370 2370 2350) +4(369 2369 2370 370) +4(351 371 2371 2351) +4(370 2370 2371 371) +4(352 372 2372 2352) +4(371 2371 2372 372) +4(353 373 2373 2353) +4(372 2372 2373 373) +4(354 374 2374 2354) +4(373 2373 2374 374) +4(355 375 2375 2355) +4(374 2374 2375 375) +4(356 376 2376 2356) +4(375 2375 2376 376) +4(357 377 2377 2357) +4(376 2376 2377 377) +4(358 378 2378 2358) +4(377 2377 2378 378) +4(378 2378 2379 379) +4(361 381 2381 2361) +4(380 2380 2381 381) +4(362 382 2382 2362) +4(381 2381 2382 382) +4(363 383 2383 2363) +4(382 2382 2383 383) +4(364 384 2384 2364) +4(383 2383 2384 384) +4(365 385 2385 2365) +4(384 2384 2385 385) +4(366 386 2386 2366) +4(385 2385 2386 386) +4(367 387 2387 2367) +4(386 2386 2387 387) +4(368 388 2388 2368) +4(387 2387 2388 388) +4(369 389 2389 2369) +4(388 2388 2389 389) +4(370 390 2390 2370) +4(389 2389 2390 390) +4(371 391 2391 2371) +4(390 2390 2391 391) +4(372 392 2392 2372) +4(391 2391 2392 392) +4(373 393 2393 2373) +4(392 2392 2393 393) +4(374 394 2394 2374) +4(393 2393 2394 394) +4(375 395 2395 2375) +4(394 2394 2395 395) +4(376 396 2396 2376) +4(395 2395 2396 396) +4(377 397 2397 2377) +4(396 2396 2397 397) +4(378 398 2398 2378) +4(397 2397 2398 398) +4(398 2398 2399 399) +4(381 401 2401 2381) +4(400 2400 2401 401) +4(382 402 2402 2382) +4(401 2401 2402 402) +4(383 403 2403 2383) +4(402 2402 2403 403) +4(384 404 2404 2384) +4(403 2403 2404 404) +4(385 405 2405 2385) +4(404 2404 2405 405) +4(386 406 2406 2386) +4(405 2405 2406 406) +4(387 407 2407 2387) +4(406 2406 2407 407) +4(388 408 2408 2388) +4(407 2407 2408 408) +4(389 409 2409 2389) +4(408 2408 2409 409) +4(390 410 2410 2390) +4(409 2409 2410 410) +4(391 411 2411 2391) +4(410 2410 2411 411) +4(392 412 2412 2392) +4(411 2411 2412 412) +4(393 413 2413 2393) +4(412 2412 2413 413) +4(394 414 2414 2394) +4(413 2413 2414 414) +4(395 415 2415 2395) +4(414 2414 2415 415) +4(396 416 2416 2396) +4(415 2415 2416 416) +4(397 417 2417 2397) +4(416 2416 2417 417) +4(398 418 2418 2398) +4(417 2417 2418 418) +4(418 2418 2419 419) +4(401 421 2421 2401) +4(420 2420 2421 421) +4(402 422 2422 2402) +4(421 2421 2422 422) +4(403 423 2423 2403) +4(422 2422 2423 423) +4(404 424 2424 2404) +4(423 2423 2424 424) +4(405 425 2425 2405) +4(424 2424 2425 425) +4(406 426 2426 2406) +4(425 2425 2426 426) +4(407 427 2427 2407) +4(426 2426 2427 427) +4(408 428 2428 2408) +4(427 2427 2428 428) +4(409 429 2429 2409) +4(428 2428 2429 429) +4(410 430 2430 2410) +4(429 2429 2430 430) +4(411 431 2431 2411) +4(430 2430 2431 431) +4(412 432 2432 2412) +4(431 2431 2432 432) +4(413 433 2433 2413) +4(432 2432 2433 433) +4(414 434 2434 2414) +4(433 2433 2434 434) +4(415 435 2435 2415) +4(434 2434 2435 435) +4(416 436 2436 2416) +4(435 2435 2436 436) +4(417 437 2437 2417) +4(436 2436 2437 437) +4(418 438 2438 2418) +4(437 2437 2438 438) +4(438 2438 2439 439) +4(421 441 2441 2421) +4(440 2440 2441 441) +4(422 442 2442 2422) +4(441 2441 2442 442) +4(423 443 2443 2423) +4(442 2442 2443 443) +4(424 444 2444 2424) +4(443 2443 2444 444) +4(425 445 2445 2425) +4(444 2444 2445 445) +4(426 446 2446 2426) +4(445 2445 2446 446) +4(427 447 2447 2427) +4(446 2446 2447 447) +4(428 448 2448 2428) +4(447 2447 2448 448) +4(429 449 2449 2429) +4(448 2448 2449 449) +4(430 450 2450 2430) +4(449 2449 2450 450) +4(431 451 2451 2431) +4(450 2450 2451 451) +4(432 452 2452 2432) +4(451 2451 2452 452) +4(433 453 2453 2433) +4(452 2452 2453 453) +4(434 454 2454 2434) +4(453 2453 2454 454) +4(435 455 2455 2435) +4(454 2454 2455 455) +4(436 456 2456 2436) +4(455 2455 2456 456) +4(437 457 2457 2437) +4(456 2456 2457 457) +4(438 458 2458 2438) +4(457 2457 2458 458) +4(458 2458 2459 459) +4(441 461 2461 2441) +4(460 2460 2461 461) +4(442 462 2462 2442) +4(461 2461 2462 462) +4(443 463 2463 2443) +4(462 2462 2463 463) +4(444 464 2464 2444) +4(463 2463 2464 464) +4(445 465 2465 2445) +4(464 2464 2465 465) +4(446 466 2466 2446) +4(465 2465 2466 466) +4(447 467 2467 2447) +4(466 2466 2467 467) +4(448 468 2468 2448) +4(467 2467 2468 468) +4(449 469 2469 2449) +4(468 2468 2469 469) +4(450 470 2470 2450) +4(469 2469 2470 470) +4(451 471 2471 2451) +4(470 2470 2471 471) +4(452 472 2472 2452) +4(471 2471 2472 472) +4(453 473 2473 2453) +4(472 2472 2473 473) +4(454 474 2474 2454) +4(473 2473 2474 474) +4(455 475 2475 2455) +4(474 2474 2475 475) +4(456 476 2476 2456) +4(475 2475 2476 476) +4(457 477 2477 2457) +4(476 2476 2477 477) +4(458 478 2478 2458) +4(477 2477 2478 478) +4(478 2478 2479 479) +4(461 481 2481 2461) +4(480 2480 2481 481) +4(462 482 2482 2462) +4(481 2481 2482 482) +4(463 483 2483 2463) +4(482 2482 2483 483) +4(464 484 2484 2464) +4(483 2483 2484 484) +4(465 485 2485 2465) +4(484 2484 2485 485) +4(466 486 2486 2466) +4(485 2485 2486 486) +4(467 487 2487 2467) +4(486 2486 2487 487) +4(468 488 2488 2468) +4(487 2487 2488 488) +4(469 489 2489 2469) +4(488 2488 2489 489) +4(470 490 2490 2470) +4(489 2489 2490 490) +4(471 491 2491 2471) +4(490 2490 2491 491) +4(472 492 2492 2472) +4(491 2491 2492 492) +4(473 493 2493 2473) +4(492 2492 2493 493) +4(474 494 2494 2474) +4(493 2493 2494 494) +4(475 495 2495 2475) +4(494 2494 2495 495) +4(476 496 2496 2476) +4(495 2495 2496 496) +4(477 497 2497 2477) +4(496 2496 2497 497) +4(478 498 2498 2478) +4(497 2497 2498 498) +4(498 2498 2499 499) +4(481 501 2501 2481) +4(500 2500 2501 501) +4(482 502 2502 2482) +4(501 2501 2502 502) +4(483 503 2503 2483) +4(502 2502 2503 503) +4(484 504 2504 2484) +4(503 2503 2504 504) +4(485 505 2505 2485) +4(504 2504 2505 505) +4(486 506 2506 2486) +4(505 2505 2506 506) +4(487 507 2507 2487) +4(506 2506 2507 507) +4(488 508 2508 2488) +4(507 2507 2508 508) +4(489 509 2509 2489) +4(508 2508 2509 509) +4(490 510 2510 2490) +4(509 2509 2510 510) +4(491 511 2511 2491) +4(510 2510 2511 511) +4(492 512 2512 2492) +4(511 2511 2512 512) +4(493 513 2513 2493) +4(512 2512 2513 513) +4(494 514 2514 2494) +4(513 2513 2514 514) +4(495 515 2515 2495) +4(514 2514 2515 515) +4(496 516 2516 2496) +4(515 2515 2516 516) +4(497 517 2517 2497) +4(516 2516 2517 517) +4(498 518 2518 2498) +4(517 2517 2518 518) +4(518 2518 2519 519) +4(501 521 2521 2501) +4(520 2520 2521 521) +4(502 522 2522 2502) +4(521 2521 2522 522) +4(503 523 2523 2503) +4(522 2522 2523 523) +4(504 524 2524 2504) +4(523 2523 2524 524) +4(505 525 2525 2505) +4(524 2524 2525 525) +4(506 526 2526 2506) +4(525 2525 2526 526) +4(507 527 2527 2507) +4(526 2526 2527 527) +4(508 528 2528 2508) +4(527 2527 2528 528) +4(509 529 2529 2509) +4(528 2528 2529 529) +4(510 530 2530 2510) +4(529 2529 2530 530) +4(511 531 2531 2511) +4(530 2530 2531 531) +4(512 532 2532 2512) +4(531 2531 2532 532) +4(513 533 2533 2513) +4(532 2532 2533 533) +4(514 534 2534 2514) +4(533 2533 2534 534) +4(515 535 2535 2515) +4(534 2534 2535 535) +4(516 536 2536 2516) +4(535 2535 2536 536) +4(517 537 2537 2517) +4(536 2536 2537 537) +4(518 538 2538 2518) +4(537 2537 2538 538) +4(538 2538 2539 539) +4(521 541 2541 2521) +4(540 2540 2541 541) +4(522 542 2542 2522) +4(541 2541 2542 542) +4(523 543 2543 2523) +4(542 2542 2543 543) +4(524 544 2544 2524) +4(543 2543 2544 544) +4(525 545 2545 2525) +4(544 2544 2545 545) +4(526 546 2546 2526) +4(545 2545 2546 546) +4(527 547 2547 2527) +4(546 2546 2547 547) +4(528 548 2548 2528) +4(547 2547 2548 548) +4(529 549 2549 2529) +4(548 2548 2549 549) +4(530 550 2550 2530) +4(549 2549 2550 550) +4(531 551 2551 2531) +4(550 2550 2551 551) +4(532 552 2552 2532) +4(551 2551 2552 552) +4(533 553 2553 2533) +4(552 2552 2553 553) +4(534 554 2554 2534) +4(553 2553 2554 554) +4(535 555 2555 2535) +4(554 2554 2555 555) +4(536 556 2556 2536) +4(555 2555 2556 556) +4(537 557 2557 2537) +4(556 2556 2557 557) +4(538 558 2558 2538) +4(557 2557 2558 558) +4(558 2558 2559 559) +4(541 561 2561 2541) +4(560 2560 2561 561) +4(542 562 2562 2542) +4(561 2561 2562 562) +4(543 563 2563 2543) +4(562 2562 2563 563) +4(544 564 2564 2544) +4(563 2563 2564 564) +4(545 565 2565 2545) +4(564 2564 2565 565) +4(546 566 2566 2546) +4(565 2565 2566 566) +4(547 567 2567 2547) +4(566 2566 2567 567) +4(548 568 2568 2548) +4(567 2567 2568 568) +4(549 569 2569 2549) +4(568 2568 2569 569) +4(550 570 2570 2550) +4(569 2569 2570 570) +4(551 571 2571 2551) +4(570 2570 2571 571) +4(552 572 2572 2552) +4(571 2571 2572 572) +4(553 573 2573 2553) +4(572 2572 2573 573) +4(554 574 2574 2554) +4(573 2573 2574 574) +4(555 575 2575 2555) +4(574 2574 2575 575) +4(556 576 2576 2556) +4(575 2575 2576 576) +4(557 577 2577 2557) +4(576 2576 2577 577) +4(558 578 2578 2558) +4(577 2577 2578 578) +4(578 2578 2579 579) +4(561 581 2581 2561) +4(580 2580 2581 581) +4(562 582 2582 2562) +4(581 2581 2582 582) +4(563 583 2583 2563) +4(582 2582 2583 583) +4(564 584 2584 2564) +4(583 2583 2584 584) +4(565 585 2585 2565) +4(584 2584 2585 585) +4(566 586 2586 2566) +4(585 2585 2586 586) +4(567 587 2587 2567) +4(586 2586 2587 587) +4(568 588 2588 2568) +4(587 2587 2588 588) +4(569 589 2589 2569) +4(588 2588 2589 589) +4(570 590 2590 2570) +4(589 2589 2590 590) +4(571 591 2591 2571) +4(590 2590 2591 591) +4(572 592 2592 2572) +4(591 2591 2592 592) +4(573 593 2593 2573) +4(592 2592 2593 593) +4(574 594 2594 2574) +4(593 2593 2594 594) +4(575 595 2595 2575) +4(594 2594 2595 595) +4(576 596 2596 2576) +4(595 2595 2596 596) +4(577 597 2597 2577) +4(596 2596 2597 597) +4(578 598 2598 2578) +4(597 2597 2598 598) +4(598 2598 2599 599) +4(581 601 2601 2581) +4(600 2600 2601 601) +4(582 602 2602 2582) +4(601 2601 2602 602) +4(583 603 2603 2583) +4(602 2602 2603 603) +4(584 604 2604 2584) +4(603 2603 2604 604) +4(585 605 2605 2585) +4(604 2604 2605 605) +4(586 606 2606 2586) +4(605 2605 2606 606) +4(587 607 2607 2587) +4(606 2606 2607 607) +4(588 608 2608 2588) +4(607 2607 2608 608) +4(589 609 2609 2589) +4(608 2608 2609 609) +4(590 610 2610 2590) +4(609 2609 2610 610) +4(591 611 2611 2591) +4(610 2610 2611 611) +4(592 612 2612 2592) +4(611 2611 2612 612) +4(593 613 2613 2593) +4(612 2612 2613 613) +4(594 614 2614 2594) +4(613 2613 2614 614) +4(595 615 2615 2595) +4(614 2614 2615 615) +4(596 616 2616 2596) +4(615 2615 2616 616) +4(597 617 2617 2597) +4(616 2616 2617 617) +4(598 618 2618 2598) +4(617 2617 2618 618) +4(618 2618 2619 619) +4(601 621 2621 2601) +4(620 2620 2621 621) +4(602 622 2622 2602) +4(621 2621 2622 622) +4(603 623 2623 2603) +4(622 2622 2623 623) +4(604 624 2624 2604) +4(623 2623 2624 624) +4(605 625 2625 2605) +4(624 2624 2625 625) +4(606 626 2626 2606) +4(625 2625 2626 626) +4(607 627 2627 2607) +4(626 2626 2627 627) +4(608 628 2628 2608) +4(627 2627 2628 628) +4(609 629 2629 2609) +4(628 2628 2629 629) +4(610 630 2630 2610) +4(629 2629 2630 630) +4(611 631 2631 2611) +4(630 2630 2631 631) +4(612 632 2632 2612) +4(631 2631 2632 632) +4(613 633 2633 2613) +4(632 2632 2633 633) +4(614 634 2634 2614) +4(633 2633 2634 634) +4(615 635 2635 2615) +4(634 2634 2635 635) +4(616 636 2636 2616) +4(635 2635 2636 636) +4(617 637 2637 2617) +4(636 2636 2637 637) +4(618 638 2638 2618) +4(637 2637 2638 638) +4(638 2638 2639 639) +4(621 641 2641 2621) +4(640 2640 2641 641) +4(622 642 2642 2622) +4(641 2641 2642 642) +4(623 643 2643 2623) +4(642 2642 2643 643) +4(624 644 2644 2624) +4(643 2643 2644 644) +4(625 645 2645 2625) +4(644 2644 2645 645) +4(626 646 2646 2626) +4(645 2645 2646 646) +4(627 647 2647 2627) +4(646 2646 2647 647) +4(628 648 2648 2628) +4(647 2647 2648 648) +4(629 649 2649 2629) +4(648 2648 2649 649) +4(630 650 2650 2630) +4(649 2649 2650 650) +4(631 651 2651 2631) +4(650 2650 2651 651) +4(632 652 2652 2632) +4(651 2651 2652 652) +4(633 653 2653 2633) +4(652 2652 2653 653) +4(634 654 2654 2634) +4(653 2653 2654 654) +4(635 655 2655 2635) +4(654 2654 2655 655) +4(636 656 2656 2636) +4(655 2655 2656 656) +4(637 657 2657 2637) +4(656 2656 2657 657) +4(638 658 2658 2638) +4(657 2657 2658 658) +4(658 2658 2659 659) +4(641 661 2661 2641) +4(660 2660 2661 661) +4(642 662 2662 2642) +4(661 2661 2662 662) +4(643 663 2663 2643) +4(662 2662 2663 663) +4(644 664 2664 2644) +4(663 2663 2664 664) +4(645 665 2665 2645) +4(664 2664 2665 665) +4(646 666 2666 2646) +4(665 2665 2666 666) +4(647 667 2667 2647) +4(666 2666 2667 667) +4(648 668 2668 2648) +4(667 2667 2668 668) +4(649 669 2669 2649) +4(668 2668 2669 669) +4(650 670 2670 2650) +4(669 2669 2670 670) +4(651 671 2671 2651) +4(670 2670 2671 671) +4(652 672 2672 2652) +4(671 2671 2672 672) +4(653 673 2673 2653) +4(672 2672 2673 673) +4(654 674 2674 2654) +4(673 2673 2674 674) +4(655 675 2675 2655) +4(674 2674 2675 675) +4(656 676 2676 2656) +4(675 2675 2676 676) +4(657 677 2677 2657) +4(676 2676 2677 677) +4(658 678 2678 2658) +4(677 2677 2678 678) +4(678 2678 2679 679) +4(661 681 2681 2661) +4(680 2680 2681 681) +4(662 682 2682 2662) +4(681 2681 2682 682) +4(663 683 2683 2663) +4(682 2682 2683 683) +4(664 684 2684 2664) +4(683 2683 2684 684) +4(665 685 2685 2665) +4(684 2684 2685 685) +4(666 686 2686 2666) +4(685 2685 2686 686) +4(667 687 2687 2667) +4(686 2686 2687 687) +4(668 688 2688 2668) +4(687 2687 2688 688) +4(669 689 2689 2669) +4(688 2688 2689 689) +4(670 690 2690 2670) +4(689 2689 2690 690) +4(671 691 2691 2671) +4(690 2690 2691 691) +4(672 692 2692 2672) +4(691 2691 2692 692) +4(673 693 2693 2673) +4(692 2692 2693 693) +4(674 694 2694 2674) +4(693 2693 2694 694) +4(675 695 2695 2675) +4(694 2694 2695 695) +4(676 696 2696 2676) +4(695 2695 2696 696) +4(677 697 2697 2677) +4(696 2696 2697 697) +4(678 698 2698 2678) +4(697 2697 2698 698) +4(698 2698 2699 699) +4(681 701 2701 2681) +4(700 2700 2701 701) +4(682 702 2702 2682) +4(701 2701 2702 702) +4(683 703 2703 2683) +4(702 2702 2703 703) +4(684 704 2704 2684) +4(703 2703 2704 704) +4(685 705 2705 2685) +4(704 2704 2705 705) +4(686 706 2706 2686) +4(705 2705 2706 706) +4(687 707 2707 2687) +4(706 2706 2707 707) +4(688 708 2708 2688) +4(707 2707 2708 708) +4(689 709 2709 2689) +4(708 2708 2709 709) +4(690 710 2710 2690) +4(709 2709 2710 710) +4(691 711 2711 2691) +4(710 2710 2711 711) +4(692 712 2712 2692) +4(711 2711 2712 712) +4(693 713 2713 2693) +4(712 2712 2713 713) +4(694 714 2714 2694) +4(713 2713 2714 714) +4(695 715 2715 2695) +4(714 2714 2715 715) +4(696 716 2716 2696) +4(715 2715 2716 716) +4(697 717 2717 2697) +4(716 2716 2717 717) +4(698 718 2718 2698) +4(717 2717 2718 718) +4(718 2718 2719 719) +4(701 721 2721 2701) +4(720 2720 2721 721) +4(702 722 2722 2702) +4(721 2721 2722 722) +4(703 723 2723 2703) +4(722 2722 2723 723) +4(704 724 2724 2704) +4(723 2723 2724 724) +4(705 725 2725 2705) +4(724 2724 2725 725) +4(706 726 2726 2706) +4(725 2725 2726 726) +4(707 727 2727 2707) +4(726 2726 2727 727) +4(708 728 2728 2708) +4(727 2727 2728 728) +4(709 729 2729 2709) +4(728 2728 2729 729) +4(710 730 2730 2710) +4(729 2729 2730 730) +4(711 731 2731 2711) +4(730 2730 2731 731) +4(712 732 2732 2712) +4(731 2731 2732 732) +4(713 733 2733 2713) +4(732 2732 2733 733) +4(714 734 2734 2714) +4(733 2733 2734 734) +4(715 735 2735 2715) +4(734 2734 2735 735) +4(716 736 2736 2716) +4(735 2735 2736 736) +4(717 737 2737 2717) +4(736 2736 2737 737) +4(718 738 2738 2718) +4(737 2737 2738 738) +4(738 2738 2739 739) +4(721 741 2741 2721) +4(740 2740 2741 741) +4(722 742 2742 2722) +4(741 2741 2742 742) +4(723 743 2743 2723) +4(742 2742 2743 743) +4(724 744 2744 2724) +4(743 2743 2744 744) +4(725 745 2745 2725) +4(744 2744 2745 745) +4(726 746 2746 2726) +4(745 2745 2746 746) +4(727 747 2747 2727) +4(746 2746 2747 747) +4(728 748 2748 2728) +4(747 2747 2748 748) +4(729 749 2749 2729) +4(748 2748 2749 749) +4(730 750 2750 2730) +4(749 2749 2750 750) +4(731 751 2751 2731) +4(750 2750 2751 751) +4(732 752 2752 2732) +4(751 2751 2752 752) +4(733 753 2753 2733) +4(752 2752 2753 753) +4(734 754 2754 2734) +4(753 2753 2754 754) +4(735 755 2755 2735) +4(754 2754 2755 755) +4(736 756 2756 2736) +4(755 2755 2756 756) +4(737 757 2757 2737) +4(756 2756 2757 757) +4(738 758 2758 2738) +4(757 2757 2758 758) +4(758 2758 2759 759) +4(741 761 2761 2741) +4(760 2760 2761 761) +4(742 762 2762 2742) +4(761 2761 2762 762) +4(743 763 2763 2743) +4(762 2762 2763 763) +4(744 764 2764 2744) +4(763 2763 2764 764) +4(745 765 2765 2745) +4(764 2764 2765 765) +4(746 766 2766 2746) +4(765 2765 2766 766) +4(747 767 2767 2747) +4(766 2766 2767 767) +4(748 768 2768 2748) +4(767 2767 2768 768) +4(749 769 2769 2749) +4(768 2768 2769 769) +4(750 770 2770 2750) +4(769 2769 2770 770) +4(751 771 2771 2751) +4(770 2770 2771 771) +4(752 772 2772 2752) +4(771 2771 2772 772) +4(753 773 2773 2753) +4(772 2772 2773 773) +4(754 774 2774 2754) +4(773 2773 2774 774) +4(755 775 2775 2755) +4(774 2774 2775 775) +4(756 776 2776 2756) +4(775 2775 2776 776) +4(757 777 2777 2757) +4(776 2776 2777 777) +4(758 778 2778 2758) +4(777 2777 2778 778) +4(778 2778 2779 779) +4(761 781 2781 2761) +4(780 2780 2781 781) +4(762 782 2782 2762) +4(781 2781 2782 782) +4(763 783 2783 2763) +4(782 2782 2783 783) +4(764 784 2784 2764) +4(783 2783 2784 784) +4(765 785 2785 2765) +4(784 2784 2785 785) +4(766 786 2786 2766) +4(785 2785 2786 786) +4(767 787 2787 2767) +4(786 2786 2787 787) +4(768 788 2788 2768) +4(787 2787 2788 788) +4(769 789 2789 2769) +4(788 2788 2789 789) +4(770 790 2790 2770) +4(789 2789 2790 790) +4(771 791 2791 2771) +4(790 2790 2791 791) +4(772 792 2792 2772) +4(791 2791 2792 792) +4(773 793 2793 2773) +4(792 2792 2793 793) +4(774 794 2794 2774) +4(793 2793 2794 794) +4(775 795 2795 2775) +4(794 2794 2795 795) +4(776 796 2796 2776) +4(795 2795 2796 796) +4(777 797 2797 2777) +4(796 2796 2797 797) +4(778 798 2798 2778) +4(797 2797 2798 798) +4(798 2798 2799 799) +4(781 801 2801 2781) +4(800 2800 2801 801) +4(782 802 2802 2782) +4(801 2801 2802 802) +4(783 803 2803 2783) +4(802 2802 2803 803) +4(784 804 2804 2784) +4(803 2803 2804 804) +4(785 805 2805 2785) +4(804 2804 2805 805) +4(786 806 2806 2786) +4(805 2805 2806 806) +4(787 807 2807 2787) +4(806 2806 2807 807) +4(788 808 2808 2788) +4(807 2807 2808 808) +4(789 809 2809 2789) +4(808 2808 2809 809) +4(790 810 2810 2790) +4(809 2809 2810 810) +4(791 811 2811 2791) +4(810 2810 2811 811) +4(792 812 2812 2792) +4(811 2811 2812 812) +4(793 813 2813 2793) +4(812 2812 2813 813) +4(794 814 2814 2794) +4(813 2813 2814 814) +4(795 815 2815 2795) +4(814 2814 2815 815) +4(796 816 2816 2796) +4(815 2815 2816 816) +4(797 817 2817 2797) +4(816 2816 2817 817) +4(798 818 2818 2798) +4(817 2817 2818 818) +4(818 2818 2819 819) +4(801 821 2821 2801) +4(820 2820 2821 821) +4(802 822 2822 2802) +4(821 2821 2822 822) +4(803 823 2823 2803) +4(822 2822 2823 823) +4(804 824 2824 2804) +4(823 2823 2824 824) +4(805 825 2825 2805) +4(824 2824 2825 825) +4(806 826 2826 2806) +4(825 2825 2826 826) +4(807 827 2827 2807) +4(826 2826 2827 827) +4(808 828 2828 2808) +4(827 2827 2828 828) +4(809 829 2829 2809) +4(828 2828 2829 829) +4(810 830 2830 2810) +4(829 2829 2830 830) +4(811 831 2831 2811) +4(830 2830 2831 831) +4(812 832 2832 2812) +4(831 2831 2832 832) +4(813 833 2833 2813) +4(832 2832 2833 833) +4(814 834 2834 2814) +4(833 2833 2834 834) +4(815 835 2835 2815) +4(834 2834 2835 835) +4(816 836 2836 2816) +4(835 2835 2836 836) +4(817 837 2837 2817) +4(836 2836 2837 837) +4(818 838 2838 2818) +4(837 2837 2838 838) +4(838 2838 2839 839) +4(821 841 2841 2821) +4(840 2840 2841 841) +4(822 842 2842 2822) +4(841 2841 2842 842) +4(823 843 2843 2823) +4(842 2842 2843 843) +4(824 844 2844 2824) +4(843 2843 2844 844) +4(825 845 2845 2825) +4(844 2844 2845 845) +4(826 846 2846 2826) +4(845 2845 2846 846) +4(827 847 2847 2827) +4(846 2846 2847 847) +4(828 848 2848 2828) +4(847 2847 2848 848) +4(829 849 2849 2829) +4(848 2848 2849 849) +4(830 850 2850 2830) +4(849 2849 2850 850) +4(831 851 2851 2831) +4(850 2850 2851 851) +4(832 852 2852 2832) +4(851 2851 2852 852) +4(833 853 2853 2833) +4(852 2852 2853 853) +4(834 854 2854 2834) +4(853 2853 2854 854) +4(835 855 2855 2835) +4(854 2854 2855 855) +4(836 856 2856 2836) +4(855 2855 2856 856) +4(837 857 2857 2837) +4(856 2856 2857 857) +4(838 858 2858 2838) +4(857 2857 2858 858) +4(858 2858 2859 859) +4(841 861 2861 2841) +4(860 2860 2861 861) +4(842 862 2862 2842) +4(861 2861 2862 862) +4(843 863 2863 2843) +4(862 2862 2863 863) +4(844 864 2864 2844) +4(863 2863 2864 864) +4(845 865 2865 2845) +4(864 2864 2865 865) +4(846 866 2866 2846) +4(865 2865 2866 866) +4(847 867 2867 2847) +4(866 2866 2867 867) +4(848 868 2868 2848) +4(867 2867 2868 868) +4(849 869 2869 2849) +4(868 2868 2869 869) +4(850 870 2870 2850) +4(869 2869 2870 870) +4(851 871 2871 2851) +4(870 2870 2871 871) +4(852 872 2872 2852) +4(871 2871 2872 872) +4(853 873 2873 2853) +4(872 2872 2873 873) +4(854 874 2874 2854) +4(873 2873 2874 874) +4(855 875 2875 2855) +4(874 2874 2875 875) +4(856 876 2876 2856) +4(875 2875 2876 876) +4(857 877 2877 2857) +4(876 2876 2877 877) +4(858 878 2878 2858) +4(877 2877 2878 878) +4(878 2878 2879 879) +4(861 881 2881 2861) +4(880 2880 2881 881) +4(862 882 2882 2862) +4(881 2881 2882 882) +4(863 883 2883 2863) +4(882 2882 2883 883) +4(864 884 2884 2864) +4(883 2883 2884 884) +4(865 885 2885 2865) +4(884 2884 2885 885) +4(866 886 2886 2866) +4(885 2885 2886 886) +4(867 887 2887 2867) +4(886 2886 2887 887) +4(868 888 2888 2868) +4(887 2887 2888 888) +4(869 889 2889 2869) +4(888 2888 2889 889) +4(870 890 2890 2870) +4(889 2889 2890 890) +4(871 891 2891 2871) +4(890 2890 2891 891) +4(872 892 2892 2872) +4(891 2891 2892 892) +4(873 893 2893 2873) +4(892 2892 2893 893) +4(874 894 2894 2874) +4(893 2893 2894 894) +4(875 895 2895 2875) +4(894 2894 2895 895) +4(876 896 2896 2876) +4(895 2895 2896 896) +4(877 897 2897 2877) +4(896 2896 2897 897) +4(878 898 2898 2878) +4(897 2897 2898 898) +4(898 2898 2899 899) +4(881 901 2901 2881) +4(900 2900 2901 901) +4(882 902 2902 2882) +4(901 2901 2902 902) +4(883 903 2903 2883) +4(902 2902 2903 903) +4(884 904 2904 2884) +4(903 2903 2904 904) +4(885 905 2905 2885) +4(904 2904 2905 905) +4(886 906 2906 2886) +4(905 2905 2906 906) +4(887 907 2907 2887) +4(906 2906 2907 907) +4(888 908 2908 2888) +4(907 2907 2908 908) +4(889 909 2909 2889) +4(908 2908 2909 909) +4(890 910 2910 2890) +4(909 2909 2910 910) +4(891 911 2911 2891) +4(910 2910 2911 911) +4(892 912 2912 2892) +4(911 2911 2912 912) +4(893 913 2913 2893) +4(912 2912 2913 913) +4(894 914 2914 2894) +4(913 2913 2914 914) +4(895 915 2915 2895) +4(914 2914 2915 915) +4(896 916 2916 2896) +4(915 2915 2916 916) +4(897 917 2917 2897) +4(916 2916 2917 917) +4(898 918 2918 2898) +4(917 2917 2918 918) +4(918 2918 2919 919) +4(901 921 2921 2901) +4(920 2920 2921 921) +4(902 922 2922 2902) +4(921 2921 2922 922) +4(903 923 2923 2903) +4(922 2922 2923 923) +4(904 924 2924 2904) +4(923 2923 2924 924) +4(905 925 2925 2905) +4(924 2924 2925 925) +4(906 926 2926 2906) +4(925 2925 2926 926) +4(907 927 2927 2907) +4(926 2926 2927 927) +4(908 928 2928 2908) +4(927 2927 2928 928) +4(909 929 2929 2909) +4(928 2928 2929 929) +4(910 930 2930 2910) +4(929 2929 2930 930) +4(911 931 2931 2911) +4(930 2930 2931 931) +4(912 932 2932 2912) +4(931 2931 2932 932) +4(913 933 2933 2913) +4(932 2932 2933 933) +4(914 934 2934 2914) +4(933 2933 2934 934) +4(915 935 2935 2915) +4(934 2934 2935 935) +4(916 936 2936 2916) +4(935 2935 2936 936) +4(917 937 2937 2917) +4(936 2936 2937 937) +4(918 938 2938 2918) +4(937 2937 2938 938) +4(938 2938 2939 939) +4(921 941 2941 2921) +4(940 2940 2941 941) +4(922 942 2942 2922) +4(941 2941 2942 942) +4(923 943 2943 2923) +4(942 2942 2943 943) +4(924 944 2944 2924) +4(943 2943 2944 944) +4(925 945 2945 2925) +4(944 2944 2945 945) +4(926 946 2946 2926) +4(945 2945 2946 946) +4(927 947 2947 2927) +4(946 2946 2947 947) +4(928 948 2948 2928) +4(947 2947 2948 948) +4(929 949 2949 2929) +4(948 2948 2949 949) +4(930 950 2950 2930) +4(949 2949 2950 950) +4(931 951 2951 2931) +4(950 2950 2951 951) +4(932 952 2952 2932) +4(951 2951 2952 952) +4(933 953 2953 2933) +4(952 2952 2953 953) +4(934 954 2954 2934) +4(953 2953 2954 954) +4(935 955 2955 2935) +4(954 2954 2955 955) +4(936 956 2956 2936) +4(955 2955 2956 956) +4(937 957 2957 2937) +4(956 2956 2957 957) +4(938 958 2958 2938) +4(957 2957 2958 958) +4(958 2958 2959 959) +4(941 961 2961 2941) +4(960 2960 2961 961) +4(942 962 2962 2942) +4(961 2961 2962 962) +4(943 963 2963 2943) +4(962 2962 2963 963) +4(944 964 2964 2944) +4(963 2963 2964 964) +4(945 965 2965 2945) +4(964 2964 2965 965) +4(946 966 2966 2946) +4(965 2965 2966 966) +4(947 967 2967 2947) +4(966 2966 2967 967) +4(948 968 2968 2948) +4(967 2967 2968 968) +4(949 969 2969 2949) +4(968 2968 2969 969) +4(950 970 2970 2950) +4(969 2969 2970 970) +4(951 971 2971 2951) +4(970 2970 2971 971) +4(952 972 2972 2952) +4(971 2971 2972 972) +4(953 973 2973 2953) +4(972 2972 2973 973) +4(954 974 2974 2954) +4(973 2973 2974 974) +4(955 975 2975 2955) +4(974 2974 2975 975) +4(956 976 2976 2956) +4(975 2975 2976 976) +4(957 977 2977 2957) +4(976 2976 2977 977) +4(958 978 2978 2958) +4(977 2977 2978 978) +4(978 2978 2979 979) +4(961 981 2981 2961) +4(980 2980 2981 981) +4(962 982 2982 2962) +4(981 2981 2982 982) +4(963 983 2983 2963) +4(982 2982 2983 983) +4(964 984 2984 2964) +4(983 2983 2984 984) +4(965 985 2985 2965) +4(984 2984 2985 985) +4(966 986 2986 2966) +4(985 2985 2986 986) +4(967 987 2987 2967) +4(986 2986 2987 987) +4(968 988 2988 2968) +4(987 2987 2988 988) +4(969 989 2989 2969) +4(988 2988 2989 989) +4(970 990 2990 2970) +4(989 2989 2990 990) +4(971 991 2991 2971) +4(990 2990 2991 991) +4(972 992 2992 2972) +4(991 2991 2992 992) +4(973 993 2993 2973) +4(992 2992 2993 993) +4(974 994 2994 2974) +4(993 2993 2994 994) +4(975 995 2995 2975) +4(994 2994 2995 995) +4(976 996 2996 2976) +4(995 2995 2996 996) +4(977 997 2997 2977) +4(996 2996 2997 997) +4(978 998 2998 2978) +4(997 2997 2998 998) +4(998 2998 2999 999) +4(981 1001 3001 2981) +4(1000 3000 3001 1001) +4(982 1002 3002 2982) +4(1001 3001 3002 1002) +4(983 1003 3003 2983) +4(1002 3002 3003 1003) +4(984 1004 3004 2984) +4(1003 3003 3004 1004) +4(985 1005 3005 2985) +4(1004 3004 3005 1005) +4(986 1006 3006 2986) +4(1005 3005 3006 1006) +4(987 1007 3007 2987) +4(1006 3006 3007 1007) +4(988 1008 3008 2988) +4(1007 3007 3008 1008) +4(989 1009 3009 2989) +4(1008 3008 3009 1009) +4(990 1010 3010 2990) +4(1009 3009 3010 1010) +4(991 1011 3011 2991) +4(1010 3010 3011 1011) +4(992 1012 3012 2992) +4(1011 3011 3012 1012) +4(993 1013 3013 2993) +4(1012 3012 3013 1013) +4(994 1014 3014 2994) +4(1013 3013 3014 1014) +4(995 1015 3015 2995) +4(1014 3014 3015 1015) +4(996 1016 3016 2996) +4(1015 3015 3016 1016) +4(997 1017 3017 2997) +4(1016 3016 3017 1017) +4(998 1018 3018 2998) +4(1017 3017 3018 1018) +4(1018 3018 3019 1019) +4(1001 1021 3021 3001) +4(1020 3020 3021 1021) +4(1002 1022 3022 3002) +4(1021 3021 3022 1022) +4(1003 1023 3023 3003) +4(1022 3022 3023 1023) +4(1004 1024 3024 3004) +4(1023 3023 3024 1024) +4(1005 1025 3025 3005) +4(1024 3024 3025 1025) +4(1006 1026 3026 3006) +4(1025 3025 3026 1026) +4(1007 1027 3027 3007) +4(1026 3026 3027 1027) +4(1008 1028 3028 3008) +4(1027 3027 3028 1028) +4(1009 1029 3029 3009) +4(1028 3028 3029 1029) +4(1010 1030 3030 3010) +4(1029 3029 3030 1030) +4(1011 1031 3031 3011) +4(1030 3030 3031 1031) +4(1012 1032 3032 3012) +4(1031 3031 3032 1032) +4(1013 1033 3033 3013) +4(1032 3032 3033 1033) +4(1014 1034 3034 3014) +4(1033 3033 3034 1034) +4(1015 1035 3035 3015) +4(1034 3034 3035 1035) +4(1016 1036 3036 3016) +4(1035 3035 3036 1036) +4(1017 1037 3037 3017) +4(1036 3036 3037 1037) +4(1018 1038 3038 3018) +4(1037 3037 3038 1038) +4(1038 3038 3039 1039) +4(1021 1041 3041 3021) +4(1040 3040 3041 1041) +4(1022 1042 3042 3022) +4(1041 3041 3042 1042) +4(1023 1043 3043 3023) +4(1042 3042 3043 1043) +4(1024 1044 3044 3024) +4(1043 3043 3044 1044) +4(1025 1045 3045 3025) +4(1044 3044 3045 1045) +4(1026 1046 3046 3026) +4(1045 3045 3046 1046) +4(1027 1047 3047 3027) +4(1046 3046 3047 1047) +4(1028 1048 3048 3028) +4(1047 3047 3048 1048) +4(1029 1049 3049 3029) +4(1048 3048 3049 1049) +4(1030 1050 3050 3030) +4(1049 3049 3050 1050) +4(1031 1051 3051 3031) +4(1050 3050 3051 1051) +4(1032 1052 3052 3032) +4(1051 3051 3052 1052) +4(1033 1053 3053 3033) +4(1052 3052 3053 1053) +4(1034 1054 3054 3034) +4(1053 3053 3054 1054) +4(1035 1055 3055 3035) +4(1054 3054 3055 1055) +4(1036 1056 3056 3036) +4(1055 3055 3056 1056) +4(1037 1057 3057 3037) +4(1056 3056 3057 1057) +4(1038 1058 3058 3038) +4(1057 3057 3058 1058) +4(1058 3058 3059 1059) +4(1041 1061 3061 3041) +4(1060 3060 3061 1061) +4(1042 1062 3062 3042) +4(1061 3061 3062 1062) +4(1043 1063 3063 3043) +4(1062 3062 3063 1063) +4(1044 1064 3064 3044) +4(1063 3063 3064 1064) +4(1045 1065 3065 3045) +4(1064 3064 3065 1065) +4(1046 1066 3066 3046) +4(1065 3065 3066 1066) +4(1047 1067 3067 3047) +4(1066 3066 3067 1067) +4(1048 1068 3068 3048) +4(1067 3067 3068 1068) +4(1049 1069 3069 3049) +4(1068 3068 3069 1069) +4(1050 1070 3070 3050) +4(1069 3069 3070 1070) +4(1051 1071 3071 3051) +4(1070 3070 3071 1071) +4(1052 1072 3072 3052) +4(1071 3071 3072 1072) +4(1053 1073 3073 3053) +4(1072 3072 3073 1073) +4(1054 1074 3074 3054) +4(1073 3073 3074 1074) +4(1055 1075 3075 3055) +4(1074 3074 3075 1075) +4(1056 1076 3076 3056) +4(1075 3075 3076 1076) +4(1057 1077 3077 3057) +4(1076 3076 3077 1077) +4(1058 1078 3078 3058) +4(1077 3077 3078 1078) +4(1078 3078 3079 1079) +4(1061 1081 3081 3061) +4(1080 3080 3081 1081) +4(1062 1082 3082 3062) +4(1081 3081 3082 1082) +4(1063 1083 3083 3063) +4(1082 3082 3083 1083) +4(1064 1084 3084 3064) +4(1083 3083 3084 1084) +4(1065 1085 3085 3065) +4(1084 3084 3085 1085) +4(1066 1086 3086 3066) +4(1085 3085 3086 1086) +4(1067 1087 3087 3067) +4(1086 3086 3087 1087) +4(1068 1088 3088 3068) +4(1087 3087 3088 1088) +4(1069 1089 3089 3069) +4(1088 3088 3089 1089) +4(1070 1090 3090 3070) +4(1089 3089 3090 1090) +4(1071 1091 3091 3071) +4(1090 3090 3091 1091) +4(1072 1092 3092 3072) +4(1091 3091 3092 1092) +4(1073 1093 3093 3073) +4(1092 3092 3093 1093) +4(1074 1094 3094 3074) +4(1093 3093 3094 1094) +4(1075 1095 3095 3075) +4(1094 3094 3095 1095) +4(1076 1096 3096 3076) +4(1095 3095 3096 1096) +4(1077 1097 3097 3077) +4(1096 3096 3097 1097) +4(1078 1098 3098 3078) +4(1097 3097 3098 1098) +4(1098 3098 3099 1099) +4(1081 1101 3101 3081) +4(1100 3100 3101 1101) +4(1082 1102 3102 3082) +4(1101 3101 3102 1102) +4(1083 1103 3103 3083) +4(1102 3102 3103 1103) +4(1084 1104 3104 3084) +4(1103 3103 3104 1104) +4(1085 1105 3105 3085) +4(1104 3104 3105 1105) +4(1086 1106 3106 3086) +4(1105 3105 3106 1106) +4(1087 1107 3107 3087) +4(1106 3106 3107 1107) +4(1088 1108 3108 3088) +4(1107 3107 3108 1108) +4(1089 1109 3109 3089) +4(1108 3108 3109 1109) +4(1090 1110 3110 3090) +4(1109 3109 3110 1110) +4(1091 1111 3111 3091) +4(1110 3110 3111 1111) +4(1092 1112 3112 3092) +4(1111 3111 3112 1112) +4(1093 1113 3113 3093) +4(1112 3112 3113 1113) +4(1094 1114 3114 3094) +4(1113 3113 3114 1114) +4(1095 1115 3115 3095) +4(1114 3114 3115 1115) +4(1096 1116 3116 3096) +4(1115 3115 3116 1116) +4(1097 1117 3117 3097) +4(1116 3116 3117 1117) +4(1098 1118 3118 3098) +4(1117 3117 3118 1118) +4(1118 3118 3119 1119) +4(1101 1121 3121 3101) +4(1120 3120 3121 1121) +4(1102 1122 3122 3102) +4(1121 3121 3122 1122) +4(1103 1123 3123 3103) +4(1122 3122 3123 1123) +4(1104 1124 3124 3104) +4(1123 3123 3124 1124) +4(1105 1125 3125 3105) +4(1124 3124 3125 1125) +4(1106 1126 3126 3106) +4(1125 3125 3126 1126) +4(1107 1127 3127 3107) +4(1126 3126 3127 1127) +4(1108 1128 3128 3108) +4(1127 3127 3128 1128) +4(1109 1129 3129 3109) +4(1128 3128 3129 1129) +4(1110 1130 3130 3110) +4(1129 3129 3130 1130) +4(1111 1131 3131 3111) +4(1130 3130 3131 1131) +4(1112 1132 3132 3112) +4(1131 3131 3132 1132) +4(1113 1133 3133 3113) +4(1132 3132 3133 1133) +4(1114 1134 3134 3114) +4(1133 3133 3134 1134) +4(1115 1135 3135 3115) +4(1134 3134 3135 1135) +4(1116 1136 3136 3116) +4(1135 3135 3136 1136) +4(1117 1137 3137 3117) +4(1136 3136 3137 1137) +4(1118 1138 3138 3118) +4(1137 3137 3138 1138) +4(1138 3138 3139 1139) +4(1121 1141 3141 3121) +4(1140 3140 3141 1141) +4(1122 1142 3142 3122) +4(1141 3141 3142 1142) +4(1123 1143 3143 3123) +4(1142 3142 3143 1143) +4(1124 1144 3144 3124) +4(1143 3143 3144 1144) +4(1125 1145 3145 3125) +4(1144 3144 3145 1145) +4(1126 1146 3146 3126) +4(1145 3145 3146 1146) +4(1127 1147 3147 3127) +4(1146 3146 3147 1147) +4(1128 1148 3148 3128) +4(1147 3147 3148 1148) +4(1129 1149 3149 3129) +4(1148 3148 3149 1149) +4(1130 1150 3150 3130) +4(1149 3149 3150 1150) +4(1131 1151 3151 3131) +4(1150 3150 3151 1151) +4(1132 1152 3152 3132) +4(1151 3151 3152 1152) +4(1133 1153 3153 3133) +4(1152 3152 3153 1153) +4(1134 1154 3154 3134) +4(1153 3153 3154 1154) +4(1135 1155 3155 3135) +4(1154 3154 3155 1155) +4(1136 1156 3156 3136) +4(1155 3155 3156 1156) +4(1137 1157 3157 3137) +4(1156 3156 3157 1157) +4(1138 1158 3158 3138) +4(1157 3157 3158 1158) +4(1158 3158 3159 1159) +4(1141 1161 3161 3141) +4(1160 3160 3161 1161) +4(1142 1162 3162 3142) +4(1161 3161 3162 1162) +4(1143 1163 3163 3143) +4(1162 3162 3163 1163) +4(1144 1164 3164 3144) +4(1163 3163 3164 1164) +4(1145 1165 3165 3145) +4(1164 3164 3165 1165) +4(1146 1166 3166 3146) +4(1165 3165 3166 1166) +4(1147 1167 3167 3147) +4(1166 3166 3167 1167) +4(1148 1168 3168 3148) +4(1167 3167 3168 1168) +4(1149 1169 3169 3149) +4(1168 3168 3169 1169) +4(1150 1170 3170 3150) +4(1169 3169 3170 1170) +4(1151 1171 3171 3151) +4(1170 3170 3171 1171) +4(1152 1172 3172 3152) +4(1171 3171 3172 1172) +4(1153 1173 3173 3153) +4(1172 3172 3173 1173) +4(1154 1174 3174 3154) +4(1173 3173 3174 1174) +4(1155 1175 3175 3155) +4(1174 3174 3175 1175) +4(1156 1176 3176 3156) +4(1175 3175 3176 1176) +4(1157 1177 3177 3157) +4(1176 3176 3177 1177) +4(1158 1178 3178 3158) +4(1177 3177 3178 1178) +4(1178 3178 3179 1179) +4(1161 1181 3181 3161) +4(1180 3180 3181 1181) +4(1162 1182 3182 3162) +4(1181 3181 3182 1182) +4(1163 1183 3183 3163) +4(1182 3182 3183 1183) +4(1164 1184 3184 3164) +4(1183 3183 3184 1184) +4(1165 1185 3185 3165) +4(1184 3184 3185 1185) +4(1166 1186 3186 3166) +4(1185 3185 3186 1186) +4(1167 1187 3187 3167) +4(1186 3186 3187 1187) +4(1168 1188 3188 3168) +4(1187 3187 3188 1188) +4(1169 1189 3189 3169) +4(1188 3188 3189 1189) +4(1170 1190 3190 3170) +4(1189 3189 3190 1190) +4(1171 1191 3191 3171) +4(1190 3190 3191 1191) +4(1172 1192 3192 3172) +4(1191 3191 3192 1192) +4(1173 1193 3193 3173) +4(1192 3192 3193 1193) +4(1174 1194 3194 3174) +4(1193 3193 3194 1194) +4(1175 1195 3195 3175) +4(1194 3194 3195 1195) +4(1176 1196 3196 3176) +4(1195 3195 3196 1196) +4(1177 1197 3197 3177) +4(1196 3196 3197 1197) +4(1178 1198 3198 3178) +4(1197 3197 3198 1198) +4(1198 3198 3199 1199) +4(1181 1201 3201 3181) +4(1200 3200 3201 1201) +4(1182 1202 3202 3182) +4(1201 3201 3202 1202) +4(1183 1203 3203 3183) +4(1202 3202 3203 1203) +4(1184 1204 3204 3184) +4(1203 3203 3204 1204) +4(1185 1205 3205 3185) +4(1204 3204 3205 1205) +4(1186 1206 3206 3186) +4(1205 3205 3206 1206) +4(1187 1207 3207 3187) +4(1206 3206 3207 1207) +4(1188 1208 3208 3188) +4(1207 3207 3208 1208) +4(1189 1209 3209 3189) +4(1208 3208 3209 1209) +4(1190 1210 3210 3190) +4(1209 3209 3210 1210) +4(1191 1211 3211 3191) +4(1210 3210 3211 1211) +4(1192 1212 3212 3192) +4(1211 3211 3212 1212) +4(1193 1213 3213 3193) +4(1212 3212 3213 1213) +4(1194 1214 3214 3194) +4(1213 3213 3214 1214) +4(1195 1215 3215 3195) +4(1214 3214 3215 1215) +4(1196 1216 3216 3196) +4(1215 3215 3216 1216) +4(1197 1217 3217 3197) +4(1216 3216 3217 1217) +4(1198 1218 3218 3198) +4(1217 3217 3218 1218) +4(1218 3218 3219 1219) +4(1201 1221 3221 3201) +4(1220 3220 3221 1221) +4(1202 1222 3222 3202) +4(1221 3221 3222 1222) +4(1203 1223 3223 3203) +4(1222 3222 3223 1223) +4(1204 1224 3224 3204) +4(1223 3223 3224 1224) +4(1205 1225 3225 3205) +4(1224 3224 3225 1225) +4(1206 1226 3226 3206) +4(1225 3225 3226 1226) +4(1207 1227 3227 3207) +4(1226 3226 3227 1227) +4(1208 1228 3228 3208) +4(1227 3227 3228 1228) +4(1209 1229 3229 3209) +4(1228 3228 3229 1229) +4(1210 1230 3230 3210) +4(1229 3229 3230 1230) +4(1211 1231 3231 3211) +4(1230 3230 3231 1231) +4(1212 1232 3232 3212) +4(1231 3231 3232 1232) +4(1213 1233 3233 3213) +4(1232 3232 3233 1233) +4(1214 1234 3234 3214) +4(1233 3233 3234 1234) +4(1215 1235 3235 3215) +4(1234 3234 3235 1235) +4(1216 1236 3236 3216) +4(1235 3235 3236 1236) +4(1217 1237 3237 3217) +4(1236 3236 3237 1237) +4(1218 1238 3238 3218) +4(1237 3237 3238 1238) +4(1238 3238 3239 1239) +4(1221 1241 3241 3221) +4(1240 3240 3241 1241) +4(1222 1242 3242 3222) +4(1241 3241 3242 1242) +4(1223 1243 3243 3223) +4(1242 3242 3243 1243) +4(1224 1244 3244 3224) +4(1243 3243 3244 1244) +4(1225 1245 3245 3225) +4(1244 3244 3245 1245) +4(1226 1246 3246 3226) +4(1245 3245 3246 1246) +4(1227 1247 3247 3227) +4(1246 3246 3247 1247) +4(1228 1248 3248 3228) +4(1247 3247 3248 1248) +4(1229 1249 3249 3229) +4(1248 3248 3249 1249) +4(1230 1250 3250 3230) +4(1249 3249 3250 1250) +4(1231 1251 3251 3231) +4(1250 3250 3251 1251) +4(1232 1252 3252 3232) +4(1251 3251 3252 1252) +4(1233 1253 3253 3233) +4(1252 3252 3253 1253) +4(1234 1254 3254 3234) +4(1253 3253 3254 1254) +4(1235 1255 3255 3235) +4(1254 3254 3255 1255) +4(1236 1256 3256 3236) +4(1255 3255 3256 1256) +4(1237 1257 3257 3237) +4(1256 3256 3257 1257) +4(1238 1258 3258 3238) +4(1257 3257 3258 1258) +4(1258 3258 3259 1259) +4(1241 1261 3261 3241) +4(1260 3260 3261 1261) +4(1242 1262 3262 3242) +4(1261 3261 3262 1262) +4(1243 1263 3263 3243) +4(1262 3262 3263 1263) +4(1244 1264 3264 3244) +4(1263 3263 3264 1264) +4(1245 1265 3265 3245) +4(1264 3264 3265 1265) +4(1246 1266 3266 3246) +4(1265 3265 3266 1266) +4(1247 1267 3267 3247) +4(1266 3266 3267 1267) +4(1248 1268 3268 3248) +4(1267 3267 3268 1268) +4(1249 1269 3269 3249) +4(1268 3268 3269 1269) +4(1250 1270 3270 3250) +4(1269 3269 3270 1270) +4(1251 1271 3271 3251) +4(1270 3270 3271 1271) +4(1252 1272 3272 3252) +4(1271 3271 3272 1272) +4(1253 1273 3273 3253) +4(1272 3272 3273 1273) +4(1254 1274 3274 3254) +4(1273 3273 3274 1274) +4(1255 1275 3275 3255) +4(1274 3274 3275 1275) +4(1256 1276 3276 3256) +4(1275 3275 3276 1276) +4(1257 1277 3277 3257) +4(1276 3276 3277 1277) +4(1258 1278 3278 3258) +4(1277 3277 3278 1278) +4(1278 3278 3279 1279) +4(1261 1281 3281 3261) +4(1280 3280 3281 1281) +4(1262 1282 3282 3262) +4(1281 3281 3282 1282) +4(1263 1283 3283 3263) +4(1282 3282 3283 1283) +4(1264 1284 3284 3264) +4(1283 3283 3284 1284) +4(1265 1285 3285 3265) +4(1284 3284 3285 1285) +4(1266 1286 3286 3266) +4(1285 3285 3286 1286) +4(1267 1287 3287 3267) +4(1286 3286 3287 1287) +4(1268 1288 3288 3268) +4(1287 3287 3288 1288) +4(1269 1289 3289 3269) +4(1288 3288 3289 1289) +4(1270 1290 3290 3270) +4(1289 3289 3290 1290) +4(1271 1291 3291 3271) +4(1290 3290 3291 1291) +4(1272 1292 3292 3272) +4(1291 3291 3292 1292) +4(1273 1293 3293 3273) +4(1292 3292 3293 1293) +4(1274 1294 3294 3274) +4(1293 3293 3294 1294) +4(1275 1295 3295 3275) +4(1294 3294 3295 1295) +4(1276 1296 3296 3276) +4(1295 3295 3296 1296) +4(1277 1297 3297 3277) +4(1296 3296 3297 1297) +4(1278 1298 3298 3278) +4(1297 3297 3298 1298) +4(1298 3298 3299 1299) +4(1281 1301 3301 3281) +4(1300 3300 3301 1301) +4(1282 1302 3302 3282) +4(1301 3301 3302 1302) +4(1283 1303 3303 3283) +4(1302 3302 3303 1303) +4(1284 1304 3304 3284) +4(1303 3303 3304 1304) +4(1285 1305 3305 3285) +4(1304 3304 3305 1305) +4(1286 1306 3306 3286) +4(1305 3305 3306 1306) +4(1287 1307 3307 3287) +4(1306 3306 3307 1307) +4(1288 1308 3308 3288) +4(1307 3307 3308 1308) +4(1289 1309 3309 3289) +4(1308 3308 3309 1309) +4(1290 1310 3310 3290) +4(1309 3309 3310 1310) +4(1291 1311 3311 3291) +4(1310 3310 3311 1311) +4(1292 1312 3312 3292) +4(1311 3311 3312 1312) +4(1293 1313 3313 3293) +4(1312 3312 3313 1313) +4(1294 1314 3314 3294) +4(1313 3313 3314 1314) +4(1295 1315 3315 3295) +4(1314 3314 3315 1315) +4(1296 1316 3316 3296) +4(1315 3315 3316 1316) +4(1297 1317 3317 3297) +4(1316 3316 3317 1317) +4(1298 1318 3318 3298) +4(1317 3317 3318 1318) +4(1318 3318 3319 1319) +4(1301 1321 3321 3301) +4(1320 3320 3321 1321) +4(1302 1322 3322 3302) +4(1321 3321 3322 1322) +4(1303 1323 3323 3303) +4(1322 3322 3323 1323) +4(1304 1324 3324 3304) +4(1323 3323 3324 1324) +4(1305 1325 3325 3305) +4(1324 3324 3325 1325) +4(1306 1326 3326 3306) +4(1325 3325 3326 1326) +4(1307 1327 3327 3307) +4(1326 3326 3327 1327) +4(1308 1328 3328 3308) +4(1327 3327 3328 1328) +4(1309 1329 3329 3309) +4(1328 3328 3329 1329) +4(1310 1330 3330 3310) +4(1329 3329 3330 1330) +4(1311 1331 3331 3311) +4(1330 3330 3331 1331) +4(1312 1332 3332 3312) +4(1331 3331 3332 1332) +4(1313 1333 3333 3313) +4(1332 3332 3333 1333) +4(1314 1334 3334 3314) +4(1333 3333 3334 1334) +4(1315 1335 3335 3315) +4(1334 3334 3335 1335) +4(1316 1336 3336 3316) +4(1335 3335 3336 1336) +4(1317 1337 3337 3317) +4(1336 3336 3337 1337) +4(1318 1338 3338 3318) +4(1337 3337 3338 1338) +4(1338 3338 3339 1339) +4(1321 1341 3341 3321) +4(1340 3340 3341 1341) +4(1322 1342 3342 3322) +4(1341 3341 3342 1342) +4(1323 1343 3343 3323) +4(1342 3342 3343 1343) +4(1324 1344 3344 3324) +4(1343 3343 3344 1344) +4(1325 1345 3345 3325) +4(1344 3344 3345 1345) +4(1326 1346 3346 3326) +4(1345 3345 3346 1346) +4(1327 1347 3347 3327) +4(1346 3346 3347 1347) +4(1328 1348 3348 3328) +4(1347 3347 3348 1348) +4(1329 1349 3349 3329) +4(1348 3348 3349 1349) +4(1330 1350 3350 3330) +4(1349 3349 3350 1350) +4(1331 1351 3351 3331) +4(1350 3350 3351 1351) +4(1332 1352 3352 3332) +4(1351 3351 3352 1352) +4(1333 1353 3353 3333) +4(1352 3352 3353 1353) +4(1334 1354 3354 3334) +4(1353 3353 3354 1354) +4(1335 1355 3355 3335) +4(1354 3354 3355 1355) +4(1336 1356 3356 3336) +4(1355 3355 3356 1356) +4(1337 1357 3357 3337) +4(1356 3356 3357 1357) +4(1338 1358 3358 3338) +4(1357 3357 3358 1358) +4(1358 3358 3359 1359) +4(1341 1361 3361 3341) +4(1360 3360 3361 1361) +4(1342 1362 3362 3342) +4(1361 3361 3362 1362) +4(1343 1363 3363 3343) +4(1362 3362 3363 1363) +4(1344 1364 3364 3344) +4(1363 3363 3364 1364) +4(1345 1365 3365 3345) +4(1364 3364 3365 1365) +4(1346 1366 3366 3346) +4(1365 3365 3366 1366) +4(1347 1367 3367 3347) +4(1366 3366 3367 1367) +4(1348 1368 3368 3348) +4(1367 3367 3368 1368) +4(1349 1369 3369 3349) +4(1368 3368 3369 1369) +4(1350 1370 3370 3350) +4(1369 3369 3370 1370) +4(1351 1371 3371 3351) +4(1370 3370 3371 1371) +4(1352 1372 3372 3352) +4(1371 3371 3372 1372) +4(1353 1373 3373 3353) +4(1372 3372 3373 1373) +4(1354 1374 3374 3354) +4(1373 3373 3374 1374) +4(1355 1375 3375 3355) +4(1374 3374 3375 1375) +4(1356 1376 3376 3356) +4(1375 3375 3376 1376) +4(1357 1377 3377 3357) +4(1376 3376 3377 1377) +4(1358 1378 3378 3358) +4(1377 3377 3378 1378) +4(1378 3378 3379 1379) +4(1361 1381 3381 3361) +4(1380 3380 3381 1381) +4(1362 1382 3382 3362) +4(1381 3381 3382 1382) +4(1363 1383 3383 3363) +4(1382 3382 3383 1383) +4(1364 1384 3384 3364) +4(1383 3383 3384 1384) +4(1365 1385 3385 3365) +4(1384 3384 3385 1385) +4(1366 1386 3386 3366) +4(1385 3385 3386 1386) +4(1367 1387 3387 3367) +4(1386 3386 3387 1387) +4(1368 1388 3388 3368) +4(1387 3387 3388 1388) +4(1369 1389 3389 3369) +4(1388 3388 3389 1389) +4(1370 1390 3390 3370) +4(1389 3389 3390 1390) +4(1371 1391 3391 3371) +4(1390 3390 3391 1391) +4(1372 1392 3392 3372) +4(1391 3391 3392 1392) +4(1373 1393 3393 3373) +4(1392 3392 3393 1393) +4(1374 1394 3394 3374) +4(1393 3393 3394 1394) +4(1375 1395 3395 3375) +4(1394 3394 3395 1395) +4(1376 1396 3396 3376) +4(1395 3395 3396 1396) +4(1377 1397 3397 3377) +4(1396 3396 3397 1397) +4(1378 1398 3398 3378) +4(1397 3397 3398 1398) +4(1398 3398 3399 1399) +4(1381 1401 3401 3381) +4(1400 3400 3401 1401) +4(1382 1402 3402 3382) +4(1401 3401 3402 1402) +4(1383 1403 3403 3383) +4(1402 3402 3403 1403) +4(1384 1404 3404 3384) +4(1403 3403 3404 1404) +4(1385 1405 3405 3385) +4(1404 3404 3405 1405) +4(1386 1406 3406 3386) +4(1405 3405 3406 1406) +4(1387 1407 3407 3387) +4(1406 3406 3407 1407) +4(1388 1408 3408 3388) +4(1407 3407 3408 1408) +4(1389 1409 3409 3389) +4(1408 3408 3409 1409) +4(1390 1410 3410 3390) +4(1409 3409 3410 1410) +4(1391 1411 3411 3391) +4(1410 3410 3411 1411) +4(1392 1412 3412 3392) +4(1411 3411 3412 1412) +4(1393 1413 3413 3393) +4(1412 3412 3413 1413) +4(1394 1414 3414 3394) +4(1413 3413 3414 1414) +4(1395 1415 3415 3395) +4(1414 3414 3415 1415) +4(1396 1416 3416 3396) +4(1415 3415 3416 1416) +4(1397 1417 3417 3397) +4(1416 3416 3417 1417) +4(1398 1418 3418 3398) +4(1417 3417 3418 1418) +4(1418 3418 3419 1419) +4(1401 1421 3421 3401) +4(1420 3420 3421 1421) +4(1402 1422 3422 3402) +4(1421 3421 3422 1422) +4(1403 1423 3423 3403) +4(1422 3422 3423 1423) +4(1404 1424 3424 3404) +4(1423 3423 3424 1424) +4(1405 1425 3425 3405) +4(1424 3424 3425 1425) +4(1406 1426 3426 3406) +4(1425 3425 3426 1426) +4(1407 1427 3427 3407) +4(1426 3426 3427 1427) +4(1408 1428 3428 3408) +4(1427 3427 3428 1428) +4(1409 1429 3429 3409) +4(1428 3428 3429 1429) +4(1410 1430 3430 3410) +4(1429 3429 3430 1430) +4(1411 1431 3431 3411) +4(1430 3430 3431 1431) +4(1412 1432 3432 3412) +4(1431 3431 3432 1432) +4(1413 1433 3433 3413) +4(1432 3432 3433 1433) +4(1414 1434 3434 3414) +4(1433 3433 3434 1434) +4(1415 1435 3435 3415) +4(1434 3434 3435 1435) +4(1416 1436 3436 3416) +4(1435 3435 3436 1436) +4(1417 1437 3437 3417) +4(1436 3436 3437 1437) +4(1418 1438 3438 3418) +4(1437 3437 3438 1438) +4(1438 3438 3439 1439) +4(1421 1441 3441 3421) +4(1440 3440 3441 1441) +4(1422 1442 3442 3422) +4(1441 3441 3442 1442) +4(1423 1443 3443 3423) +4(1442 3442 3443 1443) +4(1424 1444 3444 3424) +4(1443 3443 3444 1444) +4(1425 1445 3445 3425) +4(1444 3444 3445 1445) +4(1426 1446 3446 3426) +4(1445 3445 3446 1446) +4(1427 1447 3447 3427) +4(1446 3446 3447 1447) +4(1428 1448 3448 3428) +4(1447 3447 3448 1448) +4(1429 1449 3449 3429) +4(1448 3448 3449 1449) +4(1430 1450 3450 3430) +4(1449 3449 3450 1450) +4(1431 1451 3451 3431) +4(1450 3450 3451 1451) +4(1432 1452 3452 3432) +4(1451 3451 3452 1452) +4(1433 1453 3453 3433) +4(1452 3452 3453 1453) +4(1434 1454 3454 3434) +4(1453 3453 3454 1454) +4(1435 1455 3455 3435) +4(1454 3454 3455 1455) +4(1436 1456 3456 3436) +4(1455 3455 3456 1456) +4(1437 1457 3457 3437) +4(1456 3456 3457 1457) +4(1438 1458 3458 3438) +4(1457 3457 3458 1458) +4(1458 3458 3459 1459) +4(1441 1461 3461 3441) +4(1460 3460 3461 1461) +4(1442 1462 3462 3442) +4(1461 3461 3462 1462) +4(1443 1463 3463 3443) +4(1462 3462 3463 1463) +4(1444 1464 3464 3444) +4(1463 3463 3464 1464) +4(1445 1465 3465 3445) +4(1464 3464 3465 1465) +4(1446 1466 3466 3446) +4(1465 3465 3466 1466) +4(1447 1467 3467 3447) +4(1466 3466 3467 1467) +4(1448 1468 3468 3448) +4(1467 3467 3468 1468) +4(1449 1469 3469 3449) +4(1468 3468 3469 1469) +4(1450 1470 3470 3450) +4(1469 3469 3470 1470) +4(1451 1471 3471 3451) +4(1470 3470 3471 1471) +4(1452 1472 3472 3452) +4(1471 3471 3472 1472) +4(1453 1473 3473 3453) +4(1472 3472 3473 1473) +4(1454 1474 3474 3454) +4(1473 3473 3474 1474) +4(1455 1475 3475 3455) +4(1474 3474 3475 1475) +4(1456 1476 3476 3456) +4(1475 3475 3476 1476) +4(1457 1477 3477 3457) +4(1476 3476 3477 1477) +4(1458 1478 3478 3458) +4(1477 3477 3478 1478) +4(1478 3478 3479 1479) +4(1461 1481 3481 3461) +4(1480 3480 3481 1481) +4(1462 1482 3482 3462) +4(1481 3481 3482 1482) +4(1463 1483 3483 3463) +4(1482 3482 3483 1483) +4(1464 1484 3484 3464) +4(1483 3483 3484 1484) +4(1465 1485 3485 3465) +4(1484 3484 3485 1485) +4(1466 1486 3486 3466) +4(1485 3485 3486 1486) +4(1467 1487 3487 3467) +4(1486 3486 3487 1487) +4(1468 1488 3488 3468) +4(1487 3487 3488 1488) +4(1469 1489 3489 3469) +4(1488 3488 3489 1489) +4(1470 1490 3490 3470) +4(1489 3489 3490 1490) +4(1471 1491 3491 3471) +4(1490 3490 3491 1491) +4(1472 1492 3492 3472) +4(1491 3491 3492 1492) +4(1473 1493 3493 3473) +4(1492 3492 3493 1493) +4(1474 1494 3494 3474) +4(1493 3493 3494 1494) +4(1475 1495 3495 3475) +4(1494 3494 3495 1495) +4(1476 1496 3496 3476) +4(1495 3495 3496 1496) +4(1477 1497 3497 3477) +4(1496 3496 3497 1497) +4(1478 1498 3498 3478) +4(1497 3497 3498 1498) +4(1498 3498 3499 1499) +4(1481 1501 3501 3481) +4(1500 3500 3501 1501) +4(1482 1502 3502 3482) +4(1501 3501 3502 1502) +4(1483 1503 3503 3483) +4(1502 3502 3503 1503) +4(1484 1504 3504 3484) +4(1503 3503 3504 1504) +4(1485 1505 3505 3485) +4(1504 3504 3505 1505) +4(1486 1506 3506 3486) +4(1505 3505 3506 1506) +4(1487 1507 3507 3487) +4(1506 3506 3507 1507) +4(1488 1508 3508 3488) +4(1507 3507 3508 1508) +4(1489 1509 3509 3489) +4(1508 3508 3509 1509) +4(1490 1510 3510 3490) +4(1509 3509 3510 1510) +4(1491 1511 3511 3491) +4(1510 3510 3511 1511) +4(1492 1512 3512 3492) +4(1511 3511 3512 1512) +4(1493 1513 3513 3493) +4(1512 3512 3513 1513) +4(1494 1514 3514 3494) +4(1513 3513 3514 1514) +4(1495 1515 3515 3495) +4(1514 3514 3515 1515) +4(1496 1516 3516 3496) +4(1515 3515 3516 1516) +4(1497 1517 3517 3497) +4(1516 3516 3517 1517) +4(1498 1518 3518 3498) +4(1517 3517 3518 1518) +4(1518 3518 3519 1519) +4(1501 1521 3521 3501) +4(1520 3520 3521 1521) +4(1502 1522 3522 3502) +4(1521 3521 3522 1522) +4(1503 1523 3523 3503) +4(1522 3522 3523 1523) +4(1504 1524 3524 3504) +4(1523 3523 3524 1524) +4(1505 1525 3525 3505) +4(1524 3524 3525 1525) +4(1506 1526 3526 3506) +4(1525 3525 3526 1526) +4(1507 1527 3527 3507) +4(1526 3526 3527 1527) +4(1508 1528 3528 3508) +4(1527 3527 3528 1528) +4(1509 1529 3529 3509) +4(1528 3528 3529 1529) +4(1510 1530 3530 3510) +4(1529 3529 3530 1530) +4(1511 1531 3531 3511) +4(1530 3530 3531 1531) +4(1512 1532 3532 3512) +4(1531 3531 3532 1532) +4(1513 1533 3533 3513) +4(1532 3532 3533 1533) +4(1514 1534 3534 3514) +4(1533 3533 3534 1534) +4(1515 1535 3535 3515) +4(1534 3534 3535 1535) +4(1516 1536 3536 3516) +4(1535 3535 3536 1536) +4(1517 1537 3537 3517) +4(1536 3536 3537 1537) +4(1518 1538 3538 3518) +4(1537 3537 3538 1538) +4(1538 3538 3539 1539) +4(1521 1541 3541 3521) +4(1540 3540 3541 1541) +4(1522 1542 3542 3522) +4(1541 3541 3542 1542) +4(1523 1543 3543 3523) +4(1542 3542 3543 1543) +4(1524 1544 3544 3524) +4(1543 3543 3544 1544) +4(1525 1545 3545 3525) +4(1544 3544 3545 1545) +4(1526 1546 3546 3526) +4(1545 3545 3546 1546) +4(1527 1547 3547 3527) +4(1546 3546 3547 1547) +4(1528 1548 3548 3528) +4(1547 3547 3548 1548) +4(1529 1549 3549 3529) +4(1548 3548 3549 1549) +4(1530 1550 3550 3530) +4(1549 3549 3550 1550) +4(1531 1551 3551 3531) +4(1550 3550 3551 1551) +4(1532 1552 3552 3532) +4(1551 3551 3552 1552) +4(1533 1553 3553 3533) +4(1552 3552 3553 1553) +4(1534 1554 3554 3534) +4(1553 3553 3554 1554) +4(1535 1555 3555 3535) +4(1554 3554 3555 1555) +4(1536 1556 3556 3536) +4(1555 3555 3556 1556) +4(1537 1557 3557 3537) +4(1556 3556 3557 1557) +4(1538 1558 3558 3538) +4(1557 3557 3558 1558) +4(1558 3558 3559 1559) +4(1541 1561 3561 3541) +4(1560 3560 3561 1561) +4(1542 1562 3562 3542) +4(1561 3561 3562 1562) +4(1543 1563 3563 3543) +4(1562 3562 3563 1563) +4(1544 1564 3564 3544) +4(1563 3563 3564 1564) +4(1545 1565 3565 3545) +4(1564 3564 3565 1565) +4(1546 1566 3566 3546) +4(1565 3565 3566 1566) +4(1547 1567 3567 3547) +4(1566 3566 3567 1567) +4(1548 1568 3568 3548) +4(1567 3567 3568 1568) +4(1549 1569 3569 3549) +4(1568 3568 3569 1569) +4(1550 1570 3570 3550) +4(1569 3569 3570 1570) +4(1551 1571 3571 3551) +4(1570 3570 3571 1571) +4(1552 1572 3572 3552) +4(1571 3571 3572 1572) +4(1553 1573 3573 3553) +4(1572 3572 3573 1573) +4(1554 1574 3574 3554) +4(1573 3573 3574 1574) +4(1555 1575 3575 3555) +4(1574 3574 3575 1575) +4(1556 1576 3576 3556) +4(1575 3575 3576 1576) +4(1557 1577 3577 3557) +4(1576 3576 3577 1577) +4(1558 1578 3578 3558) +4(1577 3577 3578 1578) +4(1578 3578 3579 1579) +4(1561 1581 3581 3561) +4(1580 3580 3581 1581) +4(1562 1582 3582 3562) +4(1581 3581 3582 1582) +4(1563 1583 3583 3563) +4(1582 3582 3583 1583) +4(1564 1584 3584 3564) +4(1583 3583 3584 1584) +4(1565 1585 3585 3565) +4(1584 3584 3585 1585) +4(1566 1586 3586 3566) +4(1585 3585 3586 1586) +4(1567 1587 3587 3567) +4(1586 3586 3587 1587) +4(1568 1588 3588 3568) +4(1587 3587 3588 1588) +4(1569 1589 3589 3569) +4(1588 3588 3589 1589) +4(1570 1590 3590 3570) +4(1589 3589 3590 1590) +4(1571 1591 3591 3571) +4(1590 3590 3591 1591) +4(1572 1592 3592 3572) +4(1591 3591 3592 1592) +4(1573 1593 3593 3573) +4(1592 3592 3593 1593) +4(1574 1594 3594 3574) +4(1593 3593 3594 1594) +4(1575 1595 3595 3575) +4(1594 3594 3595 1595) +4(1576 1596 3596 3576) +4(1595 3595 3596 1596) +4(1577 1597 3597 3577) +4(1596 3596 3597 1597) +4(1578 1598 3598 3578) +4(1597 3597 3598 1598) +4(1598 3598 3599 1599) +4(1581 1601 3601 3581) +4(1600 3600 3601 1601) +4(1582 1602 3602 3582) +4(1601 3601 3602 1602) +4(1583 1603 3603 3583) +4(1602 3602 3603 1603) +4(1584 1604 3604 3584) +4(1603 3603 3604 1604) +4(1585 1605 3605 3585) +4(1604 3604 3605 1605) +4(1586 1606 3606 3586) +4(1605 3605 3606 1606) +4(1587 1607 3607 3587) +4(1606 3606 3607 1607) +4(1588 1608 3608 3588) +4(1607 3607 3608 1608) +4(1589 1609 3609 3589) +4(1608 3608 3609 1609) +4(1590 1610 3610 3590) +4(1609 3609 3610 1610) +4(1591 1611 3611 3591) +4(1610 3610 3611 1611) +4(1592 1612 3612 3592) +4(1611 3611 3612 1612) +4(1593 1613 3613 3593) +4(1612 3612 3613 1613) +4(1594 1614 3614 3594) +4(1613 3613 3614 1614) +4(1595 1615 3615 3595) +4(1614 3614 3615 1615) +4(1596 1616 3616 3596) +4(1615 3615 3616 1616) +4(1597 1617 3617 3597) +4(1616 3616 3617 1617) +4(1598 1618 3618 3598) +4(1617 3617 3618 1618) +4(1618 3618 3619 1619) +4(1601 1621 3621 3601) +4(1620 3620 3621 1621) +4(1602 1622 3622 3602) +4(1621 3621 3622 1622) +4(1603 1623 3623 3603) +4(1622 3622 3623 1623) +4(1604 1624 3624 3604) +4(1623 3623 3624 1624) +4(1605 1625 3625 3605) +4(1624 3624 3625 1625) +4(1606 1626 3626 3606) +4(1625 3625 3626 1626) +4(1607 1627 3627 3607) +4(1626 3626 3627 1627) +4(1608 1628 3628 3608) +4(1627 3627 3628 1628) +4(1609 1629 3629 3609) +4(1628 3628 3629 1629) +4(1610 1630 3630 3610) +4(1629 3629 3630 1630) +4(1611 1631 3631 3611) +4(1630 3630 3631 1631) +4(1612 1632 3632 3612) +4(1631 3631 3632 1632) +4(1613 1633 3633 3613) +4(1632 3632 3633 1633) +4(1614 1634 3634 3614) +4(1633 3633 3634 1634) +4(1615 1635 3635 3615) +4(1634 3634 3635 1635) +4(1616 1636 3636 3616) +4(1635 3635 3636 1636) +4(1617 1637 3637 3617) +4(1636 3636 3637 1637) +4(1618 1638 3638 3618) +4(1637 3637 3638 1638) +4(1638 3638 3639 1639) +4(1621 1641 3641 3621) +4(1640 3640 3641 1641) +4(1622 1642 3642 3622) +4(1641 3641 3642 1642) +4(1623 1643 3643 3623) +4(1642 3642 3643 1643) +4(1624 1644 3644 3624) +4(1643 3643 3644 1644) +4(1625 1645 3645 3625) +4(1644 3644 3645 1645) +4(1626 1646 3646 3626) +4(1645 3645 3646 1646) +4(1627 1647 3647 3627) +4(1646 3646 3647 1647) +4(1628 1648 3648 3628) +4(1647 3647 3648 1648) +4(1629 1649 3649 3629) +4(1648 3648 3649 1649) +4(1630 1650 3650 3630) +4(1649 3649 3650 1650) +4(1631 1651 3651 3631) +4(1650 3650 3651 1651) +4(1632 1652 3652 3632) +4(1651 3651 3652 1652) +4(1633 1653 3653 3633) +4(1652 3652 3653 1653) +4(1634 1654 3654 3634) +4(1653 3653 3654 1654) +4(1635 1655 3655 3635) +4(1654 3654 3655 1655) +4(1636 1656 3656 3636) +4(1655 3655 3656 1656) +4(1637 1657 3657 3637) +4(1656 3656 3657 1657) +4(1638 1658 3658 3638) +4(1657 3657 3658 1658) +4(1658 3658 3659 1659) +4(1641 1661 3661 3641) +4(1660 3660 3661 1661) +4(1642 1662 3662 3642) +4(1661 3661 3662 1662) +4(1643 1663 3663 3643) +4(1662 3662 3663 1663) +4(1644 1664 3664 3644) +4(1663 3663 3664 1664) +4(1645 1665 3665 3645) +4(1664 3664 3665 1665) +4(1646 1666 3666 3646) +4(1665 3665 3666 1666) +4(1647 1667 3667 3647) +4(1666 3666 3667 1667) +4(1648 1668 3668 3648) +4(1667 3667 3668 1668) +4(1649 1669 3669 3649) +4(1668 3668 3669 1669) +4(1650 1670 3670 3650) +4(1669 3669 3670 1670) +4(1651 1671 3671 3651) +4(1670 3670 3671 1671) +4(1652 1672 3672 3652) +4(1671 3671 3672 1672) +4(1653 1673 3673 3653) +4(1672 3672 3673 1673) +4(1654 1674 3674 3654) +4(1673 3673 3674 1674) +4(1655 1675 3675 3655) +4(1674 3674 3675 1675) +4(1656 1676 3676 3656) +4(1675 3675 3676 1676) +4(1657 1677 3677 3657) +4(1676 3676 3677 1677) +4(1658 1678 3678 3658) +4(1677 3677 3678 1678) +4(1678 3678 3679 1679) +4(1661 1681 3681 3661) +4(1680 3680 3681 1681) +4(1662 1682 3682 3662) +4(1681 3681 3682 1682) +4(1663 1683 3683 3663) +4(1682 3682 3683 1683) +4(1664 1684 3684 3664) +4(1683 3683 3684 1684) +4(1665 1685 3685 3665) +4(1684 3684 3685 1685) +4(1666 1686 3686 3666) +4(1685 3685 3686 1686) +4(1667 1687 3687 3667) +4(1686 3686 3687 1687) +4(1668 1688 3688 3668) +4(1687 3687 3688 1688) +4(1669 1689 3689 3669) +4(1688 3688 3689 1689) +4(1670 1690 3690 3670) +4(1689 3689 3690 1690) +4(1671 1691 3691 3671) +4(1690 3690 3691 1691) +4(1672 1692 3692 3672) +4(1691 3691 3692 1692) +4(1673 1693 3693 3673) +4(1692 3692 3693 1693) +4(1674 1694 3694 3674) +4(1693 3693 3694 1694) +4(1675 1695 3695 3675) +4(1694 3694 3695 1695) +4(1676 1696 3696 3676) +4(1695 3695 3696 1696) +4(1677 1697 3697 3677) +4(1696 3696 3697 1697) +4(1678 1698 3698 3678) +4(1697 3697 3698 1698) +4(1698 3698 3699 1699) +4(1681 1701 3701 3681) +4(1700 3700 3701 1701) +4(1682 1702 3702 3682) +4(1701 3701 3702 1702) +4(1683 1703 3703 3683) +4(1702 3702 3703 1703) +4(1684 1704 3704 3684) +4(1703 3703 3704 1704) +4(1685 1705 3705 3685) +4(1704 3704 3705 1705) +4(1686 1706 3706 3686) +4(1705 3705 3706 1706) +4(1687 1707 3707 3687) +4(1706 3706 3707 1707) +4(1688 1708 3708 3688) +4(1707 3707 3708 1708) +4(1689 1709 3709 3689) +4(1708 3708 3709 1709) +4(1690 1710 3710 3690) +4(1709 3709 3710 1710) +4(1691 1711 3711 3691) +4(1710 3710 3711 1711) +4(1692 1712 3712 3692) +4(1711 3711 3712 1712) +4(1693 1713 3713 3693) +4(1712 3712 3713 1713) +4(1694 1714 3714 3694) +4(1713 3713 3714 1714) +4(1695 1715 3715 3695) +4(1714 3714 3715 1715) +4(1696 1716 3716 3696) +4(1715 3715 3716 1716) +4(1697 1717 3717 3697) +4(1716 3716 3717 1717) +4(1698 1718 3718 3698) +4(1717 3717 3718 1718) +4(1718 3718 3719 1719) +4(1701 1721 3721 3701) +4(1720 3720 3721 1721) +4(1702 1722 3722 3702) +4(1721 3721 3722 1722) +4(1703 1723 3723 3703) +4(1722 3722 3723 1723) +4(1704 1724 3724 3704) +4(1723 3723 3724 1724) +4(1705 1725 3725 3705) +4(1724 3724 3725 1725) +4(1706 1726 3726 3706) +4(1725 3725 3726 1726) +4(1707 1727 3727 3707) +4(1726 3726 3727 1727) +4(1708 1728 3728 3708) +4(1727 3727 3728 1728) +4(1709 1729 3729 3709) +4(1728 3728 3729 1729) +4(1710 1730 3730 3710) +4(1729 3729 3730 1730) +4(1711 1731 3731 3711) +4(1730 3730 3731 1731) +4(1712 1732 3732 3712) +4(1731 3731 3732 1732) +4(1713 1733 3733 3713) +4(1732 3732 3733 1733) +4(1714 1734 3734 3714) +4(1733 3733 3734 1734) +4(1715 1735 3735 3715) +4(1734 3734 3735 1735) +4(1716 1736 3736 3716) +4(1735 3735 3736 1736) +4(1717 1737 3737 3717) +4(1736 3736 3737 1737) +4(1718 1738 3738 3718) +4(1737 3737 3738 1738) +4(1738 3738 3739 1739) +4(1721 1741 3741 3721) +4(1740 3740 3741 1741) +4(1722 1742 3742 3722) +4(1741 3741 3742 1742) +4(1723 1743 3743 3723) +4(1742 3742 3743 1743) +4(1724 1744 3744 3724) +4(1743 3743 3744 1744) +4(1725 1745 3745 3725) +4(1744 3744 3745 1745) +4(1726 1746 3746 3726) +4(1745 3745 3746 1746) +4(1727 1747 3747 3727) +4(1746 3746 3747 1747) +4(1728 1748 3748 3728) +4(1747 3747 3748 1748) +4(1729 1749 3749 3729) +4(1748 3748 3749 1749) +4(1730 1750 3750 3730) +4(1749 3749 3750 1750) +4(1731 1751 3751 3731) +4(1750 3750 3751 1751) +4(1732 1752 3752 3732) +4(1751 3751 3752 1752) +4(1733 1753 3753 3733) +4(1752 3752 3753 1753) +4(1734 1754 3754 3734) +4(1753 3753 3754 1754) +4(1735 1755 3755 3735) +4(1754 3754 3755 1755) +4(1736 1756 3756 3736) +4(1755 3755 3756 1756) +4(1737 1757 3757 3737) +4(1756 3756 3757 1757) +4(1738 1758 3758 3738) +4(1757 3757 3758 1758) +4(1758 3758 3759 1759) +4(1741 1761 3761 3741) +4(1760 3760 3761 1761) +4(1742 1762 3762 3742) +4(1761 3761 3762 1762) +4(1743 1763 3763 3743) +4(1762 3762 3763 1763) +4(1744 1764 3764 3744) +4(1763 3763 3764 1764) +4(1745 1765 3765 3745) +4(1764 3764 3765 1765) +4(1746 1766 3766 3746) +4(1765 3765 3766 1766) +4(1747 1767 3767 3747) +4(1766 3766 3767 1767) +4(1748 1768 3768 3748) +4(1767 3767 3768 1768) +4(1749 1769 3769 3749) +4(1768 3768 3769 1769) +4(1750 1770 3770 3750) +4(1769 3769 3770 1770) +4(1751 1771 3771 3751) +4(1770 3770 3771 1771) +4(1752 1772 3772 3752) +4(1771 3771 3772 1772) +4(1753 1773 3773 3753) +4(1772 3772 3773 1773) +4(1754 1774 3774 3754) +4(1773 3773 3774 1774) +4(1755 1775 3775 3755) +4(1774 3774 3775 1775) +4(1756 1776 3776 3756) +4(1775 3775 3776 1776) +4(1757 1777 3777 3757) +4(1776 3776 3777 1777) +4(1758 1778 3778 3758) +4(1777 3777 3778 1778) +4(1778 3778 3779 1779) +4(1761 1781 3781 3761) +4(1780 3780 3781 1781) +4(1762 1782 3782 3762) +4(1781 3781 3782 1782) +4(1763 1783 3783 3763) +4(1782 3782 3783 1783) +4(1764 1784 3784 3764) +4(1783 3783 3784 1784) +4(1765 1785 3785 3765) +4(1784 3784 3785 1785) +4(1766 1786 3786 3766) +4(1785 3785 3786 1786) +4(1767 1787 3787 3767) +4(1786 3786 3787 1787) +4(1768 1788 3788 3768) +4(1787 3787 3788 1788) +4(1769 1789 3789 3769) +4(1788 3788 3789 1789) +4(1770 1790 3790 3770) +4(1789 3789 3790 1790) +4(1771 1791 3791 3771) +4(1790 3790 3791 1791) +4(1772 1792 3792 3772) +4(1791 3791 3792 1792) +4(1773 1793 3793 3773) +4(1792 3792 3793 1793) +4(1774 1794 3794 3774) +4(1793 3793 3794 1794) +4(1775 1795 3795 3775) +4(1794 3794 3795 1795) +4(1776 1796 3796 3776) +4(1795 3795 3796 1796) +4(1777 1797 3797 3777) +4(1796 3796 3797 1797) +4(1778 1798 3798 3778) +4(1797 3797 3798 1798) +4(1798 3798 3799 1799) +4(1781 1801 3801 3781) +4(1800 3800 3801 1801) +4(1782 1802 3802 3782) +4(1801 3801 3802 1802) +4(1783 1803 3803 3783) +4(1802 3802 3803 1803) +4(1784 1804 3804 3784) +4(1803 3803 3804 1804) +4(1785 1805 3805 3785) +4(1804 3804 3805 1805) +4(1786 1806 3806 3786) +4(1805 3805 3806 1806) +4(1787 1807 3807 3787) +4(1806 3806 3807 1807) +4(1788 1808 3808 3788) +4(1807 3807 3808 1808) +4(1789 1809 3809 3789) +4(1808 3808 3809 1809) +4(1790 1810 3810 3790) +4(1809 3809 3810 1810) +4(1791 1811 3811 3791) +4(1810 3810 3811 1811) +4(1792 1812 3812 3792) +4(1811 3811 3812 1812) +4(1793 1813 3813 3793) +4(1812 3812 3813 1813) +4(1794 1814 3814 3794) +4(1813 3813 3814 1814) +4(1795 1815 3815 3795) +4(1814 3814 3815 1815) +4(1796 1816 3816 3796) +4(1815 3815 3816 1816) +4(1797 1817 3817 3797) +4(1816 3816 3817 1817) +4(1798 1818 3818 3798) +4(1817 3817 3818 1818) +4(1818 3818 3819 1819) +4(1801 1821 3821 3801) +4(1820 3820 3821 1821) +4(1802 1822 3822 3802) +4(1821 3821 3822 1822) +4(1803 1823 3823 3803) +4(1822 3822 3823 1823) +4(1804 1824 3824 3804) +4(1823 3823 3824 1824) +4(1805 1825 3825 3805) +4(1824 3824 3825 1825) +4(1806 1826 3826 3806) +4(1825 3825 3826 1826) +4(1807 1827 3827 3807) +4(1826 3826 3827 1827) +4(1808 1828 3828 3808) +4(1827 3827 3828 1828) +4(1809 1829 3829 3809) +4(1828 3828 3829 1829) +4(1810 1830 3830 3810) +4(1829 3829 3830 1830) +4(1811 1831 3831 3811) +4(1830 3830 3831 1831) +4(1812 1832 3832 3812) +4(1831 3831 3832 1832) +4(1813 1833 3833 3813) +4(1832 3832 3833 1833) +4(1814 1834 3834 3814) +4(1833 3833 3834 1834) +4(1815 1835 3835 3815) +4(1834 3834 3835 1835) +4(1816 1836 3836 3816) +4(1835 3835 3836 1836) +4(1817 1837 3837 3817) +4(1836 3836 3837 1837) +4(1818 1838 3838 3818) +4(1837 3837 3838 1838) +4(1838 3838 3839 1839) +4(1821 1841 3841 3821) +4(1840 3840 3841 1841) +4(1822 1842 3842 3822) +4(1841 3841 3842 1842) +4(1823 1843 3843 3823) +4(1842 3842 3843 1843) +4(1824 1844 3844 3824) +4(1843 3843 3844 1844) +4(1825 1845 3845 3825) +4(1844 3844 3845 1845) +4(1826 1846 3846 3826) +4(1845 3845 3846 1846) +4(1827 1847 3847 3827) +4(1846 3846 3847 1847) +4(1828 1848 3848 3828) +4(1847 3847 3848 1848) +4(1829 1849 3849 3829) +4(1848 3848 3849 1849) +4(1830 1850 3850 3830) +4(1849 3849 3850 1850) +4(1831 1851 3851 3831) +4(1850 3850 3851 1851) +4(1832 1852 3852 3832) +4(1851 3851 3852 1852) +4(1833 1853 3853 3833) +4(1852 3852 3853 1853) +4(1834 1854 3854 3834) +4(1853 3853 3854 1854) +4(1835 1855 3855 3835) +4(1854 3854 3855 1855) +4(1836 1856 3856 3836) +4(1855 3855 3856 1856) +4(1837 1857 3857 3837) +4(1856 3856 3857 1857) +4(1838 1858 3858 3838) +4(1857 3857 3858 1858) +4(1858 3858 3859 1859) +4(1841 1861 3861 3841) +4(1860 3860 3861 1861) +4(1842 1862 3862 3842) +4(1861 3861 3862 1862) +4(1843 1863 3863 3843) +4(1862 3862 3863 1863) +4(1844 1864 3864 3844) +4(1863 3863 3864 1864) +4(1845 1865 3865 3845) +4(1864 3864 3865 1865) +4(1846 1866 3866 3846) +4(1865 3865 3866 1866) +4(1847 1867 3867 3847) +4(1866 3866 3867 1867) +4(1848 1868 3868 3848) +4(1867 3867 3868 1868) +4(1849 1869 3869 3849) +4(1868 3868 3869 1869) +4(1850 1870 3870 3850) +4(1869 3869 3870 1870) +4(1851 1871 3871 3851) +4(1870 3870 3871 1871) +4(1852 1872 3872 3852) +4(1871 3871 3872 1872) +4(1853 1873 3873 3853) +4(1872 3872 3873 1873) +4(1854 1874 3874 3854) +4(1873 3873 3874 1874) +4(1855 1875 3875 3855) +4(1874 3874 3875 1875) +4(1856 1876 3876 3856) +4(1875 3875 3876 1876) +4(1857 1877 3877 3857) +4(1876 3876 3877 1877) +4(1858 1878 3878 3858) +4(1877 3877 3878 1878) +4(1878 3878 3879 1879) +4(1861 1881 3881 3861) +4(1880 3880 3881 1881) +4(1862 1882 3882 3862) +4(1881 3881 3882 1882) +4(1863 1883 3883 3863) +4(1882 3882 3883 1883) +4(1864 1884 3884 3864) +4(1883 3883 3884 1884) +4(1865 1885 3885 3865) +4(1884 3884 3885 1885) +4(1866 1886 3886 3866) +4(1885 3885 3886 1886) +4(1867 1887 3887 3867) +4(1886 3886 3887 1887) +4(1868 1888 3888 3868) +4(1887 3887 3888 1888) +4(1869 1889 3889 3869) +4(1888 3888 3889 1889) +4(1870 1890 3890 3870) +4(1889 3889 3890 1890) +4(1871 1891 3891 3871) +4(1890 3890 3891 1891) +4(1872 1892 3892 3872) +4(1891 3891 3892 1892) +4(1873 1893 3893 3873) +4(1892 3892 3893 1893) +4(1874 1894 3894 3874) +4(1893 3893 3894 1894) +4(1875 1895 3895 3875) +4(1894 3894 3895 1895) +4(1876 1896 3896 3876) +4(1895 3895 3896 1896) +4(1877 1897 3897 3877) +4(1896 3896 3897 1897) +4(1878 1898 3898 3878) +4(1897 3897 3898 1898) +4(1898 3898 3899 1899) +4(1881 1901 3901 3881) +4(1900 3900 3901 1901) +4(1882 1902 3902 3882) +4(1901 3901 3902 1902) +4(1883 1903 3903 3883) +4(1902 3902 3903 1903) +4(1884 1904 3904 3884) +4(1903 3903 3904 1904) +4(1885 1905 3905 3885) +4(1904 3904 3905 1905) +4(1886 1906 3906 3886) +4(1905 3905 3906 1906) +4(1887 1907 3907 3887) +4(1906 3906 3907 1907) +4(1888 1908 3908 3888) +4(1907 3907 3908 1908) +4(1889 1909 3909 3889) +4(1908 3908 3909 1909) +4(1890 1910 3910 3890) +4(1909 3909 3910 1910) +4(1891 1911 3911 3891) +4(1910 3910 3911 1911) +4(1892 1912 3912 3892) +4(1911 3911 3912 1912) +4(1893 1913 3913 3893) +4(1912 3912 3913 1913) +4(1894 1914 3914 3894) +4(1913 3913 3914 1914) +4(1895 1915 3915 3895) +4(1914 3914 3915 1915) +4(1896 1916 3916 3896) +4(1915 3915 3916 1916) +4(1897 1917 3917 3897) +4(1916 3916 3917 1917) +4(1898 1918 3918 3898) +4(1917 3917 3918 1918) +4(1918 3918 3919 1919) +4(1901 1921 3921 3901) +4(1920 3920 3921 1921) +4(1902 1922 3922 3902) +4(1921 3921 3922 1922) +4(1903 1923 3923 3903) +4(1922 3922 3923 1923) +4(1904 1924 3924 3904) +4(1923 3923 3924 1924) +4(1905 1925 3925 3905) +4(1924 3924 3925 1925) +4(1906 1926 3926 3906) +4(1925 3925 3926 1926) +4(1907 1927 3927 3907) +4(1926 3926 3927 1927) +4(1908 1928 3928 3908) +4(1927 3927 3928 1928) +4(1909 1929 3929 3909) +4(1928 3928 3929 1929) +4(1910 1930 3930 3910) +4(1929 3929 3930 1930) +4(1911 1931 3931 3911) +4(1930 3930 3931 1931) +4(1912 1932 3932 3912) +4(1931 3931 3932 1932) +4(1913 1933 3933 3913) +4(1932 3932 3933 1933) +4(1914 1934 3934 3914) +4(1933 3933 3934 1934) +4(1915 1935 3935 3915) +4(1934 3934 3935 1935) +4(1916 1936 3936 3916) +4(1935 3935 3936 1936) +4(1917 1937 3937 3917) +4(1936 3936 3937 1937) +4(1918 1938 3938 3918) +4(1937 3937 3938 1938) +4(1938 3938 3939 1939) +4(1921 1941 3941 3921) +4(1940 3940 3941 1941) +4(1922 1942 3942 3922) +4(1941 3941 3942 1942) +4(1923 1943 3943 3923) +4(1942 3942 3943 1943) +4(1924 1944 3944 3924) +4(1943 3943 3944 1944) +4(1925 1945 3945 3925) +4(1944 3944 3945 1945) +4(1926 1946 3946 3926) +4(1945 3945 3946 1946) +4(1927 1947 3947 3927) +4(1946 3946 3947 1947) +4(1928 1948 3948 3928) +4(1947 3947 3948 1948) +4(1929 1949 3949 3929) +4(1948 3948 3949 1949) +4(1930 1950 3950 3930) +4(1949 3949 3950 1950) +4(1931 1951 3951 3931) +4(1950 3950 3951 1951) +4(1932 1952 3952 3932) +4(1951 3951 3952 1952) +4(1933 1953 3953 3933) +4(1952 3952 3953 1953) +4(1934 1954 3954 3934) +4(1953 3953 3954 1954) +4(1935 1955 3955 3935) +4(1954 3954 3955 1955) +4(1936 1956 3956 3936) +4(1955 3955 3956 1956) +4(1937 1957 3957 3937) +4(1956 3956 3957 1957) +4(1938 1958 3958 3938) +4(1957 3957 3958 1958) +4(1958 3958 3959 1959) +4(1941 1961 3961 3941) +4(1960 3960 3961 1961) +4(1942 1962 3962 3942) +4(1961 3961 3962 1962) +4(1943 1963 3963 3943) +4(1962 3962 3963 1963) +4(1944 1964 3964 3944) +4(1963 3963 3964 1964) +4(1945 1965 3965 3945) +4(1964 3964 3965 1965) +4(1946 1966 3966 3946) +4(1965 3965 3966 1966) +4(1947 1967 3967 3947) +4(1966 3966 3967 1967) +4(1948 1968 3968 3948) +4(1967 3967 3968 1968) +4(1949 1969 3969 3949) +4(1968 3968 3969 1969) +4(1950 1970 3970 3950) +4(1969 3969 3970 1970) +4(1951 1971 3971 3951) +4(1970 3970 3971 1971) +4(1952 1972 3972 3952) +4(1971 3971 3972 1972) +4(1953 1973 3973 3953) +4(1972 3972 3973 1973) +4(1954 1974 3974 3954) +4(1973 3973 3974 1974) +4(1955 1975 3975 3955) +4(1974 3974 3975 1975) +4(1956 1976 3976 3956) +4(1975 3975 3976 1976) +4(1957 1977 3977 3957) +4(1976 3976 3977 1977) +4(1958 1978 3978 3958) +4(1977 3977 3978 1978) +4(1978 3978 3979 1979) +4(1961 1981 3981 3961) +4(1962 1982 3982 3962) +4(1963 1983 3983 3963) +4(1964 1984 3984 3964) +4(1965 1985 3985 3965) +4(1966 1986 3986 3966) +4(1967 1987 3987 3967) +4(1968 1988 3988 3968) +4(1969 1989 3989 3969) +4(1970 1990 3990 3970) +4(1971 1991 3991 3971) +4(1972 1992 3992 3972) +4(1973 1993 3993 3973) +4(1974 1994 3994 3974) +4(1975 1995 3995 3975) +4(1976 1996 3996 3976) +4(1977 1997 3997 3977) +4(1978 1998 3998 3978) +4(39 2039 2038 38) +4(39 59 2059 2039) +4(59 79 2079 2059) +4(79 99 2099 2079) +4(99 119 2119 2099) +4(119 139 2139 2119) +4(139 159 2159 2139) +4(159 179 2179 2159) +4(179 199 2199 2179) +4(199 219 2219 2199) +4(219 239 2239 2219) +4(239 259 2259 2239) +4(259 279 2279 2259) +4(279 299 2299 2279) +4(299 319 2319 2299) +4(319 339 2339 2319) +4(339 359 2359 2339) +4(359 379 2379 2359) +4(379 399 2399 2379) +4(399 419 2419 2399) +4(419 439 2439 2419) +4(439 459 2459 2439) +4(459 479 2479 2459) +4(479 499 2499 2479) +4(499 519 2519 2499) +4(519 539 2539 2519) +4(539 559 2559 2539) +4(559 579 2579 2559) +4(579 599 2599 2579) +4(599 619 2619 2599) +4(619 639 2639 2619) +4(639 659 2659 2639) +4(659 679 2679 2659) +4(679 699 2699 2679) +4(699 719 2719 2699) +4(719 739 2739 2719) +4(739 759 2759 2739) +4(759 779 2779 2759) +4(779 799 2799 2779) +4(799 819 2819 2799) +4(819 839 2839 2819) +4(839 859 2859 2839) +4(859 879 2879 2859) +4(879 899 2899 2879) +4(899 919 2919 2899) +4(919 939 2939 2919) +4(939 959 2959 2939) +4(959 979 2979 2959) +4(979 999 2999 2979) +4(999 1019 3019 2999) +4(1019 1039 3039 3019) +4(1039 1059 3059 3039) +4(1059 1079 3079 3059) +4(1079 1099 3099 3079) +4(1099 1119 3119 3099) +4(1119 1139 3139 3119) +4(1139 1159 3159 3139) +4(1159 1179 3179 3159) +4(1179 1199 3199 3179) +4(1199 1219 3219 3199) +4(1219 1239 3239 3219) +4(1239 1259 3259 3239) +4(1259 1279 3279 3259) +4(1279 1299 3299 3279) +4(1299 1319 3319 3299) +4(1319 1339 3339 3319) +4(1339 1359 3359 3339) +4(1359 1379 3379 3359) +4(1379 1399 3399 3379) +4(1399 1419 3419 3399) +4(1419 1439 3439 3419) +4(1439 1459 3459 3439) +4(1459 1479 3479 3459) +4(1479 1499 3499 3479) +4(1499 1519 3519 3499) +4(1519 1539 3539 3519) +4(1539 1559 3559 3539) +4(1559 1579 3579 3559) +4(1579 1599 3599 3579) +4(1599 1619 3619 3599) +4(1619 1639 3639 3619) +4(1639 1659 3659 3639) +4(1659 1679 3679 3659) +4(1679 1699 3699 3679) +4(1699 1719 3719 3699) +4(1719 1739 3739 3719) +4(1739 1759 3759 3739) +4(1759 1779 3779 3759) +4(1779 1799 3799 3779) +4(1799 1819 3819 3799) +4(1819 1839 3839 3819) +4(1839 1859 3859 3839) +4(1859 1879 3879 3859) +4(1879 1899 3899 3879) +4(1899 1919 3919 3899) +4(1919 1939 3939 3919) +4(1939 1959 3959 3939) +4(1959 1979 3979 3959) +4(1979 1999 3999 3979) +4(1 0 2000 2001) +4(1 2001 2040 40) +4(40 2040 2060 60) +4(60 2060 2080 80) +4(80 2080 2100 100) +4(100 2100 2120 120) +4(120 2120 2140 140) +4(140 2140 2160 160) +4(160 2160 2180 180) +4(180 2180 2200 200) +4(200 2200 2220 220) +4(220 2220 2240 240) +4(240 2240 2260 260) +4(260 2260 2280 280) +4(280 2280 2300 300) +4(300 2300 2320 320) +4(320 2320 2340 340) +4(340 2340 2360 360) +4(360 2360 2380 380) +4(380 2380 2400 400) +4(400 2400 2420 420) +4(420 2420 2440 440) +4(440 2440 2460 460) +4(460 2460 2480 480) +4(480 2480 2500 500) +4(500 2500 2520 520) +4(520 2520 2540 540) +4(540 2540 2560 560) +4(560 2560 2580 580) +4(580 2580 2600 600) +4(600 2600 2620 620) +4(620 2620 2640 640) +4(640 2640 2660 660) +4(660 2660 2680 680) +4(680 2680 2700 700) +4(700 2700 2720 720) +4(720 2720 2740 740) +4(740 2740 2760 760) +4(760 2760 2780 780) +4(780 2780 2800 800) +4(800 2800 2820 820) +4(820 2820 2840 840) +4(840 2840 2860 860) +4(860 2860 2880 880) +4(880 2880 2900 900) +4(900 2900 2920 920) +4(920 2920 2940 940) +4(940 2940 2960 960) +4(960 2960 2980 980) +4(980 2980 3000 1000) +4(1000 3000 3020 1020) +4(1020 3020 3040 1040) +4(1040 3040 3060 1060) +4(1060 3060 3080 1080) +4(1080 3080 3100 1100) +4(1100 3100 3120 1120) +4(1120 3120 3140 1140) +4(1140 3140 3160 1160) +4(1160 3160 3180 1180) +4(1180 3180 3200 1200) +4(1200 3200 3220 1220) +4(1220 3220 3240 1240) +4(1240 3240 3260 1260) +4(1260 3260 3280 1280) +4(1280 3280 3300 1300) +4(1300 3300 3320 1320) +4(1320 3320 3340 1340) +4(1340 3340 3360 1360) +4(1360 3360 3380 1380) +4(1380 3380 3400 1400) +4(1400 3400 3420 1420) +4(1420 3420 3440 1440) +4(1440 3440 3460 1460) +4(1460 3460 3480 1480) +4(1480 3480 3500 1500) +4(1500 3500 3520 1520) +4(1520 3520 3540 1540) +4(1540 3540 3560 1560) +4(1560 3560 3580 1580) +4(1580 3580 3600 1600) +4(1600 3600 3620 1620) +4(1620 3620 3640 1640) +4(1640 3640 3660 1660) +4(1660 3660 3680 1680) +4(1680 3680 3700 1700) +4(1700 3700 3720 1720) +4(1720 3720 3740 1740) +4(1740 3740 3760 1760) +4(1760 3760 3780 1780) +4(1780 3780 3800 1800) +4(1800 3800 3820 1820) +4(1820 3820 3840 1840) +4(1840 3840 3860 1860) +4(1860 3860 3880 1880) +4(1880 3880 3900 1900) +4(1900 3900 3920 1920) +4(1920 3920 3940 1940) +4(1940 3940 3960 1960) +4(1960 3960 3980 1980) +4(2 2002 2000 0) +4(2 4 2004 2002) +4(4 6 2006 2004) +4(6 8 2008 2006) +4(8 10 2010 2008) +4(10 12 2012 2010) +4(12 14 2014 2012) +4(14 16 2016 2014) +4(16 18 2018 2016) +4(18 20 2020 2018) +4(20 22 2022 2020) +4(22 24 2024 2022) +4(24 26 2026 2024) +4(26 28 2028 2026) +4(28 30 2030 2028) +4(30 32 2032 2030) +4(32 34 2034 2032) +4(34 36 2036 2034) +4(36 38 2038 2036) +4(1980 3980 3981 1981) +4(1981 3981 3982 1982) +4(1982 3982 3983 1983) +4(1983 3983 3984 1984) +4(1984 3984 3985 1985) +4(1985 3985 3986 1986) +4(1986 3986 3987 1987) +4(1987 3987 3988 1988) +4(1988 3988 3989 1989) +4(1989 3989 3990 1990) +4(1990 3990 3991 1991) +4(1991 3991 3992 1992) +4(1992 3992 3993 1993) +4(1993 3993 3994 1994) +4(1994 3994 3995 1995) +4(1995 3995 3996 1996) +4(1996 3996 3997 1997) +4(1997 3997 3998 1998) +4(1998 3998 3999 1999) +4(3 2 0 1) +4(2003 2001 2000 2002) +4(3 5 4 2) +4(2003 2002 2004 2005) +4(5 7 6 4) +4(2005 2004 2006 2007) +4(7 9 8 6) +4(2007 2006 2008 2009) +4(9 11 10 8) +4(2009 2008 2010 2011) +4(11 13 12 10) +4(2011 2010 2012 2013) +4(13 15 14 12) +4(2013 2012 2014 2015) +4(15 17 16 14) +4(2015 2014 2016 2017) +4(17 19 18 16) +4(2017 2016 2018 2019) +4(19 21 20 18) +4(2019 2018 2020 2021) +4(21 23 22 20) +4(2021 2020 2022 2023) +4(23 25 24 22) +4(2023 2022 2024 2025) +4(25 27 26 24) +4(2025 2024 2026 2027) +4(27 29 28 26) +4(2027 2026 2028 2029) +4(29 31 30 28) +4(2029 2028 2030 2031) +4(31 33 32 30) +4(2031 2030 2032 2033) +4(33 35 34 32) +4(2033 2032 2034 2035) +4(35 37 36 34) +4(2035 2034 2036 2037) +4(37 39 38 36) +4(2037 2036 2038 2039) +4(1 40 41 3) +4(2001 2003 2041 2040) +4(3 41 42 5) +4(2003 2005 2042 2041) +4(5 42 43 7) +4(2005 2007 2043 2042) +4(7 43 44 9) +4(2007 2009 2044 2043) +4(9 44 45 11) +4(2009 2011 2045 2044) +4(11 45 46 13) +4(2011 2013 2046 2045) +4(13 46 47 15) +4(2013 2015 2047 2046) +4(15 47 48 17) +4(2015 2017 2048 2047) +4(17 48 49 19) +4(2017 2019 2049 2048) +4(19 49 50 21) +4(2019 2021 2050 2049) +4(21 50 51 23) +4(2021 2023 2051 2050) +4(23 51 52 25) +4(2023 2025 2052 2051) +4(25 52 53 27) +4(2025 2027 2053 2052) +4(27 53 54 29) +4(2027 2029 2054 2053) +4(29 54 55 31) +4(2029 2031 2055 2054) +4(31 55 56 33) +4(2031 2033 2056 2055) +4(33 56 57 35) +4(2033 2035 2057 2056) +4(35 57 58 37) +4(2035 2037 2058 2057) +4(37 58 59 39) +4(2037 2039 2059 2058) +4(40 60 61 41) +4(2040 2041 2061 2060) +4(41 61 62 42) +4(2041 2042 2062 2061) +4(42 62 63 43) +4(2042 2043 2063 2062) +4(43 63 64 44) +4(2043 2044 2064 2063) +4(44 64 65 45) +4(2044 2045 2065 2064) +4(45 65 66 46) +4(2045 2046 2066 2065) +4(46 66 67 47) +4(2046 2047 2067 2066) +4(47 67 68 48) +4(2047 2048 2068 2067) +4(48 68 69 49) +4(2048 2049 2069 2068) +4(49 69 70 50) +4(2049 2050 2070 2069) +4(50 70 71 51) +4(2050 2051 2071 2070) +4(51 71 72 52) +4(2051 2052 2072 2071) +4(52 72 73 53) +4(2052 2053 2073 2072) +4(53 73 74 54) +4(2053 2054 2074 2073) +4(54 74 75 55) +4(2054 2055 2075 2074) +4(55 75 76 56) +4(2055 2056 2076 2075) +4(56 76 77 57) +4(2056 2057 2077 2076) +4(57 77 78 58) +4(2057 2058 2078 2077) +4(58 78 79 59) +4(2058 2059 2079 2078) +4(60 80 81 61) +4(2060 2061 2081 2080) +4(61 81 82 62) +4(2061 2062 2082 2081) +4(62 82 83 63) +4(2062 2063 2083 2082) +4(63 83 84 64) +4(2063 2064 2084 2083) +4(64 84 85 65) +4(2064 2065 2085 2084) +4(65 85 86 66) +4(2065 2066 2086 2085) +4(66 86 87 67) +4(2066 2067 2087 2086) +4(67 87 88 68) +4(2067 2068 2088 2087) +4(68 88 89 69) +4(2068 2069 2089 2088) +4(69 89 90 70) +4(2069 2070 2090 2089) +4(70 90 91 71) +4(2070 2071 2091 2090) +4(71 91 92 72) +4(2071 2072 2092 2091) +4(72 92 93 73) +4(2072 2073 2093 2092) +4(73 93 94 74) +4(2073 2074 2094 2093) +4(74 94 95 75) +4(2074 2075 2095 2094) +4(75 95 96 76) +4(2075 2076 2096 2095) +4(76 96 97 77) +4(2076 2077 2097 2096) +4(77 97 98 78) +4(2077 2078 2098 2097) +4(78 98 99 79) +4(2078 2079 2099 2098) +4(80 100 101 81) +4(2080 2081 2101 2100) +4(81 101 102 82) +4(2081 2082 2102 2101) +4(82 102 103 83) +4(2082 2083 2103 2102) +4(83 103 104 84) +4(2083 2084 2104 2103) +4(84 104 105 85) +4(2084 2085 2105 2104) +4(85 105 106 86) +4(2085 2086 2106 2105) +4(86 106 107 87) +4(2086 2087 2107 2106) +4(87 107 108 88) +4(2087 2088 2108 2107) +4(88 108 109 89) +4(2088 2089 2109 2108) +4(89 109 110 90) +4(2089 2090 2110 2109) +4(90 110 111 91) +4(2090 2091 2111 2110) +4(91 111 112 92) +4(2091 2092 2112 2111) +4(92 112 113 93) +4(2092 2093 2113 2112) +4(93 113 114 94) +4(2093 2094 2114 2113) +4(94 114 115 95) +4(2094 2095 2115 2114) +4(95 115 116 96) +4(2095 2096 2116 2115) +4(96 116 117 97) +4(2096 2097 2117 2116) +4(97 117 118 98) +4(2097 2098 2118 2117) +4(98 118 119 99) +4(2098 2099 2119 2118) +4(100 120 121 101) +4(2100 2101 2121 2120) +4(101 121 122 102) +4(2101 2102 2122 2121) +4(102 122 123 103) +4(2102 2103 2123 2122) +4(103 123 124 104) +4(2103 2104 2124 2123) +4(104 124 125 105) +4(2104 2105 2125 2124) +4(105 125 126 106) +4(2105 2106 2126 2125) +4(106 126 127 107) +4(2106 2107 2127 2126) +4(107 127 128 108) +4(2107 2108 2128 2127) +4(108 128 129 109) +4(2108 2109 2129 2128) +4(109 129 130 110) +4(2109 2110 2130 2129) +4(110 130 131 111) +4(2110 2111 2131 2130) +4(111 131 132 112) +4(2111 2112 2132 2131) +4(112 132 133 113) +4(2112 2113 2133 2132) +4(113 133 134 114) +4(2113 2114 2134 2133) +4(114 134 135 115) +4(2114 2115 2135 2134) +4(115 135 136 116) +4(2115 2116 2136 2135) +4(116 136 137 117) +4(2116 2117 2137 2136) +4(117 137 138 118) +4(2117 2118 2138 2137) +4(118 138 139 119) +4(2118 2119 2139 2138) +4(120 140 141 121) +4(2120 2121 2141 2140) +4(121 141 142 122) +4(2121 2122 2142 2141) +4(122 142 143 123) +4(2122 2123 2143 2142) +4(123 143 144 124) +4(2123 2124 2144 2143) +4(124 144 145 125) +4(2124 2125 2145 2144) +4(125 145 146 126) +4(2125 2126 2146 2145) +4(126 146 147 127) +4(2126 2127 2147 2146) +4(127 147 148 128) +4(2127 2128 2148 2147) +4(128 148 149 129) +4(2128 2129 2149 2148) +4(129 149 150 130) +4(2129 2130 2150 2149) +4(130 150 151 131) +4(2130 2131 2151 2150) +4(131 151 152 132) +4(2131 2132 2152 2151) +4(132 152 153 133) +4(2132 2133 2153 2152) +4(133 153 154 134) +4(2133 2134 2154 2153) +4(134 154 155 135) +4(2134 2135 2155 2154) +4(135 155 156 136) +4(2135 2136 2156 2155) +4(136 156 157 137) +4(2136 2137 2157 2156) +4(137 157 158 138) +4(2137 2138 2158 2157) +4(138 158 159 139) +4(2138 2139 2159 2158) +4(140 160 161 141) +4(2140 2141 2161 2160) +4(141 161 162 142) +4(2141 2142 2162 2161) +4(142 162 163 143) +4(2142 2143 2163 2162) +4(143 163 164 144) +4(2143 2144 2164 2163) +4(144 164 165 145) +4(2144 2145 2165 2164) +4(145 165 166 146) +4(2145 2146 2166 2165) +4(146 166 167 147) +4(2146 2147 2167 2166) +4(147 167 168 148) +4(2147 2148 2168 2167) +4(148 168 169 149) +4(2148 2149 2169 2168) +4(149 169 170 150) +4(2149 2150 2170 2169) +4(150 170 171 151) +4(2150 2151 2171 2170) +4(151 171 172 152) +4(2151 2152 2172 2171) +4(152 172 173 153) +4(2152 2153 2173 2172) +4(153 173 174 154) +4(2153 2154 2174 2173) +4(154 174 175 155) +4(2154 2155 2175 2174) +4(155 175 176 156) +4(2155 2156 2176 2175) +4(156 176 177 157) +4(2156 2157 2177 2176) +4(157 177 178 158) +4(2157 2158 2178 2177) +4(158 178 179 159) +4(2158 2159 2179 2178) +4(160 180 181 161) +4(2160 2161 2181 2180) +4(161 181 182 162) +4(2161 2162 2182 2181) +4(162 182 183 163) +4(2162 2163 2183 2182) +4(163 183 184 164) +4(2163 2164 2184 2183) +4(164 184 185 165) +4(2164 2165 2185 2184) +4(165 185 186 166) +4(2165 2166 2186 2185) +4(166 186 187 167) +4(2166 2167 2187 2186) +4(167 187 188 168) +4(2167 2168 2188 2187) +4(168 188 189 169) +4(2168 2169 2189 2188) +4(169 189 190 170) +4(2169 2170 2190 2189) +4(170 190 191 171) +4(2170 2171 2191 2190) +4(171 191 192 172) +4(2171 2172 2192 2191) +4(172 192 193 173) +4(2172 2173 2193 2192) +4(173 193 194 174) +4(2173 2174 2194 2193) +4(174 194 195 175) +4(2174 2175 2195 2194) +4(175 195 196 176) +4(2175 2176 2196 2195) +4(176 196 197 177) +4(2176 2177 2197 2196) +4(177 197 198 178) +4(2177 2178 2198 2197) +4(178 198 199 179) +4(2178 2179 2199 2198) +4(180 200 201 181) +4(2180 2181 2201 2200) +4(181 201 202 182) +4(2181 2182 2202 2201) +4(182 202 203 183) +4(2182 2183 2203 2202) +4(183 203 204 184) +4(2183 2184 2204 2203) +4(184 204 205 185) +4(2184 2185 2205 2204) +4(185 205 206 186) +4(2185 2186 2206 2205) +4(186 206 207 187) +4(2186 2187 2207 2206) +4(187 207 208 188) +4(2187 2188 2208 2207) +4(188 208 209 189) +4(2188 2189 2209 2208) +4(189 209 210 190) +4(2189 2190 2210 2209) +4(190 210 211 191) +4(2190 2191 2211 2210) +4(191 211 212 192) +4(2191 2192 2212 2211) +4(192 212 213 193) +4(2192 2193 2213 2212) +4(193 213 214 194) +4(2193 2194 2214 2213) +4(194 214 215 195) +4(2194 2195 2215 2214) +4(195 215 216 196) +4(2195 2196 2216 2215) +4(196 216 217 197) +4(2196 2197 2217 2216) +4(197 217 218 198) +4(2197 2198 2218 2217) +4(198 218 219 199) +4(2198 2199 2219 2218) +4(200 220 221 201) +4(2200 2201 2221 2220) +4(201 221 222 202) +4(2201 2202 2222 2221) +4(202 222 223 203) +4(2202 2203 2223 2222) +4(203 223 224 204) +4(2203 2204 2224 2223) +4(204 224 225 205) +4(2204 2205 2225 2224) +4(205 225 226 206) +4(2205 2206 2226 2225) +4(206 226 227 207) +4(2206 2207 2227 2226) +4(207 227 228 208) +4(2207 2208 2228 2227) +4(208 228 229 209) +4(2208 2209 2229 2228) +4(209 229 230 210) +4(2209 2210 2230 2229) +4(210 230 231 211) +4(2210 2211 2231 2230) +4(211 231 232 212) +4(2211 2212 2232 2231) +4(212 232 233 213) +4(2212 2213 2233 2232) +4(213 233 234 214) +4(2213 2214 2234 2233) +4(214 234 235 215) +4(2214 2215 2235 2234) +4(215 235 236 216) +4(2215 2216 2236 2235) +4(216 236 237 217) +4(2216 2217 2237 2236) +4(217 237 238 218) +4(2217 2218 2238 2237) +4(218 238 239 219) +4(2218 2219 2239 2238) +4(220 240 241 221) +4(2220 2221 2241 2240) +4(221 241 242 222) +4(2221 2222 2242 2241) +4(222 242 243 223) +4(2222 2223 2243 2242) +4(223 243 244 224) +4(2223 2224 2244 2243) +4(224 244 245 225) +4(2224 2225 2245 2244) +4(225 245 246 226) +4(2225 2226 2246 2245) +4(226 246 247 227) +4(2226 2227 2247 2246) +4(227 247 248 228) +4(2227 2228 2248 2247) +4(228 248 249 229) +4(2228 2229 2249 2248) +4(229 249 250 230) +4(2229 2230 2250 2249) +4(230 250 251 231) +4(2230 2231 2251 2250) +4(231 251 252 232) +4(2231 2232 2252 2251) +4(232 252 253 233) +4(2232 2233 2253 2252) +4(233 253 254 234) +4(2233 2234 2254 2253) +4(234 254 255 235) +4(2234 2235 2255 2254) +4(235 255 256 236) +4(2235 2236 2256 2255) +4(236 256 257 237) +4(2236 2237 2257 2256) +4(237 257 258 238) +4(2237 2238 2258 2257) +4(238 258 259 239) +4(2238 2239 2259 2258) +4(240 260 261 241) +4(2240 2241 2261 2260) +4(241 261 262 242) +4(2241 2242 2262 2261) +4(242 262 263 243) +4(2242 2243 2263 2262) +4(243 263 264 244) +4(2243 2244 2264 2263) +4(244 264 265 245) +4(2244 2245 2265 2264) +4(245 265 266 246) +4(2245 2246 2266 2265) +4(246 266 267 247) +4(2246 2247 2267 2266) +4(247 267 268 248) +4(2247 2248 2268 2267) +4(248 268 269 249) +4(2248 2249 2269 2268) +4(249 269 270 250) +4(2249 2250 2270 2269) +4(250 270 271 251) +4(2250 2251 2271 2270) +4(251 271 272 252) +4(2251 2252 2272 2271) +4(252 272 273 253) +4(2252 2253 2273 2272) +4(253 273 274 254) +4(2253 2254 2274 2273) +4(254 274 275 255) +4(2254 2255 2275 2274) +4(255 275 276 256) +4(2255 2256 2276 2275) +4(256 276 277 257) +4(2256 2257 2277 2276) +4(257 277 278 258) +4(2257 2258 2278 2277) +4(258 278 279 259) +4(2258 2259 2279 2278) +4(260 280 281 261) +4(2260 2261 2281 2280) +4(261 281 282 262) +4(2261 2262 2282 2281) +4(262 282 283 263) +4(2262 2263 2283 2282) +4(263 283 284 264) +4(2263 2264 2284 2283) +4(264 284 285 265) +4(2264 2265 2285 2284) +4(265 285 286 266) +4(2265 2266 2286 2285) +4(266 286 287 267) +4(2266 2267 2287 2286) +4(267 287 288 268) +4(2267 2268 2288 2287) +4(268 288 289 269) +4(2268 2269 2289 2288) +4(269 289 290 270) +4(2269 2270 2290 2289) +4(270 290 291 271) +4(2270 2271 2291 2290) +4(271 291 292 272) +4(2271 2272 2292 2291) +4(272 292 293 273) +4(2272 2273 2293 2292) +4(273 293 294 274) +4(2273 2274 2294 2293) +4(274 294 295 275) +4(2274 2275 2295 2294) +4(275 295 296 276) +4(2275 2276 2296 2295) +4(276 296 297 277) +4(2276 2277 2297 2296) +4(277 297 298 278) +4(2277 2278 2298 2297) +4(278 298 299 279) +4(2278 2279 2299 2298) +4(280 300 301 281) +4(2280 2281 2301 2300) +4(281 301 302 282) +4(2281 2282 2302 2301) +4(282 302 303 283) +4(2282 2283 2303 2302) +4(283 303 304 284) +4(2283 2284 2304 2303) +4(284 304 305 285) +4(2284 2285 2305 2304) +4(285 305 306 286) +4(2285 2286 2306 2305) +4(286 306 307 287) +4(2286 2287 2307 2306) +4(287 307 308 288) +4(2287 2288 2308 2307) +4(288 308 309 289) +4(2288 2289 2309 2308) +4(289 309 310 290) +4(2289 2290 2310 2309) +4(290 310 311 291) +4(2290 2291 2311 2310) +4(291 311 312 292) +4(2291 2292 2312 2311) +4(292 312 313 293) +4(2292 2293 2313 2312) +4(293 313 314 294) +4(2293 2294 2314 2313) +4(294 314 315 295) +4(2294 2295 2315 2314) +4(295 315 316 296) +4(2295 2296 2316 2315) +4(296 316 317 297) +4(2296 2297 2317 2316) +4(297 317 318 298) +4(2297 2298 2318 2317) +4(298 318 319 299) +4(2298 2299 2319 2318) +4(300 320 321 301) +4(2300 2301 2321 2320) +4(301 321 322 302) +4(2301 2302 2322 2321) +4(302 322 323 303) +4(2302 2303 2323 2322) +4(303 323 324 304) +4(2303 2304 2324 2323) +4(304 324 325 305) +4(2304 2305 2325 2324) +4(305 325 326 306) +4(2305 2306 2326 2325) +4(306 326 327 307) +4(2306 2307 2327 2326) +4(307 327 328 308) +4(2307 2308 2328 2327) +4(308 328 329 309) +4(2308 2309 2329 2328) +4(309 329 330 310) +4(2309 2310 2330 2329) +4(310 330 331 311) +4(2310 2311 2331 2330) +4(311 331 332 312) +4(2311 2312 2332 2331) +4(312 332 333 313) +4(2312 2313 2333 2332) +4(313 333 334 314) +4(2313 2314 2334 2333) +4(314 334 335 315) +4(2314 2315 2335 2334) +4(315 335 336 316) +4(2315 2316 2336 2335) +4(316 336 337 317) +4(2316 2317 2337 2336) +4(317 337 338 318) +4(2317 2318 2338 2337) +4(318 338 339 319) +4(2318 2319 2339 2338) +4(320 340 341 321) +4(2320 2321 2341 2340) +4(321 341 342 322) +4(2321 2322 2342 2341) +4(322 342 343 323) +4(2322 2323 2343 2342) +4(323 343 344 324) +4(2323 2324 2344 2343) +4(324 344 345 325) +4(2324 2325 2345 2344) +4(325 345 346 326) +4(2325 2326 2346 2345) +4(326 346 347 327) +4(2326 2327 2347 2346) +4(327 347 348 328) +4(2327 2328 2348 2347) +4(328 348 349 329) +4(2328 2329 2349 2348) +4(329 349 350 330) +4(2329 2330 2350 2349) +4(330 350 351 331) +4(2330 2331 2351 2350) +4(331 351 352 332) +4(2331 2332 2352 2351) +4(332 352 353 333) +4(2332 2333 2353 2352) +4(333 353 354 334) +4(2333 2334 2354 2353) +4(334 354 355 335) +4(2334 2335 2355 2354) +4(335 355 356 336) +4(2335 2336 2356 2355) +4(336 356 357 337) +4(2336 2337 2357 2356) +4(337 357 358 338) +4(2337 2338 2358 2357) +4(338 358 359 339) +4(2338 2339 2359 2358) +4(340 360 361 341) +4(2340 2341 2361 2360) +4(341 361 362 342) +4(2341 2342 2362 2361) +4(342 362 363 343) +4(2342 2343 2363 2362) +4(343 363 364 344) +4(2343 2344 2364 2363) +4(344 364 365 345) +4(2344 2345 2365 2364) +4(345 365 366 346) +4(2345 2346 2366 2365) +4(346 366 367 347) +4(2346 2347 2367 2366) +4(347 367 368 348) +4(2347 2348 2368 2367) +4(348 368 369 349) +4(2348 2349 2369 2368) +4(349 369 370 350) +4(2349 2350 2370 2369) +4(350 370 371 351) +4(2350 2351 2371 2370) +4(351 371 372 352) +4(2351 2352 2372 2371) +4(352 372 373 353) +4(2352 2353 2373 2372) +4(353 373 374 354) +4(2353 2354 2374 2373) +4(354 374 375 355) +4(2354 2355 2375 2374) +4(355 375 376 356) +4(2355 2356 2376 2375) +4(356 376 377 357) +4(2356 2357 2377 2376) +4(357 377 378 358) +4(2357 2358 2378 2377) +4(358 378 379 359) +4(2358 2359 2379 2378) +4(360 380 381 361) +4(2360 2361 2381 2380) +4(361 381 382 362) +4(2361 2362 2382 2381) +4(362 382 383 363) +4(2362 2363 2383 2382) +4(363 383 384 364) +4(2363 2364 2384 2383) +4(364 384 385 365) +4(2364 2365 2385 2384) +4(365 385 386 366) +4(2365 2366 2386 2385) +4(366 386 387 367) +4(2366 2367 2387 2386) +4(367 387 388 368) +4(2367 2368 2388 2387) +4(368 388 389 369) +4(2368 2369 2389 2388) +4(369 389 390 370) +4(2369 2370 2390 2389) +4(370 390 391 371) +4(2370 2371 2391 2390) +4(371 391 392 372) +4(2371 2372 2392 2391) +4(372 392 393 373) +4(2372 2373 2393 2392) +4(373 393 394 374) +4(2373 2374 2394 2393) +4(374 394 395 375) +4(2374 2375 2395 2394) +4(375 395 396 376) +4(2375 2376 2396 2395) +4(376 396 397 377) +4(2376 2377 2397 2396) +4(377 397 398 378) +4(2377 2378 2398 2397) +4(378 398 399 379) +4(2378 2379 2399 2398) +4(380 400 401 381) +4(2380 2381 2401 2400) +4(381 401 402 382) +4(2381 2382 2402 2401) +4(382 402 403 383) +4(2382 2383 2403 2402) +4(383 403 404 384) +4(2383 2384 2404 2403) +4(384 404 405 385) +4(2384 2385 2405 2404) +4(385 405 406 386) +4(2385 2386 2406 2405) +4(386 406 407 387) +4(2386 2387 2407 2406) +4(387 407 408 388) +4(2387 2388 2408 2407) +4(388 408 409 389) +4(2388 2389 2409 2408) +4(389 409 410 390) +4(2389 2390 2410 2409) +4(390 410 411 391) +4(2390 2391 2411 2410) +4(391 411 412 392) +4(2391 2392 2412 2411) +4(392 412 413 393) +4(2392 2393 2413 2412) +4(393 413 414 394) +4(2393 2394 2414 2413) +4(394 414 415 395) +4(2394 2395 2415 2414) +4(395 415 416 396) +4(2395 2396 2416 2415) +4(396 416 417 397) +4(2396 2397 2417 2416) +4(397 417 418 398) +4(2397 2398 2418 2417) +4(398 418 419 399) +4(2398 2399 2419 2418) +4(400 420 421 401) +4(2400 2401 2421 2420) +4(401 421 422 402) +4(2401 2402 2422 2421) +4(402 422 423 403) +4(2402 2403 2423 2422) +4(403 423 424 404) +4(2403 2404 2424 2423) +4(404 424 425 405) +4(2404 2405 2425 2424) +4(405 425 426 406) +4(2405 2406 2426 2425) +4(406 426 427 407) +4(2406 2407 2427 2426) +4(407 427 428 408) +4(2407 2408 2428 2427) +4(408 428 429 409) +4(2408 2409 2429 2428) +4(409 429 430 410) +4(2409 2410 2430 2429) +4(410 430 431 411) +4(2410 2411 2431 2430) +4(411 431 432 412) +4(2411 2412 2432 2431) +4(412 432 433 413) +4(2412 2413 2433 2432) +4(413 433 434 414) +4(2413 2414 2434 2433) +4(414 434 435 415) +4(2414 2415 2435 2434) +4(415 435 436 416) +4(2415 2416 2436 2435) +4(416 436 437 417) +4(2416 2417 2437 2436) +4(417 437 438 418) +4(2417 2418 2438 2437) +4(418 438 439 419) +4(2418 2419 2439 2438) +4(420 440 441 421) +4(2420 2421 2441 2440) +4(421 441 442 422) +4(2421 2422 2442 2441) +4(422 442 443 423) +4(2422 2423 2443 2442) +4(423 443 444 424) +4(2423 2424 2444 2443) +4(424 444 445 425) +4(2424 2425 2445 2444) +4(425 445 446 426) +4(2425 2426 2446 2445) +4(426 446 447 427) +4(2426 2427 2447 2446) +4(427 447 448 428) +4(2427 2428 2448 2447) +4(428 448 449 429) +4(2428 2429 2449 2448) +4(429 449 450 430) +4(2429 2430 2450 2449) +4(430 450 451 431) +4(2430 2431 2451 2450) +4(431 451 452 432) +4(2431 2432 2452 2451) +4(432 452 453 433) +4(2432 2433 2453 2452) +4(433 453 454 434) +4(2433 2434 2454 2453) +4(434 454 455 435) +4(2434 2435 2455 2454) +4(435 455 456 436) +4(2435 2436 2456 2455) +4(436 456 457 437) +4(2436 2437 2457 2456) +4(437 457 458 438) +4(2437 2438 2458 2457) +4(438 458 459 439) +4(2438 2439 2459 2458) +4(440 460 461 441) +4(2440 2441 2461 2460) +4(441 461 462 442) +4(2441 2442 2462 2461) +4(442 462 463 443) +4(2442 2443 2463 2462) +4(443 463 464 444) +4(2443 2444 2464 2463) +4(444 464 465 445) +4(2444 2445 2465 2464) +4(445 465 466 446) +4(2445 2446 2466 2465) +4(446 466 467 447) +4(2446 2447 2467 2466) +4(447 467 468 448) +4(2447 2448 2468 2467) +4(448 468 469 449) +4(2448 2449 2469 2468) +4(449 469 470 450) +4(2449 2450 2470 2469) +4(450 470 471 451) +4(2450 2451 2471 2470) +4(451 471 472 452) +4(2451 2452 2472 2471) +4(452 472 473 453) +4(2452 2453 2473 2472) +4(453 473 474 454) +4(2453 2454 2474 2473) +4(454 474 475 455) +4(2454 2455 2475 2474) +4(455 475 476 456) +4(2455 2456 2476 2475) +4(456 476 477 457) +4(2456 2457 2477 2476) +4(457 477 478 458) +4(2457 2458 2478 2477) +4(458 478 479 459) +4(2458 2459 2479 2478) +4(460 480 481 461) +4(2460 2461 2481 2480) +4(461 481 482 462) +4(2461 2462 2482 2481) +4(462 482 483 463) +4(2462 2463 2483 2482) +4(463 483 484 464) +4(2463 2464 2484 2483) +4(464 484 485 465) +4(2464 2465 2485 2484) +4(465 485 486 466) +4(2465 2466 2486 2485) +4(466 486 487 467) +4(2466 2467 2487 2486) +4(467 487 488 468) +4(2467 2468 2488 2487) +4(468 488 489 469) +4(2468 2469 2489 2488) +4(469 489 490 470) +4(2469 2470 2490 2489) +4(470 490 491 471) +4(2470 2471 2491 2490) +4(471 491 492 472) +4(2471 2472 2492 2491) +4(472 492 493 473) +4(2472 2473 2493 2492) +4(473 493 494 474) +4(2473 2474 2494 2493) +4(474 494 495 475) +4(2474 2475 2495 2494) +4(475 495 496 476) +4(2475 2476 2496 2495) +4(476 496 497 477) +4(2476 2477 2497 2496) +4(477 497 498 478) +4(2477 2478 2498 2497) +4(478 498 499 479) +4(2478 2479 2499 2498) +4(480 500 501 481) +4(2480 2481 2501 2500) +4(481 501 502 482) +4(2481 2482 2502 2501) +4(482 502 503 483) +4(2482 2483 2503 2502) +4(483 503 504 484) +4(2483 2484 2504 2503) +4(484 504 505 485) +4(2484 2485 2505 2504) +4(485 505 506 486) +4(2485 2486 2506 2505) +4(486 506 507 487) +4(2486 2487 2507 2506) +4(487 507 508 488) +4(2487 2488 2508 2507) +4(488 508 509 489) +4(2488 2489 2509 2508) +4(489 509 510 490) +4(2489 2490 2510 2509) +4(490 510 511 491) +4(2490 2491 2511 2510) +4(491 511 512 492) +4(2491 2492 2512 2511) +4(492 512 513 493) +4(2492 2493 2513 2512) +4(493 513 514 494) +4(2493 2494 2514 2513) +4(494 514 515 495) +4(2494 2495 2515 2514) +4(495 515 516 496) +4(2495 2496 2516 2515) +4(496 516 517 497) +4(2496 2497 2517 2516) +4(497 517 518 498) +4(2497 2498 2518 2517) +4(498 518 519 499) +4(2498 2499 2519 2518) +4(500 520 521 501) +4(2500 2501 2521 2520) +4(501 521 522 502) +4(2501 2502 2522 2521) +4(502 522 523 503) +4(2502 2503 2523 2522) +4(503 523 524 504) +4(2503 2504 2524 2523) +4(504 524 525 505) +4(2504 2505 2525 2524) +4(505 525 526 506) +4(2505 2506 2526 2525) +4(506 526 527 507) +4(2506 2507 2527 2526) +4(507 527 528 508) +4(2507 2508 2528 2527) +4(508 528 529 509) +4(2508 2509 2529 2528) +4(509 529 530 510) +4(2509 2510 2530 2529) +4(510 530 531 511) +4(2510 2511 2531 2530) +4(511 531 532 512) +4(2511 2512 2532 2531) +4(512 532 533 513) +4(2512 2513 2533 2532) +4(513 533 534 514) +4(2513 2514 2534 2533) +4(514 534 535 515) +4(2514 2515 2535 2534) +4(515 535 536 516) +4(2515 2516 2536 2535) +4(516 536 537 517) +4(2516 2517 2537 2536) +4(517 537 538 518) +4(2517 2518 2538 2537) +4(518 538 539 519) +4(2518 2519 2539 2538) +4(520 540 541 521) +4(2520 2521 2541 2540) +4(521 541 542 522) +4(2521 2522 2542 2541) +4(522 542 543 523) +4(2522 2523 2543 2542) +4(523 543 544 524) +4(2523 2524 2544 2543) +4(524 544 545 525) +4(2524 2525 2545 2544) +4(525 545 546 526) +4(2525 2526 2546 2545) +4(526 546 547 527) +4(2526 2527 2547 2546) +4(527 547 548 528) +4(2527 2528 2548 2547) +4(528 548 549 529) +4(2528 2529 2549 2548) +4(529 549 550 530) +4(2529 2530 2550 2549) +4(530 550 551 531) +4(2530 2531 2551 2550) +4(531 551 552 532) +4(2531 2532 2552 2551) +4(532 552 553 533) +4(2532 2533 2553 2552) +4(533 553 554 534) +4(2533 2534 2554 2553) +4(534 554 555 535) +4(2534 2535 2555 2554) +4(535 555 556 536) +4(2535 2536 2556 2555) +4(536 556 557 537) +4(2536 2537 2557 2556) +4(537 557 558 538) +4(2537 2538 2558 2557) +4(538 558 559 539) +4(2538 2539 2559 2558) +4(540 560 561 541) +4(2540 2541 2561 2560) +4(541 561 562 542) +4(2541 2542 2562 2561) +4(542 562 563 543) +4(2542 2543 2563 2562) +4(543 563 564 544) +4(2543 2544 2564 2563) +4(544 564 565 545) +4(2544 2545 2565 2564) +4(545 565 566 546) +4(2545 2546 2566 2565) +4(546 566 567 547) +4(2546 2547 2567 2566) +4(547 567 568 548) +4(2547 2548 2568 2567) +4(548 568 569 549) +4(2548 2549 2569 2568) +4(549 569 570 550) +4(2549 2550 2570 2569) +4(550 570 571 551) +4(2550 2551 2571 2570) +4(551 571 572 552) +4(2551 2552 2572 2571) +4(552 572 573 553) +4(2552 2553 2573 2572) +4(553 573 574 554) +4(2553 2554 2574 2573) +4(554 574 575 555) +4(2554 2555 2575 2574) +4(555 575 576 556) +4(2555 2556 2576 2575) +4(556 576 577 557) +4(2556 2557 2577 2576) +4(557 577 578 558) +4(2557 2558 2578 2577) +4(558 578 579 559) +4(2558 2559 2579 2578) +4(560 580 581 561) +4(2560 2561 2581 2580) +4(561 581 582 562) +4(2561 2562 2582 2581) +4(562 582 583 563) +4(2562 2563 2583 2582) +4(563 583 584 564) +4(2563 2564 2584 2583) +4(564 584 585 565) +4(2564 2565 2585 2584) +4(565 585 586 566) +4(2565 2566 2586 2585) +4(566 586 587 567) +4(2566 2567 2587 2586) +4(567 587 588 568) +4(2567 2568 2588 2587) +4(568 588 589 569) +4(2568 2569 2589 2588) +4(569 589 590 570) +4(2569 2570 2590 2589) +4(570 590 591 571) +4(2570 2571 2591 2590) +4(571 591 592 572) +4(2571 2572 2592 2591) +4(572 592 593 573) +4(2572 2573 2593 2592) +4(573 593 594 574) +4(2573 2574 2594 2593) +4(574 594 595 575) +4(2574 2575 2595 2594) +4(575 595 596 576) +4(2575 2576 2596 2595) +4(576 596 597 577) +4(2576 2577 2597 2596) +4(577 597 598 578) +4(2577 2578 2598 2597) +4(578 598 599 579) +4(2578 2579 2599 2598) +4(580 600 601 581) +4(2580 2581 2601 2600) +4(581 601 602 582) +4(2581 2582 2602 2601) +4(582 602 603 583) +4(2582 2583 2603 2602) +4(583 603 604 584) +4(2583 2584 2604 2603) +4(584 604 605 585) +4(2584 2585 2605 2604) +4(585 605 606 586) +4(2585 2586 2606 2605) +4(586 606 607 587) +4(2586 2587 2607 2606) +4(587 607 608 588) +4(2587 2588 2608 2607) +4(588 608 609 589) +4(2588 2589 2609 2608) +4(589 609 610 590) +4(2589 2590 2610 2609) +4(590 610 611 591) +4(2590 2591 2611 2610) +4(591 611 612 592) +4(2591 2592 2612 2611) +4(592 612 613 593) +4(2592 2593 2613 2612) +4(593 613 614 594) +4(2593 2594 2614 2613) +4(594 614 615 595) +4(2594 2595 2615 2614) +4(595 615 616 596) +4(2595 2596 2616 2615) +4(596 616 617 597) +4(2596 2597 2617 2616) +4(597 617 618 598) +4(2597 2598 2618 2617) +4(598 618 619 599) +4(2598 2599 2619 2618) +4(600 620 621 601) +4(2600 2601 2621 2620) +4(601 621 622 602) +4(2601 2602 2622 2621) +4(602 622 623 603) +4(2602 2603 2623 2622) +4(603 623 624 604) +4(2603 2604 2624 2623) +4(604 624 625 605) +4(2604 2605 2625 2624) +4(605 625 626 606) +4(2605 2606 2626 2625) +4(606 626 627 607) +4(2606 2607 2627 2626) +4(607 627 628 608) +4(2607 2608 2628 2627) +4(608 628 629 609) +4(2608 2609 2629 2628) +4(609 629 630 610) +4(2609 2610 2630 2629) +4(610 630 631 611) +4(2610 2611 2631 2630) +4(611 631 632 612) +4(2611 2612 2632 2631) +4(612 632 633 613) +4(2612 2613 2633 2632) +4(613 633 634 614) +4(2613 2614 2634 2633) +4(614 634 635 615) +4(2614 2615 2635 2634) +4(615 635 636 616) +4(2615 2616 2636 2635) +4(616 636 637 617) +4(2616 2617 2637 2636) +4(617 637 638 618) +4(2617 2618 2638 2637) +4(618 638 639 619) +4(2618 2619 2639 2638) +4(620 640 641 621) +4(2620 2621 2641 2640) +4(621 641 642 622) +4(2621 2622 2642 2641) +4(622 642 643 623) +4(2622 2623 2643 2642) +4(623 643 644 624) +4(2623 2624 2644 2643) +4(624 644 645 625) +4(2624 2625 2645 2644) +4(625 645 646 626) +4(2625 2626 2646 2645) +4(626 646 647 627) +4(2626 2627 2647 2646) +4(627 647 648 628) +4(2627 2628 2648 2647) +4(628 648 649 629) +4(2628 2629 2649 2648) +4(629 649 650 630) +4(2629 2630 2650 2649) +4(630 650 651 631) +4(2630 2631 2651 2650) +4(631 651 652 632) +4(2631 2632 2652 2651) +4(632 652 653 633) +4(2632 2633 2653 2652) +4(633 653 654 634) +4(2633 2634 2654 2653) +4(634 654 655 635) +4(2634 2635 2655 2654) +4(635 655 656 636) +4(2635 2636 2656 2655) +4(636 656 657 637) +4(2636 2637 2657 2656) +4(637 657 658 638) +4(2637 2638 2658 2657) +4(638 658 659 639) +4(2638 2639 2659 2658) +4(640 660 661 641) +4(2640 2641 2661 2660) +4(641 661 662 642) +4(2641 2642 2662 2661) +4(642 662 663 643) +4(2642 2643 2663 2662) +4(643 663 664 644) +4(2643 2644 2664 2663) +4(644 664 665 645) +4(2644 2645 2665 2664) +4(645 665 666 646) +4(2645 2646 2666 2665) +4(646 666 667 647) +4(2646 2647 2667 2666) +4(647 667 668 648) +4(2647 2648 2668 2667) +4(648 668 669 649) +4(2648 2649 2669 2668) +4(649 669 670 650) +4(2649 2650 2670 2669) +4(650 670 671 651) +4(2650 2651 2671 2670) +4(651 671 672 652) +4(2651 2652 2672 2671) +4(652 672 673 653) +4(2652 2653 2673 2672) +4(653 673 674 654) +4(2653 2654 2674 2673) +4(654 674 675 655) +4(2654 2655 2675 2674) +4(655 675 676 656) +4(2655 2656 2676 2675) +4(656 676 677 657) +4(2656 2657 2677 2676) +4(657 677 678 658) +4(2657 2658 2678 2677) +4(658 678 679 659) +4(2658 2659 2679 2678) +4(660 680 681 661) +4(2660 2661 2681 2680) +4(661 681 682 662) +4(2661 2662 2682 2681) +4(662 682 683 663) +4(2662 2663 2683 2682) +4(663 683 684 664) +4(2663 2664 2684 2683) +4(664 684 685 665) +4(2664 2665 2685 2684) +4(665 685 686 666) +4(2665 2666 2686 2685) +4(666 686 687 667) +4(2666 2667 2687 2686) +4(667 687 688 668) +4(2667 2668 2688 2687) +4(668 688 689 669) +4(2668 2669 2689 2688) +4(669 689 690 670) +4(2669 2670 2690 2689) +4(670 690 691 671) +4(2670 2671 2691 2690) +4(671 691 692 672) +4(2671 2672 2692 2691) +4(672 692 693 673) +4(2672 2673 2693 2692) +4(673 693 694 674) +4(2673 2674 2694 2693) +4(674 694 695 675) +4(2674 2675 2695 2694) +4(675 695 696 676) +4(2675 2676 2696 2695) +4(676 696 697 677) +4(2676 2677 2697 2696) +4(677 697 698 678) +4(2677 2678 2698 2697) +4(678 698 699 679) +4(2678 2679 2699 2698) +4(680 700 701 681) +4(2680 2681 2701 2700) +4(681 701 702 682) +4(2681 2682 2702 2701) +4(682 702 703 683) +4(2682 2683 2703 2702) +4(683 703 704 684) +4(2683 2684 2704 2703) +4(684 704 705 685) +4(2684 2685 2705 2704) +4(685 705 706 686) +4(2685 2686 2706 2705) +4(686 706 707 687) +4(2686 2687 2707 2706) +4(687 707 708 688) +4(2687 2688 2708 2707) +4(688 708 709 689) +4(2688 2689 2709 2708) +4(689 709 710 690) +4(2689 2690 2710 2709) +4(690 710 711 691) +4(2690 2691 2711 2710) +4(691 711 712 692) +4(2691 2692 2712 2711) +4(692 712 713 693) +4(2692 2693 2713 2712) +4(693 713 714 694) +4(2693 2694 2714 2713) +4(694 714 715 695) +4(2694 2695 2715 2714) +4(695 715 716 696) +4(2695 2696 2716 2715) +4(696 716 717 697) +4(2696 2697 2717 2716) +4(697 717 718 698) +4(2697 2698 2718 2717) +4(698 718 719 699) +4(2698 2699 2719 2718) +4(700 720 721 701) +4(2700 2701 2721 2720) +4(701 721 722 702) +4(2701 2702 2722 2721) +4(702 722 723 703) +4(2702 2703 2723 2722) +4(703 723 724 704) +4(2703 2704 2724 2723) +4(704 724 725 705) +4(2704 2705 2725 2724) +4(705 725 726 706) +4(2705 2706 2726 2725) +4(706 726 727 707) +4(2706 2707 2727 2726) +4(707 727 728 708) +4(2707 2708 2728 2727) +4(708 728 729 709) +4(2708 2709 2729 2728) +4(709 729 730 710) +4(2709 2710 2730 2729) +4(710 730 731 711) +4(2710 2711 2731 2730) +4(711 731 732 712) +4(2711 2712 2732 2731) +4(712 732 733 713) +4(2712 2713 2733 2732) +4(713 733 734 714) +4(2713 2714 2734 2733) +4(714 734 735 715) +4(2714 2715 2735 2734) +4(715 735 736 716) +4(2715 2716 2736 2735) +4(716 736 737 717) +4(2716 2717 2737 2736) +4(717 737 738 718) +4(2717 2718 2738 2737) +4(718 738 739 719) +4(2718 2719 2739 2738) +4(720 740 741 721) +4(2720 2721 2741 2740) +4(721 741 742 722) +4(2721 2722 2742 2741) +4(722 742 743 723) +4(2722 2723 2743 2742) +4(723 743 744 724) +4(2723 2724 2744 2743) +4(724 744 745 725) +4(2724 2725 2745 2744) +4(725 745 746 726) +4(2725 2726 2746 2745) +4(726 746 747 727) +4(2726 2727 2747 2746) +4(727 747 748 728) +4(2727 2728 2748 2747) +4(728 748 749 729) +4(2728 2729 2749 2748) +4(729 749 750 730) +4(2729 2730 2750 2749) +4(730 750 751 731) +4(2730 2731 2751 2750) +4(731 751 752 732) +4(2731 2732 2752 2751) +4(732 752 753 733) +4(2732 2733 2753 2752) +4(733 753 754 734) +4(2733 2734 2754 2753) +4(734 754 755 735) +4(2734 2735 2755 2754) +4(735 755 756 736) +4(2735 2736 2756 2755) +4(736 756 757 737) +4(2736 2737 2757 2756) +4(737 757 758 738) +4(2737 2738 2758 2757) +4(738 758 759 739) +4(2738 2739 2759 2758) +4(740 760 761 741) +4(2740 2741 2761 2760) +4(741 761 762 742) +4(2741 2742 2762 2761) +4(742 762 763 743) +4(2742 2743 2763 2762) +4(743 763 764 744) +4(2743 2744 2764 2763) +4(744 764 765 745) +4(2744 2745 2765 2764) +4(745 765 766 746) +4(2745 2746 2766 2765) +4(746 766 767 747) +4(2746 2747 2767 2766) +4(747 767 768 748) +4(2747 2748 2768 2767) +4(748 768 769 749) +4(2748 2749 2769 2768) +4(749 769 770 750) +4(2749 2750 2770 2769) +4(750 770 771 751) +4(2750 2751 2771 2770) +4(751 771 772 752) +4(2751 2752 2772 2771) +4(752 772 773 753) +4(2752 2753 2773 2772) +4(753 773 774 754) +4(2753 2754 2774 2773) +4(754 774 775 755) +4(2754 2755 2775 2774) +4(755 775 776 756) +4(2755 2756 2776 2775) +4(756 776 777 757) +4(2756 2757 2777 2776) +4(757 777 778 758) +4(2757 2758 2778 2777) +4(758 778 779 759) +4(2758 2759 2779 2778) +4(760 780 781 761) +4(2760 2761 2781 2780) +4(761 781 782 762) +4(2761 2762 2782 2781) +4(762 782 783 763) +4(2762 2763 2783 2782) +4(763 783 784 764) +4(2763 2764 2784 2783) +4(764 784 785 765) +4(2764 2765 2785 2784) +4(765 785 786 766) +4(2765 2766 2786 2785) +4(766 786 787 767) +4(2766 2767 2787 2786) +4(767 787 788 768) +4(2767 2768 2788 2787) +4(768 788 789 769) +4(2768 2769 2789 2788) +4(769 789 790 770) +4(2769 2770 2790 2789) +4(770 790 791 771) +4(2770 2771 2791 2790) +4(771 791 792 772) +4(2771 2772 2792 2791) +4(772 792 793 773) +4(2772 2773 2793 2792) +4(773 793 794 774) +4(2773 2774 2794 2793) +4(774 794 795 775) +4(2774 2775 2795 2794) +4(775 795 796 776) +4(2775 2776 2796 2795) +4(776 796 797 777) +4(2776 2777 2797 2796) +4(777 797 798 778) +4(2777 2778 2798 2797) +4(778 798 799 779) +4(2778 2779 2799 2798) +4(780 800 801 781) +4(2780 2781 2801 2800) +4(781 801 802 782) +4(2781 2782 2802 2801) +4(782 802 803 783) +4(2782 2783 2803 2802) +4(783 803 804 784) +4(2783 2784 2804 2803) +4(784 804 805 785) +4(2784 2785 2805 2804) +4(785 805 806 786) +4(2785 2786 2806 2805) +4(786 806 807 787) +4(2786 2787 2807 2806) +4(787 807 808 788) +4(2787 2788 2808 2807) +4(788 808 809 789) +4(2788 2789 2809 2808) +4(789 809 810 790) +4(2789 2790 2810 2809) +4(790 810 811 791) +4(2790 2791 2811 2810) +4(791 811 812 792) +4(2791 2792 2812 2811) +4(792 812 813 793) +4(2792 2793 2813 2812) +4(793 813 814 794) +4(2793 2794 2814 2813) +4(794 814 815 795) +4(2794 2795 2815 2814) +4(795 815 816 796) +4(2795 2796 2816 2815) +4(796 816 817 797) +4(2796 2797 2817 2816) +4(797 817 818 798) +4(2797 2798 2818 2817) +4(798 818 819 799) +4(2798 2799 2819 2818) +4(800 820 821 801) +4(2800 2801 2821 2820) +4(801 821 822 802) +4(2801 2802 2822 2821) +4(802 822 823 803) +4(2802 2803 2823 2822) +4(803 823 824 804) +4(2803 2804 2824 2823) +4(804 824 825 805) +4(2804 2805 2825 2824) +4(805 825 826 806) +4(2805 2806 2826 2825) +4(806 826 827 807) +4(2806 2807 2827 2826) +4(807 827 828 808) +4(2807 2808 2828 2827) +4(808 828 829 809) +4(2808 2809 2829 2828) +4(809 829 830 810) +4(2809 2810 2830 2829) +4(810 830 831 811) +4(2810 2811 2831 2830) +4(811 831 832 812) +4(2811 2812 2832 2831) +4(812 832 833 813) +4(2812 2813 2833 2832) +4(813 833 834 814) +4(2813 2814 2834 2833) +4(814 834 835 815) +4(2814 2815 2835 2834) +4(815 835 836 816) +4(2815 2816 2836 2835) +4(816 836 837 817) +4(2816 2817 2837 2836) +4(817 837 838 818) +4(2817 2818 2838 2837) +4(818 838 839 819) +4(2818 2819 2839 2838) +4(820 840 841 821) +4(2820 2821 2841 2840) +4(821 841 842 822) +4(2821 2822 2842 2841) +4(822 842 843 823) +4(2822 2823 2843 2842) +4(823 843 844 824) +4(2823 2824 2844 2843) +4(824 844 845 825) +4(2824 2825 2845 2844) +4(825 845 846 826) +4(2825 2826 2846 2845) +4(826 846 847 827) +4(2826 2827 2847 2846) +4(827 847 848 828) +4(2827 2828 2848 2847) +4(828 848 849 829) +4(2828 2829 2849 2848) +4(829 849 850 830) +4(2829 2830 2850 2849) +4(830 850 851 831) +4(2830 2831 2851 2850) +4(831 851 852 832) +4(2831 2832 2852 2851) +4(832 852 853 833) +4(2832 2833 2853 2852) +4(833 853 854 834) +4(2833 2834 2854 2853) +4(834 854 855 835) +4(2834 2835 2855 2854) +4(835 855 856 836) +4(2835 2836 2856 2855) +4(836 856 857 837) +4(2836 2837 2857 2856) +4(837 857 858 838) +4(2837 2838 2858 2857) +4(838 858 859 839) +4(2838 2839 2859 2858) +4(840 860 861 841) +4(2840 2841 2861 2860) +4(841 861 862 842) +4(2841 2842 2862 2861) +4(842 862 863 843) +4(2842 2843 2863 2862) +4(843 863 864 844) +4(2843 2844 2864 2863) +4(844 864 865 845) +4(2844 2845 2865 2864) +4(845 865 866 846) +4(2845 2846 2866 2865) +4(846 866 867 847) +4(2846 2847 2867 2866) +4(847 867 868 848) +4(2847 2848 2868 2867) +4(848 868 869 849) +4(2848 2849 2869 2868) +4(849 869 870 850) +4(2849 2850 2870 2869) +4(850 870 871 851) +4(2850 2851 2871 2870) +4(851 871 872 852) +4(2851 2852 2872 2871) +4(852 872 873 853) +4(2852 2853 2873 2872) +4(853 873 874 854) +4(2853 2854 2874 2873) +4(854 874 875 855) +4(2854 2855 2875 2874) +4(855 875 876 856) +4(2855 2856 2876 2875) +4(856 876 877 857) +4(2856 2857 2877 2876) +4(857 877 878 858) +4(2857 2858 2878 2877) +4(858 878 879 859) +4(2858 2859 2879 2878) +4(860 880 881 861) +4(2860 2861 2881 2880) +4(861 881 882 862) +4(2861 2862 2882 2881) +4(862 882 883 863) +4(2862 2863 2883 2882) +4(863 883 884 864) +4(2863 2864 2884 2883) +4(864 884 885 865) +4(2864 2865 2885 2884) +4(865 885 886 866) +4(2865 2866 2886 2885) +4(866 886 887 867) +4(2866 2867 2887 2886) +4(867 887 888 868) +4(2867 2868 2888 2887) +4(868 888 889 869) +4(2868 2869 2889 2888) +4(869 889 890 870) +4(2869 2870 2890 2889) +4(870 890 891 871) +4(2870 2871 2891 2890) +4(871 891 892 872) +4(2871 2872 2892 2891) +4(872 892 893 873) +4(2872 2873 2893 2892) +4(873 893 894 874) +4(2873 2874 2894 2893) +4(874 894 895 875) +4(2874 2875 2895 2894) +4(875 895 896 876) +4(2875 2876 2896 2895) +4(876 896 897 877) +4(2876 2877 2897 2896) +4(877 897 898 878) +4(2877 2878 2898 2897) +4(878 898 899 879) +4(2878 2879 2899 2898) +4(880 900 901 881) +4(2880 2881 2901 2900) +4(881 901 902 882) +4(2881 2882 2902 2901) +4(882 902 903 883) +4(2882 2883 2903 2902) +4(883 903 904 884) +4(2883 2884 2904 2903) +4(884 904 905 885) +4(2884 2885 2905 2904) +4(885 905 906 886) +4(2885 2886 2906 2905) +4(886 906 907 887) +4(2886 2887 2907 2906) +4(887 907 908 888) +4(2887 2888 2908 2907) +4(888 908 909 889) +4(2888 2889 2909 2908) +4(889 909 910 890) +4(2889 2890 2910 2909) +4(890 910 911 891) +4(2890 2891 2911 2910) +4(891 911 912 892) +4(2891 2892 2912 2911) +4(892 912 913 893) +4(2892 2893 2913 2912) +4(893 913 914 894) +4(2893 2894 2914 2913) +4(894 914 915 895) +4(2894 2895 2915 2914) +4(895 915 916 896) +4(2895 2896 2916 2915) +4(896 916 917 897) +4(2896 2897 2917 2916) +4(897 917 918 898) +4(2897 2898 2918 2917) +4(898 918 919 899) +4(2898 2899 2919 2918) +4(900 920 921 901) +4(2900 2901 2921 2920) +4(901 921 922 902) +4(2901 2902 2922 2921) +4(902 922 923 903) +4(2902 2903 2923 2922) +4(903 923 924 904) +4(2903 2904 2924 2923) +4(904 924 925 905) +4(2904 2905 2925 2924) +4(905 925 926 906) +4(2905 2906 2926 2925) +4(906 926 927 907) +4(2906 2907 2927 2926) +4(907 927 928 908) +4(2907 2908 2928 2927) +4(908 928 929 909) +4(2908 2909 2929 2928) +4(909 929 930 910) +4(2909 2910 2930 2929) +4(910 930 931 911) +4(2910 2911 2931 2930) +4(911 931 932 912) +4(2911 2912 2932 2931) +4(912 932 933 913) +4(2912 2913 2933 2932) +4(913 933 934 914) +4(2913 2914 2934 2933) +4(914 934 935 915) +4(2914 2915 2935 2934) +4(915 935 936 916) +4(2915 2916 2936 2935) +4(916 936 937 917) +4(2916 2917 2937 2936) +4(917 937 938 918) +4(2917 2918 2938 2937) +4(918 938 939 919) +4(2918 2919 2939 2938) +4(920 940 941 921) +4(2920 2921 2941 2940) +4(921 941 942 922) +4(2921 2922 2942 2941) +4(922 942 943 923) +4(2922 2923 2943 2942) +4(923 943 944 924) +4(2923 2924 2944 2943) +4(924 944 945 925) +4(2924 2925 2945 2944) +4(925 945 946 926) +4(2925 2926 2946 2945) +4(926 946 947 927) +4(2926 2927 2947 2946) +4(927 947 948 928) +4(2927 2928 2948 2947) +4(928 948 949 929) +4(2928 2929 2949 2948) +4(929 949 950 930) +4(2929 2930 2950 2949) +4(930 950 951 931) +4(2930 2931 2951 2950) +4(931 951 952 932) +4(2931 2932 2952 2951) +4(932 952 953 933) +4(2932 2933 2953 2952) +4(933 953 954 934) +4(2933 2934 2954 2953) +4(934 954 955 935) +4(2934 2935 2955 2954) +4(935 955 956 936) +4(2935 2936 2956 2955) +4(936 956 957 937) +4(2936 2937 2957 2956) +4(937 957 958 938) +4(2937 2938 2958 2957) +4(938 958 959 939) +4(2938 2939 2959 2958) +4(940 960 961 941) +4(2940 2941 2961 2960) +4(941 961 962 942) +4(2941 2942 2962 2961) +4(942 962 963 943) +4(2942 2943 2963 2962) +4(943 963 964 944) +4(2943 2944 2964 2963) +4(944 964 965 945) +4(2944 2945 2965 2964) +4(945 965 966 946) +4(2945 2946 2966 2965) +4(946 966 967 947) +4(2946 2947 2967 2966) +4(947 967 968 948) +4(2947 2948 2968 2967) +4(948 968 969 949) +4(2948 2949 2969 2968) +4(949 969 970 950) +4(2949 2950 2970 2969) +4(950 970 971 951) +4(2950 2951 2971 2970) +4(951 971 972 952) +4(2951 2952 2972 2971) +4(952 972 973 953) +4(2952 2953 2973 2972) +4(953 973 974 954) +4(2953 2954 2974 2973) +4(954 974 975 955) +4(2954 2955 2975 2974) +4(955 975 976 956) +4(2955 2956 2976 2975) +4(956 976 977 957) +4(2956 2957 2977 2976) +4(957 977 978 958) +4(2957 2958 2978 2977) +4(958 978 979 959) +4(2958 2959 2979 2978) +4(960 980 981 961) +4(2960 2961 2981 2980) +4(961 981 982 962) +4(2961 2962 2982 2981) +4(962 982 983 963) +4(2962 2963 2983 2982) +4(963 983 984 964) +4(2963 2964 2984 2983) +4(964 984 985 965) +4(2964 2965 2985 2984) +4(965 985 986 966) +4(2965 2966 2986 2985) +4(966 986 987 967) +4(2966 2967 2987 2986) +4(967 987 988 968) +4(2967 2968 2988 2987) +4(968 988 989 969) +4(2968 2969 2989 2988) +4(969 989 990 970) +4(2969 2970 2990 2989) +4(970 990 991 971) +4(2970 2971 2991 2990) +4(971 991 992 972) +4(2971 2972 2992 2991) +4(972 992 993 973) +4(2972 2973 2993 2992) +4(973 993 994 974) +4(2973 2974 2994 2993) +4(974 994 995 975) +4(2974 2975 2995 2994) +4(975 995 996 976) +4(2975 2976 2996 2995) +4(976 996 997 977) +4(2976 2977 2997 2996) +4(977 997 998 978) +4(2977 2978 2998 2997) +4(978 998 999 979) +4(2978 2979 2999 2998) +4(980 1000 1001 981) +4(2980 2981 3001 3000) +4(981 1001 1002 982) +4(2981 2982 3002 3001) +4(982 1002 1003 983) +4(2982 2983 3003 3002) +4(983 1003 1004 984) +4(2983 2984 3004 3003) +4(984 1004 1005 985) +4(2984 2985 3005 3004) +4(985 1005 1006 986) +4(2985 2986 3006 3005) +4(986 1006 1007 987) +4(2986 2987 3007 3006) +4(987 1007 1008 988) +4(2987 2988 3008 3007) +4(988 1008 1009 989) +4(2988 2989 3009 3008) +4(989 1009 1010 990) +4(2989 2990 3010 3009) +4(990 1010 1011 991) +4(2990 2991 3011 3010) +4(991 1011 1012 992) +4(2991 2992 3012 3011) +4(992 1012 1013 993) +4(2992 2993 3013 3012) +4(993 1013 1014 994) +4(2993 2994 3014 3013) +4(994 1014 1015 995) +4(2994 2995 3015 3014) +4(995 1015 1016 996) +4(2995 2996 3016 3015) +4(996 1016 1017 997) +4(2996 2997 3017 3016) +4(997 1017 1018 998) +4(2997 2998 3018 3017) +4(998 1018 1019 999) +4(2998 2999 3019 3018) +4(1000 1020 1021 1001) +4(3000 3001 3021 3020) +4(1001 1021 1022 1002) +4(3001 3002 3022 3021) +4(1002 1022 1023 1003) +4(3002 3003 3023 3022) +4(1003 1023 1024 1004) +4(3003 3004 3024 3023) +4(1004 1024 1025 1005) +4(3004 3005 3025 3024) +4(1005 1025 1026 1006) +4(3005 3006 3026 3025) +4(1006 1026 1027 1007) +4(3006 3007 3027 3026) +4(1007 1027 1028 1008) +4(3007 3008 3028 3027) +4(1008 1028 1029 1009) +4(3008 3009 3029 3028) +4(1009 1029 1030 1010) +4(3009 3010 3030 3029) +4(1010 1030 1031 1011) +4(3010 3011 3031 3030) +4(1011 1031 1032 1012) +4(3011 3012 3032 3031) +4(1012 1032 1033 1013) +4(3012 3013 3033 3032) +4(1013 1033 1034 1014) +4(3013 3014 3034 3033) +4(1014 1034 1035 1015) +4(3014 3015 3035 3034) +4(1015 1035 1036 1016) +4(3015 3016 3036 3035) +4(1016 1036 1037 1017) +4(3016 3017 3037 3036) +4(1017 1037 1038 1018) +4(3017 3018 3038 3037) +4(1018 1038 1039 1019) +4(3018 3019 3039 3038) +4(1020 1040 1041 1021) +4(3020 3021 3041 3040) +4(1021 1041 1042 1022) +4(3021 3022 3042 3041) +4(1022 1042 1043 1023) +4(3022 3023 3043 3042) +4(1023 1043 1044 1024) +4(3023 3024 3044 3043) +4(1024 1044 1045 1025) +4(3024 3025 3045 3044) +4(1025 1045 1046 1026) +4(3025 3026 3046 3045) +4(1026 1046 1047 1027) +4(3026 3027 3047 3046) +4(1027 1047 1048 1028) +4(3027 3028 3048 3047) +4(1028 1048 1049 1029) +4(3028 3029 3049 3048) +4(1029 1049 1050 1030) +4(3029 3030 3050 3049) +4(1030 1050 1051 1031) +4(3030 3031 3051 3050) +4(1031 1051 1052 1032) +4(3031 3032 3052 3051) +4(1032 1052 1053 1033) +4(3032 3033 3053 3052) +4(1033 1053 1054 1034) +4(3033 3034 3054 3053) +4(1034 1054 1055 1035) +4(3034 3035 3055 3054) +4(1035 1055 1056 1036) +4(3035 3036 3056 3055) +4(1036 1056 1057 1037) +4(3036 3037 3057 3056) +4(1037 1057 1058 1038) +4(3037 3038 3058 3057) +4(1038 1058 1059 1039) +4(3038 3039 3059 3058) +4(1040 1060 1061 1041) +4(3040 3041 3061 3060) +4(1041 1061 1062 1042) +4(3041 3042 3062 3061) +4(1042 1062 1063 1043) +4(3042 3043 3063 3062) +4(1043 1063 1064 1044) +4(3043 3044 3064 3063) +4(1044 1064 1065 1045) +4(3044 3045 3065 3064) +4(1045 1065 1066 1046) +4(3045 3046 3066 3065) +4(1046 1066 1067 1047) +4(3046 3047 3067 3066) +4(1047 1067 1068 1048) +4(3047 3048 3068 3067) +4(1048 1068 1069 1049) +4(3048 3049 3069 3068) +4(1049 1069 1070 1050) +4(3049 3050 3070 3069) +4(1050 1070 1071 1051) +4(3050 3051 3071 3070) +4(1051 1071 1072 1052) +4(3051 3052 3072 3071) +4(1052 1072 1073 1053) +4(3052 3053 3073 3072) +4(1053 1073 1074 1054) +4(3053 3054 3074 3073) +4(1054 1074 1075 1055) +4(3054 3055 3075 3074) +4(1055 1075 1076 1056) +4(3055 3056 3076 3075) +4(1056 1076 1077 1057) +4(3056 3057 3077 3076) +4(1057 1077 1078 1058) +4(3057 3058 3078 3077) +4(1058 1078 1079 1059) +4(3058 3059 3079 3078) +4(1060 1080 1081 1061) +4(3060 3061 3081 3080) +4(1061 1081 1082 1062) +4(3061 3062 3082 3081) +4(1062 1082 1083 1063) +4(3062 3063 3083 3082) +4(1063 1083 1084 1064) +4(3063 3064 3084 3083) +4(1064 1084 1085 1065) +4(3064 3065 3085 3084) +4(1065 1085 1086 1066) +4(3065 3066 3086 3085) +4(1066 1086 1087 1067) +4(3066 3067 3087 3086) +4(1067 1087 1088 1068) +4(3067 3068 3088 3087) +4(1068 1088 1089 1069) +4(3068 3069 3089 3088) +4(1069 1089 1090 1070) +4(3069 3070 3090 3089) +4(1070 1090 1091 1071) +4(3070 3071 3091 3090) +4(1071 1091 1092 1072) +4(3071 3072 3092 3091) +4(1072 1092 1093 1073) +4(3072 3073 3093 3092) +4(1073 1093 1094 1074) +4(3073 3074 3094 3093) +4(1074 1094 1095 1075) +4(3074 3075 3095 3094) +4(1075 1095 1096 1076) +4(3075 3076 3096 3095) +4(1076 1096 1097 1077) +4(3076 3077 3097 3096) +4(1077 1097 1098 1078) +4(3077 3078 3098 3097) +4(1078 1098 1099 1079) +4(3078 3079 3099 3098) +4(1080 1100 1101 1081) +4(3080 3081 3101 3100) +4(1081 1101 1102 1082) +4(3081 3082 3102 3101) +4(1082 1102 1103 1083) +4(3082 3083 3103 3102) +4(1083 1103 1104 1084) +4(3083 3084 3104 3103) +4(1084 1104 1105 1085) +4(3084 3085 3105 3104) +4(1085 1105 1106 1086) +4(3085 3086 3106 3105) +4(1086 1106 1107 1087) +4(3086 3087 3107 3106) +4(1087 1107 1108 1088) +4(3087 3088 3108 3107) +4(1088 1108 1109 1089) +4(3088 3089 3109 3108) +4(1089 1109 1110 1090) +4(3089 3090 3110 3109) +4(1090 1110 1111 1091) +4(3090 3091 3111 3110) +4(1091 1111 1112 1092) +4(3091 3092 3112 3111) +4(1092 1112 1113 1093) +4(3092 3093 3113 3112) +4(1093 1113 1114 1094) +4(3093 3094 3114 3113) +4(1094 1114 1115 1095) +4(3094 3095 3115 3114) +4(1095 1115 1116 1096) +4(3095 3096 3116 3115) +4(1096 1116 1117 1097) +4(3096 3097 3117 3116) +4(1097 1117 1118 1098) +4(3097 3098 3118 3117) +4(1098 1118 1119 1099) +4(3098 3099 3119 3118) +4(1100 1120 1121 1101) +4(3100 3101 3121 3120) +4(1101 1121 1122 1102) +4(3101 3102 3122 3121) +4(1102 1122 1123 1103) +4(3102 3103 3123 3122) +4(1103 1123 1124 1104) +4(3103 3104 3124 3123) +4(1104 1124 1125 1105) +4(3104 3105 3125 3124) +4(1105 1125 1126 1106) +4(3105 3106 3126 3125) +4(1106 1126 1127 1107) +4(3106 3107 3127 3126) +4(1107 1127 1128 1108) +4(3107 3108 3128 3127) +4(1108 1128 1129 1109) +4(3108 3109 3129 3128) +4(1109 1129 1130 1110) +4(3109 3110 3130 3129) +4(1110 1130 1131 1111) +4(3110 3111 3131 3130) +4(1111 1131 1132 1112) +4(3111 3112 3132 3131) +4(1112 1132 1133 1113) +4(3112 3113 3133 3132) +4(1113 1133 1134 1114) +4(3113 3114 3134 3133) +4(1114 1134 1135 1115) +4(3114 3115 3135 3134) +4(1115 1135 1136 1116) +4(3115 3116 3136 3135) +4(1116 1136 1137 1117) +4(3116 3117 3137 3136) +4(1117 1137 1138 1118) +4(3117 3118 3138 3137) +4(1118 1138 1139 1119) +4(3118 3119 3139 3138) +4(1120 1140 1141 1121) +4(3120 3121 3141 3140) +4(1121 1141 1142 1122) +4(3121 3122 3142 3141) +4(1122 1142 1143 1123) +4(3122 3123 3143 3142) +4(1123 1143 1144 1124) +4(3123 3124 3144 3143) +4(1124 1144 1145 1125) +4(3124 3125 3145 3144) +4(1125 1145 1146 1126) +4(3125 3126 3146 3145) +4(1126 1146 1147 1127) +4(3126 3127 3147 3146) +4(1127 1147 1148 1128) +4(3127 3128 3148 3147) +4(1128 1148 1149 1129) +4(3128 3129 3149 3148) +4(1129 1149 1150 1130) +4(3129 3130 3150 3149) +4(1130 1150 1151 1131) +4(3130 3131 3151 3150) +4(1131 1151 1152 1132) +4(3131 3132 3152 3151) +4(1132 1152 1153 1133) +4(3132 3133 3153 3152) +4(1133 1153 1154 1134) +4(3133 3134 3154 3153) +4(1134 1154 1155 1135) +4(3134 3135 3155 3154) +4(1135 1155 1156 1136) +4(3135 3136 3156 3155) +4(1136 1156 1157 1137) +4(3136 3137 3157 3156) +4(1137 1157 1158 1138) +4(3137 3138 3158 3157) +4(1138 1158 1159 1139) +4(3138 3139 3159 3158) +4(1140 1160 1161 1141) +4(3140 3141 3161 3160) +4(1141 1161 1162 1142) +4(3141 3142 3162 3161) +4(1142 1162 1163 1143) +4(3142 3143 3163 3162) +4(1143 1163 1164 1144) +4(3143 3144 3164 3163) +4(1144 1164 1165 1145) +4(3144 3145 3165 3164) +4(1145 1165 1166 1146) +4(3145 3146 3166 3165) +4(1146 1166 1167 1147) +4(3146 3147 3167 3166) +4(1147 1167 1168 1148) +4(3147 3148 3168 3167) +4(1148 1168 1169 1149) +4(3148 3149 3169 3168) +4(1149 1169 1170 1150) +4(3149 3150 3170 3169) +4(1150 1170 1171 1151) +4(3150 3151 3171 3170) +4(1151 1171 1172 1152) +4(3151 3152 3172 3171) +4(1152 1172 1173 1153) +4(3152 3153 3173 3172) +4(1153 1173 1174 1154) +4(3153 3154 3174 3173) +4(1154 1174 1175 1155) +4(3154 3155 3175 3174) +4(1155 1175 1176 1156) +4(3155 3156 3176 3175) +4(1156 1176 1177 1157) +4(3156 3157 3177 3176) +4(1157 1177 1178 1158) +4(3157 3158 3178 3177) +4(1158 1178 1179 1159) +4(3158 3159 3179 3178) +4(1160 1180 1181 1161) +4(3160 3161 3181 3180) +4(1161 1181 1182 1162) +4(3161 3162 3182 3181) +4(1162 1182 1183 1163) +4(3162 3163 3183 3182) +4(1163 1183 1184 1164) +4(3163 3164 3184 3183) +4(1164 1184 1185 1165) +4(3164 3165 3185 3184) +4(1165 1185 1186 1166) +4(3165 3166 3186 3185) +4(1166 1186 1187 1167) +4(3166 3167 3187 3186) +4(1167 1187 1188 1168) +4(3167 3168 3188 3187) +4(1168 1188 1189 1169) +4(3168 3169 3189 3188) +4(1169 1189 1190 1170) +4(3169 3170 3190 3189) +4(1170 1190 1191 1171) +4(3170 3171 3191 3190) +4(1171 1191 1192 1172) +4(3171 3172 3192 3191) +4(1172 1192 1193 1173) +4(3172 3173 3193 3192) +4(1173 1193 1194 1174) +4(3173 3174 3194 3193) +4(1174 1194 1195 1175) +4(3174 3175 3195 3194) +4(1175 1195 1196 1176) +4(3175 3176 3196 3195) +4(1176 1196 1197 1177) +4(3176 3177 3197 3196) +4(1177 1197 1198 1178) +4(3177 3178 3198 3197) +4(1178 1198 1199 1179) +4(3178 3179 3199 3198) +4(1180 1200 1201 1181) +4(3180 3181 3201 3200) +4(1181 1201 1202 1182) +4(3181 3182 3202 3201) +4(1182 1202 1203 1183) +4(3182 3183 3203 3202) +4(1183 1203 1204 1184) +4(3183 3184 3204 3203) +4(1184 1204 1205 1185) +4(3184 3185 3205 3204) +4(1185 1205 1206 1186) +4(3185 3186 3206 3205) +4(1186 1206 1207 1187) +4(3186 3187 3207 3206) +4(1187 1207 1208 1188) +4(3187 3188 3208 3207) +4(1188 1208 1209 1189) +4(3188 3189 3209 3208) +4(1189 1209 1210 1190) +4(3189 3190 3210 3209) +4(1190 1210 1211 1191) +4(3190 3191 3211 3210) +4(1191 1211 1212 1192) +4(3191 3192 3212 3211) +4(1192 1212 1213 1193) +4(3192 3193 3213 3212) +4(1193 1213 1214 1194) +4(3193 3194 3214 3213) +4(1194 1214 1215 1195) +4(3194 3195 3215 3214) +4(1195 1215 1216 1196) +4(3195 3196 3216 3215) +4(1196 1216 1217 1197) +4(3196 3197 3217 3216) +4(1197 1217 1218 1198) +4(3197 3198 3218 3217) +4(1198 1218 1219 1199) +4(3198 3199 3219 3218) +4(1200 1220 1221 1201) +4(3200 3201 3221 3220) +4(1201 1221 1222 1202) +4(3201 3202 3222 3221) +4(1202 1222 1223 1203) +4(3202 3203 3223 3222) +4(1203 1223 1224 1204) +4(3203 3204 3224 3223) +4(1204 1224 1225 1205) +4(3204 3205 3225 3224) +4(1205 1225 1226 1206) +4(3205 3206 3226 3225) +4(1206 1226 1227 1207) +4(3206 3207 3227 3226) +4(1207 1227 1228 1208) +4(3207 3208 3228 3227) +4(1208 1228 1229 1209) +4(3208 3209 3229 3228) +4(1209 1229 1230 1210) +4(3209 3210 3230 3229) +4(1210 1230 1231 1211) +4(3210 3211 3231 3230) +4(1211 1231 1232 1212) +4(3211 3212 3232 3231) +4(1212 1232 1233 1213) +4(3212 3213 3233 3232) +4(1213 1233 1234 1214) +4(3213 3214 3234 3233) +4(1214 1234 1235 1215) +4(3214 3215 3235 3234) +4(1215 1235 1236 1216) +4(3215 3216 3236 3235) +4(1216 1236 1237 1217) +4(3216 3217 3237 3236) +4(1217 1237 1238 1218) +4(3217 3218 3238 3237) +4(1218 1238 1239 1219) +4(3218 3219 3239 3238) +4(1220 1240 1241 1221) +4(3220 3221 3241 3240) +4(1221 1241 1242 1222) +4(3221 3222 3242 3241) +4(1222 1242 1243 1223) +4(3222 3223 3243 3242) +4(1223 1243 1244 1224) +4(3223 3224 3244 3243) +4(1224 1244 1245 1225) +4(3224 3225 3245 3244) +4(1225 1245 1246 1226) +4(3225 3226 3246 3245) +4(1226 1246 1247 1227) +4(3226 3227 3247 3246) +4(1227 1247 1248 1228) +4(3227 3228 3248 3247) +4(1228 1248 1249 1229) +4(3228 3229 3249 3248) +4(1229 1249 1250 1230) +4(3229 3230 3250 3249) +4(1230 1250 1251 1231) +4(3230 3231 3251 3250) +4(1231 1251 1252 1232) +4(3231 3232 3252 3251) +4(1232 1252 1253 1233) +4(3232 3233 3253 3252) +4(1233 1253 1254 1234) +4(3233 3234 3254 3253) +4(1234 1254 1255 1235) +4(3234 3235 3255 3254) +4(1235 1255 1256 1236) +4(3235 3236 3256 3255) +4(1236 1256 1257 1237) +4(3236 3237 3257 3256) +4(1237 1257 1258 1238) +4(3237 3238 3258 3257) +4(1238 1258 1259 1239) +4(3238 3239 3259 3258) +4(1240 1260 1261 1241) +4(3240 3241 3261 3260) +4(1241 1261 1262 1242) +4(3241 3242 3262 3261) +4(1242 1262 1263 1243) +4(3242 3243 3263 3262) +4(1243 1263 1264 1244) +4(3243 3244 3264 3263) +4(1244 1264 1265 1245) +4(3244 3245 3265 3264) +4(1245 1265 1266 1246) +4(3245 3246 3266 3265) +4(1246 1266 1267 1247) +4(3246 3247 3267 3266) +4(1247 1267 1268 1248) +4(3247 3248 3268 3267) +4(1248 1268 1269 1249) +4(3248 3249 3269 3268) +4(1249 1269 1270 1250) +4(3249 3250 3270 3269) +4(1250 1270 1271 1251) +4(3250 3251 3271 3270) +4(1251 1271 1272 1252) +4(3251 3252 3272 3271) +4(1252 1272 1273 1253) +4(3252 3253 3273 3272) +4(1253 1273 1274 1254) +4(3253 3254 3274 3273) +4(1254 1274 1275 1255) +4(3254 3255 3275 3274) +4(1255 1275 1276 1256) +4(3255 3256 3276 3275) +4(1256 1276 1277 1257) +4(3256 3257 3277 3276) +4(1257 1277 1278 1258) +4(3257 3258 3278 3277) +4(1258 1278 1279 1259) +4(3258 3259 3279 3278) +4(1260 1280 1281 1261) +4(3260 3261 3281 3280) +4(1261 1281 1282 1262) +4(3261 3262 3282 3281) +4(1262 1282 1283 1263) +4(3262 3263 3283 3282) +4(1263 1283 1284 1264) +4(3263 3264 3284 3283) +4(1264 1284 1285 1265) +4(3264 3265 3285 3284) +4(1265 1285 1286 1266) +4(3265 3266 3286 3285) +4(1266 1286 1287 1267) +4(3266 3267 3287 3286) +4(1267 1287 1288 1268) +4(3267 3268 3288 3287) +4(1268 1288 1289 1269) +4(3268 3269 3289 3288) +4(1269 1289 1290 1270) +4(3269 3270 3290 3289) +4(1270 1290 1291 1271) +4(3270 3271 3291 3290) +4(1271 1291 1292 1272) +4(3271 3272 3292 3291) +4(1272 1292 1293 1273) +4(3272 3273 3293 3292) +4(1273 1293 1294 1274) +4(3273 3274 3294 3293) +4(1274 1294 1295 1275) +4(3274 3275 3295 3294) +4(1275 1295 1296 1276) +4(3275 3276 3296 3295) +4(1276 1296 1297 1277) +4(3276 3277 3297 3296) +4(1277 1297 1298 1278) +4(3277 3278 3298 3297) +4(1278 1298 1299 1279) +4(3278 3279 3299 3298) +4(1280 1300 1301 1281) +4(3280 3281 3301 3300) +4(1281 1301 1302 1282) +4(3281 3282 3302 3301) +4(1282 1302 1303 1283) +4(3282 3283 3303 3302) +4(1283 1303 1304 1284) +4(3283 3284 3304 3303) +4(1284 1304 1305 1285) +4(3284 3285 3305 3304) +4(1285 1305 1306 1286) +4(3285 3286 3306 3305) +4(1286 1306 1307 1287) +4(3286 3287 3307 3306) +4(1287 1307 1308 1288) +4(3287 3288 3308 3307) +4(1288 1308 1309 1289) +4(3288 3289 3309 3308) +4(1289 1309 1310 1290) +4(3289 3290 3310 3309) +4(1290 1310 1311 1291) +4(3290 3291 3311 3310) +4(1291 1311 1312 1292) +4(3291 3292 3312 3311) +4(1292 1312 1313 1293) +4(3292 3293 3313 3312) +4(1293 1313 1314 1294) +4(3293 3294 3314 3313) +4(1294 1314 1315 1295) +4(3294 3295 3315 3314) +4(1295 1315 1316 1296) +4(3295 3296 3316 3315) +4(1296 1316 1317 1297) +4(3296 3297 3317 3316) +4(1297 1317 1318 1298) +4(3297 3298 3318 3317) +4(1298 1318 1319 1299) +4(3298 3299 3319 3318) +4(1300 1320 1321 1301) +4(3300 3301 3321 3320) +4(1301 1321 1322 1302) +4(3301 3302 3322 3321) +4(1302 1322 1323 1303) +4(3302 3303 3323 3322) +4(1303 1323 1324 1304) +4(3303 3304 3324 3323) +4(1304 1324 1325 1305) +4(3304 3305 3325 3324) +4(1305 1325 1326 1306) +4(3305 3306 3326 3325) +4(1306 1326 1327 1307) +4(3306 3307 3327 3326) +4(1307 1327 1328 1308) +4(3307 3308 3328 3327) +4(1308 1328 1329 1309) +4(3308 3309 3329 3328) +4(1309 1329 1330 1310) +4(3309 3310 3330 3329) +4(1310 1330 1331 1311) +4(3310 3311 3331 3330) +4(1311 1331 1332 1312) +4(3311 3312 3332 3331) +4(1312 1332 1333 1313) +4(3312 3313 3333 3332) +4(1313 1333 1334 1314) +4(3313 3314 3334 3333) +4(1314 1334 1335 1315) +4(3314 3315 3335 3334) +4(1315 1335 1336 1316) +4(3315 3316 3336 3335) +4(1316 1336 1337 1317) +4(3316 3317 3337 3336) +4(1317 1337 1338 1318) +4(3317 3318 3338 3337) +4(1318 1338 1339 1319) +4(3318 3319 3339 3338) +4(1320 1340 1341 1321) +4(3320 3321 3341 3340) +4(1321 1341 1342 1322) +4(3321 3322 3342 3341) +4(1322 1342 1343 1323) +4(3322 3323 3343 3342) +4(1323 1343 1344 1324) +4(3323 3324 3344 3343) +4(1324 1344 1345 1325) +4(3324 3325 3345 3344) +4(1325 1345 1346 1326) +4(3325 3326 3346 3345) +4(1326 1346 1347 1327) +4(3326 3327 3347 3346) +4(1327 1347 1348 1328) +4(3327 3328 3348 3347) +4(1328 1348 1349 1329) +4(3328 3329 3349 3348) +4(1329 1349 1350 1330) +4(3329 3330 3350 3349) +4(1330 1350 1351 1331) +4(3330 3331 3351 3350) +4(1331 1351 1352 1332) +4(3331 3332 3352 3351) +4(1332 1352 1353 1333) +4(3332 3333 3353 3352) +4(1333 1353 1354 1334) +4(3333 3334 3354 3353) +4(1334 1354 1355 1335) +4(3334 3335 3355 3354) +4(1335 1355 1356 1336) +4(3335 3336 3356 3355) +4(1336 1356 1357 1337) +4(3336 3337 3357 3356) +4(1337 1357 1358 1338) +4(3337 3338 3358 3357) +4(1338 1358 1359 1339) +4(3338 3339 3359 3358) +4(1340 1360 1361 1341) +4(3340 3341 3361 3360) +4(1341 1361 1362 1342) +4(3341 3342 3362 3361) +4(1342 1362 1363 1343) +4(3342 3343 3363 3362) +4(1343 1363 1364 1344) +4(3343 3344 3364 3363) +4(1344 1364 1365 1345) +4(3344 3345 3365 3364) +4(1345 1365 1366 1346) +4(3345 3346 3366 3365) +4(1346 1366 1367 1347) +4(3346 3347 3367 3366) +4(1347 1367 1368 1348) +4(3347 3348 3368 3367) +4(1348 1368 1369 1349) +4(3348 3349 3369 3368) +4(1349 1369 1370 1350) +4(3349 3350 3370 3369) +4(1350 1370 1371 1351) +4(3350 3351 3371 3370) +4(1351 1371 1372 1352) +4(3351 3352 3372 3371) +4(1352 1372 1373 1353) +4(3352 3353 3373 3372) +4(1353 1373 1374 1354) +4(3353 3354 3374 3373) +4(1354 1374 1375 1355) +4(3354 3355 3375 3374) +4(1355 1375 1376 1356) +4(3355 3356 3376 3375) +4(1356 1376 1377 1357) +4(3356 3357 3377 3376) +4(1357 1377 1378 1358) +4(3357 3358 3378 3377) +4(1358 1378 1379 1359) +4(3358 3359 3379 3378) +4(1360 1380 1381 1361) +4(3360 3361 3381 3380) +4(1361 1381 1382 1362) +4(3361 3362 3382 3381) +4(1362 1382 1383 1363) +4(3362 3363 3383 3382) +4(1363 1383 1384 1364) +4(3363 3364 3384 3383) +4(1364 1384 1385 1365) +4(3364 3365 3385 3384) +4(1365 1385 1386 1366) +4(3365 3366 3386 3385) +4(1366 1386 1387 1367) +4(3366 3367 3387 3386) +4(1367 1387 1388 1368) +4(3367 3368 3388 3387) +4(1368 1388 1389 1369) +4(3368 3369 3389 3388) +4(1369 1389 1390 1370) +4(3369 3370 3390 3389) +4(1370 1390 1391 1371) +4(3370 3371 3391 3390) +4(1371 1391 1392 1372) +4(3371 3372 3392 3391) +4(1372 1392 1393 1373) +4(3372 3373 3393 3392) +4(1373 1393 1394 1374) +4(3373 3374 3394 3393) +4(1374 1394 1395 1375) +4(3374 3375 3395 3394) +4(1375 1395 1396 1376) +4(3375 3376 3396 3395) +4(1376 1396 1397 1377) +4(3376 3377 3397 3396) +4(1377 1397 1398 1378) +4(3377 3378 3398 3397) +4(1378 1398 1399 1379) +4(3378 3379 3399 3398) +4(1380 1400 1401 1381) +4(3380 3381 3401 3400) +4(1381 1401 1402 1382) +4(3381 3382 3402 3401) +4(1382 1402 1403 1383) +4(3382 3383 3403 3402) +4(1383 1403 1404 1384) +4(3383 3384 3404 3403) +4(1384 1404 1405 1385) +4(3384 3385 3405 3404) +4(1385 1405 1406 1386) +4(3385 3386 3406 3405) +4(1386 1406 1407 1387) +4(3386 3387 3407 3406) +4(1387 1407 1408 1388) +4(3387 3388 3408 3407) +4(1388 1408 1409 1389) +4(3388 3389 3409 3408) +4(1389 1409 1410 1390) +4(3389 3390 3410 3409) +4(1390 1410 1411 1391) +4(3390 3391 3411 3410) +4(1391 1411 1412 1392) +4(3391 3392 3412 3411) +4(1392 1412 1413 1393) +4(3392 3393 3413 3412) +4(1393 1413 1414 1394) +4(3393 3394 3414 3413) +4(1394 1414 1415 1395) +4(3394 3395 3415 3414) +4(1395 1415 1416 1396) +4(3395 3396 3416 3415) +4(1396 1416 1417 1397) +4(3396 3397 3417 3416) +4(1397 1417 1418 1398) +4(3397 3398 3418 3417) +4(1398 1418 1419 1399) +4(3398 3399 3419 3418) +4(1400 1420 1421 1401) +4(3400 3401 3421 3420) +4(1401 1421 1422 1402) +4(3401 3402 3422 3421) +4(1402 1422 1423 1403) +4(3402 3403 3423 3422) +4(1403 1423 1424 1404) +4(3403 3404 3424 3423) +4(1404 1424 1425 1405) +4(3404 3405 3425 3424) +4(1405 1425 1426 1406) +4(3405 3406 3426 3425) +4(1406 1426 1427 1407) +4(3406 3407 3427 3426) +4(1407 1427 1428 1408) +4(3407 3408 3428 3427) +4(1408 1428 1429 1409) +4(3408 3409 3429 3428) +4(1409 1429 1430 1410) +4(3409 3410 3430 3429) +4(1410 1430 1431 1411) +4(3410 3411 3431 3430) +4(1411 1431 1432 1412) +4(3411 3412 3432 3431) +4(1412 1432 1433 1413) +4(3412 3413 3433 3432) +4(1413 1433 1434 1414) +4(3413 3414 3434 3433) +4(1414 1434 1435 1415) +4(3414 3415 3435 3434) +4(1415 1435 1436 1416) +4(3415 3416 3436 3435) +4(1416 1436 1437 1417) +4(3416 3417 3437 3436) +4(1417 1437 1438 1418) +4(3417 3418 3438 3437) +4(1418 1438 1439 1419) +4(3418 3419 3439 3438) +4(1420 1440 1441 1421) +4(3420 3421 3441 3440) +4(1421 1441 1442 1422) +4(3421 3422 3442 3441) +4(1422 1442 1443 1423) +4(3422 3423 3443 3442) +4(1423 1443 1444 1424) +4(3423 3424 3444 3443) +4(1424 1444 1445 1425) +4(3424 3425 3445 3444) +4(1425 1445 1446 1426) +4(3425 3426 3446 3445) +4(1426 1446 1447 1427) +4(3426 3427 3447 3446) +4(1427 1447 1448 1428) +4(3427 3428 3448 3447) +4(1428 1448 1449 1429) +4(3428 3429 3449 3448) +4(1429 1449 1450 1430) +4(3429 3430 3450 3449) +4(1430 1450 1451 1431) +4(3430 3431 3451 3450) +4(1431 1451 1452 1432) +4(3431 3432 3452 3451) +4(1432 1452 1453 1433) +4(3432 3433 3453 3452) +4(1433 1453 1454 1434) +4(3433 3434 3454 3453) +4(1434 1454 1455 1435) +4(3434 3435 3455 3454) +4(1435 1455 1456 1436) +4(3435 3436 3456 3455) +4(1436 1456 1457 1437) +4(3436 3437 3457 3456) +4(1437 1457 1458 1438) +4(3437 3438 3458 3457) +4(1438 1458 1459 1439) +4(3438 3439 3459 3458) +4(1440 1460 1461 1441) +4(3440 3441 3461 3460) +4(1441 1461 1462 1442) +4(3441 3442 3462 3461) +4(1442 1462 1463 1443) +4(3442 3443 3463 3462) +4(1443 1463 1464 1444) +4(3443 3444 3464 3463) +4(1444 1464 1465 1445) +4(3444 3445 3465 3464) +4(1445 1465 1466 1446) +4(3445 3446 3466 3465) +4(1446 1466 1467 1447) +4(3446 3447 3467 3466) +4(1447 1467 1468 1448) +4(3447 3448 3468 3467) +4(1448 1468 1469 1449) +4(3448 3449 3469 3468) +4(1449 1469 1470 1450) +4(3449 3450 3470 3469) +4(1450 1470 1471 1451) +4(3450 3451 3471 3470) +4(1451 1471 1472 1452) +4(3451 3452 3472 3471) +4(1452 1472 1473 1453) +4(3452 3453 3473 3472) +4(1453 1473 1474 1454) +4(3453 3454 3474 3473) +4(1454 1474 1475 1455) +4(3454 3455 3475 3474) +4(1455 1475 1476 1456) +4(3455 3456 3476 3475) +4(1456 1476 1477 1457) +4(3456 3457 3477 3476) +4(1457 1477 1478 1458) +4(3457 3458 3478 3477) +4(1458 1478 1479 1459) +4(3458 3459 3479 3478) +4(1460 1480 1481 1461) +4(3460 3461 3481 3480) +4(1461 1481 1482 1462) +4(3461 3462 3482 3481) +4(1462 1482 1483 1463) +4(3462 3463 3483 3482) +4(1463 1483 1484 1464) +4(3463 3464 3484 3483) +4(1464 1484 1485 1465) +4(3464 3465 3485 3484) +4(1465 1485 1486 1466) +4(3465 3466 3486 3485) +4(1466 1486 1487 1467) +4(3466 3467 3487 3486) +4(1467 1487 1488 1468) +4(3467 3468 3488 3487) +4(1468 1488 1489 1469) +4(3468 3469 3489 3488) +4(1469 1489 1490 1470) +4(3469 3470 3490 3489) +4(1470 1490 1491 1471) +4(3470 3471 3491 3490) +4(1471 1491 1492 1472) +4(3471 3472 3492 3491) +4(1472 1492 1493 1473) +4(3472 3473 3493 3492) +4(1473 1493 1494 1474) +4(3473 3474 3494 3493) +4(1474 1494 1495 1475) +4(3474 3475 3495 3494) +4(1475 1495 1496 1476) +4(3475 3476 3496 3495) +4(1476 1496 1497 1477) +4(3476 3477 3497 3496) +4(1477 1497 1498 1478) +4(3477 3478 3498 3497) +4(1478 1498 1499 1479) +4(3478 3479 3499 3498) +4(1480 1500 1501 1481) +4(3480 3481 3501 3500) +4(1481 1501 1502 1482) +4(3481 3482 3502 3501) +4(1482 1502 1503 1483) +4(3482 3483 3503 3502) +4(1483 1503 1504 1484) +4(3483 3484 3504 3503) +4(1484 1504 1505 1485) +4(3484 3485 3505 3504) +4(1485 1505 1506 1486) +4(3485 3486 3506 3505) +4(1486 1506 1507 1487) +4(3486 3487 3507 3506) +4(1487 1507 1508 1488) +4(3487 3488 3508 3507) +4(1488 1508 1509 1489) +4(3488 3489 3509 3508) +4(1489 1509 1510 1490) +4(3489 3490 3510 3509) +4(1490 1510 1511 1491) +4(3490 3491 3511 3510) +4(1491 1511 1512 1492) +4(3491 3492 3512 3511) +4(1492 1512 1513 1493) +4(3492 3493 3513 3512) +4(1493 1513 1514 1494) +4(3493 3494 3514 3513) +4(1494 1514 1515 1495) +4(3494 3495 3515 3514) +4(1495 1515 1516 1496) +4(3495 3496 3516 3515) +4(1496 1516 1517 1497) +4(3496 3497 3517 3516) +4(1497 1517 1518 1498) +4(3497 3498 3518 3517) +4(1498 1518 1519 1499) +4(3498 3499 3519 3518) +4(1500 1520 1521 1501) +4(3500 3501 3521 3520) +4(1501 1521 1522 1502) +4(3501 3502 3522 3521) +4(1502 1522 1523 1503) +4(3502 3503 3523 3522) +4(1503 1523 1524 1504) +4(3503 3504 3524 3523) +4(1504 1524 1525 1505) +4(3504 3505 3525 3524) +4(1505 1525 1526 1506) +4(3505 3506 3526 3525) +4(1506 1526 1527 1507) +4(3506 3507 3527 3526) +4(1507 1527 1528 1508) +4(3507 3508 3528 3527) +4(1508 1528 1529 1509) +4(3508 3509 3529 3528) +4(1509 1529 1530 1510) +4(3509 3510 3530 3529) +4(1510 1530 1531 1511) +4(3510 3511 3531 3530) +4(1511 1531 1532 1512) +4(3511 3512 3532 3531) +4(1512 1532 1533 1513) +4(3512 3513 3533 3532) +4(1513 1533 1534 1514) +4(3513 3514 3534 3533) +4(1514 1534 1535 1515) +4(3514 3515 3535 3534) +4(1515 1535 1536 1516) +4(3515 3516 3536 3535) +4(1516 1536 1537 1517) +4(3516 3517 3537 3536) +4(1517 1537 1538 1518) +4(3517 3518 3538 3537) +4(1518 1538 1539 1519) +4(3518 3519 3539 3538) +4(1520 1540 1541 1521) +4(3520 3521 3541 3540) +4(1521 1541 1542 1522) +4(3521 3522 3542 3541) +4(1522 1542 1543 1523) +4(3522 3523 3543 3542) +4(1523 1543 1544 1524) +4(3523 3524 3544 3543) +4(1524 1544 1545 1525) +4(3524 3525 3545 3544) +4(1525 1545 1546 1526) +4(3525 3526 3546 3545) +4(1526 1546 1547 1527) +4(3526 3527 3547 3546) +4(1527 1547 1548 1528) +4(3527 3528 3548 3547) +4(1528 1548 1549 1529) +4(3528 3529 3549 3548) +4(1529 1549 1550 1530) +4(3529 3530 3550 3549) +4(1530 1550 1551 1531) +4(3530 3531 3551 3550) +4(1531 1551 1552 1532) +4(3531 3532 3552 3551) +4(1532 1552 1553 1533) +4(3532 3533 3553 3552) +4(1533 1553 1554 1534) +4(3533 3534 3554 3553) +4(1534 1554 1555 1535) +4(3534 3535 3555 3554) +4(1535 1555 1556 1536) +4(3535 3536 3556 3555) +4(1536 1556 1557 1537) +4(3536 3537 3557 3556) +4(1537 1557 1558 1538) +4(3537 3538 3558 3557) +4(1538 1558 1559 1539) +4(3538 3539 3559 3558) +4(1540 1560 1561 1541) +4(3540 3541 3561 3560) +4(1541 1561 1562 1542) +4(3541 3542 3562 3561) +4(1542 1562 1563 1543) +4(3542 3543 3563 3562) +4(1543 1563 1564 1544) +4(3543 3544 3564 3563) +4(1544 1564 1565 1545) +4(3544 3545 3565 3564) +4(1545 1565 1566 1546) +4(3545 3546 3566 3565) +4(1546 1566 1567 1547) +4(3546 3547 3567 3566) +4(1547 1567 1568 1548) +4(3547 3548 3568 3567) +4(1548 1568 1569 1549) +4(3548 3549 3569 3568) +4(1549 1569 1570 1550) +4(3549 3550 3570 3569) +4(1550 1570 1571 1551) +4(3550 3551 3571 3570) +4(1551 1571 1572 1552) +4(3551 3552 3572 3571) +4(1552 1572 1573 1553) +4(3552 3553 3573 3572) +4(1553 1573 1574 1554) +4(3553 3554 3574 3573) +4(1554 1574 1575 1555) +4(3554 3555 3575 3574) +4(1555 1575 1576 1556) +4(3555 3556 3576 3575) +4(1556 1576 1577 1557) +4(3556 3557 3577 3576) +4(1557 1577 1578 1558) +4(3557 3558 3578 3577) +4(1558 1578 1579 1559) +4(3558 3559 3579 3578) +4(1560 1580 1581 1561) +4(3560 3561 3581 3580) +4(1561 1581 1582 1562) +4(3561 3562 3582 3581) +4(1562 1582 1583 1563) +4(3562 3563 3583 3582) +4(1563 1583 1584 1564) +4(3563 3564 3584 3583) +4(1564 1584 1585 1565) +4(3564 3565 3585 3584) +4(1565 1585 1586 1566) +4(3565 3566 3586 3585) +4(1566 1586 1587 1567) +4(3566 3567 3587 3586) +4(1567 1587 1588 1568) +4(3567 3568 3588 3587) +4(1568 1588 1589 1569) +4(3568 3569 3589 3588) +4(1569 1589 1590 1570) +4(3569 3570 3590 3589) +4(1570 1590 1591 1571) +4(3570 3571 3591 3590) +4(1571 1591 1592 1572) +4(3571 3572 3592 3591) +4(1572 1592 1593 1573) +4(3572 3573 3593 3592) +4(1573 1593 1594 1574) +4(3573 3574 3594 3593) +4(1574 1594 1595 1575) +4(3574 3575 3595 3594) +4(1575 1595 1596 1576) +4(3575 3576 3596 3595) +4(1576 1596 1597 1577) +4(3576 3577 3597 3596) +4(1577 1597 1598 1578) +4(3577 3578 3598 3597) +4(1578 1598 1599 1579) +4(3578 3579 3599 3598) +4(1580 1600 1601 1581) +4(3580 3581 3601 3600) +4(1581 1601 1602 1582) +4(3581 3582 3602 3601) +4(1582 1602 1603 1583) +4(3582 3583 3603 3602) +4(1583 1603 1604 1584) +4(3583 3584 3604 3603) +4(1584 1604 1605 1585) +4(3584 3585 3605 3604) +4(1585 1605 1606 1586) +4(3585 3586 3606 3605) +4(1586 1606 1607 1587) +4(3586 3587 3607 3606) +4(1587 1607 1608 1588) +4(3587 3588 3608 3607) +4(1588 1608 1609 1589) +4(3588 3589 3609 3608) +4(1589 1609 1610 1590) +4(3589 3590 3610 3609) +4(1590 1610 1611 1591) +4(3590 3591 3611 3610) +4(1591 1611 1612 1592) +4(3591 3592 3612 3611) +4(1592 1612 1613 1593) +4(3592 3593 3613 3612) +4(1593 1613 1614 1594) +4(3593 3594 3614 3613) +4(1594 1614 1615 1595) +4(3594 3595 3615 3614) +4(1595 1615 1616 1596) +4(3595 3596 3616 3615) +4(1596 1616 1617 1597) +4(3596 3597 3617 3616) +4(1597 1617 1618 1598) +4(3597 3598 3618 3617) +4(1598 1618 1619 1599) +4(3598 3599 3619 3618) +4(1600 1620 1621 1601) +4(3600 3601 3621 3620) +4(1601 1621 1622 1602) +4(3601 3602 3622 3621) +4(1602 1622 1623 1603) +4(3602 3603 3623 3622) +4(1603 1623 1624 1604) +4(3603 3604 3624 3623) +4(1604 1624 1625 1605) +4(3604 3605 3625 3624) +4(1605 1625 1626 1606) +4(3605 3606 3626 3625) +4(1606 1626 1627 1607) +4(3606 3607 3627 3626) +4(1607 1627 1628 1608) +4(3607 3608 3628 3627) +4(1608 1628 1629 1609) +4(3608 3609 3629 3628) +4(1609 1629 1630 1610) +4(3609 3610 3630 3629) +4(1610 1630 1631 1611) +4(3610 3611 3631 3630) +4(1611 1631 1632 1612) +4(3611 3612 3632 3631) +4(1612 1632 1633 1613) +4(3612 3613 3633 3632) +4(1613 1633 1634 1614) +4(3613 3614 3634 3633) +4(1614 1634 1635 1615) +4(3614 3615 3635 3634) +4(1615 1635 1636 1616) +4(3615 3616 3636 3635) +4(1616 1636 1637 1617) +4(3616 3617 3637 3636) +4(1617 1637 1638 1618) +4(3617 3618 3638 3637) +4(1618 1638 1639 1619) +4(3618 3619 3639 3638) +4(1620 1640 1641 1621) +4(3620 3621 3641 3640) +4(1621 1641 1642 1622) +4(3621 3622 3642 3641) +4(1622 1642 1643 1623) +4(3622 3623 3643 3642) +4(1623 1643 1644 1624) +4(3623 3624 3644 3643) +4(1624 1644 1645 1625) +4(3624 3625 3645 3644) +4(1625 1645 1646 1626) +4(3625 3626 3646 3645) +4(1626 1646 1647 1627) +4(3626 3627 3647 3646) +4(1627 1647 1648 1628) +4(3627 3628 3648 3647) +4(1628 1648 1649 1629) +4(3628 3629 3649 3648) +4(1629 1649 1650 1630) +4(3629 3630 3650 3649) +4(1630 1650 1651 1631) +4(3630 3631 3651 3650) +4(1631 1651 1652 1632) +4(3631 3632 3652 3651) +4(1632 1652 1653 1633) +4(3632 3633 3653 3652) +4(1633 1653 1654 1634) +4(3633 3634 3654 3653) +4(1634 1654 1655 1635) +4(3634 3635 3655 3654) +4(1635 1655 1656 1636) +4(3635 3636 3656 3655) +4(1636 1656 1657 1637) +4(3636 3637 3657 3656) +4(1637 1657 1658 1638) +4(3637 3638 3658 3657) +4(1638 1658 1659 1639) +4(3638 3639 3659 3658) +4(1640 1660 1661 1641) +4(3640 3641 3661 3660) +4(1641 1661 1662 1642) +4(3641 3642 3662 3661) +4(1642 1662 1663 1643) +4(3642 3643 3663 3662) +4(1643 1663 1664 1644) +4(3643 3644 3664 3663) +4(1644 1664 1665 1645) +4(3644 3645 3665 3664) +4(1645 1665 1666 1646) +4(3645 3646 3666 3665) +4(1646 1666 1667 1647) +4(3646 3647 3667 3666) +4(1647 1667 1668 1648) +4(3647 3648 3668 3667) +4(1648 1668 1669 1649) +4(3648 3649 3669 3668) +4(1649 1669 1670 1650) +4(3649 3650 3670 3669) +4(1650 1670 1671 1651) +4(3650 3651 3671 3670) +4(1651 1671 1672 1652) +4(3651 3652 3672 3671) +4(1652 1672 1673 1653) +4(3652 3653 3673 3672) +4(1653 1673 1674 1654) +4(3653 3654 3674 3673) +4(1654 1674 1675 1655) +4(3654 3655 3675 3674) +4(1655 1675 1676 1656) +4(3655 3656 3676 3675) +4(1656 1676 1677 1657) +4(3656 3657 3677 3676) +4(1657 1677 1678 1658) +4(3657 3658 3678 3677) +4(1658 1678 1679 1659) +4(3658 3659 3679 3678) +4(1660 1680 1681 1661) +4(3660 3661 3681 3680) +4(1661 1681 1682 1662) +4(3661 3662 3682 3681) +4(1662 1682 1683 1663) +4(3662 3663 3683 3682) +4(1663 1683 1684 1664) +4(3663 3664 3684 3683) +4(1664 1684 1685 1665) +4(3664 3665 3685 3684) +4(1665 1685 1686 1666) +4(3665 3666 3686 3685) +4(1666 1686 1687 1667) +4(3666 3667 3687 3686) +4(1667 1687 1688 1668) +4(3667 3668 3688 3687) +4(1668 1688 1689 1669) +4(3668 3669 3689 3688) +4(1669 1689 1690 1670) +4(3669 3670 3690 3689) +4(1670 1690 1691 1671) +4(3670 3671 3691 3690) +4(1671 1691 1692 1672) +4(3671 3672 3692 3691) +4(1672 1692 1693 1673) +4(3672 3673 3693 3692) +4(1673 1693 1694 1674) +4(3673 3674 3694 3693) +4(1674 1694 1695 1675) +4(3674 3675 3695 3694) +4(1675 1695 1696 1676) +4(3675 3676 3696 3695) +4(1676 1696 1697 1677) +4(3676 3677 3697 3696) +4(1677 1697 1698 1678) +4(3677 3678 3698 3697) +4(1678 1698 1699 1679) +4(3678 3679 3699 3698) +4(1680 1700 1701 1681) +4(3680 3681 3701 3700) +4(1681 1701 1702 1682) +4(3681 3682 3702 3701) +4(1682 1702 1703 1683) +4(3682 3683 3703 3702) +4(1683 1703 1704 1684) +4(3683 3684 3704 3703) +4(1684 1704 1705 1685) +4(3684 3685 3705 3704) +4(1685 1705 1706 1686) +4(3685 3686 3706 3705) +4(1686 1706 1707 1687) +4(3686 3687 3707 3706) +4(1687 1707 1708 1688) +4(3687 3688 3708 3707) +4(1688 1708 1709 1689) +4(3688 3689 3709 3708) +4(1689 1709 1710 1690) +4(3689 3690 3710 3709) +4(1690 1710 1711 1691) +4(3690 3691 3711 3710) +4(1691 1711 1712 1692) +4(3691 3692 3712 3711) +4(1692 1712 1713 1693) +4(3692 3693 3713 3712) +4(1693 1713 1714 1694) +4(3693 3694 3714 3713) +4(1694 1714 1715 1695) +4(3694 3695 3715 3714) +4(1695 1715 1716 1696) +4(3695 3696 3716 3715) +4(1696 1716 1717 1697) +4(3696 3697 3717 3716) +4(1697 1717 1718 1698) +4(3697 3698 3718 3717) +4(1698 1718 1719 1699) +4(3698 3699 3719 3718) +4(1700 1720 1721 1701) +4(3700 3701 3721 3720) +4(1701 1721 1722 1702) +4(3701 3702 3722 3721) +4(1702 1722 1723 1703) +4(3702 3703 3723 3722) +4(1703 1723 1724 1704) +4(3703 3704 3724 3723) +4(1704 1724 1725 1705) +4(3704 3705 3725 3724) +4(1705 1725 1726 1706) +4(3705 3706 3726 3725) +4(1706 1726 1727 1707) +4(3706 3707 3727 3726) +4(1707 1727 1728 1708) +4(3707 3708 3728 3727) +4(1708 1728 1729 1709) +4(3708 3709 3729 3728) +4(1709 1729 1730 1710) +4(3709 3710 3730 3729) +4(1710 1730 1731 1711) +4(3710 3711 3731 3730) +4(1711 1731 1732 1712) +4(3711 3712 3732 3731) +4(1712 1732 1733 1713) +4(3712 3713 3733 3732) +4(1713 1733 1734 1714) +4(3713 3714 3734 3733) +4(1714 1734 1735 1715) +4(3714 3715 3735 3734) +4(1715 1735 1736 1716) +4(3715 3716 3736 3735) +4(1716 1736 1737 1717) +4(3716 3717 3737 3736) +4(1717 1737 1738 1718) +4(3717 3718 3738 3737) +4(1718 1738 1739 1719) +4(3718 3719 3739 3738) +4(1720 1740 1741 1721) +4(3720 3721 3741 3740) +4(1721 1741 1742 1722) +4(3721 3722 3742 3741) +4(1722 1742 1743 1723) +4(3722 3723 3743 3742) +4(1723 1743 1744 1724) +4(3723 3724 3744 3743) +4(1724 1744 1745 1725) +4(3724 3725 3745 3744) +4(1725 1745 1746 1726) +4(3725 3726 3746 3745) +4(1726 1746 1747 1727) +4(3726 3727 3747 3746) +4(1727 1747 1748 1728) +4(3727 3728 3748 3747) +4(1728 1748 1749 1729) +4(3728 3729 3749 3748) +4(1729 1749 1750 1730) +4(3729 3730 3750 3749) +4(1730 1750 1751 1731) +4(3730 3731 3751 3750) +4(1731 1751 1752 1732) +4(3731 3732 3752 3751) +4(1732 1752 1753 1733) +4(3732 3733 3753 3752) +4(1733 1753 1754 1734) +4(3733 3734 3754 3753) +4(1734 1754 1755 1735) +4(3734 3735 3755 3754) +4(1735 1755 1756 1736) +4(3735 3736 3756 3755) +4(1736 1756 1757 1737) +4(3736 3737 3757 3756) +4(1737 1757 1758 1738) +4(3737 3738 3758 3757) +4(1738 1758 1759 1739) +4(3738 3739 3759 3758) +4(1740 1760 1761 1741) +4(3740 3741 3761 3760) +4(1741 1761 1762 1742) +4(3741 3742 3762 3761) +4(1742 1762 1763 1743) +4(3742 3743 3763 3762) +4(1743 1763 1764 1744) +4(3743 3744 3764 3763) +4(1744 1764 1765 1745) +4(3744 3745 3765 3764) +4(1745 1765 1766 1746) +4(3745 3746 3766 3765) +4(1746 1766 1767 1747) +4(3746 3747 3767 3766) +4(1747 1767 1768 1748) +4(3747 3748 3768 3767) +4(1748 1768 1769 1749) +4(3748 3749 3769 3768) +4(1749 1769 1770 1750) +4(3749 3750 3770 3769) +4(1750 1770 1771 1751) +4(3750 3751 3771 3770) +4(1751 1771 1772 1752) +4(3751 3752 3772 3771) +4(1752 1772 1773 1753) +4(3752 3753 3773 3772) +4(1753 1773 1774 1754) +4(3753 3754 3774 3773) +4(1754 1774 1775 1755) +4(3754 3755 3775 3774) +4(1755 1775 1776 1756) +4(3755 3756 3776 3775) +4(1756 1776 1777 1757) +4(3756 3757 3777 3776) +4(1757 1777 1778 1758) +4(3757 3758 3778 3777) +4(1758 1778 1779 1759) +4(3758 3759 3779 3778) +4(1760 1780 1781 1761) +4(3760 3761 3781 3780) +4(1761 1781 1782 1762) +4(3761 3762 3782 3781) +4(1762 1782 1783 1763) +4(3762 3763 3783 3782) +4(1763 1783 1784 1764) +4(3763 3764 3784 3783) +4(1764 1784 1785 1765) +4(3764 3765 3785 3784) +4(1765 1785 1786 1766) +4(3765 3766 3786 3785) +4(1766 1786 1787 1767) +4(3766 3767 3787 3786) +4(1767 1787 1788 1768) +4(3767 3768 3788 3787) +4(1768 1788 1789 1769) +4(3768 3769 3789 3788) +4(1769 1789 1790 1770) +4(3769 3770 3790 3789) +4(1770 1790 1791 1771) +4(3770 3771 3791 3790) +4(1771 1791 1792 1772) +4(3771 3772 3792 3791) +4(1772 1792 1793 1773) +4(3772 3773 3793 3792) +4(1773 1793 1794 1774) +4(3773 3774 3794 3793) +4(1774 1794 1795 1775) +4(3774 3775 3795 3794) +4(1775 1795 1796 1776) +4(3775 3776 3796 3795) +4(1776 1796 1797 1777) +4(3776 3777 3797 3796) +4(1777 1797 1798 1778) +4(3777 3778 3798 3797) +4(1778 1798 1799 1779) +4(3778 3779 3799 3798) +4(1780 1800 1801 1781) +4(3780 3781 3801 3800) +4(1781 1801 1802 1782) +4(3781 3782 3802 3801) +4(1782 1802 1803 1783) +4(3782 3783 3803 3802) +4(1783 1803 1804 1784) +4(3783 3784 3804 3803) +4(1784 1804 1805 1785) +4(3784 3785 3805 3804) +4(1785 1805 1806 1786) +4(3785 3786 3806 3805) +4(1786 1806 1807 1787) +4(3786 3787 3807 3806) +4(1787 1807 1808 1788) +4(3787 3788 3808 3807) +4(1788 1808 1809 1789) +4(3788 3789 3809 3808) +4(1789 1809 1810 1790) +4(3789 3790 3810 3809) +4(1790 1810 1811 1791) +4(3790 3791 3811 3810) +4(1791 1811 1812 1792) +4(3791 3792 3812 3811) +4(1792 1812 1813 1793) +4(3792 3793 3813 3812) +4(1793 1813 1814 1794) +4(3793 3794 3814 3813) +4(1794 1814 1815 1795) +4(3794 3795 3815 3814) +4(1795 1815 1816 1796) +4(3795 3796 3816 3815) +4(1796 1816 1817 1797) +4(3796 3797 3817 3816) +4(1797 1817 1818 1798) +4(3797 3798 3818 3817) +4(1798 1818 1819 1799) +4(3798 3799 3819 3818) +4(1800 1820 1821 1801) +4(3800 3801 3821 3820) +4(1801 1821 1822 1802) +4(3801 3802 3822 3821) +4(1802 1822 1823 1803) +4(3802 3803 3823 3822) +4(1803 1823 1824 1804) +4(3803 3804 3824 3823) +4(1804 1824 1825 1805) +4(3804 3805 3825 3824) +4(1805 1825 1826 1806) +4(3805 3806 3826 3825) +4(1806 1826 1827 1807) +4(3806 3807 3827 3826) +4(1807 1827 1828 1808) +4(3807 3808 3828 3827) +4(1808 1828 1829 1809) +4(3808 3809 3829 3828) +4(1809 1829 1830 1810) +4(3809 3810 3830 3829) +4(1810 1830 1831 1811) +4(3810 3811 3831 3830) +4(1811 1831 1832 1812) +4(3811 3812 3832 3831) +4(1812 1832 1833 1813) +4(3812 3813 3833 3832) +4(1813 1833 1834 1814) +4(3813 3814 3834 3833) +4(1814 1834 1835 1815) +4(3814 3815 3835 3834) +4(1815 1835 1836 1816) +4(3815 3816 3836 3835) +4(1816 1836 1837 1817) +4(3816 3817 3837 3836) +4(1817 1837 1838 1818) +4(3817 3818 3838 3837) +4(1818 1838 1839 1819) +4(3818 3819 3839 3838) +4(1820 1840 1841 1821) +4(3820 3821 3841 3840) +4(1821 1841 1842 1822) +4(3821 3822 3842 3841) +4(1822 1842 1843 1823) +4(3822 3823 3843 3842) +4(1823 1843 1844 1824) +4(3823 3824 3844 3843) +4(1824 1844 1845 1825) +4(3824 3825 3845 3844) +4(1825 1845 1846 1826) +4(3825 3826 3846 3845) +4(1826 1846 1847 1827) +4(3826 3827 3847 3846) +4(1827 1847 1848 1828) +4(3827 3828 3848 3847) +4(1828 1848 1849 1829) +4(3828 3829 3849 3848) +4(1829 1849 1850 1830) +4(3829 3830 3850 3849) +4(1830 1850 1851 1831) +4(3830 3831 3851 3850) +4(1831 1851 1852 1832) +4(3831 3832 3852 3851) +4(1832 1852 1853 1833) +4(3832 3833 3853 3852) +4(1833 1853 1854 1834) +4(3833 3834 3854 3853) +4(1834 1854 1855 1835) +4(3834 3835 3855 3854) +4(1835 1855 1856 1836) +4(3835 3836 3856 3855) +4(1836 1856 1857 1837) +4(3836 3837 3857 3856) +4(1837 1857 1858 1838) +4(3837 3838 3858 3857) +4(1838 1858 1859 1839) +4(3838 3839 3859 3858) +4(1840 1860 1861 1841) +4(3840 3841 3861 3860) +4(1841 1861 1862 1842) +4(3841 3842 3862 3861) +4(1842 1862 1863 1843) +4(3842 3843 3863 3862) +4(1843 1863 1864 1844) +4(3843 3844 3864 3863) +4(1844 1864 1865 1845) +4(3844 3845 3865 3864) +4(1845 1865 1866 1846) +4(3845 3846 3866 3865) +4(1846 1866 1867 1847) +4(3846 3847 3867 3866) +4(1847 1867 1868 1848) +4(3847 3848 3868 3867) +4(1848 1868 1869 1849) +4(3848 3849 3869 3868) +4(1849 1869 1870 1850) +4(3849 3850 3870 3869) +4(1850 1870 1871 1851) +4(3850 3851 3871 3870) +4(1851 1871 1872 1852) +4(3851 3852 3872 3871) +4(1852 1872 1873 1853) +4(3852 3853 3873 3872) +4(1853 1873 1874 1854) +4(3853 3854 3874 3873) +4(1854 1874 1875 1855) +4(3854 3855 3875 3874) +4(1855 1875 1876 1856) +4(3855 3856 3876 3875) +4(1856 1876 1877 1857) +4(3856 3857 3877 3876) +4(1857 1877 1878 1858) +4(3857 3858 3878 3877) +4(1858 1878 1879 1859) +4(3858 3859 3879 3878) +4(1860 1880 1881 1861) +4(3860 3861 3881 3880) +4(1861 1881 1882 1862) +4(3861 3862 3882 3881) +4(1862 1882 1883 1863) +4(3862 3863 3883 3882) +4(1863 1883 1884 1864) +4(3863 3864 3884 3883) +4(1864 1884 1885 1865) +4(3864 3865 3885 3884) +4(1865 1885 1886 1866) +4(3865 3866 3886 3885) +4(1866 1886 1887 1867) +4(3866 3867 3887 3886) +4(1867 1887 1888 1868) +4(3867 3868 3888 3887) +4(1868 1888 1889 1869) +4(3868 3869 3889 3888) +4(1869 1889 1890 1870) +4(3869 3870 3890 3889) +4(1870 1890 1891 1871) +4(3870 3871 3891 3890) +4(1871 1891 1892 1872) +4(3871 3872 3892 3891) +4(1872 1892 1893 1873) +4(3872 3873 3893 3892) +4(1873 1893 1894 1874) +4(3873 3874 3894 3893) +4(1874 1894 1895 1875) +4(3874 3875 3895 3894) +4(1875 1895 1896 1876) +4(3875 3876 3896 3895) +4(1876 1896 1897 1877) +4(3876 3877 3897 3896) +4(1877 1897 1898 1878) +4(3877 3878 3898 3897) +4(1878 1898 1899 1879) +4(3878 3879 3899 3898) +4(1880 1900 1901 1881) +4(3880 3881 3901 3900) +4(1881 1901 1902 1882) +4(3881 3882 3902 3901) +4(1882 1902 1903 1883) +4(3882 3883 3903 3902) +4(1883 1903 1904 1884) +4(3883 3884 3904 3903) +4(1884 1904 1905 1885) +4(3884 3885 3905 3904) +4(1885 1905 1906 1886) +4(3885 3886 3906 3905) +4(1886 1906 1907 1887) +4(3886 3887 3907 3906) +4(1887 1907 1908 1888) +4(3887 3888 3908 3907) +4(1888 1908 1909 1889) +4(3888 3889 3909 3908) +4(1889 1909 1910 1890) +4(3889 3890 3910 3909) +4(1890 1910 1911 1891) +4(3890 3891 3911 3910) +4(1891 1911 1912 1892) +4(3891 3892 3912 3911) +4(1892 1912 1913 1893) +4(3892 3893 3913 3912) +4(1893 1913 1914 1894) +4(3893 3894 3914 3913) +4(1894 1914 1915 1895) +4(3894 3895 3915 3914) +4(1895 1915 1916 1896) +4(3895 3896 3916 3915) +4(1896 1916 1917 1897) +4(3896 3897 3917 3916) +4(1897 1917 1918 1898) +4(3897 3898 3918 3917) +4(1898 1918 1919 1899) +4(3898 3899 3919 3918) +4(1900 1920 1921 1901) +4(3900 3901 3921 3920) +4(1901 1921 1922 1902) +4(3901 3902 3922 3921) +4(1902 1922 1923 1903) +4(3902 3903 3923 3922) +4(1903 1923 1924 1904) +4(3903 3904 3924 3923) +4(1904 1924 1925 1905) +4(3904 3905 3925 3924) +4(1905 1925 1926 1906) +4(3905 3906 3926 3925) +4(1906 1926 1927 1907) +4(3906 3907 3927 3926) +4(1907 1927 1928 1908) +4(3907 3908 3928 3927) +4(1908 1928 1929 1909) +4(3908 3909 3929 3928) +4(1909 1929 1930 1910) +4(3909 3910 3930 3929) +4(1910 1930 1931 1911) +4(3910 3911 3931 3930) +4(1911 1931 1932 1912) +4(3911 3912 3932 3931) +4(1912 1932 1933 1913) +4(3912 3913 3933 3932) +4(1913 1933 1934 1914) +4(3913 3914 3934 3933) +4(1914 1934 1935 1915) +4(3914 3915 3935 3934) +4(1915 1935 1936 1916) +4(3915 3916 3936 3935) +4(1916 1936 1937 1917) +4(3916 3917 3937 3936) +4(1917 1937 1938 1918) +4(3917 3918 3938 3937) +4(1918 1938 1939 1919) +4(3918 3919 3939 3938) +4(1920 1940 1941 1921) +4(3920 3921 3941 3940) +4(1921 1941 1942 1922) +4(3921 3922 3942 3941) +4(1922 1942 1943 1923) +4(3922 3923 3943 3942) +4(1923 1943 1944 1924) +4(3923 3924 3944 3943) +4(1924 1944 1945 1925) +4(3924 3925 3945 3944) +4(1925 1945 1946 1926) +4(3925 3926 3946 3945) +4(1926 1946 1947 1927) +4(3926 3927 3947 3946) +4(1927 1947 1948 1928) +4(3927 3928 3948 3947) +4(1928 1948 1949 1929) +4(3928 3929 3949 3948) +4(1929 1949 1950 1930) +4(3929 3930 3950 3949) +4(1930 1950 1951 1931) +4(3930 3931 3951 3950) +4(1931 1951 1952 1932) +4(3931 3932 3952 3951) +4(1932 1952 1953 1933) +4(3932 3933 3953 3952) +4(1933 1953 1954 1934) +4(3933 3934 3954 3953) +4(1934 1954 1955 1935) +4(3934 3935 3955 3954) +4(1935 1955 1956 1936) +4(3935 3936 3956 3955) +4(1936 1956 1957 1937) +4(3936 3937 3957 3956) +4(1937 1957 1958 1938) +4(3937 3938 3958 3957) +4(1938 1958 1959 1939) +4(3938 3939 3959 3958) +4(1940 1960 1961 1941) +4(3940 3941 3961 3960) +4(1941 1961 1962 1942) +4(3941 3942 3962 3961) +4(1942 1962 1963 1943) +4(3942 3943 3963 3962) +4(1943 1963 1964 1944) +4(3943 3944 3964 3963) +4(1944 1964 1965 1945) +4(3944 3945 3965 3964) +4(1945 1965 1966 1946) +4(3945 3946 3966 3965) +4(1946 1966 1967 1947) +4(3946 3947 3967 3966) +4(1947 1967 1968 1948) +4(3947 3948 3968 3967) +4(1948 1968 1969 1949) +4(3948 3949 3969 3968) +4(1949 1969 1970 1950) +4(3949 3950 3970 3969) +4(1950 1970 1971 1951) +4(3950 3951 3971 3970) +4(1951 1971 1972 1952) +4(3951 3952 3972 3971) +4(1952 1972 1973 1953) +4(3952 3953 3973 3972) +4(1953 1973 1974 1954) +4(3953 3954 3974 3973) +4(1954 1974 1975 1955) +4(3954 3955 3975 3974) +4(1955 1975 1976 1956) +4(3955 3956 3976 3975) +4(1956 1976 1977 1957) +4(3956 3957 3977 3976) +4(1957 1977 1978 1958) +4(3957 3958 3978 3977) +4(1958 1978 1979 1959) +4(3958 3959 3979 3978) +4(1960 1980 1981 1961) +4(3960 3961 3981 3980) +4(1961 1981 1982 1962) +4(3961 3962 3982 3981) +4(1962 1982 1983 1963) +4(3962 3963 3983 3982) +4(1963 1983 1984 1964) +4(3963 3964 3984 3983) +4(1964 1984 1985 1965) +4(3964 3965 3985 3984) +4(1965 1985 1986 1966) +4(3965 3966 3986 3985) +4(1966 1986 1987 1967) +4(3966 3967 3987 3986) +4(1967 1987 1988 1968) +4(3967 3968 3988 3987) +4(1968 1988 1989 1969) +4(3968 3969 3989 3988) +4(1969 1989 1990 1970) +4(3969 3970 3990 3989) +4(1970 1990 1991 1971) +4(3970 3971 3991 3990) +4(1971 1991 1992 1972) +4(3971 3972 3992 3991) +4(1972 1992 1993 1973) +4(3972 3973 3993 3992) +4(1973 1993 1994 1974) +4(3973 3974 3994 3993) +4(1974 1994 1995 1975) +4(3974 3975 3995 3994) +4(1975 1995 1996 1976) +4(3975 3976 3996 3995) +4(1976 1996 1997 1977) +4(3976 3977 3997 3996) +4(1977 1997 1998 1978) +4(3977 3978 3998 3997) +4(1978 1998 1999 1979) +4(3978 3979 3999 3998) +) + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/neighbour b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/neighbour new file mode 100755 index 000000000..c58d3b2b1 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/neighbour @@ -0,0 +1,3669 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class labelList; + note "nPoints: 4000 nCells: 1881 nFaces: 7642 nInternalFaces: 3644"; + location "constant/polyMesh"; + object neighbour; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +3644 +( +1 +19 +2 +20 +3 +21 +4 +22 +5 +23 +6 +24 +7 +25 +8 +26 +9 +27 +10 +28 +11 +29 +12 +30 +13 +31 +14 +32 +15 +33 +16 +34 +17 +35 +18 +36 +37 +20 +38 +21 +39 +22 +40 +23 +41 +24 +42 +25 +43 +26 +44 +27 +45 +28 +46 +29 +47 +30 +48 +31 +49 +32 +50 +33 +51 +34 +52 +35 +53 +36 +54 +37 +55 +56 +39 +57 +40 +58 +41 +59 +42 +60 +43 +61 +44 +62 +45 +63 +46 +64 +47 +65 +48 +66 +49 +67 +50 +68 +51 +69 +52 +70 +53 +71 +54 +72 +55 +73 +56 +74 +75 +58 +76 +59 +77 +60 +78 +61 +79 +62 +80 +63 +81 +64 +82 +65 +83 +66 +84 +67 +85 +68 +86 +69 +87 +70 +88 +71 +89 +72 +90 +73 +91 +74 +92 +75 +93 +94 +77 +95 +78 +96 +79 +97 +80 +98 +81 +99 +82 +100 +83 +101 +84 +102 +85 +103 +86 +104 +87 +105 +88 +106 +89 +107 +90 +108 +91 +109 +92 +110 +93 +111 +94 +112 +113 +96 +114 +97 +115 +98 +116 +99 +117 +100 +118 +101 +119 +102 +120 +103 +121 +104 +122 +105 +123 +106 +124 +107 +125 +108 +126 +109 +127 +110 +128 +111 +129 +112 +130 +113 +131 +132 +115 +133 +116 +134 +117 +135 +118 +136 +119 +137 +120 +138 +121 +139 +122 +140 +123 +141 +124 +142 +125 +143 +126 +144 +127 +145 +128 +146 +129 +147 +130 +148 +131 +149 +132 +150 +151 +134 +152 +135 +153 +136 +154 +137 +155 +138 +156 +139 +157 +140 +158 +141 +159 +142 +160 +143 +161 +144 +162 +145 +163 +146 +164 +147 +165 +148 +166 +149 +167 +150 +168 +151 +169 +170 +153 +171 +154 +172 +155 +173 +156 +174 +157 +175 +158 +176 +159 +177 +160 +178 +161 +179 +162 +180 +163 +181 +164 +182 +165 +183 +166 +184 +167 +185 +168 +186 +169 +187 +170 +188 +189 +172 +190 +173 +191 +174 +192 +175 +193 +176 +194 +177 +195 +178 +196 +179 +197 +180 +198 +181 +199 +182 +200 +183 +201 +184 +202 +185 +203 +186 +204 +187 +205 +188 +206 +189 +207 +208 +191 +209 +192 +210 +193 +211 +194 +212 +195 +213 +196 +214 +197 +215 +198 +216 +199 +217 +200 +218 +201 +219 +202 +220 +203 +221 +204 +222 +205 +223 +206 +224 +207 +225 +208 +226 +227 +210 +228 +211 +229 +212 +230 +213 +231 +214 +232 +215 +233 +216 +234 +217 +235 +218 +236 +219 +237 +220 +238 +221 +239 +222 +240 +223 +241 +224 +242 +225 +243 +226 +244 +227 +245 +246 +229 +247 +230 +248 +231 +249 +232 +250 +233 +251 +234 +252 +235 +253 +236 +254 +237 +255 +238 +256 +239 +257 +240 +258 +241 +259 +242 +260 +243 +261 +244 +262 +245 +263 +246 +264 +265 +248 +266 +249 +267 +250 +268 +251 +269 +252 +270 +253 +271 +254 +272 +255 +273 +256 +274 +257 +275 +258 +276 +259 +277 +260 +278 +261 +279 +262 +280 +263 +281 +264 +282 +265 +283 +284 +267 +285 +268 +286 +269 +287 +270 +288 +271 +289 +272 +290 +273 +291 +274 +292 +275 +293 +276 +294 +277 +295 +278 +296 +279 +297 +280 +298 +281 +299 +282 +300 +283 +301 +284 +302 +303 +286 +304 +287 +305 +288 +306 +289 +307 +290 +308 +291 +309 +292 +310 +293 +311 +294 +312 +295 +313 +296 +314 +297 +315 +298 +316 +299 +317 +300 +318 +301 +319 +302 +320 +303 +321 +322 +305 +323 +306 +324 +307 +325 +308 +326 +309 +327 +310 +328 +311 +329 +312 +330 +313 +331 +314 +332 +315 +333 +316 +334 +317 +335 +318 +336 +319 +337 +320 +338 +321 +339 +322 +340 +341 +324 +342 +325 +343 +326 +344 +327 +345 +328 +346 +329 +347 +330 +348 +331 +349 +332 +350 +333 +351 +334 +352 +335 +353 +336 +354 +337 +355 +338 +356 +339 +357 +340 +358 +341 +359 +360 +343 +361 +344 +362 +345 +363 +346 +364 +347 +365 +348 +366 +349 +367 +350 +368 +351 +369 +352 +370 +353 +371 +354 +372 +355 +373 +356 +374 +357 +375 +358 +376 +359 +377 +360 +378 +379 +362 +380 +363 +381 +364 +382 +365 +383 +366 +384 +367 +385 +368 +386 +369 +387 +370 +388 +371 +389 +372 +390 +373 +391 +374 +392 +375 +393 +376 +394 +377 +395 +378 +396 +379 +397 +398 +381 +399 +382 +400 +383 +401 +384 +402 +385 +403 +386 +404 +387 +405 +388 +406 +389 +407 +390 +408 +391 +409 +392 +410 +393 +411 +394 +412 +395 +413 +396 +414 +397 +415 +398 +416 +417 +400 +418 +401 +419 +402 +420 +403 +421 +404 +422 +405 +423 +406 +424 +407 +425 +408 +426 +409 +427 +410 +428 +411 +429 +412 +430 +413 +431 +414 +432 +415 +433 +416 +434 +417 +435 +436 +419 +437 +420 +438 +421 +439 +422 +440 +423 +441 +424 +442 +425 +443 +426 +444 +427 +445 +428 +446 +429 +447 +430 +448 +431 +449 +432 +450 +433 +451 +434 +452 +435 +453 +436 +454 +455 +438 +456 +439 +457 +440 +458 +441 +459 +442 +460 +443 +461 +444 +462 +445 +463 +446 +464 +447 +465 +448 +466 +449 +467 +450 +468 +451 +469 +452 +470 +453 +471 +454 +472 +455 +473 +474 +457 +475 +458 +476 +459 +477 +460 +478 +461 +479 +462 +480 +463 +481 +464 +482 +465 +483 +466 +484 +467 +485 +468 +486 +469 +487 +470 +488 +471 +489 +472 +490 +473 +491 +474 +492 +493 +476 +494 +477 +495 +478 +496 +479 +497 +480 +498 +481 +499 +482 +500 +483 +501 +484 +502 +485 +503 +486 +504 +487 +505 +488 +506 +489 +507 +490 +508 +491 +509 +492 +510 +493 +511 +512 +495 +513 +496 +514 +497 +515 +498 +516 +499 +517 +500 +518 +501 +519 +502 +520 +503 +521 +504 +522 +505 +523 +506 +524 +507 +525 +508 +526 +509 +527 +510 +528 +511 +529 +512 +530 +531 +514 +532 +515 +533 +516 +534 +517 +535 +518 +536 +519 +537 +520 +538 +521 +539 +522 +540 +523 +541 +524 +542 +525 +543 +526 +544 +527 +545 +528 +546 +529 +547 +530 +548 +531 +549 +550 +533 +551 +534 +552 +535 +553 +536 +554 +537 +555 +538 +556 +539 +557 +540 +558 +541 +559 +542 +560 +543 +561 +544 +562 +545 +563 +546 +564 +547 +565 +548 +566 +549 +567 +550 +568 +569 +552 +570 +553 +571 +554 +572 +555 +573 +556 +574 +557 +575 +558 +576 +559 +577 +560 +578 +561 +579 +562 +580 +563 +581 +564 +582 +565 +583 +566 +584 +567 +585 +568 +586 +569 +587 +588 +571 +589 +572 +590 +573 +591 +574 +592 +575 +593 +576 +594 +577 +595 +578 +596 +579 +597 +580 +598 +581 +599 +582 +600 +583 +601 +584 +602 +585 +603 +586 +604 +587 +605 +588 +606 +607 +590 +608 +591 +609 +592 +610 +593 +611 +594 +612 +595 +613 +596 +614 +597 +615 +598 +616 +599 +617 +600 +618 +601 +619 +602 +620 +603 +621 +604 +622 +605 +623 +606 +624 +607 +625 +626 +609 +627 +610 +628 +611 +629 +612 +630 +613 +631 +614 +632 +615 +633 +616 +634 +617 +635 +618 +636 +619 +637 +620 +638 +621 +639 +622 +640 +623 +641 +624 +642 +625 +643 +626 +644 +645 +628 +646 +629 +647 +630 +648 +631 +649 +632 +650 +633 +651 +634 +652 +635 +653 +636 +654 +637 +655 +638 +656 +639 +657 +640 +658 +641 +659 +642 +660 +643 +661 +644 +662 +645 +663 +664 +647 +665 +648 +666 +649 +667 +650 +668 +651 +669 +652 +670 +653 +671 +654 +672 +655 +673 +656 +674 +657 +675 +658 +676 +659 +677 +660 +678 +661 +679 +662 +680 +663 +681 +664 +682 +683 +666 +684 +667 +685 +668 +686 +669 +687 +670 +688 +671 +689 +672 +690 +673 +691 +674 +692 +675 +693 +676 +694 +677 +695 +678 +696 +679 +697 +680 +698 +681 +699 +682 +700 +683 +701 +702 +685 +703 +686 +704 +687 +705 +688 +706 +689 +707 +690 +708 +691 +709 +692 +710 +693 +711 +694 +712 +695 +713 +696 +714 +697 +715 +698 +716 +699 +717 +700 +718 +701 +719 +702 +720 +721 +704 +722 +705 +723 +706 +724 +707 +725 +708 +726 +709 +727 +710 +728 +711 +729 +712 +730 +713 +731 +714 +732 +715 +733 +716 +734 +717 +735 +718 +736 +719 +737 +720 +738 +721 +739 +740 +723 +741 +724 +742 +725 +743 +726 +744 +727 +745 +728 +746 +729 +747 +730 +748 +731 +749 +732 +750 +733 +751 +734 +752 +735 +753 +736 +754 +737 +755 +738 +756 +739 +757 +740 +758 +759 +742 +760 +743 +761 +744 +762 +745 +763 +746 +764 +747 +765 +748 +766 +749 +767 +750 +768 +751 +769 +752 +770 +753 +771 +754 +772 +755 +773 +756 +774 +757 +775 +758 +776 +759 +777 +778 +761 +779 +762 +780 +763 +781 +764 +782 +765 +783 +766 +784 +767 +785 +768 +786 +769 +787 +770 +788 +771 +789 +772 +790 +773 +791 +774 +792 +775 +793 +776 +794 +777 +795 +778 +796 +797 +780 +798 +781 +799 +782 +800 +783 +801 +784 +802 +785 +803 +786 +804 +787 +805 +788 +806 +789 +807 +790 +808 +791 +809 +792 +810 +793 +811 +794 +812 +795 +813 +796 +814 +797 +815 +816 +799 +817 +800 +818 +801 +819 +802 +820 +803 +821 +804 +822 +805 +823 +806 +824 +807 +825 +808 +826 +809 +827 +810 +828 +811 +829 +812 +830 +813 +831 +814 +832 +815 +833 +816 +834 +835 +818 +836 +819 +837 +820 +838 +821 +839 +822 +840 +823 +841 +824 +842 +825 +843 +826 +844 +827 +845 +828 +846 +829 +847 +830 +848 +831 +849 +832 +850 +833 +851 +834 +852 +835 +853 +854 +837 +855 +838 +856 +839 +857 +840 +858 +841 +859 +842 +860 +843 +861 +844 +862 +845 +863 +846 +864 +847 +865 +848 +866 +849 +867 +850 +868 +851 +869 +852 +870 +853 +871 +854 +872 +873 +856 +874 +857 +875 +858 +876 +859 +877 +860 +878 +861 +879 +862 +880 +863 +881 +864 +882 +865 +883 +866 +884 +867 +885 +868 +886 +869 +887 +870 +888 +871 +889 +872 +890 +873 +891 +892 +875 +893 +876 +894 +877 +895 +878 +896 +879 +897 +880 +898 +881 +899 +882 +900 +883 +901 +884 +902 +885 +903 +886 +904 +887 +905 +888 +906 +889 +907 +890 +908 +891 +909 +892 +910 +911 +894 +912 +895 +913 +896 +914 +897 +915 +898 +916 +899 +917 +900 +918 +901 +919 +902 +920 +903 +921 +904 +922 +905 +923 +906 +924 +907 +925 +908 +926 +909 +927 +910 +928 +911 +929 +930 +913 +931 +914 +932 +915 +933 +916 +934 +917 +935 +918 +936 +919 +937 +920 +938 +921 +939 +922 +940 +923 +941 +924 +942 +925 +943 +926 +944 +927 +945 +928 +946 +929 +947 +930 +948 +949 +932 +950 +933 +951 +934 +952 +935 +953 +936 +954 +937 +955 +938 +956 +939 +957 +940 +958 +941 +959 +942 +960 +943 +961 +944 +962 +945 +963 +946 +964 +947 +965 +948 +966 +949 +967 +968 +951 +969 +952 +970 +953 +971 +954 +972 +955 +973 +956 +974 +957 +975 +958 +976 +959 +977 +960 +978 +961 +979 +962 +980 +963 +981 +964 +982 +965 +983 +966 +984 +967 +985 +968 +986 +987 +970 +988 +971 +989 +972 +990 +973 +991 +974 +992 +975 +993 +976 +994 +977 +995 +978 +996 +979 +997 +980 +998 +981 +999 +982 +1000 +983 +1001 +984 +1002 +985 +1003 +986 +1004 +987 +1005 +1006 +989 +1007 +990 +1008 +991 +1009 +992 +1010 +993 +1011 +994 +1012 +995 +1013 +996 +1014 +997 +1015 +998 +1016 +999 +1017 +1000 +1018 +1001 +1019 +1002 +1020 +1003 +1021 +1004 +1022 +1005 +1023 +1006 +1024 +1025 +1008 +1026 +1009 +1027 +1010 +1028 +1011 +1029 +1012 +1030 +1013 +1031 +1014 +1032 +1015 +1033 +1016 +1034 +1017 +1035 +1018 +1036 +1019 +1037 +1020 +1038 +1021 +1039 +1022 +1040 +1023 +1041 +1024 +1042 +1025 +1043 +1044 +1027 +1045 +1028 +1046 +1029 +1047 +1030 +1048 +1031 +1049 +1032 +1050 +1033 +1051 +1034 +1052 +1035 +1053 +1036 +1054 +1037 +1055 +1038 +1056 +1039 +1057 +1040 +1058 +1041 +1059 +1042 +1060 +1043 +1061 +1044 +1062 +1063 +1046 +1064 +1047 +1065 +1048 +1066 +1049 +1067 +1050 +1068 +1051 +1069 +1052 +1070 +1053 +1071 +1054 +1072 +1055 +1073 +1056 +1074 +1057 +1075 +1058 +1076 +1059 +1077 +1060 +1078 +1061 +1079 +1062 +1080 +1063 +1081 +1082 +1065 +1083 +1066 +1084 +1067 +1085 +1068 +1086 +1069 +1087 +1070 +1088 +1071 +1089 +1072 +1090 +1073 +1091 +1074 +1092 +1075 +1093 +1076 +1094 +1077 +1095 +1078 +1096 +1079 +1097 +1080 +1098 +1081 +1099 +1082 +1100 +1101 +1084 +1102 +1085 +1103 +1086 +1104 +1087 +1105 +1088 +1106 +1089 +1107 +1090 +1108 +1091 +1109 +1092 +1110 +1093 +1111 +1094 +1112 +1095 +1113 +1096 +1114 +1097 +1115 +1098 +1116 +1099 +1117 +1100 +1118 +1101 +1119 +1120 +1103 +1121 +1104 +1122 +1105 +1123 +1106 +1124 +1107 +1125 +1108 +1126 +1109 +1127 +1110 +1128 +1111 +1129 +1112 +1130 +1113 +1131 +1114 +1132 +1115 +1133 +1116 +1134 +1117 +1135 +1118 +1136 +1119 +1137 +1120 +1138 +1139 +1122 +1140 +1123 +1141 +1124 +1142 +1125 +1143 +1126 +1144 +1127 +1145 +1128 +1146 +1129 +1147 +1130 +1148 +1131 +1149 +1132 +1150 +1133 +1151 +1134 +1152 +1135 +1153 +1136 +1154 +1137 +1155 +1138 +1156 +1139 +1157 +1158 +1141 +1159 +1142 +1160 +1143 +1161 +1144 +1162 +1145 +1163 +1146 +1164 +1147 +1165 +1148 +1166 +1149 +1167 +1150 +1168 +1151 +1169 +1152 +1170 +1153 +1171 +1154 +1172 +1155 +1173 +1156 +1174 +1157 +1175 +1158 +1176 +1177 +1160 +1178 +1161 +1179 +1162 +1180 +1163 +1181 +1164 +1182 +1165 +1183 +1166 +1184 +1167 +1185 +1168 +1186 +1169 +1187 +1170 +1188 +1171 +1189 +1172 +1190 +1173 +1191 +1174 +1192 +1175 +1193 +1176 +1194 +1177 +1195 +1196 +1179 +1197 +1180 +1198 +1181 +1199 +1182 +1200 +1183 +1201 +1184 +1202 +1185 +1203 +1186 +1204 +1187 +1205 +1188 +1206 +1189 +1207 +1190 +1208 +1191 +1209 +1192 +1210 +1193 +1211 +1194 +1212 +1195 +1213 +1196 +1214 +1215 +1198 +1216 +1199 +1217 +1200 +1218 +1201 +1219 +1202 +1220 +1203 +1221 +1204 +1222 +1205 +1223 +1206 +1224 +1207 +1225 +1208 +1226 +1209 +1227 +1210 +1228 +1211 +1229 +1212 +1230 +1213 +1231 +1214 +1232 +1215 +1233 +1234 +1217 +1235 +1218 +1236 +1219 +1237 +1220 +1238 +1221 +1239 +1222 +1240 +1223 +1241 +1224 +1242 +1225 +1243 +1226 +1244 +1227 +1245 +1228 +1246 +1229 +1247 +1230 +1248 +1231 +1249 +1232 +1250 +1233 +1251 +1234 +1252 +1253 +1236 +1254 +1237 +1255 +1238 +1256 +1239 +1257 +1240 +1258 +1241 +1259 +1242 +1260 +1243 +1261 +1244 +1262 +1245 +1263 +1246 +1264 +1247 +1265 +1248 +1266 +1249 +1267 +1250 +1268 +1251 +1269 +1252 +1270 +1253 +1271 +1272 +1255 +1273 +1256 +1274 +1257 +1275 +1258 +1276 +1259 +1277 +1260 +1278 +1261 +1279 +1262 +1280 +1263 +1281 +1264 +1282 +1265 +1283 +1266 +1284 +1267 +1285 +1268 +1286 +1269 +1287 +1270 +1288 +1271 +1289 +1272 +1290 +1291 +1274 +1292 +1275 +1293 +1276 +1294 +1277 +1295 +1278 +1296 +1279 +1297 +1280 +1298 +1281 +1299 +1282 +1300 +1283 +1301 +1284 +1302 +1285 +1303 +1286 +1304 +1287 +1305 +1288 +1306 +1289 +1307 +1290 +1308 +1291 +1309 +1310 +1293 +1311 +1294 +1312 +1295 +1313 +1296 +1314 +1297 +1315 +1298 +1316 +1299 +1317 +1300 +1318 +1301 +1319 +1302 +1320 +1303 +1321 +1304 +1322 +1305 +1323 +1306 +1324 +1307 +1325 +1308 +1326 +1309 +1327 +1310 +1328 +1329 +1312 +1330 +1313 +1331 +1314 +1332 +1315 +1333 +1316 +1334 +1317 +1335 +1318 +1336 +1319 +1337 +1320 +1338 +1321 +1339 +1322 +1340 +1323 +1341 +1324 +1342 +1325 +1343 +1326 +1344 +1327 +1345 +1328 +1346 +1329 +1347 +1348 +1331 +1349 +1332 +1350 +1333 +1351 +1334 +1352 +1335 +1353 +1336 +1354 +1337 +1355 +1338 +1356 +1339 +1357 +1340 +1358 +1341 +1359 +1342 +1360 +1343 +1361 +1344 +1362 +1345 +1363 +1346 +1364 +1347 +1365 +1348 +1366 +1367 +1350 +1368 +1351 +1369 +1352 +1370 +1353 +1371 +1354 +1372 +1355 +1373 +1356 +1374 +1357 +1375 +1358 +1376 +1359 +1377 +1360 +1378 +1361 +1379 +1362 +1380 +1363 +1381 +1364 +1382 +1365 +1383 +1366 +1384 +1367 +1385 +1386 +1369 +1387 +1370 +1388 +1371 +1389 +1372 +1390 +1373 +1391 +1374 +1392 +1375 +1393 +1376 +1394 +1377 +1395 +1378 +1396 +1379 +1397 +1380 +1398 +1381 +1399 +1382 +1400 +1383 +1401 +1384 +1402 +1385 +1403 +1386 +1404 +1405 +1388 +1406 +1389 +1407 +1390 +1408 +1391 +1409 +1392 +1410 +1393 +1411 +1394 +1412 +1395 +1413 +1396 +1414 +1397 +1415 +1398 +1416 +1399 +1417 +1400 +1418 +1401 +1419 +1402 +1420 +1403 +1421 +1404 +1422 +1405 +1423 +1424 +1407 +1425 +1408 +1426 +1409 +1427 +1410 +1428 +1411 +1429 +1412 +1430 +1413 +1431 +1414 +1432 +1415 +1433 +1416 +1434 +1417 +1435 +1418 +1436 +1419 +1437 +1420 +1438 +1421 +1439 +1422 +1440 +1423 +1441 +1424 +1442 +1443 +1426 +1444 +1427 +1445 +1428 +1446 +1429 +1447 +1430 +1448 +1431 +1449 +1432 +1450 +1433 +1451 +1434 +1452 +1435 +1453 +1436 +1454 +1437 +1455 +1438 +1456 +1439 +1457 +1440 +1458 +1441 +1459 +1442 +1460 +1443 +1461 +1462 +1445 +1463 +1446 +1464 +1447 +1465 +1448 +1466 +1449 +1467 +1450 +1468 +1451 +1469 +1452 +1470 +1453 +1471 +1454 +1472 +1455 +1473 +1456 +1474 +1457 +1475 +1458 +1476 +1459 +1477 +1460 +1478 +1461 +1479 +1462 +1480 +1481 +1464 +1482 +1465 +1483 +1466 +1484 +1467 +1485 +1468 +1486 +1469 +1487 +1470 +1488 +1471 +1489 +1472 +1490 +1473 +1491 +1474 +1492 +1475 +1493 +1476 +1494 +1477 +1495 +1478 +1496 +1479 +1497 +1480 +1498 +1481 +1499 +1500 +1483 +1501 +1484 +1502 +1485 +1503 +1486 +1504 +1487 +1505 +1488 +1506 +1489 +1507 +1490 +1508 +1491 +1509 +1492 +1510 +1493 +1511 +1494 +1512 +1495 +1513 +1496 +1514 +1497 +1515 +1498 +1516 +1499 +1517 +1500 +1518 +1519 +1502 +1520 +1503 +1521 +1504 +1522 +1505 +1523 +1506 +1524 +1507 +1525 +1508 +1526 +1509 +1527 +1510 +1528 +1511 +1529 +1512 +1530 +1513 +1531 +1514 +1532 +1515 +1533 +1516 +1534 +1517 +1535 +1518 +1536 +1519 +1537 +1538 +1521 +1539 +1522 +1540 +1523 +1541 +1524 +1542 +1525 +1543 +1526 +1544 +1527 +1545 +1528 +1546 +1529 +1547 +1530 +1548 +1531 +1549 +1532 +1550 +1533 +1551 +1534 +1552 +1535 +1553 +1536 +1554 +1537 +1555 +1538 +1556 +1557 +1540 +1558 +1541 +1559 +1542 +1560 +1543 +1561 +1544 +1562 +1545 +1563 +1546 +1564 +1547 +1565 +1548 +1566 +1549 +1567 +1550 +1568 +1551 +1569 +1552 +1570 +1553 +1571 +1554 +1572 +1555 +1573 +1556 +1574 +1557 +1575 +1576 +1559 +1577 +1560 +1578 +1561 +1579 +1562 +1580 +1563 +1581 +1564 +1582 +1565 +1583 +1566 +1584 +1567 +1585 +1568 +1586 +1569 +1587 +1570 +1588 +1571 +1589 +1572 +1590 +1573 +1591 +1574 +1592 +1575 +1593 +1576 +1594 +1595 +1578 +1596 +1579 +1597 +1580 +1598 +1581 +1599 +1582 +1600 +1583 +1601 +1584 +1602 +1585 +1603 +1586 +1604 +1587 +1605 +1588 +1606 +1589 +1607 +1590 +1608 +1591 +1609 +1592 +1610 +1593 +1611 +1594 +1612 +1595 +1613 +1614 +1597 +1615 +1598 +1616 +1599 +1617 +1600 +1618 +1601 +1619 +1602 +1620 +1603 +1621 +1604 +1622 +1605 +1623 +1606 +1624 +1607 +1625 +1608 +1626 +1609 +1627 +1610 +1628 +1611 +1629 +1612 +1630 +1613 +1631 +1614 +1632 +1633 +1616 +1634 +1617 +1635 +1618 +1636 +1619 +1637 +1620 +1638 +1621 +1639 +1622 +1640 +1623 +1641 +1624 +1642 +1625 +1643 +1626 +1644 +1627 +1645 +1628 +1646 +1629 +1647 +1630 +1648 +1631 +1649 +1632 +1650 +1633 +1651 +1652 +1635 +1653 +1636 +1654 +1637 +1655 +1638 +1656 +1639 +1657 +1640 +1658 +1641 +1659 +1642 +1660 +1643 +1661 +1644 +1662 +1645 +1663 +1646 +1664 +1647 +1665 +1648 +1666 +1649 +1667 +1650 +1668 +1651 +1669 +1652 +1670 +1671 +1654 +1672 +1655 +1673 +1656 +1674 +1657 +1675 +1658 +1676 +1659 +1677 +1660 +1678 +1661 +1679 +1662 +1680 +1663 +1681 +1664 +1682 +1665 +1683 +1666 +1684 +1667 +1685 +1668 +1686 +1669 +1687 +1670 +1688 +1671 +1689 +1690 +1673 +1691 +1674 +1692 +1675 +1693 +1676 +1694 +1677 +1695 +1678 +1696 +1679 +1697 +1680 +1698 +1681 +1699 +1682 +1700 +1683 +1701 +1684 +1702 +1685 +1703 +1686 +1704 +1687 +1705 +1688 +1706 +1689 +1707 +1690 +1708 +1709 +1692 +1710 +1693 +1711 +1694 +1712 +1695 +1713 +1696 +1714 +1697 +1715 +1698 +1716 +1699 +1717 +1700 +1718 +1701 +1719 +1702 +1720 +1703 +1721 +1704 +1722 +1705 +1723 +1706 +1724 +1707 +1725 +1708 +1726 +1709 +1727 +1728 +1711 +1729 +1712 +1730 +1713 +1731 +1714 +1732 +1715 +1733 +1716 +1734 +1717 +1735 +1718 +1736 +1719 +1737 +1720 +1738 +1721 +1739 +1722 +1740 +1723 +1741 +1724 +1742 +1725 +1743 +1726 +1744 +1727 +1745 +1728 +1746 +1747 +1730 +1748 +1731 +1749 +1732 +1750 +1733 +1751 +1734 +1752 +1735 +1753 +1736 +1754 +1737 +1755 +1738 +1756 +1739 +1757 +1740 +1758 +1741 +1759 +1742 +1760 +1743 +1761 +1744 +1762 +1745 +1763 +1746 +1764 +1747 +1765 +1766 +1749 +1767 +1750 +1768 +1751 +1769 +1752 +1770 +1753 +1771 +1754 +1772 +1755 +1773 +1756 +1774 +1757 +1775 +1758 +1776 +1759 +1777 +1760 +1778 +1761 +1779 +1762 +1780 +1763 +1781 +1764 +1782 +1765 +1783 +1766 +1784 +1785 +1768 +1786 +1769 +1787 +1770 +1788 +1771 +1789 +1772 +1790 +1773 +1791 +1774 +1792 +1775 +1793 +1776 +1794 +1777 +1795 +1778 +1796 +1779 +1797 +1780 +1798 +1781 +1799 +1782 +1800 +1783 +1801 +1784 +1802 +1785 +1803 +1804 +1787 +1805 +1788 +1806 +1789 +1807 +1790 +1808 +1791 +1809 +1792 +1810 +1793 +1811 +1794 +1812 +1795 +1813 +1796 +1814 +1797 +1815 +1798 +1816 +1799 +1817 +1800 +1818 +1801 +1819 +1802 +1820 +1803 +1821 +1804 +1822 +1823 +1806 +1824 +1807 +1825 +1808 +1826 +1809 +1827 +1810 +1828 +1811 +1829 +1812 +1830 +1813 +1831 +1814 +1832 +1815 +1833 +1816 +1834 +1817 +1835 +1818 +1836 +1819 +1837 +1820 +1838 +1821 +1839 +1822 +1840 +1823 +1841 +1842 +1825 +1843 +1826 +1844 +1827 +1845 +1828 +1846 +1829 +1847 +1830 +1848 +1831 +1849 +1832 +1850 +1833 +1851 +1834 +1852 +1835 +1853 +1836 +1854 +1837 +1855 +1838 +1856 +1839 +1857 +1840 +1858 +1841 +1859 +1842 +1860 +1861 +1844 +1862 +1845 +1863 +1846 +1864 +1847 +1865 +1848 +1866 +1849 +1867 +1850 +1868 +1851 +1869 +1852 +1870 +1853 +1871 +1854 +1872 +1855 +1873 +1856 +1874 +1857 +1875 +1858 +1876 +1859 +1877 +1860 +1878 +1861 +1879 +1880 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +) + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/owner b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/owner new file mode 100755 index 000000000..244904734 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/owner @@ -0,0 +1,7667 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class labelList; + note "nPoints: 4000 nCells: 1881 nFaces: 7642 nInternalFaces: 3644"; + location "constant/polyMesh"; + object owner; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +7642 +( +0 +0 +1 +1 +2 +2 +3 +3 +4 +4 +5 +5 +6 +6 +7 +7 +8 +8 +9 +9 +10 +10 +11 +11 +12 +12 +13 +13 +14 +14 +15 +15 +16 +16 +17 +17 +18 +19 +19 +20 +20 +21 +21 +22 +22 +23 +23 +24 +24 +25 +25 +26 +26 +27 +27 +28 +28 +29 +29 +30 +30 +31 +31 +32 +32 +33 +33 +34 +34 +35 +35 +36 +36 +37 +38 +38 +39 +39 +40 +40 +41 +41 +42 +42 +43 +43 +44 +44 +45 +45 +46 +46 +47 +47 +48 +48 +49 +49 +50 +50 +51 +51 +52 +52 +53 +53 +54 +54 +55 +55 +56 +57 +57 +58 +58 +59 +59 +60 +60 +61 +61 +62 +62 +63 +63 +64 +64 +65 +65 +66 +66 +67 +67 +68 +68 +69 +69 +70 +70 +71 +71 +72 +72 +73 +73 +74 +74 +75 +76 +76 +77 +77 +78 +78 +79 +79 +80 +80 +81 +81 +82 +82 +83 +83 +84 +84 +85 +85 +86 +86 +87 +87 +88 +88 +89 +89 +90 +90 +91 +91 +92 +92 +93 +93 +94 +95 +95 +96 +96 +97 +97 +98 +98 +99 +99 +100 +100 +101 +101 +102 +102 +103 +103 +104 +104 +105 +105 +106 +106 +107 +107 +108 +108 +109 +109 +110 +110 +111 +111 +112 +112 +113 +114 +114 +115 +115 +116 +116 +117 +117 +118 +118 +119 +119 +120 +120 +121 +121 +122 +122 +123 +123 +124 +124 +125 +125 +126 +126 +127 +127 +128 +128 +129 +129 +130 +130 +131 +131 +132 +133 +133 +134 +134 +135 +135 +136 +136 +137 +137 +138 +138 +139 +139 +140 +140 +141 +141 +142 +142 +143 +143 +144 +144 +145 +145 +146 +146 +147 +147 +148 +148 +149 +149 +150 +150 +151 +152 +152 +153 +153 +154 +154 +155 +155 +156 +156 +157 +157 +158 +158 +159 +159 +160 +160 +161 +161 +162 +162 +163 +163 +164 +164 +165 +165 +166 +166 +167 +167 +168 +168 +169 +169 +170 +171 +171 +172 +172 +173 +173 +174 +174 +175 +175 +176 +176 +177 +177 +178 +178 +179 +179 +180 +180 +181 +181 +182 +182 +183 +183 +184 +184 +185 +185 +186 +186 +187 +187 +188 +188 +189 +190 +190 +191 +191 +192 +192 +193 +193 +194 +194 +195 +195 +196 +196 +197 +197 +198 +198 +199 +199 +200 +200 +201 +201 +202 +202 +203 +203 +204 +204 +205 +205 +206 +206 +207 +207 +208 +209 +209 +210 +210 +211 +211 +212 +212 +213 +213 +214 +214 +215 +215 +216 +216 +217 +217 +218 +218 +219 +219 +220 +220 +221 +221 +222 +222 +223 +223 +224 +224 +225 +225 +226 +226 +227 +228 +228 +229 +229 +230 +230 +231 +231 +232 +232 +233 +233 +234 +234 +235 +235 +236 +236 +237 +237 +238 +238 +239 +239 +240 +240 +241 +241 +242 +242 +243 +243 +244 +244 +245 +245 +246 +247 +247 +248 +248 +249 +249 +250 +250 +251 +251 +252 +252 +253 +253 +254 +254 +255 +255 +256 +256 +257 +257 +258 +258 +259 +259 +260 +260 +261 +261 +262 +262 +263 +263 +264 +264 +265 +266 +266 +267 +267 +268 +268 +269 +269 +270 +270 +271 +271 +272 +272 +273 +273 +274 +274 +275 +275 +276 +276 +277 +277 +278 +278 +279 +279 +280 +280 +281 +281 +282 +282 +283 +283 +284 +285 +285 +286 +286 +287 +287 +288 +288 +289 +289 +290 +290 +291 +291 +292 +292 +293 +293 +294 +294 +295 +295 +296 +296 +297 +297 +298 +298 +299 +299 +300 +300 +301 +301 +302 +302 +303 +304 +304 +305 +305 +306 +306 +307 +307 +308 +308 +309 +309 +310 +310 +311 +311 +312 +312 +313 +313 +314 +314 +315 +315 +316 +316 +317 +317 +318 +318 +319 +319 +320 +320 +321 +321 +322 +323 +323 +324 +324 +325 +325 +326 +326 +327 +327 +328 +328 +329 +329 +330 +330 +331 +331 +332 +332 +333 +333 +334 +334 +335 +335 +336 +336 +337 +337 +338 +338 +339 +339 +340 +340 +341 +342 +342 +343 +343 +344 +344 +345 +345 +346 +346 +347 +347 +348 +348 +349 +349 +350 +350 +351 +351 +352 +352 +353 +353 +354 +354 +355 +355 +356 +356 +357 +357 +358 +358 +359 +359 +360 +361 +361 +362 +362 +363 +363 +364 +364 +365 +365 +366 +366 +367 +367 +368 +368 +369 +369 +370 +370 +371 +371 +372 +372 +373 +373 +374 +374 +375 +375 +376 +376 +377 +377 +378 +378 +379 +380 +380 +381 +381 +382 +382 +383 +383 +384 +384 +385 +385 +386 +386 +387 +387 +388 +388 +389 +389 +390 +390 +391 +391 +392 +392 +393 +393 +394 +394 +395 +395 +396 +396 +397 +397 +398 +399 +399 +400 +400 +401 +401 +402 +402 +403 +403 +404 +404 +405 +405 +406 +406 +407 +407 +408 +408 +409 +409 +410 +410 +411 +411 +412 +412 +413 +413 +414 +414 +415 +415 +416 +416 +417 +418 +418 +419 +419 +420 +420 +421 +421 +422 +422 +423 +423 +424 +424 +425 +425 +426 +426 +427 +427 +428 +428 +429 +429 +430 +430 +431 +431 +432 +432 +433 +433 +434 +434 +435 +435 +436 +437 +437 +438 +438 +439 +439 +440 +440 +441 +441 +442 +442 +443 +443 +444 +444 +445 +445 +446 +446 +447 +447 +448 +448 +449 +449 +450 +450 +451 +451 +452 +452 +453 +453 +454 +454 +455 +456 +456 +457 +457 +458 +458 +459 +459 +460 +460 +461 +461 +462 +462 +463 +463 +464 +464 +465 +465 +466 +466 +467 +467 +468 +468 +469 +469 +470 +470 +471 +471 +472 +472 +473 +473 +474 +475 +475 +476 +476 +477 +477 +478 +478 +479 +479 +480 +480 +481 +481 +482 +482 +483 +483 +484 +484 +485 +485 +486 +486 +487 +487 +488 +488 +489 +489 +490 +490 +491 +491 +492 +492 +493 +494 +494 +495 +495 +496 +496 +497 +497 +498 +498 +499 +499 +500 +500 +501 +501 +502 +502 +503 +503 +504 +504 +505 +505 +506 +506 +507 +507 +508 +508 +509 +509 +510 +510 +511 +511 +512 +513 +513 +514 +514 +515 +515 +516 +516 +517 +517 +518 +518 +519 +519 +520 +520 +521 +521 +522 +522 +523 +523 +524 +524 +525 +525 +526 +526 +527 +527 +528 +528 +529 +529 +530 +530 +531 +532 +532 +533 +533 +534 +534 +535 +535 +536 +536 +537 +537 +538 +538 +539 +539 +540 +540 +541 +541 +542 +542 +543 +543 +544 +544 +545 +545 +546 +546 +547 +547 +548 +548 +549 +549 +550 +551 +551 +552 +552 +553 +553 +554 +554 +555 +555 +556 +556 +557 +557 +558 +558 +559 +559 +560 +560 +561 +561 +562 +562 +563 +563 +564 +564 +565 +565 +566 +566 +567 +567 +568 +568 +569 +570 +570 +571 +571 +572 +572 +573 +573 +574 +574 +575 +575 +576 +576 +577 +577 +578 +578 +579 +579 +580 +580 +581 +581 +582 +582 +583 +583 +584 +584 +585 +585 +586 +586 +587 +587 +588 +589 +589 +590 +590 +591 +591 +592 +592 +593 +593 +594 +594 +595 +595 +596 +596 +597 +597 +598 +598 +599 +599 +600 +600 +601 +601 +602 +602 +603 +603 +604 +604 +605 +605 +606 +606 +607 +608 +608 +609 +609 +610 +610 +611 +611 +612 +612 +613 +613 +614 +614 +615 +615 +616 +616 +617 +617 +618 +618 +619 +619 +620 +620 +621 +621 +622 +622 +623 +623 +624 +624 +625 +625 +626 +627 +627 +628 +628 +629 +629 +630 +630 +631 +631 +632 +632 +633 +633 +634 +634 +635 +635 +636 +636 +637 +637 +638 +638 +639 +639 +640 +640 +641 +641 +642 +642 +643 +643 +644 +644 +645 +646 +646 +647 +647 +648 +648 +649 +649 +650 +650 +651 +651 +652 +652 +653 +653 +654 +654 +655 +655 +656 +656 +657 +657 +658 +658 +659 +659 +660 +660 +661 +661 +662 +662 +663 +663 +664 +665 +665 +666 +666 +667 +667 +668 +668 +669 +669 +670 +670 +671 +671 +672 +672 +673 +673 +674 +674 +675 +675 +676 +676 +677 +677 +678 +678 +679 +679 +680 +680 +681 +681 +682 +682 +683 +684 +684 +685 +685 +686 +686 +687 +687 +688 +688 +689 +689 +690 +690 +691 +691 +692 +692 +693 +693 +694 +694 +695 +695 +696 +696 +697 +697 +698 +698 +699 +699 +700 +700 +701 +701 +702 +703 +703 +704 +704 +705 +705 +706 +706 +707 +707 +708 +708 +709 +709 +710 +710 +711 +711 +712 +712 +713 +713 +714 +714 +715 +715 +716 +716 +717 +717 +718 +718 +719 +719 +720 +720 +721 +722 +722 +723 +723 +724 +724 +725 +725 +726 +726 +727 +727 +728 +728 +729 +729 +730 +730 +731 +731 +732 +732 +733 +733 +734 +734 +735 +735 +736 +736 +737 +737 +738 +738 +739 +739 +740 +741 +741 +742 +742 +743 +743 +744 +744 +745 +745 +746 +746 +747 +747 +748 +748 +749 +749 +750 +750 +751 +751 +752 +752 +753 +753 +754 +754 +755 +755 +756 +756 +757 +757 +758 +758 +759 +760 +760 +761 +761 +762 +762 +763 +763 +764 +764 +765 +765 +766 +766 +767 +767 +768 +768 +769 +769 +770 +770 +771 +771 +772 +772 +773 +773 +774 +774 +775 +775 +776 +776 +777 +777 +778 +779 +779 +780 +780 +781 +781 +782 +782 +783 +783 +784 +784 +785 +785 +786 +786 +787 +787 +788 +788 +789 +789 +790 +790 +791 +791 +792 +792 +793 +793 +794 +794 +795 +795 +796 +796 +797 +798 +798 +799 +799 +800 +800 +801 +801 +802 +802 +803 +803 +804 +804 +805 +805 +806 +806 +807 +807 +808 +808 +809 +809 +810 +810 +811 +811 +812 +812 +813 +813 +814 +814 +815 +815 +816 +817 +817 +818 +818 +819 +819 +820 +820 +821 +821 +822 +822 +823 +823 +824 +824 +825 +825 +826 +826 +827 +827 +828 +828 +829 +829 +830 +830 +831 +831 +832 +832 +833 +833 +834 +834 +835 +836 +836 +837 +837 +838 +838 +839 +839 +840 +840 +841 +841 +842 +842 +843 +843 +844 +844 +845 +845 +846 +846 +847 +847 +848 +848 +849 +849 +850 +850 +851 +851 +852 +852 +853 +853 +854 +855 +855 +856 +856 +857 +857 +858 +858 +859 +859 +860 +860 +861 +861 +862 +862 +863 +863 +864 +864 +865 +865 +866 +866 +867 +867 +868 +868 +869 +869 +870 +870 +871 +871 +872 +872 +873 +874 +874 +875 +875 +876 +876 +877 +877 +878 +878 +879 +879 +880 +880 +881 +881 +882 +882 +883 +883 +884 +884 +885 +885 +886 +886 +887 +887 +888 +888 +889 +889 +890 +890 +891 +891 +892 +893 +893 +894 +894 +895 +895 +896 +896 +897 +897 +898 +898 +899 +899 +900 +900 +901 +901 +902 +902 +903 +903 +904 +904 +905 +905 +906 +906 +907 +907 +908 +908 +909 +909 +910 +910 +911 +912 +912 +913 +913 +914 +914 +915 +915 +916 +916 +917 +917 +918 +918 +919 +919 +920 +920 +921 +921 +922 +922 +923 +923 +924 +924 +925 +925 +926 +926 +927 +927 +928 +928 +929 +929 +930 +931 +931 +932 +932 +933 +933 +934 +934 +935 +935 +936 +936 +937 +937 +938 +938 +939 +939 +940 +940 +941 +941 +942 +942 +943 +943 +944 +944 +945 +945 +946 +946 +947 +947 +948 +948 +949 +950 +950 +951 +951 +952 +952 +953 +953 +954 +954 +955 +955 +956 +956 +957 +957 +958 +958 +959 +959 +960 +960 +961 +961 +962 +962 +963 +963 +964 +964 +965 +965 +966 +966 +967 +967 +968 +969 +969 +970 +970 +971 +971 +972 +972 +973 +973 +974 +974 +975 +975 +976 +976 +977 +977 +978 +978 +979 +979 +980 +980 +981 +981 +982 +982 +983 +983 +984 +984 +985 +985 +986 +986 +987 +988 +988 +989 +989 +990 +990 +991 +991 +992 +992 +993 +993 +994 +994 +995 +995 +996 +996 +997 +997 +998 +998 +999 +999 +1000 +1000 +1001 +1001 +1002 +1002 +1003 +1003 +1004 +1004 +1005 +1005 +1006 +1007 +1007 +1008 +1008 +1009 +1009 +1010 +1010 +1011 +1011 +1012 +1012 +1013 +1013 +1014 +1014 +1015 +1015 +1016 +1016 +1017 +1017 +1018 +1018 +1019 +1019 +1020 +1020 +1021 +1021 +1022 +1022 +1023 +1023 +1024 +1024 +1025 +1026 +1026 +1027 +1027 +1028 +1028 +1029 +1029 +1030 +1030 +1031 +1031 +1032 +1032 +1033 +1033 +1034 +1034 +1035 +1035 +1036 +1036 +1037 +1037 +1038 +1038 +1039 +1039 +1040 +1040 +1041 +1041 +1042 +1042 +1043 +1043 +1044 +1045 +1045 +1046 +1046 +1047 +1047 +1048 +1048 +1049 +1049 +1050 +1050 +1051 +1051 +1052 +1052 +1053 +1053 +1054 +1054 +1055 +1055 +1056 +1056 +1057 +1057 +1058 +1058 +1059 +1059 +1060 +1060 +1061 +1061 +1062 +1062 +1063 +1064 +1064 +1065 +1065 +1066 +1066 +1067 +1067 +1068 +1068 +1069 +1069 +1070 +1070 +1071 +1071 +1072 +1072 +1073 +1073 +1074 +1074 +1075 +1075 +1076 +1076 +1077 +1077 +1078 +1078 +1079 +1079 +1080 +1080 +1081 +1081 +1082 +1083 +1083 +1084 +1084 +1085 +1085 +1086 +1086 +1087 +1087 +1088 +1088 +1089 +1089 +1090 +1090 +1091 +1091 +1092 +1092 +1093 +1093 +1094 +1094 +1095 +1095 +1096 +1096 +1097 +1097 +1098 +1098 +1099 +1099 +1100 +1100 +1101 +1102 +1102 +1103 +1103 +1104 +1104 +1105 +1105 +1106 +1106 +1107 +1107 +1108 +1108 +1109 +1109 +1110 +1110 +1111 +1111 +1112 +1112 +1113 +1113 +1114 +1114 +1115 +1115 +1116 +1116 +1117 +1117 +1118 +1118 +1119 +1119 +1120 +1121 +1121 +1122 +1122 +1123 +1123 +1124 +1124 +1125 +1125 +1126 +1126 +1127 +1127 +1128 +1128 +1129 +1129 +1130 +1130 +1131 +1131 +1132 +1132 +1133 +1133 +1134 +1134 +1135 +1135 +1136 +1136 +1137 +1137 +1138 +1138 +1139 +1140 +1140 +1141 +1141 +1142 +1142 +1143 +1143 +1144 +1144 +1145 +1145 +1146 +1146 +1147 +1147 +1148 +1148 +1149 +1149 +1150 +1150 +1151 +1151 +1152 +1152 +1153 +1153 +1154 +1154 +1155 +1155 +1156 +1156 +1157 +1157 +1158 +1159 +1159 +1160 +1160 +1161 +1161 +1162 +1162 +1163 +1163 +1164 +1164 +1165 +1165 +1166 +1166 +1167 +1167 +1168 +1168 +1169 +1169 +1170 +1170 +1171 +1171 +1172 +1172 +1173 +1173 +1174 +1174 +1175 +1175 +1176 +1176 +1177 +1178 +1178 +1179 +1179 +1180 +1180 +1181 +1181 +1182 +1182 +1183 +1183 +1184 +1184 +1185 +1185 +1186 +1186 +1187 +1187 +1188 +1188 +1189 +1189 +1190 +1190 +1191 +1191 +1192 +1192 +1193 +1193 +1194 +1194 +1195 +1195 +1196 +1197 +1197 +1198 +1198 +1199 +1199 +1200 +1200 +1201 +1201 +1202 +1202 +1203 +1203 +1204 +1204 +1205 +1205 +1206 +1206 +1207 +1207 +1208 +1208 +1209 +1209 +1210 +1210 +1211 +1211 +1212 +1212 +1213 +1213 +1214 +1214 +1215 +1216 +1216 +1217 +1217 +1218 +1218 +1219 +1219 +1220 +1220 +1221 +1221 +1222 +1222 +1223 +1223 +1224 +1224 +1225 +1225 +1226 +1226 +1227 +1227 +1228 +1228 +1229 +1229 +1230 +1230 +1231 +1231 +1232 +1232 +1233 +1233 +1234 +1235 +1235 +1236 +1236 +1237 +1237 +1238 +1238 +1239 +1239 +1240 +1240 +1241 +1241 +1242 +1242 +1243 +1243 +1244 +1244 +1245 +1245 +1246 +1246 +1247 +1247 +1248 +1248 +1249 +1249 +1250 +1250 +1251 +1251 +1252 +1252 +1253 +1254 +1254 +1255 +1255 +1256 +1256 +1257 +1257 +1258 +1258 +1259 +1259 +1260 +1260 +1261 +1261 +1262 +1262 +1263 +1263 +1264 +1264 +1265 +1265 +1266 +1266 +1267 +1267 +1268 +1268 +1269 +1269 +1270 +1270 +1271 +1271 +1272 +1273 +1273 +1274 +1274 +1275 +1275 +1276 +1276 +1277 +1277 +1278 +1278 +1279 +1279 +1280 +1280 +1281 +1281 +1282 +1282 +1283 +1283 +1284 +1284 +1285 +1285 +1286 +1286 +1287 +1287 +1288 +1288 +1289 +1289 +1290 +1290 +1291 +1292 +1292 +1293 +1293 +1294 +1294 +1295 +1295 +1296 +1296 +1297 +1297 +1298 +1298 +1299 +1299 +1300 +1300 +1301 +1301 +1302 +1302 +1303 +1303 +1304 +1304 +1305 +1305 +1306 +1306 +1307 +1307 +1308 +1308 +1309 +1309 +1310 +1311 +1311 +1312 +1312 +1313 +1313 +1314 +1314 +1315 +1315 +1316 +1316 +1317 +1317 +1318 +1318 +1319 +1319 +1320 +1320 +1321 +1321 +1322 +1322 +1323 +1323 +1324 +1324 +1325 +1325 +1326 +1326 +1327 +1327 +1328 +1328 +1329 +1330 +1330 +1331 +1331 +1332 +1332 +1333 +1333 +1334 +1334 +1335 +1335 +1336 +1336 +1337 +1337 +1338 +1338 +1339 +1339 +1340 +1340 +1341 +1341 +1342 +1342 +1343 +1343 +1344 +1344 +1345 +1345 +1346 +1346 +1347 +1347 +1348 +1349 +1349 +1350 +1350 +1351 +1351 +1352 +1352 +1353 +1353 +1354 +1354 +1355 +1355 +1356 +1356 +1357 +1357 +1358 +1358 +1359 +1359 +1360 +1360 +1361 +1361 +1362 +1362 +1363 +1363 +1364 +1364 +1365 +1365 +1366 +1366 +1367 +1368 +1368 +1369 +1369 +1370 +1370 +1371 +1371 +1372 +1372 +1373 +1373 +1374 +1374 +1375 +1375 +1376 +1376 +1377 +1377 +1378 +1378 +1379 +1379 +1380 +1380 +1381 +1381 +1382 +1382 +1383 +1383 +1384 +1384 +1385 +1385 +1386 +1387 +1387 +1388 +1388 +1389 +1389 +1390 +1390 +1391 +1391 +1392 +1392 +1393 +1393 +1394 +1394 +1395 +1395 +1396 +1396 +1397 +1397 +1398 +1398 +1399 +1399 +1400 +1400 +1401 +1401 +1402 +1402 +1403 +1403 +1404 +1404 +1405 +1406 +1406 +1407 +1407 +1408 +1408 +1409 +1409 +1410 +1410 +1411 +1411 +1412 +1412 +1413 +1413 +1414 +1414 +1415 +1415 +1416 +1416 +1417 +1417 +1418 +1418 +1419 +1419 +1420 +1420 +1421 +1421 +1422 +1422 +1423 +1423 +1424 +1425 +1425 +1426 +1426 +1427 +1427 +1428 +1428 +1429 +1429 +1430 +1430 +1431 +1431 +1432 +1432 +1433 +1433 +1434 +1434 +1435 +1435 +1436 +1436 +1437 +1437 +1438 +1438 +1439 +1439 +1440 +1440 +1441 +1441 +1442 +1442 +1443 +1444 +1444 +1445 +1445 +1446 +1446 +1447 +1447 +1448 +1448 +1449 +1449 +1450 +1450 +1451 +1451 +1452 +1452 +1453 +1453 +1454 +1454 +1455 +1455 +1456 +1456 +1457 +1457 +1458 +1458 +1459 +1459 +1460 +1460 +1461 +1461 +1462 +1463 +1463 +1464 +1464 +1465 +1465 +1466 +1466 +1467 +1467 +1468 +1468 +1469 +1469 +1470 +1470 +1471 +1471 +1472 +1472 +1473 +1473 +1474 +1474 +1475 +1475 +1476 +1476 +1477 +1477 +1478 +1478 +1479 +1479 +1480 +1480 +1481 +1482 +1482 +1483 +1483 +1484 +1484 +1485 +1485 +1486 +1486 +1487 +1487 +1488 +1488 +1489 +1489 +1490 +1490 +1491 +1491 +1492 +1492 +1493 +1493 +1494 +1494 +1495 +1495 +1496 +1496 +1497 +1497 +1498 +1498 +1499 +1499 +1500 +1501 +1501 +1502 +1502 +1503 +1503 +1504 +1504 +1505 +1505 +1506 +1506 +1507 +1507 +1508 +1508 +1509 +1509 +1510 +1510 +1511 +1511 +1512 +1512 +1513 +1513 +1514 +1514 +1515 +1515 +1516 +1516 +1517 +1517 +1518 +1518 +1519 +1520 +1520 +1521 +1521 +1522 +1522 +1523 +1523 +1524 +1524 +1525 +1525 +1526 +1526 +1527 +1527 +1528 +1528 +1529 +1529 +1530 +1530 +1531 +1531 +1532 +1532 +1533 +1533 +1534 +1534 +1535 +1535 +1536 +1536 +1537 +1537 +1538 +1539 +1539 +1540 +1540 +1541 +1541 +1542 +1542 +1543 +1543 +1544 +1544 +1545 +1545 +1546 +1546 +1547 +1547 +1548 +1548 +1549 +1549 +1550 +1550 +1551 +1551 +1552 +1552 +1553 +1553 +1554 +1554 +1555 +1555 +1556 +1556 +1557 +1558 +1558 +1559 +1559 +1560 +1560 +1561 +1561 +1562 +1562 +1563 +1563 +1564 +1564 +1565 +1565 +1566 +1566 +1567 +1567 +1568 +1568 +1569 +1569 +1570 +1570 +1571 +1571 +1572 +1572 +1573 +1573 +1574 +1574 +1575 +1575 +1576 +1577 +1577 +1578 +1578 +1579 +1579 +1580 +1580 +1581 +1581 +1582 +1582 +1583 +1583 +1584 +1584 +1585 +1585 +1586 +1586 +1587 +1587 +1588 +1588 +1589 +1589 +1590 +1590 +1591 +1591 +1592 +1592 +1593 +1593 +1594 +1594 +1595 +1596 +1596 +1597 +1597 +1598 +1598 +1599 +1599 +1600 +1600 +1601 +1601 +1602 +1602 +1603 +1603 +1604 +1604 +1605 +1605 +1606 +1606 +1607 +1607 +1608 +1608 +1609 +1609 +1610 +1610 +1611 +1611 +1612 +1612 +1613 +1613 +1614 +1615 +1615 +1616 +1616 +1617 +1617 +1618 +1618 +1619 +1619 +1620 +1620 +1621 +1621 +1622 +1622 +1623 +1623 +1624 +1624 +1625 +1625 +1626 +1626 +1627 +1627 +1628 +1628 +1629 +1629 +1630 +1630 +1631 +1631 +1632 +1632 +1633 +1634 +1634 +1635 +1635 +1636 +1636 +1637 +1637 +1638 +1638 +1639 +1639 +1640 +1640 +1641 +1641 +1642 +1642 +1643 +1643 +1644 +1644 +1645 +1645 +1646 +1646 +1647 +1647 +1648 +1648 +1649 +1649 +1650 +1650 +1651 +1651 +1652 +1653 +1653 +1654 +1654 +1655 +1655 +1656 +1656 +1657 +1657 +1658 +1658 +1659 +1659 +1660 +1660 +1661 +1661 +1662 +1662 +1663 +1663 +1664 +1664 +1665 +1665 +1666 +1666 +1667 +1667 +1668 +1668 +1669 +1669 +1670 +1670 +1671 +1672 +1672 +1673 +1673 +1674 +1674 +1675 +1675 +1676 +1676 +1677 +1677 +1678 +1678 +1679 +1679 +1680 +1680 +1681 +1681 +1682 +1682 +1683 +1683 +1684 +1684 +1685 +1685 +1686 +1686 +1687 +1687 +1688 +1688 +1689 +1689 +1690 +1691 +1691 +1692 +1692 +1693 +1693 +1694 +1694 +1695 +1695 +1696 +1696 +1697 +1697 +1698 +1698 +1699 +1699 +1700 +1700 +1701 +1701 +1702 +1702 +1703 +1703 +1704 +1704 +1705 +1705 +1706 +1706 +1707 +1707 +1708 +1708 +1709 +1710 +1710 +1711 +1711 +1712 +1712 +1713 +1713 +1714 +1714 +1715 +1715 +1716 +1716 +1717 +1717 +1718 +1718 +1719 +1719 +1720 +1720 +1721 +1721 +1722 +1722 +1723 +1723 +1724 +1724 +1725 +1725 +1726 +1726 +1727 +1727 +1728 +1729 +1729 +1730 +1730 +1731 +1731 +1732 +1732 +1733 +1733 +1734 +1734 +1735 +1735 +1736 +1736 +1737 +1737 +1738 +1738 +1739 +1739 +1740 +1740 +1741 +1741 +1742 +1742 +1743 +1743 +1744 +1744 +1745 +1745 +1746 +1746 +1747 +1748 +1748 +1749 +1749 +1750 +1750 +1751 +1751 +1752 +1752 +1753 +1753 +1754 +1754 +1755 +1755 +1756 +1756 +1757 +1757 +1758 +1758 +1759 +1759 +1760 +1760 +1761 +1761 +1762 +1762 +1763 +1763 +1764 +1764 +1765 +1765 +1766 +1767 +1767 +1768 +1768 +1769 +1769 +1770 +1770 +1771 +1771 +1772 +1772 +1773 +1773 +1774 +1774 +1775 +1775 +1776 +1776 +1777 +1777 +1778 +1778 +1779 +1779 +1780 +1780 +1781 +1781 +1782 +1782 +1783 +1783 +1784 +1784 +1785 +1786 +1786 +1787 +1787 +1788 +1788 +1789 +1789 +1790 +1790 +1791 +1791 +1792 +1792 +1793 +1793 +1794 +1794 +1795 +1795 +1796 +1796 +1797 +1797 +1798 +1798 +1799 +1799 +1800 +1800 +1801 +1801 +1802 +1802 +1803 +1803 +1804 +1805 +1805 +1806 +1806 +1807 +1807 +1808 +1808 +1809 +1809 +1810 +1810 +1811 +1811 +1812 +1812 +1813 +1813 +1814 +1814 +1815 +1815 +1816 +1816 +1817 +1817 +1818 +1818 +1819 +1819 +1820 +1820 +1821 +1821 +1822 +1822 +1823 +1824 +1824 +1825 +1825 +1826 +1826 +1827 +1827 +1828 +1828 +1829 +1829 +1830 +1830 +1831 +1831 +1832 +1832 +1833 +1833 +1834 +1834 +1835 +1835 +1836 +1836 +1837 +1837 +1838 +1838 +1839 +1839 +1840 +1840 +1841 +1841 +1842 +1843 +1843 +1844 +1844 +1845 +1845 +1846 +1846 +1847 +1847 +1848 +1848 +1849 +1849 +1850 +1850 +1851 +1851 +1852 +1852 +1853 +1853 +1854 +1854 +1855 +1855 +1856 +1856 +1857 +1857 +1858 +1858 +1859 +1859 +1860 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +18 +37 +56 +75 +94 +113 +132 +151 +170 +189 +208 +227 +246 +265 +284 +303 +322 +341 +360 +379 +398 +417 +436 +455 +474 +493 +512 +531 +550 +569 +588 +607 +626 +645 +664 +683 +702 +721 +740 +759 +778 +797 +816 +835 +854 +873 +892 +911 +930 +949 +968 +987 +1006 +1025 +1044 +1063 +1082 +1101 +1120 +1139 +1158 +1177 +1196 +1215 +1234 +1253 +1272 +1291 +1310 +1329 +1348 +1367 +1386 +1405 +1424 +1443 +1462 +1481 +1500 +1519 +1538 +1557 +1576 +1595 +1614 +1633 +1652 +1671 +1690 +1709 +1728 +1747 +1766 +1785 +1804 +1823 +1842 +1861 +1880 +0 +19 +38 +57 +76 +95 +114 +133 +152 +171 +190 +209 +228 +247 +266 +285 +304 +323 +342 +361 +380 +399 +418 +437 +456 +475 +494 +513 +532 +551 +570 +589 +608 +627 +646 +665 +684 +703 +722 +741 +760 +779 +798 +817 +836 +855 +874 +893 +912 +931 +950 +969 +988 +1007 +1026 +1045 +1064 +1083 +1102 +1121 +1140 +1159 +1178 +1197 +1216 +1235 +1254 +1273 +1292 +1311 +1330 +1349 +1368 +1387 +1406 +1425 +1444 +1463 +1482 +1501 +1520 +1539 +1558 +1577 +1596 +1615 +1634 +1653 +1672 +1691 +1710 +1729 +1748 +1767 +1786 +1805 +1824 +1843 +1862 +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +0 +0 +1 +1 +2 +2 +3 +3 +4 +4 +5 +5 +6 +6 +7 +7 +8 +8 +9 +9 +10 +10 +11 +11 +12 +12 +13 +13 +14 +14 +15 +15 +16 +16 +17 +17 +18 +18 +19 +19 +20 +20 +21 +21 +22 +22 +23 +23 +24 +24 +25 +25 +26 +26 +27 +27 +28 +28 +29 +29 +30 +30 +31 +31 +32 +32 +33 +33 +34 +34 +35 +35 +36 +36 +37 +37 +38 +38 +39 +39 +40 +40 +41 +41 +42 +42 +43 +43 +44 +44 +45 +45 +46 +46 +47 +47 +48 +48 +49 +49 +50 +50 +51 +51 +52 +52 +53 +53 +54 +54 +55 +55 +56 +56 +57 +57 +58 +58 +59 +59 +60 +60 +61 +61 +62 +62 +63 +63 +64 +64 +65 +65 +66 +66 +67 +67 +68 +68 +69 +69 +70 +70 +71 +71 +72 +72 +73 +73 +74 +74 +75 +75 +76 +76 +77 +77 +78 +78 +79 +79 +80 +80 +81 +81 +82 +82 +83 +83 +84 +84 +85 +85 +86 +86 +87 +87 +88 +88 +89 +89 +90 +90 +91 +91 +92 +92 +93 +93 +94 +94 +95 +95 +96 +96 +97 +97 +98 +98 +99 +99 +100 +100 +101 +101 +102 +102 +103 +103 +104 +104 +105 +105 +106 +106 +107 +107 +108 +108 +109 +109 +110 +110 +111 +111 +112 +112 +113 +113 +114 +114 +115 +115 +116 +116 +117 +117 +118 +118 +119 +119 +120 +120 +121 +121 +122 +122 +123 +123 +124 +124 +125 +125 +126 +126 +127 +127 +128 +128 +129 +129 +130 +130 +131 +131 +132 +132 +133 +133 +134 +134 +135 +135 +136 +136 +137 +137 +138 +138 +139 +139 +140 +140 +141 +141 +142 +142 +143 +143 +144 +144 +145 +145 +146 +146 +147 +147 +148 +148 +149 +149 +150 +150 +151 +151 +152 +152 +153 +153 +154 +154 +155 +155 +156 +156 +157 +157 +158 +158 +159 +159 +160 +160 +161 +161 +162 +162 +163 +163 +164 +164 +165 +165 +166 +166 +167 +167 +168 +168 +169 +169 +170 +170 +171 +171 +172 +172 +173 +173 +174 +174 +175 +175 +176 +176 +177 +177 +178 +178 +179 +179 +180 +180 +181 +181 +182 +182 +183 +183 +184 +184 +185 +185 +186 +186 +187 +187 +188 +188 +189 +189 +190 +190 +191 +191 +192 +192 +193 +193 +194 +194 +195 +195 +196 +196 +197 +197 +198 +198 +199 +199 +200 +200 +201 +201 +202 +202 +203 +203 +204 +204 +205 +205 +206 +206 +207 +207 +208 +208 +209 +209 +210 +210 +211 +211 +212 +212 +213 +213 +214 +214 +215 +215 +216 +216 +217 +217 +218 +218 +219 +219 +220 +220 +221 +221 +222 +222 +223 +223 +224 +224 +225 +225 +226 +226 +227 +227 +228 +228 +229 +229 +230 +230 +231 +231 +232 +232 +233 +233 +234 +234 +235 +235 +236 +236 +237 +237 +238 +238 +239 +239 +240 +240 +241 +241 +242 +242 +243 +243 +244 +244 +245 +245 +246 +246 +247 +247 +248 +248 +249 +249 +250 +250 +251 +251 +252 +252 +253 +253 +254 +254 +255 +255 +256 +256 +257 +257 +258 +258 +259 +259 +260 +260 +261 +261 +262 +262 +263 +263 +264 +264 +265 +265 +266 +266 +267 +267 +268 +268 +269 +269 +270 +270 +271 +271 +272 +272 +273 +273 +274 +274 +275 +275 +276 +276 +277 +277 +278 +278 +279 +279 +280 +280 +281 +281 +282 +282 +283 +283 +284 +284 +285 +285 +286 +286 +287 +287 +288 +288 +289 +289 +290 +290 +291 +291 +292 +292 +293 +293 +294 +294 +295 +295 +296 +296 +297 +297 +298 +298 +299 +299 +300 +300 +301 +301 +302 +302 +303 +303 +304 +304 +305 +305 +306 +306 +307 +307 +308 +308 +309 +309 +310 +310 +311 +311 +312 +312 +313 +313 +314 +314 +315 +315 +316 +316 +317 +317 +318 +318 +319 +319 +320 +320 +321 +321 +322 +322 +323 +323 +324 +324 +325 +325 +326 +326 +327 +327 +328 +328 +329 +329 +330 +330 +331 +331 +332 +332 +333 +333 +334 +334 +335 +335 +336 +336 +337 +337 +338 +338 +339 +339 +340 +340 +341 +341 +342 +342 +343 +343 +344 +344 +345 +345 +346 +346 +347 +347 +348 +348 +349 +349 +350 +350 +351 +351 +352 +352 +353 +353 +354 +354 +355 +355 +356 +356 +357 +357 +358 +358 +359 +359 +360 +360 +361 +361 +362 +362 +363 +363 +364 +364 +365 +365 +366 +366 +367 +367 +368 +368 +369 +369 +370 +370 +371 +371 +372 +372 +373 +373 +374 +374 +375 +375 +376 +376 +377 +377 +378 +378 +379 +379 +380 +380 +381 +381 +382 +382 +383 +383 +384 +384 +385 +385 +386 +386 +387 +387 +388 +388 +389 +389 +390 +390 +391 +391 +392 +392 +393 +393 +394 +394 +395 +395 +396 +396 +397 +397 +398 +398 +399 +399 +400 +400 +401 +401 +402 +402 +403 +403 +404 +404 +405 +405 +406 +406 +407 +407 +408 +408 +409 +409 +410 +410 +411 +411 +412 +412 +413 +413 +414 +414 +415 +415 +416 +416 +417 +417 +418 +418 +419 +419 +420 +420 +421 +421 +422 +422 +423 +423 +424 +424 +425 +425 +426 +426 +427 +427 +428 +428 +429 +429 +430 +430 +431 +431 +432 +432 +433 +433 +434 +434 +435 +435 +436 +436 +437 +437 +438 +438 +439 +439 +440 +440 +441 +441 +442 +442 +443 +443 +444 +444 +445 +445 +446 +446 +447 +447 +448 +448 +449 +449 +450 +450 +451 +451 +452 +452 +453 +453 +454 +454 +455 +455 +456 +456 +457 +457 +458 +458 +459 +459 +460 +460 +461 +461 +462 +462 +463 +463 +464 +464 +465 +465 +466 +466 +467 +467 +468 +468 +469 +469 +470 +470 +471 +471 +472 +472 +473 +473 +474 +474 +475 +475 +476 +476 +477 +477 +478 +478 +479 +479 +480 +480 +481 +481 +482 +482 +483 +483 +484 +484 +485 +485 +486 +486 +487 +487 +488 +488 +489 +489 +490 +490 +491 +491 +492 +492 +493 +493 +494 +494 +495 +495 +496 +496 +497 +497 +498 +498 +499 +499 +500 +500 +501 +501 +502 +502 +503 +503 +504 +504 +505 +505 +506 +506 +507 +507 +508 +508 +509 +509 +510 +510 +511 +511 +512 +512 +513 +513 +514 +514 +515 +515 +516 +516 +517 +517 +518 +518 +519 +519 +520 +520 +521 +521 +522 +522 +523 +523 +524 +524 +525 +525 +526 +526 +527 +527 +528 +528 +529 +529 +530 +530 +531 +531 +532 +532 +533 +533 +534 +534 +535 +535 +536 +536 +537 +537 +538 +538 +539 +539 +540 +540 +541 +541 +542 +542 +543 +543 +544 +544 +545 +545 +546 +546 +547 +547 +548 +548 +549 +549 +550 +550 +551 +551 +552 +552 +553 +553 +554 +554 +555 +555 +556 +556 +557 +557 +558 +558 +559 +559 +560 +560 +561 +561 +562 +562 +563 +563 +564 +564 +565 +565 +566 +566 +567 +567 +568 +568 +569 +569 +570 +570 +571 +571 +572 +572 +573 +573 +574 +574 +575 +575 +576 +576 +577 +577 +578 +578 +579 +579 +580 +580 +581 +581 +582 +582 +583 +583 +584 +584 +585 +585 +586 +586 +587 +587 +588 +588 +589 +589 +590 +590 +591 +591 +592 +592 +593 +593 +594 +594 +595 +595 +596 +596 +597 +597 +598 +598 +599 +599 +600 +600 +601 +601 +602 +602 +603 +603 +604 +604 +605 +605 +606 +606 +607 +607 +608 +608 +609 +609 +610 +610 +611 +611 +612 +612 +613 +613 +614 +614 +615 +615 +616 +616 +617 +617 +618 +618 +619 +619 +620 +620 +621 +621 +622 +622 +623 +623 +624 +624 +625 +625 +626 +626 +627 +627 +628 +628 +629 +629 +630 +630 +631 +631 +632 +632 +633 +633 +634 +634 +635 +635 +636 +636 +637 +637 +638 +638 +639 +639 +640 +640 +641 +641 +642 +642 +643 +643 +644 +644 +645 +645 +646 +646 +647 +647 +648 +648 +649 +649 +650 +650 +651 +651 +652 +652 +653 +653 +654 +654 +655 +655 +656 +656 +657 +657 +658 +658 +659 +659 +660 +660 +661 +661 +662 +662 +663 +663 +664 +664 +665 +665 +666 +666 +667 +667 +668 +668 +669 +669 +670 +670 +671 +671 +672 +672 +673 +673 +674 +674 +675 +675 +676 +676 +677 +677 +678 +678 +679 +679 +680 +680 +681 +681 +682 +682 +683 +683 +684 +684 +685 +685 +686 +686 +687 +687 +688 +688 +689 +689 +690 +690 +691 +691 +692 +692 +693 +693 +694 +694 +695 +695 +696 +696 +697 +697 +698 +698 +699 +699 +700 +700 +701 +701 +702 +702 +703 +703 +704 +704 +705 +705 +706 +706 +707 +707 +708 +708 +709 +709 +710 +710 +711 +711 +712 +712 +713 +713 +714 +714 +715 +715 +716 +716 +717 +717 +718 +718 +719 +719 +720 +720 +721 +721 +722 +722 +723 +723 +724 +724 +725 +725 +726 +726 +727 +727 +728 +728 +729 +729 +730 +730 +731 +731 +732 +732 +733 +733 +734 +734 +735 +735 +736 +736 +737 +737 +738 +738 +739 +739 +740 +740 +741 +741 +742 +742 +743 +743 +744 +744 +745 +745 +746 +746 +747 +747 +748 +748 +749 +749 +750 +750 +751 +751 +752 +752 +753 +753 +754 +754 +755 +755 +756 +756 +757 +757 +758 +758 +759 +759 +760 +760 +761 +761 +762 +762 +763 +763 +764 +764 +765 +765 +766 +766 +767 +767 +768 +768 +769 +769 +770 +770 +771 +771 +772 +772 +773 +773 +774 +774 +775 +775 +776 +776 +777 +777 +778 +778 +779 +779 +780 +780 +781 +781 +782 +782 +783 +783 +784 +784 +785 +785 +786 +786 +787 +787 +788 +788 +789 +789 +790 +790 +791 +791 +792 +792 +793 +793 +794 +794 +795 +795 +796 +796 +797 +797 +798 +798 +799 +799 +800 +800 +801 +801 +802 +802 +803 +803 +804 +804 +805 +805 +806 +806 +807 +807 +808 +808 +809 +809 +810 +810 +811 +811 +812 +812 +813 +813 +814 +814 +815 +815 +816 +816 +817 +817 +818 +818 +819 +819 +820 +820 +821 +821 +822 +822 +823 +823 +824 +824 +825 +825 +826 +826 +827 +827 +828 +828 +829 +829 +830 +830 +831 +831 +832 +832 +833 +833 +834 +834 +835 +835 +836 +836 +837 +837 +838 +838 +839 +839 +840 +840 +841 +841 +842 +842 +843 +843 +844 +844 +845 +845 +846 +846 +847 +847 +848 +848 +849 +849 +850 +850 +851 +851 +852 +852 +853 +853 +854 +854 +855 +855 +856 +856 +857 +857 +858 +858 +859 +859 +860 +860 +861 +861 +862 +862 +863 +863 +864 +864 +865 +865 +866 +866 +867 +867 +868 +868 +869 +869 +870 +870 +871 +871 +872 +872 +873 +873 +874 +874 +875 +875 +876 +876 +877 +877 +878 +878 +879 +879 +880 +880 +881 +881 +882 +882 +883 +883 +884 +884 +885 +885 +886 +886 +887 +887 +888 +888 +889 +889 +890 +890 +891 +891 +892 +892 +893 +893 +894 +894 +895 +895 +896 +896 +897 +897 +898 +898 +899 +899 +900 +900 +901 +901 +902 +902 +903 +903 +904 +904 +905 +905 +906 +906 +907 +907 +908 +908 +909 +909 +910 +910 +911 +911 +912 +912 +913 +913 +914 +914 +915 +915 +916 +916 +917 +917 +918 +918 +919 +919 +920 +920 +921 +921 +922 +922 +923 +923 +924 +924 +925 +925 +926 +926 +927 +927 +928 +928 +929 +929 +930 +930 +931 +931 +932 +932 +933 +933 +934 +934 +935 +935 +936 +936 +937 +937 +938 +938 +939 +939 +940 +940 +941 +941 +942 +942 +943 +943 +944 +944 +945 +945 +946 +946 +947 +947 +948 +948 +949 +949 +950 +950 +951 +951 +952 +952 +953 +953 +954 +954 +955 +955 +956 +956 +957 +957 +958 +958 +959 +959 +960 +960 +961 +961 +962 +962 +963 +963 +964 +964 +965 +965 +966 +966 +967 +967 +968 +968 +969 +969 +970 +970 +971 +971 +972 +972 +973 +973 +974 +974 +975 +975 +976 +976 +977 +977 +978 +978 +979 +979 +980 +980 +981 +981 +982 +982 +983 +983 +984 +984 +985 +985 +986 +986 +987 +987 +988 +988 +989 +989 +990 +990 +991 +991 +992 +992 +993 +993 +994 +994 +995 +995 +996 +996 +997 +997 +998 +998 +999 +999 +1000 +1000 +1001 +1001 +1002 +1002 +1003 +1003 +1004 +1004 +1005 +1005 +1006 +1006 +1007 +1007 +1008 +1008 +1009 +1009 +1010 +1010 +1011 +1011 +1012 +1012 +1013 +1013 +1014 +1014 +1015 +1015 +1016 +1016 +1017 +1017 +1018 +1018 +1019 +1019 +1020 +1020 +1021 +1021 +1022 +1022 +1023 +1023 +1024 +1024 +1025 +1025 +1026 +1026 +1027 +1027 +1028 +1028 +1029 +1029 +1030 +1030 +1031 +1031 +1032 +1032 +1033 +1033 +1034 +1034 +1035 +1035 +1036 +1036 +1037 +1037 +1038 +1038 +1039 +1039 +1040 +1040 +1041 +1041 +1042 +1042 +1043 +1043 +1044 +1044 +1045 +1045 +1046 +1046 +1047 +1047 +1048 +1048 +1049 +1049 +1050 +1050 +1051 +1051 +1052 +1052 +1053 +1053 +1054 +1054 +1055 +1055 +1056 +1056 +1057 +1057 +1058 +1058 +1059 +1059 +1060 +1060 +1061 +1061 +1062 +1062 +1063 +1063 +1064 +1064 +1065 +1065 +1066 +1066 +1067 +1067 +1068 +1068 +1069 +1069 +1070 +1070 +1071 +1071 +1072 +1072 +1073 +1073 +1074 +1074 +1075 +1075 +1076 +1076 +1077 +1077 +1078 +1078 +1079 +1079 +1080 +1080 +1081 +1081 +1082 +1082 +1083 +1083 +1084 +1084 +1085 +1085 +1086 +1086 +1087 +1087 +1088 +1088 +1089 +1089 +1090 +1090 +1091 +1091 +1092 +1092 +1093 +1093 +1094 +1094 +1095 +1095 +1096 +1096 +1097 +1097 +1098 +1098 +1099 +1099 +1100 +1100 +1101 +1101 +1102 +1102 +1103 +1103 +1104 +1104 +1105 +1105 +1106 +1106 +1107 +1107 +1108 +1108 +1109 +1109 +1110 +1110 +1111 +1111 +1112 +1112 +1113 +1113 +1114 +1114 +1115 +1115 +1116 +1116 +1117 +1117 +1118 +1118 +1119 +1119 +1120 +1120 +1121 +1121 +1122 +1122 +1123 +1123 +1124 +1124 +1125 +1125 +1126 +1126 +1127 +1127 +1128 +1128 +1129 +1129 +1130 +1130 +1131 +1131 +1132 +1132 +1133 +1133 +1134 +1134 +1135 +1135 +1136 +1136 +1137 +1137 +1138 +1138 +1139 +1139 +1140 +1140 +1141 +1141 +1142 +1142 +1143 +1143 +1144 +1144 +1145 +1145 +1146 +1146 +1147 +1147 +1148 +1148 +1149 +1149 +1150 +1150 +1151 +1151 +1152 +1152 +1153 +1153 +1154 +1154 +1155 +1155 +1156 +1156 +1157 +1157 +1158 +1158 +1159 +1159 +1160 +1160 +1161 +1161 +1162 +1162 +1163 +1163 +1164 +1164 +1165 +1165 +1166 +1166 +1167 +1167 +1168 +1168 +1169 +1169 +1170 +1170 +1171 +1171 +1172 +1172 +1173 +1173 +1174 +1174 +1175 +1175 +1176 +1176 +1177 +1177 +1178 +1178 +1179 +1179 +1180 +1180 +1181 +1181 +1182 +1182 +1183 +1183 +1184 +1184 +1185 +1185 +1186 +1186 +1187 +1187 +1188 +1188 +1189 +1189 +1190 +1190 +1191 +1191 +1192 +1192 +1193 +1193 +1194 +1194 +1195 +1195 +1196 +1196 +1197 +1197 +1198 +1198 +1199 +1199 +1200 +1200 +1201 +1201 +1202 +1202 +1203 +1203 +1204 +1204 +1205 +1205 +1206 +1206 +1207 +1207 +1208 +1208 +1209 +1209 +1210 +1210 +1211 +1211 +1212 +1212 +1213 +1213 +1214 +1214 +1215 +1215 +1216 +1216 +1217 +1217 +1218 +1218 +1219 +1219 +1220 +1220 +1221 +1221 +1222 +1222 +1223 +1223 +1224 +1224 +1225 +1225 +1226 +1226 +1227 +1227 +1228 +1228 +1229 +1229 +1230 +1230 +1231 +1231 +1232 +1232 +1233 +1233 +1234 +1234 +1235 +1235 +1236 +1236 +1237 +1237 +1238 +1238 +1239 +1239 +1240 +1240 +1241 +1241 +1242 +1242 +1243 +1243 +1244 +1244 +1245 +1245 +1246 +1246 +1247 +1247 +1248 +1248 +1249 +1249 +1250 +1250 +1251 +1251 +1252 +1252 +1253 +1253 +1254 +1254 +1255 +1255 +1256 +1256 +1257 +1257 +1258 +1258 +1259 +1259 +1260 +1260 +1261 +1261 +1262 +1262 +1263 +1263 +1264 +1264 +1265 +1265 +1266 +1266 +1267 +1267 +1268 +1268 +1269 +1269 +1270 +1270 +1271 +1271 +1272 +1272 +1273 +1273 +1274 +1274 +1275 +1275 +1276 +1276 +1277 +1277 +1278 +1278 +1279 +1279 +1280 +1280 +1281 +1281 +1282 +1282 +1283 +1283 +1284 +1284 +1285 +1285 +1286 +1286 +1287 +1287 +1288 +1288 +1289 +1289 +1290 +1290 +1291 +1291 +1292 +1292 +1293 +1293 +1294 +1294 +1295 +1295 +1296 +1296 +1297 +1297 +1298 +1298 +1299 +1299 +1300 +1300 +1301 +1301 +1302 +1302 +1303 +1303 +1304 +1304 +1305 +1305 +1306 +1306 +1307 +1307 +1308 +1308 +1309 +1309 +1310 +1310 +1311 +1311 +1312 +1312 +1313 +1313 +1314 +1314 +1315 +1315 +1316 +1316 +1317 +1317 +1318 +1318 +1319 +1319 +1320 +1320 +1321 +1321 +1322 +1322 +1323 +1323 +1324 +1324 +1325 +1325 +1326 +1326 +1327 +1327 +1328 +1328 +1329 +1329 +1330 +1330 +1331 +1331 +1332 +1332 +1333 +1333 +1334 +1334 +1335 +1335 +1336 +1336 +1337 +1337 +1338 +1338 +1339 +1339 +1340 +1340 +1341 +1341 +1342 +1342 +1343 +1343 +1344 +1344 +1345 +1345 +1346 +1346 +1347 +1347 +1348 +1348 +1349 +1349 +1350 +1350 +1351 +1351 +1352 +1352 +1353 +1353 +1354 +1354 +1355 +1355 +1356 +1356 +1357 +1357 +1358 +1358 +1359 +1359 +1360 +1360 +1361 +1361 +1362 +1362 +1363 +1363 +1364 +1364 +1365 +1365 +1366 +1366 +1367 +1367 +1368 +1368 +1369 +1369 +1370 +1370 +1371 +1371 +1372 +1372 +1373 +1373 +1374 +1374 +1375 +1375 +1376 +1376 +1377 +1377 +1378 +1378 +1379 +1379 +1380 +1380 +1381 +1381 +1382 +1382 +1383 +1383 +1384 +1384 +1385 +1385 +1386 +1386 +1387 +1387 +1388 +1388 +1389 +1389 +1390 +1390 +1391 +1391 +1392 +1392 +1393 +1393 +1394 +1394 +1395 +1395 +1396 +1396 +1397 +1397 +1398 +1398 +1399 +1399 +1400 +1400 +1401 +1401 +1402 +1402 +1403 +1403 +1404 +1404 +1405 +1405 +1406 +1406 +1407 +1407 +1408 +1408 +1409 +1409 +1410 +1410 +1411 +1411 +1412 +1412 +1413 +1413 +1414 +1414 +1415 +1415 +1416 +1416 +1417 +1417 +1418 +1418 +1419 +1419 +1420 +1420 +1421 +1421 +1422 +1422 +1423 +1423 +1424 +1424 +1425 +1425 +1426 +1426 +1427 +1427 +1428 +1428 +1429 +1429 +1430 +1430 +1431 +1431 +1432 +1432 +1433 +1433 +1434 +1434 +1435 +1435 +1436 +1436 +1437 +1437 +1438 +1438 +1439 +1439 +1440 +1440 +1441 +1441 +1442 +1442 +1443 +1443 +1444 +1444 +1445 +1445 +1446 +1446 +1447 +1447 +1448 +1448 +1449 +1449 +1450 +1450 +1451 +1451 +1452 +1452 +1453 +1453 +1454 +1454 +1455 +1455 +1456 +1456 +1457 +1457 +1458 +1458 +1459 +1459 +1460 +1460 +1461 +1461 +1462 +1462 +1463 +1463 +1464 +1464 +1465 +1465 +1466 +1466 +1467 +1467 +1468 +1468 +1469 +1469 +1470 +1470 +1471 +1471 +1472 +1472 +1473 +1473 +1474 +1474 +1475 +1475 +1476 +1476 +1477 +1477 +1478 +1478 +1479 +1479 +1480 +1480 +1481 +1481 +1482 +1482 +1483 +1483 +1484 +1484 +1485 +1485 +1486 +1486 +1487 +1487 +1488 +1488 +1489 +1489 +1490 +1490 +1491 +1491 +1492 +1492 +1493 +1493 +1494 +1494 +1495 +1495 +1496 +1496 +1497 +1497 +1498 +1498 +1499 +1499 +1500 +1500 +1501 +1501 +1502 +1502 +1503 +1503 +1504 +1504 +1505 +1505 +1506 +1506 +1507 +1507 +1508 +1508 +1509 +1509 +1510 +1510 +1511 +1511 +1512 +1512 +1513 +1513 +1514 +1514 +1515 +1515 +1516 +1516 +1517 +1517 +1518 +1518 +1519 +1519 +1520 +1520 +1521 +1521 +1522 +1522 +1523 +1523 +1524 +1524 +1525 +1525 +1526 +1526 +1527 +1527 +1528 +1528 +1529 +1529 +1530 +1530 +1531 +1531 +1532 +1532 +1533 +1533 +1534 +1534 +1535 +1535 +1536 +1536 +1537 +1537 +1538 +1538 +1539 +1539 +1540 +1540 +1541 +1541 +1542 +1542 +1543 +1543 +1544 +1544 +1545 +1545 +1546 +1546 +1547 +1547 +1548 +1548 +1549 +1549 +1550 +1550 +1551 +1551 +1552 +1552 +1553 +1553 +1554 +1554 +1555 +1555 +1556 +1556 +1557 +1557 +1558 +1558 +1559 +1559 +1560 +1560 +1561 +1561 +1562 +1562 +1563 +1563 +1564 +1564 +1565 +1565 +1566 +1566 +1567 +1567 +1568 +1568 +1569 +1569 +1570 +1570 +1571 +1571 +1572 +1572 +1573 +1573 +1574 +1574 +1575 +1575 +1576 +1576 +1577 +1577 +1578 +1578 +1579 +1579 +1580 +1580 +1581 +1581 +1582 +1582 +1583 +1583 +1584 +1584 +1585 +1585 +1586 +1586 +1587 +1587 +1588 +1588 +1589 +1589 +1590 +1590 +1591 +1591 +1592 +1592 +1593 +1593 +1594 +1594 +1595 +1595 +1596 +1596 +1597 +1597 +1598 +1598 +1599 +1599 +1600 +1600 +1601 +1601 +1602 +1602 +1603 +1603 +1604 +1604 +1605 +1605 +1606 +1606 +1607 +1607 +1608 +1608 +1609 +1609 +1610 +1610 +1611 +1611 +1612 +1612 +1613 +1613 +1614 +1614 +1615 +1615 +1616 +1616 +1617 +1617 +1618 +1618 +1619 +1619 +1620 +1620 +1621 +1621 +1622 +1622 +1623 +1623 +1624 +1624 +1625 +1625 +1626 +1626 +1627 +1627 +1628 +1628 +1629 +1629 +1630 +1630 +1631 +1631 +1632 +1632 +1633 +1633 +1634 +1634 +1635 +1635 +1636 +1636 +1637 +1637 +1638 +1638 +1639 +1639 +1640 +1640 +1641 +1641 +1642 +1642 +1643 +1643 +1644 +1644 +1645 +1645 +1646 +1646 +1647 +1647 +1648 +1648 +1649 +1649 +1650 +1650 +1651 +1651 +1652 +1652 +1653 +1653 +1654 +1654 +1655 +1655 +1656 +1656 +1657 +1657 +1658 +1658 +1659 +1659 +1660 +1660 +1661 +1661 +1662 +1662 +1663 +1663 +1664 +1664 +1665 +1665 +1666 +1666 +1667 +1667 +1668 +1668 +1669 +1669 +1670 +1670 +1671 +1671 +1672 +1672 +1673 +1673 +1674 +1674 +1675 +1675 +1676 +1676 +1677 +1677 +1678 +1678 +1679 +1679 +1680 +1680 +1681 +1681 +1682 +1682 +1683 +1683 +1684 +1684 +1685 +1685 +1686 +1686 +1687 +1687 +1688 +1688 +1689 +1689 +1690 +1690 +1691 +1691 +1692 +1692 +1693 +1693 +1694 +1694 +1695 +1695 +1696 +1696 +1697 +1697 +1698 +1698 +1699 +1699 +1700 +1700 +1701 +1701 +1702 +1702 +1703 +1703 +1704 +1704 +1705 +1705 +1706 +1706 +1707 +1707 +1708 +1708 +1709 +1709 +1710 +1710 +1711 +1711 +1712 +1712 +1713 +1713 +1714 +1714 +1715 +1715 +1716 +1716 +1717 +1717 +1718 +1718 +1719 +1719 +1720 +1720 +1721 +1721 +1722 +1722 +1723 +1723 +1724 +1724 +1725 +1725 +1726 +1726 +1727 +1727 +1728 +1728 +1729 +1729 +1730 +1730 +1731 +1731 +1732 +1732 +1733 +1733 +1734 +1734 +1735 +1735 +1736 +1736 +1737 +1737 +1738 +1738 +1739 +1739 +1740 +1740 +1741 +1741 +1742 +1742 +1743 +1743 +1744 +1744 +1745 +1745 +1746 +1746 +1747 +1747 +1748 +1748 +1749 +1749 +1750 +1750 +1751 +1751 +1752 +1752 +1753 +1753 +1754 +1754 +1755 +1755 +1756 +1756 +1757 +1757 +1758 +1758 +1759 +1759 +1760 +1760 +1761 +1761 +1762 +1762 +1763 +1763 +1764 +1764 +1765 +1765 +1766 +1766 +1767 +1767 +1768 +1768 +1769 +1769 +1770 +1770 +1771 +1771 +1772 +1772 +1773 +1773 +1774 +1774 +1775 +1775 +1776 +1776 +1777 +1777 +1778 +1778 +1779 +1779 +1780 +1780 +1781 +1781 +1782 +1782 +1783 +1783 +1784 +1784 +1785 +1785 +1786 +1786 +1787 +1787 +1788 +1788 +1789 +1789 +1790 +1790 +1791 +1791 +1792 +1792 +1793 +1793 +1794 +1794 +1795 +1795 +1796 +1796 +1797 +1797 +1798 +1798 +1799 +1799 +1800 +1800 +1801 +1801 +1802 +1802 +1803 +1803 +1804 +1804 +1805 +1805 +1806 +1806 +1807 +1807 +1808 +1808 +1809 +1809 +1810 +1810 +1811 +1811 +1812 +1812 +1813 +1813 +1814 +1814 +1815 +1815 +1816 +1816 +1817 +1817 +1818 +1818 +1819 +1819 +1820 +1820 +1821 +1821 +1822 +1822 +1823 +1823 +1824 +1824 +1825 +1825 +1826 +1826 +1827 +1827 +1828 +1828 +1829 +1829 +1830 +1830 +1831 +1831 +1832 +1832 +1833 +1833 +1834 +1834 +1835 +1835 +1836 +1836 +1837 +1837 +1838 +1838 +1839 +1839 +1840 +1840 +1841 +1841 +1842 +1842 +1843 +1843 +1844 +1844 +1845 +1845 +1846 +1846 +1847 +1847 +1848 +1848 +1849 +1849 +1850 +1850 +1851 +1851 +1852 +1852 +1853 +1853 +1854 +1854 +1855 +1855 +1856 +1856 +1857 +1857 +1858 +1858 +1859 +1859 +1860 +1860 +1861 +1861 +1862 +1862 +1863 +1863 +1864 +1864 +1865 +1865 +1866 +1866 +1867 +1867 +1868 +1868 +1869 +1869 +1870 +1870 +1871 +1871 +1872 +1872 +1873 +1873 +1874 +1874 +1875 +1875 +1876 +1876 +1877 +1877 +1878 +1878 +1879 +1879 +1880 +1880 +) + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/pointZones b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/pointZones new file mode 100755 index 000000000..8730f1423 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/pointZones @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class regIOobject; + location "constant/polyMesh"; + object pointZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +0 +() + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/points b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/points new file mode 100755 index 000000000..dae0fb5e8 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/points @@ -0,0 +1,4024 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class vectorField; + location "constant/polyMesh"; + object points; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +4000 +( +(0 0 0.00050009999) +(0.005050505051 0 0.00050009999) +(0 2.5e-05 0.00050009999) +(0.005050505051 2.5e-05 0.00050009999) +(0 7.08119053e-05 0.00050009999) +(0.005050505051 7.08119053e-05 0.00050009999) +(0 0.00015426567 0.00050009999) +(0.005050505051 0.00015426567 0.00050009999) +(0 0.0003046635713 0.00050009999) +(0.005050505051 0.0003046635713 0.00050009999) +(0 0.0005705243934 0.00050009999) +(0.005050505051 0.0005705243934 0.00050009999) +(0 0.001024837958 0.00050009999) +(0.005050505051 0.001024837958 0.00050009999) +(0 0.001758019915 0.00050009999) +(0.005050505051 0.001758019915 0.00050009999) +(0 0.002838575912 0.00050009999) +(0.005050505051 0.002838575912 0.00050009999) +(0 0.004235474916 0.00050009999) +(0.005050505051 0.004235474916 0.00050009999) +(0 0.005764525084 0.00050009999) +(0.005050505051 0.005764525084 0.00050009999) +(0 0.007161424088 0.00050009999) +(0.005050505051 0.007161424088 0.00050009999) +(0 0.008241980085 0.00050009999) +(0.005050505051 0.008241980085 0.00050009999) +(0 0.008975162042 0.00050009999) +(0.005050505051 0.008975162042 0.00050009999) +(0 0.009429475607 0.00050009999) +(0.005050505051 0.009429475607 0.00050009999) +(0 0.009695336429 0.00050009999) +(0.005050505051 0.009695336429 0.00050009999) +(0 0.00984573433 0.00050009999) +(0.005050505051 0.00984573433 0.00050009999) +(0 0.009929188095 0.00050009999) +(0.005050505051 0.009929188095 0.00050009999) +(0 0.009975 0.00050009999) +(0.005050505051 0.009975 0.00050009999) +(0 0.01 0.00050009999) +(0.005050505051 0.01 0.00050009999) +(0.0101010101 0 0.00050009999) +(0.0101010101 2.5e-05 0.00050009999) +(0.0101010101 7.08119053e-05 0.00050009999) +(0.0101010101 0.00015426567 0.00050009999) +(0.0101010101 0.0003046635713 0.00050009999) +(0.0101010101 0.0005705243934 0.00050009999) +(0.0101010101 0.001024837958 0.00050009999) +(0.0101010101 0.001758019915 0.00050009999) +(0.0101010101 0.002838575912 0.00050009999) +(0.0101010101 0.004235474916 0.00050009999) +(0.0101010101 0.005764525084 0.00050009999) +(0.0101010101 0.007161424088 0.00050009999) +(0.0101010101 0.008241980085 0.00050009999) +(0.0101010101 0.008975162042 0.00050009999) +(0.0101010101 0.009429475607 0.00050009999) +(0.0101010101 0.009695336429 0.00050009999) +(0.0101010101 0.00984573433 0.00050009999) +(0.0101010101 0.009929188095 0.00050009999) +(0.0101010101 0.009975 0.00050009999) +(0.0101010101 0.01 0.00050009999) +(0.01515151515 0 0.00050009999) +(0.01515151515 2.5e-05 0.00050009999) +(0.01515151515 7.08119053e-05 0.00050009999) +(0.01515151515 0.00015426567 0.00050009999) +(0.01515151515 0.0003046635713 0.00050009999) +(0.01515151515 0.0005705243934 0.00050009999) +(0.01515151515 0.001024837958 0.00050009999) +(0.01515151515 0.001758019915 0.00050009999) +(0.01515151515 0.002838575912 0.00050009999) +(0.01515151515 0.004235474916 0.00050009999) +(0.01515151515 0.005764525084 0.00050009999) +(0.01515151515 0.007161424088 0.00050009999) +(0.01515151515 0.008241980085 0.00050009999) +(0.01515151515 0.008975162042 0.00050009999) +(0.01515151515 0.009429475607 0.00050009999) +(0.01515151515 0.009695336429 0.00050009999) +(0.01515151515 0.00984573433 0.00050009999) +(0.01515151515 0.009929188095 0.00050009999) +(0.01515151515 0.009975 0.00050009999) +(0.01515151515 0.01 0.00050009999) +(0.0202020202 0 0.00050009999) +(0.0202020202 2.5e-05 0.00050009999) +(0.0202020202 7.08119053e-05 0.00050009999) +(0.0202020202 0.00015426567 0.00050009999) +(0.0202020202 0.0003046635713 0.00050009999) +(0.0202020202 0.0005705243934 0.00050009999) +(0.0202020202 0.001024837958 0.00050009999) +(0.0202020202 0.001758019915 0.00050009999) +(0.0202020202 0.002838575912 0.00050009999) +(0.0202020202 0.004235474916 0.00050009999) +(0.0202020202 0.005764525084 0.00050009999) +(0.0202020202 0.007161424088 0.00050009999) +(0.0202020202 0.008241980085 0.00050009999) +(0.0202020202 0.008975162042 0.00050009999) +(0.0202020202 0.009429475607 0.00050009999) +(0.0202020202 0.009695336429 0.00050009999) +(0.0202020202 0.00984573433 0.00050009999) +(0.0202020202 0.009929188095 0.00050009999) +(0.0202020202 0.009975 0.00050009999) +(0.0202020202 0.01 0.00050009999) +(0.02525252525 0 0.00050009999) +(0.02525252525 2.5e-05 0.00050009999) +(0.02525252525 7.08119053e-05 0.00050009999) +(0.02525252525 0.00015426567 0.00050009999) +(0.02525252525 0.0003046635713 0.00050009999) +(0.02525252525 0.0005705243934 0.00050009999) +(0.02525252525 0.001024837958 0.00050009999) +(0.02525252525 0.001758019915 0.00050009999) +(0.02525252525 0.002838575912 0.00050009999) +(0.02525252525 0.004235474916 0.00050009999) +(0.02525252525 0.005764525084 0.00050009999) +(0.02525252525 0.007161424088 0.00050009999) +(0.02525252525 0.008241980085 0.00050009999) +(0.02525252525 0.008975162042 0.00050009999) +(0.02525252525 0.009429475607 0.00050009999) +(0.02525252525 0.009695336429 0.00050009999) +(0.02525252525 0.00984573433 0.00050009999) +(0.02525252525 0.009929188095 0.00050009999) +(0.02525252525 0.009975 0.00050009999) +(0.02525252525 0.01 0.00050009999) +(0.0303030303 0 0.00050009999) +(0.0303030303 2.5e-05 0.00050009999) +(0.0303030303 7.08119053e-05 0.00050009999) +(0.0303030303 0.00015426567 0.00050009999) +(0.0303030303 0.0003046635713 0.00050009999) +(0.0303030303 0.0005705243934 0.00050009999) +(0.0303030303 0.001024837958 0.00050009999) +(0.0303030303 0.001758019915 0.00050009999) +(0.0303030303 0.002838575912 0.00050009999) +(0.0303030303 0.004235474916 0.00050009999) +(0.0303030303 0.005764525084 0.00050009999) +(0.0303030303 0.007161424088 0.00050009999) +(0.0303030303 0.008241980085 0.00050009999) +(0.0303030303 0.008975162042 0.00050009999) +(0.0303030303 0.009429475607 0.00050009999) +(0.0303030303 0.009695336429 0.00050009999) +(0.0303030303 0.00984573433 0.00050009999) +(0.0303030303 0.009929188095 0.00050009999) +(0.0303030303 0.009975 0.00050009999) +(0.0303030303 0.01 0.00050009999) +(0.03535353535 0 0.00050009999) +(0.03535353535 2.5e-05 0.00050009999) +(0.03535353535 7.08119053e-05 0.00050009999) +(0.03535353535 0.00015426567 0.00050009999) +(0.03535353535 0.0003046635713 0.00050009999) +(0.03535353535 0.0005705243934 0.00050009999) +(0.03535353535 0.001024837958 0.00050009999) +(0.03535353535 0.001758019915 0.00050009999) +(0.03535353535 0.002838575912 0.00050009999) +(0.03535353535 0.004235474916 0.00050009999) +(0.03535353535 0.005764525084 0.00050009999) +(0.03535353535 0.007161424088 0.00050009999) +(0.03535353535 0.008241980085 0.00050009999) +(0.03535353535 0.008975162042 0.00050009999) +(0.03535353535 0.009429475607 0.00050009999) +(0.03535353535 0.009695336429 0.00050009999) +(0.03535353535 0.00984573433 0.00050009999) +(0.03535353535 0.009929188095 0.00050009999) +(0.03535353535 0.009975 0.00050009999) +(0.03535353535 0.01 0.00050009999) +(0.0404040404 0 0.00050009999) +(0.0404040404 2.5e-05 0.00050009999) +(0.0404040404 7.08119053e-05 0.00050009999) +(0.0404040404 0.00015426567 0.00050009999) +(0.0404040404 0.0003046635713 0.00050009999) +(0.0404040404 0.0005705243934 0.00050009999) +(0.0404040404 0.001024837958 0.00050009999) +(0.0404040404 0.001758019915 0.00050009999) +(0.0404040404 0.002838575912 0.00050009999) +(0.0404040404 0.004235474916 0.00050009999) +(0.0404040404 0.005764525084 0.00050009999) +(0.0404040404 0.007161424088 0.00050009999) +(0.0404040404 0.008241980085 0.00050009999) +(0.0404040404 0.008975162042 0.00050009999) +(0.0404040404 0.009429475607 0.00050009999) +(0.0404040404 0.009695336429 0.00050009999) +(0.0404040404 0.00984573433 0.00050009999) +(0.0404040404 0.009929188095 0.00050009999) +(0.0404040404 0.009975 0.00050009999) +(0.0404040404 0.01 0.00050009999) +(0.04545454545 0 0.00050009999) +(0.04545454545 2.5e-05 0.00050009999) +(0.04545454545 7.08119053e-05 0.00050009999) +(0.04545454545 0.00015426567 0.00050009999) +(0.04545454545 0.0003046635713 0.00050009999) +(0.04545454545 0.0005705243934 0.00050009999) +(0.04545454545 0.001024837958 0.00050009999) +(0.04545454545 0.001758019915 0.00050009999) +(0.04545454545 0.002838575912 0.00050009999) +(0.04545454545 0.004235474916 0.00050009999) +(0.04545454545 0.005764525084 0.00050009999) +(0.04545454545 0.007161424088 0.00050009999) +(0.04545454545 0.008241980085 0.00050009999) +(0.04545454545 0.008975162042 0.00050009999) +(0.04545454545 0.009429475607 0.00050009999) +(0.04545454545 0.009695336429 0.00050009999) +(0.04545454545 0.00984573433 0.00050009999) +(0.04545454545 0.009929188095 0.00050009999) +(0.04545454545 0.009975 0.00050009999) +(0.04545454545 0.01 0.00050009999) +(0.05050505051 0 0.00050009999) +(0.05050505051 2.5e-05 0.00050009999) +(0.05050505051 7.08119053e-05 0.00050009999) +(0.05050505051 0.00015426567 0.00050009999) +(0.05050505051 0.0003046635713 0.00050009999) +(0.05050505051 0.0005705243934 0.00050009999) +(0.05050505051 0.001024837958 0.00050009999) +(0.05050505051 0.001758019915 0.00050009999) +(0.05050505051 0.002838575912 0.00050009999) +(0.05050505051 0.004235474916 0.00050009999) +(0.05050505051 0.005764525084 0.00050009999) +(0.05050505051 0.007161424088 0.00050009999) +(0.05050505051 0.008241980085 0.00050009999) +(0.05050505051 0.008975162042 0.00050009999) +(0.05050505051 0.009429475607 0.00050009999) +(0.05050505051 0.009695336429 0.00050009999) +(0.05050505051 0.00984573433 0.00050009999) +(0.05050505051 0.009929188095 0.00050009999) +(0.05050505051 0.009975 0.00050009999) +(0.05050505051 0.01 0.00050009999) +(0.05555555556 0 0.00050009999) +(0.05555555556 2.5e-05 0.00050009999) +(0.05555555556 7.08119053e-05 0.00050009999) +(0.05555555556 0.00015426567 0.00050009999) +(0.05555555556 0.0003046635713 0.00050009999) +(0.05555555556 0.0005705243934 0.00050009999) +(0.05555555556 0.001024837958 0.00050009999) +(0.05555555556 0.001758019915 0.00050009999) +(0.05555555556 0.002838575912 0.00050009999) +(0.05555555556 0.004235474916 0.00050009999) +(0.05555555556 0.005764525084 0.00050009999) +(0.05555555556 0.007161424088 0.00050009999) +(0.05555555556 0.008241980085 0.00050009999) +(0.05555555556 0.008975162042 0.00050009999) +(0.05555555556 0.009429475607 0.00050009999) +(0.05555555556 0.009695336429 0.00050009999) +(0.05555555556 0.00984573433 0.00050009999) +(0.05555555556 0.009929188095 0.00050009999) +(0.05555555556 0.009975 0.00050009999) +(0.05555555556 0.01 0.00050009999) +(0.06060606061 0 0.00050009999) +(0.06060606061 2.5e-05 0.00050009999) +(0.06060606061 7.08119053e-05 0.00050009999) +(0.06060606061 0.00015426567 0.00050009999) +(0.06060606061 0.0003046635713 0.00050009999) +(0.06060606061 0.0005705243934 0.00050009999) +(0.06060606061 0.001024837958 0.00050009999) +(0.06060606061 0.001758019915 0.00050009999) +(0.06060606061 0.002838575912 0.00050009999) +(0.06060606061 0.004235474916 0.00050009999) +(0.06060606061 0.005764525084 0.00050009999) +(0.06060606061 0.007161424088 0.00050009999) +(0.06060606061 0.008241980085 0.00050009999) +(0.06060606061 0.008975162042 0.00050009999) +(0.06060606061 0.009429475607 0.00050009999) +(0.06060606061 0.009695336429 0.00050009999) +(0.06060606061 0.00984573433 0.00050009999) +(0.06060606061 0.009929188095 0.00050009999) +(0.06060606061 0.009975 0.00050009999) +(0.06060606061 0.01 0.00050009999) +(0.06565656566 0 0.00050009999) +(0.06565656566 2.5e-05 0.00050009999) +(0.06565656566 7.08119053e-05 0.00050009999) +(0.06565656566 0.00015426567 0.00050009999) +(0.06565656566 0.0003046635713 0.00050009999) +(0.06565656566 0.0005705243934 0.00050009999) +(0.06565656566 0.001024837958 0.00050009999) +(0.06565656566 0.001758019915 0.00050009999) +(0.06565656566 0.002838575912 0.00050009999) +(0.06565656566 0.004235474916 0.00050009999) +(0.06565656566 0.005764525084 0.00050009999) +(0.06565656566 0.007161424088 0.00050009999) +(0.06565656566 0.008241980085 0.00050009999) +(0.06565656566 0.008975162042 0.00050009999) +(0.06565656566 0.009429475607 0.00050009999) +(0.06565656566 0.009695336429 0.00050009999) +(0.06565656566 0.00984573433 0.00050009999) +(0.06565656566 0.009929188095 0.00050009999) +(0.06565656566 0.009975 0.00050009999) +(0.06565656566 0.01 0.00050009999) +(0.07070707071 0 0.00050009999) +(0.07070707071 2.5e-05 0.00050009999) +(0.07070707071 7.08119053e-05 0.00050009999) +(0.07070707071 0.00015426567 0.00050009999) +(0.07070707071 0.0003046635713 0.00050009999) +(0.07070707071 0.0005705243934 0.00050009999) +(0.07070707071 0.001024837958 0.00050009999) +(0.07070707071 0.001758019915 0.00050009999) +(0.07070707071 0.002838575912 0.00050009999) +(0.07070707071 0.004235474916 0.00050009999) +(0.07070707071 0.005764525084 0.00050009999) +(0.07070707071 0.007161424088 0.00050009999) +(0.07070707071 0.008241980085 0.00050009999) +(0.07070707071 0.008975162042 0.00050009999) +(0.07070707071 0.009429475607 0.00050009999) +(0.07070707071 0.009695336429 0.00050009999) +(0.07070707071 0.00984573433 0.00050009999) +(0.07070707071 0.009929188095 0.00050009999) +(0.07070707071 0.009975 0.00050009999) +(0.07070707071 0.01 0.00050009999) +(0.07575757576 0 0.00050009999) +(0.07575757576 2.5e-05 0.00050009999) +(0.07575757576 7.08119053e-05 0.00050009999) +(0.07575757576 0.00015426567 0.00050009999) +(0.07575757576 0.0003046635713 0.00050009999) +(0.07575757576 0.0005705243934 0.00050009999) +(0.07575757576 0.001024837958 0.00050009999) +(0.07575757576 0.001758019915 0.00050009999) +(0.07575757576 0.002838575912 0.00050009999) +(0.07575757576 0.004235474916 0.00050009999) +(0.07575757576 0.005764525084 0.00050009999) +(0.07575757576 0.007161424088 0.00050009999) +(0.07575757576 0.008241980085 0.00050009999) +(0.07575757576 0.008975162042 0.00050009999) +(0.07575757576 0.009429475607 0.00050009999) +(0.07575757576 0.009695336429 0.00050009999) +(0.07575757576 0.00984573433 0.00050009999) +(0.07575757576 0.009929188095 0.00050009999) +(0.07575757576 0.009975 0.00050009999) +(0.07575757576 0.01 0.00050009999) +(0.08080808081 0 0.00050009999) +(0.08080808081 2.5e-05 0.00050009999) +(0.08080808081 7.08119053e-05 0.00050009999) +(0.08080808081 0.00015426567 0.00050009999) +(0.08080808081 0.0003046635713 0.00050009999) +(0.08080808081 0.0005705243934 0.00050009999) +(0.08080808081 0.001024837958 0.00050009999) +(0.08080808081 0.001758019915 0.00050009999) +(0.08080808081 0.002838575912 0.00050009999) +(0.08080808081 0.004235474916 0.00050009999) +(0.08080808081 0.005764525084 0.00050009999) +(0.08080808081 0.007161424088 0.00050009999) +(0.08080808081 0.008241980085 0.00050009999) +(0.08080808081 0.008975162042 0.00050009999) +(0.08080808081 0.009429475607 0.00050009999) +(0.08080808081 0.009695336429 0.00050009999) +(0.08080808081 0.00984573433 0.00050009999) +(0.08080808081 0.009929188095 0.00050009999) +(0.08080808081 0.009975 0.00050009999) +(0.08080808081 0.01 0.00050009999) +(0.08585858586 0 0.00050009999) +(0.08585858586 2.5e-05 0.00050009999) +(0.08585858586 7.08119053e-05 0.00050009999) +(0.08585858586 0.00015426567 0.00050009999) +(0.08585858586 0.0003046635713 0.00050009999) +(0.08585858586 0.0005705243934 0.00050009999) +(0.08585858586 0.001024837958 0.00050009999) +(0.08585858586 0.001758019915 0.00050009999) +(0.08585858586 0.002838575912 0.00050009999) +(0.08585858586 0.004235474916 0.00050009999) +(0.08585858586 0.005764525084 0.00050009999) +(0.08585858586 0.007161424088 0.00050009999) +(0.08585858586 0.008241980085 0.00050009999) +(0.08585858586 0.008975162042 0.00050009999) +(0.08585858586 0.009429475607 0.00050009999) +(0.08585858586 0.009695336429 0.00050009999) +(0.08585858586 0.00984573433 0.00050009999) +(0.08585858586 0.009929188095 0.00050009999) +(0.08585858586 0.009975 0.00050009999) +(0.08585858586 0.01 0.00050009999) +(0.09090909091 0 0.00050009999) +(0.09090909091 2.5e-05 0.00050009999) +(0.09090909091 7.08119053e-05 0.00050009999) +(0.09090909091 0.00015426567 0.00050009999) +(0.09090909091 0.0003046635713 0.00050009999) +(0.09090909091 0.0005705243934 0.00050009999) +(0.09090909091 0.001024837958 0.00050009999) +(0.09090909091 0.001758019915 0.00050009999) +(0.09090909091 0.002838575912 0.00050009999) +(0.09090909091 0.004235474916 0.00050009999) +(0.09090909091 0.005764525084 0.00050009999) +(0.09090909091 0.007161424088 0.00050009999) +(0.09090909091 0.008241980085 0.00050009999) +(0.09090909091 0.008975162042 0.00050009999) +(0.09090909091 0.009429475607 0.00050009999) +(0.09090909091 0.009695336429 0.00050009999) +(0.09090909091 0.00984573433 0.00050009999) +(0.09090909091 0.009929188095 0.00050009999) +(0.09090909091 0.009975 0.00050009999) +(0.09090909091 0.01 0.00050009999) +(0.09595959596 0 0.00050009999) +(0.09595959596 2.5e-05 0.00050009999) +(0.09595959596 7.08119053e-05 0.00050009999) +(0.09595959596 0.00015426567 0.00050009999) +(0.09595959596 0.0003046635713 0.00050009999) +(0.09595959596 0.0005705243934 0.00050009999) +(0.09595959596 0.001024837958 0.00050009999) +(0.09595959596 0.001758019915 0.00050009999) +(0.09595959596 0.002838575912 0.00050009999) +(0.09595959596 0.004235474916 0.00050009999) +(0.09595959596 0.005764525084 0.00050009999) +(0.09595959596 0.007161424088 0.00050009999) +(0.09595959596 0.008241980085 0.00050009999) +(0.09595959596 0.008975162042 0.00050009999) +(0.09595959596 0.009429475607 0.00050009999) +(0.09595959596 0.009695336429 0.00050009999) +(0.09595959596 0.00984573433 0.00050009999) +(0.09595959596 0.009929188095 0.00050009999) +(0.09595959596 0.009975 0.00050009999) +(0.09595959596 0.01 0.00050009999) +(0.101010101 0 0.00050009999) +(0.101010101 2.5e-05 0.00050009999) +(0.101010101 7.08119053e-05 0.00050009999) +(0.101010101 0.00015426567 0.00050009999) +(0.101010101 0.0003046635713 0.00050009999) +(0.101010101 0.0005705243934 0.00050009999) +(0.101010101 0.001024837958 0.00050009999) +(0.101010101 0.001758019915 0.00050009999) +(0.101010101 0.002838575912 0.00050009999) +(0.101010101 0.004235474916 0.00050009999) +(0.101010101 0.005764525084 0.00050009999) +(0.101010101 0.007161424088 0.00050009999) +(0.101010101 0.008241980085 0.00050009999) +(0.101010101 0.008975162042 0.00050009999) +(0.101010101 0.009429475607 0.00050009999) +(0.101010101 0.009695336429 0.00050009999) +(0.101010101 0.00984573433 0.00050009999) +(0.101010101 0.009929188095 0.00050009999) +(0.101010101 0.009975 0.00050009999) +(0.101010101 0.01 0.00050009999) +(0.1060606061 0 0.00050009999) +(0.1060606061 2.5e-05 0.00050009999) +(0.1060606061 7.08119053e-05 0.00050009999) +(0.1060606061 0.00015426567 0.00050009999) +(0.1060606061 0.0003046635713 0.00050009999) +(0.1060606061 0.0005705243934 0.00050009999) +(0.1060606061 0.001024837958 0.00050009999) +(0.1060606061 0.001758019915 0.00050009999) +(0.1060606061 0.002838575912 0.00050009999) +(0.1060606061 0.004235474916 0.00050009999) +(0.1060606061 0.005764525084 0.00050009999) +(0.1060606061 0.007161424088 0.00050009999) +(0.1060606061 0.008241980085 0.00050009999) +(0.1060606061 0.008975162042 0.00050009999) +(0.1060606061 0.009429475607 0.00050009999) +(0.1060606061 0.009695336429 0.00050009999) +(0.1060606061 0.00984573433 0.00050009999) +(0.1060606061 0.009929188095 0.00050009999) +(0.1060606061 0.009975 0.00050009999) +(0.1060606061 0.01 0.00050009999) +(0.1111111111 0 0.00050009999) +(0.1111111111 2.5e-05 0.00050009999) +(0.1111111111 7.08119053e-05 0.00050009999) +(0.1111111111 0.00015426567 0.00050009999) +(0.1111111111 0.0003046635713 0.00050009999) +(0.1111111111 0.0005705243934 0.00050009999) +(0.1111111111 0.001024837958 0.00050009999) +(0.1111111111 0.001758019915 0.00050009999) +(0.1111111111 0.002838575912 0.00050009999) +(0.1111111111 0.004235474916 0.00050009999) +(0.1111111111 0.005764525084 0.00050009999) +(0.1111111111 0.007161424088 0.00050009999) +(0.1111111111 0.008241980085 0.00050009999) +(0.1111111111 0.008975162042 0.00050009999) +(0.1111111111 0.009429475607 0.00050009999) +(0.1111111111 0.009695336429 0.00050009999) +(0.1111111111 0.00984573433 0.00050009999) +(0.1111111111 0.009929188095 0.00050009999) +(0.1111111111 0.009975 0.00050009999) +(0.1111111111 0.01 0.00050009999) +(0.1161616162 0 0.00050009999) +(0.1161616162 2.5e-05 0.00050009999) +(0.1161616162 7.08119053e-05 0.00050009999) +(0.1161616162 0.00015426567 0.00050009999) +(0.1161616162 0.0003046635713 0.00050009999) +(0.1161616162 0.0005705243934 0.00050009999) +(0.1161616162 0.001024837958 0.00050009999) +(0.1161616162 0.001758019915 0.00050009999) +(0.1161616162 0.002838575912 0.00050009999) +(0.1161616162 0.004235474916 0.00050009999) +(0.1161616162 0.005764525084 0.00050009999) +(0.1161616162 0.007161424088 0.00050009999) +(0.1161616162 0.008241980085 0.00050009999) +(0.1161616162 0.008975162042 0.00050009999) +(0.1161616162 0.009429475607 0.00050009999) +(0.1161616162 0.009695336429 0.00050009999) +(0.1161616162 0.00984573433 0.00050009999) +(0.1161616162 0.009929188095 0.00050009999) +(0.1161616162 0.009975 0.00050009999) +(0.1161616162 0.01 0.00050009999) +(0.1212121212 0 0.00050009999) +(0.1212121212 2.5e-05 0.00050009999) +(0.1212121212 7.08119053e-05 0.00050009999) +(0.1212121212 0.00015426567 0.00050009999) +(0.1212121212 0.0003046635713 0.00050009999) +(0.1212121212 0.0005705243934 0.00050009999) +(0.1212121212 0.001024837958 0.00050009999) +(0.1212121212 0.001758019915 0.00050009999) +(0.1212121212 0.002838575912 0.00050009999) +(0.1212121212 0.004235474916 0.00050009999) +(0.1212121212 0.005764525084 0.00050009999) +(0.1212121212 0.007161424088 0.00050009999) +(0.1212121212 0.008241980085 0.00050009999) +(0.1212121212 0.008975162042 0.00050009999) +(0.1212121212 0.009429475607 0.00050009999) +(0.1212121212 0.009695336429 0.00050009999) +(0.1212121212 0.00984573433 0.00050009999) +(0.1212121212 0.009929188095 0.00050009999) +(0.1212121212 0.009975 0.00050009999) +(0.1212121212 0.01 0.00050009999) +(0.1262626263 0 0.00050009999) +(0.1262626263 2.5e-05 0.00050009999) +(0.1262626263 7.08119053e-05 0.00050009999) +(0.1262626263 0.00015426567 0.00050009999) +(0.1262626263 0.0003046635713 0.00050009999) +(0.1262626263 0.0005705243934 0.00050009999) +(0.1262626263 0.001024837958 0.00050009999) +(0.1262626263 0.001758019915 0.00050009999) +(0.1262626263 0.002838575912 0.00050009999) +(0.1262626263 0.004235474916 0.00050009999) +(0.1262626263 0.005764525084 0.00050009999) +(0.1262626263 0.007161424088 0.00050009999) +(0.1262626263 0.008241980085 0.00050009999) +(0.1262626263 0.008975162042 0.00050009999) +(0.1262626263 0.009429475607 0.00050009999) +(0.1262626263 0.009695336429 0.00050009999) +(0.1262626263 0.00984573433 0.00050009999) +(0.1262626263 0.009929188095 0.00050009999) +(0.1262626263 0.009975 0.00050009999) +(0.1262626263 0.01 0.00050009999) +(0.1313131313 0 0.00050009999) +(0.1313131313 2.5e-05 0.00050009999) +(0.1313131313 7.08119053e-05 0.00050009999) +(0.1313131313 0.00015426567 0.00050009999) +(0.1313131313 0.0003046635713 0.00050009999) +(0.1313131313 0.0005705243934 0.00050009999) +(0.1313131313 0.001024837958 0.00050009999) +(0.1313131313 0.001758019915 0.00050009999) +(0.1313131313 0.002838575912 0.00050009999) +(0.1313131313 0.004235474916 0.00050009999) +(0.1313131313 0.005764525084 0.00050009999) +(0.1313131313 0.007161424088 0.00050009999) +(0.1313131313 0.008241980085 0.00050009999) +(0.1313131313 0.008975162042 0.00050009999) +(0.1313131313 0.009429475607 0.00050009999) +(0.1313131313 0.009695336429 0.00050009999) +(0.1313131313 0.00984573433 0.00050009999) +(0.1313131313 0.009929188095 0.00050009999) +(0.1313131313 0.009975 0.00050009999) +(0.1313131313 0.01 0.00050009999) +(0.1363636364 0 0.00050009999) +(0.1363636364 2.5e-05 0.00050009999) +(0.1363636364 7.08119053e-05 0.00050009999) +(0.1363636364 0.00015426567 0.00050009999) +(0.1363636364 0.0003046635713 0.00050009999) +(0.1363636364 0.0005705243934 0.00050009999) +(0.1363636364 0.001024837958 0.00050009999) +(0.1363636364 0.001758019915 0.00050009999) +(0.1363636364 0.002838575912 0.00050009999) +(0.1363636364 0.004235474916 0.00050009999) +(0.1363636364 0.005764525084 0.00050009999) +(0.1363636364 0.007161424088 0.00050009999) +(0.1363636364 0.008241980085 0.00050009999) +(0.1363636364 0.008975162042 0.00050009999) +(0.1363636364 0.009429475607 0.00050009999) +(0.1363636364 0.009695336429 0.00050009999) +(0.1363636364 0.00984573433 0.00050009999) +(0.1363636364 0.009929188095 0.00050009999) +(0.1363636364 0.009975 0.00050009999) +(0.1363636364 0.01 0.00050009999) +(0.1414141414 0 0.00050009999) +(0.1414141414 2.5e-05 0.00050009999) +(0.1414141414 7.08119053e-05 0.00050009999) +(0.1414141414 0.00015426567 0.00050009999) +(0.1414141414 0.0003046635713 0.00050009999) +(0.1414141414 0.0005705243934 0.00050009999) +(0.1414141414 0.001024837958 0.00050009999) +(0.1414141414 0.001758019915 0.00050009999) +(0.1414141414 0.002838575912 0.00050009999) +(0.1414141414 0.004235474916 0.00050009999) +(0.1414141414 0.005764525084 0.00050009999) +(0.1414141414 0.007161424088 0.00050009999) +(0.1414141414 0.008241980085 0.00050009999) +(0.1414141414 0.008975162042 0.00050009999) +(0.1414141414 0.009429475607 0.00050009999) +(0.1414141414 0.009695336429 0.00050009999) +(0.1414141414 0.00984573433 0.00050009999) +(0.1414141414 0.009929188095 0.00050009999) +(0.1414141414 0.009975 0.00050009999) +(0.1414141414 0.01 0.00050009999) +(0.1464646465 0 0.00050009999) +(0.1464646465 2.5e-05 0.00050009999) +(0.1464646465 7.08119053e-05 0.00050009999) +(0.1464646465 0.00015426567 0.00050009999) +(0.1464646465 0.0003046635713 0.00050009999) +(0.1464646465 0.0005705243934 0.00050009999) +(0.1464646465 0.001024837958 0.00050009999) +(0.1464646465 0.001758019915 0.00050009999) +(0.1464646465 0.002838575912 0.00050009999) +(0.1464646465 0.004235474916 0.00050009999) +(0.1464646465 0.005764525084 0.00050009999) +(0.1464646465 0.007161424088 0.00050009999) +(0.1464646465 0.008241980085 0.00050009999) +(0.1464646465 0.008975162042 0.00050009999) +(0.1464646465 0.009429475607 0.00050009999) +(0.1464646465 0.009695336429 0.00050009999) +(0.1464646465 0.00984573433 0.00050009999) +(0.1464646465 0.009929188095 0.00050009999) +(0.1464646465 0.009975 0.00050009999) +(0.1464646465 0.01 0.00050009999) +(0.1515151515 0 0.00050009999) +(0.1515151515 2.5e-05 0.00050009999) +(0.1515151515 7.08119053e-05 0.00050009999) +(0.1515151515 0.00015426567 0.00050009999) +(0.1515151515 0.0003046635713 0.00050009999) +(0.1515151515 0.0005705243934 0.00050009999) +(0.1515151515 0.001024837958 0.00050009999) +(0.1515151515 0.001758019915 0.00050009999) +(0.1515151515 0.002838575912 0.00050009999) +(0.1515151515 0.004235474916 0.00050009999) +(0.1515151515 0.005764525084 0.00050009999) +(0.1515151515 0.007161424088 0.00050009999) +(0.1515151515 0.008241980085 0.00050009999) +(0.1515151515 0.008975162042 0.00050009999) +(0.1515151515 0.009429475607 0.00050009999) +(0.1515151515 0.009695336429 0.00050009999) +(0.1515151515 0.00984573433 0.00050009999) +(0.1515151515 0.009929188095 0.00050009999) +(0.1515151515 0.009975 0.00050009999) +(0.1515151515 0.01 0.00050009999) +(0.1565656566 0 0.00050009999) +(0.1565656566 2.5e-05 0.00050009999) +(0.1565656566 7.08119053e-05 0.00050009999) +(0.1565656566 0.00015426567 0.00050009999) +(0.1565656566 0.0003046635713 0.00050009999) +(0.1565656566 0.0005705243934 0.00050009999) +(0.1565656566 0.001024837958 0.00050009999) +(0.1565656566 0.001758019915 0.00050009999) +(0.1565656566 0.002838575912 0.00050009999) +(0.1565656566 0.004235474916 0.00050009999) +(0.1565656566 0.005764525084 0.00050009999) +(0.1565656566 0.007161424088 0.00050009999) +(0.1565656566 0.008241980085 0.00050009999) +(0.1565656566 0.008975162042 0.00050009999) +(0.1565656566 0.009429475607 0.00050009999) +(0.1565656566 0.009695336429 0.00050009999) +(0.1565656566 0.00984573433 0.00050009999) +(0.1565656566 0.009929188095 0.00050009999) +(0.1565656566 0.009975 0.00050009999) +(0.1565656566 0.01 0.00050009999) +(0.1616161616 0 0.00050009999) +(0.1616161616 2.5e-05 0.00050009999) +(0.1616161616 7.08119053e-05 0.00050009999) +(0.1616161616 0.00015426567 0.00050009999) +(0.1616161616 0.0003046635713 0.00050009999) +(0.1616161616 0.0005705243934 0.00050009999) +(0.1616161616 0.001024837958 0.00050009999) +(0.1616161616 0.001758019915 0.00050009999) +(0.1616161616 0.002838575912 0.00050009999) +(0.1616161616 0.004235474916 0.00050009999) +(0.1616161616 0.005764525084 0.00050009999) +(0.1616161616 0.007161424088 0.00050009999) +(0.1616161616 0.008241980085 0.00050009999) +(0.1616161616 0.008975162042 0.00050009999) +(0.1616161616 0.009429475607 0.00050009999) +(0.1616161616 0.009695336429 0.00050009999) +(0.1616161616 0.00984573433 0.00050009999) +(0.1616161616 0.009929188095 0.00050009999) +(0.1616161616 0.009975 0.00050009999) +(0.1616161616 0.01 0.00050009999) +(0.1666666667 0 0.00050009999) +(0.1666666667 2.5e-05 0.00050009999) +(0.1666666667 7.08119053e-05 0.00050009999) +(0.1666666667 0.00015426567 0.00050009999) +(0.1666666667 0.0003046635713 0.00050009999) +(0.1666666667 0.0005705243934 0.00050009999) +(0.1666666667 0.001024837958 0.00050009999) +(0.1666666667 0.001758019915 0.00050009999) +(0.1666666667 0.002838575912 0.00050009999) +(0.1666666667 0.004235474916 0.00050009999) +(0.1666666667 0.005764525084 0.00050009999) +(0.1666666667 0.007161424088 0.00050009999) +(0.1666666667 0.008241980085 0.00050009999) +(0.1666666667 0.008975162042 0.00050009999) +(0.1666666667 0.009429475607 0.00050009999) +(0.1666666667 0.009695336429 0.00050009999) +(0.1666666667 0.00984573433 0.00050009999) +(0.1666666667 0.009929188095 0.00050009999) +(0.1666666667 0.009975 0.00050009999) +(0.1666666667 0.01 0.00050009999) +(0.1717171717 0 0.00050009999) +(0.1717171717 2.5e-05 0.00050009999) +(0.1717171717 7.08119053e-05 0.00050009999) +(0.1717171717 0.00015426567 0.00050009999) +(0.1717171717 0.0003046635713 0.00050009999) +(0.1717171717 0.0005705243934 0.00050009999) +(0.1717171717 0.001024837958 0.00050009999) +(0.1717171717 0.001758019915 0.00050009999) +(0.1717171717 0.002838575912 0.00050009999) +(0.1717171717 0.004235474916 0.00050009999) +(0.1717171717 0.005764525084 0.00050009999) +(0.1717171717 0.007161424088 0.00050009999) +(0.1717171717 0.008241980085 0.00050009999) +(0.1717171717 0.008975162042 0.00050009999) +(0.1717171717 0.009429475607 0.00050009999) +(0.1717171717 0.009695336429 0.00050009999) +(0.1717171717 0.00984573433 0.00050009999) +(0.1717171717 0.009929188095 0.00050009999) +(0.1717171717 0.009975 0.00050009999) +(0.1717171717 0.01 0.00050009999) +(0.1767676768 0 0.00050009999) +(0.1767676768 2.5e-05 0.00050009999) +(0.1767676768 7.08119053e-05 0.00050009999) +(0.1767676768 0.00015426567 0.00050009999) +(0.1767676768 0.0003046635713 0.00050009999) +(0.1767676768 0.0005705243934 0.00050009999) +(0.1767676768 0.001024837958 0.00050009999) +(0.1767676768 0.001758019915 0.00050009999) +(0.1767676768 0.002838575912 0.00050009999) +(0.1767676768 0.004235474916 0.00050009999) +(0.1767676768 0.005764525084 0.00050009999) +(0.1767676768 0.007161424088 0.00050009999) +(0.1767676768 0.008241980085 0.00050009999) +(0.1767676768 0.008975162042 0.00050009999) +(0.1767676768 0.009429475607 0.00050009999) +(0.1767676768 0.009695336429 0.00050009999) +(0.1767676768 0.00984573433 0.00050009999) +(0.1767676768 0.009929188095 0.00050009999) +(0.1767676768 0.009975 0.00050009999) +(0.1767676768 0.01 0.00050009999) +(0.1818181818 0 0.00050009999) +(0.1818181818 2.5e-05 0.00050009999) +(0.1818181818 7.08119053e-05 0.00050009999) +(0.1818181818 0.00015426567 0.00050009999) +(0.1818181818 0.0003046635713 0.00050009999) +(0.1818181818 0.0005705243934 0.00050009999) +(0.1818181818 0.001024837958 0.00050009999) +(0.1818181818 0.001758019915 0.00050009999) +(0.1818181818 0.002838575912 0.00050009999) +(0.1818181818 0.004235474916 0.00050009999) +(0.1818181818 0.005764525084 0.00050009999) +(0.1818181818 0.007161424088 0.00050009999) +(0.1818181818 0.008241980085 0.00050009999) +(0.1818181818 0.008975162042 0.00050009999) +(0.1818181818 0.009429475607 0.00050009999) +(0.1818181818 0.009695336429 0.00050009999) +(0.1818181818 0.00984573433 0.00050009999) +(0.1818181818 0.009929188095 0.00050009999) +(0.1818181818 0.009975 0.00050009999) +(0.1818181818 0.01 0.00050009999) +(0.1868686869 0 0.00050009999) +(0.1868686869 2.5e-05 0.00050009999) +(0.1868686869 7.08119053e-05 0.00050009999) +(0.1868686869 0.00015426567 0.00050009999) +(0.1868686869 0.0003046635713 0.00050009999) +(0.1868686869 0.0005705243934 0.00050009999) +(0.1868686869 0.001024837958 0.00050009999) +(0.1868686869 0.001758019915 0.00050009999) +(0.1868686869 0.002838575912 0.00050009999) +(0.1868686869 0.004235474916 0.00050009999) +(0.1868686869 0.005764525084 0.00050009999) +(0.1868686869 0.007161424088 0.00050009999) +(0.1868686869 0.008241980085 0.00050009999) +(0.1868686869 0.008975162042 0.00050009999) +(0.1868686869 0.009429475607 0.00050009999) +(0.1868686869 0.009695336429 0.00050009999) +(0.1868686869 0.00984573433 0.00050009999) +(0.1868686869 0.009929188095 0.00050009999) +(0.1868686869 0.009975 0.00050009999) +(0.1868686869 0.01 0.00050009999) +(0.1919191919 0 0.00050009999) +(0.1919191919 2.5e-05 0.00050009999) +(0.1919191919 7.08119053e-05 0.00050009999) +(0.1919191919 0.00015426567 0.00050009999) +(0.1919191919 0.0003046635713 0.00050009999) +(0.1919191919 0.0005705243934 0.00050009999) +(0.1919191919 0.001024837958 0.00050009999) +(0.1919191919 0.001758019915 0.00050009999) +(0.1919191919 0.002838575912 0.00050009999) +(0.1919191919 0.004235474916 0.00050009999) +(0.1919191919 0.005764525084 0.00050009999) +(0.1919191919 0.007161424088 0.00050009999) +(0.1919191919 0.008241980085 0.00050009999) +(0.1919191919 0.008975162042 0.00050009999) +(0.1919191919 0.009429475607 0.00050009999) +(0.1919191919 0.009695336429 0.00050009999) +(0.1919191919 0.00984573433 0.00050009999) +(0.1919191919 0.009929188095 0.00050009999) +(0.1919191919 0.009975 0.00050009999) +(0.1919191919 0.01 0.00050009999) +(0.196969697 0 0.00050009999) +(0.196969697 2.5e-05 0.00050009999) +(0.196969697 7.08119053e-05 0.00050009999) +(0.196969697 0.00015426567 0.00050009999) +(0.196969697 0.0003046635713 0.00050009999) +(0.196969697 0.0005705243934 0.00050009999) +(0.196969697 0.001024837958 0.00050009999) +(0.196969697 0.001758019915 0.00050009999) +(0.196969697 0.002838575912 0.00050009999) +(0.196969697 0.004235474916 0.00050009999) +(0.196969697 0.005764525084 0.00050009999) +(0.196969697 0.007161424088 0.00050009999) +(0.196969697 0.008241980085 0.00050009999) +(0.196969697 0.008975162042 0.00050009999) +(0.196969697 0.009429475607 0.00050009999) +(0.196969697 0.009695336429 0.00050009999) +(0.196969697 0.00984573433 0.00050009999) +(0.196969697 0.009929188095 0.00050009999) +(0.196969697 0.009975 0.00050009999) +(0.196969697 0.01 0.00050009999) +(0.202020202 0 0.00050009999) +(0.202020202 2.5e-05 0.00050009999) +(0.202020202 7.08119053e-05 0.00050009999) +(0.202020202 0.00015426567 0.00050009999) +(0.202020202 0.0003046635713 0.00050009999) +(0.202020202 0.0005705243934 0.00050009999) +(0.202020202 0.001024837958 0.00050009999) +(0.202020202 0.001758019915 0.00050009999) +(0.202020202 0.002838575912 0.00050009999) +(0.202020202 0.004235474916 0.00050009999) +(0.202020202 0.005764525084 0.00050009999) +(0.202020202 0.007161424088 0.00050009999) +(0.202020202 0.008241980085 0.00050009999) +(0.202020202 0.008975162042 0.00050009999) +(0.202020202 0.009429475607 0.00050009999) +(0.202020202 0.009695336429 0.00050009999) +(0.202020202 0.00984573433 0.00050009999) +(0.202020202 0.009929188095 0.00050009999) +(0.202020202 0.009975 0.00050009999) +(0.202020202 0.01 0.00050009999) +(0.2070707071 0 0.00050009999) +(0.2070707071 2.5e-05 0.00050009999) +(0.2070707071 7.08119053e-05 0.00050009999) +(0.2070707071 0.00015426567 0.00050009999) +(0.2070707071 0.0003046635713 0.00050009999) +(0.2070707071 0.0005705243934 0.00050009999) +(0.2070707071 0.001024837958 0.00050009999) +(0.2070707071 0.001758019915 0.00050009999) +(0.2070707071 0.002838575912 0.00050009999) +(0.2070707071 0.004235474916 0.00050009999) +(0.2070707071 0.005764525084 0.00050009999) +(0.2070707071 0.007161424088 0.00050009999) +(0.2070707071 0.008241980085 0.00050009999) +(0.2070707071 0.008975162042 0.00050009999) +(0.2070707071 0.009429475607 0.00050009999) +(0.2070707071 0.009695336429 0.00050009999) +(0.2070707071 0.00984573433 0.00050009999) +(0.2070707071 0.009929188095 0.00050009999) +(0.2070707071 0.009975 0.00050009999) +(0.2070707071 0.01 0.00050009999) +(0.2121212121 0 0.00050009999) +(0.2121212121 2.5e-05 0.00050009999) +(0.2121212121 7.08119053e-05 0.00050009999) +(0.2121212121 0.00015426567 0.00050009999) +(0.2121212121 0.0003046635713 0.00050009999) +(0.2121212121 0.0005705243934 0.00050009999) +(0.2121212121 0.001024837958 0.00050009999) +(0.2121212121 0.001758019915 0.00050009999) +(0.2121212121 0.002838575912 0.00050009999) +(0.2121212121 0.004235474916 0.00050009999) +(0.2121212121 0.005764525084 0.00050009999) +(0.2121212121 0.007161424088 0.00050009999) +(0.2121212121 0.008241980085 0.00050009999) +(0.2121212121 0.008975162042 0.00050009999) +(0.2121212121 0.009429475607 0.00050009999) +(0.2121212121 0.009695336429 0.00050009999) +(0.2121212121 0.00984573433 0.00050009999) +(0.2121212121 0.009929188095 0.00050009999) +(0.2121212121 0.009975 0.00050009999) +(0.2121212121 0.01 0.00050009999) +(0.2171717172 0 0.00050009999) +(0.2171717172 2.5e-05 0.00050009999) +(0.2171717172 7.08119053e-05 0.00050009999) +(0.2171717172 0.00015426567 0.00050009999) +(0.2171717172 0.0003046635713 0.00050009999) +(0.2171717172 0.0005705243934 0.00050009999) +(0.2171717172 0.001024837958 0.00050009999) +(0.2171717172 0.001758019915 0.00050009999) +(0.2171717172 0.002838575912 0.00050009999) +(0.2171717172 0.004235474916 0.00050009999) +(0.2171717172 0.005764525084 0.00050009999) +(0.2171717172 0.007161424088 0.00050009999) +(0.2171717172 0.008241980085 0.00050009999) +(0.2171717172 0.008975162042 0.00050009999) +(0.2171717172 0.009429475607 0.00050009999) +(0.2171717172 0.009695336429 0.00050009999) +(0.2171717172 0.00984573433 0.00050009999) +(0.2171717172 0.009929188095 0.00050009999) +(0.2171717172 0.009975 0.00050009999) +(0.2171717172 0.01 0.00050009999) +(0.2222222222 0 0.00050009999) +(0.2222222222 2.5e-05 0.00050009999) +(0.2222222222 7.08119053e-05 0.00050009999) +(0.2222222222 0.00015426567 0.00050009999) +(0.2222222222 0.0003046635713 0.00050009999) +(0.2222222222 0.0005705243934 0.00050009999) +(0.2222222222 0.001024837958 0.00050009999) +(0.2222222222 0.001758019915 0.00050009999) +(0.2222222222 0.002838575912 0.00050009999) +(0.2222222222 0.004235474916 0.00050009999) +(0.2222222222 0.005764525084 0.00050009999) +(0.2222222222 0.007161424088 0.00050009999) +(0.2222222222 0.008241980085 0.00050009999) +(0.2222222222 0.008975162042 0.00050009999) +(0.2222222222 0.009429475607 0.00050009999) +(0.2222222222 0.009695336429 0.00050009999) +(0.2222222222 0.00984573433 0.00050009999) +(0.2222222222 0.009929188095 0.00050009999) +(0.2222222222 0.009975 0.00050009999) +(0.2222222222 0.01 0.00050009999) +(0.2272727273 0 0.00050009999) +(0.2272727273 2.5e-05 0.00050009999) +(0.2272727273 7.08119053e-05 0.00050009999) +(0.2272727273 0.00015426567 0.00050009999) +(0.2272727273 0.0003046635713 0.00050009999) +(0.2272727273 0.0005705243934 0.00050009999) +(0.2272727273 0.001024837958 0.00050009999) +(0.2272727273 0.001758019915 0.00050009999) +(0.2272727273 0.002838575912 0.00050009999) +(0.2272727273 0.004235474916 0.00050009999) +(0.2272727273 0.005764525084 0.00050009999) +(0.2272727273 0.007161424088 0.00050009999) +(0.2272727273 0.008241980085 0.00050009999) +(0.2272727273 0.008975162042 0.00050009999) +(0.2272727273 0.009429475607 0.00050009999) +(0.2272727273 0.009695336429 0.00050009999) +(0.2272727273 0.00984573433 0.00050009999) +(0.2272727273 0.009929188095 0.00050009999) +(0.2272727273 0.009975 0.00050009999) +(0.2272727273 0.01 0.00050009999) +(0.2323232323 0 0.00050009999) +(0.2323232323 2.5e-05 0.00050009999) +(0.2323232323 7.08119053e-05 0.00050009999) +(0.2323232323 0.00015426567 0.00050009999) +(0.2323232323 0.0003046635713 0.00050009999) +(0.2323232323 0.0005705243934 0.00050009999) +(0.2323232323 0.001024837958 0.00050009999) +(0.2323232323 0.001758019915 0.00050009999) +(0.2323232323 0.002838575912 0.00050009999) +(0.2323232323 0.004235474916 0.00050009999) +(0.2323232323 0.005764525084 0.00050009999) +(0.2323232323 0.007161424088 0.00050009999) +(0.2323232323 0.008241980085 0.00050009999) +(0.2323232323 0.008975162042 0.00050009999) +(0.2323232323 0.009429475607 0.00050009999) +(0.2323232323 0.009695336429 0.00050009999) +(0.2323232323 0.00984573433 0.00050009999) +(0.2323232323 0.009929188095 0.00050009999) +(0.2323232323 0.009975 0.00050009999) +(0.2323232323 0.01 0.00050009999) +(0.2373737374 0 0.00050009999) +(0.2373737374 2.5e-05 0.00050009999) +(0.2373737374 7.08119053e-05 0.00050009999) +(0.2373737374 0.00015426567 0.00050009999) +(0.2373737374 0.0003046635713 0.00050009999) +(0.2373737374 0.0005705243934 0.00050009999) +(0.2373737374 0.001024837958 0.00050009999) +(0.2373737374 0.001758019915 0.00050009999) +(0.2373737374 0.002838575912 0.00050009999) +(0.2373737374 0.004235474916 0.00050009999) +(0.2373737374 0.005764525084 0.00050009999) +(0.2373737374 0.007161424088 0.00050009999) +(0.2373737374 0.008241980085 0.00050009999) +(0.2373737374 0.008975162042 0.00050009999) +(0.2373737374 0.009429475607 0.00050009999) +(0.2373737374 0.009695336429 0.00050009999) +(0.2373737374 0.00984573433 0.00050009999) +(0.2373737374 0.009929188095 0.00050009999) +(0.2373737374 0.009975 0.00050009999) +(0.2373737374 0.01 0.00050009999) +(0.2424242424 0 0.00050009999) +(0.2424242424 2.5e-05 0.00050009999) +(0.2424242424 7.08119053e-05 0.00050009999) +(0.2424242424 0.00015426567 0.00050009999) +(0.2424242424 0.0003046635713 0.00050009999) +(0.2424242424 0.0005705243934 0.00050009999) +(0.2424242424 0.001024837958 0.00050009999) +(0.2424242424 0.001758019915 0.00050009999) +(0.2424242424 0.002838575912 0.00050009999) +(0.2424242424 0.004235474916 0.00050009999) +(0.2424242424 0.005764525084 0.00050009999) +(0.2424242424 0.007161424088 0.00050009999) +(0.2424242424 0.008241980085 0.00050009999) +(0.2424242424 0.008975162042 0.00050009999) +(0.2424242424 0.009429475607 0.00050009999) +(0.2424242424 0.009695336429 0.00050009999) +(0.2424242424 0.00984573433 0.00050009999) +(0.2424242424 0.009929188095 0.00050009999) +(0.2424242424 0.009975 0.00050009999) +(0.2424242424 0.01 0.00050009999) +(0.2474747475 0 0.00050009999) +(0.2474747475 2.5e-05 0.00050009999) +(0.2474747475 7.08119053e-05 0.00050009999) +(0.2474747475 0.00015426567 0.00050009999) +(0.2474747475 0.0003046635713 0.00050009999) +(0.2474747475 0.0005705243934 0.00050009999) +(0.2474747475 0.001024837958 0.00050009999) +(0.2474747475 0.001758019915 0.00050009999) +(0.2474747475 0.002838575912 0.00050009999) +(0.2474747475 0.004235474916 0.00050009999) +(0.2474747475 0.005764525084 0.00050009999) +(0.2474747475 0.007161424088 0.00050009999) +(0.2474747475 0.008241980085 0.00050009999) +(0.2474747475 0.008975162042 0.00050009999) +(0.2474747475 0.009429475607 0.00050009999) +(0.2474747475 0.009695336429 0.00050009999) +(0.2474747475 0.00984573433 0.00050009999) +(0.2474747475 0.009929188095 0.00050009999) +(0.2474747475 0.009975 0.00050009999) +(0.2474747475 0.01 0.00050009999) +(0.2525252525 0 0.00050009999) +(0.2525252525 2.5e-05 0.00050009999) +(0.2525252525 7.08119053e-05 0.00050009999) +(0.2525252525 0.00015426567 0.00050009999) +(0.2525252525 0.0003046635713 0.00050009999) +(0.2525252525 0.0005705243934 0.00050009999) +(0.2525252525 0.001024837958 0.00050009999) +(0.2525252525 0.001758019915 0.00050009999) +(0.2525252525 0.002838575912 0.00050009999) +(0.2525252525 0.004235474916 0.00050009999) +(0.2525252525 0.005764525084 0.00050009999) +(0.2525252525 0.007161424088 0.00050009999) +(0.2525252525 0.008241980085 0.00050009999) +(0.2525252525 0.008975162042 0.00050009999) +(0.2525252525 0.009429475607 0.00050009999) +(0.2525252525 0.009695336429 0.00050009999) +(0.2525252525 0.00984573433 0.00050009999) +(0.2525252525 0.009929188095 0.00050009999) +(0.2525252525 0.009975 0.00050009999) +(0.2525252525 0.01 0.00050009999) +(0.2575757576 0 0.00050009999) +(0.2575757576 2.5e-05 0.00050009999) +(0.2575757576 7.08119053e-05 0.00050009999) +(0.2575757576 0.00015426567 0.00050009999) +(0.2575757576 0.0003046635713 0.00050009999) +(0.2575757576 0.0005705243934 0.00050009999) +(0.2575757576 0.001024837958 0.00050009999) +(0.2575757576 0.001758019915 0.00050009999) +(0.2575757576 0.002838575912 0.00050009999) +(0.2575757576 0.004235474916 0.00050009999) +(0.2575757576 0.005764525084 0.00050009999) +(0.2575757576 0.007161424088 0.00050009999) +(0.2575757576 0.008241980085 0.00050009999) +(0.2575757576 0.008975162042 0.00050009999) +(0.2575757576 0.009429475607 0.00050009999) +(0.2575757576 0.009695336429 0.00050009999) +(0.2575757576 0.00984573433 0.00050009999) +(0.2575757576 0.009929188095 0.00050009999) +(0.2575757576 0.009975 0.00050009999) +(0.2575757576 0.01 0.00050009999) +(0.2626262626 0 0.00050009999) +(0.2626262626 2.5e-05 0.00050009999) +(0.2626262626 7.08119053e-05 0.00050009999) +(0.2626262626 0.00015426567 0.00050009999) +(0.2626262626 0.0003046635713 0.00050009999) +(0.2626262626 0.0005705243934 0.00050009999) +(0.2626262626 0.001024837958 0.00050009999) +(0.2626262626 0.001758019915 0.00050009999) +(0.2626262626 0.002838575912 0.00050009999) +(0.2626262626 0.004235474916 0.00050009999) +(0.2626262626 0.005764525084 0.00050009999) +(0.2626262626 0.007161424088 0.00050009999) +(0.2626262626 0.008241980085 0.00050009999) +(0.2626262626 0.008975162042 0.00050009999) +(0.2626262626 0.009429475607 0.00050009999) +(0.2626262626 0.009695336429 0.00050009999) +(0.2626262626 0.00984573433 0.00050009999) +(0.2626262626 0.009929188095 0.00050009999) +(0.2626262626 0.009975 0.00050009999) +(0.2626262626 0.01 0.00050009999) +(0.2676767677 0 0.00050009999) +(0.2676767677 2.5e-05 0.00050009999) +(0.2676767677 7.08119053e-05 0.00050009999) +(0.2676767677 0.00015426567 0.00050009999) +(0.2676767677 0.0003046635713 0.00050009999) +(0.2676767677 0.0005705243934 0.00050009999) +(0.2676767677 0.001024837958 0.00050009999) +(0.2676767677 0.001758019915 0.00050009999) +(0.2676767677 0.002838575912 0.00050009999) +(0.2676767677 0.004235474916 0.00050009999) +(0.2676767677 0.005764525084 0.00050009999) +(0.2676767677 0.007161424088 0.00050009999) +(0.2676767677 0.008241980085 0.00050009999) +(0.2676767677 0.008975162042 0.00050009999) +(0.2676767677 0.009429475607 0.00050009999) +(0.2676767677 0.009695336429 0.00050009999) +(0.2676767677 0.00984573433 0.00050009999) +(0.2676767677 0.009929188095 0.00050009999) +(0.2676767677 0.009975 0.00050009999) +(0.2676767677 0.01 0.00050009999) +(0.2727272727 0 0.00050009999) +(0.2727272727 2.5e-05 0.00050009999) +(0.2727272727 7.08119053e-05 0.00050009999) +(0.2727272727 0.00015426567 0.00050009999) +(0.2727272727 0.0003046635713 0.00050009999) +(0.2727272727 0.0005705243934 0.00050009999) +(0.2727272727 0.001024837958 0.00050009999) +(0.2727272727 0.001758019915 0.00050009999) +(0.2727272727 0.002838575912 0.00050009999) +(0.2727272727 0.004235474916 0.00050009999) +(0.2727272727 0.005764525084 0.00050009999) +(0.2727272727 0.007161424088 0.00050009999) +(0.2727272727 0.008241980085 0.00050009999) +(0.2727272727 0.008975162042 0.00050009999) +(0.2727272727 0.009429475607 0.00050009999) +(0.2727272727 0.009695336429 0.00050009999) +(0.2727272727 0.00984573433 0.00050009999) +(0.2727272727 0.009929188095 0.00050009999) +(0.2727272727 0.009975 0.00050009999) +(0.2727272727 0.01 0.00050009999) +(0.2777777778 0 0.00050009999) +(0.2777777778 2.5e-05 0.00050009999) +(0.2777777778 7.08119053e-05 0.00050009999) +(0.2777777778 0.00015426567 0.00050009999) +(0.2777777778 0.0003046635713 0.00050009999) +(0.2777777778 0.0005705243934 0.00050009999) +(0.2777777778 0.001024837958 0.00050009999) +(0.2777777778 0.001758019915 0.00050009999) +(0.2777777778 0.002838575912 0.00050009999) +(0.2777777778 0.004235474916 0.00050009999) +(0.2777777778 0.005764525084 0.00050009999) +(0.2777777778 0.007161424088 0.00050009999) +(0.2777777778 0.008241980085 0.00050009999) +(0.2777777778 0.008975162042 0.00050009999) +(0.2777777778 0.009429475607 0.00050009999) +(0.2777777778 0.009695336429 0.00050009999) +(0.2777777778 0.00984573433 0.00050009999) +(0.2777777778 0.009929188095 0.00050009999) +(0.2777777778 0.009975 0.00050009999) +(0.2777777778 0.01 0.00050009999) +(0.2828282828 0 0.00050009999) +(0.2828282828 2.5e-05 0.00050009999) +(0.2828282828 7.08119053e-05 0.00050009999) +(0.2828282828 0.00015426567 0.00050009999) +(0.2828282828 0.0003046635713 0.00050009999) +(0.2828282828 0.0005705243934 0.00050009999) +(0.2828282828 0.001024837958 0.00050009999) +(0.2828282828 0.001758019915 0.00050009999) +(0.2828282828 0.002838575912 0.00050009999) +(0.2828282828 0.004235474916 0.00050009999) +(0.2828282828 0.005764525084 0.00050009999) +(0.2828282828 0.007161424088 0.00050009999) +(0.2828282828 0.008241980085 0.00050009999) +(0.2828282828 0.008975162042 0.00050009999) +(0.2828282828 0.009429475607 0.00050009999) +(0.2828282828 0.009695336429 0.00050009999) +(0.2828282828 0.00984573433 0.00050009999) +(0.2828282828 0.009929188095 0.00050009999) +(0.2828282828 0.009975 0.00050009999) +(0.2828282828 0.01 0.00050009999) +(0.2878787879 0 0.00050009999) +(0.2878787879 2.5e-05 0.00050009999) +(0.2878787879 7.08119053e-05 0.00050009999) +(0.2878787879 0.00015426567 0.00050009999) +(0.2878787879 0.0003046635713 0.00050009999) +(0.2878787879 0.0005705243934 0.00050009999) +(0.2878787879 0.001024837958 0.00050009999) +(0.2878787879 0.001758019915 0.00050009999) +(0.2878787879 0.002838575912 0.00050009999) +(0.2878787879 0.004235474916 0.00050009999) +(0.2878787879 0.005764525084 0.00050009999) +(0.2878787879 0.007161424088 0.00050009999) +(0.2878787879 0.008241980085 0.00050009999) +(0.2878787879 0.008975162042 0.00050009999) +(0.2878787879 0.009429475607 0.00050009999) +(0.2878787879 0.009695336429 0.00050009999) +(0.2878787879 0.00984573433 0.00050009999) +(0.2878787879 0.009929188095 0.00050009999) +(0.2878787879 0.009975 0.00050009999) +(0.2878787879 0.01 0.00050009999) +(0.2929292929 0 0.00050009999) +(0.2929292929 2.5e-05 0.00050009999) +(0.2929292929 7.08119053e-05 0.00050009999) +(0.2929292929 0.00015426567 0.00050009999) +(0.2929292929 0.0003046635713 0.00050009999) +(0.2929292929 0.0005705243934 0.00050009999) +(0.2929292929 0.001024837958 0.00050009999) +(0.2929292929 0.001758019915 0.00050009999) +(0.2929292929 0.002838575912 0.00050009999) +(0.2929292929 0.004235474916 0.00050009999) +(0.2929292929 0.005764525084 0.00050009999) +(0.2929292929 0.007161424088 0.00050009999) +(0.2929292929 0.008241980085 0.00050009999) +(0.2929292929 0.008975162042 0.00050009999) +(0.2929292929 0.009429475607 0.00050009999) +(0.2929292929 0.009695336429 0.00050009999) +(0.2929292929 0.00984573433 0.00050009999) +(0.2929292929 0.009929188095 0.00050009999) +(0.2929292929 0.009975 0.00050009999) +(0.2929292929 0.01 0.00050009999) +(0.297979798 0 0.00050009999) +(0.297979798 2.5e-05 0.00050009999) +(0.297979798 7.08119053e-05 0.00050009999) +(0.297979798 0.00015426567 0.00050009999) +(0.297979798 0.0003046635713 0.00050009999) +(0.297979798 0.0005705243934 0.00050009999) +(0.297979798 0.001024837958 0.00050009999) +(0.297979798 0.001758019915 0.00050009999) +(0.297979798 0.002838575912 0.00050009999) +(0.297979798 0.004235474916 0.00050009999) +(0.297979798 0.005764525084 0.00050009999) +(0.297979798 0.007161424088 0.00050009999) +(0.297979798 0.008241980085 0.00050009999) +(0.297979798 0.008975162042 0.00050009999) +(0.297979798 0.009429475607 0.00050009999) +(0.297979798 0.009695336429 0.00050009999) +(0.297979798 0.00984573433 0.00050009999) +(0.297979798 0.009929188095 0.00050009999) +(0.297979798 0.009975 0.00050009999) +(0.297979798 0.01 0.00050009999) +(0.303030303 0 0.00050009999) +(0.303030303 2.5e-05 0.00050009999) +(0.303030303 7.08119053e-05 0.00050009999) +(0.303030303 0.00015426567 0.00050009999) +(0.303030303 0.0003046635713 0.00050009999) +(0.303030303 0.0005705243934 0.00050009999) +(0.303030303 0.001024837958 0.00050009999) +(0.303030303 0.001758019915 0.00050009999) +(0.303030303 0.002838575912 0.00050009999) +(0.303030303 0.004235474916 0.00050009999) +(0.303030303 0.005764525084 0.00050009999) +(0.303030303 0.007161424088 0.00050009999) +(0.303030303 0.008241980085 0.00050009999) +(0.303030303 0.008975162042 0.00050009999) +(0.303030303 0.009429475607 0.00050009999) +(0.303030303 0.009695336429 0.00050009999) +(0.303030303 0.00984573433 0.00050009999) +(0.303030303 0.009929188095 0.00050009999) +(0.303030303 0.009975 0.00050009999) +(0.303030303 0.01 0.00050009999) +(0.3080808081 0 0.00050009999) +(0.3080808081 2.5e-05 0.00050009999) +(0.3080808081 7.08119053e-05 0.00050009999) +(0.3080808081 0.00015426567 0.00050009999) +(0.3080808081 0.0003046635713 0.00050009999) +(0.3080808081 0.0005705243934 0.00050009999) +(0.3080808081 0.001024837958 0.00050009999) +(0.3080808081 0.001758019915 0.00050009999) +(0.3080808081 0.002838575912 0.00050009999) +(0.3080808081 0.004235474916 0.00050009999) +(0.3080808081 0.005764525084 0.00050009999) +(0.3080808081 0.007161424088 0.00050009999) +(0.3080808081 0.008241980085 0.00050009999) +(0.3080808081 0.008975162042 0.00050009999) +(0.3080808081 0.009429475607 0.00050009999) +(0.3080808081 0.009695336429 0.00050009999) +(0.3080808081 0.00984573433 0.00050009999) +(0.3080808081 0.009929188095 0.00050009999) +(0.3080808081 0.009975 0.00050009999) +(0.3080808081 0.01 0.00050009999) +(0.3131313131 0 0.00050009999) +(0.3131313131 2.5e-05 0.00050009999) +(0.3131313131 7.08119053e-05 0.00050009999) +(0.3131313131 0.00015426567 0.00050009999) +(0.3131313131 0.0003046635713 0.00050009999) +(0.3131313131 0.0005705243934 0.00050009999) +(0.3131313131 0.001024837958 0.00050009999) +(0.3131313131 0.001758019915 0.00050009999) +(0.3131313131 0.002838575912 0.00050009999) +(0.3131313131 0.004235474916 0.00050009999) +(0.3131313131 0.005764525084 0.00050009999) +(0.3131313131 0.007161424088 0.00050009999) +(0.3131313131 0.008241980085 0.00050009999) +(0.3131313131 0.008975162042 0.00050009999) +(0.3131313131 0.009429475607 0.00050009999) +(0.3131313131 0.009695336429 0.00050009999) +(0.3131313131 0.00984573433 0.00050009999) +(0.3131313131 0.009929188095 0.00050009999) +(0.3131313131 0.009975 0.00050009999) +(0.3131313131 0.01 0.00050009999) +(0.3181818182 0 0.00050009999) +(0.3181818182 2.5e-05 0.00050009999) +(0.3181818182 7.08119053e-05 0.00050009999) +(0.3181818182 0.00015426567 0.00050009999) +(0.3181818182 0.0003046635713 0.00050009999) +(0.3181818182 0.0005705243934 0.00050009999) +(0.3181818182 0.001024837958 0.00050009999) +(0.3181818182 0.001758019915 0.00050009999) +(0.3181818182 0.002838575912 0.00050009999) +(0.3181818182 0.004235474916 0.00050009999) +(0.3181818182 0.005764525084 0.00050009999) +(0.3181818182 0.007161424088 0.00050009999) +(0.3181818182 0.008241980085 0.00050009999) +(0.3181818182 0.008975162042 0.00050009999) +(0.3181818182 0.009429475607 0.00050009999) +(0.3181818182 0.009695336429 0.00050009999) +(0.3181818182 0.00984573433 0.00050009999) +(0.3181818182 0.009929188095 0.00050009999) +(0.3181818182 0.009975 0.00050009999) +(0.3181818182 0.01 0.00050009999) +(0.3232323232 0 0.00050009999) +(0.3232323232 2.5e-05 0.00050009999) +(0.3232323232 7.08119053e-05 0.00050009999) +(0.3232323232 0.00015426567 0.00050009999) +(0.3232323232 0.0003046635713 0.00050009999) +(0.3232323232 0.0005705243934 0.00050009999) +(0.3232323232 0.001024837958 0.00050009999) +(0.3232323232 0.001758019915 0.00050009999) +(0.3232323232 0.002838575912 0.00050009999) +(0.3232323232 0.004235474916 0.00050009999) +(0.3232323232 0.005764525084 0.00050009999) +(0.3232323232 0.007161424088 0.00050009999) +(0.3232323232 0.008241980085 0.00050009999) +(0.3232323232 0.008975162042 0.00050009999) +(0.3232323232 0.009429475607 0.00050009999) +(0.3232323232 0.009695336429 0.00050009999) +(0.3232323232 0.00984573433 0.00050009999) +(0.3232323232 0.009929188095 0.00050009999) +(0.3232323232 0.009975 0.00050009999) +(0.3232323232 0.01 0.00050009999) +(0.3282828283 0 0.00050009999) +(0.3282828283 2.5e-05 0.00050009999) +(0.3282828283 7.08119053e-05 0.00050009999) +(0.3282828283 0.00015426567 0.00050009999) +(0.3282828283 0.0003046635713 0.00050009999) +(0.3282828283 0.0005705243934 0.00050009999) +(0.3282828283 0.001024837958 0.00050009999) +(0.3282828283 0.001758019915 0.00050009999) +(0.3282828283 0.002838575912 0.00050009999) +(0.3282828283 0.004235474916 0.00050009999) +(0.3282828283 0.005764525084 0.00050009999) +(0.3282828283 0.007161424088 0.00050009999) +(0.3282828283 0.008241980085 0.00050009999) +(0.3282828283 0.008975162042 0.00050009999) +(0.3282828283 0.009429475607 0.00050009999) +(0.3282828283 0.009695336429 0.00050009999) +(0.3282828283 0.00984573433 0.00050009999) +(0.3282828283 0.009929188095 0.00050009999) +(0.3282828283 0.009975 0.00050009999) +(0.3282828283 0.01 0.00050009999) +(0.3333333333 0 0.00050009999) +(0.3333333333 2.5e-05 0.00050009999) +(0.3333333333 7.08119053e-05 0.00050009999) +(0.3333333333 0.00015426567 0.00050009999) +(0.3333333333 0.0003046635713 0.00050009999) +(0.3333333333 0.0005705243934 0.00050009999) +(0.3333333333 0.001024837958 0.00050009999) +(0.3333333333 0.001758019915 0.00050009999) +(0.3333333333 0.002838575912 0.00050009999) +(0.3333333333 0.004235474916 0.00050009999) +(0.3333333333 0.005764525084 0.00050009999) +(0.3333333333 0.007161424088 0.00050009999) +(0.3333333333 0.008241980085 0.00050009999) +(0.3333333333 0.008975162042 0.00050009999) +(0.3333333333 0.009429475607 0.00050009999) +(0.3333333333 0.009695336429 0.00050009999) +(0.3333333333 0.00984573433 0.00050009999) +(0.3333333333 0.009929188095 0.00050009999) +(0.3333333333 0.009975 0.00050009999) +(0.3333333333 0.01 0.00050009999) +(0.3383838384 0 0.00050009999) +(0.3383838384 2.5e-05 0.00050009999) +(0.3383838384 7.08119053e-05 0.00050009999) +(0.3383838384 0.00015426567 0.00050009999) +(0.3383838384 0.0003046635713 0.00050009999) +(0.3383838384 0.0005705243934 0.00050009999) +(0.3383838384 0.001024837958 0.00050009999) +(0.3383838384 0.001758019915 0.00050009999) +(0.3383838384 0.002838575912 0.00050009999) +(0.3383838384 0.004235474916 0.00050009999) +(0.3383838384 0.005764525084 0.00050009999) +(0.3383838384 0.007161424088 0.00050009999) +(0.3383838384 0.008241980085 0.00050009999) +(0.3383838384 0.008975162042 0.00050009999) +(0.3383838384 0.009429475607 0.00050009999) +(0.3383838384 0.009695336429 0.00050009999) +(0.3383838384 0.00984573433 0.00050009999) +(0.3383838384 0.009929188095 0.00050009999) +(0.3383838384 0.009975 0.00050009999) +(0.3383838384 0.01 0.00050009999) +(0.3434343434 0 0.00050009999) +(0.3434343434 2.5e-05 0.00050009999) +(0.3434343434 7.08119053e-05 0.00050009999) +(0.3434343434 0.00015426567 0.00050009999) +(0.3434343434 0.0003046635713 0.00050009999) +(0.3434343434 0.0005705243934 0.00050009999) +(0.3434343434 0.001024837958 0.00050009999) +(0.3434343434 0.001758019915 0.00050009999) +(0.3434343434 0.002838575912 0.00050009999) +(0.3434343434 0.004235474916 0.00050009999) +(0.3434343434 0.005764525084 0.00050009999) +(0.3434343434 0.007161424088 0.00050009999) +(0.3434343434 0.008241980085 0.00050009999) +(0.3434343434 0.008975162042 0.00050009999) +(0.3434343434 0.009429475607 0.00050009999) +(0.3434343434 0.009695336429 0.00050009999) +(0.3434343434 0.00984573433 0.00050009999) +(0.3434343434 0.009929188095 0.00050009999) +(0.3434343434 0.009975 0.00050009999) +(0.3434343434 0.01 0.00050009999) +(0.3484848485 0 0.00050009999) +(0.3484848485 2.5e-05 0.00050009999) +(0.3484848485 7.08119053e-05 0.00050009999) +(0.3484848485 0.00015426567 0.00050009999) +(0.3484848485 0.0003046635713 0.00050009999) +(0.3484848485 0.0005705243934 0.00050009999) +(0.3484848485 0.001024837958 0.00050009999) +(0.3484848485 0.001758019915 0.00050009999) +(0.3484848485 0.002838575912 0.00050009999) +(0.3484848485 0.004235474916 0.00050009999) +(0.3484848485 0.005764525084 0.00050009999) +(0.3484848485 0.007161424088 0.00050009999) +(0.3484848485 0.008241980085 0.00050009999) +(0.3484848485 0.008975162042 0.00050009999) +(0.3484848485 0.009429475607 0.00050009999) +(0.3484848485 0.009695336429 0.00050009999) +(0.3484848485 0.00984573433 0.00050009999) +(0.3484848485 0.009929188095 0.00050009999) +(0.3484848485 0.009975 0.00050009999) +(0.3484848485 0.01 0.00050009999) +(0.3535353535 0 0.00050009999) +(0.3535353535 2.5e-05 0.00050009999) +(0.3535353535 7.08119053e-05 0.00050009999) +(0.3535353535 0.00015426567 0.00050009999) +(0.3535353535 0.0003046635713 0.00050009999) +(0.3535353535 0.0005705243934 0.00050009999) +(0.3535353535 0.001024837958 0.00050009999) +(0.3535353535 0.001758019915 0.00050009999) +(0.3535353535 0.002838575912 0.00050009999) +(0.3535353535 0.004235474916 0.00050009999) +(0.3535353535 0.005764525084 0.00050009999) +(0.3535353535 0.007161424088 0.00050009999) +(0.3535353535 0.008241980085 0.00050009999) +(0.3535353535 0.008975162042 0.00050009999) +(0.3535353535 0.009429475607 0.00050009999) +(0.3535353535 0.009695336429 0.00050009999) +(0.3535353535 0.00984573433 0.00050009999) +(0.3535353535 0.009929188095 0.00050009999) +(0.3535353535 0.009975 0.00050009999) +(0.3535353535 0.01 0.00050009999) +(0.3585858586 0 0.00050009999) +(0.3585858586 2.5e-05 0.00050009999) +(0.3585858586 7.08119053e-05 0.00050009999) +(0.3585858586 0.00015426567 0.00050009999) +(0.3585858586 0.0003046635713 0.00050009999) +(0.3585858586 0.0005705243934 0.00050009999) +(0.3585858586 0.001024837958 0.00050009999) +(0.3585858586 0.001758019915 0.00050009999) +(0.3585858586 0.002838575912 0.00050009999) +(0.3585858586 0.004235474916 0.00050009999) +(0.3585858586 0.005764525084 0.00050009999) +(0.3585858586 0.007161424088 0.00050009999) +(0.3585858586 0.008241980085 0.00050009999) +(0.3585858586 0.008975162042 0.00050009999) +(0.3585858586 0.009429475607 0.00050009999) +(0.3585858586 0.009695336429 0.00050009999) +(0.3585858586 0.00984573433 0.00050009999) +(0.3585858586 0.009929188095 0.00050009999) +(0.3585858586 0.009975 0.00050009999) +(0.3585858586 0.01 0.00050009999) +(0.3636363636 0 0.00050009999) +(0.3636363636 2.5e-05 0.00050009999) +(0.3636363636 7.08119053e-05 0.00050009999) +(0.3636363636 0.00015426567 0.00050009999) +(0.3636363636 0.0003046635713 0.00050009999) +(0.3636363636 0.0005705243934 0.00050009999) +(0.3636363636 0.001024837958 0.00050009999) +(0.3636363636 0.001758019915 0.00050009999) +(0.3636363636 0.002838575912 0.00050009999) +(0.3636363636 0.004235474916 0.00050009999) +(0.3636363636 0.005764525084 0.00050009999) +(0.3636363636 0.007161424088 0.00050009999) +(0.3636363636 0.008241980085 0.00050009999) +(0.3636363636 0.008975162042 0.00050009999) +(0.3636363636 0.009429475607 0.00050009999) +(0.3636363636 0.009695336429 0.00050009999) +(0.3636363636 0.00984573433 0.00050009999) +(0.3636363636 0.009929188095 0.00050009999) +(0.3636363636 0.009975 0.00050009999) +(0.3636363636 0.01 0.00050009999) +(0.3686868687 0 0.00050009999) +(0.3686868687 2.5e-05 0.00050009999) +(0.3686868687 7.08119053e-05 0.00050009999) +(0.3686868687 0.00015426567 0.00050009999) +(0.3686868687 0.0003046635713 0.00050009999) +(0.3686868687 0.0005705243934 0.00050009999) +(0.3686868687 0.001024837958 0.00050009999) +(0.3686868687 0.001758019915 0.00050009999) +(0.3686868687 0.002838575912 0.00050009999) +(0.3686868687 0.004235474916 0.00050009999) +(0.3686868687 0.005764525084 0.00050009999) +(0.3686868687 0.007161424088 0.00050009999) +(0.3686868687 0.008241980085 0.00050009999) +(0.3686868687 0.008975162042 0.00050009999) +(0.3686868687 0.009429475607 0.00050009999) +(0.3686868687 0.009695336429 0.00050009999) +(0.3686868687 0.00984573433 0.00050009999) +(0.3686868687 0.009929188095 0.00050009999) +(0.3686868687 0.009975 0.00050009999) +(0.3686868687 0.01 0.00050009999) +(0.3737373737 0 0.00050009999) +(0.3737373737 2.5e-05 0.00050009999) +(0.3737373737 7.08119053e-05 0.00050009999) +(0.3737373737 0.00015426567 0.00050009999) +(0.3737373737 0.0003046635713 0.00050009999) +(0.3737373737 0.0005705243934 0.00050009999) +(0.3737373737 0.001024837958 0.00050009999) +(0.3737373737 0.001758019915 0.00050009999) +(0.3737373737 0.002838575912 0.00050009999) +(0.3737373737 0.004235474916 0.00050009999) +(0.3737373737 0.005764525084 0.00050009999) +(0.3737373737 0.007161424088 0.00050009999) +(0.3737373737 0.008241980085 0.00050009999) +(0.3737373737 0.008975162042 0.00050009999) +(0.3737373737 0.009429475607 0.00050009999) +(0.3737373737 0.009695336429 0.00050009999) +(0.3737373737 0.00984573433 0.00050009999) +(0.3737373737 0.009929188095 0.00050009999) +(0.3737373737 0.009975 0.00050009999) +(0.3737373737 0.01 0.00050009999) +(0.3787878788 0 0.00050009999) +(0.3787878788 2.5e-05 0.00050009999) +(0.3787878788 7.08119053e-05 0.00050009999) +(0.3787878788 0.00015426567 0.00050009999) +(0.3787878788 0.0003046635713 0.00050009999) +(0.3787878788 0.0005705243934 0.00050009999) +(0.3787878788 0.001024837958 0.00050009999) +(0.3787878788 0.001758019915 0.00050009999) +(0.3787878788 0.002838575912 0.00050009999) +(0.3787878788 0.004235474916 0.00050009999) +(0.3787878788 0.005764525084 0.00050009999) +(0.3787878788 0.007161424088 0.00050009999) +(0.3787878788 0.008241980085 0.00050009999) +(0.3787878788 0.008975162042 0.00050009999) +(0.3787878788 0.009429475607 0.00050009999) +(0.3787878788 0.009695336429 0.00050009999) +(0.3787878788 0.00984573433 0.00050009999) +(0.3787878788 0.009929188095 0.00050009999) +(0.3787878788 0.009975 0.00050009999) +(0.3787878788 0.01 0.00050009999) +(0.3838383838 0 0.00050009999) +(0.3838383838 2.5e-05 0.00050009999) +(0.3838383838 7.08119053e-05 0.00050009999) +(0.3838383838 0.00015426567 0.00050009999) +(0.3838383838 0.0003046635713 0.00050009999) +(0.3838383838 0.0005705243934 0.00050009999) +(0.3838383838 0.001024837958 0.00050009999) +(0.3838383838 0.001758019915 0.00050009999) +(0.3838383838 0.002838575912 0.00050009999) +(0.3838383838 0.004235474916 0.00050009999) +(0.3838383838 0.005764525084 0.00050009999) +(0.3838383838 0.007161424088 0.00050009999) +(0.3838383838 0.008241980085 0.00050009999) +(0.3838383838 0.008975162042 0.00050009999) +(0.3838383838 0.009429475607 0.00050009999) +(0.3838383838 0.009695336429 0.00050009999) +(0.3838383838 0.00984573433 0.00050009999) +(0.3838383838 0.009929188095 0.00050009999) +(0.3838383838 0.009975 0.00050009999) +(0.3838383838 0.01 0.00050009999) +(0.3888888889 0 0.00050009999) +(0.3888888889 2.5e-05 0.00050009999) +(0.3888888889 7.08119053e-05 0.00050009999) +(0.3888888889 0.00015426567 0.00050009999) +(0.3888888889 0.0003046635713 0.00050009999) +(0.3888888889 0.0005705243934 0.00050009999) +(0.3888888889 0.001024837958 0.00050009999) +(0.3888888889 0.001758019915 0.00050009999) +(0.3888888889 0.002838575912 0.00050009999) +(0.3888888889 0.004235474916 0.00050009999) +(0.3888888889 0.005764525084 0.00050009999) +(0.3888888889 0.007161424088 0.00050009999) +(0.3888888889 0.008241980085 0.00050009999) +(0.3888888889 0.008975162042 0.00050009999) +(0.3888888889 0.009429475607 0.00050009999) +(0.3888888889 0.009695336429 0.00050009999) +(0.3888888889 0.00984573433 0.00050009999) +(0.3888888889 0.009929188095 0.00050009999) +(0.3888888889 0.009975 0.00050009999) +(0.3888888889 0.01 0.00050009999) +(0.3939393939 0 0.00050009999) +(0.3939393939 2.5e-05 0.00050009999) +(0.3939393939 7.08119053e-05 0.00050009999) +(0.3939393939 0.00015426567 0.00050009999) +(0.3939393939 0.0003046635713 0.00050009999) +(0.3939393939 0.0005705243934 0.00050009999) +(0.3939393939 0.001024837958 0.00050009999) +(0.3939393939 0.001758019915 0.00050009999) +(0.3939393939 0.002838575912 0.00050009999) +(0.3939393939 0.004235474916 0.00050009999) +(0.3939393939 0.005764525084 0.00050009999) +(0.3939393939 0.007161424088 0.00050009999) +(0.3939393939 0.008241980085 0.00050009999) +(0.3939393939 0.008975162042 0.00050009999) +(0.3939393939 0.009429475607 0.00050009999) +(0.3939393939 0.009695336429 0.00050009999) +(0.3939393939 0.00984573433 0.00050009999) +(0.3939393939 0.009929188095 0.00050009999) +(0.3939393939 0.009975 0.00050009999) +(0.3939393939 0.01 0.00050009999) +(0.398989899 0 0.00050009999) +(0.398989899 2.5e-05 0.00050009999) +(0.398989899 7.08119053e-05 0.00050009999) +(0.398989899 0.00015426567 0.00050009999) +(0.398989899 0.0003046635713 0.00050009999) +(0.398989899 0.0005705243934 0.00050009999) +(0.398989899 0.001024837958 0.00050009999) +(0.398989899 0.001758019915 0.00050009999) +(0.398989899 0.002838575912 0.00050009999) +(0.398989899 0.004235474916 0.00050009999) +(0.398989899 0.005764525084 0.00050009999) +(0.398989899 0.007161424088 0.00050009999) +(0.398989899 0.008241980085 0.00050009999) +(0.398989899 0.008975162042 0.00050009999) +(0.398989899 0.009429475607 0.00050009999) +(0.398989899 0.009695336429 0.00050009999) +(0.398989899 0.00984573433 0.00050009999) +(0.398989899 0.009929188095 0.00050009999) +(0.398989899 0.009975 0.00050009999) +(0.398989899 0.01 0.00050009999) +(0.404040404 0 0.00050009999) +(0.404040404 2.5e-05 0.00050009999) +(0.404040404 7.08119053e-05 0.00050009999) +(0.404040404 0.00015426567 0.00050009999) +(0.404040404 0.0003046635713 0.00050009999) +(0.404040404 0.0005705243934 0.00050009999) +(0.404040404 0.001024837958 0.00050009999) +(0.404040404 0.001758019915 0.00050009999) +(0.404040404 0.002838575912 0.00050009999) +(0.404040404 0.004235474916 0.00050009999) +(0.404040404 0.005764525084 0.00050009999) +(0.404040404 0.007161424088 0.00050009999) +(0.404040404 0.008241980085 0.00050009999) +(0.404040404 0.008975162042 0.00050009999) +(0.404040404 0.009429475607 0.00050009999) +(0.404040404 0.009695336429 0.00050009999) +(0.404040404 0.00984573433 0.00050009999) +(0.404040404 0.009929188095 0.00050009999) +(0.404040404 0.009975 0.00050009999) +(0.404040404 0.01 0.00050009999) +(0.4090909091 0 0.00050009999) +(0.4090909091 2.5e-05 0.00050009999) +(0.4090909091 7.08119053e-05 0.00050009999) +(0.4090909091 0.00015426567 0.00050009999) +(0.4090909091 0.0003046635713 0.00050009999) +(0.4090909091 0.0005705243934 0.00050009999) +(0.4090909091 0.001024837958 0.00050009999) +(0.4090909091 0.001758019915 0.00050009999) +(0.4090909091 0.002838575912 0.00050009999) +(0.4090909091 0.004235474916 0.00050009999) +(0.4090909091 0.005764525084 0.00050009999) +(0.4090909091 0.007161424088 0.00050009999) +(0.4090909091 0.008241980085 0.00050009999) +(0.4090909091 0.008975162042 0.00050009999) +(0.4090909091 0.009429475607 0.00050009999) +(0.4090909091 0.009695336429 0.00050009999) +(0.4090909091 0.00984573433 0.00050009999) +(0.4090909091 0.009929188095 0.00050009999) +(0.4090909091 0.009975 0.00050009999) +(0.4090909091 0.01 0.00050009999) +(0.4141414141 0 0.00050009999) +(0.4141414141 2.5e-05 0.00050009999) +(0.4141414141 7.08119053e-05 0.00050009999) +(0.4141414141 0.00015426567 0.00050009999) +(0.4141414141 0.0003046635713 0.00050009999) +(0.4141414141 0.0005705243934 0.00050009999) +(0.4141414141 0.001024837958 0.00050009999) +(0.4141414141 0.001758019915 0.00050009999) +(0.4141414141 0.002838575912 0.00050009999) +(0.4141414141 0.004235474916 0.00050009999) +(0.4141414141 0.005764525084 0.00050009999) +(0.4141414141 0.007161424088 0.00050009999) +(0.4141414141 0.008241980085 0.00050009999) +(0.4141414141 0.008975162042 0.00050009999) +(0.4141414141 0.009429475607 0.00050009999) +(0.4141414141 0.009695336429 0.00050009999) +(0.4141414141 0.00984573433 0.00050009999) +(0.4141414141 0.009929188095 0.00050009999) +(0.4141414141 0.009975 0.00050009999) +(0.4141414141 0.01 0.00050009999) +(0.4191919192 0 0.00050009999) +(0.4191919192 2.5e-05 0.00050009999) +(0.4191919192 7.08119053e-05 0.00050009999) +(0.4191919192 0.00015426567 0.00050009999) +(0.4191919192 0.0003046635713 0.00050009999) +(0.4191919192 0.0005705243934 0.00050009999) +(0.4191919192 0.001024837958 0.00050009999) +(0.4191919192 0.001758019915 0.00050009999) +(0.4191919192 0.002838575912 0.00050009999) +(0.4191919192 0.004235474916 0.00050009999) +(0.4191919192 0.005764525084 0.00050009999) +(0.4191919192 0.007161424088 0.00050009999) +(0.4191919192 0.008241980085 0.00050009999) +(0.4191919192 0.008975162042 0.00050009999) +(0.4191919192 0.009429475607 0.00050009999) +(0.4191919192 0.009695336429 0.00050009999) +(0.4191919192 0.00984573433 0.00050009999) +(0.4191919192 0.009929188095 0.00050009999) +(0.4191919192 0.009975 0.00050009999) +(0.4191919192 0.01 0.00050009999) +(0.4242424242 0 0.00050009999) +(0.4242424242 2.5e-05 0.00050009999) +(0.4242424242 7.08119053e-05 0.00050009999) +(0.4242424242 0.00015426567 0.00050009999) +(0.4242424242 0.0003046635713 0.00050009999) +(0.4242424242 0.0005705243934 0.00050009999) +(0.4242424242 0.001024837958 0.00050009999) +(0.4242424242 0.001758019915 0.00050009999) +(0.4242424242 0.002838575912 0.00050009999) +(0.4242424242 0.004235474916 0.00050009999) +(0.4242424242 0.005764525084 0.00050009999) +(0.4242424242 0.007161424088 0.00050009999) +(0.4242424242 0.008241980085 0.00050009999) +(0.4242424242 0.008975162042 0.00050009999) +(0.4242424242 0.009429475607 0.00050009999) +(0.4242424242 0.009695336429 0.00050009999) +(0.4242424242 0.00984573433 0.00050009999) +(0.4242424242 0.009929188095 0.00050009999) +(0.4242424242 0.009975 0.00050009999) +(0.4242424242 0.01 0.00050009999) +(0.4292929293 0 0.00050009999) +(0.4292929293 2.5e-05 0.00050009999) +(0.4292929293 7.08119053e-05 0.00050009999) +(0.4292929293 0.00015426567 0.00050009999) +(0.4292929293 0.0003046635713 0.00050009999) +(0.4292929293 0.0005705243934 0.00050009999) +(0.4292929293 0.001024837958 0.00050009999) +(0.4292929293 0.001758019915 0.00050009999) +(0.4292929293 0.002838575912 0.00050009999) +(0.4292929293 0.004235474916 0.00050009999) +(0.4292929293 0.005764525084 0.00050009999) +(0.4292929293 0.007161424088 0.00050009999) +(0.4292929293 0.008241980085 0.00050009999) +(0.4292929293 0.008975162042 0.00050009999) +(0.4292929293 0.009429475607 0.00050009999) +(0.4292929293 0.009695336429 0.00050009999) +(0.4292929293 0.00984573433 0.00050009999) +(0.4292929293 0.009929188095 0.00050009999) +(0.4292929293 0.009975 0.00050009999) +(0.4292929293 0.01 0.00050009999) +(0.4343434343 0 0.00050009999) +(0.4343434343 2.5e-05 0.00050009999) +(0.4343434343 7.08119053e-05 0.00050009999) +(0.4343434343 0.00015426567 0.00050009999) +(0.4343434343 0.0003046635713 0.00050009999) +(0.4343434343 0.0005705243934 0.00050009999) +(0.4343434343 0.001024837958 0.00050009999) +(0.4343434343 0.001758019915 0.00050009999) +(0.4343434343 0.002838575912 0.00050009999) +(0.4343434343 0.004235474916 0.00050009999) +(0.4343434343 0.005764525084 0.00050009999) +(0.4343434343 0.007161424088 0.00050009999) +(0.4343434343 0.008241980085 0.00050009999) +(0.4343434343 0.008975162042 0.00050009999) +(0.4343434343 0.009429475607 0.00050009999) +(0.4343434343 0.009695336429 0.00050009999) +(0.4343434343 0.00984573433 0.00050009999) +(0.4343434343 0.009929188095 0.00050009999) +(0.4343434343 0.009975 0.00050009999) +(0.4343434343 0.01 0.00050009999) +(0.4393939394 0 0.00050009999) +(0.4393939394 2.5e-05 0.00050009999) +(0.4393939394 7.08119053e-05 0.00050009999) +(0.4393939394 0.00015426567 0.00050009999) +(0.4393939394 0.0003046635713 0.00050009999) +(0.4393939394 0.0005705243934 0.00050009999) +(0.4393939394 0.001024837958 0.00050009999) +(0.4393939394 0.001758019915 0.00050009999) +(0.4393939394 0.002838575912 0.00050009999) +(0.4393939394 0.004235474916 0.00050009999) +(0.4393939394 0.005764525084 0.00050009999) +(0.4393939394 0.007161424088 0.00050009999) +(0.4393939394 0.008241980085 0.00050009999) +(0.4393939394 0.008975162042 0.00050009999) +(0.4393939394 0.009429475607 0.00050009999) +(0.4393939394 0.009695336429 0.00050009999) +(0.4393939394 0.00984573433 0.00050009999) +(0.4393939394 0.009929188095 0.00050009999) +(0.4393939394 0.009975 0.00050009999) +(0.4393939394 0.01 0.00050009999) +(0.4444444444 0 0.00050009999) +(0.4444444444 2.5e-05 0.00050009999) +(0.4444444444 7.08119053e-05 0.00050009999) +(0.4444444444 0.00015426567 0.00050009999) +(0.4444444444 0.0003046635713 0.00050009999) +(0.4444444444 0.0005705243934 0.00050009999) +(0.4444444444 0.001024837958 0.00050009999) +(0.4444444444 0.001758019915 0.00050009999) +(0.4444444444 0.002838575912 0.00050009999) +(0.4444444444 0.004235474916 0.00050009999) +(0.4444444444 0.005764525084 0.00050009999) +(0.4444444444 0.007161424088 0.00050009999) +(0.4444444444 0.008241980085 0.00050009999) +(0.4444444444 0.008975162042 0.00050009999) +(0.4444444444 0.009429475607 0.00050009999) +(0.4444444444 0.009695336429 0.00050009999) +(0.4444444444 0.00984573433 0.00050009999) +(0.4444444444 0.009929188095 0.00050009999) +(0.4444444444 0.009975 0.00050009999) +(0.4444444444 0.01 0.00050009999) +(0.4494949495 0 0.00050009999) +(0.4494949495 2.5e-05 0.00050009999) +(0.4494949495 7.08119053e-05 0.00050009999) +(0.4494949495 0.00015426567 0.00050009999) +(0.4494949495 0.0003046635713 0.00050009999) +(0.4494949495 0.0005705243934 0.00050009999) +(0.4494949495 0.001024837958 0.00050009999) +(0.4494949495 0.001758019915 0.00050009999) +(0.4494949495 0.002838575912 0.00050009999) +(0.4494949495 0.004235474916 0.00050009999) +(0.4494949495 0.005764525084 0.00050009999) +(0.4494949495 0.007161424088 0.00050009999) +(0.4494949495 0.008241980085 0.00050009999) +(0.4494949495 0.008975162042 0.00050009999) +(0.4494949495 0.009429475607 0.00050009999) +(0.4494949495 0.009695336429 0.00050009999) +(0.4494949495 0.00984573433 0.00050009999) +(0.4494949495 0.009929188095 0.00050009999) +(0.4494949495 0.009975 0.00050009999) +(0.4494949495 0.01 0.00050009999) +(0.4545454545 0 0.00050009999) +(0.4545454545 2.5e-05 0.00050009999) +(0.4545454545 7.08119053e-05 0.00050009999) +(0.4545454545 0.00015426567 0.00050009999) +(0.4545454545 0.0003046635713 0.00050009999) +(0.4545454545 0.0005705243934 0.00050009999) +(0.4545454545 0.001024837958 0.00050009999) +(0.4545454545 0.001758019915 0.00050009999) +(0.4545454545 0.002838575912 0.00050009999) +(0.4545454545 0.004235474916 0.00050009999) +(0.4545454545 0.005764525084 0.00050009999) +(0.4545454545 0.007161424088 0.00050009999) +(0.4545454545 0.008241980085 0.00050009999) +(0.4545454545 0.008975162042 0.00050009999) +(0.4545454545 0.009429475607 0.00050009999) +(0.4545454545 0.009695336429 0.00050009999) +(0.4545454545 0.00984573433 0.00050009999) +(0.4545454545 0.009929188095 0.00050009999) +(0.4545454545 0.009975 0.00050009999) +(0.4545454545 0.01 0.00050009999) +(0.4595959596 0 0.00050009999) +(0.4595959596 2.5e-05 0.00050009999) +(0.4595959596 7.08119053e-05 0.00050009999) +(0.4595959596 0.00015426567 0.00050009999) +(0.4595959596 0.0003046635713 0.00050009999) +(0.4595959596 0.0005705243934 0.00050009999) +(0.4595959596 0.001024837958 0.00050009999) +(0.4595959596 0.001758019915 0.00050009999) +(0.4595959596 0.002838575912 0.00050009999) +(0.4595959596 0.004235474916 0.00050009999) +(0.4595959596 0.005764525084 0.00050009999) +(0.4595959596 0.007161424088 0.00050009999) +(0.4595959596 0.008241980085 0.00050009999) +(0.4595959596 0.008975162042 0.00050009999) +(0.4595959596 0.009429475607 0.00050009999) +(0.4595959596 0.009695336429 0.00050009999) +(0.4595959596 0.00984573433 0.00050009999) +(0.4595959596 0.009929188095 0.00050009999) +(0.4595959596 0.009975 0.00050009999) +(0.4595959596 0.01 0.00050009999) +(0.4646464646 0 0.00050009999) +(0.4646464646 2.5e-05 0.00050009999) +(0.4646464646 7.08119053e-05 0.00050009999) +(0.4646464646 0.00015426567 0.00050009999) +(0.4646464646 0.0003046635713 0.00050009999) +(0.4646464646 0.0005705243934 0.00050009999) +(0.4646464646 0.001024837958 0.00050009999) +(0.4646464646 0.001758019915 0.00050009999) +(0.4646464646 0.002838575912 0.00050009999) +(0.4646464646 0.004235474916 0.00050009999) +(0.4646464646 0.005764525084 0.00050009999) +(0.4646464646 0.007161424088 0.00050009999) +(0.4646464646 0.008241980085 0.00050009999) +(0.4646464646 0.008975162042 0.00050009999) +(0.4646464646 0.009429475607 0.00050009999) +(0.4646464646 0.009695336429 0.00050009999) +(0.4646464646 0.00984573433 0.00050009999) +(0.4646464646 0.009929188095 0.00050009999) +(0.4646464646 0.009975 0.00050009999) +(0.4646464646 0.01 0.00050009999) +(0.4696969697 0 0.00050009999) +(0.4696969697 2.5e-05 0.00050009999) +(0.4696969697 7.08119053e-05 0.00050009999) +(0.4696969697 0.00015426567 0.00050009999) +(0.4696969697 0.0003046635713 0.00050009999) +(0.4696969697 0.0005705243934 0.00050009999) +(0.4696969697 0.001024837958 0.00050009999) +(0.4696969697 0.001758019915 0.00050009999) +(0.4696969697 0.002838575912 0.00050009999) +(0.4696969697 0.004235474916 0.00050009999) +(0.4696969697 0.005764525084 0.00050009999) +(0.4696969697 0.007161424088 0.00050009999) +(0.4696969697 0.008241980085 0.00050009999) +(0.4696969697 0.008975162042 0.00050009999) +(0.4696969697 0.009429475607 0.00050009999) +(0.4696969697 0.009695336429 0.00050009999) +(0.4696969697 0.00984573433 0.00050009999) +(0.4696969697 0.009929188095 0.00050009999) +(0.4696969697 0.009975 0.00050009999) +(0.4696969697 0.01 0.00050009999) +(0.4747474747 0 0.00050009999) +(0.4747474747 2.5e-05 0.00050009999) +(0.4747474747 7.08119053e-05 0.00050009999) +(0.4747474747 0.00015426567 0.00050009999) +(0.4747474747 0.0003046635713 0.00050009999) +(0.4747474747 0.0005705243934 0.00050009999) +(0.4747474747 0.001024837958 0.00050009999) +(0.4747474747 0.001758019915 0.00050009999) +(0.4747474747 0.002838575912 0.00050009999) +(0.4747474747 0.004235474916 0.00050009999) +(0.4747474747 0.005764525084 0.00050009999) +(0.4747474747 0.007161424088 0.00050009999) +(0.4747474747 0.008241980085 0.00050009999) +(0.4747474747 0.008975162042 0.00050009999) +(0.4747474747 0.009429475607 0.00050009999) +(0.4747474747 0.009695336429 0.00050009999) +(0.4747474747 0.00984573433 0.00050009999) +(0.4747474747 0.009929188095 0.00050009999) +(0.4747474747 0.009975 0.00050009999) +(0.4747474747 0.01 0.00050009999) +(0.4797979798 0 0.00050009999) +(0.4797979798 2.5e-05 0.00050009999) +(0.4797979798 7.08119053e-05 0.00050009999) +(0.4797979798 0.00015426567 0.00050009999) +(0.4797979798 0.0003046635713 0.00050009999) +(0.4797979798 0.0005705243934 0.00050009999) +(0.4797979798 0.001024837958 0.00050009999) +(0.4797979798 0.001758019915 0.00050009999) +(0.4797979798 0.002838575912 0.00050009999) +(0.4797979798 0.004235474916 0.00050009999) +(0.4797979798 0.005764525084 0.00050009999) +(0.4797979798 0.007161424088 0.00050009999) +(0.4797979798 0.008241980085 0.00050009999) +(0.4797979798 0.008975162042 0.00050009999) +(0.4797979798 0.009429475607 0.00050009999) +(0.4797979798 0.009695336429 0.00050009999) +(0.4797979798 0.00984573433 0.00050009999) +(0.4797979798 0.009929188095 0.00050009999) +(0.4797979798 0.009975 0.00050009999) +(0.4797979798 0.01 0.00050009999) +(0.4848484848 0 0.00050009999) +(0.4848484848 2.5e-05 0.00050009999) +(0.4848484848 7.08119053e-05 0.00050009999) +(0.4848484848 0.00015426567 0.00050009999) +(0.4848484848 0.0003046635713 0.00050009999) +(0.4848484848 0.0005705243934 0.00050009999) +(0.4848484848 0.001024837958 0.00050009999) +(0.4848484848 0.001758019915 0.00050009999) +(0.4848484848 0.002838575912 0.00050009999) +(0.4848484848 0.004235474916 0.00050009999) +(0.4848484848 0.005764525084 0.00050009999) +(0.4848484848 0.007161424088 0.00050009999) +(0.4848484848 0.008241980085 0.00050009999) +(0.4848484848 0.008975162042 0.00050009999) +(0.4848484848 0.009429475607 0.00050009999) +(0.4848484848 0.009695336429 0.00050009999) +(0.4848484848 0.00984573433 0.00050009999) +(0.4848484848 0.009929188095 0.00050009999) +(0.4848484848 0.009975 0.00050009999) +(0.4848484848 0.01 0.00050009999) +(0.4898989899 0 0.00050009999) +(0.4898989899 2.5e-05 0.00050009999) +(0.4898989899 7.08119053e-05 0.00050009999) +(0.4898989899 0.00015426567 0.00050009999) +(0.4898989899 0.0003046635713 0.00050009999) +(0.4898989899 0.0005705243934 0.00050009999) +(0.4898989899 0.001024837958 0.00050009999) +(0.4898989899 0.001758019915 0.00050009999) +(0.4898989899 0.002838575912 0.00050009999) +(0.4898989899 0.004235474916 0.00050009999) +(0.4898989899 0.005764525084 0.00050009999) +(0.4898989899 0.007161424088 0.00050009999) +(0.4898989899 0.008241980085 0.00050009999) +(0.4898989899 0.008975162042 0.00050009999) +(0.4898989899 0.009429475607 0.00050009999) +(0.4898989899 0.009695336429 0.00050009999) +(0.4898989899 0.00984573433 0.00050009999) +(0.4898989899 0.009929188095 0.00050009999) +(0.4898989899 0.009975 0.00050009999) +(0.4898989899 0.01 0.00050009999) +(0.4949494949 0 0.00050009999) +(0.4949494949 2.5e-05 0.00050009999) +(0.4949494949 7.08119053e-05 0.00050009999) +(0.4949494949 0.00015426567 0.00050009999) +(0.4949494949 0.0003046635713 0.00050009999) +(0.4949494949 0.0005705243934 0.00050009999) +(0.4949494949 0.001024837958 0.00050009999) +(0.4949494949 0.001758019915 0.00050009999) +(0.4949494949 0.002838575912 0.00050009999) +(0.4949494949 0.004235474916 0.00050009999) +(0.4949494949 0.005764525084 0.00050009999) +(0.4949494949 0.007161424088 0.00050009999) +(0.4949494949 0.008241980085 0.00050009999) +(0.4949494949 0.008975162042 0.00050009999) +(0.4949494949 0.009429475607 0.00050009999) +(0.4949494949 0.009695336429 0.00050009999) +(0.4949494949 0.00984573433 0.00050009999) +(0.4949494949 0.009929188095 0.00050009999) +(0.4949494949 0.009975 0.00050009999) +(0.4949494949 0.01 0.00050009999) +(0.5 0 0.00050009999) +(0.5 2.5e-05 0.00050009999) +(0.5 7.08119053e-05 0.00050009999) +(0.5 0.00015426567 0.00050009999) +(0.5 0.0003046635713 0.00050009999) +(0.5 0.0005705243934 0.00050009999) +(0.5 0.001024837958 0.00050009999) +(0.5 0.001758019915 0.00050009999) +(0.5 0.002838575912 0.00050009999) +(0.5 0.004235474916 0.00050009999) +(0.5 0.005764525084 0.00050009999) +(0.5 0.007161424088 0.00050009999) +(0.5 0.008241980085 0.00050009999) +(0.5 0.008975162042 0.00050009999) +(0.5 0.009429475607 0.00050009999) +(0.5 0.009695336429 0.00050009999) +(0.5 0.00984573433 0.00050009999) +(0.5 0.009929188095 0.00050009999) +(0.5 0.009975 0.00050009999) +(0.5 0.01 0.00050009999) +(0 0 -0.00050009999) +(0.005050505051 0 -0.00050009999) +(0 2.5e-05 -0.00050009999) +(0.005050505051 2.5e-05 -0.00050009999) +(0 7.08119053e-05 -0.00050009999) +(0.005050505051 7.08119053e-05 -0.00050009999) +(0 0.00015426567 -0.00050009999) +(0.005050505051 0.00015426567 -0.00050009999) +(0 0.0003046635713 -0.00050009999) +(0.005050505051 0.0003046635713 -0.00050009999) +(0 0.0005705243934 -0.00050009999) +(0.005050505051 0.0005705243934 -0.00050009999) +(0 0.001024837958 -0.00050009999) +(0.005050505051 0.001024837958 -0.00050009999) +(0 0.001758019915 -0.00050009999) +(0.005050505051 0.001758019915 -0.00050009999) +(0 0.002838575912 -0.00050009999) +(0.005050505051 0.002838575912 -0.00050009999) +(0 0.004235474916 -0.00050009999) +(0.005050505051 0.004235474916 -0.00050009999) +(0 0.005764525084 -0.00050009999) +(0.005050505051 0.005764525084 -0.00050009999) +(0 0.007161424088 -0.00050009999) +(0.005050505051 0.007161424088 -0.00050009999) +(0 0.008241980085 -0.00050009999) +(0.005050505051 0.008241980085 -0.00050009999) +(0 0.008975162042 -0.00050009999) +(0.005050505051 0.008975162042 -0.00050009999) +(0 0.009429475607 -0.00050009999) +(0.005050505051 0.009429475607 -0.00050009999) +(0 0.009695336429 -0.00050009999) +(0.005050505051 0.009695336429 -0.00050009999) +(0 0.00984573433 -0.00050009999) +(0.005050505051 0.00984573433 -0.00050009999) +(0 0.009929188095 -0.00050009999) +(0.005050505051 0.009929188095 -0.00050009999) +(0 0.009975 -0.00050009999) +(0.005050505051 0.009975 -0.00050009999) +(0 0.01 -0.00050009999) +(0.005050505051 0.01 -0.00050009999) +(0.0101010101 0 -0.00050009999) +(0.0101010101 2.5e-05 -0.00050009999) +(0.0101010101 7.08119053e-05 -0.00050009999) +(0.0101010101 0.00015426567 -0.00050009999) +(0.0101010101 0.0003046635713 -0.00050009999) +(0.0101010101 0.0005705243934 -0.00050009999) +(0.0101010101 0.001024837958 -0.00050009999) +(0.0101010101 0.001758019915 -0.00050009999) +(0.0101010101 0.002838575912 -0.00050009999) +(0.0101010101 0.004235474916 -0.00050009999) +(0.0101010101 0.005764525084 -0.00050009999) +(0.0101010101 0.007161424088 -0.00050009999) +(0.0101010101 0.008241980085 -0.00050009999) +(0.0101010101 0.008975162042 -0.00050009999) +(0.0101010101 0.009429475607 -0.00050009999) +(0.0101010101 0.009695336429 -0.00050009999) +(0.0101010101 0.00984573433 -0.00050009999) +(0.0101010101 0.009929188095 -0.00050009999) +(0.0101010101 0.009975 -0.00050009999) +(0.0101010101 0.01 -0.00050009999) +(0.01515151515 0 -0.00050009999) +(0.01515151515 2.5e-05 -0.00050009999) +(0.01515151515 7.08119053e-05 -0.00050009999) +(0.01515151515 0.00015426567 -0.00050009999) +(0.01515151515 0.0003046635713 -0.00050009999) +(0.01515151515 0.0005705243934 -0.00050009999) +(0.01515151515 0.001024837958 -0.00050009999) +(0.01515151515 0.001758019915 -0.00050009999) +(0.01515151515 0.002838575912 -0.00050009999) +(0.01515151515 0.004235474916 -0.00050009999) +(0.01515151515 0.005764525084 -0.00050009999) +(0.01515151515 0.007161424088 -0.00050009999) +(0.01515151515 0.008241980085 -0.00050009999) +(0.01515151515 0.008975162042 -0.00050009999) +(0.01515151515 0.009429475607 -0.00050009999) +(0.01515151515 0.009695336429 -0.00050009999) +(0.01515151515 0.00984573433 -0.00050009999) +(0.01515151515 0.009929188095 -0.00050009999) +(0.01515151515 0.009975 -0.00050009999) +(0.01515151515 0.01 -0.00050009999) +(0.0202020202 0 -0.00050009999) +(0.0202020202 2.5e-05 -0.00050009999) +(0.0202020202 7.08119053e-05 -0.00050009999) +(0.0202020202 0.00015426567 -0.00050009999) +(0.0202020202 0.0003046635713 -0.00050009999) +(0.0202020202 0.0005705243934 -0.00050009999) +(0.0202020202 0.001024837958 -0.00050009999) +(0.0202020202 0.001758019915 -0.00050009999) +(0.0202020202 0.002838575912 -0.00050009999) +(0.0202020202 0.004235474916 -0.00050009999) +(0.0202020202 0.005764525084 -0.00050009999) +(0.0202020202 0.007161424088 -0.00050009999) +(0.0202020202 0.008241980085 -0.00050009999) +(0.0202020202 0.008975162042 -0.00050009999) +(0.0202020202 0.009429475607 -0.00050009999) +(0.0202020202 0.009695336429 -0.00050009999) +(0.0202020202 0.00984573433 -0.00050009999) +(0.0202020202 0.009929188095 -0.00050009999) +(0.0202020202 0.009975 -0.00050009999) +(0.0202020202 0.01 -0.00050009999) +(0.02525252525 0 -0.00050009999) +(0.02525252525 2.5e-05 -0.00050009999) +(0.02525252525 7.08119053e-05 -0.00050009999) +(0.02525252525 0.00015426567 -0.00050009999) +(0.02525252525 0.0003046635713 -0.00050009999) +(0.02525252525 0.0005705243934 -0.00050009999) +(0.02525252525 0.001024837958 -0.00050009999) +(0.02525252525 0.001758019915 -0.00050009999) +(0.02525252525 0.002838575912 -0.00050009999) +(0.02525252525 0.004235474916 -0.00050009999) +(0.02525252525 0.005764525084 -0.00050009999) +(0.02525252525 0.007161424088 -0.00050009999) +(0.02525252525 0.008241980085 -0.00050009999) +(0.02525252525 0.008975162042 -0.00050009999) +(0.02525252525 0.009429475607 -0.00050009999) +(0.02525252525 0.009695336429 -0.00050009999) +(0.02525252525 0.00984573433 -0.00050009999) +(0.02525252525 0.009929188095 -0.00050009999) +(0.02525252525 0.009975 -0.00050009999) +(0.02525252525 0.01 -0.00050009999) +(0.0303030303 0 -0.00050009999) +(0.0303030303 2.5e-05 -0.00050009999) +(0.0303030303 7.08119053e-05 -0.00050009999) +(0.0303030303 0.00015426567 -0.00050009999) +(0.0303030303 0.0003046635713 -0.00050009999) +(0.0303030303 0.0005705243934 -0.00050009999) +(0.0303030303 0.001024837958 -0.00050009999) +(0.0303030303 0.001758019915 -0.00050009999) +(0.0303030303 0.002838575912 -0.00050009999) +(0.0303030303 0.004235474916 -0.00050009999) +(0.0303030303 0.005764525084 -0.00050009999) +(0.0303030303 0.007161424088 -0.00050009999) +(0.0303030303 0.008241980085 -0.00050009999) +(0.0303030303 0.008975162042 -0.00050009999) +(0.0303030303 0.009429475607 -0.00050009999) +(0.0303030303 0.009695336429 -0.00050009999) +(0.0303030303 0.00984573433 -0.00050009999) +(0.0303030303 0.009929188095 -0.00050009999) +(0.0303030303 0.009975 -0.00050009999) +(0.0303030303 0.01 -0.00050009999) +(0.03535353535 0 -0.00050009999) +(0.03535353535 2.5e-05 -0.00050009999) +(0.03535353535 7.08119053e-05 -0.00050009999) +(0.03535353535 0.00015426567 -0.00050009999) +(0.03535353535 0.0003046635713 -0.00050009999) +(0.03535353535 0.0005705243934 -0.00050009999) +(0.03535353535 0.001024837958 -0.00050009999) +(0.03535353535 0.001758019915 -0.00050009999) +(0.03535353535 0.002838575912 -0.00050009999) +(0.03535353535 0.004235474916 -0.00050009999) +(0.03535353535 0.005764525084 -0.00050009999) +(0.03535353535 0.007161424088 -0.00050009999) +(0.03535353535 0.008241980085 -0.00050009999) +(0.03535353535 0.008975162042 -0.00050009999) +(0.03535353535 0.009429475607 -0.00050009999) +(0.03535353535 0.009695336429 -0.00050009999) +(0.03535353535 0.00984573433 -0.00050009999) +(0.03535353535 0.009929188095 -0.00050009999) +(0.03535353535 0.009975 -0.00050009999) +(0.03535353535 0.01 -0.00050009999) +(0.0404040404 0 -0.00050009999) +(0.0404040404 2.5e-05 -0.00050009999) +(0.0404040404 7.08119053e-05 -0.00050009999) +(0.0404040404 0.00015426567 -0.00050009999) +(0.0404040404 0.0003046635713 -0.00050009999) +(0.0404040404 0.0005705243934 -0.00050009999) +(0.0404040404 0.001024837958 -0.00050009999) +(0.0404040404 0.001758019915 -0.00050009999) +(0.0404040404 0.002838575912 -0.00050009999) +(0.0404040404 0.004235474916 -0.00050009999) +(0.0404040404 0.005764525084 -0.00050009999) +(0.0404040404 0.007161424088 -0.00050009999) +(0.0404040404 0.008241980085 -0.00050009999) +(0.0404040404 0.008975162042 -0.00050009999) +(0.0404040404 0.009429475607 -0.00050009999) +(0.0404040404 0.009695336429 -0.00050009999) +(0.0404040404 0.00984573433 -0.00050009999) +(0.0404040404 0.009929188095 -0.00050009999) +(0.0404040404 0.009975 -0.00050009999) +(0.0404040404 0.01 -0.00050009999) +(0.04545454545 0 -0.00050009999) +(0.04545454545 2.5e-05 -0.00050009999) +(0.04545454545 7.08119053e-05 -0.00050009999) +(0.04545454545 0.00015426567 -0.00050009999) +(0.04545454545 0.0003046635713 -0.00050009999) +(0.04545454545 0.0005705243934 -0.00050009999) +(0.04545454545 0.001024837958 -0.00050009999) +(0.04545454545 0.001758019915 -0.00050009999) +(0.04545454545 0.002838575912 -0.00050009999) +(0.04545454545 0.004235474916 -0.00050009999) +(0.04545454545 0.005764525084 -0.00050009999) +(0.04545454545 0.007161424088 -0.00050009999) +(0.04545454545 0.008241980085 -0.00050009999) +(0.04545454545 0.008975162042 -0.00050009999) +(0.04545454545 0.009429475607 -0.00050009999) +(0.04545454545 0.009695336429 -0.00050009999) +(0.04545454545 0.00984573433 -0.00050009999) +(0.04545454545 0.009929188095 -0.00050009999) +(0.04545454545 0.009975 -0.00050009999) +(0.04545454545 0.01 -0.00050009999) +(0.05050505051 0 -0.00050009999) +(0.05050505051 2.5e-05 -0.00050009999) +(0.05050505051 7.08119053e-05 -0.00050009999) +(0.05050505051 0.00015426567 -0.00050009999) +(0.05050505051 0.0003046635713 -0.00050009999) +(0.05050505051 0.0005705243934 -0.00050009999) +(0.05050505051 0.001024837958 -0.00050009999) +(0.05050505051 0.001758019915 -0.00050009999) +(0.05050505051 0.002838575912 -0.00050009999) +(0.05050505051 0.004235474916 -0.00050009999) +(0.05050505051 0.005764525084 -0.00050009999) +(0.05050505051 0.007161424088 -0.00050009999) +(0.05050505051 0.008241980085 -0.00050009999) +(0.05050505051 0.008975162042 -0.00050009999) +(0.05050505051 0.009429475607 -0.00050009999) +(0.05050505051 0.009695336429 -0.00050009999) +(0.05050505051 0.00984573433 -0.00050009999) +(0.05050505051 0.009929188095 -0.00050009999) +(0.05050505051 0.009975 -0.00050009999) +(0.05050505051 0.01 -0.00050009999) +(0.05555555556 0 -0.00050009999) +(0.05555555556 2.5e-05 -0.00050009999) +(0.05555555556 7.08119053e-05 -0.00050009999) +(0.05555555556 0.00015426567 -0.00050009999) +(0.05555555556 0.0003046635713 -0.00050009999) +(0.05555555556 0.0005705243934 -0.00050009999) +(0.05555555556 0.001024837958 -0.00050009999) +(0.05555555556 0.001758019915 -0.00050009999) +(0.05555555556 0.002838575912 -0.00050009999) +(0.05555555556 0.004235474916 -0.00050009999) +(0.05555555556 0.005764525084 -0.00050009999) +(0.05555555556 0.007161424088 -0.00050009999) +(0.05555555556 0.008241980085 -0.00050009999) +(0.05555555556 0.008975162042 -0.00050009999) +(0.05555555556 0.009429475607 -0.00050009999) +(0.05555555556 0.009695336429 -0.00050009999) +(0.05555555556 0.00984573433 -0.00050009999) +(0.05555555556 0.009929188095 -0.00050009999) +(0.05555555556 0.009975 -0.00050009999) +(0.05555555556 0.01 -0.00050009999) +(0.06060606061 0 -0.00050009999) +(0.06060606061 2.5e-05 -0.00050009999) +(0.06060606061 7.08119053e-05 -0.00050009999) +(0.06060606061 0.00015426567 -0.00050009999) +(0.06060606061 0.0003046635713 -0.00050009999) +(0.06060606061 0.0005705243934 -0.00050009999) +(0.06060606061 0.001024837958 -0.00050009999) +(0.06060606061 0.001758019915 -0.00050009999) +(0.06060606061 0.002838575912 -0.00050009999) +(0.06060606061 0.004235474916 -0.00050009999) +(0.06060606061 0.005764525084 -0.00050009999) +(0.06060606061 0.007161424088 -0.00050009999) +(0.06060606061 0.008241980085 -0.00050009999) +(0.06060606061 0.008975162042 -0.00050009999) +(0.06060606061 0.009429475607 -0.00050009999) +(0.06060606061 0.009695336429 -0.00050009999) +(0.06060606061 0.00984573433 -0.00050009999) +(0.06060606061 0.009929188095 -0.00050009999) +(0.06060606061 0.009975 -0.00050009999) +(0.06060606061 0.01 -0.00050009999) +(0.06565656566 0 -0.00050009999) +(0.06565656566 2.5e-05 -0.00050009999) +(0.06565656566 7.08119053e-05 -0.00050009999) +(0.06565656566 0.00015426567 -0.00050009999) +(0.06565656566 0.0003046635713 -0.00050009999) +(0.06565656566 0.0005705243934 -0.00050009999) +(0.06565656566 0.001024837958 -0.00050009999) +(0.06565656566 0.001758019915 -0.00050009999) +(0.06565656566 0.002838575912 -0.00050009999) +(0.06565656566 0.004235474916 -0.00050009999) +(0.06565656566 0.005764525084 -0.00050009999) +(0.06565656566 0.007161424088 -0.00050009999) +(0.06565656566 0.008241980085 -0.00050009999) +(0.06565656566 0.008975162042 -0.00050009999) +(0.06565656566 0.009429475607 -0.00050009999) +(0.06565656566 0.009695336429 -0.00050009999) +(0.06565656566 0.00984573433 -0.00050009999) +(0.06565656566 0.009929188095 -0.00050009999) +(0.06565656566 0.009975 -0.00050009999) +(0.06565656566 0.01 -0.00050009999) +(0.07070707071 0 -0.00050009999) +(0.07070707071 2.5e-05 -0.00050009999) +(0.07070707071 7.08119053e-05 -0.00050009999) +(0.07070707071 0.00015426567 -0.00050009999) +(0.07070707071 0.0003046635713 -0.00050009999) +(0.07070707071 0.0005705243934 -0.00050009999) +(0.07070707071 0.001024837958 -0.00050009999) +(0.07070707071 0.001758019915 -0.00050009999) +(0.07070707071 0.002838575912 -0.00050009999) +(0.07070707071 0.004235474916 -0.00050009999) +(0.07070707071 0.005764525084 -0.00050009999) +(0.07070707071 0.007161424088 -0.00050009999) +(0.07070707071 0.008241980085 -0.00050009999) +(0.07070707071 0.008975162042 -0.00050009999) +(0.07070707071 0.009429475607 -0.00050009999) +(0.07070707071 0.009695336429 -0.00050009999) +(0.07070707071 0.00984573433 -0.00050009999) +(0.07070707071 0.009929188095 -0.00050009999) +(0.07070707071 0.009975 -0.00050009999) +(0.07070707071 0.01 -0.00050009999) +(0.07575757576 0 -0.00050009999) +(0.07575757576 2.5e-05 -0.00050009999) +(0.07575757576 7.08119053e-05 -0.00050009999) +(0.07575757576 0.00015426567 -0.00050009999) +(0.07575757576 0.0003046635713 -0.00050009999) +(0.07575757576 0.0005705243934 -0.00050009999) +(0.07575757576 0.001024837958 -0.00050009999) +(0.07575757576 0.001758019915 -0.00050009999) +(0.07575757576 0.002838575912 -0.00050009999) +(0.07575757576 0.004235474916 -0.00050009999) +(0.07575757576 0.005764525084 -0.00050009999) +(0.07575757576 0.007161424088 -0.00050009999) +(0.07575757576 0.008241980085 -0.00050009999) +(0.07575757576 0.008975162042 -0.00050009999) +(0.07575757576 0.009429475607 -0.00050009999) +(0.07575757576 0.009695336429 -0.00050009999) +(0.07575757576 0.00984573433 -0.00050009999) +(0.07575757576 0.009929188095 -0.00050009999) +(0.07575757576 0.009975 -0.00050009999) +(0.07575757576 0.01 -0.00050009999) +(0.08080808081 0 -0.00050009999) +(0.08080808081 2.5e-05 -0.00050009999) +(0.08080808081 7.08119053e-05 -0.00050009999) +(0.08080808081 0.00015426567 -0.00050009999) +(0.08080808081 0.0003046635713 -0.00050009999) +(0.08080808081 0.0005705243934 -0.00050009999) +(0.08080808081 0.001024837958 -0.00050009999) +(0.08080808081 0.001758019915 -0.00050009999) +(0.08080808081 0.002838575912 -0.00050009999) +(0.08080808081 0.004235474916 -0.00050009999) +(0.08080808081 0.005764525084 -0.00050009999) +(0.08080808081 0.007161424088 -0.00050009999) +(0.08080808081 0.008241980085 -0.00050009999) +(0.08080808081 0.008975162042 -0.00050009999) +(0.08080808081 0.009429475607 -0.00050009999) +(0.08080808081 0.009695336429 -0.00050009999) +(0.08080808081 0.00984573433 -0.00050009999) +(0.08080808081 0.009929188095 -0.00050009999) +(0.08080808081 0.009975 -0.00050009999) +(0.08080808081 0.01 -0.00050009999) +(0.08585858586 0 -0.00050009999) +(0.08585858586 2.5e-05 -0.00050009999) +(0.08585858586 7.08119053e-05 -0.00050009999) +(0.08585858586 0.00015426567 -0.00050009999) +(0.08585858586 0.0003046635713 -0.00050009999) +(0.08585858586 0.0005705243934 -0.00050009999) +(0.08585858586 0.001024837958 -0.00050009999) +(0.08585858586 0.001758019915 -0.00050009999) +(0.08585858586 0.002838575912 -0.00050009999) +(0.08585858586 0.004235474916 -0.00050009999) +(0.08585858586 0.005764525084 -0.00050009999) +(0.08585858586 0.007161424088 -0.00050009999) +(0.08585858586 0.008241980085 -0.00050009999) +(0.08585858586 0.008975162042 -0.00050009999) +(0.08585858586 0.009429475607 -0.00050009999) +(0.08585858586 0.009695336429 -0.00050009999) +(0.08585858586 0.00984573433 -0.00050009999) +(0.08585858586 0.009929188095 -0.00050009999) +(0.08585858586 0.009975 -0.00050009999) +(0.08585858586 0.01 -0.00050009999) +(0.09090909091 0 -0.00050009999) +(0.09090909091 2.5e-05 -0.00050009999) +(0.09090909091 7.08119053e-05 -0.00050009999) +(0.09090909091 0.00015426567 -0.00050009999) +(0.09090909091 0.0003046635713 -0.00050009999) +(0.09090909091 0.0005705243934 -0.00050009999) +(0.09090909091 0.001024837958 -0.00050009999) +(0.09090909091 0.001758019915 -0.00050009999) +(0.09090909091 0.002838575912 -0.00050009999) +(0.09090909091 0.004235474916 -0.00050009999) +(0.09090909091 0.005764525084 -0.00050009999) +(0.09090909091 0.007161424088 -0.00050009999) +(0.09090909091 0.008241980085 -0.00050009999) +(0.09090909091 0.008975162042 -0.00050009999) +(0.09090909091 0.009429475607 -0.00050009999) +(0.09090909091 0.009695336429 -0.00050009999) +(0.09090909091 0.00984573433 -0.00050009999) +(0.09090909091 0.009929188095 -0.00050009999) +(0.09090909091 0.009975 -0.00050009999) +(0.09090909091 0.01 -0.00050009999) +(0.09595959596 0 -0.00050009999) +(0.09595959596 2.5e-05 -0.00050009999) +(0.09595959596 7.08119053e-05 -0.00050009999) +(0.09595959596 0.00015426567 -0.00050009999) +(0.09595959596 0.0003046635713 -0.00050009999) +(0.09595959596 0.0005705243934 -0.00050009999) +(0.09595959596 0.001024837958 -0.00050009999) +(0.09595959596 0.001758019915 -0.00050009999) +(0.09595959596 0.002838575912 -0.00050009999) +(0.09595959596 0.004235474916 -0.00050009999) +(0.09595959596 0.005764525084 -0.00050009999) +(0.09595959596 0.007161424088 -0.00050009999) +(0.09595959596 0.008241980085 -0.00050009999) +(0.09595959596 0.008975162042 -0.00050009999) +(0.09595959596 0.009429475607 -0.00050009999) +(0.09595959596 0.009695336429 -0.00050009999) +(0.09595959596 0.00984573433 -0.00050009999) +(0.09595959596 0.009929188095 -0.00050009999) +(0.09595959596 0.009975 -0.00050009999) +(0.09595959596 0.01 -0.00050009999) +(0.101010101 0 -0.00050009999) +(0.101010101 2.5e-05 -0.00050009999) +(0.101010101 7.08119053e-05 -0.00050009999) +(0.101010101 0.00015426567 -0.00050009999) +(0.101010101 0.0003046635713 -0.00050009999) +(0.101010101 0.0005705243934 -0.00050009999) +(0.101010101 0.001024837958 -0.00050009999) +(0.101010101 0.001758019915 -0.00050009999) +(0.101010101 0.002838575912 -0.00050009999) +(0.101010101 0.004235474916 -0.00050009999) +(0.101010101 0.005764525084 -0.00050009999) +(0.101010101 0.007161424088 -0.00050009999) +(0.101010101 0.008241980085 -0.00050009999) +(0.101010101 0.008975162042 -0.00050009999) +(0.101010101 0.009429475607 -0.00050009999) +(0.101010101 0.009695336429 -0.00050009999) +(0.101010101 0.00984573433 -0.00050009999) +(0.101010101 0.009929188095 -0.00050009999) +(0.101010101 0.009975 -0.00050009999) +(0.101010101 0.01 -0.00050009999) +(0.1060606061 0 -0.00050009999) +(0.1060606061 2.5e-05 -0.00050009999) +(0.1060606061 7.08119053e-05 -0.00050009999) +(0.1060606061 0.00015426567 -0.00050009999) +(0.1060606061 0.0003046635713 -0.00050009999) +(0.1060606061 0.0005705243934 -0.00050009999) +(0.1060606061 0.001024837958 -0.00050009999) +(0.1060606061 0.001758019915 -0.00050009999) +(0.1060606061 0.002838575912 -0.00050009999) +(0.1060606061 0.004235474916 -0.00050009999) +(0.1060606061 0.005764525084 -0.00050009999) +(0.1060606061 0.007161424088 -0.00050009999) +(0.1060606061 0.008241980085 -0.00050009999) +(0.1060606061 0.008975162042 -0.00050009999) +(0.1060606061 0.009429475607 -0.00050009999) +(0.1060606061 0.009695336429 -0.00050009999) +(0.1060606061 0.00984573433 -0.00050009999) +(0.1060606061 0.009929188095 -0.00050009999) +(0.1060606061 0.009975 -0.00050009999) +(0.1060606061 0.01 -0.00050009999) +(0.1111111111 0 -0.00050009999) +(0.1111111111 2.5e-05 -0.00050009999) +(0.1111111111 7.08119053e-05 -0.00050009999) +(0.1111111111 0.00015426567 -0.00050009999) +(0.1111111111 0.0003046635713 -0.00050009999) +(0.1111111111 0.0005705243934 -0.00050009999) +(0.1111111111 0.001024837958 -0.00050009999) +(0.1111111111 0.001758019915 -0.00050009999) +(0.1111111111 0.002838575912 -0.00050009999) +(0.1111111111 0.004235474916 -0.00050009999) +(0.1111111111 0.005764525084 -0.00050009999) +(0.1111111111 0.007161424088 -0.00050009999) +(0.1111111111 0.008241980085 -0.00050009999) +(0.1111111111 0.008975162042 -0.00050009999) +(0.1111111111 0.009429475607 -0.00050009999) +(0.1111111111 0.009695336429 -0.00050009999) +(0.1111111111 0.00984573433 -0.00050009999) +(0.1111111111 0.009929188095 -0.00050009999) +(0.1111111111 0.009975 -0.00050009999) +(0.1111111111 0.01 -0.00050009999) +(0.1161616162 0 -0.00050009999) +(0.1161616162 2.5e-05 -0.00050009999) +(0.1161616162 7.08119053e-05 -0.00050009999) +(0.1161616162 0.00015426567 -0.00050009999) +(0.1161616162 0.0003046635713 -0.00050009999) +(0.1161616162 0.0005705243934 -0.00050009999) +(0.1161616162 0.001024837958 -0.00050009999) +(0.1161616162 0.001758019915 -0.00050009999) +(0.1161616162 0.002838575912 -0.00050009999) +(0.1161616162 0.004235474916 -0.00050009999) +(0.1161616162 0.005764525084 -0.00050009999) +(0.1161616162 0.007161424088 -0.00050009999) +(0.1161616162 0.008241980085 -0.00050009999) +(0.1161616162 0.008975162042 -0.00050009999) +(0.1161616162 0.009429475607 -0.00050009999) +(0.1161616162 0.009695336429 -0.00050009999) +(0.1161616162 0.00984573433 -0.00050009999) +(0.1161616162 0.009929188095 -0.00050009999) +(0.1161616162 0.009975 -0.00050009999) +(0.1161616162 0.01 -0.00050009999) +(0.1212121212 0 -0.00050009999) +(0.1212121212 2.5e-05 -0.00050009999) +(0.1212121212 7.08119053e-05 -0.00050009999) +(0.1212121212 0.00015426567 -0.00050009999) +(0.1212121212 0.0003046635713 -0.00050009999) +(0.1212121212 0.0005705243934 -0.00050009999) +(0.1212121212 0.001024837958 -0.00050009999) +(0.1212121212 0.001758019915 -0.00050009999) +(0.1212121212 0.002838575912 -0.00050009999) +(0.1212121212 0.004235474916 -0.00050009999) +(0.1212121212 0.005764525084 -0.00050009999) +(0.1212121212 0.007161424088 -0.00050009999) +(0.1212121212 0.008241980085 -0.00050009999) +(0.1212121212 0.008975162042 -0.00050009999) +(0.1212121212 0.009429475607 -0.00050009999) +(0.1212121212 0.009695336429 -0.00050009999) +(0.1212121212 0.00984573433 -0.00050009999) +(0.1212121212 0.009929188095 -0.00050009999) +(0.1212121212 0.009975 -0.00050009999) +(0.1212121212 0.01 -0.00050009999) +(0.1262626263 0 -0.00050009999) +(0.1262626263 2.5e-05 -0.00050009999) +(0.1262626263 7.08119053e-05 -0.00050009999) +(0.1262626263 0.00015426567 -0.00050009999) +(0.1262626263 0.0003046635713 -0.00050009999) +(0.1262626263 0.0005705243934 -0.00050009999) +(0.1262626263 0.001024837958 -0.00050009999) +(0.1262626263 0.001758019915 -0.00050009999) +(0.1262626263 0.002838575912 -0.00050009999) +(0.1262626263 0.004235474916 -0.00050009999) +(0.1262626263 0.005764525084 -0.00050009999) +(0.1262626263 0.007161424088 -0.00050009999) +(0.1262626263 0.008241980085 -0.00050009999) +(0.1262626263 0.008975162042 -0.00050009999) +(0.1262626263 0.009429475607 -0.00050009999) +(0.1262626263 0.009695336429 -0.00050009999) +(0.1262626263 0.00984573433 -0.00050009999) +(0.1262626263 0.009929188095 -0.00050009999) +(0.1262626263 0.009975 -0.00050009999) +(0.1262626263 0.01 -0.00050009999) +(0.1313131313 0 -0.00050009999) +(0.1313131313 2.5e-05 -0.00050009999) +(0.1313131313 7.08119053e-05 -0.00050009999) +(0.1313131313 0.00015426567 -0.00050009999) +(0.1313131313 0.0003046635713 -0.00050009999) +(0.1313131313 0.0005705243934 -0.00050009999) +(0.1313131313 0.001024837958 -0.00050009999) +(0.1313131313 0.001758019915 -0.00050009999) +(0.1313131313 0.002838575912 -0.00050009999) +(0.1313131313 0.004235474916 -0.00050009999) +(0.1313131313 0.005764525084 -0.00050009999) +(0.1313131313 0.007161424088 -0.00050009999) +(0.1313131313 0.008241980085 -0.00050009999) +(0.1313131313 0.008975162042 -0.00050009999) +(0.1313131313 0.009429475607 -0.00050009999) +(0.1313131313 0.009695336429 -0.00050009999) +(0.1313131313 0.00984573433 -0.00050009999) +(0.1313131313 0.009929188095 -0.00050009999) +(0.1313131313 0.009975 -0.00050009999) +(0.1313131313 0.01 -0.00050009999) +(0.1363636364 0 -0.00050009999) +(0.1363636364 2.5e-05 -0.00050009999) +(0.1363636364 7.08119053e-05 -0.00050009999) +(0.1363636364 0.00015426567 -0.00050009999) +(0.1363636364 0.0003046635713 -0.00050009999) +(0.1363636364 0.0005705243934 -0.00050009999) +(0.1363636364 0.001024837958 -0.00050009999) +(0.1363636364 0.001758019915 -0.00050009999) +(0.1363636364 0.002838575912 -0.00050009999) +(0.1363636364 0.004235474916 -0.00050009999) +(0.1363636364 0.005764525084 -0.00050009999) +(0.1363636364 0.007161424088 -0.00050009999) +(0.1363636364 0.008241980085 -0.00050009999) +(0.1363636364 0.008975162042 -0.00050009999) +(0.1363636364 0.009429475607 -0.00050009999) +(0.1363636364 0.009695336429 -0.00050009999) +(0.1363636364 0.00984573433 -0.00050009999) +(0.1363636364 0.009929188095 -0.00050009999) +(0.1363636364 0.009975 -0.00050009999) +(0.1363636364 0.01 -0.00050009999) +(0.1414141414 0 -0.00050009999) +(0.1414141414 2.5e-05 -0.00050009999) +(0.1414141414 7.08119053e-05 -0.00050009999) +(0.1414141414 0.00015426567 -0.00050009999) +(0.1414141414 0.0003046635713 -0.00050009999) +(0.1414141414 0.0005705243934 -0.00050009999) +(0.1414141414 0.001024837958 -0.00050009999) +(0.1414141414 0.001758019915 -0.00050009999) +(0.1414141414 0.002838575912 -0.00050009999) +(0.1414141414 0.004235474916 -0.00050009999) +(0.1414141414 0.005764525084 -0.00050009999) +(0.1414141414 0.007161424088 -0.00050009999) +(0.1414141414 0.008241980085 -0.00050009999) +(0.1414141414 0.008975162042 -0.00050009999) +(0.1414141414 0.009429475607 -0.00050009999) +(0.1414141414 0.009695336429 -0.00050009999) +(0.1414141414 0.00984573433 -0.00050009999) +(0.1414141414 0.009929188095 -0.00050009999) +(0.1414141414 0.009975 -0.00050009999) +(0.1414141414 0.01 -0.00050009999) +(0.1464646465 0 -0.00050009999) +(0.1464646465 2.5e-05 -0.00050009999) +(0.1464646465 7.08119053e-05 -0.00050009999) +(0.1464646465 0.00015426567 -0.00050009999) +(0.1464646465 0.0003046635713 -0.00050009999) +(0.1464646465 0.0005705243934 -0.00050009999) +(0.1464646465 0.001024837958 -0.00050009999) +(0.1464646465 0.001758019915 -0.00050009999) +(0.1464646465 0.002838575912 -0.00050009999) +(0.1464646465 0.004235474916 -0.00050009999) +(0.1464646465 0.005764525084 -0.00050009999) +(0.1464646465 0.007161424088 -0.00050009999) +(0.1464646465 0.008241980085 -0.00050009999) +(0.1464646465 0.008975162042 -0.00050009999) +(0.1464646465 0.009429475607 -0.00050009999) +(0.1464646465 0.009695336429 -0.00050009999) +(0.1464646465 0.00984573433 -0.00050009999) +(0.1464646465 0.009929188095 -0.00050009999) +(0.1464646465 0.009975 -0.00050009999) +(0.1464646465 0.01 -0.00050009999) +(0.1515151515 0 -0.00050009999) +(0.1515151515 2.5e-05 -0.00050009999) +(0.1515151515 7.08119053e-05 -0.00050009999) +(0.1515151515 0.00015426567 -0.00050009999) +(0.1515151515 0.0003046635713 -0.00050009999) +(0.1515151515 0.0005705243934 -0.00050009999) +(0.1515151515 0.001024837958 -0.00050009999) +(0.1515151515 0.001758019915 -0.00050009999) +(0.1515151515 0.002838575912 -0.00050009999) +(0.1515151515 0.004235474916 -0.00050009999) +(0.1515151515 0.005764525084 -0.00050009999) +(0.1515151515 0.007161424088 -0.00050009999) +(0.1515151515 0.008241980085 -0.00050009999) +(0.1515151515 0.008975162042 -0.00050009999) +(0.1515151515 0.009429475607 -0.00050009999) +(0.1515151515 0.009695336429 -0.00050009999) +(0.1515151515 0.00984573433 -0.00050009999) +(0.1515151515 0.009929188095 -0.00050009999) +(0.1515151515 0.009975 -0.00050009999) +(0.1515151515 0.01 -0.00050009999) +(0.1565656566 0 -0.00050009999) +(0.1565656566 2.5e-05 -0.00050009999) +(0.1565656566 7.08119053e-05 -0.00050009999) +(0.1565656566 0.00015426567 -0.00050009999) +(0.1565656566 0.0003046635713 -0.00050009999) +(0.1565656566 0.0005705243934 -0.00050009999) +(0.1565656566 0.001024837958 -0.00050009999) +(0.1565656566 0.001758019915 -0.00050009999) +(0.1565656566 0.002838575912 -0.00050009999) +(0.1565656566 0.004235474916 -0.00050009999) +(0.1565656566 0.005764525084 -0.00050009999) +(0.1565656566 0.007161424088 -0.00050009999) +(0.1565656566 0.008241980085 -0.00050009999) +(0.1565656566 0.008975162042 -0.00050009999) +(0.1565656566 0.009429475607 -0.00050009999) +(0.1565656566 0.009695336429 -0.00050009999) +(0.1565656566 0.00984573433 -0.00050009999) +(0.1565656566 0.009929188095 -0.00050009999) +(0.1565656566 0.009975 -0.00050009999) +(0.1565656566 0.01 -0.00050009999) +(0.1616161616 0 -0.00050009999) +(0.1616161616 2.5e-05 -0.00050009999) +(0.1616161616 7.08119053e-05 -0.00050009999) +(0.1616161616 0.00015426567 -0.00050009999) +(0.1616161616 0.0003046635713 -0.00050009999) +(0.1616161616 0.0005705243934 -0.00050009999) +(0.1616161616 0.001024837958 -0.00050009999) +(0.1616161616 0.001758019915 -0.00050009999) +(0.1616161616 0.002838575912 -0.00050009999) +(0.1616161616 0.004235474916 -0.00050009999) +(0.1616161616 0.005764525084 -0.00050009999) +(0.1616161616 0.007161424088 -0.00050009999) +(0.1616161616 0.008241980085 -0.00050009999) +(0.1616161616 0.008975162042 -0.00050009999) +(0.1616161616 0.009429475607 -0.00050009999) +(0.1616161616 0.009695336429 -0.00050009999) +(0.1616161616 0.00984573433 -0.00050009999) +(0.1616161616 0.009929188095 -0.00050009999) +(0.1616161616 0.009975 -0.00050009999) +(0.1616161616 0.01 -0.00050009999) +(0.1666666667 0 -0.00050009999) +(0.1666666667 2.5e-05 -0.00050009999) +(0.1666666667 7.08119053e-05 -0.00050009999) +(0.1666666667 0.00015426567 -0.00050009999) +(0.1666666667 0.0003046635713 -0.00050009999) +(0.1666666667 0.0005705243934 -0.00050009999) +(0.1666666667 0.001024837958 -0.00050009999) +(0.1666666667 0.001758019915 -0.00050009999) +(0.1666666667 0.002838575912 -0.00050009999) +(0.1666666667 0.004235474916 -0.00050009999) +(0.1666666667 0.005764525084 -0.00050009999) +(0.1666666667 0.007161424088 -0.00050009999) +(0.1666666667 0.008241980085 -0.00050009999) +(0.1666666667 0.008975162042 -0.00050009999) +(0.1666666667 0.009429475607 -0.00050009999) +(0.1666666667 0.009695336429 -0.00050009999) +(0.1666666667 0.00984573433 -0.00050009999) +(0.1666666667 0.009929188095 -0.00050009999) +(0.1666666667 0.009975 -0.00050009999) +(0.1666666667 0.01 -0.00050009999) +(0.1717171717 0 -0.00050009999) +(0.1717171717 2.5e-05 -0.00050009999) +(0.1717171717 7.08119053e-05 -0.00050009999) +(0.1717171717 0.00015426567 -0.00050009999) +(0.1717171717 0.0003046635713 -0.00050009999) +(0.1717171717 0.0005705243934 -0.00050009999) +(0.1717171717 0.001024837958 -0.00050009999) +(0.1717171717 0.001758019915 -0.00050009999) +(0.1717171717 0.002838575912 -0.00050009999) +(0.1717171717 0.004235474916 -0.00050009999) +(0.1717171717 0.005764525084 -0.00050009999) +(0.1717171717 0.007161424088 -0.00050009999) +(0.1717171717 0.008241980085 -0.00050009999) +(0.1717171717 0.008975162042 -0.00050009999) +(0.1717171717 0.009429475607 -0.00050009999) +(0.1717171717 0.009695336429 -0.00050009999) +(0.1717171717 0.00984573433 -0.00050009999) +(0.1717171717 0.009929188095 -0.00050009999) +(0.1717171717 0.009975 -0.00050009999) +(0.1717171717 0.01 -0.00050009999) +(0.1767676768 0 -0.00050009999) +(0.1767676768 2.5e-05 -0.00050009999) +(0.1767676768 7.08119053e-05 -0.00050009999) +(0.1767676768 0.00015426567 -0.00050009999) +(0.1767676768 0.0003046635713 -0.00050009999) +(0.1767676768 0.0005705243934 -0.00050009999) +(0.1767676768 0.001024837958 -0.00050009999) +(0.1767676768 0.001758019915 -0.00050009999) +(0.1767676768 0.002838575912 -0.00050009999) +(0.1767676768 0.004235474916 -0.00050009999) +(0.1767676768 0.005764525084 -0.00050009999) +(0.1767676768 0.007161424088 -0.00050009999) +(0.1767676768 0.008241980085 -0.00050009999) +(0.1767676768 0.008975162042 -0.00050009999) +(0.1767676768 0.009429475607 -0.00050009999) +(0.1767676768 0.009695336429 -0.00050009999) +(0.1767676768 0.00984573433 -0.00050009999) +(0.1767676768 0.009929188095 -0.00050009999) +(0.1767676768 0.009975 -0.00050009999) +(0.1767676768 0.01 -0.00050009999) +(0.1818181818 0 -0.00050009999) +(0.1818181818 2.5e-05 -0.00050009999) +(0.1818181818 7.08119053e-05 -0.00050009999) +(0.1818181818 0.00015426567 -0.00050009999) +(0.1818181818 0.0003046635713 -0.00050009999) +(0.1818181818 0.0005705243934 -0.00050009999) +(0.1818181818 0.001024837958 -0.00050009999) +(0.1818181818 0.001758019915 -0.00050009999) +(0.1818181818 0.002838575912 -0.00050009999) +(0.1818181818 0.004235474916 -0.00050009999) +(0.1818181818 0.005764525084 -0.00050009999) +(0.1818181818 0.007161424088 -0.00050009999) +(0.1818181818 0.008241980085 -0.00050009999) +(0.1818181818 0.008975162042 -0.00050009999) +(0.1818181818 0.009429475607 -0.00050009999) +(0.1818181818 0.009695336429 -0.00050009999) +(0.1818181818 0.00984573433 -0.00050009999) +(0.1818181818 0.009929188095 -0.00050009999) +(0.1818181818 0.009975 -0.00050009999) +(0.1818181818 0.01 -0.00050009999) +(0.1868686869 0 -0.00050009999) +(0.1868686869 2.5e-05 -0.00050009999) +(0.1868686869 7.08119053e-05 -0.00050009999) +(0.1868686869 0.00015426567 -0.00050009999) +(0.1868686869 0.0003046635713 -0.00050009999) +(0.1868686869 0.0005705243934 -0.00050009999) +(0.1868686869 0.001024837958 -0.00050009999) +(0.1868686869 0.001758019915 -0.00050009999) +(0.1868686869 0.002838575912 -0.00050009999) +(0.1868686869 0.004235474916 -0.00050009999) +(0.1868686869 0.005764525084 -0.00050009999) +(0.1868686869 0.007161424088 -0.00050009999) +(0.1868686869 0.008241980085 -0.00050009999) +(0.1868686869 0.008975162042 -0.00050009999) +(0.1868686869 0.009429475607 -0.00050009999) +(0.1868686869 0.009695336429 -0.00050009999) +(0.1868686869 0.00984573433 -0.00050009999) +(0.1868686869 0.009929188095 -0.00050009999) +(0.1868686869 0.009975 -0.00050009999) +(0.1868686869 0.01 -0.00050009999) +(0.1919191919 0 -0.00050009999) +(0.1919191919 2.5e-05 -0.00050009999) +(0.1919191919 7.08119053e-05 -0.00050009999) +(0.1919191919 0.00015426567 -0.00050009999) +(0.1919191919 0.0003046635713 -0.00050009999) +(0.1919191919 0.0005705243934 -0.00050009999) +(0.1919191919 0.001024837958 -0.00050009999) +(0.1919191919 0.001758019915 -0.00050009999) +(0.1919191919 0.002838575912 -0.00050009999) +(0.1919191919 0.004235474916 -0.00050009999) +(0.1919191919 0.005764525084 -0.00050009999) +(0.1919191919 0.007161424088 -0.00050009999) +(0.1919191919 0.008241980085 -0.00050009999) +(0.1919191919 0.008975162042 -0.00050009999) +(0.1919191919 0.009429475607 -0.00050009999) +(0.1919191919 0.009695336429 -0.00050009999) +(0.1919191919 0.00984573433 -0.00050009999) +(0.1919191919 0.009929188095 -0.00050009999) +(0.1919191919 0.009975 -0.00050009999) +(0.1919191919 0.01 -0.00050009999) +(0.196969697 0 -0.00050009999) +(0.196969697 2.5e-05 -0.00050009999) +(0.196969697 7.08119053e-05 -0.00050009999) +(0.196969697 0.00015426567 -0.00050009999) +(0.196969697 0.0003046635713 -0.00050009999) +(0.196969697 0.0005705243934 -0.00050009999) +(0.196969697 0.001024837958 -0.00050009999) +(0.196969697 0.001758019915 -0.00050009999) +(0.196969697 0.002838575912 -0.00050009999) +(0.196969697 0.004235474916 -0.00050009999) +(0.196969697 0.005764525084 -0.00050009999) +(0.196969697 0.007161424088 -0.00050009999) +(0.196969697 0.008241980085 -0.00050009999) +(0.196969697 0.008975162042 -0.00050009999) +(0.196969697 0.009429475607 -0.00050009999) +(0.196969697 0.009695336429 -0.00050009999) +(0.196969697 0.00984573433 -0.00050009999) +(0.196969697 0.009929188095 -0.00050009999) +(0.196969697 0.009975 -0.00050009999) +(0.196969697 0.01 -0.00050009999) +(0.202020202 0 -0.00050009999) +(0.202020202 2.5e-05 -0.00050009999) +(0.202020202 7.08119053e-05 -0.00050009999) +(0.202020202 0.00015426567 -0.00050009999) +(0.202020202 0.0003046635713 -0.00050009999) +(0.202020202 0.0005705243934 -0.00050009999) +(0.202020202 0.001024837958 -0.00050009999) +(0.202020202 0.001758019915 -0.00050009999) +(0.202020202 0.002838575912 -0.00050009999) +(0.202020202 0.004235474916 -0.00050009999) +(0.202020202 0.005764525084 -0.00050009999) +(0.202020202 0.007161424088 -0.00050009999) +(0.202020202 0.008241980085 -0.00050009999) +(0.202020202 0.008975162042 -0.00050009999) +(0.202020202 0.009429475607 -0.00050009999) +(0.202020202 0.009695336429 -0.00050009999) +(0.202020202 0.00984573433 -0.00050009999) +(0.202020202 0.009929188095 -0.00050009999) +(0.202020202 0.009975 -0.00050009999) +(0.202020202 0.01 -0.00050009999) +(0.2070707071 0 -0.00050009999) +(0.2070707071 2.5e-05 -0.00050009999) +(0.2070707071 7.08119053e-05 -0.00050009999) +(0.2070707071 0.00015426567 -0.00050009999) +(0.2070707071 0.0003046635713 -0.00050009999) +(0.2070707071 0.0005705243934 -0.00050009999) +(0.2070707071 0.001024837958 -0.00050009999) +(0.2070707071 0.001758019915 -0.00050009999) +(0.2070707071 0.002838575912 -0.00050009999) +(0.2070707071 0.004235474916 -0.00050009999) +(0.2070707071 0.005764525084 -0.00050009999) +(0.2070707071 0.007161424088 -0.00050009999) +(0.2070707071 0.008241980085 -0.00050009999) +(0.2070707071 0.008975162042 -0.00050009999) +(0.2070707071 0.009429475607 -0.00050009999) +(0.2070707071 0.009695336429 -0.00050009999) +(0.2070707071 0.00984573433 -0.00050009999) +(0.2070707071 0.009929188095 -0.00050009999) +(0.2070707071 0.009975 -0.00050009999) +(0.2070707071 0.01 -0.00050009999) +(0.2121212121 0 -0.00050009999) +(0.2121212121 2.5e-05 -0.00050009999) +(0.2121212121 7.08119053e-05 -0.00050009999) +(0.2121212121 0.00015426567 -0.00050009999) +(0.2121212121 0.0003046635713 -0.00050009999) +(0.2121212121 0.0005705243934 -0.00050009999) +(0.2121212121 0.001024837958 -0.00050009999) +(0.2121212121 0.001758019915 -0.00050009999) +(0.2121212121 0.002838575912 -0.00050009999) +(0.2121212121 0.004235474916 -0.00050009999) +(0.2121212121 0.005764525084 -0.00050009999) +(0.2121212121 0.007161424088 -0.00050009999) +(0.2121212121 0.008241980085 -0.00050009999) +(0.2121212121 0.008975162042 -0.00050009999) +(0.2121212121 0.009429475607 -0.00050009999) +(0.2121212121 0.009695336429 -0.00050009999) +(0.2121212121 0.00984573433 -0.00050009999) +(0.2121212121 0.009929188095 -0.00050009999) +(0.2121212121 0.009975 -0.00050009999) +(0.2121212121 0.01 -0.00050009999) +(0.2171717172 0 -0.00050009999) +(0.2171717172 2.5e-05 -0.00050009999) +(0.2171717172 7.08119053e-05 -0.00050009999) +(0.2171717172 0.00015426567 -0.00050009999) +(0.2171717172 0.0003046635713 -0.00050009999) +(0.2171717172 0.0005705243934 -0.00050009999) +(0.2171717172 0.001024837958 -0.00050009999) +(0.2171717172 0.001758019915 -0.00050009999) +(0.2171717172 0.002838575912 -0.00050009999) +(0.2171717172 0.004235474916 -0.00050009999) +(0.2171717172 0.005764525084 -0.00050009999) +(0.2171717172 0.007161424088 -0.00050009999) +(0.2171717172 0.008241980085 -0.00050009999) +(0.2171717172 0.008975162042 -0.00050009999) +(0.2171717172 0.009429475607 -0.00050009999) +(0.2171717172 0.009695336429 -0.00050009999) +(0.2171717172 0.00984573433 -0.00050009999) +(0.2171717172 0.009929188095 -0.00050009999) +(0.2171717172 0.009975 -0.00050009999) +(0.2171717172 0.01 -0.00050009999) +(0.2222222222 0 -0.00050009999) +(0.2222222222 2.5e-05 -0.00050009999) +(0.2222222222 7.08119053e-05 -0.00050009999) +(0.2222222222 0.00015426567 -0.00050009999) +(0.2222222222 0.0003046635713 -0.00050009999) +(0.2222222222 0.0005705243934 -0.00050009999) +(0.2222222222 0.001024837958 -0.00050009999) +(0.2222222222 0.001758019915 -0.00050009999) +(0.2222222222 0.002838575912 -0.00050009999) +(0.2222222222 0.004235474916 -0.00050009999) +(0.2222222222 0.005764525084 -0.00050009999) +(0.2222222222 0.007161424088 -0.00050009999) +(0.2222222222 0.008241980085 -0.00050009999) +(0.2222222222 0.008975162042 -0.00050009999) +(0.2222222222 0.009429475607 -0.00050009999) +(0.2222222222 0.009695336429 -0.00050009999) +(0.2222222222 0.00984573433 -0.00050009999) +(0.2222222222 0.009929188095 -0.00050009999) +(0.2222222222 0.009975 -0.00050009999) +(0.2222222222 0.01 -0.00050009999) +(0.2272727273 0 -0.00050009999) +(0.2272727273 2.5e-05 -0.00050009999) +(0.2272727273 7.08119053e-05 -0.00050009999) +(0.2272727273 0.00015426567 -0.00050009999) +(0.2272727273 0.0003046635713 -0.00050009999) +(0.2272727273 0.0005705243934 -0.00050009999) +(0.2272727273 0.001024837958 -0.00050009999) +(0.2272727273 0.001758019915 -0.00050009999) +(0.2272727273 0.002838575912 -0.00050009999) +(0.2272727273 0.004235474916 -0.00050009999) +(0.2272727273 0.005764525084 -0.00050009999) +(0.2272727273 0.007161424088 -0.00050009999) +(0.2272727273 0.008241980085 -0.00050009999) +(0.2272727273 0.008975162042 -0.00050009999) +(0.2272727273 0.009429475607 -0.00050009999) +(0.2272727273 0.009695336429 -0.00050009999) +(0.2272727273 0.00984573433 -0.00050009999) +(0.2272727273 0.009929188095 -0.00050009999) +(0.2272727273 0.009975 -0.00050009999) +(0.2272727273 0.01 -0.00050009999) +(0.2323232323 0 -0.00050009999) +(0.2323232323 2.5e-05 -0.00050009999) +(0.2323232323 7.08119053e-05 -0.00050009999) +(0.2323232323 0.00015426567 -0.00050009999) +(0.2323232323 0.0003046635713 -0.00050009999) +(0.2323232323 0.0005705243934 -0.00050009999) +(0.2323232323 0.001024837958 -0.00050009999) +(0.2323232323 0.001758019915 -0.00050009999) +(0.2323232323 0.002838575912 -0.00050009999) +(0.2323232323 0.004235474916 -0.00050009999) +(0.2323232323 0.005764525084 -0.00050009999) +(0.2323232323 0.007161424088 -0.00050009999) +(0.2323232323 0.008241980085 -0.00050009999) +(0.2323232323 0.008975162042 -0.00050009999) +(0.2323232323 0.009429475607 -0.00050009999) +(0.2323232323 0.009695336429 -0.00050009999) +(0.2323232323 0.00984573433 -0.00050009999) +(0.2323232323 0.009929188095 -0.00050009999) +(0.2323232323 0.009975 -0.00050009999) +(0.2323232323 0.01 -0.00050009999) +(0.2373737374 0 -0.00050009999) +(0.2373737374 2.5e-05 -0.00050009999) +(0.2373737374 7.08119053e-05 -0.00050009999) +(0.2373737374 0.00015426567 -0.00050009999) +(0.2373737374 0.0003046635713 -0.00050009999) +(0.2373737374 0.0005705243934 -0.00050009999) +(0.2373737374 0.001024837958 -0.00050009999) +(0.2373737374 0.001758019915 -0.00050009999) +(0.2373737374 0.002838575912 -0.00050009999) +(0.2373737374 0.004235474916 -0.00050009999) +(0.2373737374 0.005764525084 -0.00050009999) +(0.2373737374 0.007161424088 -0.00050009999) +(0.2373737374 0.008241980085 -0.00050009999) +(0.2373737374 0.008975162042 -0.00050009999) +(0.2373737374 0.009429475607 -0.00050009999) +(0.2373737374 0.009695336429 -0.00050009999) +(0.2373737374 0.00984573433 -0.00050009999) +(0.2373737374 0.009929188095 -0.00050009999) +(0.2373737374 0.009975 -0.00050009999) +(0.2373737374 0.01 -0.00050009999) +(0.2424242424 0 -0.00050009999) +(0.2424242424 2.5e-05 -0.00050009999) +(0.2424242424 7.08119053e-05 -0.00050009999) +(0.2424242424 0.00015426567 -0.00050009999) +(0.2424242424 0.0003046635713 -0.00050009999) +(0.2424242424 0.0005705243934 -0.00050009999) +(0.2424242424 0.001024837958 -0.00050009999) +(0.2424242424 0.001758019915 -0.00050009999) +(0.2424242424 0.002838575912 -0.00050009999) +(0.2424242424 0.004235474916 -0.00050009999) +(0.2424242424 0.005764525084 -0.00050009999) +(0.2424242424 0.007161424088 -0.00050009999) +(0.2424242424 0.008241980085 -0.00050009999) +(0.2424242424 0.008975162042 -0.00050009999) +(0.2424242424 0.009429475607 -0.00050009999) +(0.2424242424 0.009695336429 -0.00050009999) +(0.2424242424 0.00984573433 -0.00050009999) +(0.2424242424 0.009929188095 -0.00050009999) +(0.2424242424 0.009975 -0.00050009999) +(0.2424242424 0.01 -0.00050009999) +(0.2474747475 0 -0.00050009999) +(0.2474747475 2.5e-05 -0.00050009999) +(0.2474747475 7.08119053e-05 -0.00050009999) +(0.2474747475 0.00015426567 -0.00050009999) +(0.2474747475 0.0003046635713 -0.00050009999) +(0.2474747475 0.0005705243934 -0.00050009999) +(0.2474747475 0.001024837958 -0.00050009999) +(0.2474747475 0.001758019915 -0.00050009999) +(0.2474747475 0.002838575912 -0.00050009999) +(0.2474747475 0.004235474916 -0.00050009999) +(0.2474747475 0.005764525084 -0.00050009999) +(0.2474747475 0.007161424088 -0.00050009999) +(0.2474747475 0.008241980085 -0.00050009999) +(0.2474747475 0.008975162042 -0.00050009999) +(0.2474747475 0.009429475607 -0.00050009999) +(0.2474747475 0.009695336429 -0.00050009999) +(0.2474747475 0.00984573433 -0.00050009999) +(0.2474747475 0.009929188095 -0.00050009999) +(0.2474747475 0.009975 -0.00050009999) +(0.2474747475 0.01 -0.00050009999) +(0.2525252525 0 -0.00050009999) +(0.2525252525 2.5e-05 -0.00050009999) +(0.2525252525 7.08119053e-05 -0.00050009999) +(0.2525252525 0.00015426567 -0.00050009999) +(0.2525252525 0.0003046635713 -0.00050009999) +(0.2525252525 0.0005705243934 -0.00050009999) +(0.2525252525 0.001024837958 -0.00050009999) +(0.2525252525 0.001758019915 -0.00050009999) +(0.2525252525 0.002838575912 -0.00050009999) +(0.2525252525 0.004235474916 -0.00050009999) +(0.2525252525 0.005764525084 -0.00050009999) +(0.2525252525 0.007161424088 -0.00050009999) +(0.2525252525 0.008241980085 -0.00050009999) +(0.2525252525 0.008975162042 -0.00050009999) +(0.2525252525 0.009429475607 -0.00050009999) +(0.2525252525 0.009695336429 -0.00050009999) +(0.2525252525 0.00984573433 -0.00050009999) +(0.2525252525 0.009929188095 -0.00050009999) +(0.2525252525 0.009975 -0.00050009999) +(0.2525252525 0.01 -0.00050009999) +(0.2575757576 0 -0.00050009999) +(0.2575757576 2.5e-05 -0.00050009999) +(0.2575757576 7.08119053e-05 -0.00050009999) +(0.2575757576 0.00015426567 -0.00050009999) +(0.2575757576 0.0003046635713 -0.00050009999) +(0.2575757576 0.0005705243934 -0.00050009999) +(0.2575757576 0.001024837958 -0.00050009999) +(0.2575757576 0.001758019915 -0.00050009999) +(0.2575757576 0.002838575912 -0.00050009999) +(0.2575757576 0.004235474916 -0.00050009999) +(0.2575757576 0.005764525084 -0.00050009999) +(0.2575757576 0.007161424088 -0.00050009999) +(0.2575757576 0.008241980085 -0.00050009999) +(0.2575757576 0.008975162042 -0.00050009999) +(0.2575757576 0.009429475607 -0.00050009999) +(0.2575757576 0.009695336429 -0.00050009999) +(0.2575757576 0.00984573433 -0.00050009999) +(0.2575757576 0.009929188095 -0.00050009999) +(0.2575757576 0.009975 -0.00050009999) +(0.2575757576 0.01 -0.00050009999) +(0.2626262626 0 -0.00050009999) +(0.2626262626 2.5e-05 -0.00050009999) +(0.2626262626 7.08119053e-05 -0.00050009999) +(0.2626262626 0.00015426567 -0.00050009999) +(0.2626262626 0.0003046635713 -0.00050009999) +(0.2626262626 0.0005705243934 -0.00050009999) +(0.2626262626 0.001024837958 -0.00050009999) +(0.2626262626 0.001758019915 -0.00050009999) +(0.2626262626 0.002838575912 -0.00050009999) +(0.2626262626 0.004235474916 -0.00050009999) +(0.2626262626 0.005764525084 -0.00050009999) +(0.2626262626 0.007161424088 -0.00050009999) +(0.2626262626 0.008241980085 -0.00050009999) +(0.2626262626 0.008975162042 -0.00050009999) +(0.2626262626 0.009429475607 -0.00050009999) +(0.2626262626 0.009695336429 -0.00050009999) +(0.2626262626 0.00984573433 -0.00050009999) +(0.2626262626 0.009929188095 -0.00050009999) +(0.2626262626 0.009975 -0.00050009999) +(0.2626262626 0.01 -0.00050009999) +(0.2676767677 0 -0.00050009999) +(0.2676767677 2.5e-05 -0.00050009999) +(0.2676767677 7.08119053e-05 -0.00050009999) +(0.2676767677 0.00015426567 -0.00050009999) +(0.2676767677 0.0003046635713 -0.00050009999) +(0.2676767677 0.0005705243934 -0.00050009999) +(0.2676767677 0.001024837958 -0.00050009999) +(0.2676767677 0.001758019915 -0.00050009999) +(0.2676767677 0.002838575912 -0.00050009999) +(0.2676767677 0.004235474916 -0.00050009999) +(0.2676767677 0.005764525084 -0.00050009999) +(0.2676767677 0.007161424088 -0.00050009999) +(0.2676767677 0.008241980085 -0.00050009999) +(0.2676767677 0.008975162042 -0.00050009999) +(0.2676767677 0.009429475607 -0.00050009999) +(0.2676767677 0.009695336429 -0.00050009999) +(0.2676767677 0.00984573433 -0.00050009999) +(0.2676767677 0.009929188095 -0.00050009999) +(0.2676767677 0.009975 -0.00050009999) +(0.2676767677 0.01 -0.00050009999) +(0.2727272727 0 -0.00050009999) +(0.2727272727 2.5e-05 -0.00050009999) +(0.2727272727 7.08119053e-05 -0.00050009999) +(0.2727272727 0.00015426567 -0.00050009999) +(0.2727272727 0.0003046635713 -0.00050009999) +(0.2727272727 0.0005705243934 -0.00050009999) +(0.2727272727 0.001024837958 -0.00050009999) +(0.2727272727 0.001758019915 -0.00050009999) +(0.2727272727 0.002838575912 -0.00050009999) +(0.2727272727 0.004235474916 -0.00050009999) +(0.2727272727 0.005764525084 -0.00050009999) +(0.2727272727 0.007161424088 -0.00050009999) +(0.2727272727 0.008241980085 -0.00050009999) +(0.2727272727 0.008975162042 -0.00050009999) +(0.2727272727 0.009429475607 -0.00050009999) +(0.2727272727 0.009695336429 -0.00050009999) +(0.2727272727 0.00984573433 -0.00050009999) +(0.2727272727 0.009929188095 -0.00050009999) +(0.2727272727 0.009975 -0.00050009999) +(0.2727272727 0.01 -0.00050009999) +(0.2777777778 0 -0.00050009999) +(0.2777777778 2.5e-05 -0.00050009999) +(0.2777777778 7.08119053e-05 -0.00050009999) +(0.2777777778 0.00015426567 -0.00050009999) +(0.2777777778 0.0003046635713 -0.00050009999) +(0.2777777778 0.0005705243934 -0.00050009999) +(0.2777777778 0.001024837958 -0.00050009999) +(0.2777777778 0.001758019915 -0.00050009999) +(0.2777777778 0.002838575912 -0.00050009999) +(0.2777777778 0.004235474916 -0.00050009999) +(0.2777777778 0.005764525084 -0.00050009999) +(0.2777777778 0.007161424088 -0.00050009999) +(0.2777777778 0.008241980085 -0.00050009999) +(0.2777777778 0.008975162042 -0.00050009999) +(0.2777777778 0.009429475607 -0.00050009999) +(0.2777777778 0.009695336429 -0.00050009999) +(0.2777777778 0.00984573433 -0.00050009999) +(0.2777777778 0.009929188095 -0.00050009999) +(0.2777777778 0.009975 -0.00050009999) +(0.2777777778 0.01 -0.00050009999) +(0.2828282828 0 -0.00050009999) +(0.2828282828 2.5e-05 -0.00050009999) +(0.2828282828 7.08119053e-05 -0.00050009999) +(0.2828282828 0.00015426567 -0.00050009999) +(0.2828282828 0.0003046635713 -0.00050009999) +(0.2828282828 0.0005705243934 -0.00050009999) +(0.2828282828 0.001024837958 -0.00050009999) +(0.2828282828 0.001758019915 -0.00050009999) +(0.2828282828 0.002838575912 -0.00050009999) +(0.2828282828 0.004235474916 -0.00050009999) +(0.2828282828 0.005764525084 -0.00050009999) +(0.2828282828 0.007161424088 -0.00050009999) +(0.2828282828 0.008241980085 -0.00050009999) +(0.2828282828 0.008975162042 -0.00050009999) +(0.2828282828 0.009429475607 -0.00050009999) +(0.2828282828 0.009695336429 -0.00050009999) +(0.2828282828 0.00984573433 -0.00050009999) +(0.2828282828 0.009929188095 -0.00050009999) +(0.2828282828 0.009975 -0.00050009999) +(0.2828282828 0.01 -0.00050009999) +(0.2878787879 0 -0.00050009999) +(0.2878787879 2.5e-05 -0.00050009999) +(0.2878787879 7.08119053e-05 -0.00050009999) +(0.2878787879 0.00015426567 -0.00050009999) +(0.2878787879 0.0003046635713 -0.00050009999) +(0.2878787879 0.0005705243934 -0.00050009999) +(0.2878787879 0.001024837958 -0.00050009999) +(0.2878787879 0.001758019915 -0.00050009999) +(0.2878787879 0.002838575912 -0.00050009999) +(0.2878787879 0.004235474916 -0.00050009999) +(0.2878787879 0.005764525084 -0.00050009999) +(0.2878787879 0.007161424088 -0.00050009999) +(0.2878787879 0.008241980085 -0.00050009999) +(0.2878787879 0.008975162042 -0.00050009999) +(0.2878787879 0.009429475607 -0.00050009999) +(0.2878787879 0.009695336429 -0.00050009999) +(0.2878787879 0.00984573433 -0.00050009999) +(0.2878787879 0.009929188095 -0.00050009999) +(0.2878787879 0.009975 -0.00050009999) +(0.2878787879 0.01 -0.00050009999) +(0.2929292929 0 -0.00050009999) +(0.2929292929 2.5e-05 -0.00050009999) +(0.2929292929 7.08119053e-05 -0.00050009999) +(0.2929292929 0.00015426567 -0.00050009999) +(0.2929292929 0.0003046635713 -0.00050009999) +(0.2929292929 0.0005705243934 -0.00050009999) +(0.2929292929 0.001024837958 -0.00050009999) +(0.2929292929 0.001758019915 -0.00050009999) +(0.2929292929 0.002838575912 -0.00050009999) +(0.2929292929 0.004235474916 -0.00050009999) +(0.2929292929 0.005764525084 -0.00050009999) +(0.2929292929 0.007161424088 -0.00050009999) +(0.2929292929 0.008241980085 -0.00050009999) +(0.2929292929 0.008975162042 -0.00050009999) +(0.2929292929 0.009429475607 -0.00050009999) +(0.2929292929 0.009695336429 -0.00050009999) +(0.2929292929 0.00984573433 -0.00050009999) +(0.2929292929 0.009929188095 -0.00050009999) +(0.2929292929 0.009975 -0.00050009999) +(0.2929292929 0.01 -0.00050009999) +(0.297979798 0 -0.00050009999) +(0.297979798 2.5e-05 -0.00050009999) +(0.297979798 7.08119053e-05 -0.00050009999) +(0.297979798 0.00015426567 -0.00050009999) +(0.297979798 0.0003046635713 -0.00050009999) +(0.297979798 0.0005705243934 -0.00050009999) +(0.297979798 0.001024837958 -0.00050009999) +(0.297979798 0.001758019915 -0.00050009999) +(0.297979798 0.002838575912 -0.00050009999) +(0.297979798 0.004235474916 -0.00050009999) +(0.297979798 0.005764525084 -0.00050009999) +(0.297979798 0.007161424088 -0.00050009999) +(0.297979798 0.008241980085 -0.00050009999) +(0.297979798 0.008975162042 -0.00050009999) +(0.297979798 0.009429475607 -0.00050009999) +(0.297979798 0.009695336429 -0.00050009999) +(0.297979798 0.00984573433 -0.00050009999) +(0.297979798 0.009929188095 -0.00050009999) +(0.297979798 0.009975 -0.00050009999) +(0.297979798 0.01 -0.00050009999) +(0.303030303 0 -0.00050009999) +(0.303030303 2.5e-05 -0.00050009999) +(0.303030303 7.08119053e-05 -0.00050009999) +(0.303030303 0.00015426567 -0.00050009999) +(0.303030303 0.0003046635713 -0.00050009999) +(0.303030303 0.0005705243934 -0.00050009999) +(0.303030303 0.001024837958 -0.00050009999) +(0.303030303 0.001758019915 -0.00050009999) +(0.303030303 0.002838575912 -0.00050009999) +(0.303030303 0.004235474916 -0.00050009999) +(0.303030303 0.005764525084 -0.00050009999) +(0.303030303 0.007161424088 -0.00050009999) +(0.303030303 0.008241980085 -0.00050009999) +(0.303030303 0.008975162042 -0.00050009999) +(0.303030303 0.009429475607 -0.00050009999) +(0.303030303 0.009695336429 -0.00050009999) +(0.303030303 0.00984573433 -0.00050009999) +(0.303030303 0.009929188095 -0.00050009999) +(0.303030303 0.009975 -0.00050009999) +(0.303030303 0.01 -0.00050009999) +(0.3080808081 0 -0.00050009999) +(0.3080808081 2.5e-05 -0.00050009999) +(0.3080808081 7.08119053e-05 -0.00050009999) +(0.3080808081 0.00015426567 -0.00050009999) +(0.3080808081 0.0003046635713 -0.00050009999) +(0.3080808081 0.0005705243934 -0.00050009999) +(0.3080808081 0.001024837958 -0.00050009999) +(0.3080808081 0.001758019915 -0.00050009999) +(0.3080808081 0.002838575912 -0.00050009999) +(0.3080808081 0.004235474916 -0.00050009999) +(0.3080808081 0.005764525084 -0.00050009999) +(0.3080808081 0.007161424088 -0.00050009999) +(0.3080808081 0.008241980085 -0.00050009999) +(0.3080808081 0.008975162042 -0.00050009999) +(0.3080808081 0.009429475607 -0.00050009999) +(0.3080808081 0.009695336429 -0.00050009999) +(0.3080808081 0.00984573433 -0.00050009999) +(0.3080808081 0.009929188095 -0.00050009999) +(0.3080808081 0.009975 -0.00050009999) +(0.3080808081 0.01 -0.00050009999) +(0.3131313131 0 -0.00050009999) +(0.3131313131 2.5e-05 -0.00050009999) +(0.3131313131 7.08119053e-05 -0.00050009999) +(0.3131313131 0.00015426567 -0.00050009999) +(0.3131313131 0.0003046635713 -0.00050009999) +(0.3131313131 0.0005705243934 -0.00050009999) +(0.3131313131 0.001024837958 -0.00050009999) +(0.3131313131 0.001758019915 -0.00050009999) +(0.3131313131 0.002838575912 -0.00050009999) +(0.3131313131 0.004235474916 -0.00050009999) +(0.3131313131 0.005764525084 -0.00050009999) +(0.3131313131 0.007161424088 -0.00050009999) +(0.3131313131 0.008241980085 -0.00050009999) +(0.3131313131 0.008975162042 -0.00050009999) +(0.3131313131 0.009429475607 -0.00050009999) +(0.3131313131 0.009695336429 -0.00050009999) +(0.3131313131 0.00984573433 -0.00050009999) +(0.3131313131 0.009929188095 -0.00050009999) +(0.3131313131 0.009975 -0.00050009999) +(0.3131313131 0.01 -0.00050009999) +(0.3181818182 0 -0.00050009999) +(0.3181818182 2.5e-05 -0.00050009999) +(0.3181818182 7.08119053e-05 -0.00050009999) +(0.3181818182 0.00015426567 -0.00050009999) +(0.3181818182 0.0003046635713 -0.00050009999) +(0.3181818182 0.0005705243934 -0.00050009999) +(0.3181818182 0.001024837958 -0.00050009999) +(0.3181818182 0.001758019915 -0.00050009999) +(0.3181818182 0.002838575912 -0.00050009999) +(0.3181818182 0.004235474916 -0.00050009999) +(0.3181818182 0.005764525084 -0.00050009999) +(0.3181818182 0.007161424088 -0.00050009999) +(0.3181818182 0.008241980085 -0.00050009999) +(0.3181818182 0.008975162042 -0.00050009999) +(0.3181818182 0.009429475607 -0.00050009999) +(0.3181818182 0.009695336429 -0.00050009999) +(0.3181818182 0.00984573433 -0.00050009999) +(0.3181818182 0.009929188095 -0.00050009999) +(0.3181818182 0.009975 -0.00050009999) +(0.3181818182 0.01 -0.00050009999) +(0.3232323232 0 -0.00050009999) +(0.3232323232 2.5e-05 -0.00050009999) +(0.3232323232 7.08119053e-05 -0.00050009999) +(0.3232323232 0.00015426567 -0.00050009999) +(0.3232323232 0.0003046635713 -0.00050009999) +(0.3232323232 0.0005705243934 -0.00050009999) +(0.3232323232 0.001024837958 -0.00050009999) +(0.3232323232 0.001758019915 -0.00050009999) +(0.3232323232 0.002838575912 -0.00050009999) +(0.3232323232 0.004235474916 -0.00050009999) +(0.3232323232 0.005764525084 -0.00050009999) +(0.3232323232 0.007161424088 -0.00050009999) +(0.3232323232 0.008241980085 -0.00050009999) +(0.3232323232 0.008975162042 -0.00050009999) +(0.3232323232 0.009429475607 -0.00050009999) +(0.3232323232 0.009695336429 -0.00050009999) +(0.3232323232 0.00984573433 -0.00050009999) +(0.3232323232 0.009929188095 -0.00050009999) +(0.3232323232 0.009975 -0.00050009999) +(0.3232323232 0.01 -0.00050009999) +(0.3282828283 0 -0.00050009999) +(0.3282828283 2.5e-05 -0.00050009999) +(0.3282828283 7.08119053e-05 -0.00050009999) +(0.3282828283 0.00015426567 -0.00050009999) +(0.3282828283 0.0003046635713 -0.00050009999) +(0.3282828283 0.0005705243934 -0.00050009999) +(0.3282828283 0.001024837958 -0.00050009999) +(0.3282828283 0.001758019915 -0.00050009999) +(0.3282828283 0.002838575912 -0.00050009999) +(0.3282828283 0.004235474916 -0.00050009999) +(0.3282828283 0.005764525084 -0.00050009999) +(0.3282828283 0.007161424088 -0.00050009999) +(0.3282828283 0.008241980085 -0.00050009999) +(0.3282828283 0.008975162042 -0.00050009999) +(0.3282828283 0.009429475607 -0.00050009999) +(0.3282828283 0.009695336429 -0.00050009999) +(0.3282828283 0.00984573433 -0.00050009999) +(0.3282828283 0.009929188095 -0.00050009999) +(0.3282828283 0.009975 -0.00050009999) +(0.3282828283 0.01 -0.00050009999) +(0.3333333333 0 -0.00050009999) +(0.3333333333 2.5e-05 -0.00050009999) +(0.3333333333 7.08119053e-05 -0.00050009999) +(0.3333333333 0.00015426567 -0.00050009999) +(0.3333333333 0.0003046635713 -0.00050009999) +(0.3333333333 0.0005705243934 -0.00050009999) +(0.3333333333 0.001024837958 -0.00050009999) +(0.3333333333 0.001758019915 -0.00050009999) +(0.3333333333 0.002838575912 -0.00050009999) +(0.3333333333 0.004235474916 -0.00050009999) +(0.3333333333 0.005764525084 -0.00050009999) +(0.3333333333 0.007161424088 -0.00050009999) +(0.3333333333 0.008241980085 -0.00050009999) +(0.3333333333 0.008975162042 -0.00050009999) +(0.3333333333 0.009429475607 -0.00050009999) +(0.3333333333 0.009695336429 -0.00050009999) +(0.3333333333 0.00984573433 -0.00050009999) +(0.3333333333 0.009929188095 -0.00050009999) +(0.3333333333 0.009975 -0.00050009999) +(0.3333333333 0.01 -0.00050009999) +(0.3383838384 0 -0.00050009999) +(0.3383838384 2.5e-05 -0.00050009999) +(0.3383838384 7.08119053e-05 -0.00050009999) +(0.3383838384 0.00015426567 -0.00050009999) +(0.3383838384 0.0003046635713 -0.00050009999) +(0.3383838384 0.0005705243934 -0.00050009999) +(0.3383838384 0.001024837958 -0.00050009999) +(0.3383838384 0.001758019915 -0.00050009999) +(0.3383838384 0.002838575912 -0.00050009999) +(0.3383838384 0.004235474916 -0.00050009999) +(0.3383838384 0.005764525084 -0.00050009999) +(0.3383838384 0.007161424088 -0.00050009999) +(0.3383838384 0.008241980085 -0.00050009999) +(0.3383838384 0.008975162042 -0.00050009999) +(0.3383838384 0.009429475607 -0.00050009999) +(0.3383838384 0.009695336429 -0.00050009999) +(0.3383838384 0.00984573433 -0.00050009999) +(0.3383838384 0.009929188095 -0.00050009999) +(0.3383838384 0.009975 -0.00050009999) +(0.3383838384 0.01 -0.00050009999) +(0.3434343434 0 -0.00050009999) +(0.3434343434 2.5e-05 -0.00050009999) +(0.3434343434 7.08119053e-05 -0.00050009999) +(0.3434343434 0.00015426567 -0.00050009999) +(0.3434343434 0.0003046635713 -0.00050009999) +(0.3434343434 0.0005705243934 -0.00050009999) +(0.3434343434 0.001024837958 -0.00050009999) +(0.3434343434 0.001758019915 -0.00050009999) +(0.3434343434 0.002838575912 -0.00050009999) +(0.3434343434 0.004235474916 -0.00050009999) +(0.3434343434 0.005764525084 -0.00050009999) +(0.3434343434 0.007161424088 -0.00050009999) +(0.3434343434 0.008241980085 -0.00050009999) +(0.3434343434 0.008975162042 -0.00050009999) +(0.3434343434 0.009429475607 -0.00050009999) +(0.3434343434 0.009695336429 -0.00050009999) +(0.3434343434 0.00984573433 -0.00050009999) +(0.3434343434 0.009929188095 -0.00050009999) +(0.3434343434 0.009975 -0.00050009999) +(0.3434343434 0.01 -0.00050009999) +(0.3484848485 0 -0.00050009999) +(0.3484848485 2.5e-05 -0.00050009999) +(0.3484848485 7.08119053e-05 -0.00050009999) +(0.3484848485 0.00015426567 -0.00050009999) +(0.3484848485 0.0003046635713 -0.00050009999) +(0.3484848485 0.0005705243934 -0.00050009999) +(0.3484848485 0.001024837958 -0.00050009999) +(0.3484848485 0.001758019915 -0.00050009999) +(0.3484848485 0.002838575912 -0.00050009999) +(0.3484848485 0.004235474916 -0.00050009999) +(0.3484848485 0.005764525084 -0.00050009999) +(0.3484848485 0.007161424088 -0.00050009999) +(0.3484848485 0.008241980085 -0.00050009999) +(0.3484848485 0.008975162042 -0.00050009999) +(0.3484848485 0.009429475607 -0.00050009999) +(0.3484848485 0.009695336429 -0.00050009999) +(0.3484848485 0.00984573433 -0.00050009999) +(0.3484848485 0.009929188095 -0.00050009999) +(0.3484848485 0.009975 -0.00050009999) +(0.3484848485 0.01 -0.00050009999) +(0.3535353535 0 -0.00050009999) +(0.3535353535 2.5e-05 -0.00050009999) +(0.3535353535 7.08119053e-05 -0.00050009999) +(0.3535353535 0.00015426567 -0.00050009999) +(0.3535353535 0.0003046635713 -0.00050009999) +(0.3535353535 0.0005705243934 -0.00050009999) +(0.3535353535 0.001024837958 -0.00050009999) +(0.3535353535 0.001758019915 -0.00050009999) +(0.3535353535 0.002838575912 -0.00050009999) +(0.3535353535 0.004235474916 -0.00050009999) +(0.3535353535 0.005764525084 -0.00050009999) +(0.3535353535 0.007161424088 -0.00050009999) +(0.3535353535 0.008241980085 -0.00050009999) +(0.3535353535 0.008975162042 -0.00050009999) +(0.3535353535 0.009429475607 -0.00050009999) +(0.3535353535 0.009695336429 -0.00050009999) +(0.3535353535 0.00984573433 -0.00050009999) +(0.3535353535 0.009929188095 -0.00050009999) +(0.3535353535 0.009975 -0.00050009999) +(0.3535353535 0.01 -0.00050009999) +(0.3585858586 0 -0.00050009999) +(0.3585858586 2.5e-05 -0.00050009999) +(0.3585858586 7.08119053e-05 -0.00050009999) +(0.3585858586 0.00015426567 -0.00050009999) +(0.3585858586 0.0003046635713 -0.00050009999) +(0.3585858586 0.0005705243934 -0.00050009999) +(0.3585858586 0.001024837958 -0.00050009999) +(0.3585858586 0.001758019915 -0.00050009999) +(0.3585858586 0.002838575912 -0.00050009999) +(0.3585858586 0.004235474916 -0.00050009999) +(0.3585858586 0.005764525084 -0.00050009999) +(0.3585858586 0.007161424088 -0.00050009999) +(0.3585858586 0.008241980085 -0.00050009999) +(0.3585858586 0.008975162042 -0.00050009999) +(0.3585858586 0.009429475607 -0.00050009999) +(0.3585858586 0.009695336429 -0.00050009999) +(0.3585858586 0.00984573433 -0.00050009999) +(0.3585858586 0.009929188095 -0.00050009999) +(0.3585858586 0.009975 -0.00050009999) +(0.3585858586 0.01 -0.00050009999) +(0.3636363636 0 -0.00050009999) +(0.3636363636 2.5e-05 -0.00050009999) +(0.3636363636 7.08119053e-05 -0.00050009999) +(0.3636363636 0.00015426567 -0.00050009999) +(0.3636363636 0.0003046635713 -0.00050009999) +(0.3636363636 0.0005705243934 -0.00050009999) +(0.3636363636 0.001024837958 -0.00050009999) +(0.3636363636 0.001758019915 -0.00050009999) +(0.3636363636 0.002838575912 -0.00050009999) +(0.3636363636 0.004235474916 -0.00050009999) +(0.3636363636 0.005764525084 -0.00050009999) +(0.3636363636 0.007161424088 -0.00050009999) +(0.3636363636 0.008241980085 -0.00050009999) +(0.3636363636 0.008975162042 -0.00050009999) +(0.3636363636 0.009429475607 -0.00050009999) +(0.3636363636 0.009695336429 -0.00050009999) +(0.3636363636 0.00984573433 -0.00050009999) +(0.3636363636 0.009929188095 -0.00050009999) +(0.3636363636 0.009975 -0.00050009999) +(0.3636363636 0.01 -0.00050009999) +(0.3686868687 0 -0.00050009999) +(0.3686868687 2.5e-05 -0.00050009999) +(0.3686868687 7.08119053e-05 -0.00050009999) +(0.3686868687 0.00015426567 -0.00050009999) +(0.3686868687 0.0003046635713 -0.00050009999) +(0.3686868687 0.0005705243934 -0.00050009999) +(0.3686868687 0.001024837958 -0.00050009999) +(0.3686868687 0.001758019915 -0.00050009999) +(0.3686868687 0.002838575912 -0.00050009999) +(0.3686868687 0.004235474916 -0.00050009999) +(0.3686868687 0.005764525084 -0.00050009999) +(0.3686868687 0.007161424088 -0.00050009999) +(0.3686868687 0.008241980085 -0.00050009999) +(0.3686868687 0.008975162042 -0.00050009999) +(0.3686868687 0.009429475607 -0.00050009999) +(0.3686868687 0.009695336429 -0.00050009999) +(0.3686868687 0.00984573433 -0.00050009999) +(0.3686868687 0.009929188095 -0.00050009999) +(0.3686868687 0.009975 -0.00050009999) +(0.3686868687 0.01 -0.00050009999) +(0.3737373737 0 -0.00050009999) +(0.3737373737 2.5e-05 -0.00050009999) +(0.3737373737 7.08119053e-05 -0.00050009999) +(0.3737373737 0.00015426567 -0.00050009999) +(0.3737373737 0.0003046635713 -0.00050009999) +(0.3737373737 0.0005705243934 -0.00050009999) +(0.3737373737 0.001024837958 -0.00050009999) +(0.3737373737 0.001758019915 -0.00050009999) +(0.3737373737 0.002838575912 -0.00050009999) +(0.3737373737 0.004235474916 -0.00050009999) +(0.3737373737 0.005764525084 -0.00050009999) +(0.3737373737 0.007161424088 -0.00050009999) +(0.3737373737 0.008241980085 -0.00050009999) +(0.3737373737 0.008975162042 -0.00050009999) +(0.3737373737 0.009429475607 -0.00050009999) +(0.3737373737 0.009695336429 -0.00050009999) +(0.3737373737 0.00984573433 -0.00050009999) +(0.3737373737 0.009929188095 -0.00050009999) +(0.3737373737 0.009975 -0.00050009999) +(0.3737373737 0.01 -0.00050009999) +(0.3787878788 0 -0.00050009999) +(0.3787878788 2.5e-05 -0.00050009999) +(0.3787878788 7.08119053e-05 -0.00050009999) +(0.3787878788 0.00015426567 -0.00050009999) +(0.3787878788 0.0003046635713 -0.00050009999) +(0.3787878788 0.0005705243934 -0.00050009999) +(0.3787878788 0.001024837958 -0.00050009999) +(0.3787878788 0.001758019915 -0.00050009999) +(0.3787878788 0.002838575912 -0.00050009999) +(0.3787878788 0.004235474916 -0.00050009999) +(0.3787878788 0.005764525084 -0.00050009999) +(0.3787878788 0.007161424088 -0.00050009999) +(0.3787878788 0.008241980085 -0.00050009999) +(0.3787878788 0.008975162042 -0.00050009999) +(0.3787878788 0.009429475607 -0.00050009999) +(0.3787878788 0.009695336429 -0.00050009999) +(0.3787878788 0.00984573433 -0.00050009999) +(0.3787878788 0.009929188095 -0.00050009999) +(0.3787878788 0.009975 -0.00050009999) +(0.3787878788 0.01 -0.00050009999) +(0.3838383838 0 -0.00050009999) +(0.3838383838 2.5e-05 -0.00050009999) +(0.3838383838 7.08119053e-05 -0.00050009999) +(0.3838383838 0.00015426567 -0.00050009999) +(0.3838383838 0.0003046635713 -0.00050009999) +(0.3838383838 0.0005705243934 -0.00050009999) +(0.3838383838 0.001024837958 -0.00050009999) +(0.3838383838 0.001758019915 -0.00050009999) +(0.3838383838 0.002838575912 -0.00050009999) +(0.3838383838 0.004235474916 -0.00050009999) +(0.3838383838 0.005764525084 -0.00050009999) +(0.3838383838 0.007161424088 -0.00050009999) +(0.3838383838 0.008241980085 -0.00050009999) +(0.3838383838 0.008975162042 -0.00050009999) +(0.3838383838 0.009429475607 -0.00050009999) +(0.3838383838 0.009695336429 -0.00050009999) +(0.3838383838 0.00984573433 -0.00050009999) +(0.3838383838 0.009929188095 -0.00050009999) +(0.3838383838 0.009975 -0.00050009999) +(0.3838383838 0.01 -0.00050009999) +(0.3888888889 0 -0.00050009999) +(0.3888888889 2.5e-05 -0.00050009999) +(0.3888888889 7.08119053e-05 -0.00050009999) +(0.3888888889 0.00015426567 -0.00050009999) +(0.3888888889 0.0003046635713 -0.00050009999) +(0.3888888889 0.0005705243934 -0.00050009999) +(0.3888888889 0.001024837958 -0.00050009999) +(0.3888888889 0.001758019915 -0.00050009999) +(0.3888888889 0.002838575912 -0.00050009999) +(0.3888888889 0.004235474916 -0.00050009999) +(0.3888888889 0.005764525084 -0.00050009999) +(0.3888888889 0.007161424088 -0.00050009999) +(0.3888888889 0.008241980085 -0.00050009999) +(0.3888888889 0.008975162042 -0.00050009999) +(0.3888888889 0.009429475607 -0.00050009999) +(0.3888888889 0.009695336429 -0.00050009999) +(0.3888888889 0.00984573433 -0.00050009999) +(0.3888888889 0.009929188095 -0.00050009999) +(0.3888888889 0.009975 -0.00050009999) +(0.3888888889 0.01 -0.00050009999) +(0.3939393939 0 -0.00050009999) +(0.3939393939 2.5e-05 -0.00050009999) +(0.3939393939 7.08119053e-05 -0.00050009999) +(0.3939393939 0.00015426567 -0.00050009999) +(0.3939393939 0.0003046635713 -0.00050009999) +(0.3939393939 0.0005705243934 -0.00050009999) +(0.3939393939 0.001024837958 -0.00050009999) +(0.3939393939 0.001758019915 -0.00050009999) +(0.3939393939 0.002838575912 -0.00050009999) +(0.3939393939 0.004235474916 -0.00050009999) +(0.3939393939 0.005764525084 -0.00050009999) +(0.3939393939 0.007161424088 -0.00050009999) +(0.3939393939 0.008241980085 -0.00050009999) +(0.3939393939 0.008975162042 -0.00050009999) +(0.3939393939 0.009429475607 -0.00050009999) +(0.3939393939 0.009695336429 -0.00050009999) +(0.3939393939 0.00984573433 -0.00050009999) +(0.3939393939 0.009929188095 -0.00050009999) +(0.3939393939 0.009975 -0.00050009999) +(0.3939393939 0.01 -0.00050009999) +(0.398989899 0 -0.00050009999) +(0.398989899 2.5e-05 -0.00050009999) +(0.398989899 7.08119053e-05 -0.00050009999) +(0.398989899 0.00015426567 -0.00050009999) +(0.398989899 0.0003046635713 -0.00050009999) +(0.398989899 0.0005705243934 -0.00050009999) +(0.398989899 0.001024837958 -0.00050009999) +(0.398989899 0.001758019915 -0.00050009999) +(0.398989899 0.002838575912 -0.00050009999) +(0.398989899 0.004235474916 -0.00050009999) +(0.398989899 0.005764525084 -0.00050009999) +(0.398989899 0.007161424088 -0.00050009999) +(0.398989899 0.008241980085 -0.00050009999) +(0.398989899 0.008975162042 -0.00050009999) +(0.398989899 0.009429475607 -0.00050009999) +(0.398989899 0.009695336429 -0.00050009999) +(0.398989899 0.00984573433 -0.00050009999) +(0.398989899 0.009929188095 -0.00050009999) +(0.398989899 0.009975 -0.00050009999) +(0.398989899 0.01 -0.00050009999) +(0.404040404 0 -0.00050009999) +(0.404040404 2.5e-05 -0.00050009999) +(0.404040404 7.08119053e-05 -0.00050009999) +(0.404040404 0.00015426567 -0.00050009999) +(0.404040404 0.0003046635713 -0.00050009999) +(0.404040404 0.0005705243934 -0.00050009999) +(0.404040404 0.001024837958 -0.00050009999) +(0.404040404 0.001758019915 -0.00050009999) +(0.404040404 0.002838575912 -0.00050009999) +(0.404040404 0.004235474916 -0.00050009999) +(0.404040404 0.005764525084 -0.00050009999) +(0.404040404 0.007161424088 -0.00050009999) +(0.404040404 0.008241980085 -0.00050009999) +(0.404040404 0.008975162042 -0.00050009999) +(0.404040404 0.009429475607 -0.00050009999) +(0.404040404 0.009695336429 -0.00050009999) +(0.404040404 0.00984573433 -0.00050009999) +(0.404040404 0.009929188095 -0.00050009999) +(0.404040404 0.009975 -0.00050009999) +(0.404040404 0.01 -0.00050009999) +(0.4090909091 0 -0.00050009999) +(0.4090909091 2.5e-05 -0.00050009999) +(0.4090909091 7.08119053e-05 -0.00050009999) +(0.4090909091 0.00015426567 -0.00050009999) +(0.4090909091 0.0003046635713 -0.00050009999) +(0.4090909091 0.0005705243934 -0.00050009999) +(0.4090909091 0.001024837958 -0.00050009999) +(0.4090909091 0.001758019915 -0.00050009999) +(0.4090909091 0.002838575912 -0.00050009999) +(0.4090909091 0.004235474916 -0.00050009999) +(0.4090909091 0.005764525084 -0.00050009999) +(0.4090909091 0.007161424088 -0.00050009999) +(0.4090909091 0.008241980085 -0.00050009999) +(0.4090909091 0.008975162042 -0.00050009999) +(0.4090909091 0.009429475607 -0.00050009999) +(0.4090909091 0.009695336429 -0.00050009999) +(0.4090909091 0.00984573433 -0.00050009999) +(0.4090909091 0.009929188095 -0.00050009999) +(0.4090909091 0.009975 -0.00050009999) +(0.4090909091 0.01 -0.00050009999) +(0.4141414141 0 -0.00050009999) +(0.4141414141 2.5e-05 -0.00050009999) +(0.4141414141 7.08119053e-05 -0.00050009999) +(0.4141414141 0.00015426567 -0.00050009999) +(0.4141414141 0.0003046635713 -0.00050009999) +(0.4141414141 0.0005705243934 -0.00050009999) +(0.4141414141 0.001024837958 -0.00050009999) +(0.4141414141 0.001758019915 -0.00050009999) +(0.4141414141 0.002838575912 -0.00050009999) +(0.4141414141 0.004235474916 -0.00050009999) +(0.4141414141 0.005764525084 -0.00050009999) +(0.4141414141 0.007161424088 -0.00050009999) +(0.4141414141 0.008241980085 -0.00050009999) +(0.4141414141 0.008975162042 -0.00050009999) +(0.4141414141 0.009429475607 -0.00050009999) +(0.4141414141 0.009695336429 -0.00050009999) +(0.4141414141 0.00984573433 -0.00050009999) +(0.4141414141 0.009929188095 -0.00050009999) +(0.4141414141 0.009975 -0.00050009999) +(0.4141414141 0.01 -0.00050009999) +(0.4191919192 0 -0.00050009999) +(0.4191919192 2.5e-05 -0.00050009999) +(0.4191919192 7.08119053e-05 -0.00050009999) +(0.4191919192 0.00015426567 -0.00050009999) +(0.4191919192 0.0003046635713 -0.00050009999) +(0.4191919192 0.0005705243934 -0.00050009999) +(0.4191919192 0.001024837958 -0.00050009999) +(0.4191919192 0.001758019915 -0.00050009999) +(0.4191919192 0.002838575912 -0.00050009999) +(0.4191919192 0.004235474916 -0.00050009999) +(0.4191919192 0.005764525084 -0.00050009999) +(0.4191919192 0.007161424088 -0.00050009999) +(0.4191919192 0.008241980085 -0.00050009999) +(0.4191919192 0.008975162042 -0.00050009999) +(0.4191919192 0.009429475607 -0.00050009999) +(0.4191919192 0.009695336429 -0.00050009999) +(0.4191919192 0.00984573433 -0.00050009999) +(0.4191919192 0.009929188095 -0.00050009999) +(0.4191919192 0.009975 -0.00050009999) +(0.4191919192 0.01 -0.00050009999) +(0.4242424242 0 -0.00050009999) +(0.4242424242 2.5e-05 -0.00050009999) +(0.4242424242 7.08119053e-05 -0.00050009999) +(0.4242424242 0.00015426567 -0.00050009999) +(0.4242424242 0.0003046635713 -0.00050009999) +(0.4242424242 0.0005705243934 -0.00050009999) +(0.4242424242 0.001024837958 -0.00050009999) +(0.4242424242 0.001758019915 -0.00050009999) +(0.4242424242 0.002838575912 -0.00050009999) +(0.4242424242 0.004235474916 -0.00050009999) +(0.4242424242 0.005764525084 -0.00050009999) +(0.4242424242 0.007161424088 -0.00050009999) +(0.4242424242 0.008241980085 -0.00050009999) +(0.4242424242 0.008975162042 -0.00050009999) +(0.4242424242 0.009429475607 -0.00050009999) +(0.4242424242 0.009695336429 -0.00050009999) +(0.4242424242 0.00984573433 -0.00050009999) +(0.4242424242 0.009929188095 -0.00050009999) +(0.4242424242 0.009975 -0.00050009999) +(0.4242424242 0.01 -0.00050009999) +(0.4292929293 0 -0.00050009999) +(0.4292929293 2.5e-05 -0.00050009999) +(0.4292929293 7.08119053e-05 -0.00050009999) +(0.4292929293 0.00015426567 -0.00050009999) +(0.4292929293 0.0003046635713 -0.00050009999) +(0.4292929293 0.0005705243934 -0.00050009999) +(0.4292929293 0.001024837958 -0.00050009999) +(0.4292929293 0.001758019915 -0.00050009999) +(0.4292929293 0.002838575912 -0.00050009999) +(0.4292929293 0.004235474916 -0.00050009999) +(0.4292929293 0.005764525084 -0.00050009999) +(0.4292929293 0.007161424088 -0.00050009999) +(0.4292929293 0.008241980085 -0.00050009999) +(0.4292929293 0.008975162042 -0.00050009999) +(0.4292929293 0.009429475607 -0.00050009999) +(0.4292929293 0.009695336429 -0.00050009999) +(0.4292929293 0.00984573433 -0.00050009999) +(0.4292929293 0.009929188095 -0.00050009999) +(0.4292929293 0.009975 -0.00050009999) +(0.4292929293 0.01 -0.00050009999) +(0.4343434343 0 -0.00050009999) +(0.4343434343 2.5e-05 -0.00050009999) +(0.4343434343 7.08119053e-05 -0.00050009999) +(0.4343434343 0.00015426567 -0.00050009999) +(0.4343434343 0.0003046635713 -0.00050009999) +(0.4343434343 0.0005705243934 -0.00050009999) +(0.4343434343 0.001024837958 -0.00050009999) +(0.4343434343 0.001758019915 -0.00050009999) +(0.4343434343 0.002838575912 -0.00050009999) +(0.4343434343 0.004235474916 -0.00050009999) +(0.4343434343 0.005764525084 -0.00050009999) +(0.4343434343 0.007161424088 -0.00050009999) +(0.4343434343 0.008241980085 -0.00050009999) +(0.4343434343 0.008975162042 -0.00050009999) +(0.4343434343 0.009429475607 -0.00050009999) +(0.4343434343 0.009695336429 -0.00050009999) +(0.4343434343 0.00984573433 -0.00050009999) +(0.4343434343 0.009929188095 -0.00050009999) +(0.4343434343 0.009975 -0.00050009999) +(0.4343434343 0.01 -0.00050009999) +(0.4393939394 0 -0.00050009999) +(0.4393939394 2.5e-05 -0.00050009999) +(0.4393939394 7.08119053e-05 -0.00050009999) +(0.4393939394 0.00015426567 -0.00050009999) +(0.4393939394 0.0003046635713 -0.00050009999) +(0.4393939394 0.0005705243934 -0.00050009999) +(0.4393939394 0.001024837958 -0.00050009999) +(0.4393939394 0.001758019915 -0.00050009999) +(0.4393939394 0.002838575912 -0.00050009999) +(0.4393939394 0.004235474916 -0.00050009999) +(0.4393939394 0.005764525084 -0.00050009999) +(0.4393939394 0.007161424088 -0.00050009999) +(0.4393939394 0.008241980085 -0.00050009999) +(0.4393939394 0.008975162042 -0.00050009999) +(0.4393939394 0.009429475607 -0.00050009999) +(0.4393939394 0.009695336429 -0.00050009999) +(0.4393939394 0.00984573433 -0.00050009999) +(0.4393939394 0.009929188095 -0.00050009999) +(0.4393939394 0.009975 -0.00050009999) +(0.4393939394 0.01 -0.00050009999) +(0.4444444444 0 -0.00050009999) +(0.4444444444 2.5e-05 -0.00050009999) +(0.4444444444 7.08119053e-05 -0.00050009999) +(0.4444444444 0.00015426567 -0.00050009999) +(0.4444444444 0.0003046635713 -0.00050009999) +(0.4444444444 0.0005705243934 -0.00050009999) +(0.4444444444 0.001024837958 -0.00050009999) +(0.4444444444 0.001758019915 -0.00050009999) +(0.4444444444 0.002838575912 -0.00050009999) +(0.4444444444 0.004235474916 -0.00050009999) +(0.4444444444 0.005764525084 -0.00050009999) +(0.4444444444 0.007161424088 -0.00050009999) +(0.4444444444 0.008241980085 -0.00050009999) +(0.4444444444 0.008975162042 -0.00050009999) +(0.4444444444 0.009429475607 -0.00050009999) +(0.4444444444 0.009695336429 -0.00050009999) +(0.4444444444 0.00984573433 -0.00050009999) +(0.4444444444 0.009929188095 -0.00050009999) +(0.4444444444 0.009975 -0.00050009999) +(0.4444444444 0.01 -0.00050009999) +(0.4494949495 0 -0.00050009999) +(0.4494949495 2.5e-05 -0.00050009999) +(0.4494949495 7.08119053e-05 -0.00050009999) +(0.4494949495 0.00015426567 -0.00050009999) +(0.4494949495 0.0003046635713 -0.00050009999) +(0.4494949495 0.0005705243934 -0.00050009999) +(0.4494949495 0.001024837958 -0.00050009999) +(0.4494949495 0.001758019915 -0.00050009999) +(0.4494949495 0.002838575912 -0.00050009999) +(0.4494949495 0.004235474916 -0.00050009999) +(0.4494949495 0.005764525084 -0.00050009999) +(0.4494949495 0.007161424088 -0.00050009999) +(0.4494949495 0.008241980085 -0.00050009999) +(0.4494949495 0.008975162042 -0.00050009999) +(0.4494949495 0.009429475607 -0.00050009999) +(0.4494949495 0.009695336429 -0.00050009999) +(0.4494949495 0.00984573433 -0.00050009999) +(0.4494949495 0.009929188095 -0.00050009999) +(0.4494949495 0.009975 -0.00050009999) +(0.4494949495 0.01 -0.00050009999) +(0.4545454545 0 -0.00050009999) +(0.4545454545 2.5e-05 -0.00050009999) +(0.4545454545 7.08119053e-05 -0.00050009999) +(0.4545454545 0.00015426567 -0.00050009999) +(0.4545454545 0.0003046635713 -0.00050009999) +(0.4545454545 0.0005705243934 -0.00050009999) +(0.4545454545 0.001024837958 -0.00050009999) +(0.4545454545 0.001758019915 -0.00050009999) +(0.4545454545 0.002838575912 -0.00050009999) +(0.4545454545 0.004235474916 -0.00050009999) +(0.4545454545 0.005764525084 -0.00050009999) +(0.4545454545 0.007161424088 -0.00050009999) +(0.4545454545 0.008241980085 -0.00050009999) +(0.4545454545 0.008975162042 -0.00050009999) +(0.4545454545 0.009429475607 -0.00050009999) +(0.4545454545 0.009695336429 -0.00050009999) +(0.4545454545 0.00984573433 -0.00050009999) +(0.4545454545 0.009929188095 -0.00050009999) +(0.4545454545 0.009975 -0.00050009999) +(0.4545454545 0.01 -0.00050009999) +(0.4595959596 0 -0.00050009999) +(0.4595959596 2.5e-05 -0.00050009999) +(0.4595959596 7.08119053e-05 -0.00050009999) +(0.4595959596 0.00015426567 -0.00050009999) +(0.4595959596 0.0003046635713 -0.00050009999) +(0.4595959596 0.0005705243934 -0.00050009999) +(0.4595959596 0.001024837958 -0.00050009999) +(0.4595959596 0.001758019915 -0.00050009999) +(0.4595959596 0.002838575912 -0.00050009999) +(0.4595959596 0.004235474916 -0.00050009999) +(0.4595959596 0.005764525084 -0.00050009999) +(0.4595959596 0.007161424088 -0.00050009999) +(0.4595959596 0.008241980085 -0.00050009999) +(0.4595959596 0.008975162042 -0.00050009999) +(0.4595959596 0.009429475607 -0.00050009999) +(0.4595959596 0.009695336429 -0.00050009999) +(0.4595959596 0.00984573433 -0.00050009999) +(0.4595959596 0.009929188095 -0.00050009999) +(0.4595959596 0.009975 -0.00050009999) +(0.4595959596 0.01 -0.00050009999) +(0.4646464646 0 -0.00050009999) +(0.4646464646 2.5e-05 -0.00050009999) +(0.4646464646 7.08119053e-05 -0.00050009999) +(0.4646464646 0.00015426567 -0.00050009999) +(0.4646464646 0.0003046635713 -0.00050009999) +(0.4646464646 0.0005705243934 -0.00050009999) +(0.4646464646 0.001024837958 -0.00050009999) +(0.4646464646 0.001758019915 -0.00050009999) +(0.4646464646 0.002838575912 -0.00050009999) +(0.4646464646 0.004235474916 -0.00050009999) +(0.4646464646 0.005764525084 -0.00050009999) +(0.4646464646 0.007161424088 -0.00050009999) +(0.4646464646 0.008241980085 -0.00050009999) +(0.4646464646 0.008975162042 -0.00050009999) +(0.4646464646 0.009429475607 -0.00050009999) +(0.4646464646 0.009695336429 -0.00050009999) +(0.4646464646 0.00984573433 -0.00050009999) +(0.4646464646 0.009929188095 -0.00050009999) +(0.4646464646 0.009975 -0.00050009999) +(0.4646464646 0.01 -0.00050009999) +(0.4696969697 0 -0.00050009999) +(0.4696969697 2.5e-05 -0.00050009999) +(0.4696969697 7.08119053e-05 -0.00050009999) +(0.4696969697 0.00015426567 -0.00050009999) +(0.4696969697 0.0003046635713 -0.00050009999) +(0.4696969697 0.0005705243934 -0.00050009999) +(0.4696969697 0.001024837958 -0.00050009999) +(0.4696969697 0.001758019915 -0.00050009999) +(0.4696969697 0.002838575912 -0.00050009999) +(0.4696969697 0.004235474916 -0.00050009999) +(0.4696969697 0.005764525084 -0.00050009999) +(0.4696969697 0.007161424088 -0.00050009999) +(0.4696969697 0.008241980085 -0.00050009999) +(0.4696969697 0.008975162042 -0.00050009999) +(0.4696969697 0.009429475607 -0.00050009999) +(0.4696969697 0.009695336429 -0.00050009999) +(0.4696969697 0.00984573433 -0.00050009999) +(0.4696969697 0.009929188095 -0.00050009999) +(0.4696969697 0.009975 -0.00050009999) +(0.4696969697 0.01 -0.00050009999) +(0.4747474747 0 -0.00050009999) +(0.4747474747 2.5e-05 -0.00050009999) +(0.4747474747 7.08119053e-05 -0.00050009999) +(0.4747474747 0.00015426567 -0.00050009999) +(0.4747474747 0.0003046635713 -0.00050009999) +(0.4747474747 0.0005705243934 -0.00050009999) +(0.4747474747 0.001024837958 -0.00050009999) +(0.4747474747 0.001758019915 -0.00050009999) +(0.4747474747 0.002838575912 -0.00050009999) +(0.4747474747 0.004235474916 -0.00050009999) +(0.4747474747 0.005764525084 -0.00050009999) +(0.4747474747 0.007161424088 -0.00050009999) +(0.4747474747 0.008241980085 -0.00050009999) +(0.4747474747 0.008975162042 -0.00050009999) +(0.4747474747 0.009429475607 -0.00050009999) +(0.4747474747 0.009695336429 -0.00050009999) +(0.4747474747 0.00984573433 -0.00050009999) +(0.4747474747 0.009929188095 -0.00050009999) +(0.4747474747 0.009975 -0.00050009999) +(0.4747474747 0.01 -0.00050009999) +(0.4797979798 0 -0.00050009999) +(0.4797979798 2.5e-05 -0.00050009999) +(0.4797979798 7.08119053e-05 -0.00050009999) +(0.4797979798 0.00015426567 -0.00050009999) +(0.4797979798 0.0003046635713 -0.00050009999) +(0.4797979798 0.0005705243934 -0.00050009999) +(0.4797979798 0.001024837958 -0.00050009999) +(0.4797979798 0.001758019915 -0.00050009999) +(0.4797979798 0.002838575912 -0.00050009999) +(0.4797979798 0.004235474916 -0.00050009999) +(0.4797979798 0.005764525084 -0.00050009999) +(0.4797979798 0.007161424088 -0.00050009999) +(0.4797979798 0.008241980085 -0.00050009999) +(0.4797979798 0.008975162042 -0.00050009999) +(0.4797979798 0.009429475607 -0.00050009999) +(0.4797979798 0.009695336429 -0.00050009999) +(0.4797979798 0.00984573433 -0.00050009999) +(0.4797979798 0.009929188095 -0.00050009999) +(0.4797979798 0.009975 -0.00050009999) +(0.4797979798 0.01 -0.00050009999) +(0.4848484848 0 -0.00050009999) +(0.4848484848 2.5e-05 -0.00050009999) +(0.4848484848 7.08119053e-05 -0.00050009999) +(0.4848484848 0.00015426567 -0.00050009999) +(0.4848484848 0.0003046635713 -0.00050009999) +(0.4848484848 0.0005705243934 -0.00050009999) +(0.4848484848 0.001024837958 -0.00050009999) +(0.4848484848 0.001758019915 -0.00050009999) +(0.4848484848 0.002838575912 -0.00050009999) +(0.4848484848 0.004235474916 -0.00050009999) +(0.4848484848 0.005764525084 -0.00050009999) +(0.4848484848 0.007161424088 -0.00050009999) +(0.4848484848 0.008241980085 -0.00050009999) +(0.4848484848 0.008975162042 -0.00050009999) +(0.4848484848 0.009429475607 -0.00050009999) +(0.4848484848 0.009695336429 -0.00050009999) +(0.4848484848 0.00984573433 -0.00050009999) +(0.4848484848 0.009929188095 -0.00050009999) +(0.4848484848 0.009975 -0.00050009999) +(0.4848484848 0.01 -0.00050009999) +(0.4898989899 0 -0.00050009999) +(0.4898989899 2.5e-05 -0.00050009999) +(0.4898989899 7.08119053e-05 -0.00050009999) +(0.4898989899 0.00015426567 -0.00050009999) +(0.4898989899 0.0003046635713 -0.00050009999) +(0.4898989899 0.0005705243934 -0.00050009999) +(0.4898989899 0.001024837958 -0.00050009999) +(0.4898989899 0.001758019915 -0.00050009999) +(0.4898989899 0.002838575912 -0.00050009999) +(0.4898989899 0.004235474916 -0.00050009999) +(0.4898989899 0.005764525084 -0.00050009999) +(0.4898989899 0.007161424088 -0.00050009999) +(0.4898989899 0.008241980085 -0.00050009999) +(0.4898989899 0.008975162042 -0.00050009999) +(0.4898989899 0.009429475607 -0.00050009999) +(0.4898989899 0.009695336429 -0.00050009999) +(0.4898989899 0.00984573433 -0.00050009999) +(0.4898989899 0.009929188095 -0.00050009999) +(0.4898989899 0.009975 -0.00050009999) +(0.4898989899 0.01 -0.00050009999) +(0.4949494949 0 -0.00050009999) +(0.4949494949 2.5e-05 -0.00050009999) +(0.4949494949 7.08119053e-05 -0.00050009999) +(0.4949494949 0.00015426567 -0.00050009999) +(0.4949494949 0.0003046635713 -0.00050009999) +(0.4949494949 0.0005705243934 -0.00050009999) +(0.4949494949 0.001024837958 -0.00050009999) +(0.4949494949 0.001758019915 -0.00050009999) +(0.4949494949 0.002838575912 -0.00050009999) +(0.4949494949 0.004235474916 -0.00050009999) +(0.4949494949 0.005764525084 -0.00050009999) +(0.4949494949 0.007161424088 -0.00050009999) +(0.4949494949 0.008241980085 -0.00050009999) +(0.4949494949 0.008975162042 -0.00050009999) +(0.4949494949 0.009429475607 -0.00050009999) +(0.4949494949 0.009695336429 -0.00050009999) +(0.4949494949 0.00984573433 -0.00050009999) +(0.4949494949 0.009929188095 -0.00050009999) +(0.4949494949 0.009975 -0.00050009999) +(0.4949494949 0.01 -0.00050009999) +(0.5 0 -0.00050009999) +(0.5 2.5e-05 -0.00050009999) +(0.5 7.08119053e-05 -0.00050009999) +(0.5 0.00015426567 -0.00050009999) +(0.5 0.0003046635713 -0.00050009999) +(0.5 0.0005705243934 -0.00050009999) +(0.5 0.001024837958 -0.00050009999) +(0.5 0.001758019915 -0.00050009999) +(0.5 0.002838575912 -0.00050009999) +(0.5 0.004235474916 -0.00050009999) +(0.5 0.005764525084 -0.00050009999) +(0.5 0.007161424088 -0.00050009999) +(0.5 0.008241980085 -0.00050009999) +(0.5 0.008975162042 -0.00050009999) +(0.5 0.009429475607 -0.00050009999) +(0.5 0.009695336429 -0.00050009999) +(0.5 0.00984573433 -0.00050009999) +(0.5 0.009929188095 -0.00050009999) +(0.5 0.009975 -0.00050009999) +(0.5 0.01 -0.00050009999) +) + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/zoneToPatchName b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/zoneToPatchName new file mode 100755 index 000000000..929cab1d7 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/polyMesh/zoneToPatchName @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class wordList; + location "constant/polyMesh"; + object zoneToPatchName; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +16 +( +unknown +unknown +unknown +unknown +unknown +unknown +unknown +unknown +unknown +unknown +unknown +int_SOLID +WALL_1 +WALL_2 +INLET +OUTLET +) + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/thermophysicalProperties b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/thermophysicalProperties new file mode 100755 index 000000000..814cf9cc2 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/thermophysicalProperties @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + + +thermoType realGasHThermo>>>>; +mixture CO2 1 44.01 73.773e5 304.13 0.22394 467.6 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801E-13 1.4792e-06 116; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1.4792e-06 116; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1.4792e-06 116; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1.4792e-06 116; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 467.6 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801E-13 1e-06 0.7; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1e-06 0.7; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1e-06 0.7; + +//thermoType realGasHThermo>>>>; +//mixture CO2 1 44.01 73.773e5 304.13 0.22394 49436.5054 -626.411601 5.30172524 0.002503813816 -0.0000002127308728 -0.000000000768998878 2.849677801e-13 1e-06 0.7; + + + +// *********************************************************************************************************************** // +// Coefficient +// CO2 --> Name +// 1 +// 44.01 --> Molar Volume +// 77.773e5 --> critical pressure +// 304.13 --> critical temperatur +// 0.22394 --> acentric factor +// 467.6 --> critical density (only for aungier redlich kwong +// 49436.5054 --> 2.849677801e-13 --> 7 heat capacity polynomial coefficent's +// .... --> two coefficent's for sutherland model or for the constTransport model +// *********************************************************************************************************************** // +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/turbulenceProperties b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/turbulenceProperties new file mode 100755 index 000000000..f6753662e --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RASModel; + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/system/controlDict b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/controlDict new file mode 100755 index 000000000..5fd9ef5a4 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/controlDict @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application rhoPisoFoam; + +startFrom latestTime; + +//startTime 0; + +stopAt endTime; + +endTime 0.5; + +deltaT 1e-5; + +writeControl runTime; + +writeInterval 1e-2; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 20; + +adjustTimeStep yes; + +maxCo 0.05; + +maxDeltaT 1e-4; + +runTimeModifiable yes; + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSchemes b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSchemes new file mode 100755 index 000000000..1e9cfe831 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSchemes @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default cellMDLimited Gauss linear 0.333; + grad(p) cellMDLimited Gauss linear 0.333; +} + +divSchemes +{ + default none; + div(phi,U) Gauss limitedLinearV 0.5; + div(phid,p) Gauss limitedLinear 0.5; + div(phiU,p) Gauss limitedLinear 0.5; + div(phi,h) Gauss limitedLinear 0.5; + div(phi,k) Gauss limitedLinear 0.5; + div(phi,epsilon) Gauss limitedLinear 0.5; + div(phi,R) Gauss limitedLinear 0.5; + div(phi,omega) Gauss limitedLinear 0.5;; + div(U) Gauss limitedLinear 0.5; + div((muEff*dev2(grad(U).T()))) Gauss linear; + +} + +laplacianSchemes +{ + default none; + laplacian(muEff,U) Gauss linear corrected; + laplacian(mut,U) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DREff,R) Gauss linear corrected; + laplacian(DomegaEff,omega) Gauss linear corrected; + laplacian((rho*(1|A(U))),p) Gauss linear corrected; + laplacian(alphaEff,h) Gauss linear corrected; + +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSolution b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSolution new file mode 100755 index 000000000..bfb9df381 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/fvSolution @@ -0,0 +1,100 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | | +| \\ / A nd | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + +p +{ + solver GAMG; + tolerance 1e-14; + relTol 0.001; + smoother GaussSeidel; + minIter 4; + //maxIter 100; + cacheAgglomeration true; + nPreSweeps 1; + nPostSweeps 3; + nFinestSweeps 3; + nCellsInCoarsestLevel 20; + agglomerator faceAreaPair; + mergeLevels 1; +} + + + + U + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-14; + relTol 0.001; + } + + rho + { + solver PCG; + preconditioner DIC; + tolerance 1e-10; + relTol 0; + } + + htot + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-14; + relTol 0.001; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-14; + relTol 0.001; + } + + k + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + epsilon + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } +} + +PISO +{ + nNonOrthogonalCorrectors 0; + nCorrectors 6; + momentumPredictor yes; + // transonic true; +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/pipe/system/sampleDict b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/sampleDict new file mode 100755 index 000000000..53ae79690 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/pipe/system/sampleDict @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open Source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object sampleDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +interpolationScheme cellPoint; + +setFormat raw; + +sets +( + leftPatch + { + + type uniform; + axis y; + start (0.49 0 0.0); + end (0.49 0.01 0); + nPoints 100; + } +); + +fields +( + U p T +); + +surfaces +( +); + +// ************************************************************************* //