From b1f65a825461f0ed3fde13fa8bef5b851430b81d Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Thu, 12 Feb 2009 18:34:17 +0000 Subject: [PATCH 01/21] new BC for compressible density --- src/finiteVolume/Make/files | 1 + ...ureCompressibleDensityFvPatchScalarField.C | 155 +++++++++++++++++ ...ureCompressibleDensityFvPatchScalarField.H | 162 ++++++++++++++++++ 3 files changed, 318 insertions(+) create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C create mode 100644 src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index c6a95a976bd..34a4606e088 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -97,6 +97,7 @@ $(derivedFvPatchFields)/fixedFluxBoussinesqBuoyantPressure/fixedFluxBoussinesqBu $(derivedFvPatchFields)/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C $(derivedFvPatchFields)/fixedInternalValueFvPatchField/fixedInternalValueFvPatchFields.C $(derivedFvPatchFields)/fixedNormalSlip/fixedNormalSlipFvPatchFields.C +$(derivedFvPatchFields)/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C $(derivedFvPatchFields)/fluxCorrectedVelocity/fluxCorrectedVelocityFvPatchVectorField.C $(derivedFvPatchFields)/freestream/freestreamFvPatchFields.C $(derivedFvPatchFields)/freestreamPressure/freestreamPressureFvPatchScalarField.C diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C new file mode 100644 index 00000000000..0f01c960b00 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.C @@ -0,0 +1,155 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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 + +\*---------------------------------------------------------------------------*/ + +#include "fixedPressureCompressibleDensityFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "surfaceFields.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +fixedPressureCompressibleDensityFvPatchScalarField:: +fixedPressureCompressibleDensityFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedValueFvPatchField<scalar>(p, iF), + pName_("pNameIsUndefined") +{} + + +fixedPressureCompressibleDensityFvPatchScalarField:: +fixedPressureCompressibleDensityFvPatchScalarField +( + const fixedPressureCompressibleDensityFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + fixedValueFvPatchField<scalar>(ptf, p, iF, mapper), + pName_(ptf.pName_) +{} + + +fixedPressureCompressibleDensityFvPatchScalarField:: +fixedPressureCompressibleDensityFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const dictionary& dict +) +: + fixedValueFvPatchField<scalar>(p, iF, dict), + pName_(dict.lookup("p")) +{} + + +fixedPressureCompressibleDensityFvPatchScalarField:: +fixedPressureCompressibleDensityFvPatchScalarField +( + const fixedPressureCompressibleDensityFvPatchScalarField& ptf +) +: + fixedValueFvPatchField<scalar>(ptf), + pName_(ptf.pName_) +{} + + +fixedPressureCompressibleDensityFvPatchScalarField:: +fixedPressureCompressibleDensityFvPatchScalarField +( + const fixedPressureCompressibleDensityFvPatchScalarField& ptf, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedValueFvPatchField<scalar>(ptf, iF), + pName_(ptf.pName_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void fixedPressureCompressibleDensityFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + const fvPatchField<scalar>& pp = + patch().lookupPatchField<volScalarField, scalar>(pName_); + + const dictionary& thermoProps = + db().lookupObject<IOdictionary>("thermodynamicProperties"); + + const scalar rholSat = + dimensionedScalar(thermoProps.lookup("rholSat")).value(); + + const scalar pSat = + dimensionedScalar(thermoProps.lookup("pSat")).value(); + + const scalar psil = dimensionedScalar(thermoProps.lookup("psil")).value(); + + operator==(rholSat + psil*(pp - pSat)); + + fixedValueFvPatchField<scalar>::updateCoeffs(); +} + + +void fixedPressureCompressibleDensityFvPatchScalarField::write +( + Ostream& os +) const +{ + fvPatchField<scalar>::write(os); + os.writeKeyword("p") << pName_ << token::END_STATEMENT << nl; + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField +( + fvPatchScalarField, + fixedPressureCompressibleDensityFvPatchScalarField +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H new file mode 100644 index 00000000000..fbd2616aab6 --- /dev/null +++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedPressureCompressibleDensity/fixedPressureCompressibleDensityFvPatchScalarField.H @@ -0,0 +1,162 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\/ 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::fixedPressureCompressibleDensityFvPatchScalarField + +Description + Calculate compressible density as a function of pressure and fluid + properties. + + Example of the boundary condition specification: + @verbatim + inlet + { + type fixedPressureCompressibleDensity; + p p; // Name of static pressure field + value uniform 1; // Initial value + } + @endverbatim + +SourceFiles + fixedPressureCompressibleDensityFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef fixedPressureCompressibleDensityFvPatchScalarField_H +#define fixedPressureCompressibleDensityFvPatchScalarField_H + +#include "fixedValueFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class fixedPressureCompressibleDensityFvPatchScalarField Declaration +\*---------------------------------------------------------------------------*/ + +class fixedPressureCompressibleDensityFvPatchScalarField +: + public fixedValueFvPatchScalarField +{ + // Private data + + //- Name of static pressure field + word pName_; + + +public: + + //- Runtime type information + TypeName("fixedPressureCompressibleDensity"); + + + // Constructors + + //- Construct from patch and internal field + fixedPressureCompressibleDensityFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>& + ); + + //- Construct from patch, internal field and dictionary + fixedPressureCompressibleDensityFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const dictionary& + ); + + //- Construct by mapping given + // fixedPressureCompressibleDensityFvPatchScalarField + // onto a new patch + fixedPressureCompressibleDensityFvPatchScalarField + ( + const fixedPressureCompressibleDensityFvPatchScalarField&, + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + fixedPressureCompressibleDensityFvPatchScalarField + ( + const fixedPressureCompressibleDensityFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp<fvPatchScalarField> clone() const + { + return tmp<fvPatchScalarField> + ( + new fixedPressureCompressibleDensityFvPatchScalarField(*this) + ); + } + + //- Construct as copy setting internal field reference + fixedPressureCompressibleDensityFvPatchScalarField + ( + const fixedPressureCompressibleDensityFvPatchScalarField&, + const DimensionedField<scalar, volMesh>& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp<fvPatchScalarField> clone + ( + const DimensionedField<scalar, volMesh>& iF + ) const + { + return tmp<fvPatchScalarField> + ( + new fixedPressureCompressibleDensityFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // -- GitLab From 12fba38d872b2f458b785f6abb6f2a10420ad514 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Thu, 12 Feb 2009 18:59:59 +0000 Subject: [PATCH 02/21] restructuring to reflect solver hierarchy --- .../{ => DNS}/dnsFoam/boxTurb16/0.org/Ek.q | 0 .../{ => DNS}/dnsFoam/boxTurb16/0.org/Ek.xy | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/U | 0 .../dnsFoam/boxTurb16/0.org/enstrophy | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/p | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0/Ek.q | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0/Ek.xy | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0/U | 0 .../{ => DNS}/dnsFoam/boxTurb16/0/enstrophy | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/0/p | 0 .../{ => DNS}/dnsFoam/boxTurb16/Allclean | 0 tutorials/{ => DNS}/dnsFoam/boxTurb16/Allrun | 0 .../dnsFoam/boxTurb16/constant/boxTurbDict | 0 .../boxTurb16/constant/polyMesh/blockMeshDict | 0 .../boxTurb16/constant/polyMesh/boundary | 0 .../boxTurb16/constant/transportProperties | 0 .../boxTurb16/constant/turbulenceProperties | 0 .../dnsFoam/boxTurb16/system/controlDict | 0 .../dnsFoam/boxTurb16/system/fvSchemes | 0 .../dnsFoam/boxTurb16/system/fvSolution | 0 .../rhoTurbTwinParcelFoam/Make/files | 0 .../rhoTurbTwinParcelFoam/Make/options | 0 .../rhoTurbTwinParcelFoam/UEqn.H | 0 .../rhoTurbTwinParcelFoam/createFields.H | 0 .../rhoTurbTwinParcelFoam/hEqn.H | 0 .../rhoTurbTwinParcelFoam/pEqn.H | 0 .../rhoTurbTwinParcelFoam.C | 0 .../rhoTurbTwinParcelFoam/simplifiedSiwek/0/G | 0 .../rhoTurbTwinParcelFoam/simplifiedSiwek/0/T | 0 .../rhoTurbTwinParcelFoam/simplifiedSiwek/0/U | 0 .../simplifiedSiwek/0/epsilon | 0 .../rhoTurbTwinParcelFoam/simplifiedSiwek/0/k | 0 .../rhoTurbTwinParcelFoam/simplifiedSiwek/0/p | 0 .../simplifiedSiwek/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../constant/kinematicCloud1Positions | 0 .../constant/kinematicCloud1Properties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/thermoCloud1Positions | 0 .../constant/thermoCloud1Properties | 0 .../constant/thermophysicalProperties | 0 .../simplifiedSiwek/system/controlDict | 0 .../simplifiedSiwek/system/decomposeParDict | 0 .../simplifiedSiwek/system/fvSchemes | 0 .../simplifiedSiwek/system/fvSolution | 0 .../{ => basic}/laplacianFoam/flange/0/T | 0 .../{ => basic}/laplacianFoam/flange/Allclean | 0 .../{ => basic}/laplacianFoam/flange/Allrun | 0 .../flange/constant/polyMesh/boundary | 0 .../flange/constant/polyMesh/boundary.org | 0 .../flange/constant/transportProperties | 0 .../laplacianFoam/flange/flange.ans | 0 .../laplacianFoam/flange/system/controlDict | 0 .../laplacianFoam/flange/system/fvSchemes | 0 .../laplacianFoam/flange/system/fvSolution | 0 tutorials/{ => basic}/potentialFoam/Allclean | 0 .../potentialFoam/cylinder/0.org/U | 0 .../potentialFoam/cylinder/0.org/p | 0 .../{ => basic}/potentialFoam/cylinder/0/U | 0 .../{ => basic}/potentialFoam/cylinder/0/p | 0 .../{ => basic}/potentialFoam/cylinder/Allrun | 0 .../cylinder/analyticalCylinder/Make/files | 0 .../cylinder/analyticalCylinder}/Make/options | 0 .../analyticalCylinder/analyticalCylinder.C | 0 .../analyticalCylinder/createFields.H | 0 .../cylinder/constant/polyMesh/blockMeshDict | 0 .../cylinder/constant/polyMesh/boundary | 0 .../potentialFoam/cylinder/system/controlDict | 0 .../potentialFoam/cylinder/system/fvSchemes | 0 .../potentialFoam/cylinder/system/fvSolution | 0 .../potentialFoam/pitzDaily/0.org/U | 0 .../potentialFoam/pitzDaily/0.org}/p | 0 .../{ => basic}/potentialFoam/pitzDaily/0/U | 0 .../potentialFoam/pitzDaily}/0/p | 0 .../potentialFoam/pitzDaily/Allrun | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../pitzDaily/constant/polyMesh/boundary | 0 .../pitzDaily/system/controlDict | 0 .../potentialFoam/pitzDaily/system/fvSchemes | 0 .../potentialFoam/pitzDaily/system/fvSolution | 0 .../scalarTransportFoam/pitzDaily/0/T | 0 .../scalarTransportFoam/pitzDaily/0/U | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../pitzDaily/constant/polyMesh/boundary | 0 .../pitzDaily/constant/transportProperties | 0 .../pitzDaily/system/controlDict | 0 .../pitzDaily/system/fvSchemes | 0 .../pitzDaily/system/fvSolution | 0 tutorials/{ => combustion}/XiFoam/Allclean | 0 tutorials/{ => combustion}/XiFoam/Allrun | 0 .../XiFoam/les}/pitzDaily/0/B | 0 .../XiFoam/les}/pitzDaily/0/Su | 0 .../XiFoam/les}/pitzDaily/0/T | 0 .../XiFoam/les}/pitzDaily/0/Tu | 0 .../XiFoam/les}/pitzDaily/0/U | 0 .../XiFoam/les}/pitzDaily/0/Xi | 0 .../XiFoam/les}/pitzDaily/0/b | 0 .../XiFoam/les}/pitzDaily/0/ft | 0 .../XiFoam/les}/pitzDaily/0/k | 0 .../XiFoam/les}/pitzDaily/0/muSgs | 0 .../XiFoam/les}/pitzDaily/0/p | 0 .../les}/pitzDaily/constant/LESProperties | 0 .../pitzDaily/constant/combustionProperties | 0 .../constant/environmentalProperties | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../les}/pitzDaily/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../XiFoam/les}/pitzDaily/system/controlDict | 0 .../XiFoam/les}/pitzDaily/system/fvSchemes | 0 .../XiFoam/les}/pitzDaily/system/fvSolution | 0 .../XiFoam/les}/pitzDaily3D/0/B | 0 .../XiFoam/les}/pitzDaily3D/0/Su | 0 .../XiFoam/les}/pitzDaily3D/0/T | 0 .../XiFoam/les}/pitzDaily3D/0/Tu | 0 .../XiFoam/les}/pitzDaily3D/0/U | 0 .../XiFoam/les}/pitzDaily3D/0/Xi | 0 .../XiFoam/les}/pitzDaily3D/0/b | 0 .../XiFoam/les}/pitzDaily3D/0/ft | 0 .../XiFoam/les}/pitzDaily3D/0/k | 0 .../XiFoam/les}/pitzDaily3D/0/muSgs | 0 .../XiFoam/les}/pitzDaily3D/0/p | 0 .../les}/pitzDaily3D/constant/LESProperties | 0 .../pitzDaily3D/constant/combustionProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../pitzDaily3D/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../les}/pitzDaily3D/system/controlDict | 0 .../XiFoam/les}/pitzDaily3D/system/fvSchemes | 0 .../XiFoam/les}/pitzDaily3D/system/fvSolution | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/Su | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/T | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/Tu | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/U | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/Xi | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/b | 0 .../ras}/moriyoshiHomogeneous/0/epsilon | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/ft | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/fu | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/k | 0 .../XiFoam/ras}/moriyoshiHomogeneous/0/p | 0 .../constant/RASProperties | 0 .../constant/combustionProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../moriyoshiHomogeneous/system/controlDict | 0 .../moriyoshiHomogeneous/system/fvSchemes | 0 .../moriyoshiHomogeneous/system/fvSolution | 0 .../dieselFoam/aachenBomb/0/N2 | 0 .../dieselFoam/aachenBomb/0/O2 | 0 .../dieselFoam/aachenBomb/0/T | 0 .../dieselFoam/aachenBomb/0/U | 0 .../dieselFoam/aachenBomb/0/Ydefault | 0 .../dieselFoam/aachenBomb/0/alphat | 0 .../dieselFoam/aachenBomb/0/epsilon | 0 .../dieselFoam/aachenBomb/0/ft | 0 .../dieselFoam/aachenBomb/0/fu | 0 .../dieselFoam/aachenBomb/0/k | 0 .../dieselFoam/aachenBomb/0/mut | 0 .../dieselFoam/aachenBomb/0/p | 0 .../dieselFoam/aachenBomb/0/spray | 0 .../dieselFoam/aachenBomb/chemkin/chem.inp | 0 .../dieselFoam/aachenBomb/chemkin/chem.inp.1 | 0 .../aachenBomb/chemkin/chem.inp.full | 0 .../dieselFoam/aachenBomb/chemkin/chem.inp_15 | 0 .../dieselFoam/aachenBomb/chemkin/therm.dat | 0 .../aachenBomb/constant/RASProperties | 0 .../aachenBomb/constant/chemistryProperties | 0 .../aachenBomb/constant/combustionProperties | 0 .../constant/environmentalProperties | 0 .../aachenBomb/constant/injectorProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../aachenBomb/constant/polyMesh/boundary | 0 .../aachenBomb/constant/sprayProperties | 0 .../constant/thermophysicalProperties | 0 .../aachenBomb/constant/turbulenceProperties | 0 .../dieselFoam/aachenBomb/system/controlDict | 0 .../dieselFoam/aachenBomb/system/fvSchemes | 0 .../dieselFoam/aachenBomb/system/fvSolution | 0 .../engineFoam/kivaTest/-180/Su.gz | Bin .../engineFoam/kivaTest/-180/T.gz | Bin .../engineFoam/kivaTest/-180/Tu.gz | Bin .../engineFoam/kivaTest/-180/U.gz | Bin .../engineFoam/kivaTest/-180/Xi.gz | Bin .../engineFoam/kivaTest/-180/b.gz | Bin .../engineFoam/kivaTest/-180/epsilon.gz | Bin .../engineFoam/kivaTest/-180/ft.gz | Bin .../engineFoam/kivaTest/-180/fu.gz | Bin .../engineFoam/kivaTest/-180/k.gz | Bin .../engineFoam/kivaTest/-180/p.gz | Bin .../engineFoam/kivaTest/Allclean | 0 .../engineFoam/kivaTest/Allrun | 0 .../kivaTest/constant/RASProperties | 0 .../kivaTest/constant/combustionProperties | 0 .../kivaTest/constant/engineGeometry | 0 .../kivaTest/constant/environmentalProperties | 0 .../kivaTest/constant/polyMesh/boundary | 0 .../kivaTest/constant/polyMesh/boundary.org | 0 .../constant/thermophysicalProperties | 0 .../engineFoam/kivaTest/otape17 | 0 .../engineFoam/kivaTest/system/controlDict | 0 .../kivaTest/system/controlDict.1st | 0 .../kivaTest/system/controlDict.2nd | 0 .../engineFoam/kivaTest/system/fvSchemes | 0 .../engineFoam/kivaTest/system/fvSolution | 0 .../rhoCentralFoam/Allclean | 0 .../{ => compressible}/rhoCentralFoam/Allrun | 0 .../rhoCentralFoam/LadenburgJet60psi/0.org/T | 0 .../rhoCentralFoam/LadenburgJet60psi/0.org/U | 0 .../rhoCentralFoam/LadenburgJet60psi/0.org/p | 0 .../rhoCentralFoam/LadenburgJet60psi/0/T | 0 .../rhoCentralFoam/LadenburgJet60psi/0/U | 0 .../rhoCentralFoam/LadenburgJet60psi/0/p | 0 .../rhoCentralFoam/LadenburgJet60psi/README | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../LadenburgJet60psi/system/controlDict | 0 .../LadenburgJet60psi/system/decomposeParDict | 0 .../LadenburgJet60psi/system/fvSchemes | 0 .../LadenburgJet60psi/system/fvSolution | 0 .../LadenburgJet60psi/system/machines | 0 .../LadenburgJet60psi/system/mapFieldsDict | 0 .../LadenburgJet60psi/system/sampleDict | 0 .../rhoCentralFoam/biconic25-55Run35/0/T | 0 .../rhoCentralFoam/biconic25-55Run35/0/U | 0 .../rhoCentralFoam/biconic25-55Run35/0/p | 0 .../rhoCentralFoam/biconic25-55Run35/README | 0 .../biconic25-55Run35/constant/points.tmp | 0 .../biconic25-55Run35/constant/pointsHeader | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/thermophysicalProperties | 0 .../biconic25-55Run35/constant/wedgeScr | 0 .../biconic25-55Run35/datToFoam/Make/files | 0 .../biconic25-55Run35/datToFoam/Make/options | 0 .../biconic25-55Run35/datToFoam/datToFoam.C | 0 .../biconic25-55Run35/grid256.dat | 0 .../biconic25-55Run35/sampleCone | 0 .../biconic25-55Run35/system/controlDict | 0 .../biconic25-55Run35/system/fvSchemes | 0 .../biconic25-55Run35/system/fvSolution | 0 .../biconic25-55Run35/system/sampleDict | 0 .../rhoCentralFoam/forwardStep/0/Ma | 0 .../rhoCentralFoam/forwardStep/0/T | 0 .../rhoCentralFoam/forwardStep/0/U | 0 .../rhoCentralFoam/forwardStep/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../forwardStep/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../forwardStep/system/controlDict | 0 .../forwardStep/system/fvSchemes | 0 .../forwardStep/system/fvSolution | 0 .../rhoCentralFoam/obliqueShock/0/T | 0 .../rhoCentralFoam/obliqueShock/0/U | 0 .../rhoCentralFoam/obliqueShock/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../obliqueShock/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../obliqueShock/system/controlDict | 0 .../obliqueShock/system/fvSchemes | 0 .../obliqueShock/system/fvSolution | 0 .../rhoCentralFoam/shockTube/0.org/T | 0 .../rhoCentralFoam/shockTube/0.org/U | 0 .../rhoCentralFoam/shockTube/0.org/p | 0 .../rhoCentralFoam/shockTube/0/T | 0 .../rhoCentralFoam/shockTube/0/U | 0 .../rhoCentralFoam/shockTube/0/p | 0 .../shockTube/constant/polyMesh/blockMeshDict | 0 .../shockTube/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../shockTube/system/controlDict | 0 .../rhoCentralFoam/shockTube/system/fvSchemes | 0 .../shockTube/system/fvSolution | 0 .../shockTube/system/sampleDict | 0 .../shockTube/system/setFieldsDict | 0 .../rhoCentralFoam/wedge15Ma5/0/T | 0 .../rhoCentralFoam/wedge15Ma5/0/U | 0 .../rhoCentralFoam/wedge15Ma5/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../wedge15Ma5/constant/polyMesh/boundary | 0 .../constant/thermophysicalProperties | 0 .../wedge15Ma5/system/controlDict | 0 .../wedge15Ma5/system/fvSchemes | 0 .../wedge15Ma5/system/fvSolution | 0 .../rhoPimpleFoam/angledDuct/0/T | 0 .../rhoPimpleFoam/angledDuct/0/U | 0 .../rhoPimpleFoam/angledDuct/0/epsilon | 0 .../rhoPimpleFoam/angledDuct/0/k | 0 .../rhoPimpleFoam/angledDuct/0/p | 0 .../angledDuct/constant/RASProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../angledDuct/constant/polyMesh/boundary | 0 .../angledDuct/constant/porousZones | 0 .../constant/thermophysicalProperties | 0 .../angledDuct/system/controlDict | 0 .../rhoPimpleFoam/angledDuct/system/fvSchemes | 0 .../angledDuct/system/fvSolution | 0 .../rhoPisoFoam}/les/pitzDaily/0/B | 0 .../rhoPisoFoam/les/pitzDaily/0/T | 0 .../rhoPisoFoam}/les/pitzDaily/0/U | 0 .../rhoPisoFoam}/les/pitzDaily/0/k | 0 .../rhoPisoFoam/les/pitzDaily/0/muSgs | 0 .../rhoPisoFoam/les/pitzDaily/0/muTilda | 0 .../rhoPisoFoam/les/pitzDaily/0/p | 0 .../les/pitzDaily/constant/LESProperties | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../les/pitzDaily/constant/polyMesh/boundary | 0 .../constant}/thermophysicalProperties | 0 .../les/pitzDaily/system/controlDict | 0 .../les/pitzDaily/system/fvSchemes | 0 .../les/pitzDaily/system/fvSolution | 0 .../rhoPisoFoam}/ras/cavity/0/R | 0 .../rhoPisoFoam/ras/cavity/0/T | 0 .../rhoPisoFoam/ras/cavity/0/U | 0 .../rhoPisoFoam/ras/cavity/0/epsilon | 0 .../rhoPisoFoam/ras/cavity/0/k | 0 .../rhoPisoFoam/ras/cavity/0/omega | 0 .../rhoPisoFoam/ras/cavity/0/p | 0 .../ras/cavity/constant/RASProperties | 0 .../cavity/constant/polyMesh/blockMeshDict | 0 .../ras/cavity/constant/polyMesh/boundary | 0 .../cavity}/constant/thermophysicalProperties | 0 .../rhoPisoFoam/ras/cavity/system/controlDict | 0 .../rhoPisoFoam/ras/cavity/system/fvSchemes | 0 .../rhoPisoFoam/ras/cavity/system/fvSolution | 0 .../rhoPorousSimpleFoam/angledDuctExplicit/0 | 0 .../angledDuctExplicit/constant | 0 .../angledDuctExplicit/system/controlDict | 0 .../angledDuctExplicit/system/fvSchemes | 0 .../angledDuctExplicit/system/fvSolution | 0 .../angledDuctImplicit/0/T | 0 .../angledDuctImplicit/0/U | 0 .../angledDuctImplicit/0/epsilon | 0 .../angledDuctImplicit/0/k | 0 .../angledDuctImplicit/0/p | 0 .../angledDuctImplicit/constant/RASProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../angledDuctImplicit/constant/porousZones | 0 .../constant/thermophysicalProperties | 0 .../angledDuctImplicit/system/controlDict | 0 .../angledDuctImplicit/system/fvSchemes | 0 .../angledDuctImplicit/system/fvSolution | 0 .../rhoSonicFoam/forwardStep/0/T | 0 .../rhoSonicFoam/forwardStep/0/U | 0 .../rhoSonicFoam/forwardStep/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../forwardStep/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../forwardStep/system/controlDict | 0 .../rhoSonicFoam/forwardStep/system/fvSchemes | 0 .../forwardStep/system/fvSolution | 0 .../rhoSonicFoam/shockTube/0.org/T | 0 .../rhoSonicFoam/shockTube/0.org/U | 0 .../rhoSonicFoam/shockTube/0.org/magU | 0 .../rhoSonicFoam/shockTube/0.org/p | 0 .../rhoSonicFoam/shockTube/0/T | 0 .../rhoSonicFoam/shockTube/0/U | 0 .../rhoSonicFoam/shockTube/0/magU | 0 .../rhoSonicFoam/shockTube/0/p | 0 .../rhoSonicFoam/shockTube/Allrun | 0 .../shockTube/constant/initProperties | 0 .../shockTube/constant/polyMesh/blockMeshDict | 0 .../shockTube/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../rhoSonicFoam/shockTube/system/controlDict | 0 .../rhoSonicFoam/shockTube/system/fvSchemes | 0 .../rhoSonicFoam/shockTube/system/fvSolution | 0 .../rhoSonicFoam/shockTube/system/sampleDict | 0 .../shockTube/system/setFieldsDict | 0 .../rhopSonicFoam/shockTube/0.org/T | 0 .../rhopSonicFoam/shockTube/0.org/U | 0 .../rhopSonicFoam/shockTube/0.org/p | 0 .../rhopSonicFoam/shockTube/0/T | 0 .../rhopSonicFoam/shockTube/0/U | 0 .../rhopSonicFoam/shockTube/0/p | 0 .../rhopSonicFoam/shockTube/Allclean | 0 .../rhopSonicFoam/shockTube/Allrun | 0 .../shockTube/constant/polyMesh/blockMeshDict | 0 .../shockTube/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../shockTube/system/controlDict | 0 .../rhopSonicFoam/shockTube/system/fvSchemes | 0 .../rhopSonicFoam/shockTube/system/fvSolution | 0 .../shockTube/system/setFieldsDict | 0 .../rhopSonicFoam/wedge15Ma5/0/T | 0 .../rhopSonicFoam/wedge15Ma5/0/U | 0 .../rhopSonicFoam/wedge15Ma5/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../wedge15Ma5/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../wedge15Ma5/system/controlDict | 0 .../rhopSonicFoam/wedge15Ma5/system/fvSchemes | 0 .../wedge15Ma5/system/fvSolution | 0 .../sonicFoam/laminar}/forwardStep/0/T | 0 .../sonicFoam/laminar}/forwardStep/0/U | 0 .../sonicFoam/laminar}/forwardStep/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../forwardStep/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../forwardStep/constant/transportProperties | 0 .../laminar}/forwardStep/system/controlDict | 0 .../laminar}/forwardStep/system/fvSchemes | 0 .../laminar}/forwardStep/system/fvSolution | 0 .../sonicFoam/laminar}/shockTube/0.org/T | 0 .../sonicFoam/laminar}/shockTube/0.org/U | 0 .../sonicFoam/laminar}/shockTube/0.org/magU | 0 .../sonicFoam/laminar}/shockTube/0.org/p | 0 .../sonicFoam/laminar}/shockTube/0/T | 0 .../sonicFoam/laminar}/shockTube/0/U | 0 .../sonicFoam/laminar}/shockTube/0/magU | 0 .../sonicFoam/laminar}/shockTube/0/p | 0 .../sonicFoam/laminar}/shockTube/Allclean | 0 .../sonicFoam/laminar}/shockTube/Allrun | 0 .../shockTube/constant/polyMesh/blockMeshDict | 0 .../shockTube/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../shockTube/constant/transportProperties | 0 .../laminar}/shockTube/system/controlDict | 0 .../laminar}/shockTube/system/fvSchemes | 0 .../laminar}/shockTube/system/fvSolution | 0 .../laminar}/shockTube/system/sampleDict | 0 .../laminar}/shockTube/system/setFieldsDict | 0 .../sonicFoam/ras}/Allrun | 0 .../sonicFoam/ras}/Running_Notes | 0 .../sonicFoam/ras}/nacaAirfoil/0/T | 0 .../sonicFoam/ras}/nacaAirfoil/0/U | 0 .../sonicFoam/ras}/nacaAirfoil/0/epsilon | 0 .../sonicFoam/ras}/nacaAirfoil/0/k | 0 .../sonicFoam/ras}/nacaAirfoil/0/p | 0 .../ras}/nacaAirfoil/constant/RASProperties | 0 .../nacaAirfoil/constant/polyMesh/boundary | 0 .../constant/polyMesh/boundary.org | 0 .../constant/thermophysicalProperties | 0 .../nacaAirfoil/prostar/nacaAirfoil.bnd.gz | Bin .../nacaAirfoil/prostar/nacaAirfoil.cel.gz | Bin .../nacaAirfoil/prostar/nacaAirfoil.vrt.gz | Bin .../ras}/nacaAirfoil/system/controlDict | 0 .../ras}/nacaAirfoil/system/fvSchemes | 0 .../ras}/nacaAirfoil/system/fvSolution | 0 .../sonicFoam/ras}/prism/0/T | 0 .../sonicFoam/ras}/prism/0/U | 0 .../sonicFoam/ras}/prism/0/epsilon | 0 .../sonicFoam/ras}/prism/0/k | 0 .../sonicFoam/ras}/prism/0/p | 0 .../ras}/prism/constant/RASProperties | 0 .../prism/constant/polyMesh/blockMeshDict | 0 .../ras}/prism/constant/polyMesh/boundary | 0 .../prism/constant/thermophysicalProperties | 0 .../sonicFoam/ras}/prism/system/controlDict | 0 .../sonicFoam/ras}/prism/system/fvSchemes | 0 .../sonicFoam/ras}/prism/system/fvSolution | 0 .../sonicLiquidFoam/Allclean | 0 .../{ => compressible}/sonicLiquidFoam/Allrun | 0 .../sonicLiquidFoam/decompressionTank/0/U | 0 .../sonicLiquidFoam/decompressionTank/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../constant/transportProperties | 0 .../decompressionTank/system/controlDict | 0 .../decompressionTank/system/fvSchemes | 0 .../decompressionTank/system/fvSolution | 0 .../electrostaticFoam/chargedWire/0/phi | 0 .../electrostaticFoam/chargedWire/0/rho | 0 .../chargedWire/constant/physicalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../chargedWire/constant/polyMesh/boundary | 0 .../chargedWire/system/controlDict | 0 .../chargedWire/system/fvSchemes | 0 .../chargedWire/system/fvSolution | 0 .../{ => electromagnetics}/mhdFoam/Allclean | 0 .../{ => electromagnetics}/mhdFoam/Allrun | 0 .../mhdFoam/hartmann/0/B | 0 .../mhdFoam/hartmann/0/U | 0 .../mhdFoam/hartmann/0/p | 0 .../mhdFoam/hartmann/0/pB | 0 .../hartmann/constant/polyMesh/blockMeshDict | 0 .../hartmann/constant/polyMesh/boundary | 0 .../hartmann/constant/transportProperties | 0 .../mhdFoam/hartmann/system/controlDict | 0 .../mhdFoam/hartmann/system/fvSchemes | 0 .../mhdFoam/hartmann/system/fvSolution | 0 .../mhdFoam/hartmann/system/sampleDict | 0 .../financialFoam/europeanCall/0/V | 0 .../europeanCall/constant/financialProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../europeanCall/constant/polyMesh/boundary | 0 .../europeanCall/system/controlDict | 0 .../europeanCall/system/fvSchemes | 0 .../europeanCall/system/fvSolution | 0 .../buoyantFoam/hotRoom/0/T | 0 .../buoyantFoam/hotRoom/0/T.org | 0 .../buoyantFoam/hotRoom/0/U | 0 .../buoyantFoam/hotRoom/0/epsilon | 0 .../buoyantFoam/hotRoom/0/k | 0 .../buoyantFoam/hotRoom/0/p | 0 .../buoyantFoam/hotRoom/0/pd | 0 .../buoyantFoam/hotRoom/Allclean | 0 .../buoyantFoam/hotRoom/Allrun | 0 .../hotRoom/constant/RASProperties | 0 .../hotRoom/constant/environmentalProperties | 0 .../hotRoom/constant/polyMesh/blockMeshDict | 0 .../hotRoom/constant/polyMesh/boundary | 0 .../hotRoom/constant/thermophysicalProperties | 0 .../hotRoom/constant/turbulenceProperties | 0 .../buoyantFoam/hotRoom/setHotRoom/Make/files | 0 .../hotRoom/setHotRoom}/Make/options | 0 .../hotRoom/setHotRoom/createFields.H | 0 .../hotRoom/setHotRoom/setHotRoom.C | 0 .../buoyantFoam/hotRoom/system/controlDict | 0 .../buoyantFoam/hotRoom/system/fvSchemes | 0 .../buoyantFoam/hotRoom/system/fvSolution | 0 .../buoyantSimpleFoam/hotRoom/0/T | 0 .../buoyantSimpleFoam/hotRoom/0/T.org | 0 .../buoyantSimpleFoam/hotRoom/0/U | 0 .../buoyantSimpleFoam/hotRoom/0/alphat | 0 .../buoyantSimpleFoam/hotRoom/0/epsilon | 0 .../buoyantSimpleFoam/hotRoom/0/epsilon.old | 0 .../buoyantSimpleFoam/hotRoom/0/k | 0 .../buoyantSimpleFoam/hotRoom/0/k.old | 0 .../buoyantSimpleFoam/hotRoom/0/mut | 0 .../buoyantSimpleFoam/hotRoom/0/p | 0 .../buoyantSimpleFoam/hotRoom/0/pd | 0 .../buoyantSimpleFoam/hotRoom/Allclean | 0 .../buoyantSimpleFoam/hotRoom/Allrun | 0 .../hotRoom/constant/RASProperties | 0 .../hotRoom/constant}/environmentalProperties | 0 .../hotRoom/constant/polyMesh/blockMeshDict | 0 .../hotRoom/constant/polyMesh/boundary | 0 .../hotRoom/constant/thermophysicalProperties | 0 .../hotRoom/system/controlDict | 0 .../hotRoom/system/fvSchemes | 0 .../hotRoom/system/fvSolution | 0 .../hotRadiationRoom/0/G | 0 .../hotRadiationRoom/0/T | 0 .../hotRadiationRoom/0/U | 0 .../hotRadiationRoom/0/epsilon | 0 .../hotRadiationRoom/0/k | 0 .../hotRadiationRoom/0/p | 0 .../hotRadiationRoom/0/pd | 0 .../hotRadiationRoom/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/radiationProperties | 0 .../constant/thermophysicalProperties | 0 .../hotRadiationRoom/system/controlDict | 0 .../hotRadiationRoom/system/fvSchemes | 0 .../hotRadiationRoom/system/fvSolution | 0 .../chtMultiRegionFoam/multiRegionHeater/0/K | 0 .../chtMultiRegionFoam/multiRegionHeater/0/T | 0 .../chtMultiRegionFoam/multiRegionHeater/0/U | 0 .../chtMultiRegionFoam/multiRegionHeater/0/cp | 0 .../multiRegionHeater/0/epsilon | 0 .../chtMultiRegionFoam/multiRegionHeater/0/k | 0 .../chtMultiRegionFoam/multiRegionHeater/0/p | 0 .../chtMultiRegionFoam/multiRegionHeater/0/pd | 0 .../multiRegionHeater/0/rho | 0 .../multiRegionHeater/Allclean | 0 .../multiRegionHeater/Allrun | 0 .../constant/bottomAir/RASProperties | 0 .../bottomAir}/environmentalProperties | 0 .../bottomAir}/thermophysicalProperties | 0 .../constant/bottomAir}/turbulenceProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/regionProperties | 0 .../constant/topAir/RASProperties | 0 .../constant/topAir/environmentalProperties | 0 .../constant/topAir/thermophysicalProperties | 0 .../multiRegionHeater/makeCellSets.setSet | 0 .../system/bottomAir/changeDictionaryDict | 0 .../system/bottomAir/fvSchemes | 0 .../system/bottomAir/fvSolution | 0 .../multiRegionHeater/system/controlDict | 0 .../system/heater/changeDictionaryDict | 0 .../multiRegionHeater/system/heater/fvSchemes | 0 .../system/heater/fvSolution | 0 .../system/leftSolid/changeDictionaryDict | 0 .../system/leftSolid/fvSchemes | 0 .../system/leftSolid/fvSolution | 0 .../system/rightSolid/changeDictionaryDict | 0 .../system/rightSolid/fvSchemes | 0 .../system/rightSolid/fvSolution | 0 .../system/topAir/changeDictionaryDict | 0 .../multiRegionHeater/system/topAir/fvSchemes | 0 .../system/topAir/fvSolution | 0 .../MRFSimpleFoam/MRFSimpleFoam.C | 0 .../MRFSimpleFoam/MRFSimpleFoam/Make/files | 0 .../MRFSimpleFoam/MRFSimpleFoam/Make/options | 0 .../MRFSimpleFoam/createFields.H | 0 .../MRFSimpleFoam/mixerVessel2D/0/U | 0 .../MRFSimpleFoam/mixerVessel2D/0/epsilon | 0 .../MRFSimpleFoam/mixerVessel2D/0/k | 0 .../MRFSimpleFoam/mixerVessel2D/0/p | 0 .../MRFSimpleFoam/mixerVessel2D/Allrun | 0 .../mixerVessel2D/constant/MRFZones | 0 .../mixerVessel2D/constant/RASProperties | 0 .../mixerVessel2D/constant/dynamicMeshDict | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../mixerVessel2D/constant/polyMesh/boundary | 0 .../constant/polyMesh/sets/rotor | 0 .../constant/polyMesh/sets/rotor_old | 0 .../constant/transportProperties | 0 .../MRFSimpleFoam/mixerVessel2D/makeMesh | 0 .../mixerVessel2D/system/cellSetDict | 0 .../mixerVessel2D/system/controlDict | 0 .../mixerVessel2D/system/faceSetDict | 0 .../system/faceSetDict_noBoundaryFaces | 0 .../system/faceSetDict_rotorFaces | 0 .../mixerVessel2D/system/fvSchemes | 0 .../mixerVessel2D/system/fvSolution | 0 .../boundaryFoam/boundaryLaunderSharma/0/R | 0 .../boundaryFoam/boundaryLaunderSharma/0/U | 0 .../boundaryLaunderSharma/0/epsilon | 0 .../boundaryFoam/boundaryLaunderSharma/0/k | 0 .../boundaryLaunderSharma/0/nu.xy | 0 .../boundaryLaunderSharma/0/nuTilda | 0 .../constant/RASProperties | 0 .../constant/gammaDot.xy | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../boundaryLaunderSharma/system/controlDict | 0 .../boundaryLaunderSharma/system/fvSchemes | 0 .../boundaryLaunderSharma/system/fvSolution | 0 .../boundaryFoam/boundaryWallFunctions/0/R | 0 .../boundaryFoam/boundaryWallFunctions/0/U | 0 .../boundaryWallFunctions/0/epsilon | 0 .../boundaryFoam/boundaryWallFunctions/0/k | 0 .../boundaryWallFunctions/0/nu.xy | 0 .../boundaryWallFunctions/0/nuTilda | 0 .../constant/RASProperties | 0 .../constant/gammaDot.xy | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../boundaryWallFunctions/system/controlDict | 0 .../boundaryWallFunctions/system/fvSchemes | 0 .../boundaryWallFunctions/system/fvSolution | 0 .../channelFoam/channel395/0.org/B | 0 .../channelFoam/channel395/0.org/U | 0 .../channelFoam/channel395/0.org/k | 0 .../channelFoam/channel395/0.org/nuSgs | 0 .../channelFoam/channel395/0.org/nuTilda | 0 .../channelFoam/channel395/0.org/p | 0 .../channelFoam/channel395/0/B.gz | Bin .../channelFoam/channel395/0/U.gz | Bin .../channelFoam/channel395/0/k.gz | Bin .../channelFoam/channel395/0/nuSgs.gz | Bin .../channelFoam/channel395/0/nuTilda.gz | Bin .../channelFoam/channel395/0/p.gz | Bin .../channelFoam/channel395/Allrun | 0 .../channel395/constant/LESProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../channel395/constant/polyMesh/boundary | 0 .../channel395/constant/postChannelDict | 0 .../channel395/constant/transportProperties | 0 .../channelFoam/channel395/system/controlDict | 0 .../channelFoam/channel395/system/fvSchemes | 0 .../channelFoam/channel395/system/fvSolution | 0 .../icoDyMFoam/movingCone/0/U | 0 .../icoDyMFoam/movingCone/0/cellMotionUx | 0 .../icoDyMFoam/movingCone/0/p | 0 .../icoDyMFoam/movingCone/0/pointMotionUx | 0 .../movingCone/constant/dynamicMeshDict | 0 .../constant/polyMesh/blockMeshDict | 0 .../movingCone/constant/polyMesh/boundary | 0 .../movingCone/constant/transportProperties | 0 .../icoDyMFoam/movingCone/system/controlDict | 0 .../icoDyMFoam/movingCone/system/fvSchemes | 0 .../icoDyMFoam/movingCone/system/fvSolution | 0 .../movingCone/system/tetFemSolution | 0 .../{ => incompressible}/icoFoam/Allclean | 0 tutorials/{ => incompressible}/icoFoam/Allrun | 0 .../{ => incompressible}/icoFoam/cavity/0/U | 0 .../{ => incompressible}/icoFoam/cavity/0/p | 0 .../cavity/constant/polyMesh/blockMeshDict | 0 .../icoFoam/cavity/constant/polyMesh/boundary | 0 .../cavity/constant/transportProperties | 0 .../icoFoam/cavity/system/controlDict | 0 .../icoFoam/cavity/system/fvSchemes | 0 .../icoFoam/cavity/system/fvSolution | 0 .../icoFoam/cavityClipped/0/U | 0 .../icoFoam/cavityClipped/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../cavityClipped/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../icoFoam/cavityClipped/system/controlDict | 0 .../icoFoam/cavityClipped/system/fvSchemes | 0 .../icoFoam/cavityClipped/system/fvSolution | 0 .../cavityClipped/system/mapFieldsDict | 0 .../icoFoam/cavityGrade/0/U | 0 .../icoFoam/cavityGrade/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../cavityGrade/constant/polyMesh/boundary | 0 .../cavityGrade/constant/transportProperties | 0 .../icoFoam/cavityGrade/system/controlDict | 0 .../icoFoam/cavityGrade/system/fvSchemes | 0 .../icoFoam/cavityGrade/system/fvSolution | 0 .../icoFoam/cavityGrade/system/mapFieldsDict | 0 .../{ => incompressible}/icoFoam/elbow/0/U | 0 .../{ => incompressible}/icoFoam/elbow/0/p | 0 .../icoFoam/elbow/constant/polyMesh/boundary | 0 .../elbow/constant/polyMesh/boundary.org | 0 .../elbow/constant/transportProperties | 0 .../icoFoam/elbow/elbow.msh | 0 .../icoFoam/elbow/system/controlDict | 0 .../icoFoam/elbow/system/foamDataToFluentDict | 0 .../icoFoam/elbow/system/fvSchemes | 0 .../icoFoam/elbow/system/fvSolution | 0 .../icoFoam/resetFixedWallsScr | 0 .../nonNewtonianIcoFoam/offsetCylinder/0/U | 0 .../nonNewtonianIcoFoam/offsetCylinder/0/p | 0 .../constant/polyMesh/blockMeshDict | 0 .../offsetCylinder/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../offsetCylinder/system/controlDict | 0 .../offsetCylinder/system/fvSchemes | 0 .../offsetCylinder/system/fvSolution | 0 .../pimpleFoam/t-junction/0/U | 0 .../pimpleFoam/t-junction/0/epsilon | 0 .../pimpleFoam/t-junction/0/k | 0 .../pimpleFoam/t-junction/0/nuTilda | 0 .../pimpleFoam/t-junction/0/p | 0 .../pimpleFoam/t-junction/README.txt | 0 .../t-junction/constant/RASProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../t-junction/constant/polyMesh/boundary | 0 .../t-junction/constant/transportProperties | 0 .../pimpleFoam/t-junction/system/controlDict | 0 .../pimpleFoam/t-junction/system/fvSchemes | 0 .../pimpleFoam/t-junction/system/fvSolution | 0 .../{ => incompressible}/pisoFoam/Allrun | 0 .../pisoFoam}/les/pitzDaily/0/B | 0 .../pisoFoam}/les/pitzDaily/0/U | 0 .../pisoFoam}/les/pitzDaily/0/k | 0 .../pisoFoam/les/pitzDaily/0/nuSgs | 0 .../pisoFoam/les/pitzDaily/0/nuTilda | 0 .../pisoFoam/les/pitzDaily/0}/p | 0 .../les/pitzDaily/constant/LESProperties | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../les/pitzDaily/constant/polyMesh/boundary | 0 .../pitzDaily/constant/transportProperties | 0 .../pitzDaily}/constant/turbulenceProperties | 0 .../pisoFoam/les/pitzDaily/system/controlDict | 0 .../pisoFoam/les/pitzDaily/system/fvSchemes | 0 .../pisoFoam/les/pitzDaily/system/fvSolution | 0 .../pisoFoam/les/pitzDailyDirectMapped/0/B | 0 .../pisoFoam/les/pitzDailyDirectMapped/0/U | 0 .../pisoFoam/les/pitzDailyDirectMapped/0/k | 0 .../les/pitzDailyDirectMapped/0/nuSgs | 0 .../les/pitzDailyDirectMapped/0/nuTilda | 0 .../pisoFoam/les/pitzDailyDirectMapped}/0/p | 0 .../pisoFoam/les/pitzDailyDirectMapped/Allrun | 0 .../constant/LESProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../constant/turbulenceProperties | 0 .../system/changeDictionaryDict | 0 .../pitzDailyDirectMapped/system/controlDict | 0 .../system/decomposeParDict | 0 .../pitzDailyDirectMapped/system/fvSchemes | 0 .../pitzDailyDirectMapped/system/fvSolution | 0 .../pisoFoam}/ras/cavity/0/R | 0 .../pisoFoam/ras/cavity/0/U | 0 .../pisoFoam/ras/cavity/0/epsilon | 0 .../pisoFoam/ras/cavity/0/k | 0 .../pisoFoam/ras/cavity/0/nuTilda | 0 .../pisoFoam/ras/cavity/0/nut | 0 .../pisoFoam/ras/cavity/0/p | 0 .../ras/cavity/constant/RASProperties | 0 .../cavity/constant/polyMesh/blockMeshDict | 0 .../ras/cavity/constant/polyMesh/boundary | 0 .../ras/cavity/constant/transportProperties | 0 .../ras/cavity/constant}/turbulenceProperties | 0 .../pisoFoam/ras/cavity/system/controlDict | 0 .../pisoFoam/ras/cavity/system/fvSchemes | 0 .../pisoFoam/ras/cavity/system/fvSolution | 0 .../simpleFoam/airFoil2D/0/U | 0 .../simpleFoam/airFoil2D/0/nuTilda | 0 .../simpleFoam/airFoil2D/0/nut | 0 .../simpleFoam/airFoil2D/0/p | 0 .../simpleFoam/airFoil2D}/Allclean | 0 .../airFoil2D/constant/RASProperties | 0 .../airFoil2D/constant/polyMesh/boundary | 0 .../airFoil2D/constant/polyMesh/cells | 0 .../airFoil2D/constant/polyMesh/faces | 0 .../airFoil2D/constant/polyMesh/neighbour | 0 .../airFoil2D/constant/polyMesh/owner | 0 .../airFoil2D/constant/polyMesh/points | 0 .../airFoil2D/constant/transportProperties | 0 .../airFoil2D/constant/turbulenceProperties | 0 .../simpleFoam/airFoil2D/system/controlDict | 0 .../simpleFoam/airFoil2D/system/fvSchemes | 0 .../simpleFoam/airFoil2D/system/fvSolution | 0 .../simpleFoam/pitzDaily/0/R | 0 .../simpleFoam/pitzDaily/0/U | 0 .../simpleFoam/pitzDaily/0/epsilon | 0 .../simpleFoam/pitzDaily/0/k | 0 .../simpleFoam/pitzDaily/0/nuTilda | 0 .../simpleFoam/pitzDaily/0/p | 0 .../pitzDaily/constant/RASProperties | 0 .../pitzDaily/constant/polyMesh/blockMeshDict | 0 .../pitzDaily/constant/transportProperties | 0 .../simpleFoam/pitzDaily/system/controlDict | 0 .../simpleFoam/pitzDaily/system/fvSchemes | 0 .../simpleFoam/pitzDaily/system/fvSolution | 0 .../simpleFoam/pitzDailyExptInlet/0/R | 0 .../simpleFoam/pitzDailyExptInlet/0/U | 0 .../simpleFoam/pitzDailyExptInlet/0/epsilon | 0 .../simpleFoam/pitzDailyExptInlet/0/k | 0 .../simpleFoam/pitzDailyExptInlet/0/nuTilda | 0 .../simpleFoam/pitzDailyExptInlet/0/p | 0 .../pitzDailyExptInlet/constant/RASProperties | 0 .../constant/boundaryData/inlet/0/U | 0 .../constant/boundaryData/inlet/0/epsilon | 0 .../constant/boundaryData/inlet/0/k | 0 .../constant/boundaryData/inlet/points | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../pitzDailyExptInlet/system/controlDict | 0 .../system/decomposeParDict | 0 .../pitzDailyExptInlet/system/fvSchemes | 0 .../pitzDailyExptInlet/system/fvSolution | 0 .../simpleSRFFoam/mixer/0/Urel | 0 .../simpleSRFFoam/mixer/0/epsilon | 0 .../simpleSRFFoam/mixer/0/k | 0 .../simpleSRFFoam/mixer/0/omega | 0 .../simpleSRFFoam/mixer/0/p | 0 .../mixer/constant/RASProperties | 0 .../mixer/constant/SRFProperties | 0 .../mixer/constant/polyMesh/blockMeshDict | 0 .../mixer/constant/transportProperties | 0 .../simpleSRFFoam/mixer/system/controlDict | 0 .../simpleSRFFoam/mixer/system/fvSchemes | 0 .../simpleSRFFoam/mixer/system/fvSolution | 0 .../simpleSRFFoam/simpleSRFFoam/Make/files | 0 .../simpleSRFFoam/simpleSRFFoam/Make/options | 0 .../simpleSRFFoam/createFields.H | 0 .../simpleSRFFoam/simpleSRFFoam.C | 0 .../constant/polyMesh/blockMeshDict | 0 .../iglooWithFridges/system/controlDict | 0 .../iglooWithFridges/system/decomposeParDict | 0 .../iglooWithFridges/system/fvSchemes | 0 .../iglooWithFridges/system/fvSolution | 0 .../iglooWithFridges/system/snappyHexMeshDict | 0 .../motorBike/constant/polyMesh/blockMeshDict | 0 .../constant/triSurface/motorBike.stl | Bin .../motorBike/system/controlDict | 0 .../motorBike/system/decomposeParDict | 0 .../snappyHexMesh/motorBike/system/fvSchemes | 0 .../snappyHexMesh/motorBike/system/fvSolution | 0 .../motorBike/system/snappyHexMeshDict | 0 .../gnemdFoam/Allclean | 0 .../{ => molecularDynamics}/gnemdFoam/Allrun | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constrictedChannel/system/controlDict | 0 .../constrictedChannel/system/fvSchemes | 0 .../constrictedChannel/system/fvSolution | 0 .../constrictedChannel/system/mdSolution | 0 .../constrictedChannel/system/molConfigDict | 0 .../constrictedChannel/system/potentialDict | 0 .../constant/polyMesh/blockMeshDict | 0 .../nanoNozzle/constant/polyMesh/boundary | 0 .../gnemdFoam/nanoNozzle/system/controlDict | 0 .../nanoNozzle/system/decomposeParDict | 0 .../gnemdFoam/nanoNozzle/system/fvSchemes | 0 .../gnemdFoam/nanoNozzle/system/fvSolution | 0 .../gnemdFoam/nanoNozzle/system/mdSolution | 0 .../gnemdFoam/nanoNozzle/system/molConfigDict | 0 .../gnemdFoam/nanoNozzle/system/potentialDict | 0 .../mdEquilibrationFoam/Allclean | 0 .../mdEquilibrationFoam/Allrun | 0 .../constant/polyMesh/blockMeshDict | 0 .../periodicCube/constant/polyMesh/boundary | 0 .../periodicCube/system/controlDict | 0 .../periodicCube/system/fvSchemes | 0 .../periodicCube/system/fvSolution | 0 .../periodicCube/system/mdEquilibrationDict | 0 .../periodicCube/system/mdSolution | 0 .../periodicCube/system/molConfigDict | 0 .../periodicCube/system/potentialDict | 0 .../bubbleFoam/bubbleColumn/0.org/Ua | 0 .../bubbleFoam/bubbleColumn/0.org/Ub | 0 .../bubbleFoam/bubbleColumn/0.org/alpha | 0 .../bubbleFoam/bubbleColumn/0.org/epsilon | 0 .../bubbleFoam/bubbleColumn/0.org/k | 0 .../bubbleFoam/bubbleColumn/0.org/p | 0 .../bubbleFoam/bubbleColumn/0/Ua | 0 .../bubbleFoam/bubbleColumn/0/Ub | 0 .../bubbleFoam/bubbleColumn/0/alpha | 0 .../bubbleFoam/bubbleColumn/0/epsilon | 0 .../bubbleFoam/bubbleColumn/0/k | 0 .../bubbleFoam/bubbleColumn/0/p | 0 .../bubbleColumn/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../bubbleColumn/constant/polyMesh/boundary | 0 .../bubbleColumn/constant/transportProperties | 0 .../bubbleColumn/system/controlDict | 0 .../bubbleFoam/bubbleColumn/system/fvSchemes | 0 .../bubbleFoam/bubbleColumn/system/fvSolution | 0 .../cavitatingFoam/les/Allclean | 0 .../cavitatingFoam/les/Allrun | 0 .../cavitatingFoam/les/throttle/0/U | 0 .../cavitatingFoam/les/throttle/0/gamma | 0 .../cavitatingFoam/les/throttle/0/k | 0 .../cavitatingFoam/les/throttle/0/nuSgs | 0 .../cavitatingFoam/les/throttle/0/p | 0 .../cavitatingFoam/les/throttle/0/rho | 0 .../les/throttle/constant/LESProperties | 0 .../throttle/constant/polyMesh/blockMeshDict | 0 .../les/throttle/constant/polyMesh/boundary | 0 .../throttle/constant/thermodynamicProperties | 0 .../les/throttle/constant/transportProperties | 0 .../throttle}/constant/turbulenceProperties | 0 .../les/throttle/system/cellSetDict.1 | 0 .../les/throttle/system/cellSetDict.2 | 0 .../les/throttle/system/cellSetDict.3 | 0 .../les/throttle/system/controlDict | 0 .../les/throttle/system/fvSchemes | 0 .../les/throttle/system/fvSolution | 0 .../les/throttle/system/refineMeshDict | 0 .../cavitatingFoam/les/throttle3D/0.org/U | 0 .../cavitatingFoam/les/throttle3D/0.org/gamma | 0 .../cavitatingFoam/les/throttle3D/0.org/k | 0 .../cavitatingFoam/les/throttle3D/0.org/nuSgs | 0 .../cavitatingFoam/les/throttle3D/0.org/p | 0 .../cavitatingFoam/les/throttle3D/0.org/rho | 0 .../cavitatingFoam/les/throttle3D/0/U | 0 .../cavitatingFoam/les/throttle3D/0/gamma | 0 .../cavitatingFoam/les/throttle3D/0/k | 0 .../cavitatingFoam/les/throttle3D/0/nuSgs | 0 .../cavitatingFoam/les/throttle3D/0/p | 0 .../cavitatingFoam/les/throttle3D/0/rho | 0 .../les/throttle3D/constant/LESProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../les/throttle3D/constant/polyMesh/boundary | 0 .../constant/thermodynamicProperties | 0 .../throttle3D/constant/transportProperties | 0 .../les/throttle3D/system/cellSetDict.1 | 0 .../les/throttle3D/system/cellSetDict.2 | 0 .../les/throttle3D/system/cellSetDict.3 | 0 .../les/throttle3D/system/controlDict | 0 .../les/throttle3D/system/decomposeParDict | 0 .../les/throttle3D/system/fvSchemes | 0 .../les/throttle3D/system/fvSolution | 0 .../les/throttle3D/system/mapFieldsDict | 0 .../les/throttle3D/system/refineMeshDict | 0 .../cavitatingFoam/ras/throttle/0/U | 0 .../cavitatingFoam/ras/throttle/0/gamma | 0 .../cavitatingFoam/ras/throttle/0/k | 0 .../cavitatingFoam/ras/throttle/0/omega | 0 .../cavitatingFoam/ras/throttle/0/p | 0 .../cavitatingFoam/ras/throttle/0/rho | 0 .../cavitatingFoam/ras/throttle/Allclean | 0 .../cavitatingFoam/ras/throttle/Allrun | 0 .../ras/throttle/constant/RASProperties | 0 .../throttle/constant/polyMesh/blockMeshDict | 0 .../ras/throttle/constant/polyMesh/boundary | 0 .../throttle/constant/thermodynamicProperties | 0 .../ras/throttle/constant/transportProperties | 0 .../throttle}/constant/turbulenceProperties | 0 .../ras/throttle/system/cellSetDict.1 | 0 .../ras/throttle/system/cellSetDict.2 | 0 .../ras/throttle/system/cellSetDict.3 | 0 .../ras/throttle/system/controlDict | 0 .../ras/throttle/system/fvSchemes | 0 .../ras/throttle/system/fvSolution | 0 .../ras/throttle/system/refineMeshDict | 0 .../compressibleInterFoam/depthCharge2D/0/U | 0 .../depthCharge2D/0/alpha1.org | 0 .../depthCharge2D/0/pd.org | 0 .../depthCharge2D/Allrun | 0 .../depthCharge2D/constant/LESProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../depthCharge2D/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../constant/turbulenceProperties | 0 .../depthCharge2D/system/controlDict | 0 .../depthCharge2D/system/fvSchemes | 0 .../depthCharge2D/system/fvSolution | 0 .../depthCharge2D/system/setFieldsDict | 0 .../compressibleInterFoam/depthCharge3D/0/U | 0 .../depthCharge3D/0/alpha1.org | 0 .../depthCharge3D/0/pd.org | 0 .../depthCharge3D/Allclean | 0 .../depthCharge3D/Allrun | 0 .../depthCharge3D/constant/LESProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../depthCharge3D/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../constant/turbulenceProperties | 0 .../depthCharge3D/system/controlDict | 0 .../depthCharge3D/system/decomposeParDict | 0 .../depthCharge3D/system/fvSchemes | 0 .../depthCharge3D/system/fvSolution | 0 .../depthCharge3D/system/machines | 0 .../depthCharge3D/system/setFieldsDict | 0 .../damBreakWithObstacle/0-orig/U | 0 .../damBreakWithObstacle/0-orig/gamma | 0 .../damBreakWithObstacle/0-orig/gamma.org | 0 .../damBreakWithObstacle/0-orig/pd | 0 .../interDyMFoam/damBreakWithObstacle/0/U | 0 .../interDyMFoam/damBreakWithObstacle/0/gamma | 0 .../damBreakWithObstacle/0/gamma.org | 0 .../interDyMFoam/damBreakWithObstacle/0/pd | 0 .../interDyMFoam/damBreakWithObstacle/Allrun | 0 .../damBreakWithObstacle/VTK/c0/c0_1.vtk | Bin 0 -> 230571 bytes .../constant/RASProperties | 0 .../constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/polyMesh/sets/c0 | 32277 +++++++++++++++ .../constant/polyMesh/sets/c0_old | 32789 ++++++++++++++++ .../constant/transportProperties | 0 .../createObstacle.setSet | 0 .../damBreakWithObstacle/system/controlDict | 0 .../system/decomposeParDict | 0 .../damBreakWithObstacle/system/fvSchemes | 0 .../damBreakWithObstacle/system/fvSolution | 0 .../damBreakWithObstacle/system/setFieldsDict | 0 .../interDyMFoam/sloshingTank2D/0/U | 0 .../interDyMFoam/sloshingTank2D/0/gamma.org | 0 .../interDyMFoam/sloshingTank2D/0/pd | 0 .../interDyMFoam/sloshingTank2D/Allclean | 0 .../interDyMFoam/sloshingTank2D/Allrun | 0 .../sloshingTank2D/constant/RASProperties | 0 .../sloshingTank2D/constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../sloshingTank2D/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../sloshingTank2D/system/controlDict | 0 .../sloshingTank2D/system/decomposeParDict | 0 .../sloshingTank2D/system/fvSchemes | 0 .../sloshingTank2D/system/fvSolution | 0 .../sloshingTank2D/system/setFieldsDict | 0 .../interDyMFoam/sloshingTank2D3DoF/0/U | 0 .../sloshingTank2D3DoF/0/gamma.org | 0 .../interDyMFoam/sloshingTank2D3DoF/0/pd | 0 .../interDyMFoam/sloshingTank2D3DoF/Allclean | 0 .../interDyMFoam/sloshingTank2D3DoF/Allrun | 0 .../sloshingTank2D3DoF/constant/RASProperties | 0 .../constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../sloshingTank2D3DoF/system/controlDict | 0 .../system/decomposeParDict | 0 .../sloshingTank2D3DoF/system/fvSchemes | 0 .../sloshingTank2D3DoF/system/fvSolution | 0 .../sloshingTank2D3DoF/system/setFieldsDict | 0 .../interDyMFoam/sloshingTank3D/0/U | 0 .../interDyMFoam/sloshingTank3D/0/gamma.org | 0 .../interDyMFoam/sloshingTank3D/0/pd | 0 .../interDyMFoam/sloshingTank3D/Allclean | 0 .../interDyMFoam/sloshingTank3D/Allrun | 0 .../sloshingTank3D/constant/RASProperties | 0 .../sloshingTank3D/constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../sloshingTank3D/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../sloshingTank3D/system/controlDict | 0 .../sloshingTank3D/system/decomposeParDict | 0 .../sloshingTank3D/system/fvSchemes | 0 .../sloshingTank3D/system/fvSolution | 0 .../sloshingTank3D/system/setFieldsDict | 0 .../interDyMFoam/sloshingTank3D3DoF/0/U | 0 .../sloshingTank3D3DoF/0/gamma.org | 0 .../interDyMFoam/sloshingTank3D3DoF/0/pd | 0 .../interDyMFoam/sloshingTank3D3DoF/Allclean | 0 .../interDyMFoam/sloshingTank3D3DoF/Allrun | 0 .../sloshingTank3D3DoF/constant/RASProperties | 0 .../constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../sloshingTank3D3DoF/system/controlDict | 0 .../system/decomposeParDict | 0 .../sloshingTank3D3DoF/system/fvSchemes | 0 .../sloshingTank3D3DoF/system/fvSolution | 0 .../sloshingTank3D3DoF/system/setFieldsDict | 0 .../interDyMFoam/sloshingTank3D6DoF/0/U | 0 .../sloshingTank3D6DoF/0/gamma.org | 0 .../interDyMFoam/sloshingTank3D6DoF/0/pd | 0 .../interDyMFoam/sloshingTank3D6DoF/Allclean | 0 .../interDyMFoam/sloshingTank3D6DoF/Allrun | 0 .../sloshingTank3D6DoF/constant/6DoF.dat | 0 .../sloshingTank3D6DoF/constant/RASProperties | 0 .../constant/dynamicMeshDict | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/blockMeshDict.m4 | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../sloshingTank3D6DoF/gen6DoF/Make/files | 0 .../sloshingTank3D6DoF/gen6DoF}/Make/options | 0 .../sloshingTank3D6DoF/gen6DoF/gen6DoF.C | 0 .../sloshingTank3D6DoF/system/controlDict | 0 .../system/decomposeParDict | 0 .../sloshingTank3D6DoF/system/fvSchemes | 0 .../sloshingTank3D6DoF/system/fvSolution | 0 .../sloshingTank3D6DoF/system/setFieldsDict | 0 tutorials/{ => multiphase}/interFoam/Allrun | 0 .../interFoam/laminar/Allclean | 0 .../{ => multiphase}/interFoam/laminar/Allrun | 0 .../interFoam/laminar/damBreak/0/U | 0 .../interFoam/laminar/damBreak/0/alpha1 | 0 .../interFoam/laminar/damBreak/0/alpha1.org | 0 .../interFoam/laminar/damBreak/0/pd | 0 .../laminar/damBreak/constant/dynamicMeshDict | 0 .../damBreak/constant/environmentalProperties | 0 .../damBreak/constant/polyMesh/blockMeshDict | 0 .../damBreak/constant/polyMesh/boundary | 0 .../damBreak/constant/transportProperties | 0 .../damBreak/constant/turbulenceProperties | 0 .../laminar/damBreak/system/controlDict | 0 .../laminar/damBreak/system/decomposeParDict | 0 .../laminar/damBreak/system/fvSchemes | 0 .../laminar/damBreak/system/fvSolution | 0 .../laminar/damBreak/system/setFieldsDict | 0 .../interFoam/les/nozzleFlow2D/0/B | 0 .../interFoam/les/nozzleFlow2D/0/U | 0 .../interFoam/les/nozzleFlow2D/0/alpha1 | 0 .../interFoam/les/nozzleFlow2D/0/data/Ubulk | 0 .../interFoam/les/nozzleFlow2D/0/data/ptrace | 0 .../interFoam/les/nozzleFlow2D/0/k | 0 .../interFoam/les/nozzleFlow2D/0/nuSgs | 0 .../interFoam/les/nozzleFlow2D/0/nuTilda | 0 .../interFoam/les/nozzleFlow2D/0/pd | 0 .../interFoam/les/nozzleFlow2D/Allclean | 0 .../interFoam/les/nozzleFlow2D/Allrun | 0 .../les/nozzleFlow2D/constant/LESProperties | 0 .../constant/environmentalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../nozzleFlow2D/constant/polyMesh/boundary | 0 .../constant/polyMesh/boundary.org | 0 .../nozzleFlow2D/constant/polyMesh/sets/c0 | 0 .../constant/polyMesh/sets/c0_old | 0 .../constant/polyMesh/sets/refinedCells | 0 .../nozzleFlow2D/constant/transportProperties | 0 .../constant/turbulenceProperties | 0 .../les/nozzleFlow2D/system/cellSetDict | 0 .../les/nozzleFlow2D/system/cellSetDict.1 | 0 .../les/nozzleFlow2D/system/cellSetDict.2 | 0 .../les/nozzleFlow2D/system/controlDict | 0 .../les/nozzleFlow2D/system/fvSchemes | 0 .../les/nozzleFlow2D/system/fvSolution | 0 .../les/nozzleFlow2D/system/refineMeshDict | 0 .../{ => multiphase}/interFoam/ras/Allclean | 0 .../{ => multiphase}/interFoam/ras/Allrun | 0 .../interFoam/ras/damBreak/0/R | 0 .../interFoam/ras/damBreak/0/U | 0 .../interFoam/ras/damBreak/0/epsilon | 0 .../interFoam/ras/damBreak/0/gamma | 0 .../interFoam/ras/damBreak/0/gamma.org | 0 .../interFoam/ras/damBreak/0/k | 0 .../interFoam/ras/damBreak/0/nuTilda | 0 .../interFoam/ras/damBreak/0/pd | 0 .../interFoam/ras/damBreak/Allrun | 0 .../ras/damBreak/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../damBreak/constant/polyMesh/blockMeshDict | 0 .../ras/damBreak/constant/polyMesh/boundary | 0 .../ras/damBreak/constant/transportProperties | 0 .../damBreak}/constant/turbulenceProperties | 0 .../interFoam/ras/damBreak/system/controlDict | 0 .../ras/damBreak/system/decomposeParDict | 0 .../interFoam/ras/damBreak/system/fvSchemes | 0 .../interFoam/ras/damBreak/system/fvSolution | 0 .../ras/damBreak/system/setFieldsDict | 0 .../{ => multiphase}/settlingFoam/dahl/0/U | 0 .../settlingFoam/dahl/0/alpha | 0 .../settlingFoam/dahl/0/epsilon | 0 .../{ => multiphase}/settlingFoam/dahl/0/k | 0 .../{ => multiphase}/settlingFoam/dahl/0/p | 0 .../settlingFoam/dahl/constant/RASProperties | 0 .../dahl/constant/environmentalProperties | 0 .../dahl/constant/polyMesh/blockMeshDict | 0 .../dahl/constant/polyMesh/boundary | 0 .../dahl/constant/transportProperties | 0 .../settlingFoam/dahl/system/controlDict | 0 .../settlingFoam/dahl/system/fvSchemes | 0 .../settlingFoam/dahl/system/fvSolution | 0 .../{ => multiphase}/settlingFoam/tank3D/0/U | 0 .../settlingFoam/tank3D/0/alpha | 0 .../settlingFoam/tank3D/0/epsilon | 0 .../{ => multiphase}/settlingFoam/tank3D/0/k | 0 .../{ => multiphase}/settlingFoam/tank3D/0/p | 0 .../settlingFoam/tank3D}/Allclean | 0 .../settlingFoam/tank3D/Allrun | 0 .../tank3D/constant/RASProperties | 0 .../tank3D/constant/environmentalProperties | 0 .../tank3D/constant/polyMesh/boundary | 0 .../tank3D/constant/polyMesh/cells.gz | Bin 0 -> 249477 bytes .../tank3D/constant/polyMesh/faces.gz | Bin 0 -> 419260 bytes .../tank3D/constant/polyMesh/neighbour.gz | Bin 0 -> 103211 bytes .../tank3D/constant/polyMesh/owner.gz | Bin 0 -> 47462 bytes .../tank3D/constant/polyMesh/points.gz | Bin 0 -> 103679 bytes .../tank3D/constant/transportProperties | 0 .../settlingFoam/tank3D/system/controlDict | 0 .../settlingFoam/tank3D/system/fvSchemes | 0 .../settlingFoam/tank3D/system/fvSolution | 0 .../twoPhaseEulerFoam/bed/0/Theta | 0 .../twoPhaseEulerFoam/bed/0/Ua | 0 .../twoPhaseEulerFoam/bed/0/Ub | 0 .../twoPhaseEulerFoam/bed/0/alpha | 0 .../twoPhaseEulerFoam/bed/0/epsilon | 0 .../twoPhaseEulerFoam/bed/0/k | 0 .../twoPhaseEulerFoam/bed/0/p | 0 .../bed/constant/RASProperties | 0 .../bed/constant/environmentalProperties | 0 .../bed/constant/filterProperties | 0 .../bed/constant/interfacialProperties | 0 .../bed/constant/kineticTheoryProperties | 0 .../bed/constant/polyMesh/blockMeshDict | 0 .../bed/constant/polyMesh/boundary | 0 .../bed/constant/ppProperties | 0 .../bed/constant/transportProperties | 0 .../twoPhaseEulerFoam/bed/system/controlDict | 0 .../twoPhaseEulerFoam/bed/system/fvSchemes | 0 .../twoPhaseEulerFoam/bed/system/fvSolution | 0 .../twoPhaseEulerFoam/bed2/0/Theta | 0 .../twoPhaseEulerFoam/bed2/0/Ua | 0 .../twoPhaseEulerFoam/bed2/0/Ub | 0 .../twoPhaseEulerFoam/bed2/0/alpha | 0 .../twoPhaseEulerFoam/bed2/0/epsilon | 0 .../twoPhaseEulerFoam/bed2/0/k | 0 .../twoPhaseEulerFoam/bed2/0/p | 0 .../bed2/constant/RASProperties | 0 .../bed2/constant/environmentalProperties | 0 .../bed2/constant/filterProperties | 0 .../bed2/constant/interfacialProperties | 0 .../bed2/constant/kineticTheoryProperties | 0 .../bed2/constant/polyMesh/blockMeshDict | 0 .../bed2/constant/polyMesh/boundary | 0 .../bed2/constant/ppProperties | 0 .../bed2/constant/transportProperties | 0 .../twoPhaseEulerFoam/bed2/system/controlDict | 0 .../twoPhaseEulerFoam/bed2/system/fvSchemes | 0 .../twoPhaseEulerFoam/bed2/system/fvSolution | 0 .../bed2/system/setFieldsDict | 0 .../twoPhaseEulerFoam/bubbleColumn/0/Theta | 0 .../twoPhaseEulerFoam/bubbleColumn/0/Ua | 0 .../twoPhaseEulerFoam/bubbleColumn/0/Ub | 0 .../twoPhaseEulerFoam/bubbleColumn/0/alpha | 0 .../twoPhaseEulerFoam/bubbleColumn/0/epsilon | 0 .../twoPhaseEulerFoam/bubbleColumn/0/k | 0 .../twoPhaseEulerFoam/bubbleColumn/0/p | 0 .../bubbleColumn/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../constant/interfacialProperties | 0 .../constant/kineticTheoryProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../bubbleColumn/constant/polyMesh/boundary | 0 .../bubbleColumn/constant/ppProperties | 0 .../bubbleColumn/constant/transportProperties | 0 .../bubbleColumn/system/controlDict | 0 .../bubbleColumn/system/fvSchemes | 0 .../bubbleColumn/system/fvSolution | 0 .../solidDisplacementFoam/plateHole/0/D | 0 .../solidDisplacementFoam/plateHole/0/T | 0 .../plateHole/constant/mechanicalProperties | 0 .../plateHole/constant/polyMesh/blockMeshDict | 0 .../plateHole/constant/polyMesh/boundary | 0 .../plateHole/constant/thermalProperties | 0 .../plateHole/system/controlDict | 0 .../plateHole/system/fvSchemes | 0 .../plateHole/system/fvSolution | 0 .../plateHole/system/sampleDict | 0 .../plateHole/system/sampleSurfaceDict | 0 .../beamEndLoad/0/D | 0 .../beamEndLoad/0/p | 0 .../beamEndLoad/constant/mechanicalProperties | 0 .../constant/polyMesh/blockMeshDict | 0 .../beamEndLoad/constant/polyMesh/boundary | 0 .../beamEndLoad/constant/thermalProperties | 0 .../beamEndLoad/system/controlDict | 0 .../beamEndLoad/system/controlDict.org | 0 .../beamEndLoad/system/fvSchemes | 0 .../beamEndLoad/system/fvSolution | 0 1302 files changed, 65066 insertions(+) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/Ek.q (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/Ek.xy (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/U (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/enstrophy (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0.org/p (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0/Ek.q (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0/Ek.xy (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0/U (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0/enstrophy (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/0/p (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/Allclean (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/Allrun (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/constant/boxTurbDict (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/constant/polyMesh/boundary (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/constant/transportProperties (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/constant/turbulenceProperties (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/system/controlDict (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/system/fvSchemes (100%) rename tutorials/{ => DNS}/dnsFoam/boxTurb16/system/fvSolution (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties (100%) rename tutorials/{Xoodles/pitzDaily => Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek}/constant/environmentalProperties (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties (100%) rename tutorials/{rhoPisoFoam/ras/cavity => Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek}/constant/thermophysicalProperties (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes (100%) rename tutorials/{ => Lagrangian}/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution (100%) rename tutorials/{ => basic}/laplacianFoam/flange/0/T (100%) rename tutorials/{ => basic}/laplacianFoam/flange/Allclean (100%) rename tutorials/{ => basic}/laplacianFoam/flange/Allrun (100%) rename tutorials/{ => basic}/laplacianFoam/flange/constant/polyMesh/boundary (100%) rename tutorials/{ => basic}/laplacianFoam/flange/constant/polyMesh/boundary.org (100%) rename tutorials/{ => basic}/laplacianFoam/flange/constant/transportProperties (100%) rename tutorials/{ => basic}/laplacianFoam/flange/flange.ans (100%) rename tutorials/{ => basic}/laplacianFoam/flange/system/controlDict (100%) rename tutorials/{ => basic}/laplacianFoam/flange/system/fvSchemes (100%) rename tutorials/{ => basic}/laplacianFoam/flange/system/fvSolution (100%) rename tutorials/{ => basic}/potentialFoam/Allclean (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/0.org/U (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/0.org/p (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/0/U (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/0/p (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/Allrun (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/analyticalCylinder/Make/files (100%) rename tutorials/{buoyantFoam/hotRoom/setHotRoom => basic/potentialFoam/cylinder/analyticalCylinder}/Make/options (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/analyticalCylinder/analyticalCylinder.C (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/analyticalCylinder/createFields.H (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/constant/polyMesh/boundary (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/system/controlDict (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/system/fvSchemes (100%) rename tutorials/{ => basic}/potentialFoam/cylinder/system/fvSolution (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/0.org/U (100%) rename tutorials/{pisoFoam/les/pitzDaily/0 => basic/potentialFoam/pitzDaily/0.org}/p (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/0/U (100%) rename tutorials/{pisoFoam/les/pitzDailyDirectMapped => basic/potentialFoam/pitzDaily}/0/p (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/Allrun (100%) rename tutorials/{Xoodles => basic/potentialFoam}/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{Xoodles => basic/potentialFoam}/pitzDaily/constant/polyMesh/boundary (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/system/controlDict (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/system/fvSchemes (100%) rename tutorials/{ => basic}/potentialFoam/pitzDaily/system/fvSolution (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/0/T (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/0/U (100%) rename tutorials/{pisoFoam/les => basic/scalarTransportFoam}/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{potentialFoam => basic/scalarTransportFoam}/pitzDaily/constant/polyMesh/boundary (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/constant/transportProperties (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/system/controlDict (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/system/fvSchemes (100%) rename tutorials/{ => basic}/scalarTransportFoam/pitzDaily/system/fvSolution (100%) rename tutorials/{ => combustion}/XiFoam/Allclean (100%) rename tutorials/{ => combustion}/XiFoam/Allrun (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/B (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/Su (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/T (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/Tu (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/U (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/Xi (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/b (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/ft (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/k (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/muSgs (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/0/p (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/constant/LESProperties (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/constant/combustionProperties (100%) rename tutorials/{bubbleFoam/bubbleColumn => combustion/XiFoam/les/pitzDaily}/constant/environmentalProperties (100%) rename tutorials/{potentialFoam => combustion/XiFoam/les}/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{scalarTransportFoam => combustion/XiFoam/les}/pitzDaily/constant/polyMesh/boundary (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/constant/thermophysicalProperties (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/system/controlDict (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/system/fvSchemes (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily/system/fvSolution (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/B (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/Su (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/T (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/Tu (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/U (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/Xi (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/b (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/ft (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/k (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/muSgs (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/0/p (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/constant/LESProperties (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/constant/combustionProperties (100%) rename tutorials/{XiFoam/moriyoshiHomogeneous => combustion/XiFoam/les/pitzDaily3D}/constant/environmentalProperties (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/constant/polyMesh/boundary (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/constant/thermophysicalProperties (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/system/controlDict (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/system/fvSchemes (100%) rename tutorials/{Xoodles => combustion/XiFoam/les}/pitzDaily3D/system/fvSolution (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/Su (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/T (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/Tu (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/U (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/Xi (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/b (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/epsilon (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/ft (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/fu (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/k (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/0/p (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/constant/RASProperties (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/constant/combustionProperties (100%) rename tutorials/{Xoodles/pitzDaily3D => combustion/XiFoam/ras/moriyoshiHomogeneous}/constant/environmentalProperties (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/constant/polyMesh/blockMeshDict (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/constant/polyMesh/boundary (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/constant/thermophysicalProperties (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/system/controlDict (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/system/fvSchemes (100%) rename tutorials/{XiFoam => combustion/XiFoam/ras}/moriyoshiHomogeneous/system/fvSolution (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/N2 (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/O2 (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/T (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/U (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/Ydefault (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/alphat (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/epsilon (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/ft (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/fu (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/k (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/mut (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/p (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/0/spray (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/chemkin/chem.inp (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/chemkin/chem.inp.1 (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/chemkin/chem.inp.full (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/chemkin/chem.inp_15 (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/chemkin/therm.dat (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/RASProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/chemistryProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/combustionProperties (100%) rename tutorials/{buoyantFoam/hotRoom => combustion/dieselFoam/aachenBomb}/constant/environmentalProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/injectorProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/polyMesh/boundary (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/sprayProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/thermophysicalProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/constant/turbulenceProperties (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/system/controlDict (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/system/fvSchemes (100%) rename tutorials/{ => combustion}/dieselFoam/aachenBomb/system/fvSolution (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/Su.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/T.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/Tu.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/U.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/Xi.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/b.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/epsilon.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/ft.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/fu.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/k.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/-180/p.gz (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/Allclean (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/Allrun (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/RASProperties (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/combustionProperties (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/engineGeometry (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/environmentalProperties (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/polyMesh/boundary (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/polyMesh/boundary.org (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/constant/thermophysicalProperties (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/otape17 (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/system/controlDict (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/system/controlDict.1st (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/system/controlDict.2nd (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/system/fvSchemes (100%) rename tutorials/{ => combustion}/engineFoam/kivaTest/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/Allclean (100%) rename tutorials/{ => compressible}/rhoCentralFoam/Allrun (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0.org/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0.org/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0.org/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/README (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/machines (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/LadenburgJet60psi/system/sampleDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/README (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/constant/points.tmp (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/constant/pointsHeader (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/constant/wedgeScr (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/files (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/grid256.dat (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/sampleCone (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/biconic25-55Run35/system/sampleDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/0/Ma (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/forwardStep/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/obliqueShock/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0.org/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0.org/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0.org/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/system/sampleDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/shockTube/system/setFieldsDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/0/T (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/0/U (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/0/p (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/system/controlDict (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoCentralFoam/wedge15Ma5/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/0/T (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/0/U (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/0/epsilon (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/0/k (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/0/p (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/RASProperties (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/porousZones (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/system/controlDict (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoPimpleFoam/angledDuct/system/fvSolution (100%) rename tutorials/{pisoFoam => compressible/rhoPisoFoam}/les/pitzDaily/0/B (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/0/T (100%) rename tutorials/{pisoFoam => compressible/rhoPisoFoam}/les/pitzDaily/0/U (100%) rename tutorials/{pisoFoam => compressible/rhoPisoFoam}/les/pitzDaily/0/k (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/0/muSgs (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/0/muTilda (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/0/p (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/constant/LESProperties (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/constant/polyMesh/boundary (100%) rename tutorials/{chtMultiRegionFoam/multiRegionHeater/constant/bottomAir => compressible/rhoPisoFoam/les/pitzDaily/constant}/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/system/controlDict (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoPisoFoam/les/pitzDaily/system/fvSolution (100%) rename tutorials/{pisoFoam => compressible/rhoPisoFoam}/ras/cavity/0/R (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/T (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/U (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/epsilon (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/k (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/omega (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/0/p (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/constant/RASProperties (100%) rename tutorials/{pisoFoam => compressible/rhoPisoFoam}/ras/cavity/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/constant/polyMesh/boundary (100%) rename tutorials/{rhoTurbTwinParcelFoam/simplifiedSiwek => compressible/rhoPisoFoam/ras/cavity}/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/system/controlDict (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoPisoFoam/ras/cavity/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctExplicit/0 (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctExplicit/constant (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/0/T (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/0/U (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/0/k (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/0/p (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/0/T (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/0/U (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/0/p (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/constant/thermodynamicProperties (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/system/controlDict (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoSonicFoam/forwardStep/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0.org/T (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0.org/U (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0.org/magU (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0.org/p (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0/T (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0/U (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0/magU (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/0/p (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/Allrun (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/constant/initProperties (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/constant/thermodynamicProperties (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/system/controlDict (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/system/fvSolution (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/system/sampleDict (100%) rename tutorials/{ => compressible}/rhoSonicFoam/shockTube/system/setFieldsDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0.org/T (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0.org/U (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0.org/p (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0/T (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0/U (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/0/p (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/Allclean (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/Allrun (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/constant/thermodynamicProperties (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/system/controlDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/system/fvSolution (100%) rename tutorials/{ => compressible}/rhopSonicFoam/shockTube/system/setFieldsDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/0/T (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/0/U (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/0/p (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/system/controlDict (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/system/fvSchemes (100%) rename tutorials/{ => compressible}/rhopSonicFoam/wedge15Ma5/system/fvSolution (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/0/T (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/0/U (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/0/p (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/constant/polyMesh/blockMeshDict (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/constant/polyMesh/boundary (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/constant/thermodynamicProperties (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/constant/transportProperties (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/system/controlDict (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/system/fvSchemes (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/forwardStep/system/fvSolution (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0.org/T (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0.org/U (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0.org/magU (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0.org/p (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0/T (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0/U (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0/magU (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/0/p (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/Allclean (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/Allrun (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/constant/polyMesh/blockMeshDict (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/constant/polyMesh/boundary (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/constant/thermodynamicProperties (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/constant/transportProperties (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/system/controlDict (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/system/fvSchemes (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/system/fvSolution (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/system/sampleDict (100%) rename tutorials/{sonicFoam => compressible/sonicFoam/laminar}/shockTube/system/setFieldsDict (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/Allrun (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/Running_Notes (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/0/T (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/0/U (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/0/epsilon (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/0/k (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/0/p (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/constant/RASProperties (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/constant/polyMesh/boundary (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/constant/polyMesh/boundary.org (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/constant/thermophysicalProperties (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/prostar/nacaAirfoil.bnd.gz (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/prostar/nacaAirfoil.cel.gz (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/prostar/nacaAirfoil.vrt.gz (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/system/controlDict (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/system/fvSchemes (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/nacaAirfoil/system/fvSolution (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/0/T (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/0/U (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/0/epsilon (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/0/k (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/0/p (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/constant/RASProperties (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/constant/polyMesh/blockMeshDict (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/constant/polyMesh/boundary (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/constant/thermophysicalProperties (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/system/controlDict (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/system/fvSchemes (100%) rename tutorials/{sonicTurbFoam => compressible/sonicFoam/ras}/prism/system/fvSolution (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/Allclean (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/Allrun (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/0/U (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/0/p (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/constant/transportProperties (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/system/controlDict (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/system/fvSchemes (100%) rename tutorials/{ => compressible}/sonicLiquidFoam/decompressionTank/system/fvSolution (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/0/phi (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/0/rho (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/constant/physicalProperties (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/constant/polyMesh/boundary (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/system/controlDict (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/system/fvSchemes (100%) rename tutorials/{ => electromagnetics}/electrostaticFoam/chargedWire/system/fvSolution (100%) rename tutorials/{ => electromagnetics}/mhdFoam/Allclean (100%) rename tutorials/{ => electromagnetics}/mhdFoam/Allrun (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/0/B (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/0/U (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/0/p (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/0/pB (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/constant/polyMesh/boundary (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/constant/transportProperties (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/system/controlDict (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/system/fvSchemes (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/system/fvSolution (100%) rename tutorials/{ => electromagnetics}/mhdFoam/hartmann/system/sampleDict (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/0/V (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/constant/financialProperties (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/constant/polyMesh/boundary (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/system/controlDict (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/system/fvSchemes (100%) rename tutorials/{ => financial}/financialFoam/europeanCall/system/fvSolution (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/T (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/T.org (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/U (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/epsilon (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/k (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/p (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/0/pd (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/Allclean (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/Allrun (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/constant/RASProperties (100%) rename tutorials/{buoyantSimpleFoam => heatTransfer/buoyantFoam}/hotRoom/constant/environmentalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/constant/polyMesh/boundary (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/constant/thermophysicalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/constant/turbulenceProperties (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/setHotRoom/Make/files (100%) rename tutorials/{interDyMFoam/sloshingTank3D6DoF/gen6DoF => heatTransfer/buoyantFoam/hotRoom/setHotRoom}/Make/options (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/setHotRoom/createFields.H (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/system/controlDict (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/system/fvSchemes (100%) rename tutorials/{ => heatTransfer}/buoyantFoam/hotRoom/system/fvSolution (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/T (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/T.org (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/U (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/alphat (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/epsilon (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/epsilon.old (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/k (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/k.old (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/mut (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/p (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/0/pd (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/Allclean (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/Allrun (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/constant/RASProperties (100%) rename tutorials/{chtMultiRegionFoam/multiRegionHeater/constant/bottomAir => heatTransfer/buoyantSimpleFoam/hotRoom/constant}/environmentalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/system/controlDict (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/system/fvSchemes (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleFoam/hotRoom/system/fvSolution (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/0/pd (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/boundary (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes (100%) rename tutorials/{ => heatTransfer}/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/K (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/T (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/U (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/cp (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/epsilon (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/k (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/p (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/pd (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/0/rho (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/Allclean (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/Allrun (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/RASProperties (100%) rename tutorials/{dieselFoam/aachenBomb/constant => heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir}/environmentalProperties (100%) rename tutorials/{rhoPisoFoam/les/pitzDaily/constant => heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir}/thermophysicalProperties (100%) rename tutorials/{cavitatingFoam/ras/throttle/constant => heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir}/turbulenceProperties (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/topAir/RASProperties (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/topAir/environmentalProperties (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/makeCellSets.setSet (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/changeDictionaryDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSchemes (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSolution (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/controlDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSchemes (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSchemes (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSchemes (100%) rename tutorials/{ => heatTransfer}/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/MRFSimpleFoam/Make/files (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/MRFSimpleFoam/Make/options (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/MRFSimpleFoam/createFields.H (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/0/U (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/0/epsilon (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/0/k (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/0/p (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/Allrun (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/MRFZones (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/RASProperties (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor_old (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/constant/transportProperties (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/makeMesh (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/cellSetDict (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/controlDict (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/faceSetDict (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/fvSchemes (100%) rename tutorials/{ => incompressible}/MRFSimpleFoam/mixerVessel2D/system/fvSolution (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/R (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/U (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/epsilon (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/k (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/nu.xy (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/0/nuTilda (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/constant/RASProperties (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/constant/gammaDot.xy (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/constant/transportProperties (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/system/controlDict (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/system/fvSchemes (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryLaunderSharma/system/fvSolution (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/R (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/U (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/epsilon (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/k (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/nu.xy (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/0/nuTilda (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/constant/RASProperties (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/constant/gammaDot.xy (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/constant/transportProperties (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/system/controlDict (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/system/fvSchemes (100%) rename tutorials/{ => incompressible}/boundaryFoam/boundaryWallFunctions/system/fvSolution (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/B (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/U (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/k (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/nuSgs (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/nuTilda (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0.org/p (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/B.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/U.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/k.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/nuSgs.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/nuTilda.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/0/p.gz (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/Allrun (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/constant/LESProperties (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/constant/postChannelDict (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/constant/transportProperties (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/system/controlDict (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/system/fvSchemes (100%) rename tutorials/{ => incompressible}/channelFoam/channel395/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/0/U (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/0/cellMotionUx (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/0/p (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/0/pointMotionUx (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/constant/dynamicMeshDict (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/constant/transportProperties (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/system/controlDict (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/system/fvSchemes (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoDyMFoam/movingCone/system/tetFemSolution (100%) rename tutorials/{ => incompressible}/icoFoam/Allclean (100%) rename tutorials/{ => incompressible}/icoFoam/Allrun (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/0/U (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/0/p (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/constant/transportProperties (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/system/controlDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/system/fvSchemes (100%) rename tutorials/{ => incompressible}/icoFoam/cavity/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/0/U (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/0/p (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/constant/transportProperties (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/system/controlDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/system/fvSchemes (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoFoam/cavityClipped/system/mapFieldsDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/0/U (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/0/p (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/constant/transportProperties (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/system/controlDict (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/system/fvSchemes (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoFoam/cavityGrade/system/mapFieldsDict (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/0/U (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/0/p (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/constant/polyMesh/boundary.org (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/constant/transportProperties (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/elbow.msh (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/system/controlDict (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/system/foamDataToFluentDict (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/system/fvSchemes (100%) rename tutorials/{ => incompressible}/icoFoam/elbow/system/fvSolution (100%) rename tutorials/{ => incompressible}/icoFoam/resetFixedWallsScr (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/0/U (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/0/p (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/system/controlDict (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes (100%) rename tutorials/{ => incompressible}/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/0/U (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/0/epsilon (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/0/k (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/0/nuTilda (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/0/p (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/README.txt (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/constant/RASProperties (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/constant/transportProperties (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/system/controlDict (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/system/fvSchemes (100%) rename tutorials/{ => incompressible}/pimpleFoam/t-junction/system/fvSolution (100%) rename tutorials/{ => incompressible}/pisoFoam/Allrun (100%) rename tutorials/{rhoPisoFoam => incompressible/pisoFoam}/les/pitzDaily/0/B (100%) rename tutorials/{rhoPisoFoam => incompressible/pisoFoam}/les/pitzDaily/0/U (100%) rename tutorials/{rhoPisoFoam => incompressible/pisoFoam}/les/pitzDaily/0/k (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/0/nuSgs (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/0/nuTilda (100%) rename tutorials/{potentialFoam/pitzDaily/0.org => incompressible/pisoFoam/les/pitzDaily/0}/p (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/constant/LESProperties (100%) rename tutorials/{scalarTransportFoam => incompressible/pisoFoam/les}/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/constant/transportProperties (100%) rename tutorials/{cavitatingFoam/les/throttle => incompressible/pisoFoam/les/pitzDaily}/constant/turbulenceProperties (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/system/controlDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/system/fvSchemes (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDaily/system/fvSolution (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/0/B (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/0/U (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/0/k (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/0/nuSgs (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/0/nuTilda (100%) rename tutorials/{potentialFoam/pitzDaily => incompressible/pisoFoam/les/pitzDailyDirectMapped}/0/p (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/Allrun (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties (100%) rename tutorials/{interFoam/les/nozzleFlow2D => incompressible/pisoFoam/les/pitzDailyDirectMapped}/constant/turbulenceProperties (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/system/controlDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes (100%) rename tutorials/{ => incompressible}/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution (100%) rename tutorials/{rhoPisoFoam => incompressible/pisoFoam}/ras/cavity/0/R (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/U (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/epsilon (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/k (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/nuTilda (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/nut (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/0/p (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/constant/RASProperties (100%) rename tutorials/{rhoPisoFoam => incompressible/pisoFoam}/ras/cavity/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/constant/transportProperties (100%) rename tutorials/{chtMultiRegionFoam/multiRegionHeater/constant/bottomAir => incompressible/pisoFoam/ras/cavity/constant}/turbulenceProperties (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/system/controlDict (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/system/fvSchemes (100%) rename tutorials/{ => incompressible}/pisoFoam/ras/cavity/system/fvSolution (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/0/U (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/0/nuTilda (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/0/nut (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/0/p (100%) rename tutorials/{settlingFoam/tank3D => incompressible/simpleFoam/airFoil2D}/Allclean (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/RASProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/cells (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/faces (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/neighbour (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/owner (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/polyMesh/points (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/transportProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/constant/turbulenceProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/system/controlDict (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/system/fvSchemes (100%) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/system/fvSolution (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/R (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/U (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/epsilon (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/k (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/nuTilda (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/0/p (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/constant/RASProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/constant/transportProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/system/controlDict (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/system/fvSchemes (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDaily/system/fvSolution (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/R (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/U (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/epsilon (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/k (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/nuTilda (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/0/p (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/RASProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/U (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/epsilon (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/k (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/points (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/polyMesh/boundary (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/constant/transportProperties (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/system/controlDict (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/system/decomposeParDict (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/system/fvSchemes (100%) rename tutorials/{ => incompressible}/simpleFoam/pitzDailyExptInlet/system/fvSolution (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/0/Urel (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/0/epsilon (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/0/k (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/0/omega (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/0/p (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/constant/RASProperties (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/constant/SRFProperties (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/constant/transportProperties (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/system/controlDict (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/system/fvSchemes (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/mixer/system/fvSolution (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/simpleSRFFoam/Make/files (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/simpleSRFFoam/Make/options (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/simpleSRFFoam/createFields.H (100%) rename tutorials/{ => incompressible}/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/system/controlDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/system/decomposeParDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/system/fvSchemes (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/system/fvSolution (100%) rename tutorials/{ => mesh}/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/system/controlDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/system/decomposeParDict (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/system/fvSchemes (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/system/fvSolution (100%) rename tutorials/{ => mesh}/snappyHexMesh/motorBike/system/snappyHexMeshDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/Allclean (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/Allrun (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/constant/polyMesh/boundary (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/controlDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/fvSchemes (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/fvSolution (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/mdSolution (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/molConfigDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/constrictedChannel/system/potentialDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/constant/polyMesh/boundary (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/controlDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/decomposeParDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/fvSchemes (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/fvSolution (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/mdSolution (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/molConfigDict (100%) rename tutorials/{ => molecularDynamics}/gnemdFoam/nanoNozzle/system/potentialDict (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/Allclean (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/Allrun (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/controlDict (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/fvSchemes (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/fvSolution (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/mdSolution (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/molConfigDict (100%) rename tutorials/{ => molecularDynamics}/mdEquilibrationFoam/periodicCube/system/potentialDict (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/Ua (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/Ub (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/alpha (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/epsilon (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/k (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0.org/p (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/Ua (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/Ub (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/alpha (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/epsilon (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/k (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/0/p (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/constant/RASProperties (100%) rename tutorials/{interFoam/laminar/damBreak => multiphase/bubbleFoam/bubbleColumn}/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/constant/transportProperties (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/system/controlDict (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/system/fvSchemes (100%) rename tutorials/{ => multiphase}/bubbleFoam/bubbleColumn/system/fvSolution (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/Allclean (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/Allrun (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/U (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/gamma (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/k (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/nuSgs (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/p (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/0/rho (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/constant/LESProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/constant/thermodynamicProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/constant/transportProperties (100%) rename tutorials/{pisoFoam/les/pitzDaily => multiphase/cavitatingFoam/les/throttle}/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/cellSetDict.1 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/cellSetDict.2 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/cellSetDict.3 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/controlDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/fvSchemes (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/fvSolution (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle/system/refineMeshDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/U (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/gamma (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/k (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/nuSgs (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/p (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0.org/rho (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/U (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/gamma (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/k (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/nuSgs (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/p (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/0/rho (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/constant/LESProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/cellSetDict.1 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/cellSetDict.2 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/cellSetDict.3 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/controlDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/fvSolution (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/mapFieldsDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/les/throttle3D/system/refineMeshDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/U (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/gamma (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/k (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/omega (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/p (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/0/rho (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/Allclean (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/Allrun (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/constant/RASProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/constant/thermodynamicProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/constant/transportProperties (100%) rename tutorials/{interFoam/ras/damBreak => multiphase/cavitatingFoam/ras/throttle}/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/cellSetDict.1 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/cellSetDict.2 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/cellSetDict.3 (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/controlDict (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/fvSchemes (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/fvSolution (100%) rename tutorials/{ => multiphase}/cavitatingFoam/ras/throttle/system/refineMeshDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/0/U (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/0/alpha1.org (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/0/pd.org (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/Allrun (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/LESProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/system/controlDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/system/fvSolution (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge2D/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/0/U (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/0/alpha1.org (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/0/pd.org (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/Allclean (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/Allrun (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/LESProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/controlDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/fvSolution (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/machines (100%) rename tutorials/{ => multiphase}/compressibleInterFoam/depthCharge3D/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0-orig/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0-orig/gamma (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0-orig/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0/gamma (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/Allrun (100%) create mode 100644 tutorials/multiphase/interDyMFoam/damBreakWithObstacle/VTK/c0/c0_1.vtk rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary (100%) create mode 100644 tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 create mode 100644 tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/createObstacle.setSet (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/damBreakWithObstacle/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/Allclean (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/Allrun (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/Allclean (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/Allrun (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/Allclean (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/Allrun (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/Allclean (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/Allrun (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/0/U (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/0/gamma.org (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/0/pd (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/Allclean (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/Allrun (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/6DoF.dat (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/files (100%) rename tutorials/{potentialFoam/cylinder/analyticalCylinder => multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF}/Make/options (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/gen6DoF/gen6DoF.C (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/system/controlDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/system/fvSolution (100%) rename tutorials/{ => multiphase}/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interFoam/Allrun (100%) rename tutorials/{ => multiphase}/interFoam/laminar/Allclean (100%) rename tutorials/{ => multiphase}/interFoam/laminar/Allrun (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/0/U (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/0/alpha1 (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/0/alpha1.org (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/0/pd (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/constant/dynamicMeshDict (100%) rename tutorials/{interFoam/ras => multiphase/interFoam/laminar}/damBreak/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/constant/transportProperties (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/system/controlDict (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/system/fvSolution (100%) rename tutorials/{ => multiphase}/interFoam/laminar/damBreak/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/B (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/U (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/alpha1 (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/data/Ubulk (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/data/ptrace (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/k (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/nuSgs (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/nuTilda (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/0/pd (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/Allclean (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/Allrun (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/LESProperties (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary.org (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/constant/transportProperties (100%) rename tutorials/{pisoFoam/les/pitzDailyDirectMapped => multiphase/interFoam/les/nozzleFlow2D}/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/cellSetDict (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/cellSetDict.1 (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/cellSetDict.2 (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/controlDict (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/fvSolution (100%) rename tutorials/{ => multiphase}/interFoam/les/nozzleFlow2D/system/refineMeshDict (100%) rename tutorials/{ => multiphase}/interFoam/ras/Allclean (100%) rename tutorials/{ => multiphase}/interFoam/ras/Allrun (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/R (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/U (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/epsilon (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/gamma (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/gamma.org (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/k (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/nuTilda (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/0/pd (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/Allrun (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/constant/RASProperties (100%) rename tutorials/{rhoTurbTwinParcelFoam/simplifiedSiwek => multiphase/interFoam/ras/damBreak}/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/constant/transportProperties (100%) rename tutorials/{pisoFoam/ras/cavity => multiphase/interFoam/ras/damBreak}/constant/turbulenceProperties (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/system/controlDict (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/system/fvSchemes (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/system/fvSolution (100%) rename tutorials/{ => multiphase}/interFoam/ras/damBreak/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/0/U (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/0/alpha (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/0/epsilon (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/0/k (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/0/p (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/constant/RASProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/constant/transportProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/system/controlDict (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/system/fvSchemes (100%) rename tutorials/{ => multiphase}/settlingFoam/dahl/system/fvSolution (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/0/U (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/0/alpha (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/0/epsilon (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/0/k (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/0/p (100%) rename tutorials/{simpleFoam/airFoil2D => multiphase/settlingFoam/tank3D}/Allclean (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/Allrun (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/constant/RASProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/constant/polyMesh/boundary (100%) create mode 100644 tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/cells.gz create mode 100644 tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/faces.gz create mode 100644 tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/neighbour.gz create mode 100644 tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/owner.gz create mode 100644 tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/points.gz rename tutorials/{ => multiphase}/settlingFoam/tank3D/constant/transportProperties (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/system/controlDict (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/system/fvSchemes (100%) rename tutorials/{ => multiphase}/settlingFoam/tank3D/system/fvSolution (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/Theta (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/Ua (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/Ub (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/alpha (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/epsilon (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/k (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/0/p (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/RASProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/filterProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/interfacialProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/ppProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/constant/transportProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/system/controlDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/system/fvSchemes (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed/system/fvSolution (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/Theta (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/Ua (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/Ub (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/alpha (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/epsilon (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/k (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/0/p (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/RASProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/filterProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/interfacialProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/ppProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/constant/transportProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/system/controlDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/system/fvSchemes (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/system/fvSolution (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bed2/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/Theta (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/Ua (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/Ub (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/alpha (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/epsilon (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/k (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/0/p (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/system/controlDict (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes (100%) rename tutorials/{ => multiphase}/twoPhaseEulerFoam/bubbleColumn/system/fvSolution (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/0/D (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/0/T (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/constant/mechanicalProperties (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/constant/polyMesh/boundary (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/constant/thermalProperties (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/system/controlDict (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/system/fvSchemes (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/system/fvSolution (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/system/sampleDict (100%) rename tutorials/{ => stressAnalysis}/solidDisplacementFoam/plateHole/system/sampleSurfaceDict (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/0/D (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/0/p (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes (100%) rename tutorials/{ => stressAnalysis}/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution (100%) diff --git a/tutorials/dnsFoam/boxTurb16/0.org/Ek.q b/tutorials/DNS/dnsFoam/boxTurb16/0.org/Ek.q similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0.org/Ek.q rename to tutorials/DNS/dnsFoam/boxTurb16/0.org/Ek.q diff --git a/tutorials/dnsFoam/boxTurb16/0.org/Ek.xy b/tutorials/DNS/dnsFoam/boxTurb16/0.org/Ek.xy similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0.org/Ek.xy rename to tutorials/DNS/dnsFoam/boxTurb16/0.org/Ek.xy diff --git a/tutorials/dnsFoam/boxTurb16/0.org/U b/tutorials/DNS/dnsFoam/boxTurb16/0.org/U similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0.org/U rename to tutorials/DNS/dnsFoam/boxTurb16/0.org/U diff --git a/tutorials/dnsFoam/boxTurb16/0.org/enstrophy b/tutorials/DNS/dnsFoam/boxTurb16/0.org/enstrophy similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0.org/enstrophy rename to tutorials/DNS/dnsFoam/boxTurb16/0.org/enstrophy diff --git a/tutorials/dnsFoam/boxTurb16/0.org/p b/tutorials/DNS/dnsFoam/boxTurb16/0.org/p similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0.org/p rename to tutorials/DNS/dnsFoam/boxTurb16/0.org/p diff --git a/tutorials/dnsFoam/boxTurb16/0/Ek.q b/tutorials/DNS/dnsFoam/boxTurb16/0/Ek.q similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0/Ek.q rename to tutorials/DNS/dnsFoam/boxTurb16/0/Ek.q diff --git a/tutorials/dnsFoam/boxTurb16/0/Ek.xy b/tutorials/DNS/dnsFoam/boxTurb16/0/Ek.xy similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0/Ek.xy rename to tutorials/DNS/dnsFoam/boxTurb16/0/Ek.xy diff --git a/tutorials/dnsFoam/boxTurb16/0/U b/tutorials/DNS/dnsFoam/boxTurb16/0/U similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0/U rename to tutorials/DNS/dnsFoam/boxTurb16/0/U diff --git a/tutorials/dnsFoam/boxTurb16/0/enstrophy b/tutorials/DNS/dnsFoam/boxTurb16/0/enstrophy similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0/enstrophy rename to tutorials/DNS/dnsFoam/boxTurb16/0/enstrophy diff --git a/tutorials/dnsFoam/boxTurb16/0/p b/tutorials/DNS/dnsFoam/boxTurb16/0/p similarity index 100% rename from tutorials/dnsFoam/boxTurb16/0/p rename to tutorials/DNS/dnsFoam/boxTurb16/0/p diff --git a/tutorials/dnsFoam/boxTurb16/Allclean b/tutorials/DNS/dnsFoam/boxTurb16/Allclean similarity index 100% rename from tutorials/dnsFoam/boxTurb16/Allclean rename to tutorials/DNS/dnsFoam/boxTurb16/Allclean diff --git a/tutorials/dnsFoam/boxTurb16/Allrun b/tutorials/DNS/dnsFoam/boxTurb16/Allrun similarity index 100% rename from tutorials/dnsFoam/boxTurb16/Allrun rename to tutorials/DNS/dnsFoam/boxTurb16/Allrun diff --git a/tutorials/dnsFoam/boxTurb16/constant/boxTurbDict b/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict similarity index 100% rename from tutorials/dnsFoam/boxTurb16/constant/boxTurbDict rename to tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict diff --git a/tutorials/dnsFoam/boxTurb16/constant/polyMesh/blockMeshDict b/tutorials/DNS/dnsFoam/boxTurb16/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/dnsFoam/boxTurb16/constant/polyMesh/blockMeshDict rename to tutorials/DNS/dnsFoam/boxTurb16/constant/polyMesh/blockMeshDict diff --git a/tutorials/dnsFoam/boxTurb16/constant/polyMesh/boundary b/tutorials/DNS/dnsFoam/boxTurb16/constant/polyMesh/boundary similarity index 100% rename from tutorials/dnsFoam/boxTurb16/constant/polyMesh/boundary rename to tutorials/DNS/dnsFoam/boxTurb16/constant/polyMesh/boundary diff --git a/tutorials/dnsFoam/boxTurb16/constant/transportProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties similarity index 100% rename from tutorials/dnsFoam/boxTurb16/constant/transportProperties rename to tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties diff --git a/tutorials/dnsFoam/boxTurb16/constant/turbulenceProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties similarity index 100% rename from tutorials/dnsFoam/boxTurb16/constant/turbulenceProperties rename to tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties diff --git a/tutorials/dnsFoam/boxTurb16/system/controlDict b/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict similarity index 100% rename from tutorials/dnsFoam/boxTurb16/system/controlDict rename to tutorials/DNS/dnsFoam/boxTurb16/system/controlDict diff --git a/tutorials/dnsFoam/boxTurb16/system/fvSchemes b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes similarity index 100% rename from tutorials/dnsFoam/boxTurb16/system/fvSchemes rename to tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes diff --git a/tutorials/dnsFoam/boxTurb16/system/fvSolution b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution similarity index 100% rename from tutorials/dnsFoam/boxTurb16/system/fvSolution rename to tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H diff --git a/tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties diff --git a/tutorials/Xoodles/pitzDaily/constant/environmentalProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/environmentalProperties rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties diff --git a/tutorials/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution rename to tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution diff --git a/tutorials/laplacianFoam/flange/0/T b/tutorials/basic/laplacianFoam/flange/0/T similarity index 100% rename from tutorials/laplacianFoam/flange/0/T rename to tutorials/basic/laplacianFoam/flange/0/T diff --git a/tutorials/laplacianFoam/flange/Allclean b/tutorials/basic/laplacianFoam/flange/Allclean similarity index 100% rename from tutorials/laplacianFoam/flange/Allclean rename to tutorials/basic/laplacianFoam/flange/Allclean diff --git a/tutorials/laplacianFoam/flange/Allrun b/tutorials/basic/laplacianFoam/flange/Allrun similarity index 100% rename from tutorials/laplacianFoam/flange/Allrun rename to tutorials/basic/laplacianFoam/flange/Allrun diff --git a/tutorials/laplacianFoam/flange/constant/polyMesh/boundary b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary similarity index 100% rename from tutorials/laplacianFoam/flange/constant/polyMesh/boundary rename to tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary diff --git a/tutorials/laplacianFoam/flange/constant/polyMesh/boundary.org b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org similarity index 100% rename from tutorials/laplacianFoam/flange/constant/polyMesh/boundary.org rename to tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary.org diff --git a/tutorials/laplacianFoam/flange/constant/transportProperties b/tutorials/basic/laplacianFoam/flange/constant/transportProperties similarity index 100% rename from tutorials/laplacianFoam/flange/constant/transportProperties rename to tutorials/basic/laplacianFoam/flange/constant/transportProperties diff --git a/tutorials/laplacianFoam/flange/flange.ans b/tutorials/basic/laplacianFoam/flange/flange.ans similarity index 100% rename from tutorials/laplacianFoam/flange/flange.ans rename to tutorials/basic/laplacianFoam/flange/flange.ans diff --git a/tutorials/laplacianFoam/flange/system/controlDict b/tutorials/basic/laplacianFoam/flange/system/controlDict similarity index 100% rename from tutorials/laplacianFoam/flange/system/controlDict rename to tutorials/basic/laplacianFoam/flange/system/controlDict diff --git a/tutorials/laplacianFoam/flange/system/fvSchemes b/tutorials/basic/laplacianFoam/flange/system/fvSchemes similarity index 100% rename from tutorials/laplacianFoam/flange/system/fvSchemes rename to tutorials/basic/laplacianFoam/flange/system/fvSchemes diff --git a/tutorials/laplacianFoam/flange/system/fvSolution b/tutorials/basic/laplacianFoam/flange/system/fvSolution similarity index 100% rename from tutorials/laplacianFoam/flange/system/fvSolution rename to tutorials/basic/laplacianFoam/flange/system/fvSolution diff --git a/tutorials/potentialFoam/Allclean b/tutorials/basic/potentialFoam/Allclean similarity index 100% rename from tutorials/potentialFoam/Allclean rename to tutorials/basic/potentialFoam/Allclean diff --git a/tutorials/potentialFoam/cylinder/0.org/U b/tutorials/basic/potentialFoam/cylinder/0.org/U similarity index 100% rename from tutorials/potentialFoam/cylinder/0.org/U rename to tutorials/basic/potentialFoam/cylinder/0.org/U diff --git a/tutorials/potentialFoam/cylinder/0.org/p b/tutorials/basic/potentialFoam/cylinder/0.org/p similarity index 100% rename from tutorials/potentialFoam/cylinder/0.org/p rename to tutorials/basic/potentialFoam/cylinder/0.org/p diff --git a/tutorials/potentialFoam/cylinder/0/U b/tutorials/basic/potentialFoam/cylinder/0/U similarity index 100% rename from tutorials/potentialFoam/cylinder/0/U rename to tutorials/basic/potentialFoam/cylinder/0/U diff --git a/tutorials/potentialFoam/cylinder/0/p b/tutorials/basic/potentialFoam/cylinder/0/p similarity index 100% rename from tutorials/potentialFoam/cylinder/0/p rename to tutorials/basic/potentialFoam/cylinder/0/p diff --git a/tutorials/potentialFoam/cylinder/Allrun b/tutorials/basic/potentialFoam/cylinder/Allrun similarity index 100% rename from tutorials/potentialFoam/cylinder/Allrun rename to tutorials/basic/potentialFoam/cylinder/Allrun diff --git a/tutorials/potentialFoam/cylinder/analyticalCylinder/Make/files b/tutorials/basic/potentialFoam/cylinder/analyticalCylinder/Make/files similarity index 100% rename from tutorials/potentialFoam/cylinder/analyticalCylinder/Make/files rename to tutorials/basic/potentialFoam/cylinder/analyticalCylinder/Make/files diff --git a/tutorials/buoyantFoam/hotRoom/setHotRoom/Make/options b/tutorials/basic/potentialFoam/cylinder/analyticalCylinder/Make/options similarity index 100% rename from tutorials/buoyantFoam/hotRoom/setHotRoom/Make/options rename to tutorials/basic/potentialFoam/cylinder/analyticalCylinder/Make/options diff --git a/tutorials/potentialFoam/cylinder/analyticalCylinder/analyticalCylinder.C b/tutorials/basic/potentialFoam/cylinder/analyticalCylinder/analyticalCylinder.C similarity index 100% rename from tutorials/potentialFoam/cylinder/analyticalCylinder/analyticalCylinder.C rename to tutorials/basic/potentialFoam/cylinder/analyticalCylinder/analyticalCylinder.C diff --git a/tutorials/potentialFoam/cylinder/analyticalCylinder/createFields.H b/tutorials/basic/potentialFoam/cylinder/analyticalCylinder/createFields.H similarity index 100% rename from tutorials/potentialFoam/cylinder/analyticalCylinder/createFields.H rename to tutorials/basic/potentialFoam/cylinder/analyticalCylinder/createFields.H diff --git a/tutorials/potentialFoam/cylinder/constant/polyMesh/blockMeshDict b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/potentialFoam/cylinder/constant/polyMesh/blockMeshDict rename to tutorials/basic/potentialFoam/cylinder/constant/polyMesh/blockMeshDict diff --git a/tutorials/potentialFoam/cylinder/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary similarity index 100% rename from tutorials/potentialFoam/cylinder/constant/polyMesh/boundary rename to tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary diff --git a/tutorials/potentialFoam/cylinder/system/controlDict b/tutorials/basic/potentialFoam/cylinder/system/controlDict similarity index 100% rename from tutorials/potentialFoam/cylinder/system/controlDict rename to tutorials/basic/potentialFoam/cylinder/system/controlDict diff --git a/tutorials/potentialFoam/cylinder/system/fvSchemes b/tutorials/basic/potentialFoam/cylinder/system/fvSchemes similarity index 100% rename from tutorials/potentialFoam/cylinder/system/fvSchemes rename to tutorials/basic/potentialFoam/cylinder/system/fvSchemes diff --git a/tutorials/potentialFoam/cylinder/system/fvSolution b/tutorials/basic/potentialFoam/cylinder/system/fvSolution similarity index 100% rename from tutorials/potentialFoam/cylinder/system/fvSolution rename to tutorials/basic/potentialFoam/cylinder/system/fvSolution diff --git a/tutorials/potentialFoam/pitzDaily/0.org/U b/tutorials/basic/potentialFoam/pitzDaily/0.org/U similarity index 100% rename from tutorials/potentialFoam/pitzDaily/0.org/U rename to tutorials/basic/potentialFoam/pitzDaily/0.org/U diff --git a/tutorials/pisoFoam/les/pitzDaily/0/p b/tutorials/basic/potentialFoam/pitzDaily/0.org/p similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/p rename to tutorials/basic/potentialFoam/pitzDaily/0.org/p diff --git a/tutorials/potentialFoam/pitzDaily/0/U b/tutorials/basic/potentialFoam/pitzDaily/0/U similarity index 100% rename from tutorials/potentialFoam/pitzDaily/0/U rename to tutorials/basic/potentialFoam/pitzDaily/0/U diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/p b/tutorials/basic/potentialFoam/pitzDaily/0/p similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/p rename to tutorials/basic/potentialFoam/pitzDaily/0/p diff --git a/tutorials/potentialFoam/pitzDaily/Allrun b/tutorials/basic/potentialFoam/pitzDaily/Allrun similarity index 100% rename from tutorials/potentialFoam/pitzDaily/Allrun rename to tutorials/basic/potentialFoam/pitzDaily/Allrun diff --git a/tutorials/Xoodles/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/Xoodles/pitzDaily/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/polyMesh/boundary rename to tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary diff --git a/tutorials/potentialFoam/pitzDaily/system/controlDict b/tutorials/basic/potentialFoam/pitzDaily/system/controlDict similarity index 100% rename from tutorials/potentialFoam/pitzDaily/system/controlDict rename to tutorials/basic/potentialFoam/pitzDaily/system/controlDict diff --git a/tutorials/potentialFoam/pitzDaily/system/fvSchemes b/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/potentialFoam/pitzDaily/system/fvSchemes rename to tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes diff --git a/tutorials/potentialFoam/pitzDaily/system/fvSolution b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/potentialFoam/pitzDaily/system/fvSolution rename to tutorials/basic/potentialFoam/pitzDaily/system/fvSolution diff --git a/tutorials/scalarTransportFoam/pitzDaily/0/T b/tutorials/basic/scalarTransportFoam/pitzDaily/0/T similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/0/T rename to tutorials/basic/scalarTransportFoam/pitzDaily/0/T diff --git a/tutorials/scalarTransportFoam/pitzDaily/0/U b/tutorials/basic/scalarTransportFoam/pitzDaily/0/U similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/0/U rename to tutorials/basic/scalarTransportFoam/pitzDaily/0/U diff --git a/tutorials/pisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/potentialFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary similarity index 100% rename from tutorials/potentialFoam/pitzDaily/constant/polyMesh/boundary rename to tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary diff --git a/tutorials/scalarTransportFoam/pitzDaily/constant/transportProperties b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/constant/transportProperties rename to tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties diff --git a/tutorials/scalarTransportFoam/pitzDaily/system/controlDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/system/controlDict rename to tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict diff --git a/tutorials/scalarTransportFoam/pitzDaily/system/fvSchemes b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/system/fvSchemes rename to tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes diff --git a/tutorials/scalarTransportFoam/pitzDaily/system/fvSolution b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/system/fvSolution rename to tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution diff --git a/tutorials/XiFoam/Allclean b/tutorials/combustion/XiFoam/Allclean similarity index 100% rename from tutorials/XiFoam/Allclean rename to tutorials/combustion/XiFoam/Allclean diff --git a/tutorials/XiFoam/Allrun b/tutorials/combustion/XiFoam/Allrun similarity index 100% rename from tutorials/XiFoam/Allrun rename to tutorials/combustion/XiFoam/Allrun diff --git a/tutorials/Xoodles/pitzDaily/0/B b/tutorials/combustion/XiFoam/les/pitzDaily/0/B similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/B rename to tutorials/combustion/XiFoam/les/pitzDaily/0/B diff --git a/tutorials/Xoodles/pitzDaily/0/Su b/tutorials/combustion/XiFoam/les/pitzDaily/0/Su similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/Su rename to tutorials/combustion/XiFoam/les/pitzDaily/0/Su diff --git a/tutorials/Xoodles/pitzDaily/0/T b/tutorials/combustion/XiFoam/les/pitzDaily/0/T similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/T rename to tutorials/combustion/XiFoam/les/pitzDaily/0/T diff --git a/tutorials/Xoodles/pitzDaily/0/Tu b/tutorials/combustion/XiFoam/les/pitzDaily/0/Tu similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/Tu rename to tutorials/combustion/XiFoam/les/pitzDaily/0/Tu diff --git a/tutorials/Xoodles/pitzDaily/0/U b/tutorials/combustion/XiFoam/les/pitzDaily/0/U similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/U rename to tutorials/combustion/XiFoam/les/pitzDaily/0/U diff --git a/tutorials/Xoodles/pitzDaily/0/Xi b/tutorials/combustion/XiFoam/les/pitzDaily/0/Xi similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/Xi rename to tutorials/combustion/XiFoam/les/pitzDaily/0/Xi diff --git a/tutorials/Xoodles/pitzDaily/0/b b/tutorials/combustion/XiFoam/les/pitzDaily/0/b similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/b rename to tutorials/combustion/XiFoam/les/pitzDaily/0/b diff --git a/tutorials/Xoodles/pitzDaily/0/ft b/tutorials/combustion/XiFoam/les/pitzDaily/0/ft similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/ft rename to tutorials/combustion/XiFoam/les/pitzDaily/0/ft diff --git a/tutorials/Xoodles/pitzDaily/0/k b/tutorials/combustion/XiFoam/les/pitzDaily/0/k similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/k rename to tutorials/combustion/XiFoam/les/pitzDaily/0/k diff --git a/tutorials/Xoodles/pitzDaily/0/muSgs b/tutorials/combustion/XiFoam/les/pitzDaily/0/muSgs similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/muSgs rename to tutorials/combustion/XiFoam/les/pitzDaily/0/muSgs diff --git a/tutorials/Xoodles/pitzDaily/0/p b/tutorials/combustion/XiFoam/les/pitzDaily/0/p similarity index 100% rename from tutorials/Xoodles/pitzDaily/0/p rename to tutorials/combustion/XiFoam/les/pitzDaily/0/p diff --git a/tutorials/Xoodles/pitzDaily/constant/LESProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/LESProperties rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties diff --git a/tutorials/Xoodles/pitzDaily/constant/combustionProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/combustionProperties rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties diff --git a/tutorials/bubbleFoam/bubbleColumn/constant/environmentalProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/constant/environmentalProperties rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties diff --git a/tutorials/potentialFoam/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/potentialFoam/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary diff --git a/tutorials/Xoodles/pitzDaily/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily/constant/thermophysicalProperties rename to tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties diff --git a/tutorials/Xoodles/pitzDaily/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict similarity index 100% rename from tutorials/Xoodles/pitzDaily/system/controlDict rename to tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict diff --git a/tutorials/Xoodles/pitzDaily/system/fvSchemes b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/Xoodles/pitzDaily/system/fvSchemes rename to tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes diff --git a/tutorials/Xoodles/pitzDaily/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/Xoodles/pitzDaily/system/fvSolution rename to tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution diff --git a/tutorials/Xoodles/pitzDaily3D/0/B b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/B similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/B rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/B diff --git a/tutorials/Xoodles/pitzDaily3D/0/Su b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/Su similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/Su rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/Su diff --git a/tutorials/Xoodles/pitzDaily3D/0/T b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/T similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/T rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/T diff --git a/tutorials/Xoodles/pitzDaily3D/0/Tu b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/Tu similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/Tu rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/Tu diff --git a/tutorials/Xoodles/pitzDaily3D/0/U b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/U similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/U rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/U diff --git a/tutorials/Xoodles/pitzDaily3D/0/Xi b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/Xi similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/Xi rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/Xi diff --git a/tutorials/Xoodles/pitzDaily3D/0/b b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/b similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/b rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/b diff --git a/tutorials/Xoodles/pitzDaily3D/0/ft b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/ft similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/ft rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/ft diff --git a/tutorials/Xoodles/pitzDaily3D/0/k b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/k similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/k rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/k diff --git a/tutorials/Xoodles/pitzDaily3D/0/muSgs b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/muSgs similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/muSgs rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/muSgs diff --git a/tutorials/Xoodles/pitzDaily3D/0/p b/tutorials/combustion/XiFoam/les/pitzDaily3D/0/p similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/0/p rename to tutorials/combustion/XiFoam/les/pitzDaily3D/0/p diff --git a/tutorials/Xoodles/pitzDaily3D/constant/LESProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/LESProperties rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties diff --git a/tutorials/Xoodles/pitzDaily3D/constant/combustionProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/combustionProperties rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/environmentalProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/environmentalProperties rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties diff --git a/tutorials/Xoodles/pitzDaily3D/constant/polyMesh/blockMeshDict b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/polyMesh/blockMeshDict rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/polyMesh/blockMeshDict diff --git a/tutorials/Xoodles/pitzDaily3D/constant/polyMesh/boundary b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/polyMesh/boundary similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/polyMesh/boundary rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/polyMesh/boundary diff --git a/tutorials/Xoodles/pitzDaily3D/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/thermophysicalProperties rename to tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties diff --git a/tutorials/Xoodles/pitzDaily3D/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/system/controlDict rename to tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict diff --git a/tutorials/Xoodles/pitzDaily3D/system/fvSchemes b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/system/fvSchemes rename to tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes diff --git a/tutorials/Xoodles/pitzDaily3D/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/system/fvSolution rename to tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/Su b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Su similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/Su rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Su diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/T b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/T similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/T rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/T diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/Tu b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Tu similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/Tu rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Tu diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/U b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/U similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/U rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/U diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/Xi b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Xi similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/Xi rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Xi diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/b b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/b similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/b rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/b diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/epsilon b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/epsilon similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/epsilon rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/epsilon diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/ft b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/ft similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/ft rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/ft diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/fu b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/fu similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/fu rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/fu diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/k b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/k similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/k rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/k diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/0/p b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/p similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/0/p rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/p diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/RASProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/RASProperties rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/combustionProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/combustionProperties rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties diff --git a/tutorials/Xoodles/pitzDaily3D/constant/environmentalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties similarity index 100% rename from tutorials/Xoodles/pitzDaily3D/constant/environmentalProperties rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/polyMesh/blockMeshDict b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/polyMesh/blockMeshDict rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/polyMesh/blockMeshDict diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/polyMesh/boundary b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/polyMesh/boundary similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/polyMesh/boundary rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/polyMesh/boundary diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/constant/thermophysicalProperties rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/system/controlDict b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/system/controlDict rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/system/fvSchemes b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/system/fvSchemes rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes diff --git a/tutorials/XiFoam/moriyoshiHomogeneous/system/fvSolution b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution similarity index 100% rename from tutorials/XiFoam/moriyoshiHomogeneous/system/fvSolution rename to tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution diff --git a/tutorials/dieselFoam/aachenBomb/0/N2 b/tutorials/combustion/dieselFoam/aachenBomb/0/N2 similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/N2 rename to tutorials/combustion/dieselFoam/aachenBomb/0/N2 diff --git a/tutorials/dieselFoam/aachenBomb/0/O2 b/tutorials/combustion/dieselFoam/aachenBomb/0/O2 similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/O2 rename to tutorials/combustion/dieselFoam/aachenBomb/0/O2 diff --git a/tutorials/dieselFoam/aachenBomb/0/T b/tutorials/combustion/dieselFoam/aachenBomb/0/T similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/T rename to tutorials/combustion/dieselFoam/aachenBomb/0/T diff --git a/tutorials/dieselFoam/aachenBomb/0/U b/tutorials/combustion/dieselFoam/aachenBomb/0/U similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/U rename to tutorials/combustion/dieselFoam/aachenBomb/0/U diff --git a/tutorials/dieselFoam/aachenBomb/0/Ydefault b/tutorials/combustion/dieselFoam/aachenBomb/0/Ydefault similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/Ydefault rename to tutorials/combustion/dieselFoam/aachenBomb/0/Ydefault diff --git a/tutorials/dieselFoam/aachenBomb/0/alphat b/tutorials/combustion/dieselFoam/aachenBomb/0/alphat similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/alphat rename to tutorials/combustion/dieselFoam/aachenBomb/0/alphat diff --git a/tutorials/dieselFoam/aachenBomb/0/epsilon b/tutorials/combustion/dieselFoam/aachenBomb/0/epsilon similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/epsilon rename to tutorials/combustion/dieselFoam/aachenBomb/0/epsilon diff --git a/tutorials/dieselFoam/aachenBomb/0/ft b/tutorials/combustion/dieselFoam/aachenBomb/0/ft similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/ft rename to tutorials/combustion/dieselFoam/aachenBomb/0/ft diff --git a/tutorials/dieselFoam/aachenBomb/0/fu b/tutorials/combustion/dieselFoam/aachenBomb/0/fu similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/fu rename to tutorials/combustion/dieselFoam/aachenBomb/0/fu diff --git a/tutorials/dieselFoam/aachenBomb/0/k b/tutorials/combustion/dieselFoam/aachenBomb/0/k similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/k rename to tutorials/combustion/dieselFoam/aachenBomb/0/k diff --git a/tutorials/dieselFoam/aachenBomb/0/mut b/tutorials/combustion/dieselFoam/aachenBomb/0/mut similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/mut rename to tutorials/combustion/dieselFoam/aachenBomb/0/mut diff --git a/tutorials/dieselFoam/aachenBomb/0/p b/tutorials/combustion/dieselFoam/aachenBomb/0/p similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/p rename to tutorials/combustion/dieselFoam/aachenBomb/0/p diff --git a/tutorials/dieselFoam/aachenBomb/0/spray b/tutorials/combustion/dieselFoam/aachenBomb/0/spray similarity index 100% rename from tutorials/dieselFoam/aachenBomb/0/spray rename to tutorials/combustion/dieselFoam/aachenBomb/0/spray diff --git a/tutorials/dieselFoam/aachenBomb/chemkin/chem.inp b/tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp similarity index 100% rename from tutorials/dieselFoam/aachenBomb/chemkin/chem.inp rename to tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp diff --git a/tutorials/dieselFoam/aachenBomb/chemkin/chem.inp.1 b/tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp.1 similarity index 100% rename from tutorials/dieselFoam/aachenBomb/chemkin/chem.inp.1 rename to tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp.1 diff --git a/tutorials/dieselFoam/aachenBomb/chemkin/chem.inp.full b/tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp.full similarity index 100% rename from tutorials/dieselFoam/aachenBomb/chemkin/chem.inp.full rename to tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp.full diff --git a/tutorials/dieselFoam/aachenBomb/chemkin/chem.inp_15 b/tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp_15 similarity index 100% rename from tutorials/dieselFoam/aachenBomb/chemkin/chem.inp_15 rename to tutorials/combustion/dieselFoam/aachenBomb/chemkin/chem.inp_15 diff --git a/tutorials/dieselFoam/aachenBomb/chemkin/therm.dat b/tutorials/combustion/dieselFoam/aachenBomb/chemkin/therm.dat similarity index 100% rename from tutorials/dieselFoam/aachenBomb/chemkin/therm.dat rename to tutorials/combustion/dieselFoam/aachenBomb/chemkin/therm.dat diff --git a/tutorials/dieselFoam/aachenBomb/constant/RASProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/RASProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/chemistryProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/chemistryProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/combustionProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/combustionProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties diff --git a/tutorials/buoyantFoam/hotRoom/constant/environmentalProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/environmentalProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/injectorProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/injectorProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/polyMesh/blockMeshDict b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/polyMesh/blockMeshDict rename to tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/blockMeshDict diff --git a/tutorials/dieselFoam/aachenBomb/constant/polyMesh/boundary b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/polyMesh/boundary rename to tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary diff --git a/tutorials/dieselFoam/aachenBomb/constant/sprayProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/sprayProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/thermophysicalProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/thermophysicalProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/turbulenceProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/turbulenceProperties rename to tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties diff --git a/tutorials/dieselFoam/aachenBomb/system/controlDict b/tutorials/combustion/dieselFoam/aachenBomb/system/controlDict similarity index 100% rename from tutorials/dieselFoam/aachenBomb/system/controlDict rename to tutorials/combustion/dieselFoam/aachenBomb/system/controlDict diff --git a/tutorials/dieselFoam/aachenBomb/system/fvSchemes b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes similarity index 100% rename from tutorials/dieselFoam/aachenBomb/system/fvSchemes rename to tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes diff --git a/tutorials/dieselFoam/aachenBomb/system/fvSolution b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution similarity index 100% rename from tutorials/dieselFoam/aachenBomb/system/fvSolution rename to tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution diff --git a/tutorials/engineFoam/kivaTest/-180/Su.gz b/tutorials/combustion/engineFoam/kivaTest/-180/Su.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/Su.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/Su.gz diff --git a/tutorials/engineFoam/kivaTest/-180/T.gz b/tutorials/combustion/engineFoam/kivaTest/-180/T.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/T.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/T.gz diff --git a/tutorials/engineFoam/kivaTest/-180/Tu.gz b/tutorials/combustion/engineFoam/kivaTest/-180/Tu.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/Tu.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/Tu.gz diff --git a/tutorials/engineFoam/kivaTest/-180/U.gz b/tutorials/combustion/engineFoam/kivaTest/-180/U.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/U.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/U.gz diff --git a/tutorials/engineFoam/kivaTest/-180/Xi.gz b/tutorials/combustion/engineFoam/kivaTest/-180/Xi.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/Xi.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/Xi.gz diff --git a/tutorials/engineFoam/kivaTest/-180/b.gz b/tutorials/combustion/engineFoam/kivaTest/-180/b.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/b.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/b.gz diff --git a/tutorials/engineFoam/kivaTest/-180/epsilon.gz b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/epsilon.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/epsilon.gz diff --git a/tutorials/engineFoam/kivaTest/-180/ft.gz b/tutorials/combustion/engineFoam/kivaTest/-180/ft.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/ft.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/ft.gz diff --git a/tutorials/engineFoam/kivaTest/-180/fu.gz b/tutorials/combustion/engineFoam/kivaTest/-180/fu.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/fu.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/fu.gz diff --git a/tutorials/engineFoam/kivaTest/-180/k.gz b/tutorials/combustion/engineFoam/kivaTest/-180/k.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/k.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/k.gz diff --git a/tutorials/engineFoam/kivaTest/-180/p.gz b/tutorials/combustion/engineFoam/kivaTest/-180/p.gz similarity index 100% rename from tutorials/engineFoam/kivaTest/-180/p.gz rename to tutorials/combustion/engineFoam/kivaTest/-180/p.gz diff --git a/tutorials/engineFoam/kivaTest/Allclean b/tutorials/combustion/engineFoam/kivaTest/Allclean similarity index 100% rename from tutorials/engineFoam/kivaTest/Allclean rename to tutorials/combustion/engineFoam/kivaTest/Allclean diff --git a/tutorials/engineFoam/kivaTest/Allrun b/tutorials/combustion/engineFoam/kivaTest/Allrun similarity index 100% rename from tutorials/engineFoam/kivaTest/Allrun rename to tutorials/combustion/engineFoam/kivaTest/Allrun diff --git a/tutorials/engineFoam/kivaTest/constant/RASProperties b/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/RASProperties rename to tutorials/combustion/engineFoam/kivaTest/constant/RASProperties diff --git a/tutorials/engineFoam/kivaTest/constant/combustionProperties b/tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/combustionProperties rename to tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties diff --git a/tutorials/engineFoam/kivaTest/constant/engineGeometry b/tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/engineGeometry rename to tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry diff --git a/tutorials/engineFoam/kivaTest/constant/environmentalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/environmentalProperties rename to tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties diff --git a/tutorials/engineFoam/kivaTest/constant/polyMesh/boundary b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/polyMesh/boundary rename to tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary diff --git a/tutorials/engineFoam/kivaTest/constant/polyMesh/boundary.org b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary.org similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/polyMesh/boundary.org rename to tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary.org diff --git a/tutorials/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties similarity index 100% rename from tutorials/engineFoam/kivaTest/constant/thermophysicalProperties rename to tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties diff --git a/tutorials/engineFoam/kivaTest/otape17 b/tutorials/combustion/engineFoam/kivaTest/otape17 similarity index 100% rename from tutorials/engineFoam/kivaTest/otape17 rename to tutorials/combustion/engineFoam/kivaTest/otape17 diff --git a/tutorials/engineFoam/kivaTest/system/controlDict b/tutorials/combustion/engineFoam/kivaTest/system/controlDict similarity index 100% rename from tutorials/engineFoam/kivaTest/system/controlDict rename to tutorials/combustion/engineFoam/kivaTest/system/controlDict diff --git a/tutorials/engineFoam/kivaTest/system/controlDict.1st b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st similarity index 100% rename from tutorials/engineFoam/kivaTest/system/controlDict.1st rename to tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st diff --git a/tutorials/engineFoam/kivaTest/system/controlDict.2nd b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd similarity index 100% rename from tutorials/engineFoam/kivaTest/system/controlDict.2nd rename to tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd diff --git a/tutorials/engineFoam/kivaTest/system/fvSchemes b/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes similarity index 100% rename from tutorials/engineFoam/kivaTest/system/fvSchemes rename to tutorials/combustion/engineFoam/kivaTest/system/fvSchemes diff --git a/tutorials/engineFoam/kivaTest/system/fvSolution b/tutorials/combustion/engineFoam/kivaTest/system/fvSolution similarity index 100% rename from tutorials/engineFoam/kivaTest/system/fvSolution rename to tutorials/combustion/engineFoam/kivaTest/system/fvSolution diff --git a/tutorials/rhoCentralFoam/Allclean b/tutorials/compressible/rhoCentralFoam/Allclean similarity index 100% rename from tutorials/rhoCentralFoam/Allclean rename to tutorials/compressible/rhoCentralFoam/Allclean diff --git a/tutorials/rhoCentralFoam/Allrun b/tutorials/compressible/rhoCentralFoam/Allrun similarity index 100% rename from tutorials/rhoCentralFoam/Allrun rename to tutorials/compressible/rhoCentralFoam/Allrun diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/T b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/T similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/T rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/T diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/U b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/U similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/U rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/U diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/p b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/p similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0.org/p rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0.org/p diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0/T b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/T similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0/T rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/T diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0/U b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/U similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0/U rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/U diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/0/p b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/p similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/0/p rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/0/p diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/README b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/README similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/README rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/README diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/polyMesh/boundary diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/controlDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/controlDict rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/fvSolution b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/machines b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/machines similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/machines rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/machines diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict diff --git a/tutorials/rhoCentralFoam/LadenburgJet60psi/system/sampleDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict similarity index 100% rename from tutorials/rhoCentralFoam/LadenburgJet60psi/system/sampleDict rename to tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/0/T b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/T similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/0/T rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/T diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/0/U b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/U similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/0/U rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/U diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/0/p b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/p similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/0/p rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/0/p diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/README b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/README similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/README rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/README diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/constant/points.tmp b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/points.tmp similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/constant/points.tmp rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/points.tmp diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/constant/pointsHeader b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/pointsHeader similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/constant/pointsHeader rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/pointsHeader diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/constant/wedgeScr b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/wedgeScr similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/constant/wedgeScr rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/wedgeScr diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/files b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/files similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/files rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/files diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/grid256.dat b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/grid256.dat similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/grid256.dat rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/grid256.dat diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/sampleCone b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/sampleCone similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/sampleCone rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/sampleCone diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/system/controlDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/system/controlDict rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/system/fvSolution b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution diff --git a/tutorials/rhoCentralFoam/biconic25-55Run35/system/sampleDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict similarity index 100% rename from tutorials/rhoCentralFoam/biconic25-55Run35/system/sampleDict rename to tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict diff --git a/tutorials/rhoCentralFoam/forwardStep/0/Ma b/tutorials/compressible/rhoCentralFoam/forwardStep/0/Ma similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/0/Ma rename to tutorials/compressible/rhoCentralFoam/forwardStep/0/Ma diff --git a/tutorials/rhoCentralFoam/forwardStep/0/T b/tutorials/compressible/rhoCentralFoam/forwardStep/0/T similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/0/T rename to tutorials/compressible/rhoCentralFoam/forwardStep/0/T diff --git a/tutorials/rhoCentralFoam/forwardStep/0/U b/tutorials/compressible/rhoCentralFoam/forwardStep/0/U similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/0/U rename to tutorials/compressible/rhoCentralFoam/forwardStep/0/U diff --git a/tutorials/rhoCentralFoam/forwardStep/0/p b/tutorials/compressible/rhoCentralFoam/forwardStep/0/p similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/0/p rename to tutorials/compressible/rhoCentralFoam/forwardStep/0/p diff --git a/tutorials/rhoCentralFoam/forwardStep/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/forwardStep/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/forwardStep/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/constant/polyMesh/boundary rename to tutorials/compressible/rhoCentralFoam/forwardStep/constant/polyMesh/boundary diff --git a/tutorials/rhoCentralFoam/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/forwardStep/system/controlDict b/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/system/controlDict rename to tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict diff --git a/tutorials/rhoCentralFoam/forwardStep/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/forwardStep/system/fvSolution b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/forwardStep/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution diff --git a/tutorials/rhoCentralFoam/obliqueShock/0/T b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/T similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/0/T rename to tutorials/compressible/rhoCentralFoam/obliqueShock/0/T diff --git a/tutorials/rhoCentralFoam/obliqueShock/0/U b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/U similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/0/U rename to tutorials/compressible/rhoCentralFoam/obliqueShock/0/U diff --git a/tutorials/rhoCentralFoam/obliqueShock/0/p b/tutorials/compressible/rhoCentralFoam/obliqueShock/0/p similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/0/p rename to tutorials/compressible/rhoCentralFoam/obliqueShock/0/p diff --git a/tutorials/rhoCentralFoam/obliqueShock/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary rename to tutorials/compressible/rhoCentralFoam/obliqueShock/constant/polyMesh/boundary diff --git a/tutorials/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/obliqueShock/system/controlDict b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/system/controlDict rename to tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict diff --git a/tutorials/rhoCentralFoam/obliqueShock/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/obliqueShock/system/fvSolution b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/obliqueShock/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution diff --git a/tutorials/rhoCentralFoam/shockTube/0.org/T b/tutorials/compressible/rhoCentralFoam/shockTube/0.org/T similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0.org/T rename to tutorials/compressible/rhoCentralFoam/shockTube/0.org/T diff --git a/tutorials/rhoCentralFoam/shockTube/0.org/U b/tutorials/compressible/rhoCentralFoam/shockTube/0.org/U similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0.org/U rename to tutorials/compressible/rhoCentralFoam/shockTube/0.org/U diff --git a/tutorials/rhoCentralFoam/shockTube/0.org/p b/tutorials/compressible/rhoCentralFoam/shockTube/0.org/p similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0.org/p rename to tutorials/compressible/rhoCentralFoam/shockTube/0.org/p diff --git a/tutorials/rhoCentralFoam/shockTube/0/T b/tutorials/compressible/rhoCentralFoam/shockTube/0/T similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0/T rename to tutorials/compressible/rhoCentralFoam/shockTube/0/T diff --git a/tutorials/rhoCentralFoam/shockTube/0/U b/tutorials/compressible/rhoCentralFoam/shockTube/0/U similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0/U rename to tutorials/compressible/rhoCentralFoam/shockTube/0/U diff --git a/tutorials/rhoCentralFoam/shockTube/0/p b/tutorials/compressible/rhoCentralFoam/shockTube/0/p similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/0/p rename to tutorials/compressible/rhoCentralFoam/shockTube/0/p diff --git a/tutorials/rhoCentralFoam/shockTube/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/shockTube/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/constant/polyMesh/boundary rename to tutorials/compressible/rhoCentralFoam/shockTube/constant/polyMesh/boundary diff --git a/tutorials/rhoCentralFoam/shockTube/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/shockTube/system/controlDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/system/controlDict rename to tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict diff --git a/tutorials/rhoCentralFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/shockTube/system/fvSolution b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution diff --git a/tutorials/rhoCentralFoam/shockTube/system/sampleDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/system/sampleDict rename to tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict diff --git a/tutorials/rhoCentralFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict similarity index 100% rename from tutorials/rhoCentralFoam/shockTube/system/setFieldsDict rename to tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/0/T b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/0/T rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/T diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/0/U b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/0/U rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/U diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/0/p b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/0/p rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/0/p diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/constant/polyMesh/boundary rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/polyMesh/boundary diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/system/controlDict b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/system/controlDict rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/system/fvSchemes rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes diff --git a/tutorials/rhoCentralFoam/wedge15Ma5/system/fvSolution b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution similarity index 100% rename from tutorials/rhoCentralFoam/wedge15Ma5/system/fvSolution rename to tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution diff --git a/tutorials/rhoPimpleFoam/angledDuct/0/T b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/T similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/0/T rename to tutorials/compressible/rhoPimpleFoam/angledDuct/0/T diff --git a/tutorials/rhoPimpleFoam/angledDuct/0/U b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/U similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/0/U rename to tutorials/compressible/rhoPimpleFoam/angledDuct/0/U diff --git a/tutorials/rhoPimpleFoam/angledDuct/0/epsilon b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/0/epsilon rename to tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon diff --git a/tutorials/rhoPimpleFoam/angledDuct/0/k b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/k similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/0/k rename to tutorials/compressible/rhoPimpleFoam/angledDuct/0/k diff --git a/tutorials/rhoPimpleFoam/angledDuct/0/p b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/p similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/0/p rename to tutorials/compressible/rhoPimpleFoam/angledDuct/0/p diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/RASProperties b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/RASProperties rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/polyMesh/boundary diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/porousZones b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/porousZones rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones diff --git a/tutorials/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties rename to tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties diff --git a/tutorials/rhoPimpleFoam/angledDuct/system/controlDict b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/system/controlDict rename to tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict diff --git a/tutorials/rhoPimpleFoam/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/system/fvSchemes rename to tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes diff --git a/tutorials/rhoPimpleFoam/angledDuct/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution similarity index 100% rename from tutorials/rhoPimpleFoam/angledDuct/system/fvSolution rename to tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution diff --git a/tutorials/pisoFoam/les/pitzDaily/0/B b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/B similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/B rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/B diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/T b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/T similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/T rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/T diff --git a/tutorials/pisoFoam/les/pitzDaily/0/U b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/U similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/U rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/U diff --git a/tutorials/pisoFoam/les/pitzDaily/0/k b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/k similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/k rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/k diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/muSgs b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/muSgs similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/muSgs rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/muSgs diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/muTilda b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/muTilda similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/muTilda rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/muTilda diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/p b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/p similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/p rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/0/p diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/constant/LESProperties b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/constant/LESProperties rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/constant/polyMesh/boundary rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/polyMesh/boundary diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/system/controlDict b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/system/controlDict rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/system/fvSchemes rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/system/fvSolution b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/system/fvSolution rename to tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution diff --git a/tutorials/pisoFoam/ras/cavity/0/R b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/R similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/R rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/R diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/T b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/T similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/T rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/T diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/U b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/U similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/U rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/U diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/epsilon b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/epsilon similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/epsilon rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/epsilon diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/k b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/k similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/k rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/k diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/omega b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/omega rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/p b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/p similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/p rename to tutorials/compressible/rhoPisoFoam/ras/cavity/0/p diff --git a/tutorials/rhoPisoFoam/ras/cavity/constant/RASProperties b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/constant/RASProperties rename to tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties diff --git a/tutorials/pisoFoam/ras/cavity/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/pisoFoam/ras/cavity/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoPisoFoam/ras/cavity/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoPisoFoam/ras/cavity/constant/polyMesh/boundary b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/constant/polyMesh/boundary rename to tutorials/compressible/rhoPisoFoam/ras/cavity/constant/polyMesh/boundary diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties rename to tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties diff --git a/tutorials/rhoPisoFoam/ras/cavity/system/controlDict b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/system/controlDict rename to tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict diff --git a/tutorials/rhoPisoFoam/ras/cavity/system/fvSchemes b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/system/fvSchemes rename to tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes diff --git a/tutorials/rhoPisoFoam/ras/cavity/system/fvSolution b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/system/fvSolution rename to tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctExplicit/0 b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/0 similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctExplicit/0 rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/0 diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctExplicit/constant b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/constant similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctExplicit/constant rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/constant diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/T b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/T similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/T rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/T diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/U b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/U similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/U rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/U diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/epsilon diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/k b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/k rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/k diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/p b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/p similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/0/p rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/0/p diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes diff --git a/tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution similarity index 100% rename from tutorials/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution diff --git a/tutorials/rhoSonicFoam/forwardStep/0/T b/tutorials/compressible/rhoSonicFoam/forwardStep/0/T similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/0/T rename to tutorials/compressible/rhoSonicFoam/forwardStep/0/T diff --git a/tutorials/rhoSonicFoam/forwardStep/0/U b/tutorials/compressible/rhoSonicFoam/forwardStep/0/U similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/0/U rename to tutorials/compressible/rhoSonicFoam/forwardStep/0/U diff --git a/tutorials/rhoSonicFoam/forwardStep/0/p b/tutorials/compressible/rhoSonicFoam/forwardStep/0/p similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/0/p rename to tutorials/compressible/rhoSonicFoam/forwardStep/0/p diff --git a/tutorials/rhoSonicFoam/forwardStep/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoSonicFoam/forwardStep/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoSonicFoam/forwardStep/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoSonicFoam/forwardStep/constant/polyMesh/boundary b/tutorials/compressible/rhoSonicFoam/forwardStep/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/constant/polyMesh/boundary rename to tutorials/compressible/rhoSonicFoam/forwardStep/constant/polyMesh/boundary diff --git a/tutorials/rhoSonicFoam/forwardStep/constant/thermodynamicProperties b/tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/constant/thermodynamicProperties rename to tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties diff --git a/tutorials/rhoSonicFoam/forwardStep/system/controlDict b/tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/system/controlDict rename to tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict diff --git a/tutorials/rhoSonicFoam/forwardStep/system/fvSchemes b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/system/fvSchemes rename to tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes diff --git a/tutorials/rhoSonicFoam/forwardStep/system/fvSolution b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution similarity index 100% rename from tutorials/rhoSonicFoam/forwardStep/system/fvSolution rename to tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution diff --git a/tutorials/rhoSonicFoam/shockTube/0.org/T b/tutorials/compressible/rhoSonicFoam/shockTube/0.org/T similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0.org/T rename to tutorials/compressible/rhoSonicFoam/shockTube/0.org/T diff --git a/tutorials/rhoSonicFoam/shockTube/0.org/U b/tutorials/compressible/rhoSonicFoam/shockTube/0.org/U similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0.org/U rename to tutorials/compressible/rhoSonicFoam/shockTube/0.org/U diff --git a/tutorials/rhoSonicFoam/shockTube/0.org/magU b/tutorials/compressible/rhoSonicFoam/shockTube/0.org/magU similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0.org/magU rename to tutorials/compressible/rhoSonicFoam/shockTube/0.org/magU diff --git a/tutorials/rhoSonicFoam/shockTube/0.org/p b/tutorials/compressible/rhoSonicFoam/shockTube/0.org/p similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0.org/p rename to tutorials/compressible/rhoSonicFoam/shockTube/0.org/p diff --git a/tutorials/rhoSonicFoam/shockTube/0/T b/tutorials/compressible/rhoSonicFoam/shockTube/0/T similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0/T rename to tutorials/compressible/rhoSonicFoam/shockTube/0/T diff --git a/tutorials/rhoSonicFoam/shockTube/0/U b/tutorials/compressible/rhoSonicFoam/shockTube/0/U similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0/U rename to tutorials/compressible/rhoSonicFoam/shockTube/0/U diff --git a/tutorials/rhoSonicFoam/shockTube/0/magU b/tutorials/compressible/rhoSonicFoam/shockTube/0/magU similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0/magU rename to tutorials/compressible/rhoSonicFoam/shockTube/0/magU diff --git a/tutorials/rhoSonicFoam/shockTube/0/p b/tutorials/compressible/rhoSonicFoam/shockTube/0/p similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/0/p rename to tutorials/compressible/rhoSonicFoam/shockTube/0/p diff --git a/tutorials/rhoSonicFoam/shockTube/Allrun b/tutorials/compressible/rhoSonicFoam/shockTube/Allrun similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/Allrun rename to tutorials/compressible/rhoSonicFoam/shockTube/Allrun diff --git a/tutorials/rhoSonicFoam/shockTube/constant/initProperties b/tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/constant/initProperties rename to tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties diff --git a/tutorials/rhoSonicFoam/shockTube/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoSonicFoam/shockTube/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhoSonicFoam/shockTube/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhoSonicFoam/shockTube/constant/polyMesh/boundary b/tutorials/compressible/rhoSonicFoam/shockTube/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/constant/polyMesh/boundary rename to tutorials/compressible/rhoSonicFoam/shockTube/constant/polyMesh/boundary diff --git a/tutorials/rhoSonicFoam/shockTube/constant/thermodynamicProperties b/tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/constant/thermodynamicProperties rename to tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties diff --git a/tutorials/rhoSonicFoam/shockTube/system/controlDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/system/controlDict rename to tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict diff --git a/tutorials/rhoSonicFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/system/fvSchemes rename to tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes diff --git a/tutorials/rhoSonicFoam/shockTube/system/fvSolution b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/system/fvSolution rename to tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution diff --git a/tutorials/rhoSonicFoam/shockTube/system/sampleDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/system/sampleDict rename to tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict diff --git a/tutorials/rhoSonicFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict similarity index 100% rename from tutorials/rhoSonicFoam/shockTube/system/setFieldsDict rename to tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict diff --git a/tutorials/rhopSonicFoam/shockTube/0.org/T b/tutorials/compressible/rhopSonicFoam/shockTube/0.org/T similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0.org/T rename to tutorials/compressible/rhopSonicFoam/shockTube/0.org/T diff --git a/tutorials/rhopSonicFoam/shockTube/0.org/U b/tutorials/compressible/rhopSonicFoam/shockTube/0.org/U similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0.org/U rename to tutorials/compressible/rhopSonicFoam/shockTube/0.org/U diff --git a/tutorials/rhopSonicFoam/shockTube/0.org/p b/tutorials/compressible/rhopSonicFoam/shockTube/0.org/p similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0.org/p rename to tutorials/compressible/rhopSonicFoam/shockTube/0.org/p diff --git a/tutorials/rhopSonicFoam/shockTube/0/T b/tutorials/compressible/rhopSonicFoam/shockTube/0/T similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0/T rename to tutorials/compressible/rhopSonicFoam/shockTube/0/T diff --git a/tutorials/rhopSonicFoam/shockTube/0/U b/tutorials/compressible/rhopSonicFoam/shockTube/0/U similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0/U rename to tutorials/compressible/rhopSonicFoam/shockTube/0/U diff --git a/tutorials/rhopSonicFoam/shockTube/0/p b/tutorials/compressible/rhopSonicFoam/shockTube/0/p similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/0/p rename to tutorials/compressible/rhopSonicFoam/shockTube/0/p diff --git a/tutorials/rhopSonicFoam/shockTube/Allclean b/tutorials/compressible/rhopSonicFoam/shockTube/Allclean similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/Allclean rename to tutorials/compressible/rhopSonicFoam/shockTube/Allclean diff --git a/tutorials/rhopSonicFoam/shockTube/Allrun b/tutorials/compressible/rhopSonicFoam/shockTube/Allrun similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/Allrun rename to tutorials/compressible/rhopSonicFoam/shockTube/Allrun diff --git a/tutorials/rhopSonicFoam/shockTube/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhopSonicFoam/shockTube/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhopSonicFoam/shockTube/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhopSonicFoam/shockTube/constant/polyMesh/boundary b/tutorials/compressible/rhopSonicFoam/shockTube/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/constant/polyMesh/boundary rename to tutorials/compressible/rhopSonicFoam/shockTube/constant/polyMesh/boundary diff --git a/tutorials/rhopSonicFoam/shockTube/constant/thermodynamicProperties b/tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/constant/thermodynamicProperties rename to tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties diff --git a/tutorials/rhopSonicFoam/shockTube/system/controlDict b/tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/system/controlDict rename to tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict diff --git a/tutorials/rhopSonicFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/system/fvSchemes rename to tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes diff --git a/tutorials/rhopSonicFoam/shockTube/system/fvSolution b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/system/fvSolution rename to tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution diff --git a/tutorials/rhopSonicFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict similarity index 100% rename from tutorials/rhopSonicFoam/shockTube/system/setFieldsDict rename to tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/0/T b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/T similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/0/T rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/T diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/0/U b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/U similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/0/U rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/U diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/0/p b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/p similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/0/p rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/0/p diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/constant/polyMesh/blockMeshDict rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/polyMesh/blockMeshDict diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/constant/polyMesh/boundary b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/polyMesh/boundary similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/constant/polyMesh/boundary rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/polyMesh/boundary diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/system/controlDict b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/system/controlDict rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/system/fvSchemes b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/system/fvSchemes rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes diff --git a/tutorials/rhopSonicFoam/wedge15Ma5/system/fvSolution b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution similarity index 100% rename from tutorials/rhopSonicFoam/wedge15Ma5/system/fvSolution rename to tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution diff --git a/tutorials/sonicFoam/forwardStep/0/T b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/T similarity index 100% rename from tutorials/sonicFoam/forwardStep/0/T rename to tutorials/compressible/sonicFoam/laminar/forwardStep/0/T diff --git a/tutorials/sonicFoam/forwardStep/0/U b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/U similarity index 100% rename from tutorials/sonicFoam/forwardStep/0/U rename to tutorials/compressible/sonicFoam/laminar/forwardStep/0/U diff --git a/tutorials/sonicFoam/forwardStep/0/p b/tutorials/compressible/sonicFoam/laminar/forwardStep/0/p similarity index 100% rename from tutorials/sonicFoam/forwardStep/0/p rename to tutorials/compressible/sonicFoam/laminar/forwardStep/0/p diff --git a/tutorials/sonicFoam/forwardStep/constant/polyMesh/blockMeshDict b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/sonicFoam/forwardStep/constant/polyMesh/blockMeshDict rename to tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/blockMeshDict diff --git a/tutorials/sonicFoam/forwardStep/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary similarity index 100% rename from tutorials/sonicFoam/forwardStep/constant/polyMesh/boundary rename to tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh/boundary diff --git a/tutorials/sonicFoam/forwardStep/constant/thermodynamicProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties similarity index 100% rename from tutorials/sonicFoam/forwardStep/constant/thermodynamicProperties rename to tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties diff --git a/tutorials/sonicFoam/forwardStep/constant/transportProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties similarity index 100% rename from tutorials/sonicFoam/forwardStep/constant/transportProperties rename to tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties diff --git a/tutorials/sonicFoam/forwardStep/system/controlDict b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict similarity index 100% rename from tutorials/sonicFoam/forwardStep/system/controlDict rename to tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict diff --git a/tutorials/sonicFoam/forwardStep/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes similarity index 100% rename from tutorials/sonicFoam/forwardStep/system/fvSchemes rename to tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes diff --git a/tutorials/sonicFoam/forwardStep/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution similarity index 100% rename from tutorials/sonicFoam/forwardStep/system/fvSolution rename to tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution diff --git a/tutorials/sonicFoam/shockTube/0.org/T b/tutorials/compressible/sonicFoam/laminar/shockTube/0.org/T similarity index 100% rename from tutorials/sonicFoam/shockTube/0.org/T rename to tutorials/compressible/sonicFoam/laminar/shockTube/0.org/T diff --git a/tutorials/sonicFoam/shockTube/0.org/U b/tutorials/compressible/sonicFoam/laminar/shockTube/0.org/U similarity index 100% rename from tutorials/sonicFoam/shockTube/0.org/U rename to tutorials/compressible/sonicFoam/laminar/shockTube/0.org/U diff --git a/tutorials/sonicFoam/shockTube/0.org/magU b/tutorials/compressible/sonicFoam/laminar/shockTube/0.org/magU similarity index 100% rename from tutorials/sonicFoam/shockTube/0.org/magU rename to tutorials/compressible/sonicFoam/laminar/shockTube/0.org/magU diff --git a/tutorials/sonicFoam/shockTube/0.org/p b/tutorials/compressible/sonicFoam/laminar/shockTube/0.org/p similarity index 100% rename from tutorials/sonicFoam/shockTube/0.org/p rename to tutorials/compressible/sonicFoam/laminar/shockTube/0.org/p diff --git a/tutorials/sonicFoam/shockTube/0/T b/tutorials/compressible/sonicFoam/laminar/shockTube/0/T similarity index 100% rename from tutorials/sonicFoam/shockTube/0/T rename to tutorials/compressible/sonicFoam/laminar/shockTube/0/T diff --git a/tutorials/sonicFoam/shockTube/0/U b/tutorials/compressible/sonicFoam/laminar/shockTube/0/U similarity index 100% rename from tutorials/sonicFoam/shockTube/0/U rename to tutorials/compressible/sonicFoam/laminar/shockTube/0/U diff --git a/tutorials/sonicFoam/shockTube/0/magU b/tutorials/compressible/sonicFoam/laminar/shockTube/0/magU similarity index 100% rename from tutorials/sonicFoam/shockTube/0/magU rename to tutorials/compressible/sonicFoam/laminar/shockTube/0/magU diff --git a/tutorials/sonicFoam/shockTube/0/p b/tutorials/compressible/sonicFoam/laminar/shockTube/0/p similarity index 100% rename from tutorials/sonicFoam/shockTube/0/p rename to tutorials/compressible/sonicFoam/laminar/shockTube/0/p diff --git a/tutorials/sonicFoam/shockTube/Allclean b/tutorials/compressible/sonicFoam/laminar/shockTube/Allclean similarity index 100% rename from tutorials/sonicFoam/shockTube/Allclean rename to tutorials/compressible/sonicFoam/laminar/shockTube/Allclean diff --git a/tutorials/sonicFoam/shockTube/Allrun b/tutorials/compressible/sonicFoam/laminar/shockTube/Allrun similarity index 100% rename from tutorials/sonicFoam/shockTube/Allrun rename to tutorials/compressible/sonicFoam/laminar/shockTube/Allrun diff --git a/tutorials/sonicFoam/shockTube/constant/polyMesh/blockMeshDict b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/sonicFoam/shockTube/constant/polyMesh/blockMeshDict rename to tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/blockMeshDict diff --git a/tutorials/sonicFoam/shockTube/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary similarity index 100% rename from tutorials/sonicFoam/shockTube/constant/polyMesh/boundary rename to tutorials/compressible/sonicFoam/laminar/shockTube/constant/polyMesh/boundary diff --git a/tutorials/sonicFoam/shockTube/constant/thermodynamicProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties similarity index 100% rename from tutorials/sonicFoam/shockTube/constant/thermodynamicProperties rename to tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties diff --git a/tutorials/sonicFoam/shockTube/constant/transportProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties similarity index 100% rename from tutorials/sonicFoam/shockTube/constant/transportProperties rename to tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties diff --git a/tutorials/sonicFoam/shockTube/system/controlDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict similarity index 100% rename from tutorials/sonicFoam/shockTube/system/controlDict rename to tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict diff --git a/tutorials/sonicFoam/shockTube/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes similarity index 100% rename from tutorials/sonicFoam/shockTube/system/fvSchemes rename to tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes diff --git a/tutorials/sonicFoam/shockTube/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution similarity index 100% rename from tutorials/sonicFoam/shockTube/system/fvSolution rename to tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution diff --git a/tutorials/sonicFoam/shockTube/system/sampleDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict similarity index 100% rename from tutorials/sonicFoam/shockTube/system/sampleDict rename to tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict diff --git a/tutorials/sonicFoam/shockTube/system/setFieldsDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict similarity index 100% rename from tutorials/sonicFoam/shockTube/system/setFieldsDict rename to tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict diff --git a/tutorials/sonicTurbFoam/Allrun b/tutorials/compressible/sonicFoam/ras/Allrun similarity index 100% rename from tutorials/sonicTurbFoam/Allrun rename to tutorials/compressible/sonicFoam/ras/Allrun diff --git a/tutorials/sonicTurbFoam/Running_Notes b/tutorials/compressible/sonicFoam/ras/Running_Notes similarity index 100% rename from tutorials/sonicTurbFoam/Running_Notes rename to tutorials/compressible/sonicFoam/ras/Running_Notes diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/0/T b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/T similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/0/T rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/T diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/0/U b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/U similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/0/U rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/U diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/0/epsilon b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/0/epsilon rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/0/k b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/0/k rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/0/p b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/p similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/0/p rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/p diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/constant/RASProperties rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/constant/polyMesh/boundary rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/constant/polyMesh/boundary.org b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/constant/polyMesh/boundary.org rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/polyMesh/boundary.org diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/constant/thermophysicalProperties rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.bnd.gz b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.bnd.gz similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.bnd.gz rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.bnd.gz diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.cel.gz b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.cel.gz similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.cel.gz rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.cel.gz diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.vrt.gz b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.vrt.gz similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/prostar/nacaAirfoil.vrt.gz rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.vrt.gz diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/system/controlDict b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/system/controlDict rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/system/fvSchemes rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes diff --git a/tutorials/sonicTurbFoam/nacaAirfoil/system/fvSolution b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution similarity index 100% rename from tutorials/sonicTurbFoam/nacaAirfoil/system/fvSolution rename to tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution diff --git a/tutorials/sonicTurbFoam/prism/0/T b/tutorials/compressible/sonicFoam/ras/prism/0/T similarity index 100% rename from tutorials/sonicTurbFoam/prism/0/T rename to tutorials/compressible/sonicFoam/ras/prism/0/T diff --git a/tutorials/sonicTurbFoam/prism/0/U b/tutorials/compressible/sonicFoam/ras/prism/0/U similarity index 100% rename from tutorials/sonicTurbFoam/prism/0/U rename to tutorials/compressible/sonicFoam/ras/prism/0/U diff --git a/tutorials/sonicTurbFoam/prism/0/epsilon b/tutorials/compressible/sonicFoam/ras/prism/0/epsilon similarity index 100% rename from tutorials/sonicTurbFoam/prism/0/epsilon rename to tutorials/compressible/sonicFoam/ras/prism/0/epsilon diff --git a/tutorials/sonicTurbFoam/prism/0/k b/tutorials/compressible/sonicFoam/ras/prism/0/k similarity index 100% rename from tutorials/sonicTurbFoam/prism/0/k rename to tutorials/compressible/sonicFoam/ras/prism/0/k diff --git a/tutorials/sonicTurbFoam/prism/0/p b/tutorials/compressible/sonicFoam/ras/prism/0/p similarity index 100% rename from tutorials/sonicTurbFoam/prism/0/p rename to tutorials/compressible/sonicFoam/ras/prism/0/p diff --git a/tutorials/sonicTurbFoam/prism/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties similarity index 100% rename from tutorials/sonicTurbFoam/prism/constant/RASProperties rename to tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties diff --git a/tutorials/sonicTurbFoam/prism/constant/polyMesh/blockMeshDict b/tutorials/compressible/sonicFoam/ras/prism/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/sonicTurbFoam/prism/constant/polyMesh/blockMeshDict rename to tutorials/compressible/sonicFoam/ras/prism/constant/polyMesh/blockMeshDict diff --git a/tutorials/sonicTurbFoam/prism/constant/polyMesh/boundary b/tutorials/compressible/sonicFoam/ras/prism/constant/polyMesh/boundary similarity index 100% rename from tutorials/sonicTurbFoam/prism/constant/polyMesh/boundary rename to tutorials/compressible/sonicFoam/ras/prism/constant/polyMesh/boundary diff --git a/tutorials/sonicTurbFoam/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties similarity index 100% rename from tutorials/sonicTurbFoam/prism/constant/thermophysicalProperties rename to tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties diff --git a/tutorials/sonicTurbFoam/prism/system/controlDict b/tutorials/compressible/sonicFoam/ras/prism/system/controlDict similarity index 100% rename from tutorials/sonicTurbFoam/prism/system/controlDict rename to tutorials/compressible/sonicFoam/ras/prism/system/controlDict diff --git a/tutorials/sonicTurbFoam/prism/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes similarity index 100% rename from tutorials/sonicTurbFoam/prism/system/fvSchemes rename to tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes diff --git a/tutorials/sonicTurbFoam/prism/system/fvSolution b/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution similarity index 100% rename from tutorials/sonicTurbFoam/prism/system/fvSolution rename to tutorials/compressible/sonicFoam/ras/prism/system/fvSolution diff --git a/tutorials/sonicLiquidFoam/Allclean b/tutorials/compressible/sonicLiquidFoam/Allclean similarity index 100% rename from tutorials/sonicLiquidFoam/Allclean rename to tutorials/compressible/sonicLiquidFoam/Allclean diff --git a/tutorials/sonicLiquidFoam/Allrun b/tutorials/compressible/sonicLiquidFoam/Allrun similarity index 100% rename from tutorials/sonicLiquidFoam/Allrun rename to tutorials/compressible/sonicLiquidFoam/Allrun diff --git a/tutorials/sonicLiquidFoam/decompressionTank/0/U b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/0/U rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/0/U diff --git a/tutorials/sonicLiquidFoam/decompressionTank/0/p b/tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/0/p rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/0/p diff --git a/tutorials/sonicLiquidFoam/decompressionTank/constant/polyMesh/blockMeshDict b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/constant/polyMesh/blockMeshDict rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/blockMeshDict diff --git a/tutorials/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/polyMesh/boundary diff --git a/tutorials/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties diff --git a/tutorials/sonicLiquidFoam/decompressionTank/constant/transportProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/constant/transportProperties rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties diff --git a/tutorials/sonicLiquidFoam/decompressionTank/system/controlDict b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/system/controlDict rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict diff --git a/tutorials/sonicLiquidFoam/decompressionTank/system/fvSchemes b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/system/fvSchemes rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes diff --git a/tutorials/sonicLiquidFoam/decompressionTank/system/fvSolution b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution similarity index 100% rename from tutorials/sonicLiquidFoam/decompressionTank/system/fvSolution rename to tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution diff --git a/tutorials/electrostaticFoam/chargedWire/0/phi b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/0/phi rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/0/phi diff --git a/tutorials/electrostaticFoam/chargedWire/0/rho b/tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/0/rho rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/0/rho diff --git a/tutorials/electrostaticFoam/chargedWire/constant/physicalProperties b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/constant/physicalProperties rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties diff --git a/tutorials/electrostaticFoam/chargedWire/constant/polyMesh/blockMeshDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/constant/polyMesh/blockMeshDict rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/polyMesh/blockMeshDict diff --git a/tutorials/electrostaticFoam/chargedWire/constant/polyMesh/boundary b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/polyMesh/boundary similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/constant/polyMesh/boundary rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/polyMesh/boundary diff --git a/tutorials/electrostaticFoam/chargedWire/system/controlDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/system/controlDict rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict diff --git a/tutorials/electrostaticFoam/chargedWire/system/fvSchemes b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/system/fvSchemes rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes diff --git a/tutorials/electrostaticFoam/chargedWire/system/fvSolution b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution similarity index 100% rename from tutorials/electrostaticFoam/chargedWire/system/fvSolution rename to tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution diff --git a/tutorials/mhdFoam/Allclean b/tutorials/electromagnetics/mhdFoam/Allclean similarity index 100% rename from tutorials/mhdFoam/Allclean rename to tutorials/electromagnetics/mhdFoam/Allclean diff --git a/tutorials/mhdFoam/Allrun b/tutorials/electromagnetics/mhdFoam/Allrun similarity index 100% rename from tutorials/mhdFoam/Allrun rename to tutorials/electromagnetics/mhdFoam/Allrun diff --git a/tutorials/mhdFoam/hartmann/0/B b/tutorials/electromagnetics/mhdFoam/hartmann/0/B similarity index 100% rename from tutorials/mhdFoam/hartmann/0/B rename to tutorials/electromagnetics/mhdFoam/hartmann/0/B diff --git a/tutorials/mhdFoam/hartmann/0/U b/tutorials/electromagnetics/mhdFoam/hartmann/0/U similarity index 100% rename from tutorials/mhdFoam/hartmann/0/U rename to tutorials/electromagnetics/mhdFoam/hartmann/0/U diff --git a/tutorials/mhdFoam/hartmann/0/p b/tutorials/electromagnetics/mhdFoam/hartmann/0/p similarity index 100% rename from tutorials/mhdFoam/hartmann/0/p rename to tutorials/electromagnetics/mhdFoam/hartmann/0/p diff --git a/tutorials/mhdFoam/hartmann/0/pB b/tutorials/electromagnetics/mhdFoam/hartmann/0/pB similarity index 100% rename from tutorials/mhdFoam/hartmann/0/pB rename to tutorials/electromagnetics/mhdFoam/hartmann/0/pB diff --git a/tutorials/mhdFoam/hartmann/constant/polyMesh/blockMeshDict b/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/mhdFoam/hartmann/constant/polyMesh/blockMeshDict rename to tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/blockMeshDict diff --git a/tutorials/mhdFoam/hartmann/constant/polyMesh/boundary b/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary similarity index 100% rename from tutorials/mhdFoam/hartmann/constant/polyMesh/boundary rename to tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary diff --git a/tutorials/mhdFoam/hartmann/constant/transportProperties b/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties similarity index 100% rename from tutorials/mhdFoam/hartmann/constant/transportProperties rename to tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties diff --git a/tutorials/mhdFoam/hartmann/system/controlDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict similarity index 100% rename from tutorials/mhdFoam/hartmann/system/controlDict rename to tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict diff --git a/tutorials/mhdFoam/hartmann/system/fvSchemes b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes similarity index 100% rename from tutorials/mhdFoam/hartmann/system/fvSchemes rename to tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes diff --git a/tutorials/mhdFoam/hartmann/system/fvSolution b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution similarity index 100% rename from tutorials/mhdFoam/hartmann/system/fvSolution rename to tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution diff --git a/tutorials/mhdFoam/hartmann/system/sampleDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict similarity index 100% rename from tutorials/mhdFoam/hartmann/system/sampleDict rename to tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict diff --git a/tutorials/financialFoam/europeanCall/0/V b/tutorials/financial/financialFoam/europeanCall/0/V similarity index 100% rename from tutorials/financialFoam/europeanCall/0/V rename to tutorials/financial/financialFoam/europeanCall/0/V diff --git a/tutorials/financialFoam/europeanCall/constant/financialProperties b/tutorials/financial/financialFoam/europeanCall/constant/financialProperties similarity index 100% rename from tutorials/financialFoam/europeanCall/constant/financialProperties rename to tutorials/financial/financialFoam/europeanCall/constant/financialProperties diff --git a/tutorials/financialFoam/europeanCall/constant/polyMesh/blockMeshDict b/tutorials/financial/financialFoam/europeanCall/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/financialFoam/europeanCall/constant/polyMesh/blockMeshDict rename to tutorials/financial/financialFoam/europeanCall/constant/polyMesh/blockMeshDict diff --git a/tutorials/financialFoam/europeanCall/constant/polyMesh/boundary b/tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary similarity index 100% rename from tutorials/financialFoam/europeanCall/constant/polyMesh/boundary rename to tutorials/financial/financialFoam/europeanCall/constant/polyMesh/boundary diff --git a/tutorials/financialFoam/europeanCall/system/controlDict b/tutorials/financial/financialFoam/europeanCall/system/controlDict similarity index 100% rename from tutorials/financialFoam/europeanCall/system/controlDict rename to tutorials/financial/financialFoam/europeanCall/system/controlDict diff --git a/tutorials/financialFoam/europeanCall/system/fvSchemes b/tutorials/financial/financialFoam/europeanCall/system/fvSchemes similarity index 100% rename from tutorials/financialFoam/europeanCall/system/fvSchemes rename to tutorials/financial/financialFoam/europeanCall/system/fvSchemes diff --git a/tutorials/financialFoam/europeanCall/system/fvSolution b/tutorials/financial/financialFoam/europeanCall/system/fvSolution similarity index 100% rename from tutorials/financialFoam/europeanCall/system/fvSolution rename to tutorials/financial/financialFoam/europeanCall/system/fvSolution diff --git a/tutorials/buoyantFoam/hotRoom/0/T b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/T similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/T rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/T diff --git a/tutorials/buoyantFoam/hotRoom/0/T.org b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/T.org similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/T.org rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/T.org diff --git a/tutorials/buoyantFoam/hotRoom/0/U b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/U similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/U rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/U diff --git a/tutorials/buoyantFoam/hotRoom/0/epsilon b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/epsilon similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/epsilon rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/epsilon diff --git a/tutorials/buoyantFoam/hotRoom/0/k b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/k similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/k rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/k diff --git a/tutorials/buoyantFoam/hotRoom/0/p b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/p similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/p rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/p diff --git a/tutorials/buoyantFoam/hotRoom/0/pd b/tutorials/heatTransfer/buoyantFoam/hotRoom/0/pd similarity index 100% rename from tutorials/buoyantFoam/hotRoom/0/pd rename to tutorials/heatTransfer/buoyantFoam/hotRoom/0/pd diff --git a/tutorials/buoyantFoam/hotRoom/Allclean b/tutorials/heatTransfer/buoyantFoam/hotRoom/Allclean similarity index 100% rename from tutorials/buoyantFoam/hotRoom/Allclean rename to tutorials/heatTransfer/buoyantFoam/hotRoom/Allclean diff --git a/tutorials/buoyantFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantFoam/hotRoom/Allrun similarity index 100% rename from tutorials/buoyantFoam/hotRoom/Allrun rename to tutorials/heatTransfer/buoyantFoam/hotRoom/Allrun diff --git a/tutorials/buoyantFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/RASProperties rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties diff --git a/tutorials/buoyantSimpleFoam/hotRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/constant/environmentalProperties rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties diff --git a/tutorials/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict diff --git a/tutorials/buoyantFoam/hotRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/boundary similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/polyMesh/boundary rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/boundary diff --git a/tutorials/buoyantFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/thermophysicalProperties rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties diff --git a/tutorials/buoyantFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties similarity index 100% rename from tutorials/buoyantFoam/hotRoom/constant/turbulenceProperties rename to tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties diff --git a/tutorials/buoyantFoam/hotRoom/setHotRoom/Make/files b/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/files similarity index 100% rename from tutorials/buoyantFoam/hotRoom/setHotRoom/Make/files rename to tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/files diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/options b/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/options similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/options rename to tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/options diff --git a/tutorials/buoyantFoam/hotRoom/setHotRoom/createFields.H b/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/createFields.H similarity index 100% rename from tutorials/buoyantFoam/hotRoom/setHotRoom/createFields.H rename to tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/createFields.H diff --git a/tutorials/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C b/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C similarity index 100% rename from tutorials/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C rename to tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C diff --git a/tutorials/buoyantFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict similarity index 100% rename from tutorials/buoyantFoam/hotRoom/system/controlDict rename to tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict diff --git a/tutorials/buoyantFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes similarity index 100% rename from tutorials/buoyantFoam/hotRoom/system/fvSchemes rename to tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes diff --git a/tutorials/buoyantFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution similarity index 100% rename from tutorials/buoyantFoam/hotRoom/system/fvSolution rename to tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/T b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/T similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/T rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/T diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/T.org b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/T.org similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/T.org rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/T.org diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/U b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/U similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/U rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/U diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/alphat rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/epsilon rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/epsilon.old b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/epsilon.old rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/k rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/k.old b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/k.old rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/mut rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/p b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/p similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/p rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/p diff --git a/tutorials/buoyantSimpleFoam/hotRoom/0/pd b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/pd similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/0/pd rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/pd diff --git a/tutorials/buoyantSimpleFoam/hotRoom/Allclean b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allclean similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/Allclean rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allclean diff --git a/tutorials/buoyantSimpleFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/Allrun rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/Allrun diff --git a/tutorials/buoyantSimpleFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/constant/RASProperties rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/environmentalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/environmentalProperties rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties diff --git a/tutorials/buoyantSimpleFoam/hotRoom/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/blockMeshDict diff --git a/tutorials/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary diff --git a/tutorials/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties diff --git a/tutorials/buoyantSimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/system/controlDict rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict diff --git a/tutorials/buoyantSimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/system/fvSchemes rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes diff --git a/tutorials/buoyantSimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution similarity index 100% rename from tutorials/buoyantSimpleFoam/hotRoom/system/fvSolution rename to tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/G diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/T diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/U diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/epsilon diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/k diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/p diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/pd b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/pd similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/0/pd rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/0/pd diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/blockMeshDict diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/boundary similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/boundary rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/polyMesh/boundary diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes diff --git a/tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution similarity index 100% rename from tutorials/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution rename to tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/K b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/K similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/K rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/K diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/T b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/T similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/T rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/T diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/U b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/U similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/U rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/U diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/cp b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/cp similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/cp rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/cp diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/epsilon b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/epsilon similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/epsilon rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/epsilon diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/k b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/k similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/k rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/k diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/p b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/p similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/p rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/p diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/pd b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/pd similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/pd rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/pd diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/0/rho b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/rho similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/0/rho rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/0/rho diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/Allclean rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/Allrun b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/Allrun rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/RASProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/RASProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/RASProperties diff --git a/tutorials/dieselFoam/aachenBomb/constant/environmentalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/environmentalProperties similarity index 100% rename from tutorials/dieselFoam/aachenBomb/constant/environmentalProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/environmentalProperties diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/thermophysicalProperties diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/turbulenceProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/turbulenceProperties similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/turbulenceProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/turbulenceProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/blockMeshDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/RASProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/RASProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/RASProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/RASProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/environmentalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/environmentalProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/environmentalProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/environmentalProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/topAir/thermophysicalProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/makeCellSets.setSet b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/makeCellSets.setSet similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/makeCellSets.setSet rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/makeCellSets.setSet diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/changeDictionaryDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/changeDictionaryDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/changeDictionaryDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSchemes similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSchemes rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSchemes diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSolution similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSolution rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/bottomAir/fvSolution diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/controlDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/changeDictionaryDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSchemes diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/heater/fvSolution diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/changeDictionaryDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSchemes similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSchemes rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSchemes diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/changeDictionaryDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSchemes similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSchemes rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSchemes diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/changeDictionaryDict diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSchemes b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSchemes similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSchemes rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSchemes diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution rename to tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution diff --git a/tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C b/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C similarity index 100% rename from tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C rename to tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C diff --git a/tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/files b/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/files similarity index 100% rename from tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/files rename to tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/files diff --git a/tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/options b/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/options similarity index 100% rename from tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/options rename to tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/options diff --git a/tutorials/MRFSimpleFoam/MRFSimpleFoam/createFields.H b/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/createFields.H similarity index 100% rename from tutorials/MRFSimpleFoam/MRFSimpleFoam/createFields.H rename to tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/createFields.H diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/0/U b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/U similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/0/U rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/U diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/0/epsilon b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/epsilon similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/0/epsilon rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/epsilon diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/0/k b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/k similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/0/k rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/k diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/0/p b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/p similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/0/p rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/0/p diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/Allrun b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/Allrun similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/Allrun rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/Allrun diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/MRFZones b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/MRFZones rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/RASProperties b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/RASProperties rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/boundary diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor_old b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor_old similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor_old rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor_old diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/constant/transportProperties b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/constant/transportProperties rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/makeMesh b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/makeMesh similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/makeMesh rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/makeMesh diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/cellSetDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/cellSetDict rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/controlDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/controlDict rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSchemes b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSchemes rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes diff --git a/tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSolution b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution similarity index 100% rename from tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSolution rename to tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/R b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/R similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/R rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/R diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/U b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/U similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/U rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/U diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/epsilon b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/epsilon similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/epsilon rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/epsilon diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/k b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/k similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/k rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/k diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/nu.xy b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/nu.xy similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/nu.xy rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/nu.xy diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/0/nuTilda b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/nuTilda similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/0/nuTilda rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/0/nuTilda diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/constant/RASProperties rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/constant/gammaDot.xy b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/gammaDot.xy similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/constant/gammaDot.xy rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/gammaDot.xy diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/blockMeshDict b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/blockMeshDict diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/boundary b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/boundary similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/boundary rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/polyMesh/boundary diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/constant/transportProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/constant/transportProperties rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/system/controlDict b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/system/controlDict rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/system/fvSchemes rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes diff --git a/tutorials/boundaryFoam/boundaryLaunderSharma/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution similarity index 100% rename from tutorials/boundaryFoam/boundaryLaunderSharma/system/fvSolution rename to tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/R b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/R similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/R rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/R diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/U b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/U similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/U rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/U diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/epsilon b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/epsilon rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/k b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/k rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/nu.xy b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nu.xy similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/nu.xy rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nu.xy diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/0/nuTilda b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nuTilda similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/0/nuTilda rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nuTilda diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/constant/RASProperties rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/constant/gammaDot.xy b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/gammaDot.xy similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/constant/gammaDot.xy rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/gammaDot.xy diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/constant/polyMesh/blockMeshDict b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/polyMesh/blockMeshDict diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/constant/polyMesh/boundary b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/polyMesh/boundary similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/constant/polyMesh/boundary rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/polyMesh/boundary diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/constant/transportProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/constant/transportProperties rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/system/controlDict b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/system/controlDict rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/system/fvSchemes rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes diff --git a/tutorials/boundaryFoam/boundaryWallFunctions/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution similarity index 100% rename from tutorials/boundaryFoam/boundaryWallFunctions/system/fvSolution rename to tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution diff --git a/tutorials/channelFoam/channel395/0.org/B b/tutorials/incompressible/channelFoam/channel395/0.org/B similarity index 100% rename from tutorials/channelFoam/channel395/0.org/B rename to tutorials/incompressible/channelFoam/channel395/0.org/B diff --git a/tutorials/channelFoam/channel395/0.org/U b/tutorials/incompressible/channelFoam/channel395/0.org/U similarity index 100% rename from tutorials/channelFoam/channel395/0.org/U rename to tutorials/incompressible/channelFoam/channel395/0.org/U diff --git a/tutorials/channelFoam/channel395/0.org/k b/tutorials/incompressible/channelFoam/channel395/0.org/k similarity index 100% rename from tutorials/channelFoam/channel395/0.org/k rename to tutorials/incompressible/channelFoam/channel395/0.org/k diff --git a/tutorials/channelFoam/channel395/0.org/nuSgs b/tutorials/incompressible/channelFoam/channel395/0.org/nuSgs similarity index 100% rename from tutorials/channelFoam/channel395/0.org/nuSgs rename to tutorials/incompressible/channelFoam/channel395/0.org/nuSgs diff --git a/tutorials/channelFoam/channel395/0.org/nuTilda b/tutorials/incompressible/channelFoam/channel395/0.org/nuTilda similarity index 100% rename from tutorials/channelFoam/channel395/0.org/nuTilda rename to tutorials/incompressible/channelFoam/channel395/0.org/nuTilda diff --git a/tutorials/channelFoam/channel395/0.org/p b/tutorials/incompressible/channelFoam/channel395/0.org/p similarity index 100% rename from tutorials/channelFoam/channel395/0.org/p rename to tutorials/incompressible/channelFoam/channel395/0.org/p diff --git a/tutorials/channelFoam/channel395/0/B.gz b/tutorials/incompressible/channelFoam/channel395/0/B.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/B.gz rename to tutorials/incompressible/channelFoam/channel395/0/B.gz diff --git a/tutorials/channelFoam/channel395/0/U.gz b/tutorials/incompressible/channelFoam/channel395/0/U.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/U.gz rename to tutorials/incompressible/channelFoam/channel395/0/U.gz diff --git a/tutorials/channelFoam/channel395/0/k.gz b/tutorials/incompressible/channelFoam/channel395/0/k.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/k.gz rename to tutorials/incompressible/channelFoam/channel395/0/k.gz diff --git a/tutorials/channelFoam/channel395/0/nuSgs.gz b/tutorials/incompressible/channelFoam/channel395/0/nuSgs.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/nuSgs.gz rename to tutorials/incompressible/channelFoam/channel395/0/nuSgs.gz diff --git a/tutorials/channelFoam/channel395/0/nuTilda.gz b/tutorials/incompressible/channelFoam/channel395/0/nuTilda.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/nuTilda.gz rename to tutorials/incompressible/channelFoam/channel395/0/nuTilda.gz diff --git a/tutorials/channelFoam/channel395/0/p.gz b/tutorials/incompressible/channelFoam/channel395/0/p.gz similarity index 100% rename from tutorials/channelFoam/channel395/0/p.gz rename to tutorials/incompressible/channelFoam/channel395/0/p.gz diff --git a/tutorials/channelFoam/channel395/Allrun b/tutorials/incompressible/channelFoam/channel395/Allrun similarity index 100% rename from tutorials/channelFoam/channel395/Allrun rename to tutorials/incompressible/channelFoam/channel395/Allrun diff --git a/tutorials/channelFoam/channel395/constant/LESProperties b/tutorials/incompressible/channelFoam/channel395/constant/LESProperties similarity index 100% rename from tutorials/channelFoam/channel395/constant/LESProperties rename to tutorials/incompressible/channelFoam/channel395/constant/LESProperties diff --git a/tutorials/channelFoam/channel395/constant/polyMesh/blockMeshDict b/tutorials/incompressible/channelFoam/channel395/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/channelFoam/channel395/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/channelFoam/channel395/constant/polyMesh/blockMeshDict diff --git a/tutorials/channelFoam/channel395/constant/polyMesh/boundary b/tutorials/incompressible/channelFoam/channel395/constant/polyMesh/boundary similarity index 100% rename from tutorials/channelFoam/channel395/constant/polyMesh/boundary rename to tutorials/incompressible/channelFoam/channel395/constant/polyMesh/boundary diff --git a/tutorials/channelFoam/channel395/constant/postChannelDict b/tutorials/incompressible/channelFoam/channel395/constant/postChannelDict similarity index 100% rename from tutorials/channelFoam/channel395/constant/postChannelDict rename to tutorials/incompressible/channelFoam/channel395/constant/postChannelDict diff --git a/tutorials/channelFoam/channel395/constant/transportProperties b/tutorials/incompressible/channelFoam/channel395/constant/transportProperties similarity index 100% rename from tutorials/channelFoam/channel395/constant/transportProperties rename to tutorials/incompressible/channelFoam/channel395/constant/transportProperties diff --git a/tutorials/channelFoam/channel395/system/controlDict b/tutorials/incompressible/channelFoam/channel395/system/controlDict similarity index 100% rename from tutorials/channelFoam/channel395/system/controlDict rename to tutorials/incompressible/channelFoam/channel395/system/controlDict diff --git a/tutorials/channelFoam/channel395/system/fvSchemes b/tutorials/incompressible/channelFoam/channel395/system/fvSchemes similarity index 100% rename from tutorials/channelFoam/channel395/system/fvSchemes rename to tutorials/incompressible/channelFoam/channel395/system/fvSchemes diff --git a/tutorials/channelFoam/channel395/system/fvSolution b/tutorials/incompressible/channelFoam/channel395/system/fvSolution similarity index 100% rename from tutorials/channelFoam/channel395/system/fvSolution rename to tutorials/incompressible/channelFoam/channel395/system/fvSolution diff --git a/tutorials/icoDyMFoam/movingCone/0/U b/tutorials/incompressible/icoDyMFoam/movingCone/0/U similarity index 100% rename from tutorials/icoDyMFoam/movingCone/0/U rename to tutorials/incompressible/icoDyMFoam/movingCone/0/U diff --git a/tutorials/icoDyMFoam/movingCone/0/cellMotionUx b/tutorials/incompressible/icoDyMFoam/movingCone/0/cellMotionUx similarity index 100% rename from tutorials/icoDyMFoam/movingCone/0/cellMotionUx rename to tutorials/incompressible/icoDyMFoam/movingCone/0/cellMotionUx diff --git a/tutorials/icoDyMFoam/movingCone/0/p b/tutorials/incompressible/icoDyMFoam/movingCone/0/p similarity index 100% rename from tutorials/icoDyMFoam/movingCone/0/p rename to tutorials/incompressible/icoDyMFoam/movingCone/0/p diff --git a/tutorials/icoDyMFoam/movingCone/0/pointMotionUx b/tutorials/incompressible/icoDyMFoam/movingCone/0/pointMotionUx similarity index 100% rename from tutorials/icoDyMFoam/movingCone/0/pointMotionUx rename to tutorials/incompressible/icoDyMFoam/movingCone/0/pointMotionUx diff --git a/tutorials/icoDyMFoam/movingCone/constant/dynamicMeshDict b/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict similarity index 100% rename from tutorials/icoDyMFoam/movingCone/constant/dynamicMeshDict rename to tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict diff --git a/tutorials/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict diff --git a/tutorials/icoDyMFoam/movingCone/constant/polyMesh/boundary b/tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/boundary similarity index 100% rename from tutorials/icoDyMFoam/movingCone/constant/polyMesh/boundary rename to tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/boundary diff --git a/tutorials/icoDyMFoam/movingCone/constant/transportProperties b/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties similarity index 100% rename from tutorials/icoDyMFoam/movingCone/constant/transportProperties rename to tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties diff --git a/tutorials/icoDyMFoam/movingCone/system/controlDict b/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict similarity index 100% rename from tutorials/icoDyMFoam/movingCone/system/controlDict rename to tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict diff --git a/tutorials/icoDyMFoam/movingCone/system/fvSchemes b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes similarity index 100% rename from tutorials/icoDyMFoam/movingCone/system/fvSchemes rename to tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes diff --git a/tutorials/icoDyMFoam/movingCone/system/fvSolution b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution similarity index 100% rename from tutorials/icoDyMFoam/movingCone/system/fvSolution rename to tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution diff --git a/tutorials/icoDyMFoam/movingCone/system/tetFemSolution b/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution similarity index 100% rename from tutorials/icoDyMFoam/movingCone/system/tetFemSolution rename to tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution diff --git a/tutorials/icoFoam/Allclean b/tutorials/incompressible/icoFoam/Allclean similarity index 100% rename from tutorials/icoFoam/Allclean rename to tutorials/incompressible/icoFoam/Allclean diff --git a/tutorials/icoFoam/Allrun b/tutorials/incompressible/icoFoam/Allrun similarity index 100% rename from tutorials/icoFoam/Allrun rename to tutorials/incompressible/icoFoam/Allrun diff --git a/tutorials/icoFoam/cavity/0/U b/tutorials/incompressible/icoFoam/cavity/0/U similarity index 100% rename from tutorials/icoFoam/cavity/0/U rename to tutorials/incompressible/icoFoam/cavity/0/U diff --git a/tutorials/icoFoam/cavity/0/p b/tutorials/incompressible/icoFoam/cavity/0/p similarity index 100% rename from tutorials/icoFoam/cavity/0/p rename to tutorials/incompressible/icoFoam/cavity/0/p diff --git a/tutorials/icoFoam/cavity/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/cavity/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/icoFoam/cavity/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/icoFoam/cavity/constant/polyMesh/blockMeshDict diff --git a/tutorials/icoFoam/cavity/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/cavity/constant/polyMesh/boundary similarity index 100% rename from tutorials/icoFoam/cavity/constant/polyMesh/boundary rename to tutorials/incompressible/icoFoam/cavity/constant/polyMesh/boundary diff --git a/tutorials/icoFoam/cavity/constant/transportProperties b/tutorials/incompressible/icoFoam/cavity/constant/transportProperties similarity index 100% rename from tutorials/icoFoam/cavity/constant/transportProperties rename to tutorials/incompressible/icoFoam/cavity/constant/transportProperties diff --git a/tutorials/icoFoam/cavity/system/controlDict b/tutorials/incompressible/icoFoam/cavity/system/controlDict similarity index 100% rename from tutorials/icoFoam/cavity/system/controlDict rename to tutorials/incompressible/icoFoam/cavity/system/controlDict diff --git a/tutorials/icoFoam/cavity/system/fvSchemes b/tutorials/incompressible/icoFoam/cavity/system/fvSchemes similarity index 100% rename from tutorials/icoFoam/cavity/system/fvSchemes rename to tutorials/incompressible/icoFoam/cavity/system/fvSchemes diff --git a/tutorials/icoFoam/cavity/system/fvSolution b/tutorials/incompressible/icoFoam/cavity/system/fvSolution similarity index 100% rename from tutorials/icoFoam/cavity/system/fvSolution rename to tutorials/incompressible/icoFoam/cavity/system/fvSolution diff --git a/tutorials/icoFoam/cavityClipped/0/U b/tutorials/incompressible/icoFoam/cavityClipped/0/U similarity index 100% rename from tutorials/icoFoam/cavityClipped/0/U rename to tutorials/incompressible/icoFoam/cavityClipped/0/U diff --git a/tutorials/icoFoam/cavityClipped/0/p b/tutorials/incompressible/icoFoam/cavityClipped/0/p similarity index 100% rename from tutorials/icoFoam/cavityClipped/0/p rename to tutorials/incompressible/icoFoam/cavityClipped/0/p diff --git a/tutorials/icoFoam/cavityClipped/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/cavityClipped/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/icoFoam/cavityClipped/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/icoFoam/cavityClipped/constant/polyMesh/blockMeshDict diff --git a/tutorials/icoFoam/cavityClipped/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/cavityClipped/constant/polyMesh/boundary similarity index 100% rename from tutorials/icoFoam/cavityClipped/constant/polyMesh/boundary rename to tutorials/incompressible/icoFoam/cavityClipped/constant/polyMesh/boundary diff --git a/tutorials/icoFoam/cavityClipped/constant/transportProperties b/tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties similarity index 100% rename from tutorials/icoFoam/cavityClipped/constant/transportProperties rename to tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties diff --git a/tutorials/icoFoam/cavityClipped/system/controlDict b/tutorials/incompressible/icoFoam/cavityClipped/system/controlDict similarity index 100% rename from tutorials/icoFoam/cavityClipped/system/controlDict rename to tutorials/incompressible/icoFoam/cavityClipped/system/controlDict diff --git a/tutorials/icoFoam/cavityClipped/system/fvSchemes b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes similarity index 100% rename from tutorials/icoFoam/cavityClipped/system/fvSchemes rename to tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes diff --git a/tutorials/icoFoam/cavityClipped/system/fvSolution b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution similarity index 100% rename from tutorials/icoFoam/cavityClipped/system/fvSolution rename to tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution diff --git a/tutorials/icoFoam/cavityClipped/system/mapFieldsDict b/tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict similarity index 100% rename from tutorials/icoFoam/cavityClipped/system/mapFieldsDict rename to tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict diff --git a/tutorials/icoFoam/cavityGrade/0/U b/tutorials/incompressible/icoFoam/cavityGrade/0/U similarity index 100% rename from tutorials/icoFoam/cavityGrade/0/U rename to tutorials/incompressible/icoFoam/cavityGrade/0/U diff --git a/tutorials/icoFoam/cavityGrade/0/p b/tutorials/incompressible/icoFoam/cavityGrade/0/p similarity index 100% rename from tutorials/icoFoam/cavityGrade/0/p rename to tutorials/incompressible/icoFoam/cavityGrade/0/p diff --git a/tutorials/icoFoam/cavityGrade/constant/polyMesh/blockMeshDict b/tutorials/incompressible/icoFoam/cavityGrade/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/icoFoam/cavityGrade/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/icoFoam/cavityGrade/constant/polyMesh/blockMeshDict diff --git a/tutorials/icoFoam/cavityGrade/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/cavityGrade/constant/polyMesh/boundary similarity index 100% rename from tutorials/icoFoam/cavityGrade/constant/polyMesh/boundary rename to tutorials/incompressible/icoFoam/cavityGrade/constant/polyMesh/boundary diff --git a/tutorials/icoFoam/cavityGrade/constant/transportProperties b/tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties similarity index 100% rename from tutorials/icoFoam/cavityGrade/constant/transportProperties rename to tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties diff --git a/tutorials/icoFoam/cavityGrade/system/controlDict b/tutorials/incompressible/icoFoam/cavityGrade/system/controlDict similarity index 100% rename from tutorials/icoFoam/cavityGrade/system/controlDict rename to tutorials/incompressible/icoFoam/cavityGrade/system/controlDict diff --git a/tutorials/icoFoam/cavityGrade/system/fvSchemes b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes similarity index 100% rename from tutorials/icoFoam/cavityGrade/system/fvSchemes rename to tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes diff --git a/tutorials/icoFoam/cavityGrade/system/fvSolution b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution similarity index 100% rename from tutorials/icoFoam/cavityGrade/system/fvSolution rename to tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution diff --git a/tutorials/icoFoam/cavityGrade/system/mapFieldsDict b/tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict similarity index 100% rename from tutorials/icoFoam/cavityGrade/system/mapFieldsDict rename to tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict diff --git a/tutorials/icoFoam/elbow/0/U b/tutorials/incompressible/icoFoam/elbow/0/U similarity index 100% rename from tutorials/icoFoam/elbow/0/U rename to tutorials/incompressible/icoFoam/elbow/0/U diff --git a/tutorials/icoFoam/elbow/0/p b/tutorials/incompressible/icoFoam/elbow/0/p similarity index 100% rename from tutorials/icoFoam/elbow/0/p rename to tutorials/incompressible/icoFoam/elbow/0/p diff --git a/tutorials/icoFoam/elbow/constant/polyMesh/boundary b/tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary similarity index 100% rename from tutorials/icoFoam/elbow/constant/polyMesh/boundary rename to tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary diff --git a/tutorials/icoFoam/elbow/constant/polyMesh/boundary.org b/tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org similarity index 100% rename from tutorials/icoFoam/elbow/constant/polyMesh/boundary.org rename to tutorials/incompressible/icoFoam/elbow/constant/polyMesh/boundary.org diff --git a/tutorials/icoFoam/elbow/constant/transportProperties b/tutorials/incompressible/icoFoam/elbow/constant/transportProperties similarity index 100% rename from tutorials/icoFoam/elbow/constant/transportProperties rename to tutorials/incompressible/icoFoam/elbow/constant/transportProperties diff --git a/tutorials/icoFoam/elbow/elbow.msh b/tutorials/incompressible/icoFoam/elbow/elbow.msh similarity index 100% rename from tutorials/icoFoam/elbow/elbow.msh rename to tutorials/incompressible/icoFoam/elbow/elbow.msh diff --git a/tutorials/icoFoam/elbow/system/controlDict b/tutorials/incompressible/icoFoam/elbow/system/controlDict similarity index 100% rename from tutorials/icoFoam/elbow/system/controlDict rename to tutorials/incompressible/icoFoam/elbow/system/controlDict diff --git a/tutorials/icoFoam/elbow/system/foamDataToFluentDict b/tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict similarity index 100% rename from tutorials/icoFoam/elbow/system/foamDataToFluentDict rename to tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict diff --git a/tutorials/icoFoam/elbow/system/fvSchemes b/tutorials/incompressible/icoFoam/elbow/system/fvSchemes similarity index 100% rename from tutorials/icoFoam/elbow/system/fvSchemes rename to tutorials/incompressible/icoFoam/elbow/system/fvSchemes diff --git a/tutorials/icoFoam/elbow/system/fvSolution b/tutorials/incompressible/icoFoam/elbow/system/fvSolution similarity index 100% rename from tutorials/icoFoam/elbow/system/fvSolution rename to tutorials/incompressible/icoFoam/elbow/system/fvSolution diff --git a/tutorials/icoFoam/resetFixedWallsScr b/tutorials/incompressible/icoFoam/resetFixedWallsScr similarity index 100% rename from tutorials/icoFoam/resetFixedWallsScr rename to tutorials/incompressible/icoFoam/resetFixedWallsScr diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/0/U b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/U similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/0/U rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/U diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/0/p b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/p similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/0/p rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/0/p diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/blockMeshDict b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/blockMeshDict diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/boundary b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/boundary similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/boundary rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/polyMesh/boundary diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/system/controlDict b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/system/controlDict rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes diff --git a/tutorials/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution similarity index 100% rename from tutorials/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution rename to tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution diff --git a/tutorials/pimpleFoam/t-junction/0/U b/tutorials/incompressible/pimpleFoam/t-junction/0/U similarity index 100% rename from tutorials/pimpleFoam/t-junction/0/U rename to tutorials/incompressible/pimpleFoam/t-junction/0/U diff --git a/tutorials/pimpleFoam/t-junction/0/epsilon b/tutorials/incompressible/pimpleFoam/t-junction/0/epsilon similarity index 100% rename from tutorials/pimpleFoam/t-junction/0/epsilon rename to tutorials/incompressible/pimpleFoam/t-junction/0/epsilon diff --git a/tutorials/pimpleFoam/t-junction/0/k b/tutorials/incompressible/pimpleFoam/t-junction/0/k similarity index 100% rename from tutorials/pimpleFoam/t-junction/0/k rename to tutorials/incompressible/pimpleFoam/t-junction/0/k diff --git a/tutorials/pimpleFoam/t-junction/0/nuTilda b/tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda similarity index 100% rename from tutorials/pimpleFoam/t-junction/0/nuTilda rename to tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda diff --git a/tutorials/pimpleFoam/t-junction/0/p b/tutorials/incompressible/pimpleFoam/t-junction/0/p similarity index 100% rename from tutorials/pimpleFoam/t-junction/0/p rename to tutorials/incompressible/pimpleFoam/t-junction/0/p diff --git a/tutorials/pimpleFoam/t-junction/README.txt b/tutorials/incompressible/pimpleFoam/t-junction/README.txt similarity index 100% rename from tutorials/pimpleFoam/t-junction/README.txt rename to tutorials/incompressible/pimpleFoam/t-junction/README.txt diff --git a/tutorials/pimpleFoam/t-junction/constant/RASProperties b/tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties similarity index 100% rename from tutorials/pimpleFoam/t-junction/constant/RASProperties rename to tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties diff --git a/tutorials/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict diff --git a/tutorials/pimpleFoam/t-junction/constant/polyMesh/boundary b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary similarity index 100% rename from tutorials/pimpleFoam/t-junction/constant/polyMesh/boundary rename to tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary diff --git a/tutorials/pimpleFoam/t-junction/constant/transportProperties b/tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties similarity index 100% rename from tutorials/pimpleFoam/t-junction/constant/transportProperties rename to tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties diff --git a/tutorials/pimpleFoam/t-junction/system/controlDict b/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict similarity index 100% rename from tutorials/pimpleFoam/t-junction/system/controlDict rename to tutorials/incompressible/pimpleFoam/t-junction/system/controlDict diff --git a/tutorials/pimpleFoam/t-junction/system/fvSchemes b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes similarity index 100% rename from tutorials/pimpleFoam/t-junction/system/fvSchemes rename to tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes diff --git a/tutorials/pimpleFoam/t-junction/system/fvSolution b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution similarity index 100% rename from tutorials/pimpleFoam/t-junction/system/fvSolution rename to tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution diff --git a/tutorials/pisoFoam/Allrun b/tutorials/incompressible/pisoFoam/Allrun similarity index 100% rename from tutorials/pisoFoam/Allrun rename to tutorials/incompressible/pisoFoam/Allrun diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/B b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/B similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/B rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/B diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/U b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/U similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/U rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/U diff --git a/tutorials/rhoPisoFoam/les/pitzDaily/0/k b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/k similarity index 100% rename from tutorials/rhoPisoFoam/les/pitzDaily/0/k rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/k diff --git a/tutorials/pisoFoam/les/pitzDaily/0/nuSgs b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuSgs similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/nuSgs rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuSgs diff --git a/tutorials/pisoFoam/les/pitzDaily/0/nuTilda b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuTilda similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/0/nuTilda rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuTilda diff --git a/tutorials/potentialFoam/pitzDaily/0.org/p b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/p similarity index 100% rename from tutorials/potentialFoam/pitzDaily/0.org/p rename to tutorials/incompressible/pisoFoam/les/pitzDaily/0/p diff --git a/tutorials/pisoFoam/les/pitzDaily/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/constant/LESProperties rename to tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties diff --git a/tutorials/scalarTransportFoam/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/scalarTransportFoam/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/pisoFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/constant/polyMesh/boundary rename to tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary diff --git a/tutorials/pisoFoam/les/pitzDaily/constant/transportProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/constant/transportProperties rename to tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties diff --git a/tutorials/cavitatingFoam/les/throttle/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/turbulenceProperties rename to tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties diff --git a/tutorials/pisoFoam/les/pitzDaily/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/system/controlDict rename to tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict diff --git a/tutorials/pisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/system/fvSchemes rename to tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes diff --git a/tutorials/pisoFoam/les/pitzDaily/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/system/fvSolution rename to tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/B b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/B similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/B rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/B diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/U b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/U similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/U rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/U diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/k b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/k similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/k rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/k diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/nuSgs b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/nuSgs similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/nuSgs rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/nuSgs diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/0/nuTilda b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/nuTilda similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/0/nuTilda rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/nuTilda diff --git a/tutorials/potentialFoam/pitzDaily/0/p b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/p similarity index 100% rename from tutorials/potentialFoam/pitzDaily/0/p rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/0/p diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/Allrun b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/Allrun similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/Allrun rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/Allrun diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/blockMeshDict diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/turbulenceProperties rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/system/controlDict rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution rename to tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution diff --git a/tutorials/rhoPisoFoam/ras/cavity/0/R b/tutorials/incompressible/pisoFoam/ras/cavity/0/R similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/0/R rename to tutorials/incompressible/pisoFoam/ras/cavity/0/R diff --git a/tutorials/pisoFoam/ras/cavity/0/U b/tutorials/incompressible/pisoFoam/ras/cavity/0/U similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/U rename to tutorials/incompressible/pisoFoam/ras/cavity/0/U diff --git a/tutorials/pisoFoam/ras/cavity/0/epsilon b/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/epsilon rename to tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon diff --git a/tutorials/pisoFoam/ras/cavity/0/k b/tutorials/incompressible/pisoFoam/ras/cavity/0/k similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/k rename to tutorials/incompressible/pisoFoam/ras/cavity/0/k diff --git a/tutorials/pisoFoam/ras/cavity/0/nuTilda b/tutorials/incompressible/pisoFoam/ras/cavity/0/nuTilda similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/nuTilda rename to tutorials/incompressible/pisoFoam/ras/cavity/0/nuTilda diff --git a/tutorials/pisoFoam/ras/cavity/0/nut b/tutorials/incompressible/pisoFoam/ras/cavity/0/nut similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/nut rename to tutorials/incompressible/pisoFoam/ras/cavity/0/nut diff --git a/tutorials/pisoFoam/ras/cavity/0/p b/tutorials/incompressible/pisoFoam/ras/cavity/0/p similarity index 100% rename from tutorials/pisoFoam/ras/cavity/0/p rename to tutorials/incompressible/pisoFoam/ras/cavity/0/p diff --git a/tutorials/pisoFoam/ras/cavity/constant/RASProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties similarity index 100% rename from tutorials/pisoFoam/ras/cavity/constant/RASProperties rename to tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties diff --git a/tutorials/rhoPisoFoam/ras/cavity/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/rhoPisoFoam/ras/cavity/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/blockMeshDict diff --git a/tutorials/pisoFoam/ras/cavity/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary similarity index 100% rename from tutorials/pisoFoam/ras/cavity/constant/polyMesh/boundary rename to tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary diff --git a/tutorials/pisoFoam/ras/cavity/constant/transportProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties similarity index 100% rename from tutorials/pisoFoam/ras/cavity/constant/transportProperties rename to tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties diff --git a/tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/turbulenceProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties similarity index 100% rename from tutorials/chtMultiRegionFoam/multiRegionHeater/constant/bottomAir/turbulenceProperties rename to tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties diff --git a/tutorials/pisoFoam/ras/cavity/system/controlDict b/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict similarity index 100% rename from tutorials/pisoFoam/ras/cavity/system/controlDict rename to tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict diff --git a/tutorials/pisoFoam/ras/cavity/system/fvSchemes b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes similarity index 100% rename from tutorials/pisoFoam/ras/cavity/system/fvSchemes rename to tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes diff --git a/tutorials/pisoFoam/ras/cavity/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution similarity index 100% rename from tutorials/pisoFoam/ras/cavity/system/fvSolution rename to tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution diff --git a/tutorials/simpleFoam/airFoil2D/0/U b/tutorials/incompressible/simpleFoam/airFoil2D/0/U similarity index 100% rename from tutorials/simpleFoam/airFoil2D/0/U rename to tutorials/incompressible/simpleFoam/airFoil2D/0/U diff --git a/tutorials/simpleFoam/airFoil2D/0/nuTilda b/tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda similarity index 100% rename from tutorials/simpleFoam/airFoil2D/0/nuTilda rename to tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda diff --git a/tutorials/simpleFoam/airFoil2D/0/nut b/tutorials/incompressible/simpleFoam/airFoil2D/0/nut similarity index 100% rename from tutorials/simpleFoam/airFoil2D/0/nut rename to tutorials/incompressible/simpleFoam/airFoil2D/0/nut diff --git a/tutorials/simpleFoam/airFoil2D/0/p b/tutorials/incompressible/simpleFoam/airFoil2D/0/p similarity index 100% rename from tutorials/simpleFoam/airFoil2D/0/p rename to tutorials/incompressible/simpleFoam/airFoil2D/0/p diff --git a/tutorials/settlingFoam/tank3D/Allclean b/tutorials/incompressible/simpleFoam/airFoil2D/Allclean similarity index 100% rename from tutorials/settlingFoam/tank3D/Allclean rename to tutorials/incompressible/simpleFoam/airFoil2D/Allclean diff --git a/tutorials/simpleFoam/airFoil2D/constant/RASProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/RASProperties rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/boundary rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/cells b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/cells rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/faces b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/faces rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/neighbour b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/neighbour rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/owner b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/owner rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner diff --git a/tutorials/simpleFoam/airFoil2D/constant/polyMesh/points b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/polyMesh/points rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points diff --git a/tutorials/simpleFoam/airFoil2D/constant/transportProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/transportProperties rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties diff --git a/tutorials/simpleFoam/airFoil2D/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties similarity index 100% rename from tutorials/simpleFoam/airFoil2D/constant/turbulenceProperties rename to tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties diff --git a/tutorials/simpleFoam/airFoil2D/system/controlDict b/tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict similarity index 100% rename from tutorials/simpleFoam/airFoil2D/system/controlDict rename to tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict diff --git a/tutorials/simpleFoam/airFoil2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes similarity index 100% rename from tutorials/simpleFoam/airFoil2D/system/fvSchemes rename to tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes diff --git a/tutorials/simpleFoam/airFoil2D/system/fvSolution b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution similarity index 100% rename from tutorials/simpleFoam/airFoil2D/system/fvSolution rename to tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution diff --git a/tutorials/simpleFoam/pitzDaily/0/R b/tutorials/incompressible/simpleFoam/pitzDaily/0/R similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/R rename to tutorials/incompressible/simpleFoam/pitzDaily/0/R diff --git a/tutorials/simpleFoam/pitzDaily/0/U b/tutorials/incompressible/simpleFoam/pitzDaily/0/U similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/U rename to tutorials/incompressible/simpleFoam/pitzDaily/0/U diff --git a/tutorials/simpleFoam/pitzDaily/0/epsilon b/tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/epsilon rename to tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon diff --git a/tutorials/simpleFoam/pitzDaily/0/k b/tutorials/incompressible/simpleFoam/pitzDaily/0/k similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/k rename to tutorials/incompressible/simpleFoam/pitzDaily/0/k diff --git a/tutorials/simpleFoam/pitzDaily/0/nuTilda b/tutorials/incompressible/simpleFoam/pitzDaily/0/nuTilda similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/nuTilda rename to tutorials/incompressible/simpleFoam/pitzDaily/0/nuTilda diff --git a/tutorials/simpleFoam/pitzDaily/0/p b/tutorials/incompressible/simpleFoam/pitzDaily/0/p similarity index 100% rename from tutorials/simpleFoam/pitzDaily/0/p rename to tutorials/incompressible/simpleFoam/pitzDaily/0/p diff --git a/tutorials/simpleFoam/pitzDaily/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties similarity index 100% rename from tutorials/simpleFoam/pitzDaily/constant/RASProperties rename to tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties diff --git a/tutorials/simpleFoam/pitzDaily/constant/polyMesh/blockMeshDict b/tutorials/incompressible/simpleFoam/pitzDaily/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/simpleFoam/pitzDaily/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/simpleFoam/pitzDaily/constant/polyMesh/blockMeshDict diff --git a/tutorials/simpleFoam/pitzDaily/constant/transportProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties similarity index 100% rename from tutorials/simpleFoam/pitzDaily/constant/transportProperties rename to tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties diff --git a/tutorials/simpleFoam/pitzDaily/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict similarity index 100% rename from tutorials/simpleFoam/pitzDaily/system/controlDict rename to tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict diff --git a/tutorials/simpleFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes similarity index 100% rename from tutorials/simpleFoam/pitzDaily/system/fvSchemes rename to tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes diff --git a/tutorials/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution similarity index 100% rename from tutorials/simpleFoam/pitzDaily/system/fvSolution rename to tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/R b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/R rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/R diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/U b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/U similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/U rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/U diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/epsilon b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/epsilon rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/k b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/k rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/nuTilda b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nuTilda similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/nuTilda rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nuTilda diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/0/p b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/p similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/0/p rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/p diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/RASProperties rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/U b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/U similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/U rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/U diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/epsilon b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/epsilon similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/epsilon rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/epsilon diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/k b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/k similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/k rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/0/k diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/points b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/points similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/points rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/boundaryData/inlet/points diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/polyMesh/blockMeshDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/polyMesh/blockMeshDict diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/polyMesh/boundary similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/polyMesh/boundary rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/polyMesh/boundary diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/constant/transportProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/constant/transportProperties rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/system/controlDict rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/system/decomposeParDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/system/decomposeParDict rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/system/fvSchemes rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes diff --git a/tutorials/simpleFoam/pitzDailyExptInlet/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution similarity index 100% rename from tutorials/simpleFoam/pitzDailyExptInlet/system/fvSolution rename to tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution diff --git a/tutorials/simpleSRFFoam/mixer/0/Urel b/tutorials/incompressible/simpleSRFFoam/mixer/0/Urel similarity index 100% rename from tutorials/simpleSRFFoam/mixer/0/Urel rename to tutorials/incompressible/simpleSRFFoam/mixer/0/Urel diff --git a/tutorials/simpleSRFFoam/mixer/0/epsilon b/tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon similarity index 100% rename from tutorials/simpleSRFFoam/mixer/0/epsilon rename to tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon diff --git a/tutorials/simpleSRFFoam/mixer/0/k b/tutorials/incompressible/simpleSRFFoam/mixer/0/k similarity index 100% rename from tutorials/simpleSRFFoam/mixer/0/k rename to tutorials/incompressible/simpleSRFFoam/mixer/0/k diff --git a/tutorials/simpleSRFFoam/mixer/0/omega b/tutorials/incompressible/simpleSRFFoam/mixer/0/omega similarity index 100% rename from tutorials/simpleSRFFoam/mixer/0/omega rename to tutorials/incompressible/simpleSRFFoam/mixer/0/omega diff --git a/tutorials/simpleSRFFoam/mixer/0/p b/tutorials/incompressible/simpleSRFFoam/mixer/0/p similarity index 100% rename from tutorials/simpleSRFFoam/mixer/0/p rename to tutorials/incompressible/simpleSRFFoam/mixer/0/p diff --git a/tutorials/simpleSRFFoam/mixer/constant/RASProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties similarity index 100% rename from tutorials/simpleSRFFoam/mixer/constant/RASProperties rename to tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties diff --git a/tutorials/simpleSRFFoam/mixer/constant/SRFProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties similarity index 100% rename from tutorials/simpleSRFFoam/mixer/constant/SRFProperties rename to tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties diff --git a/tutorials/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict b/tutorials/incompressible/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/simpleSRFFoam/mixer/constant/polyMesh/blockMeshDict diff --git a/tutorials/simpleSRFFoam/mixer/constant/transportProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties similarity index 100% rename from tutorials/simpleSRFFoam/mixer/constant/transportProperties rename to tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties diff --git a/tutorials/simpleSRFFoam/mixer/system/controlDict b/tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict similarity index 100% rename from tutorials/simpleSRFFoam/mixer/system/controlDict rename to tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict diff --git a/tutorials/simpleSRFFoam/mixer/system/fvSchemes b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes similarity index 100% rename from tutorials/simpleSRFFoam/mixer/system/fvSchemes rename to tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes diff --git a/tutorials/simpleSRFFoam/mixer/system/fvSolution b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution similarity index 100% rename from tutorials/simpleSRFFoam/mixer/system/fvSolution rename to tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution diff --git a/tutorials/simpleSRFFoam/simpleSRFFoam/Make/files b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/files similarity index 100% rename from tutorials/simpleSRFFoam/simpleSRFFoam/Make/files rename to tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/files diff --git a/tutorials/simpleSRFFoam/simpleSRFFoam/Make/options b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options similarity index 100% rename from tutorials/simpleSRFFoam/simpleSRFFoam/Make/options rename to tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options diff --git a/tutorials/simpleSRFFoam/simpleSRFFoam/createFields.H b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/createFields.H similarity index 100% rename from tutorials/simpleSRFFoam/simpleSRFFoam/createFields.H rename to tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/createFields.H diff --git a/tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C similarity index 100% rename from tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C rename to tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C diff --git a/tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/controlDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/system/controlDict rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/system/decomposeParDict rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict similarity index 100% rename from tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict rename to tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict diff --git a/tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict b/tutorials/mesh/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict rename to tutorials/mesh/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict diff --git a/tutorials/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl b/tutorials/mesh/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl similarity index 100% rename from tutorials/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl rename to tutorials/mesh/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl diff --git a/tutorials/snappyHexMesh/motorBike/system/controlDict b/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict similarity index 100% rename from tutorials/snappyHexMesh/motorBike/system/controlDict rename to tutorials/mesh/snappyHexMesh/motorBike/system/controlDict diff --git a/tutorials/snappyHexMesh/motorBike/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict similarity index 100% rename from tutorials/snappyHexMesh/motorBike/system/decomposeParDict rename to tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict diff --git a/tutorials/snappyHexMesh/motorBike/system/fvSchemes b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes similarity index 100% rename from tutorials/snappyHexMesh/motorBike/system/fvSchemes rename to tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes diff --git a/tutorials/snappyHexMesh/motorBike/system/fvSolution b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution similarity index 100% rename from tutorials/snappyHexMesh/motorBike/system/fvSolution rename to tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution diff --git a/tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict similarity index 100% rename from tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict rename to tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict diff --git a/tutorials/gnemdFoam/Allclean b/tutorials/molecularDynamics/gnemdFoam/Allclean similarity index 100% rename from tutorials/gnemdFoam/Allclean rename to tutorials/molecularDynamics/gnemdFoam/Allclean diff --git a/tutorials/gnemdFoam/Allrun b/tutorials/molecularDynamics/gnemdFoam/Allrun similarity index 100% rename from tutorials/gnemdFoam/Allrun rename to tutorials/molecularDynamics/gnemdFoam/Allrun diff --git a/tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/blockMeshDict diff --git a/tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/boundary b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/constant/polyMesh/boundary rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary diff --git a/tutorials/gnemdFoam/constrictedChannel/system/controlDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/controlDict rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict diff --git a/tutorials/gnemdFoam/constrictedChannel/system/fvSchemes b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/fvSchemes rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes diff --git a/tutorials/gnemdFoam/constrictedChannel/system/fvSolution b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/fvSolution rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution diff --git a/tutorials/gnemdFoam/constrictedChannel/system/mdSolution b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/mdSolution rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution diff --git a/tutorials/gnemdFoam/constrictedChannel/system/molConfigDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/molConfigDict rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict diff --git a/tutorials/gnemdFoam/constrictedChannel/system/potentialDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict similarity index 100% rename from tutorials/gnemdFoam/constrictedChannel/system/potentialDict rename to tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict diff --git a/tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/blockMeshDict diff --git a/tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/boundary b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/constant/polyMesh/boundary rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary diff --git a/tutorials/gnemdFoam/nanoNozzle/system/controlDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/controlDict rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict diff --git a/tutorials/gnemdFoam/nanoNozzle/system/decomposeParDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/decomposeParDict rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict diff --git a/tutorials/gnemdFoam/nanoNozzle/system/fvSchemes b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/fvSchemes rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes diff --git a/tutorials/gnemdFoam/nanoNozzle/system/fvSolution b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/fvSolution rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution diff --git a/tutorials/gnemdFoam/nanoNozzle/system/mdSolution b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/mdSolution rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution diff --git a/tutorials/gnemdFoam/nanoNozzle/system/molConfigDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/molConfigDict rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict diff --git a/tutorials/gnemdFoam/nanoNozzle/system/potentialDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict similarity index 100% rename from tutorials/gnemdFoam/nanoNozzle/system/potentialDict rename to tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict diff --git a/tutorials/mdEquilibrationFoam/Allclean b/tutorials/molecularDynamics/mdEquilibrationFoam/Allclean similarity index 100% rename from tutorials/mdEquilibrationFoam/Allclean rename to tutorials/molecularDynamics/mdEquilibrationFoam/Allclean diff --git a/tutorials/mdEquilibrationFoam/Allrun b/tutorials/molecularDynamics/mdEquilibrationFoam/Allrun similarity index 100% rename from tutorials/mdEquilibrationFoam/Allrun rename to tutorials/molecularDynamics/mdEquilibrationFoam/Allrun diff --git a/tutorials/mdEquilibrationFoam/periodicCube/constant/polyMesh/blockMeshDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/constant/polyMesh/blockMeshDict rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/blockMeshDict diff --git a/tutorials/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/controlDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/controlDict rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/fvSchemes b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/fvSchemes rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/fvSolution b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/fvSolution rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/mdSolution b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/mdSolution rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/molConfigDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/molConfigDict rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict diff --git a/tutorials/mdEquilibrationFoam/periodicCube/system/potentialDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict similarity index 100% rename from tutorials/mdEquilibrationFoam/periodicCube/system/potentialDict rename to tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/Ua b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/Ua similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/Ua rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/Ua diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/Ub b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/Ub similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/Ub rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/Ub diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/alpha b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/alpha similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/alpha rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/alpha diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/epsilon b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/epsilon similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/epsilon rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/epsilon diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/k b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/k similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/k rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/k diff --git a/tutorials/bubbleFoam/bubbleColumn/0.org/p b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0.org/p rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p diff --git a/tutorials/bubbleFoam/bubbleColumn/0/Ua b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/Ua similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/Ua rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/Ua diff --git a/tutorials/bubbleFoam/bubbleColumn/0/Ub b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/Ub similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/Ub rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/Ub diff --git a/tutorials/bubbleFoam/bubbleColumn/0/alpha b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/alpha similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/alpha rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/alpha diff --git a/tutorials/bubbleFoam/bubbleColumn/0/epsilon b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/epsilon similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/epsilon rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/epsilon diff --git a/tutorials/bubbleFoam/bubbleColumn/0/k b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/k similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/k rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/k diff --git a/tutorials/bubbleFoam/bubbleColumn/0/p b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/p similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/0/p rename to tutorials/multiphase/bubbleFoam/bubbleColumn/0/p diff --git a/tutorials/bubbleFoam/bubbleColumn/constant/RASProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/constant/RASProperties rename to tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties diff --git a/tutorials/interFoam/laminar/damBreak/constant/environmentalProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/environmentalProperties rename to tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties diff --git a/tutorials/bubbleFoam/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/bubbleFoam/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/bubbleFoam/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/bubbleFoam/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/bubbleFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/constant/transportProperties rename to tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties diff --git a/tutorials/bubbleFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/system/controlDict rename to tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict diff --git a/tutorials/bubbleFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes diff --git a/tutorials/bubbleFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/bubbleFoam/bubbleColumn/system/fvSolution rename to tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution diff --git a/tutorials/cavitatingFoam/les/Allclean b/tutorials/multiphase/cavitatingFoam/les/Allclean similarity index 100% rename from tutorials/cavitatingFoam/les/Allclean rename to tutorials/multiphase/cavitatingFoam/les/Allclean diff --git a/tutorials/cavitatingFoam/les/Allrun b/tutorials/multiphase/cavitatingFoam/les/Allrun similarity index 100% rename from tutorials/cavitatingFoam/les/Allrun rename to tutorials/multiphase/cavitatingFoam/les/Allrun diff --git a/tutorials/cavitatingFoam/les/throttle/0/U b/tutorials/multiphase/cavitatingFoam/les/throttle/0/U similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/U rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/U diff --git a/tutorials/cavitatingFoam/les/throttle/0/gamma b/tutorials/multiphase/cavitatingFoam/les/throttle/0/gamma similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/gamma rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/gamma diff --git a/tutorials/cavitatingFoam/les/throttle/0/k b/tutorials/multiphase/cavitatingFoam/les/throttle/0/k similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/k rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/k diff --git a/tutorials/cavitatingFoam/les/throttle/0/nuSgs b/tutorials/multiphase/cavitatingFoam/les/throttle/0/nuSgs similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/nuSgs rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/nuSgs diff --git a/tutorials/cavitatingFoam/les/throttle/0/p b/tutorials/multiphase/cavitatingFoam/les/throttle/0/p similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/p rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/p diff --git a/tutorials/cavitatingFoam/les/throttle/0/rho b/tutorials/multiphase/cavitatingFoam/les/throttle/0/rho similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/0/rho rename to tutorials/multiphase/cavitatingFoam/les/throttle/0/rho diff --git a/tutorials/cavitatingFoam/les/throttle/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/LESProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties diff --git a/tutorials/cavitatingFoam/les/throttle/constant/polyMesh/blockMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/blockMeshDict diff --git a/tutorials/cavitatingFoam/les/throttle/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/polyMesh/boundary rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary diff --git a/tutorials/cavitatingFoam/les/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/thermodynamicProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties diff --git a/tutorials/cavitatingFoam/les/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/constant/transportProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties diff --git a/tutorials/pisoFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDaily/constant/turbulenceProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties diff --git a/tutorials/cavitatingFoam/les/throttle/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/cellSetDict.1 rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 diff --git a/tutorials/cavitatingFoam/les/throttle/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/cellSetDict.2 rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 diff --git a/tutorials/cavitatingFoam/les/throttle/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/cellSetDict.3 rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 diff --git a/tutorials/cavitatingFoam/les/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/controlDict rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict diff --git a/tutorials/cavitatingFoam/les/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/fvSchemes rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes diff --git a/tutorials/cavitatingFoam/les/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/fvSolution rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution diff --git a/tutorials/cavitatingFoam/les/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle/system/refineMeshDict rename to tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/U b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/U similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/U rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/U diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/gamma b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/gamma similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/gamma rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/gamma diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/k b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/k similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/k rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/k diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/nuSgs b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nuSgs similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/nuSgs rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/nuSgs diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/p b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/p similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/p rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/p diff --git a/tutorials/cavitatingFoam/les/throttle3D/0.org/rho b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/rho similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0.org/rho rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0.org/rho diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/U b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/U similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/U rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/U diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/gamma b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/gamma similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/gamma rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/gamma diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/k b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/k similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/k rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/k diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/nuSgs b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/nuSgs similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/nuSgs rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/nuSgs diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/p b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/p similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/p rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/p diff --git a/tutorials/cavitatingFoam/les/throttle3D/0/rho b/tutorials/multiphase/cavitatingFoam/les/throttle3D/0/rho similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/0/rho rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/0/rho diff --git a/tutorials/cavitatingFoam/les/throttle3D/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/constant/LESProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties diff --git a/tutorials/cavitatingFoam/les/throttle3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/blockMeshDict diff --git a/tutorials/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary diff --git a/tutorials/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties diff --git a/tutorials/cavitatingFoam/les/throttle3D/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/constant/transportProperties rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.1 rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.2 rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/cellSetDict.3 rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/controlDict rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/decomposeParDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/decomposeParDict rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/fvSchemes rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/fvSolution rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/mapFieldsDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/mapFieldsDict rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict diff --git a/tutorials/cavitatingFoam/les/throttle3D/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict similarity index 100% rename from tutorials/cavitatingFoam/les/throttle3D/system/refineMeshDict rename to tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict diff --git a/tutorials/cavitatingFoam/ras/throttle/0/U b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/U similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/U rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/U diff --git a/tutorials/cavitatingFoam/ras/throttle/0/gamma b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/gamma similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/gamma rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/gamma diff --git a/tutorials/cavitatingFoam/ras/throttle/0/k b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/k rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/k diff --git a/tutorials/cavitatingFoam/ras/throttle/0/omega b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/omega rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega diff --git a/tutorials/cavitatingFoam/ras/throttle/0/p b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/p similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/p rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/p diff --git a/tutorials/cavitatingFoam/ras/throttle/0/rho b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/rho similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/0/rho rename to tutorials/multiphase/cavitatingFoam/ras/throttle/0/rho diff --git a/tutorials/cavitatingFoam/ras/throttle/Allclean b/tutorials/multiphase/cavitatingFoam/ras/throttle/Allclean similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/Allclean rename to tutorials/multiphase/cavitatingFoam/ras/throttle/Allclean diff --git a/tutorials/cavitatingFoam/ras/throttle/Allrun b/tutorials/multiphase/cavitatingFoam/ras/throttle/Allrun similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/Allrun rename to tutorials/multiphase/cavitatingFoam/ras/throttle/Allrun diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/RASProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/RASProperties rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/polyMesh/blockMeshDict b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/blockMeshDict diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/polyMesh/boundary rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/thermodynamicProperties rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties diff --git a/tutorials/cavitatingFoam/ras/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/constant/transportProperties rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties diff --git a/tutorials/interFoam/ras/damBreak/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/turbulenceProperties rename to tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties diff --git a/tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.1 rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 diff --git a/tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.2 rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 diff --git a/tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/cellSetDict.3 rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 diff --git a/tutorials/cavitatingFoam/ras/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/controlDict rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict diff --git a/tutorials/cavitatingFoam/ras/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/fvSchemes rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes diff --git a/tutorials/cavitatingFoam/ras/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/fvSolution rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution diff --git a/tutorials/cavitatingFoam/ras/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict similarity index 100% rename from tutorials/cavitatingFoam/ras/throttle/system/refineMeshDict rename to tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict diff --git a/tutorials/compressibleInterFoam/depthCharge2D/0/U b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/0/U rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U diff --git a/tutorials/compressibleInterFoam/depthCharge2D/0/alpha1.org b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/0/alpha1.org rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org diff --git a/tutorials/compressibleInterFoam/depthCharge2D/0/pd.org b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/0/pd.org rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org diff --git a/tutorials/compressibleInterFoam/depthCharge2D/Allrun b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/Allrun similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/Allrun rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/Allrun diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/LESProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/environmentalProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/environmentalProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/transportProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties diff --git a/tutorials/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties diff --git a/tutorials/compressibleInterFoam/depthCharge2D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/system/controlDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict diff --git a/tutorials/compressibleInterFoam/depthCharge2D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/system/fvSchemes rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes diff --git a/tutorials/compressibleInterFoam/depthCharge2D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/system/fvSolution rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution diff --git a/tutorials/compressibleInterFoam/depthCharge2D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge2D/system/setFieldsDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict diff --git a/tutorials/compressibleInterFoam/depthCharge3D/0/U b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/0/U rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U diff --git a/tutorials/compressibleInterFoam/depthCharge3D/0/alpha1.org b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/0/alpha1.org rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org diff --git a/tutorials/compressibleInterFoam/depthCharge3D/0/pd.org b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/0/pd.org rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org diff --git a/tutorials/compressibleInterFoam/depthCharge3D/Allclean b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/Allclean similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/Allclean rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/Allclean diff --git a/tutorials/compressibleInterFoam/depthCharge3D/Allrun b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/Allrun similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/Allrun rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/Allrun diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/LESProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/environmentalProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/environmentalProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/transportProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties diff --git a/tutorials/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/controlDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/decomposeParDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/decomposeParDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/fvSchemes rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/fvSolution rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/machines b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/machines similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/machines rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/machines diff --git a/tutorials/compressibleInterFoam/depthCharge3D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict similarity index 100% rename from tutorials/compressibleInterFoam/depthCharge3D/system/setFieldsDict rename to tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0-orig/U b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0-orig/U rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0-orig/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0-orig/gamma rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0-orig/pd b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0-orig/pd rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0/U b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0/U rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0/gamma rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0/gamma.org rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/0/pd b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/0/pd rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/Allrun b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/Allrun similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/Allrun rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/Allrun diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/VTK/c0/c0_1.vtk b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/VTK/c0/c0_1.vtk new file mode 100644 index 0000000000000000000000000000000000000000..af03eba46538789965e6f8ab0137eb890e833a2b GIT binary patch literal 230571 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⁡r%lAa88M^>+# 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	cv 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 literal 0 HcmV?d00001 diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/RASProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 new file mode 100644 index 00000000000..3ffad18a1e1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 @@ -0,0 +1,32277 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class cellSet; + object c0; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +32256 +( +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824 +1825 +1826 +1827 +1828 +1829 +1830 +1831 +1832 +1833 +1834 +1835 +1836 +1837 +1838 +1839 +1840 +1841 +1842 +1843 +1844 +1845 +1846 +1847 +1848 +1849 +1850 +1851 +1852 +1853 +1854 +1855 +1856 +1857 +1858 +1859 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +1881 +1882 +1883 +1884 +1885 +1886 +1887 +1888 +1889 +1890 +1891 +1892 +1893 +1894 +1895 +1896 +1897 +1898 +1899 +1900 +1901 +1902 +1903 +1904 +1905 +1906 +1907 +1908 +1909 +1910 +1911 +1912 +1913 +1914 +1915 +1916 +1917 +1918 +1919 +1920 +1921 +1922 +1923 +1924 +1925 +1926 +1927 +1928 +1929 +1930 +1931 +1932 +1933 +1934 +1935 +1936 +1937 +1938 +1939 +1940 +1941 +1942 +1943 +1944 +1945 +1946 +1947 +1948 +1949 +1950 +1951 +1952 +1953 +1954 +1955 +1956 +1957 +1958 +1959 +1960 +1961 +1962 +1963 +1964 +1965 +1966 +1967 +1968 +1969 +1970 +1971 +1972 +1973 +1974 +1975 +1976 +1977 +1978 +1979 +1980 +1981 +1982 +1983 +1984 +1985 +1986 +1987 +1988 +1989 +1990 +1991 +1992 +1993 +1994 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2002 +2003 +2004 +2005 +2006 +2007 +2008 +2009 +2010 +2011 +2012 +2013 +2014 +2015 +2016 +2017 +2018 +2019 +2020 +2021 +2022 +2023 +2024 +2025 +2026 +2027 +2028 +2029 +2030 +2031 +2032 +2033 +2034 +2035 +2036 +2037 +2038 +2039 +2040 +2041 +2042 +2043 +2044 +2045 +2046 +2047 +2048 +2049 +2050 +2051 +2052 +2053 +2054 +2055 +2056 +2057 +2058 +2059 +2060 +2061 +2062 +2063 +2064 +2065 +2066 +2067 +2068 +2069 +2070 +2071 +2072 +2073 +2074 +2075 +2076 +2077 +2078 +2079 +2080 +2081 +2082 +2083 +2084 +2085 +2086 +2087 +2088 +2089 +2090 +2091 +2092 +2093 +2094 +2095 +2096 +2097 +2098 +2099 +2100 +2101 +2102 +2103 +2104 +2105 +2106 +2107 +2108 +2109 +2110 +2111 +2112 +2113 +2114 +2115 +2116 +2117 +2118 +2119 +2120 +2121 +2122 +2123 +2124 +2125 +2126 +2127 +2128 +2129 +2130 +2131 +2132 +2133 +2134 +2135 +2136 +2137 +2138 +2139 +2140 +2141 +2142 +2143 +2144 +2145 +2146 +2147 +2148 +2149 +2150 +2151 +2152 +2153 +2154 +2155 +2156 +2157 +2158 +2159 +2160 +2161 +2162 +2163 +2164 +2165 +2166 +2167 +2168 +2169 +2170 +2171 +2172 +2173 +2174 +2175 +2176 +2177 +2178 +2179 +2180 +2181 +2182 +2183 +2184 +2185 +2186 +2187 +2188 +2189 +2190 +2191 +2192 +2193 +2194 +2195 +2196 +2197 +2198 +2199 +2200 +2201 +2202 +2203 +2204 +2205 +2206 +2207 +2208 +2209 +2210 +2211 +2212 +2213 +2214 +2215 +2216 +2217 +2218 +2219 +2220 +2221 +2222 +2223 +2224 +2225 +2226 +2227 +2228 +2229 +2230 +2231 +2232 +2233 +2234 +2235 +2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246 +2247 +2248 +2249 +2250 +2251 +2252 +2253 +2254 +2255 +2256 +2257 +2258 +2259 +2260 +2261 +2262 +2263 +2264 +2265 +2266 +2267 +2268 +2269 +2270 +2271 +2272 +2273 +2274 +2275 +2276 +2277 +2278 +2279 +2280 +2281 +2282 +2283 +2284 +2285 +2286 +2287 +2288 +2289 +2290 +2291 +2292 +2293 +2294 +2295 +2296 +2297 +2298 +2299 +2300 +2301 +2302 +2303 +2304 +2305 +2306 +2307 +2308 +2309 +2310 +2311 +2312 +2313 +2314 +2315 +2316 +2317 +2318 +2319 +2320 +2321 +2322 +2323 +2324 +2325 +2326 +2327 +2328 +2329 +2330 +2331 +2332 +2333 +2334 +2335 +2336 +2337 +2338 +2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355 +2356 +2357 +2358 +2359 +2360 +2361 +2362 +2363 +2364 +2365 +2366 +2367 +2368 +2369 +2370 +2371 +2372 +2373 +2374 +2375 +2376 +2377 +2378 +2379 +2380 +2381 +2382 +2383 +2384 +2385 +2386 +2387 +2388 +2389 +2390 +2391 +2392 +2393 +2394 +2395 +2396 +2397 +2398 +2399 +2400 +2401 +2402 +2403 +2404 +2405 +2406 +2407 +2408 +2409 +2410 +2411 +2412 +2413 +2414 +2415 +2416 +2417 +2418 +2419 +2420 +2421 +2422 +2423 +2424 +2425 +2426 +2427 +2428 +2429 +2430 +2431 +2432 +2433 +2434 +2435 +2436 +2437 +2438 +2439 +2440 +2441 +2442 +2443 +2452 +2453 +2454 +2455 +2456 +2457 +2458 +2459 +2460 +2461 +2462 +2463 +2464 +2465 +2466 +2467 +2468 +2469 +2470 +2471 +2472 +2473 +2474 +2475 +2484 +2485 +2486 +2487 +2488 +2489 +2490 +2491 +2492 +2493 +2494 +2495 +2496 +2497 +2498 +2499 +2500 +2501 +2502 +2503 +2504 +2505 +2506 +2507 +2516 +2517 +2518 +2519 +2520 +2521 +2522 +2523 +2524 +2525 +2526 +2527 +2528 +2529 +2530 +2531 +2532 +2533 +2534 +2535 +2536 +2537 +2538 +2539 +2548 +2549 +2550 +2551 +2552 +2553 +2554 +2555 +2556 +2557 +2558 +2559 +2560 +2561 +2562 +2563 +2564 +2565 +2566 +2567 +2568 +2569 +2570 +2571 +2580 +2581 +2582 +2583 +2584 +2585 +2586 +2587 +2588 +2589 +2590 +2591 +2592 +2593 +2594 +2595 +2596 +2597 +2598 +2599 +2600 +2601 +2602 +2603 +2612 +2613 +2614 +2615 +2616 +2617 +2618 +2619 +2620 +2621 +2622 +2623 +2624 +2625 +2626 +2627 +2628 +2629 +2630 +2631 +2632 +2633 +2634 +2635 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656 +2657 +2658 +2659 +2660 +2661 +2662 +2663 +2664 +2665 +2666 +2667 +2676 +2677 +2678 +2679 +2680 +2681 +2682 +2683 +2684 +2685 +2686 +2687 +2688 +2689 +2690 +2691 +2692 +2693 +2694 +2695 +2696 +2697 +2698 +2699 +2700 +2701 +2702 +2703 +2704 +2705 +2706 +2707 +2708 +2709 +2710 +2711 +2712 +2713 +2714 +2715 +2716 +2717 +2718 +2719 +2720 +2721 +2722 +2723 +2724 +2725 +2726 +2727 +2728 +2729 +2730 +2731 +2732 +2733 +2734 +2735 +2736 +2737 +2738 +2739 +2740 +2741 +2742 +2743 +2744 +2745 +2746 +2747 +2748 +2749 +2750 +2751 +2752 +2753 +2754 +2755 +2756 +2757 +2758 +2759 +2760 +2761 +2762 +2763 +2764 +2765 +2766 +2767 +2768 +2769 +2770 +2771 +2772 +2773 +2774 +2775 +2776 +2777 +2778 +2779 +2780 +2781 +2782 +2783 +2784 +2785 +2786 +2787 +2788 +2789 +2790 +2791 +2792 +2793 +2794 +2795 +2796 +2797 +2798 +2799 +2800 +2801 +2802 +2803 +2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883 +2884 +2885 +2886 +2887 +2888 +2889 +2890 +2891 +2892 +2893 +2894 +2895 +2896 +2897 +2898 +2899 +2900 +2901 +2902 +2903 +2904 +2905 +2906 +2907 +2908 +2909 +2910 +2911 +2912 +2913 +2914 +2915 +2916 +2917 +2918 +2919 +2920 +2921 +2922 +2923 +2924 +2925 +2926 +2927 +2928 +2929 +2930 +2931 +2932 +2933 +2934 +2935 +2936 +2937 +2938 +2939 +2940 +2941 +2942 +2943 +2944 +2945 +2946 +2947 +2948 +2949 +2950 +2951 +2952 +2953 +2954 +2955 +2956 +2957 +2958 +2959 +2960 +2961 +2962 +2963 +2964 +2965 +2966 +2967 +2968 +2969 +2970 +2971 +2972 +2973 +2974 +2975 +2976 +2977 +2978 +2979 +2980 +2981 +2982 +2983 +2984 +2985 +2986 +2987 +2988 +2989 +2990 +2991 +2992 +2993 +2994 +2995 +2996 +2997 +2998 +2999 +3000 +3001 +3002 +3003 +3004 +3005 +3006 +3007 +3008 +3009 +3010 +3011 +3012 +3013 +3014 +3015 +3016 +3017 +3018 +3019 +3020 +3021 +3022 +3023 +3024 +3025 +3026 +3027 +3028 +3029 +3030 +3031 +3032 +3033 +3034 +3035 +3036 +3037 +3038 +3039 +3040 +3041 +3042 +3043 +3044 +3045 +3046 +3047 +3048 +3049 +3050 +3051 +3052 +3053 +3054 +3055 +3056 +3057 +3058 +3059 +3060 +3061 +3062 +3063 +3064 +3065 +3066 +3067 +3068 +3069 +3070 +3071 +3072 +3073 +3074 +3075 +3076 +3077 +3078 +3079 +3080 +3081 +3082 +3083 +3084 +3085 +3086 +3087 +3088 +3089 +3090 +3091 +3092 +3093 +3094 +3095 +3096 +3097 +3098 +3099 +3100 +3101 +3102 +3103 +3104 +3105 +3106 +3107 +3108 +3109 +3110 +3111 +3112 +3113 +3114 +3115 +3116 +3117 +3118 +3119 +3120 +3121 +3122 +3123 +3124 +3125 +3126 +3127 +3128 +3129 +3130 +3131 +3132 +3133 +3134 +3135 +3136 +3137 +3138 +3139 +3140 +3141 +3142 +3143 +3144 +3145 +3146 +3147 +3148 +3149 +3150 +3151 +3152 +3153 +3154 +3155 +3156 +3157 +3158 +3159 +3160 +3161 +3162 +3163 +3164 +3165 +3166 +3167 +3168 +3169 +3170 +3171 +3172 +3173 +3174 +3175 +3176 +3177 +3178 +3179 +3180 +3181 +3182 +3183 +3184 +3185 +3186 +3187 +3188 +3189 +3190 +3191 +3192 +3193 +3194 +3195 +3196 +3197 +3198 +3199 +3200 +3201 +3202 +3203 +3204 +3205 +3206 +3207 +3208 +3209 +3210 +3211 +3212 +3213 +3214 +3215 +3216 +3217 +3218 +3219 +3220 +3221 +3222 +3223 +3224 +3225 +3226 +3227 +3228 +3229 +3230 +3231 +3232 +3233 +3234 +3235 +3236 +3237 +3238 +3239 +3240 +3241 +3242 +3243 +3244 +3245 +3246 +3247 +3248 +3249 +3250 +3251 +3252 +3253 +3254 +3255 +3256 +3257 +3258 +3259 +3260 +3261 +3262 +3263 +3264 +3265 +3266 +3267 +3268 +3269 +3270 +3271 +3272 +3273 +3274 +3275 +3276 +3277 +3278 +3279 +3280 +3281 +3282 +3283 +3284 +3285 +3286 +3287 +3288 +3289 +3290 +3291 +3292 +3293 +3294 +3295 +3296 +3297 +3298 +3299 +3300 +3301 +3302 +3303 +3304 +3305 +3306 +3307 +3308 +3309 +3310 +3311 +3312 +3313 +3314 +3315 +3316 +3317 +3318 +3319 +3320 +3321 +3322 +3323 +3324 +3325 +3326 +3327 +3328 +3329 +3330 +3331 +3332 +3333 +3334 +3335 +3336 +3337 +3338 +3339 +3340 +3341 +3342 +3343 +3344 +3345 +3346 +3347 +3348 +3349 +3350 +3351 +3352 +3353 +3354 +3355 +3356 +3357 +3358 +3359 +3360 +3361 +3362 +3363 +3364 +3365 +3366 +3367 +3368 +3369 +3370 +3371 +3372 +3373 +3374 +3375 +3376 +3377 +3378 +3379 +3380 +3381 +3382 +3383 +3384 +3385 +3386 +3387 +3388 +3389 +3390 +3391 +3392 +3393 +3394 +3395 +3396 +3397 +3398 +3399 +3400 +3401 +3402 +3403 +3404 +3405 +3406 +3407 +3408 +3409 +3410 +3411 +3412 +3413 +3414 +3415 +3416 +3417 +3418 +3419 +3420 +3421 +3422 +3423 +3424 +3425 +3426 +3427 +3428 +3429 +3430 +3431 +3432 +3433 +3434 +3435 +3436 +3437 +3438 +3439 +3440 +3441 +3442 +3443 +3444 +3445 +3446 +3447 +3448 +3449 +3450 +3451 +3452 +3453 +3454 +3455 +3456 +3457 +3458 +3459 +3460 +3461 +3462 +3463 +3464 +3465 +3466 +3467 +3476 +3477 +3478 +3479 +3480 +3481 +3482 +3483 +3484 +3485 +3486 +3487 +3488 +3489 +3490 +3491 +3492 +3493 +3494 +3495 +3496 +3497 +3498 +3499 +3508 +3509 +3510 +3511 +3512 +3513 +3514 +3515 +3516 +3517 +3518 +3519 +3520 +3521 +3522 +3523 +3524 +3525 +3526 +3527 +3528 +3529 +3530 +3531 +3540 +3541 +3542 +3543 +3544 +3545 +3546 +3547 +3548 +3549 +3550 +3551 +3552 +3553 +3554 +3555 +3556 +3557 +3558 +3559 +3560 +3561 +3562 +3563 +3572 +3573 +3574 +3575 +3576 +3577 +3578 +3579 +3580 +3581 +3582 +3583 +3584 +3585 +3586 +3587 +3588 +3589 +3590 +3591 +3592 +3593 +3594 +3595 +3604 +3605 +3606 +3607 +3608 +3609 +3610 +3611 +3612 +3613 +3614 +3615 +3616 +3617 +3618 +3619 +3620 +3621 +3622 +3623 +3624 +3625 +3626 +3627 +3636 +3637 +3638 +3639 +3640 +3641 +3642 +3643 +3644 +3645 +3646 +3647 +3648 +3649 +3650 +3651 +3652 +3653 +3654 +3655 +3656 +3657 +3658 +3659 +3668 +3669 +3670 +3671 +3672 +3673 +3674 +3675 +3676 +3677 +3678 +3679 +3680 +3681 +3682 +3683 +3684 +3685 +3686 +3687 +3688 +3689 +3690 +3691 +3700 +3701 +3702 +3703 +3704 +3705 +3706 +3707 +3708 +3709 +3710 +3711 +3712 +3713 +3714 +3715 +3716 +3717 +3718 +3719 +3720 +3721 +3722 +3723 +3724 +3725 +3726 +3727 +3728 +3729 +3730 +3731 +3732 +3733 +3734 +3735 +3736 +3737 +3738 +3739 +3740 +3741 +3742 +3743 +3744 +3745 +3746 +3747 +3748 +3749 +3750 +3751 +3752 +3753 +3754 +3755 +3756 +3757 +3758 +3759 +3760 +3761 +3762 +3763 +3764 +3765 +3766 +3767 +3768 +3769 +3770 +3771 +3772 +3773 +3774 +3775 +3776 +3777 +3778 +3779 +3780 +3781 +3782 +3783 +3784 +3785 +3786 +3787 +3788 +3789 +3790 +3791 +3792 +3793 +3794 +3795 +3796 +3797 +3798 +3799 +3800 +3801 +3802 +3803 +3804 +3805 +3806 +3807 +3808 +3809 +3810 +3811 +3812 +3813 +3814 +3815 +3816 +3817 +3818 +3819 +3820 +3821 +3822 +3823 +3824 +3825 +3826 +3827 +3828 +3829 +3830 +3831 +3832 +3833 +3834 +3835 +3836 +3837 +3838 +3839 +3840 +3841 +3842 +3843 +3844 +3845 +3846 +3847 +3848 +3849 +3850 +3851 +3852 +3853 +3854 +3855 +3856 +3857 +3858 +3859 +3860 +3861 +3862 +3863 +3864 +3865 +3866 +3867 +3868 +3869 +3870 +3871 +3872 +3873 +3874 +3875 +3876 +3877 +3878 +3879 +3880 +3881 +3882 +3883 +3884 +3885 +3886 +3887 +3888 +3889 +3890 +3891 +3892 +3893 +3894 +3895 +3896 +3897 +3898 +3899 +3900 +3901 +3902 +3903 +3904 +3905 +3906 +3907 +3908 +3909 +3910 +3911 +3912 +3913 +3914 +3915 +3916 +3917 +3918 +3919 +3920 +3921 +3922 +3923 +3924 +3925 +3926 +3927 +3928 +3929 +3930 +3931 +3932 +3933 +3934 +3935 +3936 +3937 +3938 +3939 +3940 +3941 +3942 +3943 +3944 +3945 +3946 +3947 +3948 +3949 +3950 +3951 +3952 +3953 +3954 +3955 +3956 +3957 +3958 +3959 +3960 +3961 +3962 +3963 +3964 +3965 +3966 +3967 +3968 +3969 +3970 +3971 +3972 +3973 +3974 +3975 +3976 +3977 +3978 +3979 +3980 +3981 +3982 +3983 +3984 +3985 +3986 +3987 +3988 +3989 +3990 +3991 +3992 +3993 +3994 +3995 +3996 +3997 +3998 +3999 +4000 +4001 +4002 +4003 +4004 +4005 +4006 +4007 +4008 +4009 +4010 +4011 +4012 +4013 +4014 +4015 +4016 +4017 +4018 +4019 +4020 +4021 +4022 +4023 +4024 +4025 +4026 +4027 +4028 +4029 +4030 +4031 +4032 +4033 +4034 +4035 +4036 +4037 +4038 +4039 +4040 +4041 +4042 +4043 +4044 +4045 +4046 +4047 +4048 +4049 +4050 +4051 +4052 +4053 +4054 +4055 +4056 +4057 +4058 +4059 +4060 +4061 +4062 +4063 +4064 +4065 +4066 +4067 +4068 +4069 +4070 +4071 +4072 +4073 +4074 +4075 +4076 +4077 +4078 +4079 +4080 +4081 +4082 +4083 +4084 +4085 +4086 +4087 +4088 +4089 +4090 +4091 +4092 +4093 +4094 +4095 +4096 +4097 +4098 +4099 +4100 +4101 +4102 +4103 +4104 +4105 +4106 +4107 +4108 +4109 +4110 +4111 +4112 +4113 +4114 +4115 +4116 +4117 +4118 +4119 +4120 +4121 +4122 +4123 +4124 +4125 +4126 +4127 +4128 +4129 +4130 +4131 +4132 +4133 +4134 +4135 +4136 +4137 +4138 +4139 +4140 +4141 +4142 +4143 +4144 +4145 +4146 +4147 +4148 +4149 +4150 +4151 +4152 +4153 +4154 +4155 +4156 +4157 +4158 +4159 +4160 +4161 +4162 +4163 +4164 +4165 +4166 +4167 +4168 +4169 +4170 +4171 +4172 +4173 +4174 +4175 +4176 +4177 +4178 +4179 +4180 +4181 +4182 +4183 +4184 +4185 +4186 +4187 +4188 +4189 +4190 +4191 +4192 +4193 +4194 +4195 +4196 +4197 +4198 +4199 +4200 +4201 +4202 +4203 +4204 +4205 +4206 +4207 +4208 +4209 +4210 +4211 +4212 +4213 +4214 +4215 +4216 +4217 +4218 +4219 +4220 +4221 +4222 +4223 +4224 +4225 +4226 +4227 +4228 +4229 +4230 +4231 +4232 +4233 +4234 +4235 +4236 +4237 +4238 +4239 +4240 +4241 +4242 +4243 +4244 +4245 +4246 +4247 +4248 +4249 +4250 +4251 +4252 +4253 +4254 +4255 +4256 +4257 +4258 +4259 +4260 +4261 +4262 +4263 +4264 +4265 +4266 +4267 +4268 +4269 +4270 +4271 +4272 +4273 +4274 +4275 +4276 +4277 +4278 +4279 +4280 +4281 +4282 +4283 +4284 +4285 +4286 +4287 +4288 +4289 +4290 +4291 +4292 +4293 +4294 +4295 +4296 +4297 +4298 +4299 +4300 +4301 +4302 +4303 +4304 +4305 +4306 +4307 +4308 +4309 +4310 +4311 +4312 +4313 +4314 +4315 +4316 +4317 +4318 +4319 +4320 +4321 +4322 +4323 +4324 +4325 +4326 +4327 +4328 +4329 +4330 +4331 +4332 +4333 +4334 +4335 +4336 +4337 +4338 +4339 +4340 +4341 +4342 +4343 +4344 +4345 +4346 +4347 +4348 +4349 +4350 +4351 +4352 +4353 +4354 +4355 +4356 +4357 +4358 +4359 +4360 +4361 +4362 +4363 +4364 +4365 +4366 +4367 +4368 +4369 +4370 +4371 +4372 +4373 +4374 +4375 +4376 +4377 +4378 +4379 +4380 +4381 +4382 +4383 +4384 +4385 +4386 +4387 +4388 +4389 +4390 +4391 +4392 +4393 +4394 +4395 +4396 +4397 +4398 +4399 +4400 +4401 +4402 +4403 +4404 +4405 +4406 +4407 +4408 +4409 +4410 +4411 +4412 +4413 +4414 +4415 +4416 +4417 +4418 +4419 +4420 +4421 +4422 +4423 +4424 +4425 +4426 +4427 +4428 +4429 +4430 +4431 +4432 +4433 +4434 +4435 +4436 +4437 +4438 +4439 +4440 +4441 +4442 +4443 +4444 +4445 +4446 +4447 +4448 +4449 +4450 +4451 +4452 +4453 +4454 +4455 +4456 +4457 +4458 +4459 +4460 +4461 +4462 +4463 +4464 +4465 +4466 +4467 +4468 +4469 +4470 +4471 +4472 +4473 +4474 +4475 +4476 +4477 +4478 +4479 +4480 +4481 +4482 +4483 +4484 +4485 +4486 +4487 +4488 +4489 +4490 +4491 +4500 +4501 +4502 +4503 +4504 +4505 +4506 +4507 +4508 +4509 +4510 +4511 +4512 +4513 +4514 +4515 +4516 +4517 +4518 +4519 +4520 +4521 +4522 +4523 +4532 +4533 +4534 +4535 +4536 +4537 +4538 +4539 +4540 +4541 +4542 +4543 +4544 +4545 +4546 +4547 +4548 +4549 +4550 +4551 +4552 +4553 +4554 +4555 +4564 +4565 +4566 +4567 +4568 +4569 +4570 +4571 +4572 +4573 +4574 +4575 +4576 +4577 +4578 +4579 +4580 +4581 +4582 +4583 +4584 +4585 +4586 +4587 +4596 +4597 +4598 +4599 +4600 +4601 +4602 +4603 +4604 +4605 +4606 +4607 +4608 +4609 +4610 +4611 +4612 +4613 +4614 +4615 +4616 +4617 +4618 +4619 +4628 +4629 +4630 +4631 +4632 +4633 +4634 +4635 +4636 +4637 +4638 +4639 +4640 +4641 +4642 +4643 +4644 +4645 +4646 +4647 +4648 +4649 +4650 +4651 +4660 +4661 +4662 +4663 +4664 +4665 +4666 +4667 +4668 +4669 +4670 +4671 +4672 +4673 +4674 +4675 +4676 +4677 +4678 +4679 +4680 +4681 +4682 +4683 +4692 +4693 +4694 +4695 +4696 +4697 +4698 +4699 +4700 +4701 +4702 +4703 +4704 +4705 +4706 +4707 +4708 +4709 +4710 +4711 +4712 +4713 +4714 +4715 +4724 +4725 +4726 +4727 +4728 +4729 +4730 +4731 +4732 +4733 +4734 +4735 +4736 +4737 +4738 +4739 +4740 +4741 +4742 +4743 +4744 +4745 +4746 +4747 +4748 +4749 +4750 +4751 +4752 +4753 +4754 +4755 +4756 +4757 +4758 +4759 +4760 +4761 +4762 +4763 +4764 +4765 +4766 +4767 +4768 +4769 +4770 +4771 +4772 +4773 +4774 +4775 +4776 +4777 +4778 +4779 +4780 +4781 +4782 +4783 +4784 +4785 +4786 +4787 +4788 +4789 +4790 +4791 +4792 +4793 +4794 +4795 +4796 +4797 +4798 +4799 +4800 +4801 +4802 +4803 +4804 +4805 +4806 +4807 +4808 +4809 +4810 +4811 +4812 +4813 +4814 +4815 +4816 +4817 +4818 +4819 +4820 +4821 +4822 +4823 +4824 +4825 +4826 +4827 +4828 +4829 +4830 +4831 +4832 +4833 +4834 +4835 +4836 +4837 +4838 +4839 +4840 +4841 +4842 +4843 +4844 +4845 +4846 +4847 +4848 +4849 +4850 +4851 +4852 +4853 +4854 +4855 +4856 +4857 +4858 +4859 +4860 +4861 +4862 +4863 +4864 +4865 +4866 +4867 +4868 +4869 +4870 +4871 +4872 +4873 +4874 +4875 +4876 +4877 +4878 +4879 +4880 +4881 +4882 +4883 +4884 +4885 +4886 +4887 +4888 +4889 +4890 +4891 +4892 +4893 +4894 +4895 +4896 +4897 +4898 +4899 +4900 +4901 +4902 +4903 +4904 +4905 +4906 +4907 +4908 +4909 +4910 +4911 +4912 +4913 +4914 +4915 +4916 +4917 +4918 +4919 +4920 +4921 +4922 +4923 +4924 +4925 +4926 +4927 +4928 +4929 +4930 +4931 +4932 +4933 +4934 +4935 +4936 +4937 +4938 +4939 +4940 +4941 +4942 +4943 +4944 +4945 +4946 +4947 +4948 +4949 +4950 +4951 +4952 +4953 +4954 +4955 +4956 +4957 +4958 +4959 +4960 +4961 +4962 +4963 +4964 +4965 +4966 +4967 +4968 +4969 +4970 +4971 +4972 +4973 +4974 +4975 +4976 +4977 +4978 +4979 +4980 +4981 +4982 +4983 +4984 +4985 +4986 +4987 +4988 +4989 +4990 +4991 +4992 +4993 +4994 +4995 +4996 +4997 +4998 +4999 +5000 +5001 +5002 +5003 +5004 +5005 +5006 +5007 +5008 +5009 +5010 +5011 +5012 +5013 +5014 +5015 +5016 +5017 +5018 +5019 +5020 +5021 +5022 +5023 +5024 +5025 +5026 +5027 +5028 +5029 +5030 +5031 +5032 +5033 +5034 +5035 +5036 +5037 +5038 +5039 +5040 +5041 +5042 +5043 +5044 +5045 +5046 +5047 +5048 +5049 +5050 +5051 +5052 +5053 +5054 +5055 +5056 +5057 +5058 +5059 +5060 +5061 +5062 +5063 +5064 +5065 +5066 +5067 +5068 +5069 +5070 +5071 +5072 +5073 +5074 +5075 +5076 +5077 +5078 +5079 +5080 +5081 +5082 +5083 +5084 +5085 +5086 +5087 +5088 +5089 +5090 +5091 +5092 +5093 +5094 +5095 +5096 +5097 +5098 +5099 +5100 +5101 +5102 +5103 +5104 +5105 +5106 +5107 +5108 +5109 +5110 +5111 +5112 +5113 +5114 +5115 +5116 +5117 +5118 +5119 +5120 +5121 +5122 +5123 +5124 +5125 +5126 +5127 +5128 +5129 +5130 +5131 +5132 +5133 +5134 +5135 +5136 +5137 +5138 +5139 +5140 +5141 +5142 +5143 +5144 +5145 +5146 +5147 +5148 +5149 +5150 +5151 +5152 +5153 +5154 +5155 +5156 +5157 +5158 +5159 +5160 +5161 +5162 +5163 +5164 +5165 +5166 +5167 +5168 +5169 +5170 +5171 +5172 +5173 +5174 +5175 +5176 +5177 +5178 +5179 +5180 +5181 +5182 +5183 +5184 +5185 +5186 +5187 +5188 +5189 +5190 +5191 +5192 +5193 +5194 +5195 +5196 +5197 +5198 +5199 +5200 +5201 +5202 +5203 +5204 +5205 +5206 +5207 +5208 +5209 +5210 +5211 +5212 +5213 +5214 +5215 +5216 +5217 +5218 +5219 +5220 +5221 +5222 +5223 +5224 +5225 +5226 +5227 +5228 +5229 +5230 +5231 +5232 +5233 +5234 +5235 +5236 +5237 +5238 +5239 +5240 +5241 +5242 +5243 +5244 +5245 +5246 +5247 +5248 +5249 +5250 +5251 +5252 +5253 +5254 +5255 +5256 +5257 +5258 +5259 +5260 +5261 +5262 +5263 +5264 +5265 +5266 +5267 +5268 +5269 +5270 +5271 +5272 +5273 +5274 +5275 +5276 +5277 +5278 +5279 +5280 +5281 +5282 +5283 +5284 +5285 +5286 +5287 +5288 +5289 +5290 +5291 +5292 +5293 +5294 +5295 +5296 +5297 +5298 +5299 +5300 +5301 +5302 +5303 +5304 +5305 +5306 +5307 +5308 +5309 +5310 +5311 +5312 +5313 +5314 +5315 +5316 +5317 +5318 +5319 +5320 +5321 +5322 +5323 +5324 +5325 +5326 +5327 +5328 +5329 +5330 +5331 +5332 +5333 +5334 +5335 +5336 +5337 +5338 +5339 +5340 +5341 +5342 +5343 +5344 +5345 +5346 +5347 +5348 +5349 +5350 +5351 +5352 +5353 +5354 +5355 +5356 +5357 +5358 +5359 +5360 +5361 +5362 +5363 +5364 +5365 +5366 +5367 +5368 +5369 +5370 +5371 +5372 +5373 +5374 +5375 +5376 +5377 +5378 +5379 +5380 +5381 +5382 +5383 +5384 +5385 +5386 +5387 +5388 +5389 +5390 +5391 +5392 +5393 +5394 +5395 +5396 +5397 +5398 +5399 +5400 +5401 +5402 +5403 +5404 +5405 +5406 +5407 +5408 +5409 +5410 +5411 +5412 +5413 +5414 +5415 +5416 +5417 +5418 +5419 +5420 +5421 +5422 +5423 +5424 +5425 +5426 +5427 +5428 +5429 +5430 +5431 +5432 +5433 +5434 +5435 +5436 +5437 +5438 +5439 +5440 +5441 +5442 +5443 +5444 +5445 +5446 +5447 +5448 +5449 +5450 +5451 +5452 +5453 +5454 +5455 +5456 +5457 +5458 +5459 +5460 +5461 +5462 +5463 +5464 +5465 +5466 +5467 +5468 +5469 +5470 +5471 +5472 +5473 +5474 +5475 +5476 +5477 +5478 +5479 +5480 +5481 +5482 +5483 +5484 +5485 +5486 +5487 +5488 +5489 +5490 +5491 +5492 +5493 +5494 +5495 +5496 +5497 +5498 +5499 +5500 +5501 +5502 +5503 +5504 +5505 +5506 +5507 +5508 +5509 +5510 +5511 +5512 +5513 +5514 +5515 +5524 +5525 +5526 +5527 +5528 +5529 +5530 +5531 +5532 +5533 +5534 +5535 +5536 +5537 +5538 +5539 +5540 +5541 +5542 +5543 +5544 +5545 +5546 +5547 +5556 +5557 +5558 +5559 +5560 +5561 +5562 +5563 +5564 +5565 +5566 +5567 +5568 +5569 +5570 +5571 +5572 +5573 +5574 +5575 +5576 +5577 +5578 +5579 +5588 +5589 +5590 +5591 +5592 +5593 +5594 +5595 +5596 +5597 +5598 +5599 +5600 +5601 +5602 +5603 +5604 +5605 +5606 +5607 +5608 +5609 +5610 +5611 +5620 +5621 +5622 +5623 +5624 +5625 +5626 +5627 +5628 +5629 +5630 +5631 +5632 +5633 +5634 +5635 +5636 +5637 +5638 +5639 +5640 +5641 +5642 +5643 +5652 +5653 +5654 +5655 +5656 +5657 +5658 +5659 +5660 +5661 +5662 +5663 +5664 +5665 +5666 +5667 +5668 +5669 +5670 +5671 +5672 +5673 +5674 +5675 +5684 +5685 +5686 +5687 +5688 +5689 +5690 +5691 +5692 +5693 +5694 +5695 +5696 +5697 +5698 +5699 +5700 +5701 +5702 +5703 +5704 +5705 +5706 +5707 +5716 +5717 +5718 +5719 +5720 +5721 +5722 +5723 +5724 +5725 +5726 +5727 +5728 +5729 +5730 +5731 +5732 +5733 +5734 +5735 +5736 +5737 +5738 +5739 +5748 +5749 +5750 +5751 +5752 +5753 +5754 +5755 +5756 +5757 +5758 +5759 +5760 +5761 +5762 +5763 +5764 +5765 +5766 +5767 +5768 +5769 +5770 +5771 +5772 +5773 +5774 +5775 +5776 +5777 +5778 +5779 +5780 +5781 +5782 +5783 +5784 +5785 +5786 +5787 +5788 +5789 +5790 +5791 +5792 +5793 +5794 +5795 +5796 +5797 +5798 +5799 +5800 +5801 +5802 +5803 +5804 +5805 +5806 +5807 +5808 +5809 +5810 +5811 +5812 +5813 +5814 +5815 +5816 +5817 +5818 +5819 +5820 +5821 +5822 +5823 +5824 +5825 +5826 +5827 +5828 +5829 +5830 +5831 +5832 +5833 +5834 +5835 +5836 +5837 +5838 +5839 +5840 +5841 +5842 +5843 +5844 +5845 +5846 +5847 +5848 +5849 +5850 +5851 +5852 +5853 +5854 +5855 +5856 +5857 +5858 +5859 +5860 +5861 +5862 +5863 +5864 +5865 +5866 +5867 +5868 +5869 +5870 +5871 +5872 +5873 +5874 +5875 +5876 +5877 +5878 +5879 +5880 +5881 +5882 +5883 +5884 +5885 +5886 +5887 +5888 +5889 +5890 +5891 +5892 +5893 +5894 +5895 +5896 +5897 +5898 +5899 +5900 +5901 +5902 +5903 +5904 +5905 +5906 +5907 +5908 +5909 +5910 +5911 +5912 +5913 +5914 +5915 +5916 +5917 +5918 +5919 +5920 +5921 +5922 +5923 +5924 +5925 +5926 +5927 +5928 +5929 +5930 +5931 +5932 +5933 +5934 +5935 +5936 +5937 +5938 +5939 +5940 +5941 +5942 +5943 +5944 +5945 +5946 +5947 +5948 +5949 +5950 +5951 +5952 +5953 +5954 +5955 +5956 +5957 +5958 +5959 +5960 +5961 +5962 +5963 +5964 +5965 +5966 +5967 +5968 +5969 +5970 +5971 +5972 +5973 +5974 +5975 +5976 +5977 +5978 +5979 +5980 +5981 +5982 +5983 +5984 +5985 +5986 +5987 +5988 +5989 +5990 +5991 +5992 +5993 +5994 +5995 +5996 +5997 +5998 +5999 +6000 +6001 +6002 +6003 +6004 +6005 +6006 +6007 +6008 +6009 +6010 +6011 +6012 +6013 +6014 +6015 +6016 +6017 +6018 +6019 +6020 +6021 +6022 +6023 +6024 +6025 +6026 +6027 +6028 +6029 +6030 +6031 +6032 +6033 +6034 +6035 +6036 +6037 +6038 +6039 +6040 +6041 +6042 +6043 +6044 +6045 +6046 +6047 +6048 +6049 +6050 +6051 +6052 +6053 +6054 +6055 +6056 +6057 +6058 +6059 +6060 +6061 +6062 +6063 +6064 +6065 +6066 +6067 +6068 +6069 +6070 +6071 +6072 +6073 +6074 +6075 +6076 +6077 +6078 +6079 +6080 +6081 +6082 +6083 +6084 +6085 +6086 +6087 +6088 +6089 +6090 +6091 +6092 +6093 +6094 +6095 +6096 +6097 +6098 +6099 +6100 +6101 +6102 +6103 +6104 +6105 +6106 +6107 +6108 +6109 +6110 +6111 +6112 +6113 +6114 +6115 +6116 +6117 +6118 +6119 +6120 +6121 +6122 +6123 +6124 +6125 +6126 +6127 +6128 +6129 +6130 +6131 +6132 +6133 +6134 +6135 +6136 +6137 +6138 +6139 +6140 +6141 +6142 +6143 +6144 +6145 +6146 +6147 +6148 +6149 +6150 +6151 +6152 +6153 +6154 +6155 +6156 +6157 +6158 +6159 +6160 +6161 +6162 +6163 +6164 +6165 +6166 +6167 +6168 +6169 +6170 +6171 +6172 +6173 +6174 +6175 +6176 +6177 +6178 +6179 +6180 +6181 +6182 +6183 +6184 +6185 +6186 +6187 +6188 +6189 +6190 +6191 +6192 +6193 +6194 +6195 +6196 +6197 +6198 +6199 +6200 +6201 +6202 +6203 +6204 +6205 +6206 +6207 +6208 +6209 +6210 +6211 +6212 +6213 +6214 +6215 +6216 +6217 +6218 +6219 +6220 +6221 +6222 +6223 +6224 +6225 +6226 +6227 +6228 +6229 +6230 +6231 +6232 +6233 +6234 +6235 +6236 +6237 +6238 +6239 +6240 +6241 +6242 +6243 +6244 +6245 +6246 +6247 +6248 +6249 +6250 +6251 +6252 +6253 +6254 +6255 +6256 +6257 +6258 +6259 +6260 +6261 +6262 +6263 +6264 +6265 +6266 +6267 +6268 +6269 +6270 +6271 +6272 +6273 +6274 +6275 +6276 +6277 +6278 +6279 +6280 +6281 +6282 +6283 +6284 +6285 +6286 +6287 +6288 +6289 +6290 +6291 +6292 +6293 +6294 +6295 +6296 +6297 +6298 +6299 +6300 +6301 +6302 +6303 +6304 +6305 +6306 +6307 +6308 +6309 +6310 +6311 +6312 +6313 +6314 +6315 +6316 +6317 +6318 +6319 +6320 +6321 +6322 +6323 +6324 +6325 +6326 +6327 +6328 +6329 +6330 +6331 +6332 +6333 +6334 +6335 +6336 +6337 +6338 +6339 +6340 +6341 +6342 +6343 +6344 +6345 +6346 +6347 +6348 +6349 +6350 +6351 +6352 +6353 +6354 +6355 +6356 +6357 +6358 +6359 +6360 +6361 +6362 +6363 +6364 +6365 +6366 +6367 +6368 +6369 +6370 +6371 +6372 +6373 +6374 +6375 +6376 +6377 +6378 +6379 +6380 +6381 +6382 +6383 +6384 +6385 +6386 +6387 +6388 +6389 +6390 +6391 +6392 +6393 +6394 +6395 +6396 +6397 +6398 +6399 +6400 +6401 +6402 +6403 +6404 +6405 +6406 +6407 +6408 +6409 +6410 +6411 +6412 +6413 +6414 +6415 +6416 +6417 +6418 +6419 +6420 +6421 +6422 +6423 +6424 +6425 +6426 +6427 +6428 +6429 +6430 +6431 +6432 +6433 +6434 +6435 +6436 +6437 +6438 +6439 +6440 +6441 +6442 +6443 +6444 +6445 +6446 +6447 +6448 +6449 +6450 +6451 +6452 +6453 +6454 +6455 +6456 +6457 +6458 +6459 +6460 +6461 +6462 +6463 +6464 +6465 +6466 +6467 +6468 +6469 +6470 +6471 +6472 +6473 +6474 +6475 +6476 +6477 +6478 +6479 +6480 +6481 +6482 +6483 +6484 +6485 +6486 +6487 +6488 +6489 +6490 +6491 +6492 +6493 +6494 +6495 +6496 +6497 +6498 +6499 +6500 +6501 +6502 +6503 +6504 +6505 +6506 +6507 +6508 +6509 +6510 +6511 +6512 +6513 +6514 +6515 +6516 +6517 +6518 +6519 +6520 +6521 +6522 +6523 +6524 +6525 +6526 +6527 +6528 +6529 +6530 +6531 +6532 +6533 +6534 +6535 +6536 +6537 +6538 +6539 +6548 +6549 +6550 +6551 +6552 +6553 +6554 +6555 +6556 +6557 +6558 +6559 +6560 +6561 +6562 +6563 +6564 +6565 +6566 +6567 +6568 +6569 +6570 +6571 +6580 +6581 +6582 +6583 +6584 +6585 +6586 +6587 +6588 +6589 +6590 +6591 +6592 +6593 +6594 +6595 +6596 +6597 +6598 +6599 +6600 +6601 +6602 +6603 +6612 +6613 +6614 +6615 +6616 +6617 +6618 +6619 +6620 +6621 +6622 +6623 +6624 +6625 +6626 +6627 +6628 +6629 +6630 +6631 +6632 +6633 +6634 +6635 +6644 +6645 +6646 +6647 +6648 +6649 +6650 +6651 +6652 +6653 +6654 +6655 +6656 +6657 +6658 +6659 +6660 +6661 +6662 +6663 +6664 +6665 +6666 +6667 +6676 +6677 +6678 +6679 +6680 +6681 +6682 +6683 +6684 +6685 +6686 +6687 +6688 +6689 +6690 +6691 +6692 +6693 +6694 +6695 +6696 +6697 +6698 +6699 +6708 +6709 +6710 +6711 +6712 +6713 +6714 +6715 +6716 +6717 +6718 +6719 +6720 +6721 +6722 +6723 +6724 +6725 +6726 +6727 +6728 +6729 +6730 +6731 +6740 +6741 +6742 +6743 +6744 +6745 +6746 +6747 +6748 +6749 +6750 +6751 +6752 +6753 +6754 +6755 +6756 +6757 +6758 +6759 +6760 +6761 +6762 +6763 +6772 +6773 +6774 +6775 +6776 +6777 +6778 +6779 +6780 +6781 +6782 +6783 +6784 +6785 +6786 +6787 +6788 +6789 +6790 +6791 +6792 +6793 +6794 +6795 +6796 +6797 +6798 +6799 +6800 +6801 +6802 +6803 +6804 +6805 +6806 +6807 +6808 +6809 +6810 +6811 +6812 +6813 +6814 +6815 +6816 +6817 +6818 +6819 +6820 +6821 +6822 +6823 +6824 +6825 +6826 +6827 +6828 +6829 +6830 +6831 +6832 +6833 +6834 +6835 +6836 +6837 +6838 +6839 +6840 +6841 +6842 +6843 +6844 +6845 +6846 +6847 +6848 +6849 +6850 +6851 +6852 +6853 +6854 +6855 +6856 +6857 +6858 +6859 +6860 +6861 +6862 +6863 +6864 +6865 +6866 +6867 +6868 +6869 +6870 +6871 +6872 +6873 +6874 +6875 +6876 +6877 +6878 +6879 +6880 +6881 +6882 +6883 +6884 +6885 +6886 +6887 +6888 +6889 +6890 +6891 +6892 +6893 +6894 +6895 +6896 +6897 +6898 +6899 +6900 +6901 +6902 +6903 +6904 +6905 +6906 +6907 +6908 +6909 +6910 +6911 +6912 +6913 +6914 +6915 +6916 +6917 +6918 +6919 +6920 +6921 +6922 +6923 +6924 +6925 +6926 +6927 +6928 +6929 +6930 +6931 +6932 +6933 +6934 +6935 +6936 +6937 +6938 +6939 +6940 +6941 +6942 +6943 +6944 +6945 +6946 +6947 +6948 +6949 +6950 +6951 +6952 +6953 +6954 +6955 +6956 +6957 +6958 +6959 +6960 +6961 +6962 +6963 +6964 +6965 +6966 +6967 +6968 +6969 +6970 +6971 +6972 +6973 +6974 +6975 +6976 +6977 +6978 +6979 +6980 +6981 +6982 +6983 +6984 +6985 +6986 +6987 +6988 +6989 +6990 +6991 +6992 +6993 +6994 +6995 +6996 +6997 +6998 +6999 +7000 +7001 +7002 +7003 +7004 +7005 +7006 +7007 +7008 +7009 +7010 +7011 +7012 +7013 +7014 +7015 +7016 +7017 +7018 +7019 +7020 +7021 +7022 +7023 +7024 +7025 +7026 +7027 +7028 +7029 +7030 +7031 +7032 +7033 +7034 +7035 +7036 +7037 +7038 +7039 +7040 +7041 +7042 +7043 +7044 +7045 +7046 +7047 +7048 +7049 +7050 +7051 +7052 +7053 +7054 +7055 +7056 +7057 +7058 +7059 +7060 +7061 +7062 +7063 +7064 +7065 +7066 +7067 +7068 +7069 +7070 +7071 +7072 +7073 +7074 +7075 +7076 +7077 +7078 +7079 +7080 +7081 +7082 +7083 +7084 +7085 +7086 +7087 +7088 +7089 +7090 +7091 +7092 +7093 +7094 +7095 +7096 +7097 +7098 +7099 +7100 +7101 +7102 +7103 +7104 +7105 +7106 +7107 +7108 +7109 +7110 +7111 +7112 +7113 +7114 +7115 +7116 +7117 +7118 +7119 +7120 +7121 +7122 +7123 +7124 +7125 +7126 +7127 +7128 +7129 +7130 +7131 +7132 +7133 +7134 +7135 +7136 +7137 +7138 +7139 +7140 +7141 +7142 +7143 +7144 +7145 +7146 +7147 +7148 +7149 +7150 +7151 +7152 +7153 +7154 +7155 +7156 +7157 +7158 +7159 +7160 +7161 +7162 +7163 +7164 +7165 +7166 +7167 +7168 +7169 +7170 +7171 +7172 +7173 +7174 +7175 +7176 +7177 +7178 +7179 +7180 +7181 +7182 +7183 +7184 +7185 +7186 +7187 +7188 +7189 +7190 +7191 +7192 +7193 +7194 +7195 +7196 +7197 +7198 +7199 +7200 +7201 +7202 +7203 +7204 +7205 +7206 +7207 +7208 +7209 +7210 +7211 +7212 +7213 +7214 +7215 +7216 +7217 +7218 +7219 +7220 +7221 +7222 +7223 +7224 +7225 +7226 +7227 +7228 +7229 +7230 +7231 +7232 +7233 +7234 +7235 +7236 +7237 +7238 +7239 +7240 +7241 +7242 +7243 +7244 +7245 +7246 +7247 +7248 +7249 +7250 +7251 +7252 +7253 +7254 +7255 +7256 +7257 +7258 +7259 +7260 +7261 +7262 +7263 +7264 +7265 +7266 +7267 +7268 +7269 +7270 +7271 +7272 +7273 +7274 +7275 +7276 +7277 +7278 +7279 +7280 +7281 +7282 +7283 +7284 +7285 +7286 +7287 +7288 +7289 +7290 +7291 +7292 +7293 +7294 +7295 +7296 +7297 +7298 +7299 +7300 +7301 +7302 +7303 +7304 +7305 +7306 +7307 +7308 +7309 +7310 +7311 +7312 +7313 +7314 +7315 +7316 +7317 +7318 +7319 +7320 +7321 +7322 +7323 +7324 +7325 +7326 +7327 +7328 +7329 +7330 +7331 +7332 +7333 +7334 +7335 +7336 +7337 +7338 +7339 +7340 +7341 +7342 +7343 +7344 +7345 +7346 +7347 +7348 +7349 +7350 +7351 +7352 +7353 +7354 +7355 +7356 +7357 +7358 +7359 +7360 +7361 +7362 +7363 +7364 +7365 +7366 +7367 +7368 +7369 +7370 +7371 +7372 +7373 +7374 +7375 +7376 +7377 +7378 +7379 +7380 +7381 +7382 +7383 +7384 +7385 +7386 +7387 +7388 +7389 +7390 +7391 +7392 +7393 +7394 +7395 +7396 +7397 +7398 +7399 +7400 +7401 +7402 +7403 +7404 +7405 +7406 +7407 +7408 +7409 +7410 +7411 +7412 +7413 +7414 +7415 +7416 +7417 +7418 +7419 +7420 +7421 +7422 +7423 +7424 +7425 +7426 +7427 +7428 +7429 +7430 +7431 +7432 +7433 +7434 +7435 +7436 +7437 +7438 +7439 +7440 +7441 +7442 +7443 +7444 +7445 +7446 +7447 +7448 +7449 +7450 +7451 +7452 +7453 +7454 +7455 +7456 +7457 +7458 +7459 +7460 +7461 +7462 +7463 +7464 +7465 +7466 +7467 +7468 +7469 +7470 +7471 +7472 +7473 +7474 +7475 +7476 +7477 +7478 +7479 +7480 +7481 +7482 +7483 +7484 +7485 +7486 +7487 +7488 +7489 +7490 +7491 +7492 +7493 +7494 +7495 +7496 +7497 +7498 +7499 +7500 +7501 +7502 +7503 +7504 +7505 +7506 +7507 +7508 +7509 +7510 +7511 +7512 +7513 +7514 +7515 +7516 +7517 +7518 +7519 +7520 +7521 +7522 +7523 +7524 +7525 +7526 +7527 +7528 +7529 +7530 +7531 +7532 +7533 +7534 +7535 +7536 +7537 +7538 +7539 +7540 +7541 +7542 +7543 +7544 +7545 +7546 +7547 +7548 +7549 +7550 +7551 +7552 +7553 +7554 +7555 +7556 +7557 +7558 +7559 +7560 +7561 +7562 +7563 +7572 +7573 +7574 +7575 +7576 +7577 +7578 +7579 +7580 +7581 +7582 +7583 +7584 +7585 +7586 +7587 +7588 +7589 +7590 +7591 +7592 +7593 +7594 +7595 +7604 +7605 +7606 +7607 +7608 +7609 +7610 +7611 +7612 +7613 +7614 +7615 +7616 +7617 +7618 +7619 +7620 +7621 +7622 +7623 +7624 +7625 +7626 +7627 +7636 +7637 +7638 +7639 +7640 +7641 +7642 +7643 +7644 +7645 +7646 +7647 +7648 +7649 +7650 +7651 +7652 +7653 +7654 +7655 +7656 +7657 +7658 +7659 +7668 +7669 +7670 +7671 +7672 +7673 +7674 +7675 +7676 +7677 +7678 +7679 +7680 +7681 +7682 +7683 +7684 +7685 +7686 +7687 +7688 +7689 +7690 +7691 +7700 +7701 +7702 +7703 +7704 +7705 +7706 +7707 +7708 +7709 +7710 +7711 +7712 +7713 +7714 +7715 +7716 +7717 +7718 +7719 +7720 +7721 +7722 +7723 +7732 +7733 +7734 +7735 +7736 +7737 +7738 +7739 +7740 +7741 +7742 +7743 +7744 +7745 +7746 +7747 +7748 +7749 +7750 +7751 +7752 +7753 +7754 +7755 +7764 +7765 +7766 +7767 +7768 +7769 +7770 +7771 +7772 +7773 +7774 +7775 +7776 +7777 +7778 +7779 +7780 +7781 +7782 +7783 +7784 +7785 +7786 +7787 +7796 +7797 +7798 +7799 +7800 +7801 +7802 +7803 +7804 +7805 +7806 +7807 +7808 +7809 +7810 +7811 +7812 +7813 +7814 +7815 +7816 +7817 +7818 +7819 +7820 +7821 +7822 +7823 +7824 +7825 +7826 +7827 +7828 +7829 +7830 +7831 +7832 +7833 +7834 +7835 +7836 +7837 +7838 +7839 +7840 +7841 +7842 +7843 +7844 +7845 +7846 +7847 +7848 +7849 +7850 +7851 +7852 +7853 +7854 +7855 +7856 +7857 +7858 +7859 +7860 +7861 +7862 +7863 +7864 +7865 +7866 +7867 +7868 +7869 +7870 +7871 +7872 +7873 +7874 +7875 +7876 +7877 +7878 +7879 +7880 +7881 +7882 +7883 +7884 +7885 +7886 +7887 +7888 +7889 +7890 +7891 +7892 +7893 +7894 +7895 +7896 +7897 +7898 +7899 +7900 +7901 +7902 +7903 +7904 +7905 +7906 +7907 +7908 +7909 +7910 +7911 +7912 +7913 +7914 +7915 +7916 +7917 +7918 +7919 +7920 +7921 +7922 +7923 +7924 +7925 +7926 +7927 +7928 +7929 +7930 +7931 +7932 +7933 +7934 +7935 +7936 +7937 +7938 +7939 +7940 +7941 +7942 +7943 +7944 +7945 +7946 +7947 +7948 +7949 +7950 +7951 +7952 +7953 +7954 +7955 +7956 +7957 +7958 +7959 +7960 +7961 +7962 +7963 +7964 +7965 +7966 +7967 +7968 +7969 +7970 +7971 +7972 +7973 +7974 +7975 +7976 +7977 +7978 +7979 +7980 +7981 +7982 +7983 +7984 +7985 +7986 +7987 +7988 +7989 +7990 +7991 +7992 +7993 +7994 +7995 +7996 +7997 +7998 +7999 +8000 +8001 +8002 +8003 +8004 +8005 +8006 +8007 +8008 +8009 +8010 +8011 +8012 +8013 +8014 +8015 +8016 +8017 +8018 +8019 +8020 +8021 +8022 +8023 +8024 +8025 +8026 +8027 +8028 +8029 +8030 +8031 +8032 +8033 +8034 +8035 +8036 +8037 +8038 +8039 +8040 +8041 +8042 +8043 +8044 +8045 +8046 +8047 +8048 +8049 +8050 +8051 +8052 +8053 +8054 +8055 +8056 +8057 +8058 +8059 +8060 +8061 +8062 +8063 +8064 +8065 +8066 +8067 +8068 +8069 +8070 +8071 +8072 +8073 +8074 +8075 +8076 +8077 +8078 +8079 +8080 +8081 +8082 +8083 +8084 +8085 +8086 +8087 +8088 +8089 +8090 +8091 +8092 +8093 +8094 +8095 +8096 +8097 +8098 +8099 +8100 +8101 +8102 +8103 +8104 +8105 +8106 +8107 +8108 +8109 +8110 +8111 +8112 +8113 +8114 +8115 +8116 +8117 +8118 +8119 +8120 +8121 +8122 +8123 +8124 +8125 +8126 +8127 +8128 +8129 +8130 +8131 +8132 +8133 +8134 +8135 +8136 +8137 +8138 +8139 +8140 +8141 +8142 +8143 +8144 +8145 +8146 +8147 +8148 +8149 +8150 +8151 +8152 +8153 +8154 +8155 +8156 +8157 +8158 +8159 +8160 +8161 +8162 +8163 +8164 +8165 +8166 +8167 +8168 +8169 +8170 +8171 +8172 +8173 +8174 +8175 +8176 +8177 +8178 +8179 +8180 +8181 +8182 +8183 +8184 +8185 +8186 +8187 +8188 +8189 +8190 +8191 +8192 +8193 +8194 +8195 +8196 +8197 +8198 +8199 +8200 +8201 +8202 +8203 +8204 +8205 +8206 +8207 +8208 +8209 +8210 +8211 +8212 +8213 +8214 +8215 +8216 +8217 +8218 +8219 +8220 +8221 +8222 +8223 +8224 +8225 +8226 +8227 +8228 +8229 +8230 +8231 +8232 +8233 +8234 +8235 +8236 +8237 +8238 +8239 +8240 +8241 +8242 +8243 +8244 +8245 +8246 +8247 +8248 +8249 +8250 +8251 +8252 +8253 +8254 +8255 +8256 +8257 +8258 +8259 +8260 +8261 +8262 +8263 +8264 +8265 +8266 +8267 +8268 +8269 +8270 +8271 +8272 +8273 +8274 +8275 +8276 +8277 +8278 +8279 +8280 +8281 +8282 +8283 +8284 +8285 +8286 +8287 +8288 +8289 +8290 +8291 +8292 +8293 +8294 +8295 +8296 +8297 +8298 +8299 +8300 +8301 +8302 +8303 +8304 +8305 +8306 +8307 +8308 +8309 +8310 +8311 +8312 +8313 +8314 +8315 +8316 +8317 +8318 +8319 +8320 +8321 +8322 +8323 +8324 +8325 +8326 +8327 +8328 +8329 +8330 +8331 +8332 +8333 +8334 +8335 +8336 +8337 +8338 +8339 +8340 +8341 +8342 +8343 +8344 +8345 +8346 +8347 +8348 +8349 +8350 +8351 +8352 +8353 +8354 +8355 +8356 +8357 +8358 +8359 +8360 +8361 +8362 +8363 +8364 +8365 +8366 +8367 +8368 +8369 +8370 +8371 +8372 +8373 +8374 +8375 +8376 +8377 +8378 +8379 +8380 +8381 +8382 +8383 +8384 +8385 +8386 +8387 +8388 +8389 +8390 +8391 +8392 +8393 +8394 +8395 +8396 +8397 +8398 +8399 +8400 +8401 +8402 +8403 +8404 +8405 +8406 +8407 +8408 +8409 +8410 +8411 +8412 +8413 +8414 +8415 +8416 +8417 +8418 +8419 +8420 +8421 +8422 +8423 +8424 +8425 +8426 +8427 +8428 +8429 +8430 +8431 +8432 +8433 +8434 +8435 +8436 +8437 +8438 +8439 +8440 +8441 +8442 +8443 +8444 +8445 +8446 +8447 +8448 +8449 +8450 +8451 +8452 +8453 +8454 +8455 +8456 +8457 +8458 +8459 +8460 +8461 +8462 +8463 +8464 +8465 +8466 +8467 +8468 +8469 +8470 +8471 +8472 +8473 +8474 +8475 +8476 +8477 +8478 +8479 +8480 +8481 +8482 +8483 +8484 +8485 +8486 +8487 +8488 +8489 +8490 +8491 +8492 +8493 +8494 +8495 +8496 +8497 +8498 +8499 +8500 +8501 +8502 +8503 +8504 +8505 +8506 +8507 +8508 +8509 +8510 +8511 +8512 +8513 +8514 +8515 +8516 +8517 +8518 +8519 +8520 +8521 +8522 +8523 +8524 +8525 +8526 +8527 +8528 +8529 +8530 +8531 +8532 +8533 +8534 +8535 +8536 +8537 +8538 +8539 +8540 +8541 +8542 +8543 +8544 +8545 +8546 +8547 +8548 +8549 +8550 +8551 +8552 +8553 +8554 +8555 +8556 +8557 +8558 +8559 +8560 +8561 +8562 +8563 +8564 +8565 +8566 +8567 +8568 +8569 +8570 +8571 +8572 +8573 +8574 +8575 +8576 +8577 +8578 +8579 +8580 +8581 +8582 +8583 +8584 +8585 +8586 +8587 +8588 +8589 +8590 +8591 +8592 +8593 +8594 +8595 +8596 +8597 +8598 +8599 +8600 +8601 +8602 +8603 +8604 +8605 +8606 +8607 +8608 +8609 +8610 +8611 +8612 +8613 +8614 +8615 +8616 +8617 +8618 +8619 +8620 +8621 +8622 +8623 +8624 +8625 +8626 +8627 +8628 +8629 +8630 +8631 +8632 +8633 +8634 +8635 +8636 +8637 +8638 +8639 +8640 +8641 +8642 +8643 +8644 +8645 +8646 +8647 +8648 +8649 +8650 +8651 +8652 +8653 +8654 +8655 +8656 +8657 +8658 +8659 +8660 +8661 +8662 +8663 +8664 +8665 +8666 +8667 +8668 +8669 +8670 +8671 +8672 +8673 +8674 +8675 +8676 +8677 +8678 +8679 +8680 +8681 +8682 +8683 +8684 +8685 +8686 +8687 +8688 +8689 +8690 +8691 +8692 +8693 +8694 +8695 +8696 +8697 +8698 +8699 +8700 +8701 +8702 +8703 +8704 +8705 +8706 +8707 +8708 +8709 +8710 +8711 +8712 +8713 +8714 +8715 +8716 +8717 +8718 +8719 +8720 +8721 +8722 +8723 +8724 +8725 +8726 +8727 +8728 +8729 +8730 +8731 +8732 +8733 +8734 +8735 +8736 +8737 +8738 +8739 +8740 +8741 +8742 +8743 +8744 +8745 +8746 +8747 +8748 +8749 +8750 +8751 +8752 +8753 +8754 +8755 +8756 +8757 +8758 +8759 +8760 +8761 +8762 +8763 +8764 +8765 +8766 +8767 +8768 +8769 +8770 +8771 +8772 +8773 +8774 +8775 +8776 +8777 +8778 +8779 +8780 +8781 +8782 +8783 +8784 +8785 +8786 +8787 +8788 +8789 +8790 +8791 +8792 +8793 +8794 +8795 +8796 +8797 +8798 +8799 +8800 +8801 +8802 +8803 +8804 +8805 +8806 +8807 +8808 +8809 +8810 +8811 +8812 +8813 +8814 +8815 +8816 +8817 +8818 +8819 +8820 +8821 +8822 +8823 +8824 +8825 +8826 +8827 +8828 +8829 +8830 +8831 +8832 +8833 +8834 +8835 +8836 +8837 +8838 +8839 +8840 +8841 +8842 +8843 +8844 +8845 +8846 +8847 +8848 +8849 +8850 +8851 +8852 +8853 +8854 +8855 +8856 +8857 +8858 +8859 +8860 +8861 +8862 +8863 +8864 +8865 +8866 +8867 +8868 +8869 +8870 +8871 +8872 +8873 +8874 +8875 +8876 +8877 +8878 +8879 +8880 +8881 +8882 +8883 +8884 +8885 +8886 +8887 +8888 +8889 +8890 +8891 +8892 +8893 +8894 +8895 +8896 +8897 +8898 +8899 +8900 +8901 +8902 +8903 +8904 +8905 +8906 +8907 +8908 +8909 +8910 +8911 +8912 +8913 +8914 +8915 +8916 +8917 +8918 +8919 +8920 +8921 +8922 +8923 +8924 +8925 +8926 +8927 +8928 +8929 +8930 +8931 +8932 +8933 +8934 +8935 +8936 +8937 +8938 +8939 +8940 +8941 +8942 +8943 +8944 +8945 +8946 +8947 +8948 +8949 +8950 +8951 +8952 +8953 +8954 +8955 +8956 +8957 +8958 +8959 +8960 +8961 +8962 +8963 +8964 +8965 +8966 +8967 +8968 +8969 +8970 +8971 +8972 +8973 +8974 +8975 +8976 +8977 +8978 +8979 +8980 +8981 +8982 +8983 +8984 +8985 +8986 +8987 +8988 +8989 +8990 +8991 +8992 +8993 +8994 +8995 +8996 +8997 +8998 +8999 +9000 +9001 +9002 +9003 +9004 +9005 +9006 +9007 +9008 +9009 +9010 +9011 +9012 +9013 +9014 +9015 +9016 +9017 +9018 +9019 +9020 +9021 +9022 +9023 +9024 +9025 +9026 +9027 +9028 +9029 +9030 +9031 +9032 +9033 +9034 +9035 +9036 +9037 +9038 +9039 +9040 +9041 +9042 +9043 +9044 +9045 +9046 +9047 +9048 +9049 +9050 +9051 +9052 +9053 +9054 +9055 +9056 +9057 +9058 +9059 +9060 +9061 +9062 +9063 +9064 +9065 +9066 +9067 +9068 +9069 +9070 +9071 +9072 +9073 +9074 +9075 +9076 +9077 +9078 +9079 +9080 +9081 +9082 +9083 +9084 +9085 +9086 +9087 +9088 +9089 +9090 +9091 +9092 +9093 +9094 +9095 +9096 +9097 +9098 +9099 +9100 +9101 +9102 +9103 +9104 +9105 +9106 +9107 +9108 +9109 +9110 +9111 +9112 +9113 +9114 +9115 +9116 +9117 +9118 +9119 +9120 +9121 +9122 +9123 +9124 +9125 +9126 +9127 +9128 +9129 +9130 +9131 +9132 +9133 +9134 +9135 +9136 +9137 +9138 +9139 +9140 +9141 +9142 +9143 +9144 +9145 +9146 +9147 +9148 +9149 +9150 +9151 +9152 +9153 +9154 +9155 +9156 +9157 +9158 +9159 +9160 +9161 +9162 +9163 +9164 +9165 +9166 +9167 +9168 +9169 +9170 +9171 +9172 +9173 +9174 +9175 +9176 +9177 +9178 +9179 +9180 +9181 +9182 +9183 +9184 +9185 +9186 +9187 +9188 +9189 +9190 +9191 +9192 +9193 +9194 +9195 +9196 +9197 +9198 +9199 +9200 +9201 +9202 +9203 +9204 +9205 +9206 +9207 +9208 +9209 +9210 +9211 +9212 +9213 +9214 +9215 +9216 +9217 +9218 +9219 +9220 +9221 +9222 +9223 +9224 +9225 +9226 +9227 +9228 +9229 +9230 +9231 +9232 +9233 +9234 +9235 +9236 +9237 +9238 +9239 +9240 +9241 +9242 +9243 +9244 +9245 +9246 +9247 +9248 +9249 +9250 +9251 +9252 +9253 +9254 +9255 +9256 +9257 +9258 +9259 +9260 +9261 +9262 +9263 +9264 +9265 +9266 +9267 +9268 +9269 +9270 +9271 +9272 +9273 +9274 +9275 +9276 +9277 +9278 +9279 +9280 +9281 +9282 +9283 +9284 +9285 +9286 +9287 +9288 +9289 +9290 +9291 +9292 +9293 +9294 +9295 +9296 +9297 +9298 +9299 +9300 +9301 +9302 +9303 +9304 +9305 +9306 +9307 +9308 +9309 +9310 +9311 +9312 +9313 +9314 +9315 +9316 +9317 +9318 +9319 +9320 +9321 +9322 +9323 +9324 +9325 +9326 +9327 +9328 +9329 +9330 +9331 +9332 +9333 +9334 +9335 +9336 +9337 +9338 +9339 +9340 +9341 +9342 +9343 +9344 +9345 +9346 +9347 +9348 +9349 +9350 +9351 +9352 +9353 +9354 +9355 +9356 +9357 +9358 +9359 +9360 +9361 +9362 +9363 +9364 +9365 +9366 +9367 +9368 +9369 +9370 +9371 +9372 +9373 +9374 +9375 +9376 +9377 +9378 +9379 +9380 +9381 +9382 +9383 +9384 +9385 +9386 +9387 +9388 +9389 +9390 +9391 +9392 +9393 +9394 +9395 +9396 +9397 +9398 +9399 +9400 +9401 +9402 +9403 +9404 +9405 +9406 +9407 +9408 +9409 +9410 +9411 +9412 +9413 +9414 +9415 +9416 +9417 +9418 +9419 +9420 +9421 +9422 +9423 +9424 +9425 +9426 +9427 +9428 +9429 +9430 +9431 +9432 +9433 +9434 +9435 +9436 +9437 +9438 +9439 +9440 +9441 +9442 +9443 +9444 +9445 +9446 +9447 +9448 +9449 +9450 +9451 +9452 +9453 +9454 +9455 +9456 +9457 +9458 +9459 +9460 +9461 +9462 +9463 +9464 +9465 +9466 +9467 +9468 +9469 +9470 +9471 +9472 +9473 +9474 +9475 +9476 +9477 +9478 +9479 +9480 +9481 +9482 +9483 +9484 +9485 +9486 +9487 +9488 +9489 +9490 +9491 +9492 +9493 +9494 +9495 +9496 +9497 +9498 +9499 +9500 +9501 +9502 +9503 +9504 +9505 +9506 +9507 +9508 +9509 +9510 +9511 +9512 +9513 +9514 +9515 +9516 +9517 +9518 +9519 +9520 +9521 +9522 +9523 +9524 +9525 +9526 +9527 +9528 +9529 +9530 +9531 +9532 +9533 +9534 +9535 +9536 +9537 +9538 +9539 +9540 +9541 +9542 +9543 +9544 +9545 +9546 +9547 +9548 +9549 +9550 +9551 +9552 +9553 +9554 +9555 +9556 +9557 +9558 +9559 +9560 +9561 +9562 +9563 +9564 +9565 +9566 +9567 +9568 +9569 +9570 +9571 +9572 +9573 +9574 +9575 +9576 +9577 +9578 +9579 +9580 +9581 +9582 +9583 +9584 +9585 +9586 +9587 +9588 +9589 +9590 +9591 +9592 +9593 +9594 +9595 +9596 +9597 +9598 +9599 +9600 +9601 +9602 +9603 +9604 +9605 +9606 +9607 +9608 +9609 +9610 +9611 +9612 +9613 +9614 +9615 +9616 +9617 +9618 +9619 +9620 +9621 +9622 +9623 +9624 +9625 +9626 +9627 +9628 +9629 +9630 +9631 +9632 +9633 +9634 +9635 +9636 +9637 +9638 +9639 +9640 +9641 +9642 +9643 +9644 +9645 +9646 +9647 +9648 +9649 +9650 +9651 +9652 +9653 +9654 +9655 +9656 +9657 +9658 +9659 +9660 +9661 +9662 +9663 +9664 +9665 +9666 +9667 +9668 +9669 +9670 +9671 +9672 +9673 +9674 +9675 +9676 +9677 +9678 +9679 +9680 +9681 +9682 +9683 +9684 +9685 +9686 +9687 +9688 +9689 +9690 +9691 +9692 +9693 +9694 +9695 +9696 +9697 +9698 +9699 +9700 +9701 +9702 +9703 +9704 +9705 +9706 +9707 +9708 +9709 +9710 +9711 +9712 +9713 +9714 +9715 +9716 +9717 +9718 +9719 +9720 +9721 +9722 +9723 +9724 +9725 +9726 +9727 +9728 +9729 +9730 +9731 +9732 +9733 +9734 +9735 +9736 +9737 +9738 +9739 +9740 +9741 +9742 +9743 +9744 +9745 +9746 +9747 +9748 +9749 +9750 +9751 +9752 +9753 +9754 +9755 +9756 +9757 +9758 +9759 +9760 +9761 +9762 +9763 +9764 +9765 +9766 +9767 +9768 +9769 +9770 +9771 +9772 +9773 +9774 +9775 +9776 +9777 +9778 +9779 +9780 +9781 +9782 +9783 +9784 +9785 +9786 +9787 +9788 +9789 +9790 +9791 +9792 +9793 +9794 +9795 +9796 +9797 +9798 +9799 +9800 +9801 +9802 +9803 +9804 +9805 +9806 +9807 +9808 +9809 +9810 +9811 +9812 +9813 +9814 +9815 +9816 +9817 +9818 +9819 +9820 +9821 +9822 +9823 +9824 +9825 +9826 +9827 +9828 +9829 +9830 +9831 +9832 +9833 +9834 +9835 +9836 +9837 +9838 +9839 +9840 +9841 +9842 +9843 +9844 +9845 +9846 +9847 +9848 +9849 +9850 +9851 +9852 +9853 +9854 +9855 +9856 +9857 +9858 +9859 +9860 +9861 +9862 +9863 +9864 +9865 +9866 +9867 +9868 +9869 +9870 +9871 +9872 +9873 +9874 +9875 +9876 +9877 +9878 +9879 +9880 +9881 +9882 +9883 +9884 +9885 +9886 +9887 +9888 +9889 +9890 +9891 +9892 +9893 +9894 +9895 +9896 +9897 +9898 +9899 +9900 +9901 +9902 +9903 +9904 +9905 +9906 +9907 +9908 +9909 +9910 +9911 +9912 +9913 +9914 +9915 +9916 +9917 +9918 +9919 +9920 +9921 +9922 +9923 +9924 +9925 +9926 +9927 +9928 +9929 +9930 +9931 +9932 +9933 +9934 +9935 +9936 +9937 +9938 +9939 +9940 +9941 +9942 +9943 +9944 +9945 +9946 +9947 +9948 +9949 +9950 +9951 +9952 +9953 +9954 +9955 +9956 +9957 +9958 +9959 +9960 +9961 +9962 +9963 +9964 +9965 +9966 +9967 +9968 +9969 +9970 +9971 +9972 +9973 +9974 +9975 +9976 +9977 +9978 +9979 +9980 +9981 +9982 +9983 +9984 +9985 +9986 +9987 +9988 +9989 +9990 +9991 +9992 +9993 +9994 +9995 +9996 +9997 +9998 +9999 +10000 +10001 +10002 +10003 +10004 +10005 +10006 +10007 +10008 +10009 +10010 +10011 +10012 +10013 +10014 +10015 +10016 +10017 +10018 +10019 +10020 +10021 +10022 +10023 +10024 +10025 +10026 +10027 +10028 +10029 +10030 +10031 +10032 +10033 +10034 +10035 +10036 +10037 +10038 +10039 +10040 +10041 +10042 +10043 +10044 +10045 +10046 +10047 +10048 +10049 +10050 +10051 +10052 +10053 +10054 +10055 +10056 +10057 +10058 +10059 +10060 +10061 +10062 +10063 +10064 +10065 +10066 +10067 +10068 +10069 +10070 +10071 +10072 +10073 +10074 +10075 +10076 +10077 +10078 +10079 +10080 +10081 +10082 +10083 +10084 +10085 +10086 +10087 +10088 +10089 +10090 +10091 +10092 +10093 +10094 +10095 +10096 +10097 +10098 +10099 +10100 +10101 +10102 +10103 +10104 +10105 +10106 +10107 +10108 +10109 +10110 +10111 +10112 +10113 +10114 +10115 +10116 +10117 +10118 +10119 +10120 +10121 +10122 +10123 +10124 +10125 +10126 +10127 +10128 +10129 +10130 +10131 +10132 +10133 +10134 +10135 +10136 +10137 +10138 +10139 +10140 +10141 +10142 +10143 +10144 +10145 +10146 +10147 +10148 +10149 +10150 +10151 +10152 +10153 +10154 +10155 +10156 +10157 +10158 +10159 +10160 +10161 +10162 +10163 +10164 +10165 +10166 +10167 +10168 +10169 +10170 +10171 +10172 +10173 +10174 +10175 +10176 +10177 +10178 +10179 +10180 +10181 +10182 +10183 +10184 +10185 +10186 +10187 +10188 +10189 +10190 +10191 +10192 +10193 +10194 +10195 +10196 +10197 +10198 +10199 +10200 +10201 +10202 +10203 +10204 +10205 +10206 +10207 +10208 +10209 +10210 +10211 +10212 +10213 +10214 +10215 +10216 +10217 +10218 +10219 +10220 +10221 +10222 +10223 +10224 +10225 +10226 +10227 +10228 +10229 +10230 +10231 +10232 +10233 +10234 +10235 +10236 +10237 +10238 +10239 +10240 +10241 +10242 +10243 +10244 +10245 +10246 +10247 +10248 +10249 +10250 +10251 +10252 +10253 +10254 +10255 +10256 +10257 +10258 +10259 +10260 +10261 +10262 +10263 +10264 +10265 +10266 +10267 +10268 +10269 +10270 +10271 +10272 +10273 +10274 +10275 +10276 +10277 +10278 +10279 +10280 +10281 +10282 +10283 +10284 +10285 +10286 +10287 +10288 +10289 +10290 +10291 +10292 +10293 +10294 +10295 +10296 +10297 +10298 +10299 +10300 +10301 +10302 +10303 +10304 +10305 +10306 +10307 +10308 +10309 +10310 +10311 +10312 +10313 +10314 +10315 +10316 +10317 +10318 +10319 +10320 +10321 +10322 +10323 +10324 +10325 +10326 +10327 +10328 +10329 +10330 +10331 +10332 +10333 +10334 +10335 +10336 +10337 +10338 +10339 +10340 +10341 +10342 +10343 +10344 +10345 +10346 +10347 +10348 +10349 +10350 +10351 +10352 +10353 +10354 +10355 +10356 +10357 +10358 +10359 +10360 +10361 +10362 +10363 +10364 +10365 +10366 +10367 +10368 +10369 +10370 +10371 +10372 +10373 +10374 +10375 +10376 +10377 +10378 +10379 +10380 +10381 +10382 +10383 +10384 +10385 +10386 +10387 +10388 +10389 +10390 +10391 +10392 +10393 +10394 +10395 +10396 +10397 +10398 +10399 +10400 +10401 +10402 +10403 +10404 +10405 +10406 +10407 +10408 +10409 +10410 +10411 +10412 +10413 +10414 +10415 +10416 +10417 +10418 +10419 +10420 +10421 +10422 +10423 +10424 +10425 +10426 +10427 +10428 +10429 +10430 +10431 +10432 +10433 +10434 +10435 +10436 +10437 +10438 +10439 +10440 +10441 +10442 +10443 +10444 +10445 +10446 +10447 +10448 +10449 +10450 +10451 +10452 +10453 +10454 +10455 +10456 +10457 +10458 +10459 +10460 +10461 +10462 +10463 +10464 +10465 +10466 +10467 +10468 +10469 +10470 +10471 +10472 +10473 +10474 +10475 +10476 +10477 +10478 +10479 +10480 +10481 +10482 +10483 +10484 +10485 +10486 +10487 +10488 +10489 +10490 +10491 +10492 +10493 +10494 +10495 +10496 +10497 +10498 +10499 +10500 +10501 +10502 +10503 +10504 +10505 +10506 +10507 +10508 +10509 +10510 +10511 +10512 +10513 +10514 +10515 +10516 +10517 +10518 +10519 +10520 +10521 +10522 +10523 +10524 +10525 +10526 +10527 +10528 +10529 +10530 +10531 +10532 +10533 +10534 +10535 +10536 +10537 +10538 +10539 +10540 +10541 +10542 +10543 +10544 +10545 +10546 +10547 +10548 +10549 +10550 +10551 +10552 +10553 +10554 +10555 +10556 +10557 +10558 +10559 +10560 +10561 +10562 +10563 +10564 +10565 +10566 +10567 +10568 +10569 +10570 +10571 +10572 +10573 +10574 +10575 +10576 +10577 +10578 +10579 +10580 +10581 +10582 +10583 +10584 +10585 +10586 +10587 +10588 +10589 +10590 +10591 +10592 +10593 +10594 +10595 +10596 +10597 +10598 +10599 +10600 +10601 +10602 +10603 +10604 +10605 +10606 +10607 +10608 +10609 +10610 +10611 +10612 +10613 +10614 +10615 +10616 +10617 +10618 +10619 +10620 +10621 +10622 +10623 +10624 +10625 +10626 +10627 +10628 +10629 +10630 +10631 +10632 +10633 +10634 +10635 +10636 +10637 +10638 +10639 +10640 +10641 +10642 +10643 +10644 +10645 +10646 +10647 +10648 +10649 +10650 +10651 +10652 +10653 +10654 +10655 +10656 +10657 +10658 +10659 +10660 +10661 +10662 +10663 +10664 +10665 +10666 +10667 +10668 +10669 +10670 +10671 +10672 +10673 +10674 +10675 +10676 +10677 +10678 +10679 +10680 +10681 +10682 +10683 +10684 +10685 +10686 +10687 +10688 +10689 +10690 +10691 +10692 +10693 +10694 +10695 +10696 +10697 +10698 +10699 +10700 +10701 +10702 +10703 +10704 +10705 +10706 +10707 +10708 +10709 +10710 +10711 +10712 +10713 +10714 +10715 +10716 +10717 +10718 +10719 +10720 +10721 +10722 +10723 +10724 +10725 +10726 +10727 +10728 +10729 +10730 +10731 +10732 +10733 +10734 +10735 +10736 +10737 +10738 +10739 +10740 +10741 +10742 +10743 +10744 +10745 +10746 +10747 +10748 +10749 +10750 +10751 +10752 +10753 +10754 +10755 +10756 +10757 +10758 +10759 +10760 +10761 +10762 +10763 +10764 +10765 +10766 +10767 +10768 +10769 +10770 +10771 +10772 +10773 +10774 +10775 +10776 +10777 +10778 +10779 +10780 +10781 +10782 +10783 +10784 +10785 +10786 +10787 +10788 +10789 +10790 +10791 +10792 +10793 +10794 +10795 +10796 +10797 +10798 +10799 +10800 +10801 +10802 +10803 +10804 +10805 +10806 +10807 +10808 +10809 +10810 +10811 +10812 +10813 +10814 +10815 +10816 +10817 +10818 +10819 +10820 +10821 +10822 +10823 +10824 +10825 +10826 +10827 +10828 +10829 +10830 +10831 +10832 +10833 +10834 +10835 +10836 +10837 +10838 +10839 +10840 +10841 +10842 +10843 +10844 +10845 +10846 +10847 +10848 +10849 +10850 +10851 +10852 +10853 +10854 +10855 +10856 +10857 +10858 +10859 +10860 +10861 +10862 +10863 +10864 +10865 +10866 +10867 +10868 +10869 +10870 +10871 +10872 +10873 +10874 +10875 +10876 +10877 +10878 +10879 +10880 +10881 +10882 +10883 +10884 +10885 +10886 +10887 +10888 +10889 +10890 +10891 +10892 +10893 +10894 +10895 +10896 +10897 +10898 +10899 +10900 +10901 +10902 +10903 +10904 +10905 +10906 +10907 +10908 +10909 +10910 +10911 +10912 +10913 +10914 +10915 +10916 +10917 +10918 +10919 +10920 +10921 +10922 +10923 +10924 +10925 +10926 +10927 +10928 +10929 +10930 +10931 +10932 +10933 +10934 +10935 +10936 +10937 +10938 +10939 +10940 +10941 +10942 +10943 +10944 +10945 +10946 +10947 +10948 +10949 +10950 +10951 +10952 +10953 +10954 +10955 +10956 +10957 +10958 +10959 +10960 +10961 +10962 +10963 +10964 +10965 +10966 +10967 +10968 +10969 +10970 +10971 +10972 +10973 +10974 +10975 +10976 +10977 +10978 +10979 +10980 +10981 +10982 +10983 +10984 +10985 +10986 +10987 +10988 +10989 +10990 +10991 +10992 +10993 +10994 +10995 +10996 +10997 +10998 +10999 +11000 +11001 +11002 +11003 +11004 +11005 +11006 +11007 +11008 +11009 +11010 +11011 +11012 +11013 +11014 +11015 +11016 +11017 +11018 +11019 +11020 +11021 +11022 +11023 +11024 +11025 +11026 +11027 +11028 +11029 +11030 +11031 +11032 +11033 +11034 +11035 +11036 +11037 +11038 +11039 +11040 +11041 +11042 +11043 +11044 +11045 +11046 +11047 +11048 +11049 +11050 +11051 +11052 +11053 +11054 +11055 +11056 +11057 +11058 +11059 +11060 +11061 +11062 +11063 +11064 +11065 +11066 +11067 +11068 +11069 +11070 +11071 +11072 +11073 +11074 +11075 +11076 +11077 +11078 +11079 +11080 +11081 +11082 +11083 +11084 +11085 +11086 +11087 +11088 +11089 +11090 +11091 +11092 +11093 +11094 +11095 +11096 +11097 +11098 +11099 +11100 +11101 +11102 +11103 +11104 +11105 +11106 +11107 +11108 +11109 +11110 +11111 +11112 +11113 +11114 +11115 +11116 +11117 +11118 +11119 +11120 +11121 +11122 +11123 +11124 +11125 +11126 +11127 +11128 +11129 +11130 +11131 +11132 +11133 +11134 +11135 +11136 +11137 +11138 +11139 +11140 +11141 +11142 +11143 +11144 +11145 +11146 +11147 +11148 +11149 +11150 +11151 +11152 +11153 +11154 +11155 +11156 +11157 +11158 +11159 +11160 +11161 +11162 +11163 +11164 +11165 +11166 +11167 +11168 +11169 +11170 +11171 +11172 +11173 +11174 +11175 +11176 +11177 +11178 +11179 +11180 +11181 +11182 +11183 +11184 +11185 +11186 +11187 +11188 +11189 +11190 +11191 +11192 +11193 +11194 +11195 +11196 +11197 +11198 +11199 +11200 +11201 +11202 +11203 +11204 +11205 +11206 +11207 +11208 +11209 +11210 +11211 +11212 +11213 +11214 +11215 +11216 +11217 +11218 +11219 +11220 +11221 +11222 +11223 +11224 +11225 +11226 +11227 +11228 +11229 +11230 +11231 +11232 +11233 +11234 +11235 +11236 +11237 +11238 +11239 +11240 +11241 +11242 +11243 +11244 +11245 +11246 +11247 +11248 +11249 +11250 +11251 +11252 +11253 +11254 +11255 +11256 +11257 +11258 +11259 +11260 +11261 +11262 +11263 +11264 +11265 +11266 +11267 +11268 +11269 +11270 +11271 +11272 +11273 +11274 +11275 +11276 +11277 +11278 +11279 +11280 +11281 +11282 +11283 +11284 +11285 +11286 +11287 +11288 +11289 +11290 +11291 +11292 +11293 +11294 +11295 +11296 +11297 +11298 +11299 +11300 +11301 +11302 +11303 +11304 +11305 +11306 +11307 +11308 +11309 +11310 +11311 +11312 +11313 +11314 +11315 +11316 +11317 +11318 +11319 +11320 +11321 +11322 +11323 +11324 +11325 +11326 +11327 +11328 +11329 +11330 +11331 +11332 +11333 +11334 +11335 +11336 +11337 +11338 +11339 +11340 +11341 +11342 +11343 +11344 +11345 +11346 +11347 +11348 +11349 +11350 +11351 +11352 +11353 +11354 +11355 +11356 +11357 +11358 +11359 +11360 +11361 +11362 +11363 +11364 +11365 +11366 +11367 +11368 +11369 +11370 +11371 +11372 +11373 +11374 +11375 +11376 +11377 +11378 +11379 +11380 +11381 +11382 +11383 +11384 +11385 +11386 +11387 +11388 +11389 +11390 +11391 +11392 +11393 +11394 +11395 +11396 +11397 +11398 +11399 +11400 +11401 +11402 +11403 +11404 +11405 +11406 +11407 +11408 +11409 +11410 +11411 +11412 +11413 +11414 +11415 +11416 +11417 +11418 +11419 +11420 +11421 +11422 +11423 +11424 +11425 +11426 +11427 +11428 +11429 +11430 +11431 +11432 +11433 +11434 +11435 +11436 +11437 +11438 +11439 +11440 +11441 +11442 +11443 +11444 +11445 +11446 +11447 +11448 +11449 +11450 +11451 +11452 +11453 +11454 +11455 +11456 +11457 +11458 +11459 +11460 +11461 +11462 +11463 +11464 +11465 +11466 +11467 +11468 +11469 +11470 +11471 +11472 +11473 +11474 +11475 +11476 +11477 +11478 +11479 +11480 +11481 +11482 +11483 +11484 +11485 +11486 +11487 +11488 +11489 +11490 +11491 +11492 +11493 +11494 +11495 +11496 +11497 +11498 +11499 +11500 +11501 +11502 +11503 +11504 +11505 +11506 +11507 +11508 +11509 +11510 +11511 +11512 +11513 +11514 +11515 +11516 +11517 +11518 +11519 +11520 +11521 +11522 +11523 +11524 +11525 +11526 +11527 +11528 +11529 +11530 +11531 +11532 +11533 +11534 +11535 +11536 +11537 +11538 +11539 +11540 +11541 +11542 +11543 +11544 +11545 +11546 +11547 +11548 +11549 +11550 +11551 +11552 +11553 +11554 +11555 +11556 +11557 +11558 +11559 +11560 +11561 +11562 +11563 +11564 +11565 +11566 +11567 +11568 +11569 +11570 +11571 +11572 +11573 +11574 +11575 +11576 +11577 +11578 +11579 +11580 +11581 +11582 +11583 +11584 +11585 +11586 +11587 +11588 +11589 +11590 +11591 +11592 +11593 +11594 +11595 +11596 +11597 +11598 +11599 +11600 +11601 +11602 +11603 +11604 +11605 +11606 +11607 +11608 +11609 +11610 +11611 +11612 +11613 +11614 +11615 +11616 +11617 +11618 +11619 +11620 +11621 +11622 +11623 +11624 +11625 +11626 +11627 +11628 +11629 +11630 +11631 +11632 +11633 +11634 +11635 +11636 +11637 +11638 +11639 +11640 +11641 +11642 +11643 +11644 +11645 +11646 +11647 +11648 +11649 +11650 +11651 +11652 +11653 +11654 +11655 +11656 +11657 +11658 +11659 +11660 +11661 +11662 +11663 +11664 +11665 +11666 +11667 +11668 +11669 +11670 +11671 +11672 +11673 +11674 +11675 +11676 +11677 +11678 +11679 +11680 +11681 +11682 +11683 +11684 +11685 +11686 +11687 +11688 +11689 +11690 +11691 +11692 +11693 +11694 +11695 +11696 +11697 +11698 +11699 +11700 +11701 +11702 +11703 +11704 +11705 +11706 +11707 +11708 +11709 +11710 +11711 +11712 +11713 +11714 +11715 +11716 +11717 +11718 +11719 +11720 +11721 +11722 +11723 +11724 +11725 +11726 +11727 +11728 +11729 +11730 +11731 +11732 +11733 +11734 +11735 +11736 +11737 +11738 +11739 +11740 +11741 +11742 +11743 +11744 +11745 +11746 +11747 +11748 +11749 +11750 +11751 +11752 +11753 +11754 +11755 +11756 +11757 +11758 +11759 +11760 +11761 +11762 +11763 +11764 +11765 +11766 +11767 +11768 +11769 +11770 +11771 +11772 +11773 +11774 +11775 +11776 +11777 +11778 +11779 +11780 +11781 +11782 +11783 +11784 +11785 +11786 +11787 +11788 +11789 +11790 +11791 +11792 +11793 +11794 +11795 +11796 +11797 +11798 +11799 +11800 +11801 +11802 +11803 +11804 +11805 +11806 +11807 +11808 +11809 +11810 +11811 +11812 +11813 +11814 +11815 +11816 +11817 +11818 +11819 +11820 +11821 +11822 +11823 +11824 +11825 +11826 +11827 +11828 +11829 +11830 +11831 +11832 +11833 +11834 +11835 +11836 +11837 +11838 +11839 +11840 +11841 +11842 +11843 +11844 +11845 +11846 +11847 +11848 +11849 +11850 +11851 +11852 +11853 +11854 +11855 +11856 +11857 +11858 +11859 +11860 +11861 +11862 +11863 +11864 +11865 +11866 +11867 +11868 +11869 +11870 +11871 +11872 +11873 +11874 +11875 +11876 +11877 +11878 +11879 +11880 +11881 +11882 +11883 +11884 +11885 +11886 +11887 +11888 +11889 +11890 +11891 +11892 +11893 +11894 +11895 +11896 +11897 +11898 +11899 +11900 +11901 +11902 +11903 +11904 +11905 +11906 +11907 +11908 +11909 +11910 +11911 +11912 +11913 +11914 +11915 +11916 +11917 +11918 +11919 +11920 +11921 +11922 +11923 +11924 +11925 +11926 +11927 +11928 +11929 +11930 +11931 +11932 +11933 +11934 +11935 +11936 +11937 +11938 +11939 +11940 +11941 +11942 +11943 +11944 +11945 +11946 +11947 +11948 +11949 +11950 +11951 +11952 +11953 +11954 +11955 +11956 +11957 +11958 +11959 +11960 +11961 +11962 +11963 +11964 +11965 +11966 +11967 +11968 +11969 +11970 +11971 +11972 +11973 +11974 +11975 +11976 +11977 +11978 +11979 +11980 +11981 +11982 +11983 +11984 +11985 +11986 +11987 +11988 +11989 +11990 +11991 +11992 +11993 +11994 +11995 +11996 +11997 +11998 +11999 +12000 +12001 +12002 +12003 +12004 +12005 +12006 +12007 +12008 +12009 +12010 +12011 +12012 +12013 +12014 +12015 +12016 +12017 +12018 +12019 +12020 +12021 +12022 +12023 +12024 +12025 +12026 +12027 +12028 +12029 +12030 +12031 +12032 +12033 +12034 +12035 +12036 +12037 +12038 +12039 +12040 +12041 +12042 +12043 +12044 +12045 +12046 +12047 +12048 +12049 +12050 +12051 +12052 +12053 +12054 +12055 +12056 +12057 +12058 +12059 +12060 +12061 +12062 +12063 +12064 +12065 +12066 +12067 +12068 +12069 +12070 +12071 +12072 +12073 +12074 +12075 +12076 +12077 +12078 +12079 +12080 +12081 +12082 +12083 +12084 +12085 +12086 +12087 +12088 +12089 +12090 +12091 +12092 +12093 +12094 +12095 +12096 +12097 +12098 +12099 +12100 +12101 +12102 +12103 +12104 +12105 +12106 +12107 +12108 +12109 +12110 +12111 +12112 +12113 +12114 +12115 +12116 +12117 +12118 +12119 +12120 +12121 +12122 +12123 +12124 +12125 +12126 +12127 +12128 +12129 +12130 +12131 +12132 +12133 +12134 +12135 +12136 +12137 +12138 +12139 +12140 +12141 +12142 +12143 +12144 +12145 +12146 +12147 +12148 +12149 +12150 +12151 +12152 +12153 +12154 +12155 +12156 +12157 +12158 +12159 +12160 +12161 +12162 +12163 +12164 +12165 +12166 +12167 +12168 +12169 +12170 +12171 +12172 +12173 +12174 +12175 +12176 +12177 +12178 +12179 +12180 +12181 +12182 +12183 +12184 +12185 +12186 +12187 +12188 +12189 +12190 +12191 +12192 +12193 +12194 +12195 +12196 +12197 +12198 +12199 +12200 +12201 +12202 +12203 +12204 +12205 +12206 +12207 +12208 +12209 +12210 +12211 +12212 +12213 +12214 +12215 +12216 +12217 +12218 +12219 +12220 +12221 +12222 +12223 +12224 +12225 +12226 +12227 +12228 +12229 +12230 +12231 +12232 +12233 +12234 +12235 +12236 +12237 +12238 +12239 +12240 +12241 +12242 +12243 +12244 +12245 +12246 +12247 +12248 +12249 +12250 +12251 +12252 +12253 +12254 +12255 +12256 +12257 +12258 +12259 +12260 +12261 +12262 +12263 +12264 +12265 +12266 +12267 +12268 +12269 +12270 +12271 +12272 +12273 +12274 +12275 +12276 +12277 +12278 +12279 +12280 +12281 +12282 +12283 +12284 +12285 +12286 +12287 +12288 +12289 +12290 +12291 +12292 +12293 +12294 +12295 +12296 +12297 +12298 +12299 +12300 +12301 +12302 +12303 +12304 +12305 +12306 +12307 +12308 +12309 +12310 +12311 +12312 +12313 +12314 +12315 +12316 +12317 +12318 +12319 +12320 +12321 +12322 +12323 +12324 +12325 +12326 +12327 +12328 +12329 +12330 +12331 +12332 +12333 +12334 +12335 +12336 +12337 +12338 +12339 +12340 +12341 +12342 +12343 +12344 +12345 +12346 +12347 +12348 +12349 +12350 +12351 +12352 +12353 +12354 +12355 +12356 +12357 +12358 +12359 +12360 +12361 +12362 +12363 +12364 +12365 +12366 +12367 +12368 +12369 +12370 +12371 +12372 +12373 +12374 +12375 +12376 +12377 +12378 +12379 +12380 +12381 +12382 +12383 +12384 +12385 +12386 +12387 +12388 +12389 +12390 +12391 +12392 +12393 +12394 +12395 +12396 +12397 +12398 +12399 +12400 +12401 +12402 +12403 +12404 +12405 +12406 +12407 +12408 +12409 +12410 +12411 +12412 +12413 +12414 +12415 +12416 +12417 +12418 +12419 +12420 +12421 +12422 +12423 +12424 +12425 +12426 +12427 +12428 +12429 +12430 +12431 +12432 +12433 +12434 +12435 +12436 +12437 +12438 +12439 +12440 +12441 +12442 +12443 +12444 +12445 +12446 +12447 +12448 +12449 +12450 +12451 +12452 +12453 +12454 +12455 +12456 +12457 +12458 +12459 +12460 +12461 +12462 +12463 +12464 +12465 +12466 +12467 +12468 +12469 +12470 +12471 +12472 +12473 +12474 +12475 +12476 +12477 +12478 +12479 +12480 +12481 +12482 +12483 +12484 +12485 +12486 +12487 +12488 +12489 +12490 +12491 +12492 +12493 +12494 +12495 +12496 +12497 +12498 +12499 +12500 +12501 +12502 +12503 +12504 +12505 +12506 +12507 +12508 +12509 +12510 +12511 +12512 +12513 +12514 +12515 +12516 +12517 +12518 +12519 +12520 +12521 +12522 +12523 +12524 +12525 +12526 +12527 +12528 +12529 +12530 +12531 +12532 +12533 +12534 +12535 +12536 +12537 +12538 +12539 +12540 +12541 +12542 +12543 +12544 +12545 +12546 +12547 +12548 +12549 +12550 +12551 +12552 +12553 +12554 +12555 +12556 +12557 +12558 +12559 +12560 +12561 +12562 +12563 +12564 +12565 +12566 +12567 +12568 +12569 +12570 +12571 +12572 +12573 +12574 +12575 +12576 +12577 +12578 +12579 +12580 +12581 +12582 +12583 +12584 +12585 +12586 +12587 +12588 +12589 +12590 +12591 +12592 +12593 +12594 +12595 +12596 +12597 +12598 +12599 +12600 +12601 +12602 +12603 +12604 +12605 +12606 +12607 +12608 +12609 +12610 +12611 +12612 +12613 +12614 +12615 +12616 +12617 +12618 +12619 +12620 +12621 +12622 +12623 +12624 +12625 +12626 +12627 +12628 +12629 +12630 +12631 +12632 +12633 +12634 +12635 +12636 +12637 +12638 +12639 +12640 +12641 +12642 +12643 +12644 +12645 +12646 +12647 +12648 +12649 +12650 +12651 +12652 +12653 +12654 +12655 +12656 +12657 +12658 +12659 +12660 +12661 +12662 +12663 +12664 +12665 +12666 +12667 +12668 +12669 +12670 +12671 +12672 +12673 +12674 +12675 +12676 +12677 +12678 +12679 +12680 +12681 +12682 +12683 +12684 +12685 +12686 +12687 +12688 +12689 +12690 +12691 +12692 +12693 +12694 +12695 +12696 +12697 +12698 +12699 +12700 +12701 +12702 +12703 +12704 +12705 +12706 +12707 +12708 +12709 +12710 +12711 +12712 +12713 +12714 +12715 +12716 +12717 +12718 +12719 +12720 +12721 +12722 +12723 +12724 +12725 +12726 +12727 +12728 +12729 +12730 +12731 +12732 +12733 +12734 +12735 +12736 +12737 +12738 +12739 +12740 +12741 +12742 +12743 +12744 +12745 +12746 +12747 +12748 +12749 +12750 +12751 +12752 +12753 +12754 +12755 +12756 +12757 +12758 +12759 +12760 +12761 +12762 +12763 +12764 +12765 +12766 +12767 +12768 +12769 +12770 +12771 +12772 +12773 +12774 +12775 +12776 +12777 +12778 +12779 +12780 +12781 +12782 +12783 +12784 +12785 +12786 +12787 +12788 +12789 +12790 +12791 +12792 +12793 +12794 +12795 +12796 +12797 +12798 +12799 +12800 +12801 +12802 +12803 +12804 +12805 +12806 +12807 +12808 +12809 +12810 +12811 +12812 +12813 +12814 +12815 +12816 +12817 +12818 +12819 +12820 +12821 +12822 +12823 +12824 +12825 +12826 +12827 +12828 +12829 +12830 +12831 +12832 +12833 +12834 +12835 +12836 +12837 +12838 +12839 +12840 +12841 +12842 +12843 +12844 +12845 +12846 +12847 +12848 +12849 +12850 +12851 +12852 +12853 +12854 +12855 +12856 +12857 +12858 +12859 +12860 +12861 +12862 +12863 +12864 +12865 +12866 +12867 +12868 +12869 +12870 +12871 +12872 +12873 +12874 +12875 +12876 +12877 +12878 +12879 +12880 +12881 +12882 +12883 +12884 +12885 +12886 +12887 +12888 +12889 +12890 +12891 +12892 +12893 +12894 +12895 +12896 +12897 +12898 +12899 +12900 +12901 +12902 +12903 +12904 +12905 +12906 +12907 +12908 +12909 +12910 +12911 +12912 +12913 +12914 +12915 +12916 +12917 +12918 +12919 +12920 +12921 +12922 +12923 +12924 +12925 +12926 +12927 +12928 +12929 +12930 +12931 +12932 +12933 +12934 +12935 +12936 +12937 +12938 +12939 +12940 +12941 +12942 +12943 +12944 +12945 +12946 +12947 +12948 +12949 +12950 +12951 +12952 +12953 +12954 +12955 +12956 +12957 +12958 +12959 +12960 +12961 +12962 +12963 +12964 +12965 +12966 +12967 +12968 +12969 +12970 +12971 +12972 +12973 +12974 +12975 +12976 +12977 +12978 +12979 +12980 +12981 +12982 +12983 +12984 +12985 +12986 +12987 +12988 +12989 +12990 +12991 +12992 +12993 +12994 +12995 +12996 +12997 +12998 +12999 +13000 +13001 +13002 +13003 +13004 +13005 +13006 +13007 +13008 +13009 +13010 +13011 +13012 +13013 +13014 +13015 +13016 +13017 +13018 +13019 +13020 +13021 +13022 +13023 +13024 +13025 +13026 +13027 +13028 +13029 +13030 +13031 +13032 +13033 +13034 +13035 +13036 +13037 +13038 +13039 +13040 +13041 +13042 +13043 +13044 +13045 +13046 +13047 +13048 +13049 +13050 +13051 +13052 +13053 +13054 +13055 +13056 +13057 +13058 +13059 +13060 +13061 +13062 +13063 +13064 +13065 +13066 +13067 +13068 +13069 +13070 +13071 +13072 +13073 +13074 +13075 +13076 +13077 +13078 +13079 +13080 +13081 +13082 +13083 +13084 +13085 +13086 +13087 +13088 +13089 +13090 +13091 +13092 +13093 +13094 +13095 +13096 +13097 +13098 +13099 +13100 +13101 +13102 +13103 +13104 +13105 +13106 +13107 +13108 +13109 +13110 +13111 +13112 +13113 +13114 +13115 +13116 +13117 +13118 +13119 +13120 +13121 +13122 +13123 +13124 +13125 +13126 +13127 +13128 +13129 +13130 +13131 +13132 +13133 +13134 +13135 +13136 +13137 +13138 +13139 +13140 +13141 +13142 +13143 +13144 +13145 +13146 +13147 +13148 +13149 +13150 +13151 +13152 +13153 +13154 +13155 +13156 +13157 +13158 +13159 +13160 +13161 +13162 +13163 +13164 +13165 +13166 +13167 +13168 +13169 +13170 +13171 +13172 +13173 +13174 +13175 +13176 +13177 +13178 +13179 +13180 +13181 +13182 +13183 +13184 +13185 +13186 +13187 +13188 +13189 +13190 +13191 +13192 +13193 +13194 +13195 +13196 +13197 +13198 +13199 +13200 +13201 +13202 +13203 +13204 +13205 +13206 +13207 +13208 +13209 +13210 +13211 +13212 +13213 +13214 +13215 +13216 +13217 +13218 +13219 +13220 +13221 +13222 +13223 +13224 +13225 +13226 +13227 +13228 +13229 +13230 +13231 +13232 +13233 +13234 +13235 +13236 +13237 +13238 +13239 +13240 +13241 +13242 +13243 +13244 +13245 +13246 +13247 +13248 +13249 +13250 +13251 +13252 +13253 +13254 +13255 +13256 +13257 +13258 +13259 +13260 +13261 +13262 +13263 +13264 +13265 +13266 +13267 +13268 +13269 +13270 +13271 +13272 +13273 +13274 +13275 +13276 +13277 +13278 +13279 +13280 +13281 +13282 +13283 +13284 +13285 +13286 +13287 +13288 +13289 +13290 +13291 +13292 +13293 +13294 +13295 +13296 +13297 +13298 +13299 +13300 +13301 +13302 +13303 +13304 +13305 +13306 +13307 +13308 +13309 +13310 +13311 +13312 +13313 +13314 +13315 +13316 +13317 +13318 +13319 +13320 +13321 +13322 +13323 +13324 +13325 +13326 +13327 +13328 +13329 +13330 +13331 +13332 +13333 +13334 +13335 +13336 +13337 +13338 +13339 +13340 +13341 +13342 +13343 +13344 +13345 +13346 +13347 +13348 +13349 +13350 +13351 +13352 +13353 +13354 +13355 +13356 +13357 +13358 +13359 +13360 +13361 +13362 +13363 +13364 +13365 +13366 +13367 +13368 +13369 +13370 +13371 +13372 +13373 +13374 +13375 +13376 +13377 +13378 +13379 +13380 +13381 +13382 +13383 +13384 +13385 +13386 +13387 +13388 +13389 +13390 +13391 +13392 +13393 +13394 +13395 +13396 +13397 +13398 +13399 +13400 +13401 +13402 +13403 +13404 +13405 +13406 +13407 +13408 +13409 +13410 +13411 +13412 +13413 +13414 +13415 +13416 +13417 +13418 +13419 +13420 +13421 +13422 +13423 +13424 +13425 +13426 +13427 +13428 +13429 +13430 +13431 +13432 +13433 +13434 +13435 +13436 +13437 +13438 +13439 +13440 +13441 +13442 +13443 +13444 +13445 +13446 +13447 +13448 +13449 +13450 +13451 +13452 +13453 +13454 +13455 +13456 +13457 +13458 +13459 +13460 +13461 +13462 +13463 +13464 +13465 +13466 +13467 +13468 +13469 +13470 +13471 +13472 +13473 +13474 +13475 +13476 +13477 +13478 +13479 +13480 +13481 +13482 +13483 +13484 +13485 +13486 +13487 +13488 +13489 +13490 +13491 +13492 +13493 +13494 +13495 +13496 +13497 +13498 +13499 +13500 +13501 +13502 +13503 +13504 +13505 +13506 +13507 +13508 +13509 +13510 +13511 +13512 +13513 +13514 +13515 +13516 +13517 +13518 +13519 +13520 +13521 +13522 +13523 +13524 +13525 +13526 +13527 +13528 +13529 +13530 +13531 +13532 +13533 +13534 +13535 +13536 +13537 +13538 +13539 +13540 +13541 +13542 +13543 +13544 +13545 +13546 +13547 +13548 +13549 +13550 +13551 +13552 +13553 +13554 +13555 +13556 +13557 +13558 +13559 +13560 +13561 +13562 +13563 +13564 +13565 +13566 +13567 +13568 +13569 +13570 +13571 +13572 +13573 +13574 +13575 +13576 +13577 +13578 +13579 +13580 +13581 +13582 +13583 +13584 +13585 +13586 +13587 +13588 +13589 +13590 +13591 +13592 +13593 +13594 +13595 +13596 +13597 +13598 +13599 +13600 +13601 +13602 +13603 +13604 +13605 +13606 +13607 +13608 +13609 +13610 +13611 +13612 +13613 +13614 +13615 +13616 +13617 +13618 +13619 +13620 +13621 +13622 +13623 +13624 +13625 +13626 +13627 +13628 +13629 +13630 +13631 +13632 +13633 +13634 +13635 +13636 +13637 +13638 +13639 +13640 +13641 +13642 +13643 +13644 +13645 +13646 +13647 +13648 +13649 +13650 +13651 +13652 +13653 +13654 +13655 +13656 +13657 +13658 +13659 +13660 +13661 +13662 +13663 +13664 +13665 +13666 +13667 +13668 +13669 +13670 +13671 +13672 +13673 +13674 +13675 +13676 +13677 +13678 +13679 +13680 +13681 +13682 +13683 +13684 +13685 +13686 +13687 +13688 +13689 +13690 +13691 +13692 +13693 +13694 +13695 +13696 +13697 +13698 +13699 +13700 +13701 +13702 +13703 +13704 +13705 +13706 +13707 +13708 +13709 +13710 +13711 +13712 +13713 +13714 +13715 +13716 +13717 +13718 +13719 +13720 +13721 +13722 +13723 +13724 +13725 +13726 +13727 +13728 +13729 +13730 +13731 +13732 +13733 +13734 +13735 +13736 +13737 +13738 +13739 +13740 +13741 +13742 +13743 +13744 +13745 +13746 +13747 +13748 +13749 +13750 +13751 +13752 +13753 +13754 +13755 +13756 +13757 +13758 +13759 +13760 +13761 +13762 +13763 +13764 +13765 +13766 +13767 +13768 +13769 +13770 +13771 +13772 +13773 +13774 +13775 +13776 +13777 +13778 +13779 +13780 +13781 +13782 +13783 +13784 +13785 +13786 +13787 +13788 +13789 +13790 +13791 +13792 +13793 +13794 +13795 +13796 +13797 +13798 +13799 +13800 +13801 +13802 +13803 +13804 +13805 +13806 +13807 +13808 +13809 +13810 +13811 +13812 +13813 +13814 +13815 +13816 +13817 +13818 +13819 +13820 +13821 +13822 +13823 +13824 +13825 +13826 +13827 +13828 +13829 +13830 +13831 +13832 +13833 +13834 +13835 +13836 +13837 +13838 +13839 +13840 +13841 +13842 +13843 +13844 +13845 +13846 +13847 +13848 +13849 +13850 +13851 +13852 +13853 +13854 +13855 +13856 +13857 +13858 +13859 +13860 +13861 +13862 +13863 +13864 +13865 +13866 +13867 +13868 +13869 +13870 +13871 +13872 +13873 +13874 +13875 +13876 +13877 +13878 +13879 +13880 +13881 +13882 +13883 +13884 +13885 +13886 +13887 +13888 +13889 +13890 +13891 +13892 +13893 +13894 +13895 +13896 +13897 +13898 +13899 +13900 +13901 +13902 +13903 +13904 +13905 +13906 +13907 +13908 +13909 +13910 +13911 +13912 +13913 +13914 +13915 +13916 +13917 +13918 +13919 +13920 +13921 +13922 +13923 +13924 +13925 +13926 +13927 +13928 +13929 +13930 +13931 +13932 +13933 +13934 +13935 +13936 +13937 +13938 +13939 +13940 +13941 +13942 +13943 +13944 +13945 +13946 +13947 +13948 +13949 +13950 +13951 +13952 +13953 +13954 +13955 +13956 +13957 +13958 +13959 +13960 +13961 +13962 +13963 +13964 +13965 +13966 +13967 +13968 +13969 +13970 +13971 +13972 +13973 +13974 +13975 +13976 +13977 +13978 +13979 +13980 +13981 +13982 +13983 +13984 +13985 +13986 +13987 +13988 +13989 +13990 +13991 +13992 +13993 +13994 +13995 +13996 +13997 +13998 +13999 +14000 +14001 +14002 +14003 +14004 +14005 +14006 +14007 +14008 +14009 +14010 +14011 +14012 +14013 +14014 +14015 +14016 +14017 +14018 +14019 +14020 +14021 +14022 +14023 +14024 +14025 +14026 +14027 +14028 +14029 +14030 +14031 +14032 +14033 +14034 +14035 +14036 +14037 +14038 +14039 +14040 +14041 +14042 +14043 +14044 +14045 +14046 +14047 +14048 +14049 +14050 +14051 +14052 +14053 +14054 +14055 +14056 +14057 +14058 +14059 +14060 +14061 +14062 +14063 +14064 +14065 +14066 +14067 +14068 +14069 +14070 +14071 +14072 +14073 +14074 +14075 +14076 +14077 +14078 +14079 +14080 +14081 +14082 +14083 +14084 +14085 +14086 +14087 +14088 +14089 +14090 +14091 +14092 +14093 +14094 +14095 +14096 +14097 +14098 +14099 +14100 +14101 +14102 +14103 +14104 +14105 +14106 +14107 +14108 +14109 +14110 +14111 +14112 +14113 +14114 +14115 +14116 +14117 +14118 +14119 +14120 +14121 +14122 +14123 +14124 +14125 +14126 +14127 +14128 +14129 +14130 +14131 +14132 +14133 +14134 +14135 +14136 +14137 +14138 +14139 +14140 +14141 +14142 +14143 +14144 +14145 +14146 +14147 +14148 +14149 +14150 +14151 +14152 +14153 +14154 +14155 +14156 +14157 +14158 +14159 +14160 +14161 +14162 +14163 +14164 +14165 +14166 +14167 +14168 +14169 +14170 +14171 +14172 +14173 +14174 +14175 +14176 +14177 +14178 +14179 +14180 +14181 +14182 +14183 +14184 +14185 +14186 +14187 +14188 +14189 +14190 +14191 +14192 +14193 +14194 +14195 +14196 +14197 +14198 +14199 +14200 +14201 +14202 +14203 +14204 +14205 +14206 +14207 +14208 +14209 +14210 +14211 +14212 +14213 +14214 +14215 +14216 +14217 +14218 +14219 +14220 +14221 +14222 +14223 +14224 +14225 +14226 +14227 +14228 +14229 +14230 +14231 +14232 +14233 +14234 +14235 +14236 +14237 +14238 +14239 +14240 +14241 +14242 +14243 +14244 +14245 +14246 +14247 +14248 +14249 +14250 +14251 +14252 +14253 +14254 +14255 +14256 +14257 +14258 +14259 +14260 +14261 +14262 +14263 +14264 +14265 +14266 +14267 +14268 +14269 +14270 +14271 +14272 +14273 +14274 +14275 +14276 +14277 +14278 +14279 +14280 +14281 +14282 +14283 +14284 +14285 +14286 +14287 +14288 +14289 +14290 +14291 +14292 +14293 +14294 +14295 +14296 +14297 +14298 +14299 +14300 +14301 +14302 +14303 +14304 +14305 +14306 +14307 +14308 +14309 +14310 +14311 +14312 +14313 +14314 +14315 +14316 +14317 +14318 +14319 +14320 +14321 +14322 +14323 +14324 +14325 +14326 +14327 +14328 +14329 +14330 +14331 +14332 +14333 +14334 +14335 +14336 +14337 +14338 +14339 +14340 +14341 +14342 +14343 +14344 +14345 +14346 +14347 +14348 +14349 +14350 +14351 +14352 +14353 +14354 +14355 +14356 +14357 +14358 +14359 +14360 +14361 +14362 +14363 +14364 +14365 +14366 +14367 +14368 +14369 +14370 +14371 +14372 +14373 +14374 +14375 +14376 +14377 +14378 +14379 +14380 +14381 +14382 +14383 +14384 +14385 +14386 +14387 +14388 +14389 +14390 +14391 +14392 +14393 +14394 +14395 +14396 +14397 +14398 +14399 +14400 +14401 +14402 +14403 +14404 +14405 +14406 +14407 +14408 +14409 +14410 +14411 +14412 +14413 +14414 +14415 +14416 +14417 +14418 +14419 +14420 +14421 +14422 +14423 +14424 +14425 +14426 +14427 +14428 +14429 +14430 +14431 +14432 +14433 +14434 +14435 +14436 +14437 +14438 +14439 +14440 +14441 +14442 +14443 +14444 +14445 +14446 +14447 +14448 +14449 +14450 +14451 +14452 +14453 +14454 +14455 +14456 +14457 +14458 +14459 +14460 +14461 +14462 +14463 +14464 +14465 +14466 +14467 +14468 +14469 +14470 +14471 +14472 +14473 +14474 +14475 +14476 +14477 +14478 +14479 +14480 +14481 +14482 +14483 +14484 +14485 +14486 +14487 +14488 +14489 +14490 +14491 +14492 +14493 +14494 +14495 +14496 +14497 +14498 +14499 +14500 +14501 +14502 +14503 +14504 +14505 +14506 +14507 +14508 +14509 +14510 +14511 +14512 +14513 +14514 +14515 +14516 +14517 +14518 +14519 +14520 +14521 +14522 +14523 +14524 +14525 +14526 +14527 +14528 +14529 +14530 +14531 +14532 +14533 +14534 +14535 +14536 +14537 +14538 +14539 +14540 +14541 +14542 +14543 +14544 +14545 +14546 +14547 +14548 +14549 +14550 +14551 +14552 +14553 +14554 +14555 +14556 +14557 +14558 +14559 +14560 +14561 +14562 +14563 +14564 +14565 +14566 +14567 +14568 +14569 +14570 +14571 +14572 +14573 +14574 +14575 +14576 +14577 +14578 +14579 +14580 +14581 +14582 +14583 +14584 +14585 +14586 +14587 +14588 +14589 +14590 +14591 +14592 +14593 +14594 +14595 +14596 +14597 +14598 +14599 +14600 +14601 +14602 +14603 +14604 +14605 +14606 +14607 +14608 +14609 +14610 +14611 +14612 +14613 +14614 +14615 +14616 +14617 +14618 +14619 +14620 +14621 +14622 +14623 +14624 +14625 +14626 +14627 +14628 +14629 +14630 +14631 +14632 +14633 +14634 +14635 +14636 +14637 +14638 +14639 +14640 +14641 +14642 +14643 +14644 +14645 +14646 +14647 +14648 +14649 +14650 +14651 +14652 +14653 +14654 +14655 +14656 +14657 +14658 +14659 +14660 +14661 +14662 +14663 +14664 +14665 +14666 +14667 +14668 +14669 +14670 +14671 +14672 +14673 +14674 +14675 +14676 +14677 +14678 +14679 +14680 +14681 +14682 +14683 +14684 +14685 +14686 +14687 +14688 +14689 +14690 +14691 +14692 +14693 +14694 +14695 +14696 +14697 +14698 +14699 +14700 +14701 +14702 +14703 +14704 +14705 +14706 +14707 +14708 +14709 +14710 +14711 +14712 +14713 +14714 +14715 +14716 +14717 +14718 +14719 +14720 +14721 +14722 +14723 +14724 +14725 +14726 +14727 +14728 +14729 +14730 +14731 +14732 +14733 +14734 +14735 +14736 +14737 +14738 +14739 +14740 +14741 +14742 +14743 +14744 +14745 +14746 +14747 +14748 +14749 +14750 +14751 +14752 +14753 +14754 +14755 +14756 +14757 +14758 +14759 +14760 +14761 +14762 +14763 +14764 +14765 +14766 +14767 +14768 +14769 +14770 +14771 +14772 +14773 +14774 +14775 +14776 +14777 +14778 +14779 +14780 +14781 +14782 +14783 +14784 +14785 +14786 +14787 +14788 +14789 +14790 +14791 +14792 +14793 +14794 +14795 +14796 +14797 +14798 +14799 +14800 +14801 +14802 +14803 +14804 +14805 +14806 +14807 +14808 +14809 +14810 +14811 +14812 +14813 +14814 +14815 +14816 +14817 +14818 +14819 +14820 +14821 +14822 +14823 +14824 +14825 +14826 +14827 +14828 +14829 +14830 +14831 +14832 +14833 +14834 +14835 +14836 +14837 +14838 +14839 +14840 +14841 +14842 +14843 +14844 +14845 +14846 +14847 +14848 +14849 +14850 +14851 +14852 +14853 +14854 +14855 +14856 +14857 +14858 +14859 +14860 +14861 +14862 +14863 +14864 +14865 +14866 +14867 +14868 +14869 +14870 +14871 +14872 +14873 +14874 +14875 +14876 +14877 +14878 +14879 +14880 +14881 +14882 +14883 +14884 +14885 +14886 +14887 +14888 +14889 +14890 +14891 +14892 +14893 +14894 +14895 +14896 +14897 +14898 +14899 +14900 +14901 +14902 +14903 +14904 +14905 +14906 +14907 +14908 +14909 +14910 +14911 +14912 +14913 +14914 +14915 +14916 +14917 +14918 +14919 +14920 +14921 +14922 +14923 +14924 +14925 +14926 +14927 +14928 +14929 +14930 +14931 +14932 +14933 +14934 +14935 +14936 +14937 +14938 +14939 +14940 +14941 +14942 +14943 +14944 +14945 +14946 +14947 +14948 +14949 +14950 +14951 +14952 +14953 +14954 +14955 +14956 +14957 +14958 +14959 +14960 +14961 +14962 +14963 +14964 +14965 +14966 +14967 +14968 +14969 +14970 +14971 +14972 +14973 +14974 +14975 +14976 +14977 +14978 +14979 +14980 +14981 +14982 +14983 +14984 +14985 +14986 +14987 +14988 +14989 +14990 +14991 +14992 +14993 +14994 +14995 +14996 +14997 +14998 +14999 +15000 +15001 +15002 +15003 +15004 +15005 +15006 +15007 +15008 +15009 +15010 +15011 +15012 +15013 +15014 +15015 +15016 +15017 +15018 +15019 +15020 +15021 +15022 +15023 +15024 +15025 +15026 +15027 +15028 +15029 +15030 +15031 +15032 +15033 +15034 +15035 +15036 +15037 +15038 +15039 +15040 +15041 +15042 +15043 +15044 +15045 +15046 +15047 +15048 +15049 +15050 +15051 +15052 +15053 +15054 +15055 +15056 +15057 +15058 +15059 +15060 +15061 +15062 +15063 +15064 +15065 +15066 +15067 +15068 +15069 +15070 +15071 +15072 +15073 +15074 +15075 +15076 +15077 +15078 +15079 +15080 +15081 +15082 +15083 +15084 +15085 +15086 +15087 +15088 +15089 +15090 +15091 +15092 +15093 +15094 +15095 +15096 +15097 +15098 +15099 +15100 +15101 +15102 +15103 +15104 +15105 +15106 +15107 +15108 +15109 +15110 +15111 +15112 +15113 +15114 +15115 +15116 +15117 +15118 +15119 +15120 +15121 +15122 +15123 +15124 +15125 +15126 +15127 +15128 +15129 +15130 +15131 +15132 +15133 +15134 +15135 +15136 +15137 +15138 +15139 +15140 +15141 +15142 +15143 +15144 +15145 +15146 +15147 +15148 +15149 +15150 +15151 +15152 +15153 +15154 +15155 +15156 +15157 +15158 +15159 +15160 +15161 +15162 +15163 +15164 +15165 +15166 +15167 +15168 +15169 +15170 +15171 +15172 +15173 +15174 +15175 +15176 +15177 +15178 +15179 +15180 +15181 +15182 +15183 +15184 +15185 +15186 +15187 +15188 +15189 +15190 +15191 +15192 +15193 +15194 +15195 +15196 +15197 +15198 +15199 +15200 +15201 +15202 +15203 +15204 +15205 +15206 +15207 +15208 +15209 +15210 +15211 +15212 +15213 +15214 +15215 +15216 +15217 +15218 +15219 +15220 +15221 +15222 +15223 +15224 +15225 +15226 +15227 +15228 +15229 +15230 +15231 +15232 +15233 +15234 +15235 +15236 +15237 +15238 +15239 +15240 +15241 +15242 +15243 +15244 +15245 +15246 +15247 +15248 +15249 +15250 +15251 +15252 +15253 +15254 +15255 +15256 +15257 +15258 +15259 +15260 +15261 +15262 +15263 +15264 +15265 +15266 +15267 +15268 +15269 +15270 +15271 +15272 +15273 +15274 +15275 +15276 +15277 +15278 +15279 +15280 +15281 +15282 +15283 +15284 +15285 +15286 +15287 +15288 +15289 +15290 +15291 +15292 +15293 +15294 +15295 +15296 +15297 +15298 +15299 +15300 +15301 +15302 +15303 +15304 +15305 +15306 +15307 +15308 +15309 +15310 +15311 +15312 +15313 +15314 +15315 +15316 +15317 +15318 +15319 +15320 +15321 +15322 +15323 +15324 +15325 +15326 +15327 +15328 +15329 +15330 +15331 +15332 +15333 +15334 +15335 +15336 +15337 +15338 +15339 +15340 +15341 +15342 +15343 +15344 +15345 +15346 +15347 +15348 +15349 +15350 +15351 +15352 +15353 +15354 +15355 +15356 +15357 +15358 +15359 +15360 +15361 +15362 +15363 +15364 +15365 +15366 +15367 +15368 +15369 +15370 +15371 +15372 +15373 +15374 +15375 +15376 +15377 +15378 +15379 +15380 +15381 +15382 +15383 +15384 +15385 +15386 +15387 +15388 +15389 +15390 +15391 +15392 +15393 +15394 +15395 +15396 +15397 +15398 +15399 +15400 +15401 +15402 +15403 +15404 +15405 +15406 +15407 +15408 +15409 +15410 +15411 +15412 +15413 +15414 +15415 +15416 +15417 +15418 +15419 +15420 +15421 +15422 +15423 +15424 +15425 +15426 +15427 +15428 +15429 +15430 +15431 +15432 +15433 +15434 +15435 +15436 +15437 +15438 +15439 +15440 +15441 +15442 +15443 +15444 +15445 +15446 +15447 +15448 +15449 +15450 +15451 +15452 +15453 +15454 +15455 +15456 +15457 +15458 +15459 +15460 +15461 +15462 +15463 +15464 +15465 +15466 +15467 +15468 +15469 +15470 +15471 +15472 +15473 +15474 +15475 +15476 +15477 +15478 +15479 +15480 +15481 +15482 +15483 +15484 +15485 +15486 +15487 +15488 +15489 +15490 +15491 +15492 +15493 +15494 +15495 +15496 +15497 +15498 +15499 +15500 +15501 +15502 +15503 +15504 +15505 +15506 +15507 +15508 +15509 +15510 +15511 +15512 +15513 +15514 +15515 +15516 +15517 +15518 +15519 +15520 +15521 +15522 +15523 +15524 +15525 +15526 +15527 +15528 +15529 +15530 +15531 +15532 +15533 +15534 +15535 +15536 +15537 +15538 +15539 +15540 +15541 +15542 +15543 +15544 +15545 +15546 +15547 +15548 +15549 +15550 +15551 +15552 +15553 +15554 +15555 +15556 +15557 +15558 +15559 +15560 +15561 +15562 +15563 +15564 +15565 +15566 +15567 +15568 +15569 +15570 +15571 +15572 +15573 +15574 +15575 +15576 +15577 +15578 +15579 +15580 +15581 +15582 +15583 +15584 +15585 +15586 +15587 +15588 +15589 +15590 +15591 +15592 +15593 +15594 +15595 +15596 +15597 +15598 +15599 +15600 +15601 +15602 +15603 +15604 +15605 +15606 +15607 +15608 +15609 +15610 +15611 +15612 +15613 +15614 +15615 +15616 +15617 +15618 +15619 +15620 +15621 +15622 +15623 +15624 +15625 +15626 +15627 +15628 +15629 +15630 +15631 +15632 +15633 +15634 +15635 +15636 +15637 +15638 +15639 +15640 +15641 +15642 +15643 +15644 +15645 +15646 +15647 +15648 +15649 +15650 +15651 +15652 +15653 +15654 +15655 +15656 +15657 +15658 +15659 +15660 +15661 +15662 +15663 +15664 +15665 +15666 +15667 +15668 +15669 +15670 +15671 +15672 +15673 +15674 +15675 +15676 +15677 +15678 +15679 +15680 +15681 +15682 +15683 +15684 +15685 +15686 +15687 +15688 +15689 +15690 +15691 +15692 +15693 +15694 +15695 +15696 +15697 +15698 +15699 +15700 +15701 +15702 +15703 +15704 +15705 +15706 +15707 +15708 +15709 +15710 +15711 +15712 +15713 +15714 +15715 +15716 +15717 +15718 +15719 +15720 +15721 +15722 +15723 +15724 +15725 +15726 +15727 +15728 +15729 +15730 +15731 +15732 +15733 +15734 +15735 +15736 +15737 +15738 +15739 +15740 +15741 +15742 +15743 +15744 +15745 +15746 +15747 +15748 +15749 +15750 +15751 +15752 +15753 +15754 +15755 +15756 +15757 +15758 +15759 +15760 +15761 +15762 +15763 +15764 +15765 +15766 +15767 +15768 +15769 +15770 +15771 +15772 +15773 +15774 +15775 +15776 +15777 +15778 +15779 +15780 +15781 +15782 +15783 +15784 +15785 +15786 +15787 +15788 +15789 +15790 +15791 +15792 +15793 +15794 +15795 +15796 +15797 +15798 +15799 +15800 +15801 +15802 +15803 +15804 +15805 +15806 +15807 +15808 +15809 +15810 +15811 +15812 +15813 +15814 +15815 +15816 +15817 +15818 +15819 +15820 +15821 +15822 +15823 +15824 +15825 +15826 +15827 +15828 +15829 +15830 +15831 +15832 +15833 +15834 +15835 +15836 +15837 +15838 +15839 +15840 +15841 +15842 +15843 +15844 +15845 +15846 +15847 +15848 +15849 +15850 +15851 +15852 +15853 +15854 +15855 +15856 +15857 +15858 +15859 +15860 +15861 +15862 +15863 +15864 +15865 +15866 +15867 +15868 +15869 +15870 +15871 +15872 +15873 +15874 +15875 +15876 +15877 +15878 +15879 +15880 +15881 +15882 +15883 +15884 +15885 +15886 +15887 +15888 +15889 +15890 +15891 +15892 +15893 +15894 +15895 +15896 +15897 +15898 +15899 +15900 +15901 +15902 +15903 +15904 +15905 +15906 +15907 +15908 +15909 +15910 +15911 +15912 +15913 +15914 +15915 +15916 +15917 +15918 +15919 +15920 +15921 +15922 +15923 +15924 +15925 +15926 +15927 +15928 +15929 +15930 +15931 +15932 +15933 +15934 +15935 +15936 +15937 +15938 +15939 +15940 +15941 +15942 +15943 +15944 +15945 +15946 +15947 +15948 +15949 +15950 +15951 +15952 +15953 +15954 +15955 +15956 +15957 +15958 +15959 +15960 +15961 +15962 +15963 +15964 +15965 +15966 +15967 +15968 +15969 +15970 +15971 +15972 +15973 +15974 +15975 +15976 +15977 +15978 +15979 +15980 +15981 +15982 +15983 +15984 +15985 +15986 +15987 +15988 +15989 +15990 +15991 +15992 +15993 +15994 +15995 +15996 +15997 +15998 +15999 +16000 +16001 +16002 +16003 +16004 +16005 +16006 +16007 +16008 +16009 +16010 +16011 +16012 +16013 +16014 +16015 +16016 +16017 +16018 +16019 +16020 +16021 +16022 +16023 +16024 +16025 +16026 +16027 +16028 +16029 +16030 +16031 +16032 +16033 +16034 +16035 +16036 +16037 +16038 +16039 +16040 +16041 +16042 +16043 +16044 +16045 +16046 +16047 +16048 +16049 +16050 +16051 +16052 +16053 +16054 +16055 +16056 +16057 +16058 +16059 +16060 +16061 +16062 +16063 +16064 +16065 +16066 +16067 +16068 +16069 +16070 +16071 +16072 +16073 +16074 +16075 +16076 +16077 +16078 +16079 +16080 +16081 +16082 +16083 +16084 +16085 +16086 +16087 +16088 +16089 +16090 +16091 +16092 +16093 +16094 +16095 +16096 +16097 +16098 +16099 +16100 +16101 +16102 +16103 +16104 +16105 +16106 +16107 +16108 +16109 +16110 +16111 +16112 +16113 +16114 +16115 +16116 +16117 +16118 +16119 +16120 +16121 +16122 +16123 +16124 +16125 +16126 +16127 +16128 +16129 +16130 +16131 +16132 +16133 +16134 +16135 +16136 +16137 +16138 +16139 +16140 +16141 +16142 +16143 +16144 +16145 +16146 +16147 +16148 +16149 +16150 +16151 +16152 +16153 +16154 +16155 +16156 +16157 +16158 +16159 +16160 +16161 +16162 +16163 +16164 +16165 +16166 +16167 +16168 +16169 +16170 +16171 +16172 +16173 +16174 +16175 +16176 +16177 +16178 +16179 +16180 +16181 +16182 +16183 +16184 +16185 +16186 +16187 +16188 +16189 +16190 +16191 +16192 +16193 +16194 +16195 +16196 +16197 +16198 +16199 +16200 +16201 +16202 +16203 +16204 +16205 +16206 +16207 +16208 +16209 +16210 +16211 +16212 +16213 +16214 +16215 +16216 +16217 +16218 +16219 +16220 +16221 +16222 +16223 +16224 +16225 +16226 +16227 +16228 +16229 +16230 +16231 +16232 +16233 +16234 +16235 +16236 +16237 +16238 +16239 +16240 +16241 +16242 +16243 +16244 +16245 +16246 +16247 +16248 +16249 +16250 +16251 +16252 +16253 +16254 +16255 +16256 +16257 +16258 +16259 +16260 +16261 +16262 +16263 +16264 +16265 +16266 +16267 +16268 +16269 +16270 +16271 +16272 +16273 +16274 +16275 +16276 +16277 +16278 +16279 +16280 +16281 +16282 +16283 +16284 +16285 +16286 +16287 +16288 +16289 +16290 +16291 +16292 +16293 +16294 +16295 +16296 +16297 +16298 +16299 +16300 +16301 +16302 +16303 +16304 +16305 +16306 +16307 +16308 +16309 +16310 +16311 +16312 +16313 +16314 +16315 +16316 +16317 +16318 +16319 +16320 +16321 +16322 +16323 +16324 +16325 +16326 +16327 +16328 +16329 +16330 +16331 +16332 +16333 +16334 +16335 +16336 +16337 +16338 +16339 +16340 +16341 +16342 +16343 +16344 +16345 +16346 +16347 +16348 +16349 +16350 +16351 +16352 +16353 +16354 +16355 +16356 +16357 +16358 +16359 +16360 +16361 +16362 +16363 +16364 +16365 +16366 +16367 +16368 +16369 +16370 +16371 +16372 +16373 +16374 +16375 +16376 +16377 +16378 +16379 +16380 +16381 +16382 +16383 +16384 +16385 +16386 +16387 +16388 +16389 +16390 +16391 +16392 +16393 +16394 +16395 +16396 +16397 +16398 +16399 +16400 +16401 +16402 +16403 +16404 +16405 +16406 +16407 +16408 +16409 +16410 +16411 +16412 +16413 +16414 +16415 +16416 +16417 +16418 +16419 +16420 +16421 +16422 +16423 +16424 +16425 +16426 +16427 +16428 +16429 +16430 +16431 +16432 +16433 +16434 +16435 +16436 +16437 +16438 +16439 +16440 +16441 +16442 +16443 +16444 +16445 +16446 +16447 +16448 +16449 +16450 +16451 +16452 +16453 +16454 +16455 +16456 +16457 +16458 +16459 +16460 +16461 +16462 +16463 +16464 +16465 +16466 +16467 +16468 +16469 +16470 +16471 +16472 +16473 +16474 +16475 +16476 +16477 +16478 +16479 +16480 +16481 +16482 +16483 +16484 +16485 +16486 +16487 +16488 +16489 +16490 +16491 +16492 +16493 +16494 +16495 +16496 +16497 +16498 +16499 +16500 +16501 +16502 +16503 +16504 +16505 +16506 +16507 +16508 +16509 +16510 +16511 +16512 +16513 +16514 +16515 +16516 +16517 +16518 +16519 +16520 +16521 +16522 +16523 +16524 +16525 +16526 +16527 +16528 +16529 +16530 +16531 +16532 +16533 +16534 +16535 +16536 +16537 +16538 +16539 +16540 +16541 +16542 +16543 +16544 +16545 +16546 +16547 +16548 +16549 +16550 +16551 +16552 +16553 +16554 +16555 +16556 +16557 +16558 +16559 +16560 +16561 +16562 +16563 +16564 +16565 +16566 +16567 +16568 +16569 +16570 +16571 +16572 +16573 +16574 +16575 +16576 +16577 +16578 +16579 +16580 +16581 +16582 +16583 +16584 +16585 +16586 +16587 +16588 +16589 +16590 +16591 +16592 +16593 +16594 +16595 +16596 +16597 +16598 +16599 +16600 +16601 +16602 +16603 +16604 +16605 +16606 +16607 +16608 +16609 +16610 +16611 +16612 +16613 +16614 +16615 +16616 +16617 +16618 +16619 +16620 +16621 +16622 +16623 +16624 +16625 +16626 +16627 +16628 +16629 +16630 +16631 +16632 +16633 +16634 +16635 +16636 +16637 +16638 +16639 +16640 +16641 +16642 +16643 +16644 +16645 +16646 +16647 +16648 +16649 +16650 +16651 +16652 +16653 +16654 +16655 +16656 +16657 +16658 +16659 +16660 +16661 +16662 +16663 +16664 +16665 +16666 +16667 +16668 +16669 +16670 +16671 +16672 +16673 +16674 +16675 +16676 +16677 +16678 +16679 +16680 +16681 +16682 +16683 +16684 +16685 +16686 +16687 +16688 +16689 +16690 +16691 +16692 +16693 +16694 +16695 +16696 +16697 +16698 +16699 +16700 +16701 +16702 +16703 +16704 +16705 +16706 +16707 +16708 +16709 +16710 +16711 +16712 +16713 +16714 +16715 +16716 +16717 +16718 +16719 +16720 +16721 +16722 +16723 +16724 +16725 +16726 +16727 +16728 +16729 +16730 +16731 +16732 +16733 +16734 +16735 +16736 +16737 +16738 +16739 +16740 +16741 +16742 +16743 +16744 +16745 +16746 +16747 +16748 +16749 +16750 +16751 +16752 +16753 +16754 +16755 +16756 +16757 +16758 +16759 +16760 +16761 +16762 +16763 +16764 +16765 +16766 +16767 +16768 +16769 +16770 +16771 +16772 +16773 +16774 +16775 +16776 +16777 +16778 +16779 +16780 +16781 +16782 +16783 +16784 +16785 +16786 +16787 +16788 +16789 +16790 +16791 +16792 +16793 +16794 +16795 +16796 +16797 +16798 +16799 +16800 +16801 +16802 +16803 +16804 +16805 +16806 +16807 +16808 +16809 +16810 +16811 +16812 +16813 +16814 +16815 +16816 +16817 +16818 +16819 +16820 +16821 +16822 +16823 +16824 +16825 +16826 +16827 +16828 +16829 +16830 +16831 +16832 +16833 +16834 +16835 +16836 +16837 +16838 +16839 +16840 +16841 +16842 +16843 +16844 +16845 +16846 +16847 +16848 +16849 +16850 +16851 +16852 +16853 +16854 +16855 +16856 +16857 +16858 +16859 +16860 +16861 +16862 +16863 +16864 +16865 +16866 +16867 +16868 +16869 +16870 +16871 +16872 +16873 +16874 +16875 +16876 +16877 +16878 +16879 +16880 +16881 +16882 +16883 +16884 +16885 +16886 +16887 +16888 +16889 +16890 +16891 +16892 +16893 +16894 +16895 +16896 +16897 +16898 +16899 +16900 +16901 +16902 +16903 +16904 +16905 +16906 +16907 +16908 +16909 +16910 +16911 +16912 +16913 +16914 +16915 +16916 +16917 +16918 +16919 +16920 +16921 +16922 +16923 +16924 +16925 +16926 +16927 +16928 +16929 +16930 +16931 +16932 +16933 +16934 +16935 +16936 +16937 +16938 +16939 +16940 +16941 +16942 +16943 +16944 +16945 +16946 +16947 +16948 +16949 +16950 +16951 +16952 +16953 +16954 +16955 +16956 +16957 +16958 +16959 +16960 +16961 +16962 +16963 +16964 +16965 +16966 +16967 +16968 +16969 +16970 +16971 +16972 +16973 +16974 +16975 +16976 +16977 +16978 +16979 +16980 +16981 +16982 +16983 +16984 +16985 +16986 +16987 +16988 +16989 +16990 +16991 +16992 +16993 +16994 +16995 +16996 +16997 +16998 +16999 +17000 +17001 +17002 +17003 +17004 +17005 +17006 +17007 +17008 +17009 +17010 +17011 +17012 +17013 +17014 +17015 +17016 +17017 +17018 +17019 +17020 +17021 +17022 +17023 +17024 +17025 +17026 +17027 +17028 +17029 +17030 +17031 +17032 +17033 +17034 +17035 +17036 +17037 +17038 +17039 +17040 +17041 +17042 +17043 +17044 +17045 +17046 +17047 +17048 +17049 +17050 +17051 +17052 +17053 +17054 +17055 +17056 +17057 +17058 +17059 +17060 +17061 +17062 +17063 +17064 +17065 +17066 +17067 +17068 +17069 +17070 +17071 +17072 +17073 +17074 +17075 +17076 +17077 +17078 +17079 +17080 +17081 +17082 +17083 +17084 +17085 +17086 +17087 +17088 +17089 +17090 +17091 +17092 +17093 +17094 +17095 +17096 +17097 +17098 +17099 +17100 +17101 +17102 +17103 +17104 +17105 +17106 +17107 +17108 +17109 +17110 +17111 +17112 +17113 +17114 +17115 +17116 +17117 +17118 +17119 +17120 +17121 +17122 +17123 +17124 +17125 +17126 +17127 +17128 +17129 +17130 +17131 +17132 +17133 +17134 +17135 +17136 +17137 +17138 +17139 +17140 +17141 +17142 +17143 +17144 +17145 +17146 +17147 +17148 +17149 +17150 +17151 +17152 +17153 +17154 +17155 +17156 +17157 +17158 +17159 +17160 +17161 +17162 +17163 +17164 +17165 +17166 +17167 +17168 +17169 +17170 +17171 +17172 +17173 +17174 +17175 +17176 +17177 +17178 +17179 +17180 +17181 +17182 +17183 +17184 +17185 +17186 +17187 +17188 +17189 +17190 +17191 +17192 +17193 +17194 +17195 +17196 +17197 +17198 +17199 +17200 +17201 +17202 +17203 +17204 +17205 +17206 +17207 +17208 +17209 +17210 +17211 +17212 +17213 +17214 +17215 +17216 +17217 +17218 +17219 +17220 +17221 +17222 +17223 +17224 +17225 +17226 +17227 +17228 +17229 +17230 +17231 +17232 +17233 +17234 +17235 +17236 +17237 +17238 +17239 +17240 +17241 +17242 +17243 +17244 +17245 +17246 +17247 +17248 +17249 +17250 +17251 +17252 +17253 +17254 +17255 +17256 +17257 +17258 +17259 +17260 +17261 +17262 +17263 +17264 +17265 +17266 +17267 +17268 +17269 +17270 +17271 +17272 +17273 +17274 +17275 +17276 +17277 +17278 +17279 +17280 +17281 +17282 +17283 +17284 +17285 +17286 +17287 +17288 +17289 +17290 +17291 +17292 +17293 +17294 +17295 +17296 +17297 +17298 +17299 +17300 +17301 +17302 +17303 +17304 +17305 +17306 +17307 +17308 +17309 +17310 +17311 +17312 +17313 +17314 +17315 +17316 +17317 +17318 +17319 +17320 +17321 +17322 +17323 +17324 +17325 +17326 +17327 +17328 +17329 +17330 +17331 +17332 +17333 +17334 +17335 +17336 +17337 +17338 +17339 +17340 +17341 +17342 +17343 +17344 +17345 +17346 +17347 +17348 +17349 +17350 +17351 +17352 +17353 +17354 +17355 +17356 +17357 +17358 +17359 +17360 +17361 +17362 +17363 +17364 +17365 +17366 +17367 +17368 +17369 +17370 +17371 +17372 +17373 +17374 +17375 +17376 +17377 +17378 +17379 +17380 +17381 +17382 +17383 +17384 +17385 +17386 +17387 +17388 +17389 +17390 +17391 +17392 +17393 +17394 +17395 +17396 +17397 +17398 +17399 +17400 +17401 +17402 +17403 +17404 +17405 +17406 +17407 +17408 +17409 +17410 +17411 +17412 +17413 +17414 +17415 +17416 +17417 +17418 +17419 +17420 +17421 +17422 +17423 +17424 +17425 +17426 +17427 +17428 +17429 +17430 +17431 +17432 +17433 +17434 +17435 +17436 +17437 +17438 +17439 +17440 +17441 +17442 +17443 +17444 +17445 +17446 +17447 +17448 +17449 +17450 +17451 +17452 +17453 +17454 +17455 +17456 +17457 +17458 +17459 +17460 +17461 +17462 +17463 +17464 +17465 +17466 +17467 +17468 +17469 +17470 +17471 +17472 +17473 +17474 +17475 +17476 +17477 +17478 +17479 +17480 +17481 +17482 +17483 +17484 +17485 +17486 +17487 +17488 +17489 +17490 +17491 +17492 +17493 +17494 +17495 +17496 +17497 +17498 +17499 +17500 +17501 +17502 +17503 +17504 +17505 +17506 +17507 +17508 +17509 +17510 +17511 +17512 +17513 +17514 +17515 +17516 +17517 +17518 +17519 +17520 +17521 +17522 +17523 +17524 +17525 +17526 +17527 +17528 +17529 +17530 +17531 +17532 +17533 +17534 +17535 +17536 +17537 +17538 +17539 +17540 +17541 +17542 +17543 +17544 +17545 +17546 +17547 +17548 +17549 +17550 +17551 +17552 +17553 +17554 +17555 +17556 +17557 +17558 +17559 +17560 +17561 +17562 +17563 +17564 +17565 +17566 +17567 +17568 +17569 +17570 +17571 +17572 +17573 +17574 +17575 +17576 +17577 +17578 +17579 +17580 +17581 +17582 +17583 +17584 +17585 +17586 +17587 +17588 +17589 +17590 +17591 +17592 +17593 +17594 +17595 +17596 +17597 +17598 +17599 +17600 +17601 +17602 +17603 +17604 +17605 +17606 +17607 +17608 +17609 +17610 +17611 +17612 +17613 +17614 +17615 +17616 +17617 +17618 +17619 +17620 +17621 +17622 +17623 +17624 +17625 +17626 +17627 +17628 +17629 +17630 +17631 +17632 +17633 +17634 +17635 +17636 +17637 +17638 +17639 +17640 +17641 +17642 +17643 +17644 +17645 +17646 +17647 +17648 +17649 +17650 +17651 +17652 +17653 +17654 +17655 +17656 +17657 +17658 +17659 +17660 +17661 +17662 +17663 +17664 +17665 +17666 +17667 +17668 +17669 +17670 +17671 +17672 +17673 +17674 +17675 +17676 +17677 +17678 +17679 +17680 +17681 +17682 +17683 +17684 +17685 +17686 +17687 +17688 +17689 +17690 +17691 +17692 +17693 +17694 +17695 +17696 +17697 +17698 +17699 +17700 +17701 +17702 +17703 +17704 +17705 +17706 +17707 +17708 +17709 +17710 +17711 +17712 +17713 +17714 +17715 +17716 +17717 +17718 +17719 +17720 +17721 +17722 +17723 +17724 +17725 +17726 +17727 +17728 +17729 +17730 +17731 +17732 +17733 +17734 +17735 +17736 +17737 +17738 +17739 +17740 +17741 +17742 +17743 +17744 +17745 +17746 +17747 +17748 +17749 +17750 +17751 +17752 +17753 +17754 +17755 +17756 +17757 +17758 +17759 +17760 +17761 +17762 +17763 +17764 +17765 +17766 +17767 +17768 +17769 +17770 +17771 +17772 +17773 +17774 +17775 +17776 +17777 +17778 +17779 +17780 +17781 +17782 +17783 +17784 +17785 +17786 +17787 +17788 +17789 +17790 +17791 +17792 +17793 +17794 +17795 +17796 +17797 +17798 +17799 +17800 +17801 +17802 +17803 +17804 +17805 +17806 +17807 +17808 +17809 +17810 +17811 +17812 +17813 +17814 +17815 +17816 +17817 +17818 +17819 +17820 +17821 +17822 +17823 +17824 +17825 +17826 +17827 +17828 +17829 +17830 +17831 +17832 +17833 +17834 +17835 +17836 +17837 +17838 +17839 +17840 +17841 +17842 +17843 +17844 +17845 +17846 +17847 +17848 +17849 +17850 +17851 +17852 +17853 +17854 +17855 +17856 +17857 +17858 +17859 +17860 +17861 +17862 +17863 +17864 +17865 +17866 +17867 +17868 +17869 +17870 +17871 +17872 +17873 +17874 +17875 +17876 +17877 +17878 +17879 +17880 +17881 +17882 +17883 +17884 +17885 +17886 +17887 +17888 +17889 +17890 +17891 +17892 +17893 +17894 +17895 +17896 +17897 +17898 +17899 +17900 +17901 +17902 +17903 +17904 +17905 +17906 +17907 +17908 +17909 +17910 +17911 +17912 +17913 +17914 +17915 +17916 +17917 +17918 +17919 +17920 +17921 +17922 +17923 +17924 +17925 +17926 +17927 +17928 +17929 +17930 +17931 +17932 +17933 +17934 +17935 +17936 +17937 +17938 +17939 +17940 +17941 +17942 +17943 +17944 +17945 +17946 +17947 +17948 +17949 +17950 +17951 +17952 +17953 +17954 +17955 +17956 +17957 +17958 +17959 +17960 +17961 +17962 +17963 +17964 +17965 +17966 +17967 +17968 +17969 +17970 +17971 +17972 +17973 +17974 +17975 +17976 +17977 +17978 +17979 +17980 +17981 +17982 +17983 +17984 +17985 +17986 +17987 +17988 +17989 +17990 +17991 +17992 +17993 +17994 +17995 +17996 +17997 +17998 +17999 +18000 +18001 +18002 +18003 +18004 +18005 +18006 +18007 +18008 +18009 +18010 +18011 +18012 +18013 +18014 +18015 +18016 +18017 +18018 +18019 +18020 +18021 +18022 +18023 +18024 +18025 +18026 +18027 +18028 +18029 +18030 +18031 +18032 +18033 +18034 +18035 +18036 +18037 +18038 +18039 +18040 +18041 +18042 +18043 +18044 +18045 +18046 +18047 +18048 +18049 +18050 +18051 +18052 +18053 +18054 +18055 +18056 +18057 +18058 +18059 +18060 +18061 +18062 +18063 +18064 +18065 +18066 +18067 +18068 +18069 +18070 +18071 +18072 +18073 +18074 +18075 +18076 +18077 +18078 +18079 +18080 +18081 +18082 +18083 +18084 +18085 +18086 +18087 +18088 +18089 +18090 +18091 +18092 +18093 +18094 +18095 +18096 +18097 +18098 +18099 +18100 +18101 +18102 +18103 +18104 +18105 +18106 +18107 +18108 +18109 +18110 +18111 +18112 +18113 +18114 +18115 +18116 +18117 +18118 +18119 +18120 +18121 +18122 +18123 +18124 +18125 +18126 +18127 +18128 +18129 +18130 +18131 +18132 +18133 +18134 +18135 +18136 +18137 +18138 +18139 +18140 +18141 +18142 +18143 +18144 +18145 +18146 +18147 +18148 +18149 +18150 +18151 +18152 +18153 +18154 +18155 +18156 +18157 +18158 +18159 +18160 +18161 +18162 +18163 +18164 +18165 +18166 +18167 +18168 +18169 +18170 +18171 +18172 +18173 +18174 +18175 +18176 +18177 +18178 +18179 +18180 +18181 +18182 +18183 +18184 +18185 +18186 +18187 +18188 +18189 +18190 +18191 +18192 +18193 +18194 +18195 +18196 +18197 +18198 +18199 +18200 +18201 +18202 +18203 +18204 +18205 +18206 +18207 +18208 +18209 +18210 +18211 +18212 +18213 +18214 +18215 +18216 +18217 +18218 +18219 +18220 +18221 +18222 +18223 +18224 +18225 +18226 +18227 +18228 +18229 +18230 +18231 +18232 +18233 +18234 +18235 +18236 +18237 +18238 +18239 +18240 +18241 +18242 +18243 +18244 +18245 +18246 +18247 +18248 +18249 +18250 +18251 +18252 +18253 +18254 +18255 +18256 +18257 +18258 +18259 +18260 +18261 +18262 +18263 +18264 +18265 +18266 +18267 +18268 +18269 +18270 +18271 +18272 +18273 +18274 +18275 +18276 +18277 +18278 +18279 +18280 +18281 +18282 +18283 +18284 +18285 +18286 +18287 +18288 +18289 +18290 +18291 +18292 +18293 +18294 +18295 +18296 +18297 +18298 +18299 +18300 +18301 +18302 +18303 +18304 +18305 +18306 +18307 +18308 +18309 +18310 +18311 +18312 +18313 +18314 +18315 +18316 +18317 +18318 +18319 +18320 +18321 +18322 +18323 +18324 +18325 +18326 +18327 +18328 +18329 +18330 +18331 +18332 +18333 +18334 +18335 +18336 +18337 +18338 +18339 +18340 +18341 +18342 +18343 +18344 +18345 +18346 +18347 +18348 +18349 +18350 +18351 +18352 +18353 +18354 +18355 +18356 +18357 +18358 +18359 +18360 +18361 +18362 +18363 +18364 +18365 +18366 +18367 +18368 +18369 +18370 +18371 +18372 +18373 +18374 +18375 +18376 +18377 +18378 +18379 +18380 +18381 +18382 +18383 +18384 +18385 +18386 +18387 +18388 +18389 +18390 +18391 +18392 +18393 +18394 +18395 +18396 +18397 +18398 +18399 +18400 +18401 +18402 +18403 +18404 +18405 +18406 +18407 +18408 +18409 +18410 +18411 +18412 +18413 +18414 +18415 +18416 +18417 +18418 +18419 +18420 +18421 +18422 +18423 +18424 +18425 +18426 +18427 +18428 +18429 +18430 +18431 +18432 +18433 +18434 +18435 +18436 +18437 +18438 +18439 +18440 +18441 +18442 +18443 +18444 +18445 +18446 +18447 +18448 +18449 +18450 +18451 +18452 +18453 +18454 +18455 +18456 +18457 +18458 +18459 +18460 +18461 +18462 +18463 +18464 +18465 +18466 +18467 +18468 +18469 +18470 +18471 +18472 +18473 +18474 +18475 +18476 +18477 +18478 +18479 +18480 +18481 +18482 +18483 +18484 +18485 +18486 +18487 +18488 +18489 +18490 +18491 +18492 +18493 +18494 +18495 +18496 +18497 +18498 +18499 +18500 +18501 +18502 +18503 +18504 +18505 +18506 +18507 +18508 +18509 +18510 +18511 +18512 +18513 +18514 +18515 +18516 +18517 +18518 +18519 +18520 +18521 +18522 +18523 +18524 +18525 +18526 +18527 +18528 +18529 +18530 +18531 +18532 +18533 +18534 +18535 +18536 +18537 +18538 +18539 +18540 +18541 +18542 +18543 +18544 +18545 +18546 +18547 +18548 +18549 +18550 +18551 +18552 +18553 +18554 +18555 +18556 +18557 +18558 +18559 +18560 +18561 +18562 +18563 +18564 +18565 +18566 +18567 +18568 +18569 +18570 +18571 +18572 +18573 +18574 +18575 +18576 +18577 +18578 +18579 +18580 +18581 +18582 +18583 +18584 +18585 +18586 +18587 +18588 +18589 +18590 +18591 +18592 +18593 +18594 +18595 +18596 +18597 +18598 +18599 +18600 +18601 +18602 +18603 +18604 +18605 +18606 +18607 +18608 +18609 +18610 +18611 +18612 +18613 +18614 +18615 +18616 +18617 +18618 +18619 +18620 +18621 +18622 +18623 +18624 +18625 +18626 +18627 +18628 +18629 +18630 +18631 +18632 +18633 +18634 +18635 +18636 +18637 +18638 +18639 +18640 +18641 +18642 +18643 +18644 +18645 +18646 +18647 +18648 +18649 +18650 +18651 +18652 +18653 +18654 +18655 +18656 +18657 +18658 +18659 +18660 +18661 +18662 +18663 +18664 +18665 +18666 +18667 +18668 +18669 +18670 +18671 +18672 +18673 +18674 +18675 +18676 +18677 +18678 +18679 +18680 +18681 +18682 +18683 +18684 +18685 +18686 +18687 +18688 +18689 +18690 +18691 +18692 +18693 +18694 +18695 +18696 +18697 +18698 +18699 +18700 +18701 +18702 +18703 +18704 +18705 +18706 +18707 +18708 +18709 +18710 +18711 +18712 +18713 +18714 +18715 +18716 +18717 +18718 +18719 +18720 +18721 +18722 +18723 +18724 +18725 +18726 +18727 +18728 +18729 +18730 +18731 +18732 +18733 +18734 +18735 +18736 +18737 +18738 +18739 +18740 +18741 +18742 +18743 +18744 +18745 +18746 +18747 +18748 +18749 +18750 +18751 +18752 +18753 +18754 +18755 +18756 +18757 +18758 +18759 +18760 +18761 +18762 +18763 +18764 +18765 +18766 +18767 +18768 +18769 +18770 +18771 +18772 +18773 +18774 +18775 +18776 +18777 +18778 +18779 +18780 +18781 +18782 +18783 +18784 +18785 +18786 +18787 +18788 +18789 +18790 +18791 +18792 +18793 +18794 +18795 +18796 +18797 +18798 +18799 +18800 +18801 +18802 +18803 +18804 +18805 +18806 +18807 +18808 +18809 +18810 +18811 +18812 +18813 +18814 +18815 +18816 +18817 +18818 +18819 +18820 +18821 +18822 +18823 +18824 +18825 +18826 +18827 +18828 +18829 +18830 +18831 +18832 +18833 +18834 +18835 +18836 +18837 +18838 +18839 +18840 +18841 +18842 +18843 +18844 +18845 +18846 +18847 +18848 +18849 +18850 +18851 +18852 +18853 +18854 +18855 +18856 +18857 +18858 +18859 +18860 +18861 +18862 +18863 +18864 +18865 +18866 +18867 +18868 +18869 +18870 +18871 +18872 +18873 +18874 +18875 +18876 +18877 +18878 +18879 +18880 +18881 +18882 +18883 +18884 +18885 +18886 +18887 +18888 +18889 +18890 +18891 +18892 +18893 +18894 +18895 +18896 +18897 +18898 +18899 +18900 +18901 +18902 +18903 +18904 +18905 +18906 +18907 +18908 +18909 +18910 +18911 +18912 +18913 +18914 +18915 +18916 +18917 +18918 +18919 +18920 +18921 +18922 +18923 +18924 +18925 +18926 +18927 +18928 +18929 +18930 +18931 +18932 +18933 +18934 +18935 +18936 +18937 +18938 +18939 +18940 +18941 +18942 +18943 +18944 +18945 +18946 +18947 +18948 +18949 +18950 +18951 +18952 +18953 +18954 +18955 +18956 +18957 +18958 +18959 +18960 +18961 +18962 +18963 +18964 +18965 +18966 +18967 +18968 +18969 +18970 +18971 +18972 +18973 +18974 +18975 +18976 +18977 +18978 +18979 +18980 +18981 +18982 +18983 +18984 +18985 +18986 +18987 +18988 +18989 +18990 +18991 +18992 +18993 +18994 +18995 +18996 +18997 +18998 +18999 +19000 +19001 +19002 +19003 +19004 +19005 +19006 +19007 +19008 +19009 +19010 +19011 +19012 +19013 +19014 +19015 +19016 +19017 +19018 +19019 +19020 +19021 +19022 +19023 +19024 +19025 +19026 +19027 +19028 +19029 +19030 +19031 +19032 +19033 +19034 +19035 +19036 +19037 +19038 +19039 +19040 +19041 +19042 +19043 +19044 +19045 +19046 +19047 +19048 +19049 +19050 +19051 +19052 +19053 +19054 +19055 +19056 +19057 +19058 +19059 +19060 +19061 +19062 +19063 +19064 +19065 +19066 +19067 +19068 +19069 +19070 +19071 +19072 +19073 +19074 +19075 +19076 +19077 +19078 +19079 +19080 +19081 +19082 +19083 +19084 +19085 +19086 +19087 +19088 +19089 +19090 +19091 +19092 +19093 +19094 +19095 +19096 +19097 +19098 +19099 +19100 +19101 +19102 +19103 +19104 +19105 +19106 +19107 +19108 +19109 +19110 +19111 +19112 +19113 +19114 +19115 +19116 +19117 +19118 +19119 +19120 +19121 +19122 +19123 +19124 +19125 +19126 +19127 +19128 +19129 +19130 +19131 +19132 +19133 +19134 +19135 +19136 +19137 +19138 +19139 +19140 +19141 +19142 +19143 +19144 +19145 +19146 +19147 +19148 +19149 +19150 +19151 +19152 +19153 +19154 +19155 +19156 +19157 +19158 +19159 +19160 +19161 +19162 +19163 +19164 +19165 +19166 +19167 +19168 +19169 +19170 +19171 +19172 +19173 +19174 +19175 +19176 +19177 +19178 +19179 +19180 +19181 +19182 +19183 +19184 +19185 +19186 +19187 +19188 +19189 +19190 +19191 +19192 +19193 +19194 +19195 +19196 +19197 +19198 +19199 +19200 +19201 +19202 +19203 +19204 +19205 +19206 +19207 +19208 +19209 +19210 +19211 +19212 +19213 +19214 +19215 +19216 +19217 +19218 +19219 +19220 +19221 +19222 +19223 +19224 +19225 +19226 +19227 +19228 +19229 +19230 +19231 +19232 +19233 +19234 +19235 +19236 +19237 +19238 +19239 +19240 +19241 +19242 +19243 +19244 +19245 +19246 +19247 +19248 +19249 +19250 +19251 +19252 +19253 +19254 +19255 +19256 +19257 +19258 +19259 +19260 +19261 +19262 +19263 +19264 +19265 +19266 +19267 +19268 +19269 +19270 +19271 +19272 +19273 +19274 +19275 +19276 +19277 +19278 +19279 +19280 +19281 +19282 +19283 +19284 +19285 +19286 +19287 +19288 +19289 +19290 +19291 +19292 +19293 +19294 +19295 +19296 +19297 +19298 +19299 +19300 +19301 +19302 +19303 +19304 +19305 +19306 +19307 +19308 +19309 +19310 +19311 +19312 +19313 +19314 +19315 +19316 +19317 +19318 +19319 +19320 +19321 +19322 +19323 +19324 +19325 +19326 +19327 +19328 +19329 +19330 +19331 +19332 +19333 +19334 +19335 +19336 +19337 +19338 +19339 +19340 +19341 +19342 +19343 +19344 +19345 +19346 +19347 +19348 +19349 +19350 +19351 +19352 +19353 +19354 +19355 +19356 +19357 +19358 +19359 +19360 +19361 +19362 +19363 +19364 +19365 +19366 +19367 +19368 +19369 +19370 +19371 +19372 +19373 +19374 +19375 +19376 +19377 +19378 +19379 +19380 +19381 +19382 +19383 +19384 +19385 +19386 +19387 +19388 +19389 +19390 +19391 +19392 +19393 +19394 +19395 +19396 +19397 +19398 +19399 +19400 +19401 +19402 +19403 +19404 +19405 +19406 +19407 +19408 +19409 +19410 +19411 +19412 +19413 +19414 +19415 +19416 +19417 +19418 +19419 +19420 +19421 +19422 +19423 +19424 +19425 +19426 +19427 +19428 +19429 +19430 +19431 +19432 +19433 +19434 +19435 +19436 +19437 +19438 +19439 +19440 +19441 +19442 +19443 +19444 +19445 +19446 +19447 +19448 +19449 +19450 +19451 +19452 +19453 +19454 +19455 +19456 +19457 +19458 +19459 +19460 +19461 +19462 +19463 +19464 +19465 +19466 +19467 +19468 +19469 +19470 +19471 +19472 +19473 +19474 +19475 +19476 +19477 +19478 +19479 +19480 +19481 +19482 +19483 +19484 +19485 +19486 +19487 +19488 +19489 +19490 +19491 +19492 +19493 +19494 +19495 +19496 +19497 +19498 +19499 +19500 +19501 +19502 +19503 +19504 +19505 +19506 +19507 +19508 +19509 +19510 +19511 +19512 +19513 +19514 +19515 +19516 +19517 +19518 +19519 +19520 +19521 +19522 +19523 +19524 +19525 +19526 +19527 +19528 +19529 +19530 +19531 +19532 +19533 +19534 +19535 +19536 +19537 +19538 +19539 +19540 +19541 +19542 +19543 +19544 +19545 +19546 +19547 +19548 +19549 +19550 +19551 +19552 +19553 +19554 +19555 +19556 +19557 +19558 +19559 +19560 +19561 +19562 +19563 +19564 +19565 +19566 +19567 +19568 +19569 +19570 +19571 +19572 +19573 +19574 +19575 +19576 +19577 +19578 +19579 +19580 +19581 +19582 +19583 +19584 +19585 +19586 +19587 +19588 +19589 +19590 +19591 +19592 +19593 +19594 +19595 +19596 +19597 +19598 +19599 +19600 +19601 +19602 +19603 +19604 +19605 +19606 +19607 +19608 +19609 +19610 +19611 +19612 +19613 +19614 +19615 +19616 +19617 +19618 +19619 +19620 +19621 +19622 +19623 +19624 +19625 +19626 +19627 +19628 +19629 +19630 +19631 +19632 +19633 +19634 +19635 +19636 +19637 +19638 +19639 +19640 +19641 +19642 +19643 +19644 +19645 +19646 +19647 +19648 +19649 +19650 +19651 +19652 +19653 +19654 +19655 +19656 +19657 +19658 +19659 +19660 +19661 +19662 +19663 +19664 +19665 +19666 +19667 +19668 +19669 +19670 +19671 +19672 +19673 +19674 +19675 +19676 +19677 +19678 +19679 +19680 +19681 +19682 +19683 +19684 +19685 +19686 +19687 +19688 +19689 +19690 +19691 +19692 +19693 +19694 +19695 +19696 +19697 +19698 +19699 +19700 +19701 +19702 +19703 +19704 +19705 +19706 +19707 +19708 +19709 +19710 +19711 +19712 +19713 +19714 +19715 +19716 +19717 +19718 +19719 +19720 +19721 +19722 +19723 +19724 +19725 +19726 +19727 +19728 +19729 +19730 +19731 +19732 +19733 +19734 +19735 +19736 +19737 +19738 +19739 +19740 +19741 +19742 +19743 +19744 +19745 +19746 +19747 +19748 +19749 +19750 +19751 +19752 +19753 +19754 +19755 +19756 +19757 +19758 +19759 +19760 +19761 +19762 +19763 +19764 +19765 +19766 +19767 +19768 +19769 +19770 +19771 +19772 +19773 +19774 +19775 +19776 +19777 +19778 +19779 +19780 +19781 +19782 +19783 +19784 +19785 +19786 +19787 +19788 +19789 +19790 +19791 +19792 +19793 +19794 +19795 +19796 +19797 +19798 +19799 +19800 +19801 +19802 +19803 +19804 +19805 +19806 +19807 +19808 +19809 +19810 +19811 +19812 +19813 +19814 +19815 +19816 +19817 +19818 +19819 +19820 +19821 +19822 +19823 +19824 +19825 +19826 +19827 +19828 +19829 +19830 +19831 +19832 +19833 +19834 +19835 +19836 +19837 +19838 +19839 +19840 +19841 +19842 +19843 +19844 +19845 +19846 +19847 +19848 +19849 +19850 +19851 +19852 +19853 +19854 +19855 +19856 +19857 +19858 +19859 +19860 +19861 +19862 +19863 +19864 +19865 +19866 +19867 +19868 +19869 +19870 +19871 +19872 +19873 +19874 +19875 +19876 +19877 +19878 +19879 +19880 +19881 +19882 +19883 +19884 +19885 +19886 +19887 +19888 +19889 +19890 +19891 +19892 +19893 +19894 +19895 +19896 +19897 +19898 +19899 +19900 +19901 +19902 +19903 +19904 +19905 +19906 +19907 +19908 +19909 +19910 +19911 +19912 +19913 +19914 +19915 +19916 +19917 +19918 +19919 +19920 +19921 +19922 +19923 +19924 +19925 +19926 +19927 +19928 +19929 +19930 +19931 +19932 +19933 +19934 +19935 +19936 +19937 +19938 +19939 +19940 +19941 +19942 +19943 +19944 +19945 +19946 +19947 +19948 +19949 +19950 +19951 +19952 +19953 +19954 +19955 +19956 +19957 +19958 +19959 +19960 +19961 +19962 +19963 +19964 +19965 +19966 +19967 +19968 +19969 +19970 +19971 +19972 +19973 +19974 +19975 +19976 +19977 +19978 +19979 +19980 +19981 +19982 +19983 +19984 +19985 +19986 +19987 +19988 +19989 +19990 +19991 +19992 +19993 +19994 +19995 +19996 +19997 +19998 +19999 +20000 +20001 +20002 +20003 +20004 +20005 +20006 +20007 +20008 +20009 +20010 +20011 +20012 +20013 +20014 +20015 +20016 +20017 +20018 +20019 +20020 +20021 +20022 +20023 +20024 +20025 +20026 +20027 +20028 +20029 +20030 +20031 +20032 +20033 +20034 +20035 +20036 +20037 +20038 +20039 +20040 +20041 +20042 +20043 +20044 +20045 +20046 +20047 +20048 +20049 +20050 +20051 +20052 +20053 +20054 +20055 +20056 +20057 +20058 +20059 +20060 +20061 +20062 +20063 +20064 +20065 +20066 +20067 +20068 +20069 +20070 +20071 +20072 +20073 +20074 +20075 +20076 +20077 +20078 +20079 +20080 +20081 +20082 +20083 +20084 +20085 +20086 +20087 +20088 +20089 +20090 +20091 +20092 +20093 +20094 +20095 +20096 +20097 +20098 +20099 +20100 +20101 +20102 +20103 +20104 +20105 +20106 +20107 +20108 +20109 +20110 +20111 +20112 +20113 +20114 +20115 +20116 +20117 +20118 +20119 +20120 +20121 +20122 +20123 +20124 +20125 +20126 +20127 +20128 +20129 +20130 +20131 +20132 +20133 +20134 +20135 +20136 +20137 +20138 +20139 +20140 +20141 +20142 +20143 +20144 +20145 +20146 +20147 +20148 +20149 +20150 +20151 +20152 +20153 +20154 +20155 +20156 +20157 +20158 +20159 +20160 +20161 +20162 +20163 +20164 +20165 +20166 +20167 +20168 +20169 +20170 +20171 +20172 +20173 +20174 +20175 +20176 +20177 +20178 +20179 +20180 +20181 +20182 +20183 +20184 +20185 +20186 +20187 +20188 +20189 +20190 +20191 +20192 +20193 +20194 +20195 +20196 +20197 +20198 +20199 +20200 +20201 +20202 +20203 +20204 +20205 +20206 +20207 +20208 +20209 +20210 +20211 +20212 +20213 +20214 +20215 +20216 +20217 +20218 +20219 +20220 +20221 +20222 +20223 +20224 +20225 +20226 +20227 +20228 +20229 +20230 +20231 +20232 +20233 +20234 +20235 +20236 +20237 +20238 +20239 +20240 +20241 +20242 +20243 +20244 +20245 +20246 +20247 +20248 +20249 +20250 +20251 +20252 +20253 +20254 +20255 +20256 +20257 +20258 +20259 +20260 +20261 +20262 +20263 +20264 +20265 +20266 +20267 +20268 +20269 +20270 +20271 +20272 +20273 +20274 +20275 +20276 +20277 +20278 +20279 +20280 +20281 +20282 +20283 +20284 +20285 +20286 +20287 +20288 +20289 +20290 +20291 +20292 +20293 +20294 +20295 +20296 +20297 +20298 +20299 +20300 +20301 +20302 +20303 +20304 +20305 +20306 +20307 +20308 +20309 +20310 +20311 +20312 +20313 +20314 +20315 +20316 +20317 +20318 +20319 +20320 +20321 +20322 +20323 +20324 +20325 +20326 +20327 +20328 +20329 +20330 +20331 +20332 +20333 +20334 +20335 +20336 +20337 +20338 +20339 +20340 +20341 +20342 +20343 +20344 +20345 +20346 +20347 +20348 +20349 +20350 +20351 +20352 +20353 +20354 +20355 +20356 +20357 +20358 +20359 +20360 +20361 +20362 +20363 +20364 +20365 +20366 +20367 +20368 +20369 +20370 +20371 +20372 +20373 +20374 +20375 +20376 +20377 +20378 +20379 +20380 +20381 +20382 +20383 +20384 +20385 +20386 +20387 +20388 +20389 +20390 +20391 +20392 +20393 +20394 +20395 +20396 +20397 +20398 +20399 +20400 +20401 +20402 +20403 +20404 +20405 +20406 +20407 +20408 +20409 +20410 +20411 +20412 +20413 +20414 +20415 +20416 +20417 +20418 +20419 +20420 +20421 +20422 +20423 +20424 +20425 +20426 +20427 +20428 +20429 +20430 +20431 +20432 +20433 +20434 +20435 +20436 +20437 +20438 +20439 +20440 +20441 +20442 +20443 +20444 +20445 +20446 +20447 +20448 +20449 +20450 +20451 +20452 +20453 +20454 +20455 +20456 +20457 +20458 +20459 +20460 +20461 +20462 +20463 +20464 +20465 +20466 +20467 +20468 +20469 +20470 +20471 +20472 +20473 +20474 +20475 +20476 +20477 +20478 +20479 +20480 +20481 +20482 +20483 +20484 +20485 +20486 +20487 +20488 +20489 +20490 +20491 +20492 +20493 +20494 +20495 +20496 +20497 +20498 +20499 +20500 +20501 +20502 +20503 +20504 +20505 +20506 +20507 +20508 +20509 +20510 +20511 +20512 +20513 +20514 +20515 +20516 +20517 +20518 +20519 +20520 +20521 +20522 +20523 +20524 +20525 +20526 +20527 +20528 +20529 +20530 +20531 +20532 +20533 +20534 +20535 +20536 +20537 +20538 +20539 +20540 +20541 +20542 +20543 +20544 +20545 +20546 +20547 +20548 +20549 +20550 +20551 +20552 +20553 +20554 +20555 +20556 +20557 +20558 +20559 +20560 +20561 +20562 +20563 +20564 +20565 +20566 +20567 +20568 +20569 +20570 +20571 +20572 +20573 +20574 +20575 +20576 +20577 +20578 +20579 +20580 +20581 +20582 +20583 +20584 +20585 +20586 +20587 +20588 +20589 +20590 +20591 +20592 +20593 +20594 +20595 +20596 +20597 +20598 +20599 +20600 +20601 +20602 +20603 +20604 +20605 +20606 +20607 +20608 +20609 +20610 +20611 +20612 +20613 +20614 +20615 +20616 +20617 +20618 +20619 +20620 +20621 +20622 +20623 +20624 +20625 +20626 +20627 +20628 +20629 +20630 +20631 +20632 +20633 +20634 +20635 +20636 +20637 +20638 +20639 +20640 +20641 +20642 +20643 +20644 +20645 +20646 +20647 +20648 +20649 +20650 +20651 +20652 +20653 +20654 +20655 +20656 +20657 +20658 +20659 +20660 +20661 +20662 +20663 +20664 +20665 +20666 +20667 +20668 +20669 +20670 +20671 +20672 +20673 +20674 +20675 +20676 +20677 +20678 +20679 +20680 +20681 +20682 +20683 +20684 +20685 +20686 +20687 +20688 +20689 +20690 +20691 +20692 +20693 +20694 +20695 +20696 +20697 +20698 +20699 +20700 +20701 +20702 +20703 +20704 +20705 +20706 +20707 +20708 +20709 +20710 +20711 +20712 +20713 +20714 +20715 +20716 +20717 +20718 +20719 +20720 +20721 +20722 +20723 +20724 +20725 +20726 +20727 +20728 +20729 +20730 +20731 +20732 +20733 +20734 +20735 +20736 +20737 +20738 +20739 +20740 +20741 +20742 +20743 +20744 +20745 +20746 +20747 +20748 +20749 +20750 +20751 +20752 +20753 +20754 +20755 +20756 +20757 +20758 +20759 +20760 +20761 +20762 +20763 +20764 +20765 +20766 +20767 +20768 +20769 +20770 +20771 +20772 +20773 +20774 +20775 +20776 +20777 +20778 +20779 +20780 +20781 +20782 +20783 +20784 +20785 +20786 +20787 +20788 +20789 +20790 +20791 +20792 +20793 +20794 +20795 +20796 +20797 +20798 +20799 +20800 +20801 +20802 +20803 +20804 +20805 +20806 +20807 +20808 +20809 +20810 +20811 +20812 +20813 +20814 +20815 +20816 +20817 +20818 +20819 +20820 +20821 +20822 +20823 +20824 +20825 +20826 +20827 +20828 +20829 +20830 +20831 +20832 +20833 +20834 +20835 +20836 +20837 +20838 +20839 +20840 +20841 +20842 +20843 +20844 +20845 +20846 +20847 +20848 +20849 +20850 +20851 +20852 +20853 +20854 +20855 +20856 +20857 +20858 +20859 +20860 +20861 +20862 +20863 +20864 +20865 +20866 +20867 +20868 +20869 +20870 +20871 +20872 +20873 +20874 +20875 +20876 +20877 +20878 +20879 +20880 +20881 +20882 +20883 +20884 +20885 +20886 +20887 +20888 +20889 +20890 +20891 +20892 +20893 +20894 +20895 +20896 +20897 +20898 +20899 +20900 +20901 +20902 +20903 +20904 +20905 +20906 +20907 +20908 +20909 +20910 +20911 +20912 +20913 +20914 +20915 +20916 +20917 +20918 +20919 +20920 +20921 +20922 +20923 +20924 +20925 +20926 +20927 +20928 +20929 +20930 +20931 +20932 +20933 +20934 +20935 +20936 +20937 +20938 +20939 +20940 +20941 +20942 +20943 +20944 +20945 +20946 +20947 +20948 +20949 +20950 +20951 +20952 +20953 +20954 +20955 +20956 +20957 +20958 +20959 +20960 +20961 +20962 +20963 +20964 +20965 +20966 +20967 +20968 +20969 +20970 +20971 +20972 +20973 +20974 +20975 +20976 +20977 +20978 +20979 +20980 +20981 +20982 +20983 +20984 +20985 +20986 +20987 +20988 +20989 +20990 +20991 +20992 +20993 +20994 +20995 +20996 +20997 +20998 +20999 +21000 +21001 +21002 +21003 +21004 +21005 +21006 +21007 +21008 +21009 +21010 +21011 +21012 +21013 +21014 +21015 +21016 +21017 +21018 +21019 +21020 +21021 +21022 +21023 +21024 +21025 +21026 +21027 +21028 +21029 +21030 +21031 +21032 +21033 +21034 +21035 +21036 +21037 +21038 +21039 +21040 +21041 +21042 +21043 +21044 +21045 +21046 +21047 +21048 +21049 +21050 +21051 +21052 +21053 +21054 +21055 +21056 +21057 +21058 +21059 +21060 +21061 +21062 +21063 +21064 +21065 +21066 +21067 +21068 +21069 +21070 +21071 +21072 +21073 +21074 +21075 +21076 +21077 +21078 +21079 +21080 +21081 +21082 +21083 +21084 +21085 +21086 +21087 +21088 +21089 +21090 +21091 +21092 +21093 +21094 +21095 +21096 +21097 +21098 +21099 +21100 +21101 +21102 +21103 +21104 +21105 +21106 +21107 +21108 +21109 +21110 +21111 +21112 +21113 +21114 +21115 +21116 +21117 +21118 +21119 +21120 +21121 +21122 +21123 +21124 +21125 +21126 +21127 +21128 +21129 +21130 +21131 +21132 +21133 +21134 +21135 +21136 +21137 +21138 +21139 +21140 +21141 +21142 +21143 +21144 +21145 +21146 +21147 +21148 +21149 +21150 +21151 +21152 +21153 +21154 +21155 +21156 +21157 +21158 +21159 +21160 +21161 +21162 +21163 +21164 +21165 +21166 +21167 +21168 +21169 +21170 +21171 +21172 +21173 +21174 +21175 +21176 +21177 +21178 +21179 +21180 +21181 +21182 +21183 +21184 +21185 +21186 +21187 +21188 +21189 +21190 +21191 +21192 +21193 +21194 +21195 +21196 +21197 +21198 +21199 +21200 +21201 +21202 +21203 +21204 +21205 +21206 +21207 +21208 +21209 +21210 +21211 +21212 +21213 +21214 +21215 +21216 +21217 +21218 +21219 +21220 +21221 +21222 +21223 +21224 +21225 +21226 +21227 +21228 +21229 +21230 +21231 +21232 +21233 +21234 +21235 +21236 +21237 +21238 +21239 +21240 +21241 +21242 +21243 +21244 +21245 +21246 +21247 +21248 +21249 +21250 +21251 +21252 +21253 +21254 +21255 +21256 +21257 +21258 +21259 +21260 +21261 +21262 +21263 +21264 +21265 +21266 +21267 +21268 +21269 +21270 +21271 +21272 +21273 +21274 +21275 +21276 +21277 +21278 +21279 +21280 +21281 +21282 +21283 +21284 +21285 +21286 +21287 +21288 +21289 +21290 +21291 +21292 +21293 +21294 +21295 +21296 +21297 +21298 +21299 +21300 +21301 +21302 +21303 +21304 +21305 +21306 +21307 +21308 +21309 +21310 +21311 +21312 +21313 +21314 +21315 +21316 +21317 +21318 +21319 +21320 +21321 +21322 +21323 +21324 +21325 +21326 +21327 +21328 +21329 +21330 +21331 +21332 +21333 +21334 +21335 +21336 +21337 +21338 +21339 +21340 +21341 +21342 +21343 +21344 +21345 +21346 +21347 +21348 +21349 +21350 +21351 +21352 +21353 +21354 +21355 +21356 +21357 +21358 +21359 +21360 +21361 +21362 +21363 +21364 +21365 +21366 +21367 +21368 +21369 +21370 +21371 +21372 +21373 +21374 +21375 +21376 +21377 +21378 +21379 +21380 +21381 +21382 +21383 +21384 +21385 +21386 +21387 +21388 +21389 +21390 +21391 +21392 +21393 +21394 +21395 +21396 +21397 +21398 +21399 +21400 +21401 +21402 +21403 +21404 +21405 +21406 +21407 +21408 +21409 +21410 +21411 +21412 +21413 +21414 +21415 +21416 +21417 +21418 +21419 +21420 +21421 +21422 +21423 +21424 +21425 +21426 +21427 +21428 +21429 +21430 +21431 +21432 +21433 +21434 +21435 +21436 +21437 +21438 +21439 +21440 +21441 +21442 +21443 +21444 +21445 +21446 +21447 +21448 +21449 +21450 +21451 +21452 +21453 +21454 +21455 +21456 +21457 +21458 +21459 +21460 +21461 +21462 +21463 +21464 +21465 +21466 +21467 +21468 +21469 +21470 +21471 +21472 +21473 +21474 +21475 +21476 +21477 +21478 +21479 +21480 +21481 +21482 +21483 +21484 +21485 +21486 +21487 +21488 +21489 +21490 +21491 +21492 +21493 +21494 +21495 +21496 +21497 +21498 +21499 +21500 +21501 +21502 +21503 +21504 +21505 +21506 +21507 +21508 +21509 +21510 +21511 +21512 +21513 +21514 +21515 +21516 +21517 +21518 +21519 +21520 +21521 +21522 +21523 +21524 +21525 +21526 +21527 +21528 +21529 +21530 +21531 +21532 +21533 +21534 +21535 +21536 +21537 +21538 +21539 +21540 +21541 +21542 +21543 +21544 +21545 +21546 +21547 +21548 +21549 +21550 +21551 +21552 +21553 +21554 +21555 +21556 +21557 +21558 +21559 +21560 +21561 +21562 +21563 +21564 +21565 +21566 +21567 +21568 +21569 +21570 +21571 +21572 +21573 +21574 +21575 +21576 +21577 +21578 +21579 +21580 +21581 +21582 +21583 +21584 +21585 +21586 +21587 +21588 +21589 +21590 +21591 +21592 +21593 +21594 +21595 +21596 +21597 +21598 +21599 +21600 +21601 +21602 +21603 +21604 +21605 +21606 +21607 +21608 +21609 +21610 +21611 +21612 +21613 +21614 +21615 +21616 +21617 +21618 +21619 +21620 +21621 +21622 +21623 +21624 +21625 +21626 +21627 +21628 +21629 +21630 +21631 +21632 +21633 +21634 +21635 +21636 +21637 +21638 +21639 +21640 +21641 +21642 +21643 +21644 +21645 +21646 +21647 +21648 +21649 +21650 +21651 +21652 +21653 +21654 +21655 +21656 +21657 +21658 +21659 +21660 +21661 +21662 +21663 +21664 +21665 +21666 +21667 +21668 +21669 +21670 +21671 +21672 +21673 +21674 +21675 +21676 +21677 +21678 +21679 +21680 +21681 +21682 +21683 +21684 +21685 +21686 +21687 +21688 +21689 +21690 +21691 +21692 +21693 +21694 +21695 +21696 +21697 +21698 +21699 +21700 +21701 +21702 +21703 +21704 +21705 +21706 +21707 +21708 +21709 +21710 +21711 +21712 +21713 +21714 +21715 +21716 +21717 +21718 +21719 +21720 +21721 +21722 +21723 +21724 +21725 +21726 +21727 +21728 +21729 +21730 +21731 +21732 +21733 +21734 +21735 +21736 +21737 +21738 +21739 +21740 +21741 +21742 +21743 +21744 +21745 +21746 +21747 +21748 +21749 +21750 +21751 +21752 +21753 +21754 +21755 +21756 +21757 +21758 +21759 +21760 +21761 +21762 +21763 +21764 +21765 +21766 +21767 +21768 +21769 +21770 +21771 +21772 +21773 +21774 +21775 +21776 +21777 +21778 +21779 +21780 +21781 +21782 +21783 +21784 +21785 +21786 +21787 +21788 +21789 +21790 +21791 +21792 +21793 +21794 +21795 +21796 +21797 +21798 +21799 +21800 +21801 +21802 +21803 +21804 +21805 +21806 +21807 +21808 +21809 +21810 +21811 +21812 +21813 +21814 +21815 +21816 +21817 +21818 +21819 +21820 +21821 +21822 +21823 +21824 +21825 +21826 +21827 +21828 +21829 +21830 +21831 +21832 +21833 +21834 +21835 +21836 +21837 +21838 +21839 +21840 +21841 +21842 +21843 +21844 +21845 +21846 +21847 +21848 +21849 +21850 +21851 +21852 +21853 +21854 +21855 +21856 +21857 +21858 +21859 +21860 +21861 +21862 +21863 +21864 +21865 +21866 +21867 +21868 +21869 +21870 +21871 +21872 +21873 +21874 +21875 +21876 +21877 +21878 +21879 +21880 +21881 +21882 +21883 +21884 +21885 +21886 +21887 +21888 +21889 +21890 +21891 +21892 +21893 +21894 +21895 +21896 +21897 +21898 +21899 +21900 +21901 +21902 +21903 +21904 +21905 +21906 +21907 +21908 +21909 +21910 +21911 +21912 +21913 +21914 +21915 +21916 +21917 +21918 +21919 +21920 +21921 +21922 +21923 +21924 +21925 +21926 +21927 +21928 +21929 +21930 +21931 +21932 +21933 +21934 +21935 +21936 +21937 +21938 +21939 +21940 +21941 +21942 +21943 +21944 +21945 +21946 +21947 +21948 +21949 +21950 +21951 +21952 +21953 +21954 +21955 +21956 +21957 +21958 +21959 +21960 +21961 +21962 +21963 +21964 +21965 +21966 +21967 +21968 +21969 +21970 +21971 +21972 +21973 +21974 +21975 +21976 +21977 +21978 +21979 +21980 +21981 +21982 +21983 +21984 +21985 +21986 +21987 +21988 +21989 +21990 +21991 +21992 +21993 +21994 +21995 +21996 +21997 +21998 +21999 +22000 +22001 +22002 +22003 +22004 +22005 +22006 +22007 +22008 +22009 +22010 +22011 +22012 +22013 +22014 +22015 +22016 +22017 +22018 +22019 +22020 +22021 +22022 +22023 +22024 +22025 +22026 +22027 +22028 +22029 +22030 +22031 +22032 +22033 +22034 +22035 +22036 +22037 +22038 +22039 +22040 +22041 +22042 +22043 +22044 +22045 +22046 +22047 +22048 +22049 +22050 +22051 +22052 +22053 +22054 +22055 +22056 +22057 +22058 +22059 +22060 +22061 +22062 +22063 +22064 +22065 +22066 +22067 +22068 +22069 +22070 +22071 +22072 +22073 +22074 +22075 +22076 +22077 +22078 +22079 +22080 +22081 +22082 +22083 +22084 +22085 +22086 +22087 +22088 +22089 +22090 +22091 +22092 +22093 +22094 +22095 +22096 +22097 +22098 +22099 +22100 +22101 +22102 +22103 +22104 +22105 +22106 +22107 +22108 +22109 +22110 +22111 +22112 +22113 +22114 +22115 +22116 +22117 +22118 +22119 +22120 +22121 +22122 +22123 +22124 +22125 +22126 +22127 +22128 +22129 +22130 +22131 +22132 +22133 +22134 +22135 +22136 +22137 +22138 +22139 +22140 +22141 +22142 +22143 +22144 +22145 +22146 +22147 +22148 +22149 +22150 +22151 +22152 +22153 +22154 +22155 +22156 +22157 +22158 +22159 +22160 +22161 +22162 +22163 +22164 +22165 +22166 +22167 +22168 +22169 +22170 +22171 +22172 +22173 +22174 +22175 +22176 +22177 +22178 +22179 +22180 +22181 +22182 +22183 +22184 +22185 +22186 +22187 +22188 +22189 +22190 +22191 +22192 +22193 +22194 +22195 +22196 +22197 +22198 +22199 +22200 +22201 +22202 +22203 +22204 +22205 +22206 +22207 +22208 +22209 +22210 +22211 +22212 +22213 +22214 +22215 +22216 +22217 +22218 +22219 +22220 +22221 +22222 +22223 +22224 +22225 +22226 +22227 +22228 +22229 +22230 +22231 +22232 +22233 +22234 +22235 +22236 +22237 +22238 +22239 +22240 +22241 +22242 +22243 +22244 +22245 +22246 +22247 +22248 +22249 +22250 +22251 +22252 +22253 +22254 +22255 +22256 +22257 +22258 +22259 +22260 +22261 +22262 +22263 +22264 +22265 +22266 +22267 +22268 +22269 +22270 +22271 +22272 +22273 +22274 +22275 +22276 +22277 +22278 +22279 +22280 +22281 +22282 +22283 +22284 +22285 +22286 +22287 +22288 +22289 +22290 +22291 +22292 +22293 +22294 +22295 +22296 +22297 +22298 +22299 +22300 +22301 +22302 +22303 +22304 +22305 +22306 +22307 +22308 +22309 +22310 +22311 +22312 +22313 +22314 +22315 +22316 +22317 +22318 +22319 +22320 +22321 +22322 +22323 +22324 +22325 +22326 +22327 +22328 +22329 +22330 +22331 +22332 +22333 +22334 +22335 +22336 +22337 +22338 +22339 +22340 +22341 +22342 +22343 +22344 +22345 +22346 +22347 +22348 +22349 +22350 +22351 +22352 +22353 +22354 +22355 +22356 +22357 +22358 +22359 +22360 +22361 +22362 +22363 +22364 +22365 +22366 +22367 +22368 +22369 +22370 +22371 +22372 +22373 +22374 +22375 +22376 +22377 +22378 +22379 +22380 +22381 +22382 +22383 +22384 +22385 +22386 +22387 +22388 +22389 +22390 +22391 +22392 +22393 +22394 +22395 +22396 +22397 +22398 +22399 +22400 +22401 +22402 +22403 +22404 +22405 +22406 +22407 +22408 +22409 +22410 +22411 +22412 +22413 +22414 +22415 +22416 +22417 +22418 +22419 +22420 +22421 +22422 +22423 +22424 +22425 +22426 +22427 +22428 +22429 +22430 +22431 +22432 +22433 +22434 +22435 +22436 +22437 +22438 +22439 +22440 +22441 +22442 +22443 +22444 +22445 +22446 +22447 +22448 +22449 +22450 +22451 +22452 +22453 +22454 +22455 +22456 +22457 +22458 +22459 +22460 +22461 +22462 +22463 +22464 +22465 +22466 +22467 +22468 +22469 +22470 +22471 +22472 +22473 +22474 +22475 +22476 +22477 +22478 +22479 +22480 +22481 +22482 +22483 +22484 +22485 +22486 +22487 +22488 +22489 +22490 +22491 +22492 +22493 +22494 +22495 +22496 +22497 +22498 +22499 +22500 +22501 +22502 +22503 +22504 +22505 +22506 +22507 +22508 +22509 +22510 +22511 +22512 +22513 +22514 +22515 +22516 +22517 +22518 +22519 +22520 +22521 +22522 +22523 +22524 +22525 +22526 +22527 +22528 +22529 +22530 +22531 +22532 +22533 +22534 +22535 +22536 +22537 +22538 +22539 +22540 +22541 +22542 +22543 +22544 +22545 +22546 +22547 +22548 +22549 +22550 +22551 +22552 +22553 +22554 +22555 +22556 +22557 +22558 +22559 +22560 +22561 +22562 +22563 +22564 +22565 +22566 +22567 +22568 +22569 +22570 +22571 +22572 +22573 +22574 +22575 +22576 +22577 +22578 +22579 +22580 +22581 +22582 +22583 +22584 +22585 +22586 +22587 +22588 +22589 +22590 +22591 +22592 +22593 +22594 +22595 +22596 +22597 +22598 +22599 +22600 +22601 +22602 +22603 +22604 +22605 +22606 +22607 +22608 +22609 +22610 +22611 +22612 +22613 +22614 +22615 +22616 +22617 +22618 +22619 +22620 +22621 +22622 +22623 +22624 +22625 +22626 +22627 +22628 +22629 +22630 +22631 +22632 +22633 +22634 +22635 +22636 +22637 +22638 +22639 +22640 +22641 +22642 +22643 +22644 +22645 +22646 +22647 +22648 +22649 +22650 +22651 +22652 +22653 +22654 +22655 +22656 +22657 +22658 +22659 +22660 +22661 +22662 +22663 +22664 +22665 +22666 +22667 +22668 +22669 +22670 +22671 +22672 +22673 +22674 +22675 +22676 +22677 +22678 +22679 +22680 +22681 +22682 +22683 +22684 +22685 +22686 +22687 +22688 +22689 +22690 +22691 +22692 +22693 +22694 +22695 +22696 +22697 +22698 +22699 +22700 +22701 +22702 +22703 +22704 +22705 +22706 +22707 +22708 +22709 +22710 +22711 +22712 +22713 +22714 +22715 +22716 +22717 +22718 +22719 +22720 +22721 +22722 +22723 +22724 +22725 +22726 +22727 +22728 +22729 +22730 +22731 +22732 +22733 +22734 +22735 +22736 +22737 +22738 +22739 +22740 +22741 +22742 +22743 +22744 +22745 +22746 +22747 +22748 +22749 +22750 +22751 +22752 +22753 +22754 +22755 +22756 +22757 +22758 +22759 +22760 +22761 +22762 +22763 +22764 +22765 +22766 +22767 +22768 +22769 +22770 +22771 +22772 +22773 +22774 +22775 +22776 +22777 +22778 +22779 +22780 +22781 +22782 +22783 +22784 +22785 +22786 +22787 +22788 +22789 +22790 +22791 +22792 +22793 +22794 +22795 +22796 +22797 +22798 +22799 +22800 +22801 +22802 +22803 +22804 +22805 +22806 +22807 +22808 +22809 +22810 +22811 +22812 +22813 +22814 +22815 +22816 +22817 +22818 +22819 +22820 +22821 +22822 +22823 +22824 +22825 +22826 +22827 +22828 +22829 +22830 +22831 +22832 +22833 +22834 +22835 +22836 +22837 +22838 +22839 +22840 +22841 +22842 +22843 +22844 +22845 +22846 +22847 +22848 +22849 +22850 +22851 +22852 +22853 +22854 +22855 +22856 +22857 +22858 +22859 +22860 +22861 +22862 +22863 +22864 +22865 +22866 +22867 +22868 +22869 +22870 +22871 +22872 +22873 +22874 +22875 +22876 +22877 +22878 +22879 +22880 +22881 +22882 +22883 +22884 +22885 +22886 +22887 +22888 +22889 +22890 +22891 +22892 +22893 +22894 +22895 +22896 +22897 +22898 +22899 +22900 +22901 +22902 +22903 +22904 +22905 +22906 +22907 +22908 +22909 +22910 +22911 +22912 +22913 +22914 +22915 +22916 +22917 +22918 +22919 +22920 +22921 +22922 +22923 +22924 +22925 +22926 +22927 +22928 +22929 +22930 +22931 +22932 +22933 +22934 +22935 +22936 +22937 +22938 +22939 +22940 +22941 +22942 +22943 +22944 +22945 +22946 +22947 +22948 +22949 +22950 +22951 +22952 +22953 +22954 +22955 +22956 +22957 +22958 +22959 +22960 +22961 +22962 +22963 +22964 +22965 +22966 +22967 +22968 +22969 +22970 +22971 +22972 +22973 +22974 +22975 +22976 +22977 +22978 +22979 +22980 +22981 +22982 +22983 +22984 +22985 +22986 +22987 +22988 +22989 +22990 +22991 +22992 +22993 +22994 +22995 +22996 +22997 +22998 +22999 +23000 +23001 +23002 +23003 +23004 +23005 +23006 +23007 +23008 +23009 +23010 +23011 +23012 +23013 +23014 +23015 +23016 +23017 +23018 +23019 +23020 +23021 +23022 +23023 +23024 +23025 +23026 +23027 +23028 +23029 +23030 +23031 +23032 +23033 +23034 +23035 +23036 +23037 +23038 +23039 +23040 +23041 +23042 +23043 +23044 +23045 +23046 +23047 +23048 +23049 +23050 +23051 +23052 +23053 +23054 +23055 +23056 +23057 +23058 +23059 +23060 +23061 +23062 +23063 +23064 +23065 +23066 +23067 +23068 +23069 +23070 +23071 +23072 +23073 +23074 +23075 +23076 +23077 +23078 +23079 +23080 +23081 +23082 +23083 +23084 +23085 +23086 +23087 +23088 +23089 +23090 +23091 +23092 +23093 +23094 +23095 +23096 +23097 +23098 +23099 +23100 +23101 +23102 +23103 +23104 +23105 +23106 +23107 +23108 +23109 +23110 +23111 +23112 +23113 +23114 +23115 +23116 +23117 +23118 +23119 +23120 +23121 +23122 +23123 +23124 +23125 +23126 +23127 +23128 +23129 +23130 +23131 +23132 +23133 +23134 +23135 +23136 +23137 +23138 +23139 +23140 +23141 +23142 +23143 +23144 +23145 +23146 +23147 +23148 +23149 +23150 +23151 +23152 +23153 +23154 +23155 +23156 +23157 +23158 +23159 +23160 +23161 +23162 +23163 +23164 +23165 +23166 +23167 +23168 +23169 +23170 +23171 +23172 +23173 +23174 +23175 +23176 +23177 +23178 +23179 +23180 +23181 +23182 +23183 +23184 +23185 +23186 +23187 +23188 +23189 +23190 +23191 +23192 +23193 +23194 +23195 +23196 +23197 +23198 +23199 +23200 +23201 +23202 +23203 +23204 +23205 +23206 +23207 +23208 +23209 +23210 +23211 +23212 +23213 +23214 +23215 +23216 +23217 +23218 +23219 +23220 +23221 +23222 +23223 +23224 +23225 +23226 +23227 +23228 +23229 +23230 +23231 +23232 +23233 +23234 +23235 +23236 +23237 +23238 +23239 +23240 +23241 +23242 +23243 +23244 +23245 +23246 +23247 +23248 +23249 +23250 +23251 +23252 +23253 +23254 +23255 +23256 +23257 +23258 +23259 +23260 +23261 +23262 +23263 +23264 +23265 +23266 +23267 +23268 +23269 +23270 +23271 +23272 +23273 +23274 +23275 +23276 +23277 +23278 +23279 +23280 +23281 +23282 +23283 +23284 +23285 +23286 +23287 +23288 +23289 +23290 +23291 +23292 +23293 +23294 +23295 +23296 +23297 +23298 +23299 +23300 +23301 +23302 +23303 +23304 +23305 +23306 +23307 +23308 +23309 +23310 +23311 +23312 +23313 +23314 +23315 +23316 +23317 +23318 +23319 +23320 +23321 +23322 +23323 +23324 +23325 +23326 +23327 +23328 +23329 +23330 +23331 +23332 +23333 +23334 +23335 +23336 +23337 +23338 +23339 +23340 +23341 +23342 +23343 +23344 +23345 +23346 +23347 +23348 +23349 +23350 +23351 +23352 +23353 +23354 +23355 +23356 +23357 +23358 +23359 +23360 +23361 +23362 +23363 +23364 +23365 +23366 +23367 +23368 +23369 +23370 +23371 +23372 +23373 +23374 +23375 +23376 +23377 +23378 +23379 +23380 +23381 +23382 +23383 +23384 +23385 +23386 +23387 +23388 +23389 +23390 +23391 +23392 +23393 +23394 +23395 +23396 +23397 +23398 +23399 +23400 +23401 +23402 +23403 +23404 +23405 +23406 +23407 +23408 +23409 +23410 +23411 +23412 +23413 +23414 +23415 +23416 +23417 +23418 +23419 +23420 +23421 +23422 +23423 +23424 +23425 +23426 +23427 +23428 +23429 +23430 +23431 +23432 +23433 +23434 +23435 +23436 +23437 +23438 +23439 +23440 +23441 +23442 +23443 +23444 +23445 +23446 +23447 +23448 +23449 +23450 +23451 +23452 +23453 +23454 +23455 +23456 +23457 +23458 +23459 +23460 +23461 +23462 +23463 +23464 +23465 +23466 +23467 +23468 +23469 +23470 +23471 +23472 +23473 +23474 +23475 +23476 +23477 +23478 +23479 +23480 +23481 +23482 +23483 +23484 +23485 +23486 +23487 +23488 +23489 +23490 +23491 +23492 +23493 +23494 +23495 +23496 +23497 +23498 +23499 +23500 +23501 +23502 +23503 +23504 +23505 +23506 +23507 +23508 +23509 +23510 +23511 +23512 +23513 +23514 +23515 +23516 +23517 +23518 +23519 +23520 +23521 +23522 +23523 +23524 +23525 +23526 +23527 +23528 +23529 +23530 +23531 +23532 +23533 +23534 +23535 +23536 +23537 +23538 +23539 +23540 +23541 +23542 +23543 +23544 +23545 +23546 +23547 +23548 +23549 +23550 +23551 +23552 +23553 +23554 +23555 +23556 +23557 +23558 +23559 +23560 +23561 +23562 +23563 +23564 +23565 +23566 +23567 +23568 +23569 +23570 +23571 +23572 +23573 +23574 +23575 +23576 +23577 +23578 +23579 +23580 +23581 +23582 +23583 +23584 +23585 +23586 +23587 +23588 +23589 +23590 +23591 +23592 +23593 +23594 +23595 +23596 +23597 +23598 +23599 +23600 +23601 +23602 +23603 +23604 +23605 +23606 +23607 +23608 +23609 +23610 +23611 +23612 +23613 +23614 +23615 +23616 +23617 +23618 +23619 +23620 +23621 +23622 +23623 +23624 +23625 +23626 +23627 +23628 +23629 +23630 +23631 +23632 +23633 +23634 +23635 +23636 +23637 +23638 +23639 +23640 +23641 +23642 +23643 +23644 +23645 +23646 +23647 +23648 +23649 +23650 +23651 +23652 +23653 +23654 +23655 +23656 +23657 +23658 +23659 +23660 +23661 +23662 +23663 +23664 +23665 +23666 +23667 +23668 +23669 +23670 +23671 +23672 +23673 +23674 +23675 +23676 +23677 +23678 +23679 +23680 +23681 +23682 +23683 +23684 +23685 +23686 +23687 +23688 +23689 +23690 +23691 +23692 +23693 +23694 +23695 +23696 +23697 +23698 +23699 +23700 +23701 +23702 +23703 +23704 +23705 +23706 +23707 +23708 +23709 +23710 +23711 +23712 +23713 +23714 +23715 +23716 +23717 +23718 +23719 +23720 +23721 +23722 +23723 +23724 +23725 +23726 +23727 +23728 +23729 +23730 +23731 +23732 +23733 +23734 +23735 +23736 +23737 +23738 +23739 +23740 +23741 +23742 +23743 +23744 +23745 +23746 +23747 +23748 +23749 +23750 +23751 +23752 +23753 +23754 +23755 +23756 +23757 +23758 +23759 +23760 +23761 +23762 +23763 +23764 +23765 +23766 +23767 +23768 +23769 +23770 +23771 +23772 +23773 +23774 +23775 +23776 +23777 +23778 +23779 +23780 +23781 +23782 +23783 +23784 +23785 +23786 +23787 +23788 +23789 +23790 +23791 +23792 +23793 +23794 +23795 +23796 +23797 +23798 +23799 +23800 +23801 +23802 +23803 +23804 +23805 +23806 +23807 +23808 +23809 +23810 +23811 +23812 +23813 +23814 +23815 +23816 +23817 +23818 +23819 +23820 +23821 +23822 +23823 +23824 +23825 +23826 +23827 +23828 +23829 +23830 +23831 +23832 +23833 +23834 +23835 +23836 +23837 +23838 +23839 +23840 +23841 +23842 +23843 +23844 +23845 +23846 +23847 +23848 +23849 +23850 +23851 +23852 +23853 +23854 +23855 +23856 +23857 +23858 +23859 +23860 +23861 +23862 +23863 +23864 +23865 +23866 +23867 +23868 +23869 +23870 +23871 +23872 +23873 +23874 +23875 +23876 +23877 +23878 +23879 +23880 +23881 +23882 +23883 +23884 +23885 +23886 +23887 +23888 +23889 +23890 +23891 +23892 +23893 +23894 +23895 +23896 +23897 +23898 +23899 +23900 +23901 +23902 +23903 +23904 +23905 +23906 +23907 +23908 +23909 +23910 +23911 +23912 +23913 +23914 +23915 +23916 +23917 +23918 +23919 +23920 +23921 +23922 +23923 +23924 +23925 +23926 +23927 +23928 +23929 +23930 +23931 +23932 +23933 +23934 +23935 +23936 +23937 +23938 +23939 +23940 +23941 +23942 +23943 +23944 +23945 +23946 +23947 +23948 +23949 +23950 +23951 +23952 +23953 +23954 +23955 +23956 +23957 +23958 +23959 +23960 +23961 +23962 +23963 +23964 +23965 +23966 +23967 +23968 +23969 +23970 +23971 +23972 +23973 +23974 +23975 +23976 +23977 +23978 +23979 +23980 +23981 +23982 +23983 +23984 +23985 +23986 +23987 +23988 +23989 +23990 +23991 +23992 +23993 +23994 +23995 +23996 +23997 +23998 +23999 +24000 +24001 +24002 +24003 +24004 +24005 +24006 +24007 +24008 +24009 +24010 +24011 +24012 +24013 +24014 +24015 +24016 +24017 +24018 +24019 +24020 +24021 +24022 +24023 +24024 +24025 +24026 +24027 +24028 +24029 +24030 +24031 +24032 +24033 +24034 +24035 +24036 +24037 +24038 +24039 +24040 +24041 +24042 +24043 +24044 +24045 +24046 +24047 +24048 +24049 +24050 +24051 +24052 +24053 +24054 +24055 +24056 +24057 +24058 +24059 +24060 +24061 +24062 +24063 +24064 +24065 +24066 +24067 +24068 +24069 +24070 +24071 +24072 +24073 +24074 +24075 +24076 +24077 +24078 +24079 +24080 +24081 +24082 +24083 +24084 +24085 +24086 +24087 +24088 +24089 +24090 +24091 +24092 +24093 +24094 +24095 +24096 +24097 +24098 +24099 +24100 +24101 +24102 +24103 +24104 +24105 +24106 +24107 +24108 +24109 +24110 +24111 +24112 +24113 +24114 +24115 +24116 +24117 +24118 +24119 +24120 +24121 +24122 +24123 +24124 +24125 +24126 +24127 +24128 +24129 +24130 +24131 +24132 +24133 +24134 +24135 +24136 +24137 +24138 +24139 +24140 +24141 +24142 +24143 +24144 +24145 +24146 +24147 +24148 +24149 +24150 +24151 +24152 +24153 +24154 +24155 +24156 +24157 +24158 +24159 +24160 +24161 +24162 +24163 +24164 +24165 +24166 +24167 +24168 +24169 +24170 +24171 +24172 +24173 +24174 +24175 +24176 +24177 +24178 +24179 +24180 +24181 +24182 +24183 +24184 +24185 +24186 +24187 +24188 +24189 +24190 +24191 +24192 +24193 +24194 +24195 +24196 +24197 +24198 +24199 +24200 +24201 +24202 +24203 +24204 +24205 +24206 +24207 +24208 +24209 +24210 +24211 +24212 +24213 +24214 +24215 +24216 +24217 +24218 +24219 +24220 +24221 +24222 +24223 +24224 +24225 +24226 +24227 +24228 +24229 +24230 +24231 +24232 +24233 +24234 +24235 +24236 +24237 +24238 +24239 +24240 +24241 +24242 +24243 +24244 +24245 +24246 +24247 +24248 +24249 +24250 +24251 +24252 +24253 +24254 +24255 +24256 +24257 +24258 +24259 +24260 +24261 +24262 +24263 +24264 +24265 +24266 +24267 +24268 +24269 +24270 +24271 +24272 +24273 +24274 +24275 +24276 +24277 +24278 +24279 +24280 +24281 +24282 +24283 +24284 +24285 +24286 +24287 +24288 +24289 +24290 +24291 +24292 +24293 +24294 +24295 +24296 +24297 +24298 +24299 +24300 +24301 +24302 +24303 +24304 +24305 +24306 +24307 +24308 +24309 +24310 +24311 +24312 +24313 +24314 +24315 +24316 +24317 +24318 +24319 +24320 +24321 +24322 +24323 +24324 +24325 +24326 +24327 +24328 +24329 +24330 +24331 +24332 +24333 +24334 +24335 +24336 +24337 +24338 +24339 +24340 +24341 +24342 +24343 +24344 +24345 +24346 +24347 +24348 +24349 +24350 +24351 +24352 +24353 +24354 +24355 +24356 +24357 +24358 +24359 +24360 +24361 +24362 +24363 +24364 +24365 +24366 +24367 +24368 +24369 +24370 +24371 +24372 +24373 +24374 +24375 +24376 +24377 +24378 +24379 +24380 +24381 +24382 +24383 +24384 +24385 +24386 +24387 +24388 +24389 +24390 +24391 +24392 +24393 +24394 +24395 +24396 +24397 +24398 +24399 +24400 +24401 +24402 +24403 +24404 +24405 +24406 +24407 +24408 +24409 +24410 +24411 +24412 +24413 +24414 +24415 +24416 +24417 +24418 +24419 +24420 +24421 +24422 +24423 +24424 +24425 +24426 +24427 +24428 +24429 +24430 +24431 +24432 +24433 +24434 +24435 +24436 +24437 +24438 +24439 +24440 +24441 +24442 +24443 +24444 +24445 +24446 +24447 +24448 +24449 +24450 +24451 +24452 +24453 +24454 +24455 +24456 +24457 +24458 +24459 +24460 +24461 +24462 +24463 +24464 +24465 +24466 +24467 +24468 +24469 +24470 +24471 +24472 +24473 +24474 +24475 +24476 +24477 +24478 +24479 +24480 +24481 +24482 +24483 +24484 +24485 +24486 +24487 +24488 +24489 +24490 +24491 +24492 +24493 +24494 +24495 +24496 +24497 +24498 +24499 +24500 +24501 +24502 +24503 +24504 +24505 +24506 +24507 +24508 +24509 +24510 +24511 +24512 +24513 +24514 +24515 +24516 +24517 +24518 +24519 +24520 +24521 +24522 +24523 +24524 +24525 +24526 +24527 +24528 +24529 +24530 +24531 +24532 +24533 +24534 +24535 +24536 +24537 +24538 +24539 +24540 +24541 +24542 +24543 +24544 +24545 +24546 +24547 +24548 +24549 +24550 +24551 +24552 +24553 +24554 +24555 +24556 +24557 +24558 +24559 +24560 +24561 +24562 +24563 +24564 +24565 +24566 +24567 +24568 +24569 +24570 +24571 +24572 +24573 +24574 +24575 +24576 +24577 +24578 +24579 +24580 +24581 +24582 +24583 +24584 +24585 +24586 +24587 +24588 +24589 +24590 +24591 +24592 +24593 +24594 +24595 +24596 +24597 +24598 +24599 +24600 +24601 +24602 +24603 +24604 +24605 +24606 +24607 +24608 +24609 +24610 +24611 +24612 +24613 +24614 +24615 +24616 +24617 +24618 +24619 +24620 +24621 +24622 +24623 +24624 +24625 +24626 +24627 +24628 +24629 +24630 +24631 +24632 +24633 +24634 +24635 +24636 +24637 +24638 +24639 +24640 +24641 +24642 +24643 +24644 +24645 +24646 +24647 +24648 +24649 +24650 +24651 +24652 +24653 +24654 +24655 +24656 +24657 +24658 +24659 +24660 +24661 +24662 +24663 +24664 +24665 +24666 +24667 +24668 +24669 +24670 +24671 +24672 +24673 +24674 +24675 +24676 +24677 +24678 +24679 +24680 +24681 +24682 +24683 +24684 +24685 +24686 +24687 +24688 +24689 +24690 +24691 +24692 +24693 +24694 +24695 +24696 +24697 +24698 +24699 +24700 +24701 +24702 +24703 +24704 +24705 +24706 +24707 +24708 +24709 +24710 +24711 +24712 +24713 +24714 +24715 +24716 +24717 +24718 +24719 +24720 +24721 +24722 +24723 +24724 +24725 +24726 +24727 +24728 +24729 +24730 +24731 +24732 +24733 +24734 +24735 +24736 +24737 +24738 +24739 +24740 +24741 +24742 +24743 +24744 +24745 +24746 +24747 +24748 +24749 +24750 +24751 +24752 +24753 +24754 +24755 +24756 +24757 +24758 +24759 +24760 +24761 +24762 +24763 +24764 +24765 +24766 +24767 +24768 +24769 +24770 +24771 +24772 +24773 +24774 +24775 +24776 +24777 +24778 +24779 +24780 +24781 +24782 +24783 +24784 +24785 +24786 +24787 +24788 +24789 +24790 +24791 +24792 +24793 +24794 +24795 +24796 +24797 +24798 +24799 +24800 +24801 +24802 +24803 +24804 +24805 +24806 +24807 +24808 +24809 +24810 +24811 +24812 +24813 +24814 +24815 +24816 +24817 +24818 +24819 +24820 +24821 +24822 +24823 +24824 +24825 +24826 +24827 +24828 +24829 +24830 +24831 +24832 +24833 +24834 +24835 +24836 +24837 +24838 +24839 +24840 +24841 +24842 +24843 +24844 +24845 +24846 +24847 +24848 +24849 +24850 +24851 +24852 +24853 +24854 +24855 +24856 +24857 +24858 +24859 +24860 +24861 +24862 +24863 +24864 +24865 +24866 +24867 +24868 +24869 +24870 +24871 +24872 +24873 +24874 +24875 +24876 +24877 +24878 +24879 +24880 +24881 +24882 +24883 +24884 +24885 +24886 +24887 +24888 +24889 +24890 +24891 +24892 +24893 +24894 +24895 +24896 +24897 +24898 +24899 +24900 +24901 +24902 +24903 +24904 +24905 +24906 +24907 +24908 +24909 +24910 +24911 +24912 +24913 +24914 +24915 +24916 +24917 +24918 +24919 +24920 +24921 +24922 +24923 +24924 +24925 +24926 +24927 +24928 +24929 +24930 +24931 +24932 +24933 +24934 +24935 +24936 +24937 +24938 +24939 +24940 +24941 +24942 +24943 +24944 +24945 +24946 +24947 +24948 +24949 +24950 +24951 +24952 +24953 +24954 +24955 +24956 +24957 +24958 +24959 +24960 +24961 +24962 +24963 +24964 +24965 +24966 +24967 +24968 +24969 +24970 +24971 +24972 +24973 +24974 +24975 +24976 +24977 +24978 +24979 +24980 +24981 +24982 +24983 +24984 +24985 +24986 +24987 +24988 +24989 +24990 +24991 +24992 +24993 +24994 +24995 +24996 +24997 +24998 +24999 +25000 +25001 +25002 +25003 +25004 +25005 +25006 +25007 +25008 +25009 +25010 +25011 +25012 +25013 +25014 +25015 +25016 +25017 +25018 +25019 +25020 +25021 +25022 +25023 +25024 +25025 +25026 +25027 +25028 +25029 +25030 +25031 +25032 +25033 +25034 +25035 +25036 +25037 +25038 +25039 +25040 +25041 +25042 +25043 +25044 +25045 +25046 +25047 +25048 +25049 +25050 +25051 +25052 +25053 +25054 +25055 +25056 +25057 +25058 +25059 +25060 +25061 +25062 +25063 +25064 +25065 +25066 +25067 +25068 +25069 +25070 +25071 +25072 +25073 +25074 +25075 +25076 +25077 +25078 +25079 +25080 +25081 +25082 +25083 +25084 +25085 +25086 +25087 +25088 +25089 +25090 +25091 +25092 +25093 +25094 +25095 +25096 +25097 +25098 +25099 +25100 +25101 +25102 +25103 +25104 +25105 +25106 +25107 +25108 +25109 +25110 +25111 +25112 +25113 +25114 +25115 +25116 +25117 +25118 +25119 +25120 +25121 +25122 +25123 +25124 +25125 +25126 +25127 +25128 +25129 +25130 +25131 +25132 +25133 +25134 +25135 +25136 +25137 +25138 +25139 +25140 +25141 +25142 +25143 +25144 +25145 +25146 +25147 +25148 +25149 +25150 +25151 +25152 +25153 +25154 +25155 +25156 +25157 +25158 +25159 +25160 +25161 +25162 +25163 +25164 +25165 +25166 +25167 +25168 +25169 +25170 +25171 +25172 +25173 +25174 +25175 +25176 +25177 +25178 +25179 +25180 +25181 +25182 +25183 +25184 +25185 +25186 +25187 +25188 +25189 +25190 +25191 +25192 +25193 +25194 +25195 +25196 +25197 +25198 +25199 +25200 +25201 +25202 +25203 +25204 +25205 +25206 +25207 +25208 +25209 +25210 +25211 +25212 +25213 +25214 +25215 +25216 +25217 +25218 +25219 +25220 +25221 +25222 +25223 +25224 +25225 +25226 +25227 +25228 +25229 +25230 +25231 +25232 +25233 +25234 +25235 +25236 +25237 +25238 +25239 +25240 +25241 +25242 +25243 +25244 +25245 +25246 +25247 +25248 +25249 +25250 +25251 +25252 +25253 +25254 +25255 +25256 +25257 +25258 +25259 +25260 +25261 +25262 +25263 +25264 +25265 +25266 +25267 +25268 +25269 +25270 +25271 +25272 +25273 +25274 +25275 +25276 +25277 +25278 +25279 +25280 +25281 +25282 +25283 +25284 +25285 +25286 +25287 +25288 +25289 +25290 +25291 +25292 +25293 +25294 +25295 +25296 +25297 +25298 +25299 +25300 +25301 +25302 +25303 +25304 +25305 +25306 +25307 +25308 +25309 +25310 +25311 +25312 +25313 +25314 +25315 +25316 +25317 +25318 +25319 +25320 +25321 +25322 +25323 +25324 +25325 +25326 +25327 +25328 +25329 +25330 +25331 +25332 +25333 +25334 +25335 +25336 +25337 +25338 +25339 +25340 +25341 +25342 +25343 +25344 +25345 +25346 +25347 +25348 +25349 +25350 +25351 +25352 +25353 +25354 +25355 +25356 +25357 +25358 +25359 +25360 +25361 +25362 +25363 +25364 +25365 +25366 +25367 +25368 +25369 +25370 +25371 +25372 +25373 +25374 +25375 +25376 +25377 +25378 +25379 +25380 +25381 +25382 +25383 +25384 +25385 +25386 +25387 +25388 +25389 +25390 +25391 +25392 +25393 +25394 +25395 +25396 +25397 +25398 +25399 +25400 +25401 +25402 +25403 +25404 +25405 +25406 +25407 +25408 +25409 +25410 +25411 +25412 +25413 +25414 +25415 +25416 +25417 +25418 +25419 +25420 +25421 +25422 +25423 +25424 +25425 +25426 +25427 +25428 +25429 +25430 +25431 +25432 +25433 +25434 +25435 +25436 +25437 +25438 +25439 +25440 +25441 +25442 +25443 +25444 +25445 +25446 +25447 +25448 +25449 +25450 +25451 +25452 +25453 +25454 +25455 +25456 +25457 +25458 +25459 +25460 +25461 +25462 +25463 +25464 +25465 +25466 +25467 +25468 +25469 +25470 +25471 +25472 +25473 +25474 +25475 +25476 +25477 +25478 +25479 +25480 +25481 +25482 +25483 +25484 +25485 +25486 +25487 +25488 +25489 +25490 +25491 +25492 +25493 +25494 +25495 +25496 +25497 +25498 +25499 +25500 +25501 +25502 +25503 +25504 +25505 +25506 +25507 +25508 +25509 +25510 +25511 +25512 +25513 +25514 +25515 +25516 +25517 +25518 +25519 +25520 +25521 +25522 +25523 +25524 +25525 +25526 +25527 +25528 +25529 +25530 +25531 +25532 +25533 +25534 +25535 +25536 +25537 +25538 +25539 +25540 +25541 +25542 +25543 +25544 +25545 +25546 +25547 +25548 +25549 +25550 +25551 +25552 +25553 +25554 +25555 +25556 +25557 +25558 +25559 +25560 +25561 +25562 +25563 +25564 +25565 +25566 +25567 +25568 +25569 +25570 +25571 +25572 +25573 +25574 +25575 +25576 +25577 +25578 +25579 +25580 +25581 +25582 +25583 +25584 +25585 +25586 +25587 +25588 +25589 +25590 +25591 +25592 +25593 +25594 +25595 +25596 +25597 +25598 +25599 +25600 +25601 +25602 +25603 +25604 +25605 +25606 +25607 +25608 +25609 +25610 +25611 +25612 +25613 +25614 +25615 +25616 +25617 +25618 +25619 +25620 +25621 +25622 +25623 +25624 +25625 +25626 +25627 +25628 +25629 +25630 +25631 +25632 +25633 +25634 +25635 +25636 +25637 +25638 +25639 +25640 +25641 +25642 +25643 +25644 +25645 +25646 +25647 +25648 +25649 +25650 +25651 +25652 +25653 +25654 +25655 +25656 +25657 +25658 +25659 +25660 +25661 +25662 +25663 +25664 +25665 +25666 +25667 +25668 +25669 +25670 +25671 +25672 +25673 +25674 +25675 +25676 +25677 +25678 +25679 +25680 +25681 +25682 +25683 +25684 +25685 +25686 +25687 +25688 +25689 +25690 +25691 +25692 +25693 +25694 +25695 +25696 +25697 +25698 +25699 +25700 +25701 +25702 +25703 +25704 +25705 +25706 +25707 +25708 +25709 +25710 +25711 +25712 +25713 +25714 +25715 +25716 +25717 +25718 +25719 +25720 +25721 +25722 +25723 +25724 +25725 +25726 +25727 +25728 +25729 +25730 +25731 +25732 +25733 +25734 +25735 +25736 +25737 +25738 +25739 +25740 +25741 +25742 +25743 +25744 +25745 +25746 +25747 +25748 +25749 +25750 +25751 +25752 +25753 +25754 +25755 +25756 +25757 +25758 +25759 +25760 +25761 +25762 +25763 +25764 +25765 +25766 +25767 +25768 +25769 +25770 +25771 +25772 +25773 +25774 +25775 +25776 +25777 +25778 +25779 +25780 +25781 +25782 +25783 +25784 +25785 +25786 +25787 +25788 +25789 +25790 +25791 +25792 +25793 +25794 +25795 +25796 +25797 +25798 +25799 +25800 +25801 +25802 +25803 +25804 +25805 +25806 +25807 +25808 +25809 +25810 +25811 +25812 +25813 +25814 +25815 +25816 +25817 +25818 +25819 +25820 +25821 +25822 +25823 +25824 +25825 +25826 +25827 +25828 +25829 +25830 +25831 +25832 +25833 +25834 +25835 +25836 +25837 +25838 +25839 +25840 +25841 +25842 +25843 +25844 +25845 +25846 +25847 +25848 +25849 +25850 +25851 +25852 +25853 +25854 +25855 +25856 +25857 +25858 +25859 +25860 +25861 +25862 +25863 +25864 +25865 +25866 +25867 +25868 +25869 +25870 +25871 +25872 +25873 +25874 +25875 +25876 +25877 +25878 +25879 +25880 +25881 +25882 +25883 +25884 +25885 +25886 +25887 +25888 +25889 +25890 +25891 +25892 +25893 +25894 +25895 +25896 +25897 +25898 +25899 +25900 +25901 +25902 +25903 +25904 +25905 +25906 +25907 +25908 +25909 +25910 +25911 +25912 +25913 +25914 +25915 +25916 +25917 +25918 +25919 +25920 +25921 +25922 +25923 +25924 +25925 +25926 +25927 +25928 +25929 +25930 +25931 +25932 +25933 +25934 +25935 +25936 +25937 +25938 +25939 +25940 +25941 +25942 +25943 +25944 +25945 +25946 +25947 +25948 +25949 +25950 +25951 +25952 +25953 +25954 +25955 +25956 +25957 +25958 +25959 +25960 +25961 +25962 +25963 +25964 +25965 +25966 +25967 +25968 +25969 +25970 +25971 +25972 +25973 +25974 +25975 +25976 +25977 +25978 +25979 +25980 +25981 +25982 +25983 +25984 +25985 +25986 +25987 +25988 +25989 +25990 +25991 +25992 +25993 +25994 +25995 +25996 +25997 +25998 +25999 +26000 +26001 +26002 +26003 +26004 +26005 +26006 +26007 +26008 +26009 +26010 +26011 +26012 +26013 +26014 +26015 +26016 +26017 +26018 +26019 +26020 +26021 +26022 +26023 +26024 +26025 +26026 +26027 +26028 +26029 +26030 +26031 +26032 +26033 +26034 +26035 +26036 +26037 +26038 +26039 +26040 +26041 +26042 +26043 +26044 +26045 +26046 +26047 +26048 +26049 +26050 +26051 +26052 +26053 +26054 +26055 +26056 +26057 +26058 +26059 +26060 +26061 +26062 +26063 +26064 +26065 +26066 +26067 +26068 +26069 +26070 +26071 +26072 +26073 +26074 +26075 +26076 +26077 +26078 +26079 +26080 +26081 +26082 +26083 +26084 +26085 +26086 +26087 +26088 +26089 +26090 +26091 +26092 +26093 +26094 +26095 +26096 +26097 +26098 +26099 +26100 +26101 +26102 +26103 +26104 +26105 +26106 +26107 +26108 +26109 +26110 +26111 +26112 +26113 +26114 +26115 +26116 +26117 +26118 +26119 +26120 +26121 +26122 +26123 +26124 +26125 +26126 +26127 +26128 +26129 +26130 +26131 +26132 +26133 +26134 +26135 +26136 +26137 +26138 +26139 +26140 +26141 +26142 +26143 +26144 +26145 +26146 +26147 +26148 +26149 +26150 +26151 +26152 +26153 +26154 +26155 +26156 +26157 +26158 +26159 +26160 +26161 +26162 +26163 +26164 +26165 +26166 +26167 +26168 +26169 +26170 +26171 +26172 +26173 +26174 +26175 +26176 +26177 +26178 +26179 +26180 +26181 +26182 +26183 +26184 +26185 +26186 +26187 +26188 +26189 +26190 +26191 +26192 +26193 +26194 +26195 +26196 +26197 +26198 +26199 +26200 +26201 +26202 +26203 +26204 +26205 +26206 +26207 +26208 +26209 +26210 +26211 +26212 +26213 +26214 +26215 +26216 +26217 +26218 +26219 +26220 +26221 +26222 +26223 +26224 +26225 +26226 +26227 +26228 +26229 +26230 +26231 +26232 +26233 +26234 +26235 +26236 +26237 +26238 +26239 +26240 +26241 +26242 +26243 +26244 +26245 +26246 +26247 +26248 +26249 +26250 +26251 +26252 +26253 +26254 +26255 +26256 +26257 +26258 +26259 +26260 +26261 +26262 +26263 +26264 +26265 +26266 +26267 +26268 +26269 +26270 +26271 +26272 +26273 +26274 +26275 +26276 +26277 +26278 +26279 +26280 +26281 +26282 +26283 +26284 +26285 +26286 +26287 +26288 +26289 +26290 +26291 +26292 +26293 +26294 +26295 +26296 +26297 +26298 +26299 +26300 +26301 +26302 +26303 +26304 +26305 +26306 +26307 +26308 +26309 +26310 +26311 +26312 +26313 +26314 +26315 +26316 +26317 +26318 +26319 +26320 +26321 +26322 +26323 +26324 +26325 +26326 +26327 +26328 +26329 +26330 +26331 +26332 +26333 +26334 +26335 +26336 +26337 +26338 +26339 +26340 +26341 +26342 +26343 +26344 +26345 +26346 +26347 +26348 +26349 +26350 +26351 +26352 +26353 +26354 +26355 +26356 +26357 +26358 +26359 +26360 +26361 +26362 +26363 +26364 +26365 +26366 +26367 +26368 +26369 +26370 +26371 +26372 +26373 +26374 +26375 +26376 +26377 +26378 +26379 +26380 +26381 +26382 +26383 +26384 +26385 +26386 +26387 +26388 +26389 +26390 +26391 +26392 +26393 +26394 +26395 +26396 +26397 +26398 +26399 +26400 +26401 +26402 +26403 +26404 +26405 +26406 +26407 +26408 +26409 +26410 +26411 +26412 +26413 +26414 +26415 +26416 +26417 +26418 +26419 +26420 +26421 +26422 +26423 +26424 +26425 +26426 +26427 +26428 +26429 +26430 +26431 +26432 +26433 +26434 +26435 +26436 +26437 +26438 +26439 +26440 +26441 +26442 +26443 +26444 +26445 +26446 +26447 +26448 +26449 +26450 +26451 +26452 +26453 +26454 +26455 +26456 +26457 +26458 +26459 +26460 +26461 +26462 +26463 +26464 +26465 +26466 +26467 +26468 +26469 +26470 +26471 +26472 +26473 +26474 +26475 +26476 +26477 +26478 +26479 +26480 +26481 +26482 +26483 +26484 +26485 +26486 +26487 +26488 +26489 +26490 +26491 +26492 +26493 +26494 +26495 +26496 +26497 +26498 +26499 +26500 +26501 +26502 +26503 +26504 +26505 +26506 +26507 +26508 +26509 +26510 +26511 +26512 +26513 +26514 +26515 +26516 +26517 +26518 +26519 +26520 +26521 +26522 +26523 +26524 +26525 +26526 +26527 +26528 +26529 +26530 +26531 +26532 +26533 +26534 +26535 +26536 +26537 +26538 +26539 +26540 +26541 +26542 +26543 +26544 +26545 +26546 +26547 +26548 +26549 +26550 +26551 +26552 +26553 +26554 +26555 +26556 +26557 +26558 +26559 +26560 +26561 +26562 +26563 +26564 +26565 +26566 +26567 +26568 +26569 +26570 +26571 +26572 +26573 +26574 +26575 +26576 +26577 +26578 +26579 +26580 +26581 +26582 +26583 +26584 +26585 +26586 +26587 +26588 +26589 +26590 +26591 +26592 +26593 +26594 +26595 +26596 +26597 +26598 +26599 +26600 +26601 +26602 +26603 +26604 +26605 +26606 +26607 +26608 +26609 +26610 +26611 +26612 +26613 +26614 +26615 +26616 +26617 +26618 +26619 +26620 +26621 +26622 +26623 +26624 +26625 +26626 +26627 +26628 +26629 +26630 +26631 +26632 +26633 +26634 +26635 +26636 +26637 +26638 +26639 +26640 +26641 +26642 +26643 +26644 +26645 +26646 +26647 +26648 +26649 +26650 +26651 +26652 +26653 +26654 +26655 +26656 +26657 +26658 +26659 +26660 +26661 +26662 +26663 +26664 +26665 +26666 +26667 +26668 +26669 +26670 +26671 +26672 +26673 +26674 +26675 +26676 +26677 +26678 +26679 +26680 +26681 +26682 +26683 +26684 +26685 +26686 +26687 +26688 +26689 +26690 +26691 +26692 +26693 +26694 +26695 +26696 +26697 +26698 +26699 +26700 +26701 +26702 +26703 +26704 +26705 +26706 +26707 +26708 +26709 +26710 +26711 +26712 +26713 +26714 +26715 +26716 +26717 +26718 +26719 +26720 +26721 +26722 +26723 +26724 +26725 +26726 +26727 +26728 +26729 +26730 +26731 +26732 +26733 +26734 +26735 +26736 +26737 +26738 +26739 +26740 +26741 +26742 +26743 +26744 +26745 +26746 +26747 +26748 +26749 +26750 +26751 +26752 +26753 +26754 +26755 +26756 +26757 +26758 +26759 +26760 +26761 +26762 +26763 +26764 +26765 +26766 +26767 +26768 +26769 +26770 +26771 +26772 +26773 +26774 +26775 +26776 +26777 +26778 +26779 +26780 +26781 +26782 +26783 +26784 +26785 +26786 +26787 +26788 +26789 +26790 +26791 +26792 +26793 +26794 +26795 +26796 +26797 +26798 +26799 +26800 +26801 +26802 +26803 +26804 +26805 +26806 +26807 +26808 +26809 +26810 +26811 +26812 +26813 +26814 +26815 +26816 +26817 +26818 +26819 +26820 +26821 +26822 +26823 +26824 +26825 +26826 +26827 +26828 +26829 +26830 +26831 +26832 +26833 +26834 +26835 +26836 +26837 +26838 +26839 +26840 +26841 +26842 +26843 +26844 +26845 +26846 +26847 +26848 +26849 +26850 +26851 +26852 +26853 +26854 +26855 +26856 +26857 +26858 +26859 +26860 +26861 +26862 +26863 +26864 +26865 +26866 +26867 +26868 +26869 +26870 +26871 +26872 +26873 +26874 +26875 +26876 +26877 +26878 +26879 +26880 +26881 +26882 +26883 +26884 +26885 +26886 +26887 +26888 +26889 +26890 +26891 +26892 +26893 +26894 +26895 +26896 +26897 +26898 +26899 +26900 +26901 +26902 +26903 +26904 +26905 +26906 +26907 +26908 +26909 +26910 +26911 +26912 +26913 +26914 +26915 +26916 +26917 +26918 +26919 +26920 +26921 +26922 +26923 +26924 +26925 +26926 +26927 +26928 +26929 +26930 +26931 +26932 +26933 +26934 +26935 +26936 +26937 +26938 +26939 +26940 +26941 +26942 +26943 +26944 +26945 +26946 +26947 +26948 +26949 +26950 +26951 +26952 +26953 +26954 +26955 +26956 +26957 +26958 +26959 +26960 +26961 +26962 +26963 +26964 +26965 +26966 +26967 +26968 +26969 +26970 +26971 +26972 +26973 +26974 +26975 +26976 +26977 +26978 +26979 +26980 +26981 +26982 +26983 +26984 +26985 +26986 +26987 +26988 +26989 +26990 +26991 +26992 +26993 +26994 +26995 +26996 +26997 +26998 +26999 +27000 +27001 +27002 +27003 +27004 +27005 +27006 +27007 +27008 +27009 +27010 +27011 +27012 +27013 +27014 +27015 +27016 +27017 +27018 +27019 +27020 +27021 +27022 +27023 +27024 +27025 +27026 +27027 +27028 +27029 +27030 +27031 +27032 +27033 +27034 +27035 +27036 +27037 +27038 +27039 +27040 +27041 +27042 +27043 +27044 +27045 +27046 +27047 +27048 +27049 +27050 +27051 +27052 +27053 +27054 +27055 +27056 +27057 +27058 +27059 +27060 +27061 +27062 +27063 +27064 +27065 +27066 +27067 +27068 +27069 +27070 +27071 +27072 +27073 +27074 +27075 +27076 +27077 +27078 +27079 +27080 +27081 +27082 +27083 +27084 +27085 +27086 +27087 +27088 +27089 +27090 +27091 +27092 +27093 +27094 +27095 +27096 +27097 +27098 +27099 +27100 +27101 +27102 +27103 +27104 +27105 +27106 +27107 +27108 +27109 +27110 +27111 +27112 +27113 +27114 +27115 +27116 +27117 +27118 +27119 +27120 +27121 +27122 +27123 +27124 +27125 +27126 +27127 +27128 +27129 +27130 +27131 +27132 +27133 +27134 +27135 +27136 +27137 +27138 +27139 +27140 +27141 +27142 +27143 +27144 +27145 +27146 +27147 +27148 +27149 +27150 +27151 +27152 +27153 +27154 +27155 +27156 +27157 +27158 +27159 +27160 +27161 +27162 +27163 +27164 +27165 +27166 +27167 +27168 +27169 +27170 +27171 +27172 +27173 +27174 +27175 +27176 +27177 +27178 +27179 +27180 +27181 +27182 +27183 +27184 +27185 +27186 +27187 +27188 +27189 +27190 +27191 +27192 +27193 +27194 +27195 +27196 +27197 +27198 +27199 +27200 +27201 +27202 +27203 +27204 +27205 +27206 +27207 +27208 +27209 +27210 +27211 +27212 +27213 +27214 +27215 +27216 +27217 +27218 +27219 +27220 +27221 +27222 +27223 +27224 +27225 +27226 +27227 +27228 +27229 +27230 +27231 +27232 +27233 +27234 +27235 +27236 +27237 +27238 +27239 +27240 +27241 +27242 +27243 +27244 +27245 +27246 +27247 +27248 +27249 +27250 +27251 +27252 +27253 +27254 +27255 +27256 +27257 +27258 +27259 +27260 +27261 +27262 +27263 +27264 +27265 +27266 +27267 +27268 +27269 +27270 +27271 +27272 +27273 +27274 +27275 +27276 +27277 +27278 +27279 +27280 +27281 +27282 +27283 +27284 +27285 +27286 +27287 +27288 +27289 +27290 +27291 +27292 +27293 +27294 +27295 +27296 +27297 +27298 +27299 +27300 +27301 +27302 +27303 +27304 +27305 +27306 +27307 +27308 +27309 +27310 +27311 +27312 +27313 +27314 +27315 +27316 +27317 +27318 +27319 +27320 +27321 +27322 +27323 +27324 +27325 +27326 +27327 +27328 +27329 +27330 +27331 +27332 +27333 +27334 +27335 +27336 +27337 +27338 +27339 +27340 +27341 +27342 +27343 +27344 +27345 +27346 +27347 +27348 +27349 +27350 +27351 +27352 +27353 +27354 +27355 +27356 +27357 +27358 +27359 +27360 +27361 +27362 +27363 +27364 +27365 +27366 +27367 +27368 +27369 +27370 +27371 +27372 +27373 +27374 +27375 +27376 +27377 +27378 +27379 +27380 +27381 +27382 +27383 +27384 +27385 +27386 +27387 +27388 +27389 +27390 +27391 +27392 +27393 +27394 +27395 +27396 +27397 +27398 +27399 +27400 +27401 +27402 +27403 +27404 +27405 +27406 +27407 +27408 +27409 +27410 +27411 +27412 +27413 +27414 +27415 +27416 +27417 +27418 +27419 +27420 +27421 +27422 +27423 +27424 +27425 +27426 +27427 +27428 +27429 +27430 +27431 +27432 +27433 +27434 +27435 +27436 +27437 +27438 +27439 +27440 +27441 +27442 +27443 +27444 +27445 +27446 +27447 +27448 +27449 +27450 +27451 +27452 +27453 +27454 +27455 +27456 +27457 +27458 +27459 +27460 +27461 +27462 +27463 +27464 +27465 +27466 +27467 +27468 +27469 +27470 +27471 +27472 +27473 +27474 +27475 +27476 +27477 +27478 +27479 +27480 +27481 +27482 +27483 +27484 +27485 +27486 +27487 +27488 +27489 +27490 +27491 +27492 +27493 +27494 +27495 +27496 +27497 +27498 +27499 +27500 +27501 +27502 +27503 +27504 +27505 +27506 +27507 +27508 +27509 +27510 +27511 +27512 +27513 +27514 +27515 +27516 +27517 +27518 +27519 +27520 +27521 +27522 +27523 +27524 +27525 +27526 +27527 +27528 +27529 +27530 +27531 +27532 +27533 +27534 +27535 +27536 +27537 +27538 +27539 +27540 +27541 +27542 +27543 +27544 +27545 +27546 +27547 +27548 +27549 +27550 +27551 +27552 +27553 +27554 +27555 +27556 +27557 +27558 +27559 +27560 +27561 +27562 +27563 +27564 +27565 +27566 +27567 +27568 +27569 +27570 +27571 +27572 +27573 +27574 +27575 +27576 +27577 +27578 +27579 +27580 +27581 +27582 +27583 +27584 +27585 +27586 +27587 +27588 +27589 +27590 +27591 +27592 +27593 +27594 +27595 +27596 +27597 +27598 +27599 +27600 +27601 +27602 +27603 +27604 +27605 +27606 +27607 +27608 +27609 +27610 +27611 +27612 +27613 +27614 +27615 +27616 +27617 +27618 +27619 +27620 +27621 +27622 +27623 +27624 +27625 +27626 +27627 +27628 +27629 +27630 +27631 +27632 +27633 +27634 +27635 +27636 +27637 +27638 +27639 +27640 +27641 +27642 +27643 +27644 +27645 +27646 +27647 +27648 +27649 +27650 +27651 +27652 +27653 +27654 +27655 +27656 +27657 +27658 +27659 +27660 +27661 +27662 +27663 +27664 +27665 +27666 +27667 +27668 +27669 +27670 +27671 +27672 +27673 +27674 +27675 +27676 +27677 +27678 +27679 +27680 +27681 +27682 +27683 +27684 +27685 +27686 +27687 +27688 +27689 +27690 +27691 +27692 +27693 +27694 +27695 +27696 +27697 +27698 +27699 +27700 +27701 +27702 +27703 +27704 +27705 +27706 +27707 +27708 +27709 +27710 +27711 +27712 +27713 +27714 +27715 +27716 +27717 +27718 +27719 +27720 +27721 +27722 +27723 +27724 +27725 +27726 +27727 +27728 +27729 +27730 +27731 +27732 +27733 +27734 +27735 +27736 +27737 +27738 +27739 +27740 +27741 +27742 +27743 +27744 +27745 +27746 +27747 +27748 +27749 +27750 +27751 +27752 +27753 +27754 +27755 +27756 +27757 +27758 +27759 +27760 +27761 +27762 +27763 +27764 +27765 +27766 +27767 +27768 +27769 +27770 +27771 +27772 +27773 +27774 +27775 +27776 +27777 +27778 +27779 +27780 +27781 +27782 +27783 +27784 +27785 +27786 +27787 +27788 +27789 +27790 +27791 +27792 +27793 +27794 +27795 +27796 +27797 +27798 +27799 +27800 +27801 +27802 +27803 +27804 +27805 +27806 +27807 +27808 +27809 +27810 +27811 +27812 +27813 +27814 +27815 +27816 +27817 +27818 +27819 +27820 +27821 +27822 +27823 +27824 +27825 +27826 +27827 +27828 +27829 +27830 +27831 +27832 +27833 +27834 +27835 +27836 +27837 +27838 +27839 +27840 +27841 +27842 +27843 +27844 +27845 +27846 +27847 +27848 +27849 +27850 +27851 +27852 +27853 +27854 +27855 +27856 +27857 +27858 +27859 +27860 +27861 +27862 +27863 +27864 +27865 +27866 +27867 +27868 +27869 +27870 +27871 +27872 +27873 +27874 +27875 +27876 +27877 +27878 +27879 +27880 +27881 +27882 +27883 +27884 +27885 +27886 +27887 +27888 +27889 +27890 +27891 +27892 +27893 +27894 +27895 +27896 +27897 +27898 +27899 +27900 +27901 +27902 +27903 +27904 +27905 +27906 +27907 +27908 +27909 +27910 +27911 +27912 +27913 +27914 +27915 +27916 +27917 +27918 +27919 +27920 +27921 +27922 +27923 +27924 +27925 +27926 +27927 +27928 +27929 +27930 +27931 +27932 +27933 +27934 +27935 +27936 +27937 +27938 +27939 +27940 +27941 +27942 +27943 +27944 +27945 +27946 +27947 +27948 +27949 +27950 +27951 +27952 +27953 +27954 +27955 +27956 +27957 +27958 +27959 +27960 +27961 +27962 +27963 +27964 +27965 +27966 +27967 +27968 +27969 +27970 +27971 +27972 +27973 +27974 +27975 +27976 +27977 +27978 +27979 +27980 +27981 +27982 +27983 +27984 +27985 +27986 +27987 +27988 +27989 +27990 +27991 +27992 +27993 +27994 +27995 +27996 +27997 +27998 +27999 +28000 +28001 +28002 +28003 +28004 +28005 +28006 +28007 +28008 +28009 +28010 +28011 +28012 +28013 +28014 +28015 +28016 +28017 +28018 +28019 +28020 +28021 +28022 +28023 +28024 +28025 +28026 +28027 +28028 +28029 +28030 +28031 +28032 +28033 +28034 +28035 +28036 +28037 +28038 +28039 +28040 +28041 +28042 +28043 +28044 +28045 +28046 +28047 +28048 +28049 +28050 +28051 +28052 +28053 +28054 +28055 +28056 +28057 +28058 +28059 +28060 +28061 +28062 +28063 +28064 +28065 +28066 +28067 +28068 +28069 +28070 +28071 +28072 +28073 +28074 +28075 +28076 +28077 +28078 +28079 +28080 +28081 +28082 +28083 +28084 +28085 +28086 +28087 +28088 +28089 +28090 +28091 +28092 +28093 +28094 +28095 +28096 +28097 +28098 +28099 +28100 +28101 +28102 +28103 +28104 +28105 +28106 +28107 +28108 +28109 +28110 +28111 +28112 +28113 +28114 +28115 +28116 +28117 +28118 +28119 +28120 +28121 +28122 +28123 +28124 +28125 +28126 +28127 +28128 +28129 +28130 +28131 +28132 +28133 +28134 +28135 +28136 +28137 +28138 +28139 +28140 +28141 +28142 +28143 +28144 +28145 +28146 +28147 +28148 +28149 +28150 +28151 +28152 +28153 +28154 +28155 +28156 +28157 +28158 +28159 +28160 +28161 +28162 +28163 +28164 +28165 +28166 +28167 +28168 +28169 +28170 +28171 +28172 +28173 +28174 +28175 +28176 +28177 +28178 +28179 +28180 +28181 +28182 +28183 +28184 +28185 +28186 +28187 +28188 +28189 +28190 +28191 +28192 +28193 +28194 +28195 +28196 +28197 +28198 +28199 +28200 +28201 +28202 +28203 +28204 +28205 +28206 +28207 +28208 +28209 +28210 +28211 +28212 +28213 +28214 +28215 +28216 +28217 +28218 +28219 +28220 +28221 +28222 +28223 +28224 +28225 +28226 +28227 +28228 +28229 +28230 +28231 +28232 +28233 +28234 +28235 +28236 +28237 +28238 +28239 +28240 +28241 +28242 +28243 +28244 +28245 +28246 +28247 +28248 +28249 +28250 +28251 +28252 +28253 +28254 +28255 +28256 +28257 +28258 +28259 +28260 +28261 +28262 +28263 +28264 +28265 +28266 +28267 +28268 +28269 +28270 +28271 +28272 +28273 +28274 +28275 +28276 +28277 +28278 +28279 +28280 +28281 +28282 +28283 +28284 +28285 +28286 +28287 +28288 +28289 +28290 +28291 +28292 +28293 +28294 +28295 +28296 +28297 +28298 +28299 +28300 +28301 +28302 +28303 +28304 +28305 +28306 +28307 +28308 +28309 +28310 +28311 +28312 +28313 +28314 +28315 +28316 +28317 +28318 +28319 +28320 +28321 +28322 +28323 +28324 +28325 +28326 +28327 +28328 +28329 +28330 +28331 +28332 +28333 +28334 +28335 +28336 +28337 +28338 +28339 +28340 +28341 +28342 +28343 +28344 +28345 +28346 +28347 +28348 +28349 +28350 +28351 +28352 +28353 +28354 +28355 +28356 +28357 +28358 +28359 +28360 +28361 +28362 +28363 +28364 +28365 +28366 +28367 +28368 +28369 +28370 +28371 +28372 +28373 +28374 +28375 +28376 +28377 +28378 +28379 +28380 +28381 +28382 +28383 +28384 +28385 +28386 +28387 +28388 +28389 +28390 +28391 +28392 +28393 +28394 +28395 +28396 +28397 +28398 +28399 +28400 +28401 +28402 +28403 +28404 +28405 +28406 +28407 +28408 +28409 +28410 +28411 +28412 +28413 +28414 +28415 +28416 +28417 +28418 +28419 +28420 +28421 +28422 +28423 +28424 +28425 +28426 +28427 +28428 +28429 +28430 +28431 +28432 +28433 +28434 +28435 +28436 +28437 +28438 +28439 +28440 +28441 +28442 +28443 +28444 +28445 +28446 +28447 +28448 +28449 +28450 +28451 +28452 +28453 +28454 +28455 +28456 +28457 +28458 +28459 +28460 +28461 +28462 +28463 +28464 +28465 +28466 +28467 +28468 +28469 +28470 +28471 +28472 +28473 +28474 +28475 +28476 +28477 +28478 +28479 +28480 +28481 +28482 +28483 +28484 +28485 +28486 +28487 +28488 +28489 +28490 +28491 +28492 +28493 +28494 +28495 +28496 +28497 +28498 +28499 +28500 +28501 +28502 +28503 +28504 +28505 +28506 +28507 +28508 +28509 +28510 +28511 +28512 +28513 +28514 +28515 +28516 +28517 +28518 +28519 +28520 +28521 +28522 +28523 +28524 +28525 +28526 +28527 +28528 +28529 +28530 +28531 +28532 +28533 +28534 +28535 +28536 +28537 +28538 +28539 +28540 +28541 +28542 +28543 +28544 +28545 +28546 +28547 +28548 +28549 +28550 +28551 +28552 +28553 +28554 +28555 +28556 +28557 +28558 +28559 +28560 +28561 +28562 +28563 +28564 +28565 +28566 +28567 +28568 +28569 +28570 +28571 +28572 +28573 +28574 +28575 +28576 +28577 +28578 +28579 +28580 +28581 +28582 +28583 +28584 +28585 +28586 +28587 +28588 +28589 +28590 +28591 +28592 +28593 +28594 +28595 +28596 +28597 +28598 +28599 +28600 +28601 +28602 +28603 +28604 +28605 +28606 +28607 +28608 +28609 +28610 +28611 +28612 +28613 +28614 +28615 +28616 +28617 +28618 +28619 +28620 +28621 +28622 +28623 +28624 +28625 +28626 +28627 +28628 +28629 +28630 +28631 +28632 +28633 +28634 +28635 +28636 +28637 +28638 +28639 +28640 +28641 +28642 +28643 +28644 +28645 +28646 +28647 +28648 +28649 +28650 +28651 +28652 +28653 +28654 +28655 +28656 +28657 +28658 +28659 +28660 +28661 +28662 +28663 +28664 +28665 +28666 +28667 +28668 +28669 +28670 +28671 +28672 +28673 +28674 +28675 +28676 +28677 +28678 +28679 +28680 +28681 +28682 +28683 +28684 +28685 +28686 +28687 +28688 +28689 +28690 +28691 +28692 +28693 +28694 +28695 +28696 +28697 +28698 +28699 +28700 +28701 +28702 +28703 +28704 +28705 +28706 +28707 +28708 +28709 +28710 +28711 +28712 +28713 +28714 +28715 +28716 +28717 +28718 +28719 +28720 +28721 +28722 +28723 +28724 +28725 +28726 +28727 +28728 +28729 +28730 +28731 +28732 +28733 +28734 +28735 +28736 +28737 +28738 +28739 +28740 +28741 +28742 +28743 +28744 +28745 +28746 +28747 +28748 +28749 +28750 +28751 +28752 +28753 +28754 +28755 +28756 +28757 +28758 +28759 +28760 +28761 +28762 +28763 +28764 +28765 +28766 +28767 +28768 +28769 +28770 +28771 +28772 +28773 +28774 +28775 +28776 +28777 +28778 +28779 +28780 +28781 +28782 +28783 +28784 +28785 +28786 +28787 +28788 +28789 +28790 +28791 +28792 +28793 +28794 +28795 +28796 +28797 +28798 +28799 +28800 +28801 +28802 +28803 +28804 +28805 +28806 +28807 +28808 +28809 +28810 +28811 +28812 +28813 +28814 +28815 +28816 +28817 +28818 +28819 +28820 +28821 +28822 +28823 +28824 +28825 +28826 +28827 +28828 +28829 +28830 +28831 +28832 +28833 +28834 +28835 +28836 +28837 +28838 +28839 +28840 +28841 +28842 +28843 +28844 +28845 +28846 +28847 +28848 +28849 +28850 +28851 +28852 +28853 +28854 +28855 +28856 +28857 +28858 +28859 +28860 +28861 +28862 +28863 +28864 +28865 +28866 +28867 +28868 +28869 +28870 +28871 +28872 +28873 +28874 +28875 +28876 +28877 +28878 +28879 +28880 +28881 +28882 +28883 +28884 +28885 +28886 +28887 +28888 +28889 +28890 +28891 +28892 +28893 +28894 +28895 +28896 +28897 +28898 +28899 +28900 +28901 +28902 +28903 +28904 +28905 +28906 +28907 +28908 +28909 +28910 +28911 +28912 +28913 +28914 +28915 +28916 +28917 +28918 +28919 +28920 +28921 +28922 +28923 +28924 +28925 +28926 +28927 +28928 +28929 +28930 +28931 +28932 +28933 +28934 +28935 +28936 +28937 +28938 +28939 +28940 +28941 +28942 +28943 +28944 +28945 +28946 +28947 +28948 +28949 +28950 +28951 +28952 +28953 +28954 +28955 +28956 +28957 +28958 +28959 +28960 +28961 +28962 +28963 +28964 +28965 +28966 +28967 +28968 +28969 +28970 +28971 +28972 +28973 +28974 +28975 +28976 +28977 +28978 +28979 +28980 +28981 +28982 +28983 +28984 +28985 +28986 +28987 +28988 +28989 +28990 +28991 +28992 +28993 +28994 +28995 +28996 +28997 +28998 +28999 +29000 +29001 +29002 +29003 +29004 +29005 +29006 +29007 +29008 +29009 +29010 +29011 +29012 +29013 +29014 +29015 +29016 +29017 +29018 +29019 +29020 +29021 +29022 +29023 +29024 +29025 +29026 +29027 +29028 +29029 +29030 +29031 +29032 +29033 +29034 +29035 +29036 +29037 +29038 +29039 +29040 +29041 +29042 +29043 +29044 +29045 +29046 +29047 +29048 +29049 +29050 +29051 +29052 +29053 +29054 +29055 +29056 +29057 +29058 +29059 +29060 +29061 +29062 +29063 +29064 +29065 +29066 +29067 +29068 +29069 +29070 +29071 +29072 +29073 +29074 +29075 +29076 +29077 +29078 +29079 +29080 +29081 +29082 +29083 +29084 +29085 +29086 +29087 +29088 +29089 +29090 +29091 +29092 +29093 +29094 +29095 +29096 +29097 +29098 +29099 +29100 +29101 +29102 +29103 +29104 +29105 +29106 +29107 +29108 +29109 +29110 +29111 +29112 +29113 +29114 +29115 +29116 +29117 +29118 +29119 +29120 +29121 +29122 +29123 +29124 +29125 +29126 +29127 +29128 +29129 +29130 +29131 +29132 +29133 +29134 +29135 +29136 +29137 +29138 +29139 +29140 +29141 +29142 +29143 +29144 +29145 +29146 +29147 +29148 +29149 +29150 +29151 +29152 +29153 +29154 +29155 +29156 +29157 +29158 +29159 +29160 +29161 +29162 +29163 +29164 +29165 +29166 +29167 +29168 +29169 +29170 +29171 +29172 +29173 +29174 +29175 +29176 +29177 +29178 +29179 +29180 +29181 +29182 +29183 +29184 +29185 +29186 +29187 +29188 +29189 +29190 +29191 +29192 +29193 +29194 +29195 +29196 +29197 +29198 +29199 +29200 +29201 +29202 +29203 +29204 +29205 +29206 +29207 +29208 +29209 +29210 +29211 +29212 +29213 +29214 +29215 +29216 +29217 +29218 +29219 +29220 +29221 +29222 +29223 +29224 +29225 +29226 +29227 +29228 +29229 +29230 +29231 +29232 +29233 +29234 +29235 +29236 +29237 +29238 +29239 +29240 +29241 +29242 +29243 +29244 +29245 +29246 +29247 +29248 +29249 +29250 +29251 +29252 +29253 +29254 +29255 +29256 +29257 +29258 +29259 +29260 +29261 +29262 +29263 +29264 +29265 +29266 +29267 +29268 +29269 +29270 +29271 +29272 +29273 +29274 +29275 +29276 +29277 +29278 +29279 +29280 +29281 +29282 +29283 +29284 +29285 +29286 +29287 +29288 +29289 +29290 +29291 +29292 +29293 +29294 +29295 +29296 +29297 +29298 +29299 +29300 +29301 +29302 +29303 +29304 +29305 +29306 +29307 +29308 +29309 +29310 +29311 +29312 +29313 +29314 +29315 +29316 +29317 +29318 +29319 +29320 +29321 +29322 +29323 +29324 +29325 +29326 +29327 +29328 +29329 +29330 +29331 +29332 +29333 +29334 +29335 +29336 +29337 +29338 +29339 +29340 +29341 +29342 +29343 +29344 +29345 +29346 +29347 +29348 +29349 +29350 +29351 +29352 +29353 +29354 +29355 +29356 +29357 +29358 +29359 +29360 +29361 +29362 +29363 +29364 +29365 +29366 +29367 +29368 +29369 +29370 +29371 +29372 +29373 +29374 +29375 +29376 +29377 +29378 +29379 +29380 +29381 +29382 +29383 +29384 +29385 +29386 +29387 +29388 +29389 +29390 +29391 +29392 +29393 +29394 +29395 +29396 +29397 +29398 +29399 +29400 +29401 +29402 +29403 +29404 +29405 +29406 +29407 +29408 +29409 +29410 +29411 +29412 +29413 +29414 +29415 +29416 +29417 +29418 +29419 +29420 +29421 +29422 +29423 +29424 +29425 +29426 +29427 +29428 +29429 +29430 +29431 +29432 +29433 +29434 +29435 +29436 +29437 +29438 +29439 +29440 +29441 +29442 +29443 +29444 +29445 +29446 +29447 +29448 +29449 +29450 +29451 +29452 +29453 +29454 +29455 +29456 +29457 +29458 +29459 +29460 +29461 +29462 +29463 +29464 +29465 +29466 +29467 +29468 +29469 +29470 +29471 +29472 +29473 +29474 +29475 +29476 +29477 +29478 +29479 +29480 +29481 +29482 +29483 +29484 +29485 +29486 +29487 +29488 +29489 +29490 +29491 +29492 +29493 +29494 +29495 +29496 +29497 +29498 +29499 +29500 +29501 +29502 +29503 +29504 +29505 +29506 +29507 +29508 +29509 +29510 +29511 +29512 +29513 +29514 +29515 +29516 +29517 +29518 +29519 +29520 +29521 +29522 +29523 +29524 +29525 +29526 +29527 +29528 +29529 +29530 +29531 +29532 +29533 +29534 +29535 +29536 +29537 +29538 +29539 +29540 +29541 +29542 +29543 +29544 +29545 +29546 +29547 +29548 +29549 +29550 +29551 +29552 +29553 +29554 +29555 +29556 +29557 +29558 +29559 +29560 +29561 +29562 +29563 +29564 +29565 +29566 +29567 +29568 +29569 +29570 +29571 +29572 +29573 +29574 +29575 +29576 +29577 +29578 +29579 +29580 +29581 +29582 +29583 +29584 +29585 +29586 +29587 +29588 +29589 +29590 +29591 +29592 +29593 +29594 +29595 +29596 +29597 +29598 +29599 +29600 +29601 +29602 +29603 +29604 +29605 +29606 +29607 +29608 +29609 +29610 +29611 +29612 +29613 +29614 +29615 +29616 +29617 +29618 +29619 +29620 +29621 +29622 +29623 +29624 +29625 +29626 +29627 +29628 +29629 +29630 +29631 +29632 +29633 +29634 +29635 +29636 +29637 +29638 +29639 +29640 +29641 +29642 +29643 +29644 +29645 +29646 +29647 +29648 +29649 +29650 +29651 +29652 +29653 +29654 +29655 +29656 +29657 +29658 +29659 +29660 +29661 +29662 +29663 +29664 +29665 +29666 +29667 +29668 +29669 +29670 +29671 +29672 +29673 +29674 +29675 +29676 +29677 +29678 +29679 +29680 +29681 +29682 +29683 +29684 +29685 +29686 +29687 +29688 +29689 +29690 +29691 +29692 +29693 +29694 +29695 +29696 +29697 +29698 +29699 +29700 +29701 +29702 +29703 +29704 +29705 +29706 +29707 +29708 +29709 +29710 +29711 +29712 +29713 +29714 +29715 +29716 +29717 +29718 +29719 +29720 +29721 +29722 +29723 +29724 +29725 +29726 +29727 +29728 +29729 +29730 +29731 +29732 +29733 +29734 +29735 +29736 +29737 +29738 +29739 +29740 +29741 +29742 +29743 +29744 +29745 +29746 +29747 +29748 +29749 +29750 +29751 +29752 +29753 +29754 +29755 +29756 +29757 +29758 +29759 +29760 +29761 +29762 +29763 +29764 +29765 +29766 +29767 +29768 +29769 +29770 +29771 +29772 +29773 +29774 +29775 +29776 +29777 +29778 +29779 +29780 +29781 +29782 +29783 +29784 +29785 +29786 +29787 +29788 +29789 +29790 +29791 +29792 +29793 +29794 +29795 +29796 +29797 +29798 +29799 +29800 +29801 +29802 +29803 +29804 +29805 +29806 +29807 +29808 +29809 +29810 +29811 +29812 +29813 +29814 +29815 +29816 +29817 +29818 +29819 +29820 +29821 +29822 +29823 +29824 +29825 +29826 +29827 +29828 +29829 +29830 +29831 +29832 +29833 +29834 +29835 +29836 +29837 +29838 +29839 +29840 +29841 +29842 +29843 +29844 +29845 +29846 +29847 +29848 +29849 +29850 +29851 +29852 +29853 +29854 +29855 +29856 +29857 +29858 +29859 +29860 +29861 +29862 +29863 +29864 +29865 +29866 +29867 +29868 +29869 +29870 +29871 +29872 +29873 +29874 +29875 +29876 +29877 +29878 +29879 +29880 +29881 +29882 +29883 +29884 +29885 +29886 +29887 +29888 +29889 +29890 +29891 +29892 +29893 +29894 +29895 +29896 +29897 +29898 +29899 +29900 +29901 +29902 +29903 +29904 +29905 +29906 +29907 +29908 +29909 +29910 +29911 +29912 +29913 +29914 +29915 +29916 +29917 +29918 +29919 +29920 +29921 +29922 +29923 +29924 +29925 +29926 +29927 +29928 +29929 +29930 +29931 +29932 +29933 +29934 +29935 +29936 +29937 +29938 +29939 +29940 +29941 +29942 +29943 +29944 +29945 +29946 +29947 +29948 +29949 +29950 +29951 +29952 +29953 +29954 +29955 +29956 +29957 +29958 +29959 +29960 +29961 +29962 +29963 +29964 +29965 +29966 +29967 +29968 +29969 +29970 +29971 +29972 +29973 +29974 +29975 +29976 +29977 +29978 +29979 +29980 +29981 +29982 +29983 +29984 +29985 +29986 +29987 +29988 +29989 +29990 +29991 +29992 +29993 +29994 +29995 +29996 +29997 +29998 +29999 +30000 +30001 +30002 +30003 +30004 +30005 +30006 +30007 +30008 +30009 +30010 +30011 +30012 +30013 +30014 +30015 +30016 +30017 +30018 +30019 +30020 +30021 +30022 +30023 +30024 +30025 +30026 +30027 +30028 +30029 +30030 +30031 +30032 +30033 +30034 +30035 +30036 +30037 +30038 +30039 +30040 +30041 +30042 +30043 +30044 +30045 +30046 +30047 +30048 +30049 +30050 +30051 +30052 +30053 +30054 +30055 +30056 +30057 +30058 +30059 +30060 +30061 +30062 +30063 +30064 +30065 +30066 +30067 +30068 +30069 +30070 +30071 +30072 +30073 +30074 +30075 +30076 +30077 +30078 +30079 +30080 +30081 +30082 +30083 +30084 +30085 +30086 +30087 +30088 +30089 +30090 +30091 +30092 +30093 +30094 +30095 +30096 +30097 +30098 +30099 +30100 +30101 +30102 +30103 +30104 +30105 +30106 +30107 +30108 +30109 +30110 +30111 +30112 +30113 +30114 +30115 +30116 +30117 +30118 +30119 +30120 +30121 +30122 +30123 +30124 +30125 +30126 +30127 +30128 +30129 +30130 +30131 +30132 +30133 +30134 +30135 +30136 +30137 +30138 +30139 +30140 +30141 +30142 +30143 +30144 +30145 +30146 +30147 +30148 +30149 +30150 +30151 +30152 +30153 +30154 +30155 +30156 +30157 +30158 +30159 +30160 +30161 +30162 +30163 +30164 +30165 +30166 +30167 +30168 +30169 +30170 +30171 +30172 +30173 +30174 +30175 +30176 +30177 +30178 +30179 +30180 +30181 +30182 +30183 +30184 +30185 +30186 +30187 +30188 +30189 +30190 +30191 +30192 +30193 +30194 +30195 +30196 +30197 +30198 +30199 +30200 +30201 +30202 +30203 +30204 +30205 +30206 +30207 +30208 +30209 +30210 +30211 +30212 +30213 +30214 +30215 +30216 +30217 +30218 +30219 +30220 +30221 +30222 +30223 +30224 +30225 +30226 +30227 +30228 +30229 +30230 +30231 +30232 +30233 +30234 +30235 +30236 +30237 +30238 +30239 +30240 +30241 +30242 +30243 +30244 +30245 +30246 +30247 +30248 +30249 +30250 +30251 +30252 +30253 +30254 +30255 +30256 +30257 +30258 +30259 +30260 +30261 +30262 +30263 +30264 +30265 +30266 +30267 +30268 +30269 +30270 +30271 +30272 +30273 +30274 +30275 +30276 +30277 +30278 +30279 +30280 +30281 +30282 +30283 +30284 +30285 +30286 +30287 +30288 +30289 +30290 +30291 +30292 +30293 +30294 +30295 +30296 +30297 +30298 +30299 +30300 +30301 +30302 +30303 +30304 +30305 +30306 +30307 +30308 +30309 +30310 +30311 +30312 +30313 +30314 +30315 +30316 +30317 +30318 +30319 +30320 +30321 +30322 +30323 +30324 +30325 +30326 +30327 +30328 +30329 +30330 +30331 +30332 +30333 +30334 +30335 +30336 +30337 +30338 +30339 +30340 +30341 +30342 +30343 +30344 +30345 +30346 +30347 +30348 +30349 +30350 +30351 +30352 +30353 +30354 +30355 +30356 +30357 +30358 +30359 +30360 +30361 +30362 +30363 +30364 +30365 +30366 +30367 +30368 +30369 +30370 +30371 +30372 +30373 +30374 +30375 +30376 +30377 +30378 +30379 +30380 +30381 +30382 +30383 +30384 +30385 +30386 +30387 +30388 +30389 +30390 +30391 +30392 +30393 +30394 +30395 +30396 +30397 +30398 +30399 +30400 +30401 +30402 +30403 +30404 +30405 +30406 +30407 +30408 +30409 +30410 +30411 +30412 +30413 +30414 +30415 +30416 +30417 +30418 +30419 +30420 +30421 +30422 +30423 +30424 +30425 +30426 +30427 +30428 +30429 +30430 +30431 +30432 +30433 +30434 +30435 +30436 +30437 +30438 +30439 +30440 +30441 +30442 +30443 +30444 +30445 +30446 +30447 +30448 +30449 +30450 +30451 +30452 +30453 +30454 +30455 +30456 +30457 +30458 +30459 +30460 +30461 +30462 +30463 +30464 +30465 +30466 +30467 +30468 +30469 +30470 +30471 +30472 +30473 +30474 +30475 +30476 +30477 +30478 +30479 +30480 +30481 +30482 +30483 +30484 +30485 +30486 +30487 +30488 +30489 +30490 +30491 +30492 +30493 +30494 +30495 +30496 +30497 +30498 +30499 +30500 +30501 +30502 +30503 +30504 +30505 +30506 +30507 +30508 +30509 +30510 +30511 +30512 +30513 +30514 +30515 +30516 +30517 +30518 +30519 +30520 +30521 +30522 +30523 +30524 +30525 +30526 +30527 +30528 +30529 +30530 +30531 +30532 +30533 +30534 +30535 +30536 +30537 +30538 +30539 +30540 +30541 +30542 +30543 +30544 +30545 +30546 +30547 +30548 +30549 +30550 +30551 +30552 +30553 +30554 +30555 +30556 +30557 +30558 +30559 +30560 +30561 +30562 +30563 +30564 +30565 +30566 +30567 +30568 +30569 +30570 +30571 +30572 +30573 +30574 +30575 +30576 +30577 +30578 +30579 +30580 +30581 +30582 +30583 +30584 +30585 +30586 +30587 +30588 +30589 +30590 +30591 +30592 +30593 +30594 +30595 +30596 +30597 +30598 +30599 +30600 +30601 +30602 +30603 +30604 +30605 +30606 +30607 +30608 +30609 +30610 +30611 +30612 +30613 +30614 +30615 +30616 +30617 +30618 +30619 +30620 +30621 +30622 +30623 +30624 +30625 +30626 +30627 +30628 +30629 +30630 +30631 +30632 +30633 +30634 +30635 +30636 +30637 +30638 +30639 +30640 +30641 +30642 +30643 +30644 +30645 +30646 +30647 +30648 +30649 +30650 +30651 +30652 +30653 +30654 +30655 +30656 +30657 +30658 +30659 +30660 +30661 +30662 +30663 +30664 +30665 +30666 +30667 +30668 +30669 +30670 +30671 +30672 +30673 +30674 +30675 +30676 +30677 +30678 +30679 +30680 +30681 +30682 +30683 +30684 +30685 +30686 +30687 +30688 +30689 +30690 +30691 +30692 +30693 +30694 +30695 +30696 +30697 +30698 +30699 +30700 +30701 +30702 +30703 +30704 +30705 +30706 +30707 +30708 +30709 +30710 +30711 +30712 +30713 +30714 +30715 +30716 +30717 +30718 +30719 +30720 +30721 +30722 +30723 +30724 +30725 +30726 +30727 +30728 +30729 +30730 +30731 +30732 +30733 +30734 +30735 +30736 +30737 +30738 +30739 +30740 +30741 +30742 +30743 +30744 +30745 +30746 +30747 +30748 +30749 +30750 +30751 +30752 +30753 +30754 +30755 +30756 +30757 +30758 +30759 +30760 +30761 +30762 +30763 +30764 +30765 +30766 +30767 +30768 +30769 +30770 +30771 +30772 +30773 +30774 +30775 +30776 +30777 +30778 +30779 +30780 +30781 +30782 +30783 +30784 +30785 +30786 +30787 +30788 +30789 +30790 +30791 +30792 +30793 +30794 +30795 +30796 +30797 +30798 +30799 +30800 +30801 +30802 +30803 +30804 +30805 +30806 +30807 +30808 +30809 +30810 +30811 +30812 +30813 +30814 +30815 +30816 +30817 +30818 +30819 +30820 +30821 +30822 +30823 +30824 +30825 +30826 +30827 +30828 +30829 +30830 +30831 +30832 +30833 +30834 +30835 +30836 +30837 +30838 +30839 +30840 +30841 +30842 +30843 +30844 +30845 +30846 +30847 +30848 +30849 +30850 +30851 +30852 +30853 +30854 +30855 +30856 +30857 +30858 +30859 +30860 +30861 +30862 +30863 +30864 +30865 +30866 +30867 +30868 +30869 +30870 +30871 +30872 +30873 +30874 +30875 +30876 +30877 +30878 +30879 +30880 +30881 +30882 +30883 +30884 +30885 +30886 +30887 +30888 +30889 +30890 +30891 +30892 +30893 +30894 +30895 +30896 +30897 +30898 +30899 +30900 +30901 +30902 +30903 +30904 +30905 +30906 +30907 +30908 +30909 +30910 +30911 +30912 +30913 +30914 +30915 +30916 +30917 +30918 +30919 +30920 +30921 +30922 +30923 +30924 +30925 +30926 +30927 +30928 +30929 +30930 +30931 +30932 +30933 +30934 +30935 +30936 +30937 +30938 +30939 +30940 +30941 +30942 +30943 +30944 +30945 +30946 +30947 +30948 +30949 +30950 +30951 +30952 +30953 +30954 +30955 +30956 +30957 +30958 +30959 +30960 +30961 +30962 +30963 +30964 +30965 +30966 +30967 +30968 +30969 +30970 +30971 +30972 +30973 +30974 +30975 +30976 +30977 +30978 +30979 +30980 +30981 +30982 +30983 +30984 +30985 +30986 +30987 +30988 +30989 +30990 +30991 +30992 +30993 +30994 +30995 +30996 +30997 +30998 +30999 +31000 +31001 +31002 +31003 +31004 +31005 +31006 +31007 +31008 +31009 +31010 +31011 +31012 +31013 +31014 +31015 +31016 +31017 +31018 +31019 +31020 +31021 +31022 +31023 +31024 +31025 +31026 +31027 +31028 +31029 +31030 +31031 +31032 +31033 +31034 +31035 +31036 +31037 +31038 +31039 +31040 +31041 +31042 +31043 +31044 +31045 +31046 +31047 +31048 +31049 +31050 +31051 +31052 +31053 +31054 +31055 +31056 +31057 +31058 +31059 +31060 +31061 +31062 +31063 +31064 +31065 +31066 +31067 +31068 +31069 +31070 +31071 +31072 +31073 +31074 +31075 +31076 +31077 +31078 +31079 +31080 +31081 +31082 +31083 +31084 +31085 +31086 +31087 +31088 +31089 +31090 +31091 +31092 +31093 +31094 +31095 +31096 +31097 +31098 +31099 +31100 +31101 +31102 +31103 +31104 +31105 +31106 +31107 +31108 +31109 +31110 +31111 +31112 +31113 +31114 +31115 +31116 +31117 +31118 +31119 +31120 +31121 +31122 +31123 +31124 +31125 +31126 +31127 +31128 +31129 +31130 +31131 +31132 +31133 +31134 +31135 +31136 +31137 +31138 +31139 +31140 +31141 +31142 +31143 +31144 +31145 +31146 +31147 +31148 +31149 +31150 +31151 +31152 +31153 +31154 +31155 +31156 +31157 +31158 +31159 +31160 +31161 +31162 +31163 +31164 +31165 +31166 +31167 +31168 +31169 +31170 +31171 +31172 +31173 +31174 +31175 +31176 +31177 +31178 +31179 +31180 +31181 +31182 +31183 +31184 +31185 +31186 +31187 +31188 +31189 +31190 +31191 +31192 +31193 +31194 +31195 +31196 +31197 +31198 +31199 +31200 +31201 +31202 +31203 +31204 +31205 +31206 +31207 +31208 +31209 +31210 +31211 +31212 +31213 +31214 +31215 +31216 +31217 +31218 +31219 +31220 +31221 +31222 +31223 +31224 +31225 +31226 +31227 +31228 +31229 +31230 +31231 +31232 +31233 +31234 +31235 +31236 +31237 +31238 +31239 +31240 +31241 +31242 +31243 +31244 +31245 +31246 +31247 +31248 +31249 +31250 +31251 +31252 +31253 +31254 +31255 +31256 +31257 +31258 +31259 +31260 +31261 +31262 +31263 +31264 +31265 +31266 +31267 +31268 +31269 +31270 +31271 +31272 +31273 +31274 +31275 +31276 +31277 +31278 +31279 +31280 +31281 +31282 +31283 +31284 +31285 +31286 +31287 +31288 +31289 +31290 +31291 +31292 +31293 +31294 +31295 +31296 +31297 +31298 +31299 +31300 +31301 +31302 +31303 +31304 +31305 +31306 +31307 +31308 +31309 +31310 +31311 +31312 +31313 +31314 +31315 +31316 +31317 +31318 +31319 +31320 +31321 +31322 +31323 +31324 +31325 +31326 +31327 +31328 +31329 +31330 +31331 +31332 +31333 +31334 +31335 +31336 +31337 +31338 +31339 +31340 +31341 +31342 +31343 +31344 +31345 +31346 +31347 +31348 +31349 +31350 +31351 +31352 +31353 +31354 +31355 +31356 +31357 +31358 +31359 +31360 +31361 +31362 +31363 +31364 +31365 +31366 +31367 +31368 +31369 +31370 +31371 +31372 +31373 +31374 +31375 +31376 +31377 +31378 +31379 +31380 +31381 +31382 +31383 +31384 +31385 +31386 +31387 +31388 +31389 +31390 +31391 +31392 +31393 +31394 +31395 +31396 +31397 +31398 +31399 +31400 +31401 +31402 +31403 +31404 +31405 +31406 +31407 +31408 +31409 +31410 +31411 +31412 +31413 +31414 +31415 +31416 +31417 +31418 +31419 +31420 +31421 +31422 +31423 +31424 +31425 +31426 +31427 +31428 +31429 +31430 +31431 +31432 +31433 +31434 +31435 +31436 +31437 +31438 +31439 +31440 +31441 +31442 +31443 +31444 +31445 +31446 +31447 +31448 +31449 +31450 +31451 +31452 +31453 +31454 +31455 +31456 +31457 +31458 +31459 +31460 +31461 +31462 +31463 +31464 +31465 +31466 +31467 +31468 +31469 +31470 +31471 +31472 +31473 +31474 +31475 +31476 +31477 +31478 +31479 +31480 +31481 +31482 +31483 +31484 +31485 +31486 +31487 +31488 +31489 +31490 +31491 +31492 +31493 +31494 +31495 +31496 +31497 +31498 +31499 +31500 +31501 +31502 +31503 +31504 +31505 +31506 +31507 +31508 +31509 +31510 +31511 +31512 +31513 +31514 +31515 +31516 +31517 +31518 +31519 +31520 +31521 +31522 +31523 +31524 +31525 +31526 +31527 +31528 +31529 +31530 +31531 +31532 +31533 +31534 +31535 +31536 +31537 +31538 +31539 +31540 +31541 +31542 +31543 +31544 +31545 +31546 +31547 +31548 +31549 +31550 +31551 +31552 +31553 +31554 +31555 +31556 +31557 +31558 +31559 +31560 +31561 +31562 +31563 +31564 +31565 +31566 +31567 +31568 +31569 +31570 +31571 +31572 +31573 +31574 +31575 +31576 +31577 +31578 +31579 +31580 +31581 +31582 +31583 +31584 +31585 +31586 +31587 +31588 +31589 +31590 +31591 +31592 +31593 +31594 +31595 +31596 +31597 +31598 +31599 +31600 +31601 +31602 +31603 +31604 +31605 +31606 +31607 +31608 +31609 +31610 +31611 +31612 +31613 +31614 +31615 +31616 +31617 +31618 +31619 +31620 +31621 +31622 +31623 +31624 +31625 +31626 +31627 +31628 +31629 +31630 +31631 +31632 +31633 +31634 +31635 +31636 +31637 +31638 +31639 +31640 +31641 +31642 +31643 +31644 +31645 +31646 +31647 +31648 +31649 +31650 +31651 +31652 +31653 +31654 +31655 +31656 +31657 +31658 +31659 +31660 +31661 +31662 +31663 +31664 +31665 +31666 +31667 +31668 +31669 +31670 +31671 +31672 +31673 +31674 +31675 +31676 +31677 +31678 +31679 +31680 +31681 +31682 +31683 +31684 +31685 +31686 +31687 +31688 +31689 +31690 +31691 +31692 +31693 +31694 +31695 +31696 +31697 +31698 +31699 +31700 +31701 +31702 +31703 +31704 +31705 +31706 +31707 +31708 +31709 +31710 +31711 +31712 +31713 +31714 +31715 +31716 +31717 +31718 +31719 +31720 +31721 +31722 +31723 +31724 +31725 +31726 +31727 +31728 +31729 +31730 +31731 +31732 +31733 +31734 +31735 +31736 +31737 +31738 +31739 +31740 +31741 +31742 +31743 +31744 +31745 +31746 +31747 +31748 +31749 +31750 +31751 +31752 +31753 +31754 +31755 +31756 +31757 +31758 +31759 +31760 +31761 +31762 +31763 +31764 +31765 +31766 +31767 +31768 +31769 +31770 +31771 +31772 +31773 +31774 +31775 +31776 +31777 +31778 +31779 +31780 +31781 +31782 +31783 +31784 +31785 +31786 +31787 +31788 +31789 +31790 +31791 +31792 +31793 +31794 +31795 +31796 +31797 +31798 +31799 +31800 +31801 +31802 +31803 +31804 +31805 +31806 +31807 +31808 +31809 +31810 +31811 +31812 +31813 +31814 +31815 +31816 +31817 +31818 +31819 +31820 +31821 +31822 +31823 +31824 +31825 +31826 +31827 +31828 +31829 +31830 +31831 +31832 +31833 +31834 +31835 +31836 +31837 +31838 +31839 +31840 +31841 +31842 +31843 +31844 +31845 +31846 +31847 +31848 +31849 +31850 +31851 +31852 +31853 +31854 +31855 +31856 +31857 +31858 +31859 +31860 +31861 +31862 +31863 +31864 +31865 +31866 +31867 +31868 +31869 +31870 +31871 +31872 +31873 +31874 +31875 +31876 +31877 +31878 +31879 +31880 +31881 +31882 +31883 +31884 +31885 +31886 +31887 +31888 +31889 +31890 +31891 +31892 +31893 +31894 +31895 +31896 +31897 +31898 +31899 +31900 +31901 +31902 +31903 +31904 +31905 +31906 +31907 +31908 +31909 +31910 +31911 +31912 +31913 +31914 +31915 +31916 +31917 +31918 +31919 +31920 +31921 +31922 +31923 +31924 +31925 +31926 +31927 +31928 +31929 +31930 +31931 +31932 +31933 +31934 +31935 +31936 +31937 +31938 +31939 +31940 +31941 +31942 +31943 +31944 +31945 +31946 +31947 +31948 +31949 +31950 +31951 +31952 +31953 +31954 +31955 +31956 +31957 +31958 +31959 +31960 +31961 +31962 +31963 +31964 +31965 +31966 +31967 +31968 +31969 +31970 +31971 +31972 +31973 +31974 +31975 +31976 +31977 +31978 +31979 +31980 +31981 +31982 +31983 +31984 +31985 +31986 +31987 +31988 +31989 +31990 +31991 +31992 +31993 +31994 +31995 +31996 +31997 +31998 +31999 +32000 +32001 +32002 +32003 +32004 +32005 +32006 +32007 +32008 +32009 +32010 +32011 +32012 +32013 +32014 +32015 +32016 +32017 +32018 +32019 +32020 +32021 +32022 +32023 +32024 +32025 +32026 +32027 +32028 +32029 +32030 +32031 +32032 +32033 +32034 +32035 +32036 +32037 +32038 +32039 +32040 +32041 +32042 +32043 +32044 +32045 +32046 +32047 +32048 +32049 +32050 +32051 +32052 +32053 +32054 +32055 +32056 +32057 +32058 +32059 +32060 +32061 +32062 +32063 +32064 +32065 +32066 +32067 +32068 +32069 +32070 +32071 +32072 +32073 +32074 +32075 +32076 +32077 +32078 +32079 +32080 +32081 +32082 +32083 +32084 +32085 +32086 +32087 +32088 +32089 +32090 +32091 +32092 +32093 +32094 +32095 +32096 +32097 +32098 +32099 +32100 +32101 +32102 +32103 +32104 +32105 +32106 +32107 +32108 +32109 +32110 +32111 +32112 +32113 +32114 +32115 +32116 +32117 +32118 +32119 +32120 +32121 +32122 +32123 +32124 +32125 +32126 +32127 +32128 +32129 +32130 +32131 +32132 +32133 +32134 +32135 +32136 +32137 +32138 +32139 +32140 +32141 +32142 +32143 +32144 +32145 +32146 +32147 +32148 +32149 +32150 +32151 +32152 +32153 +32154 +32155 +32156 +32157 +32158 +32159 +32160 +32161 +32162 +32163 +32164 +32165 +32166 +32167 +32168 +32169 +32170 +32171 +32172 +32173 +32174 +32175 +32176 +32177 +32178 +32179 +32180 +32181 +32182 +32183 +32184 +32185 +32186 +32187 +32188 +32189 +32190 +32191 +32192 +32193 +32194 +32195 +32196 +32197 +32198 +32199 +32200 +32201 +32202 +32203 +32204 +32205 +32206 +32207 +32208 +32209 +32210 +32211 +32212 +32213 +32214 +32215 +32216 +32217 +32218 +32219 +32220 +32221 +32222 +32223 +32224 +32225 +32226 +32227 +32228 +32229 +32230 +32231 +32232 +32233 +32234 +32235 +32236 +32237 +32238 +32239 +32240 +32241 +32242 +32243 +32244 +32245 +32246 +32247 +32248 +32249 +32250 +32251 +32252 +32253 +32254 +32255 +32256 +32257 +32258 +32259 +32260 +32261 +32262 +32263 +32264 +32265 +32266 +32267 +32268 +32269 +32270 +32271 +32272 +32273 +32274 +32275 +32276 +32277 +32278 +32279 +32280 +32281 +32282 +32283 +32284 +32285 +32286 +32287 +32288 +32289 +32290 +32291 +32292 +32293 +32294 +32295 +32296 +32297 +32298 +32299 +32300 +32301 +32302 +32303 +32304 +32305 +32306 +32307 +32308 +32309 +32310 +32311 +32312 +32313 +32314 +32315 +32316 +32317 +32318 +32319 +32320 +32321 +32322 +32323 +32324 +32325 +32326 +32327 +32328 +32329 +32330 +32331 +32332 +32333 +32334 +32335 +32336 +32337 +32338 +32339 +32340 +32341 +32342 +32343 +32344 +32345 +32346 +32347 +32348 +32349 +32350 +32351 +32352 +32353 +32354 +32355 +32356 +32357 +32358 +32359 +32360 +32361 +32362 +32363 +32364 +32365 +32366 +32367 +32368 +32369 +32370 +32371 +32372 +32373 +32374 +32375 +32376 +32377 +32378 +32379 +32380 +32381 +32382 +32383 +32384 +32385 +32386 +32387 +32388 +32389 +32390 +32391 +32392 +32393 +32394 +32395 +32396 +32397 +32398 +32399 +32400 +32401 +32402 +32403 +32404 +32405 +32406 +32407 +32408 +32409 +32410 +32411 +32412 +32413 +32414 +32415 +32416 +32417 +32418 +32419 +32420 +32421 +32422 +32423 +32424 +32425 +32426 +32427 +32428 +32429 +32430 +32431 +32432 +32433 +32434 +32435 +32436 +32437 +32438 +32439 +32440 +32441 +32442 +32443 +32444 +32445 +32446 +32447 +32448 +32449 +32450 +32451 +32452 +32453 +32454 +32455 +32456 +32457 +32458 +32459 +32460 +32461 +32462 +32463 +32464 +32465 +32466 +32467 +32468 +32469 +32470 +32471 +32472 +32473 +32474 +32475 +32476 +32477 +32478 +32479 +32480 +32481 +32482 +32483 +32484 +32485 +32486 +32487 +32488 +32489 +32490 +32491 +32492 +32493 +32494 +32495 +32496 +32497 +32498 +32499 +32500 +32501 +32502 +32503 +32504 +32505 +32506 +32507 +32508 +32509 +32510 +32511 +32512 +32513 +32514 +32515 +32516 +32517 +32518 +32519 +32520 +32521 +32522 +32523 +32524 +32525 +32526 +32527 +32528 +32529 +32530 +32531 +32532 +32533 +32534 +32535 +32536 +32537 +32538 +32539 +32540 +32541 +32542 +32543 +32544 +32545 +32546 +32547 +32548 +32549 +32550 +32551 +32552 +32553 +32554 +32555 +32556 +32557 +32558 +32559 +32560 +32561 +32562 +32563 +32564 +32565 +32566 +32567 +32568 +32569 +32570 +32571 +32572 +32573 +32574 +32575 +32576 +32577 +32578 +32579 +32580 +32581 +32582 +32583 +32584 +32585 +32586 +32587 +32588 +32589 +32590 +32591 +32592 +32593 +32594 +32595 +32596 +32597 +32598 +32599 +32600 +32601 +32602 +32603 +32604 +32605 +32606 +32607 +32608 +32609 +32610 +32611 +32612 +32613 +32614 +32615 +32616 +32617 +32618 +32619 +32620 +32621 +32622 +32623 +32624 +32625 +32626 +32627 +32628 +32629 +32630 +32631 +32632 +32633 +32634 +32635 +32636 +32637 +32638 +32639 +32640 +32641 +32642 +32643 +32644 +32645 +32646 +32647 +32648 +32649 +32650 +32651 +32652 +32653 +32654 +32655 +32656 +32657 +32658 +32659 +32660 +32661 +32662 +32663 +32664 +32665 +32666 +32667 +32668 +32669 +32670 +32671 +32672 +32673 +32674 +32675 +32676 +32677 +32678 +32679 +32680 +32681 +32682 +32683 +32684 +32685 +32686 +32687 +32688 +32689 +32690 +32691 +32692 +32693 +32694 +32695 +32696 +32697 +32698 +32699 +32700 +32701 +32702 +32703 +32704 +32705 +32706 +32707 +32708 +32709 +32710 +32711 +32712 +32713 +32714 +32715 +32716 +32717 +32718 +32719 +32720 +32721 +32722 +32723 +32724 +32725 +32726 +32727 +32728 +32729 +32730 +32731 +32732 +32733 +32734 +32735 +32736 +32737 +32738 +32739 +32740 +32741 +32742 +32743 +32744 +32745 +32746 +32747 +32748 +32749 +32750 +32751 +32752 +32753 +32754 +32755 +32756 +32757 +32758 +32759 +32760 +32761 +32762 +32763 +32764 +32765 +32766 +32767 +) + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old new file mode 100644 index 00000000000..b39c920d130 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old @@ -0,0 +1,32789 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class topoSet; + object c0_old; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +32768 +( +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824 +1825 +1826 +1827 +1828 +1829 +1830 +1831 +1832 +1833 +1834 +1835 +1836 +1837 +1838 +1839 +1840 +1841 +1842 +1843 +1844 +1845 +1846 +1847 +1848 +1849 +1850 +1851 +1852 +1853 +1854 +1855 +1856 +1857 +1858 +1859 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +1881 +1882 +1883 +1884 +1885 +1886 +1887 +1888 +1889 +1890 +1891 +1892 +1893 +1894 +1895 +1896 +1897 +1898 +1899 +1900 +1901 +1902 +1903 +1904 +1905 +1906 +1907 +1908 +1909 +1910 +1911 +1912 +1913 +1914 +1915 +1916 +1917 +1918 +1919 +1920 +1921 +1922 +1923 +1924 +1925 +1926 +1927 +1928 +1929 +1930 +1931 +1932 +1933 +1934 +1935 +1936 +1937 +1938 +1939 +1940 +1941 +1942 +1943 +1944 +1945 +1946 +1947 +1948 +1949 +1950 +1951 +1952 +1953 +1954 +1955 +1956 +1957 +1958 +1959 +1960 +1961 +1962 +1963 +1964 +1965 +1966 +1967 +1968 +1969 +1970 +1971 +1972 +1973 +1974 +1975 +1976 +1977 +1978 +1979 +1980 +1981 +1982 +1983 +1984 +1985 +1986 +1987 +1988 +1989 +1990 +1991 +1992 +1993 +1994 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2002 +2003 +2004 +2005 +2006 +2007 +2008 +2009 +2010 +2011 +2012 +2013 +2014 +2015 +2016 +2017 +2018 +2019 +2020 +2021 +2022 +2023 +2024 +2025 +2026 +2027 +2028 +2029 +2030 +2031 +2032 +2033 +2034 +2035 +2036 +2037 +2038 +2039 +2040 +2041 +2042 +2043 +2044 +2045 +2046 +2047 +2048 +2049 +2050 +2051 +2052 +2053 +2054 +2055 +2056 +2057 +2058 +2059 +2060 +2061 +2062 +2063 +2064 +2065 +2066 +2067 +2068 +2069 +2070 +2071 +2072 +2073 +2074 +2075 +2076 +2077 +2078 +2079 +2080 +2081 +2082 +2083 +2084 +2085 +2086 +2087 +2088 +2089 +2090 +2091 +2092 +2093 +2094 +2095 +2096 +2097 +2098 +2099 +2100 +2101 +2102 +2103 +2104 +2105 +2106 +2107 +2108 +2109 +2110 +2111 +2112 +2113 +2114 +2115 +2116 +2117 +2118 +2119 +2120 +2121 +2122 +2123 +2124 +2125 +2126 +2127 +2128 +2129 +2130 +2131 +2132 +2133 +2134 +2135 +2136 +2137 +2138 +2139 +2140 +2141 +2142 +2143 +2144 +2145 +2146 +2147 +2148 +2149 +2150 +2151 +2152 +2153 +2154 +2155 +2156 +2157 +2158 +2159 +2160 +2161 +2162 +2163 +2164 +2165 +2166 +2167 +2168 +2169 +2170 +2171 +2172 +2173 +2174 +2175 +2176 +2177 +2178 +2179 +2180 +2181 +2182 +2183 +2184 +2185 +2186 +2187 +2188 +2189 +2190 +2191 +2192 +2193 +2194 +2195 +2196 +2197 +2198 +2199 +2200 +2201 +2202 +2203 +2204 +2205 +2206 +2207 +2208 +2209 +2210 +2211 +2212 +2213 +2214 +2215 +2216 +2217 +2218 +2219 +2220 +2221 +2222 +2223 +2224 +2225 +2226 +2227 +2228 +2229 +2230 +2231 +2232 +2233 +2234 +2235 +2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246 +2247 +2248 +2249 +2250 +2251 +2252 +2253 +2254 +2255 +2256 +2257 +2258 +2259 +2260 +2261 +2262 +2263 +2264 +2265 +2266 +2267 +2268 +2269 +2270 +2271 +2272 +2273 +2274 +2275 +2276 +2277 +2278 +2279 +2280 +2281 +2282 +2283 +2284 +2285 +2286 +2287 +2288 +2289 +2290 +2291 +2292 +2293 +2294 +2295 +2296 +2297 +2298 +2299 +2300 +2301 +2302 +2303 +2304 +2305 +2306 +2307 +2308 +2309 +2310 +2311 +2312 +2313 +2314 +2315 +2316 +2317 +2318 +2319 +2320 +2321 +2322 +2323 +2324 +2325 +2326 +2327 +2328 +2329 +2330 +2331 +2332 +2333 +2334 +2335 +2336 +2337 +2338 +2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355 +2356 +2357 +2358 +2359 +2360 +2361 +2362 +2363 +2364 +2365 +2366 +2367 +2368 +2369 +2370 +2371 +2372 +2373 +2374 +2375 +2376 +2377 +2378 +2379 +2380 +2381 +2382 +2383 +2384 +2385 +2386 +2387 +2388 +2389 +2390 +2391 +2392 +2393 +2394 +2395 +2396 +2397 +2398 +2399 +2400 +2401 +2402 +2403 +2404 +2405 +2406 +2407 +2408 +2409 +2410 +2411 +2412 +2413 +2414 +2415 +2416 +2417 +2418 +2419 +2420 +2421 +2422 +2423 +2424 +2425 +2426 +2427 +2428 +2429 +2430 +2431 +2432 +2433 +2434 +2435 +2436 +2437 +2438 +2439 +2440 +2441 +2442 +2443 +2444 +2445 +2446 +2447 +2448 +2449 +2450 +2451 +2452 +2453 +2454 +2455 +2456 +2457 +2458 +2459 +2460 +2461 +2462 +2463 +2464 +2465 +2466 +2467 +2468 +2469 +2470 +2471 +2472 +2473 +2474 +2475 +2476 +2477 +2478 +2479 +2480 +2481 +2482 +2483 +2484 +2485 +2486 +2487 +2488 +2489 +2490 +2491 +2492 +2493 +2494 +2495 +2496 +2497 +2498 +2499 +2500 +2501 +2502 +2503 +2504 +2505 +2506 +2507 +2508 +2509 +2510 +2511 +2512 +2513 +2514 +2515 +2516 +2517 +2518 +2519 +2520 +2521 +2522 +2523 +2524 +2525 +2526 +2527 +2528 +2529 +2530 +2531 +2532 +2533 +2534 +2535 +2536 +2537 +2538 +2539 +2540 +2541 +2542 +2543 +2544 +2545 +2546 +2547 +2548 +2549 +2550 +2551 +2552 +2553 +2554 +2555 +2556 +2557 +2558 +2559 +2560 +2561 +2562 +2563 +2564 +2565 +2566 +2567 +2568 +2569 +2570 +2571 +2572 +2573 +2574 +2575 +2576 +2577 +2578 +2579 +2580 +2581 +2582 +2583 +2584 +2585 +2586 +2587 +2588 +2589 +2590 +2591 +2592 +2593 +2594 +2595 +2596 +2597 +2598 +2599 +2600 +2601 +2602 +2603 +2604 +2605 +2606 +2607 +2608 +2609 +2610 +2611 +2612 +2613 +2614 +2615 +2616 +2617 +2618 +2619 +2620 +2621 +2622 +2623 +2624 +2625 +2626 +2627 +2628 +2629 +2630 +2631 +2632 +2633 +2634 +2635 +2636 +2637 +2638 +2639 +2640 +2641 +2642 +2643 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656 +2657 +2658 +2659 +2660 +2661 +2662 +2663 +2664 +2665 +2666 +2667 +2668 +2669 +2670 +2671 +2672 +2673 +2674 +2675 +2676 +2677 +2678 +2679 +2680 +2681 +2682 +2683 +2684 +2685 +2686 +2687 +2688 +2689 +2690 +2691 +2692 +2693 +2694 +2695 +2696 +2697 +2698 +2699 +2700 +2701 +2702 +2703 +2704 +2705 +2706 +2707 +2708 +2709 +2710 +2711 +2712 +2713 +2714 +2715 +2716 +2717 +2718 +2719 +2720 +2721 +2722 +2723 +2724 +2725 +2726 +2727 +2728 +2729 +2730 +2731 +2732 +2733 +2734 +2735 +2736 +2737 +2738 +2739 +2740 +2741 +2742 +2743 +2744 +2745 +2746 +2747 +2748 +2749 +2750 +2751 +2752 +2753 +2754 +2755 +2756 +2757 +2758 +2759 +2760 +2761 +2762 +2763 +2764 +2765 +2766 +2767 +2768 +2769 +2770 +2771 +2772 +2773 +2774 +2775 +2776 +2777 +2778 +2779 +2780 +2781 +2782 +2783 +2784 +2785 +2786 +2787 +2788 +2789 +2790 +2791 +2792 +2793 +2794 +2795 +2796 +2797 +2798 +2799 +2800 +2801 +2802 +2803 +2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883 +2884 +2885 +2886 +2887 +2888 +2889 +2890 +2891 +2892 +2893 +2894 +2895 +2896 +2897 +2898 +2899 +2900 +2901 +2902 +2903 +2904 +2905 +2906 +2907 +2908 +2909 +2910 +2911 +2912 +2913 +2914 +2915 +2916 +2917 +2918 +2919 +2920 +2921 +2922 +2923 +2924 +2925 +2926 +2927 +2928 +2929 +2930 +2931 +2932 +2933 +2934 +2935 +2936 +2937 +2938 +2939 +2940 +2941 +2942 +2943 +2944 +2945 +2946 +2947 +2948 +2949 +2950 +2951 +2952 +2953 +2954 +2955 +2956 +2957 +2958 +2959 +2960 +2961 +2962 +2963 +2964 +2965 +2966 +2967 +2968 +2969 +2970 +2971 +2972 +2973 +2974 +2975 +2976 +2977 +2978 +2979 +2980 +2981 +2982 +2983 +2984 +2985 +2986 +2987 +2988 +2989 +2990 +2991 +2992 +2993 +2994 +2995 +2996 +2997 +2998 +2999 +3000 +3001 +3002 +3003 +3004 +3005 +3006 +3007 +3008 +3009 +3010 +3011 +3012 +3013 +3014 +3015 +3016 +3017 +3018 +3019 +3020 +3021 +3022 +3023 +3024 +3025 +3026 +3027 +3028 +3029 +3030 +3031 +3032 +3033 +3034 +3035 +3036 +3037 +3038 +3039 +3040 +3041 +3042 +3043 +3044 +3045 +3046 +3047 +3048 +3049 +3050 +3051 +3052 +3053 +3054 +3055 +3056 +3057 +3058 +3059 +3060 +3061 +3062 +3063 +3064 +3065 +3066 +3067 +3068 +3069 +3070 +3071 +3072 +3073 +3074 +3075 +3076 +3077 +3078 +3079 +3080 +3081 +3082 +3083 +3084 +3085 +3086 +3087 +3088 +3089 +3090 +3091 +3092 +3093 +3094 +3095 +3096 +3097 +3098 +3099 +3100 +3101 +3102 +3103 +3104 +3105 +3106 +3107 +3108 +3109 +3110 +3111 +3112 +3113 +3114 +3115 +3116 +3117 +3118 +3119 +3120 +3121 +3122 +3123 +3124 +3125 +3126 +3127 +3128 +3129 +3130 +3131 +3132 +3133 +3134 +3135 +3136 +3137 +3138 +3139 +3140 +3141 +3142 +3143 +3144 +3145 +3146 +3147 +3148 +3149 +3150 +3151 +3152 +3153 +3154 +3155 +3156 +3157 +3158 +3159 +3160 +3161 +3162 +3163 +3164 +3165 +3166 +3167 +3168 +3169 +3170 +3171 +3172 +3173 +3174 +3175 +3176 +3177 +3178 +3179 +3180 +3181 +3182 +3183 +3184 +3185 +3186 +3187 +3188 +3189 +3190 +3191 +3192 +3193 +3194 +3195 +3196 +3197 +3198 +3199 +3200 +3201 +3202 +3203 +3204 +3205 +3206 +3207 +3208 +3209 +3210 +3211 +3212 +3213 +3214 +3215 +3216 +3217 +3218 +3219 +3220 +3221 +3222 +3223 +3224 +3225 +3226 +3227 +3228 +3229 +3230 +3231 +3232 +3233 +3234 +3235 +3236 +3237 +3238 +3239 +3240 +3241 +3242 +3243 +3244 +3245 +3246 +3247 +3248 +3249 +3250 +3251 +3252 +3253 +3254 +3255 +3256 +3257 +3258 +3259 +3260 +3261 +3262 +3263 +3264 +3265 +3266 +3267 +3268 +3269 +3270 +3271 +3272 +3273 +3274 +3275 +3276 +3277 +3278 +3279 +3280 +3281 +3282 +3283 +3284 +3285 +3286 +3287 +3288 +3289 +3290 +3291 +3292 +3293 +3294 +3295 +3296 +3297 +3298 +3299 +3300 +3301 +3302 +3303 +3304 +3305 +3306 +3307 +3308 +3309 +3310 +3311 +3312 +3313 +3314 +3315 +3316 +3317 +3318 +3319 +3320 +3321 +3322 +3323 +3324 +3325 +3326 +3327 +3328 +3329 +3330 +3331 +3332 +3333 +3334 +3335 +3336 +3337 +3338 +3339 +3340 +3341 +3342 +3343 +3344 +3345 +3346 +3347 +3348 +3349 +3350 +3351 +3352 +3353 +3354 +3355 +3356 +3357 +3358 +3359 +3360 +3361 +3362 +3363 +3364 +3365 +3366 +3367 +3368 +3369 +3370 +3371 +3372 +3373 +3374 +3375 +3376 +3377 +3378 +3379 +3380 +3381 +3382 +3383 +3384 +3385 +3386 +3387 +3388 +3389 +3390 +3391 +3392 +3393 +3394 +3395 +3396 +3397 +3398 +3399 +3400 +3401 +3402 +3403 +3404 +3405 +3406 +3407 +3408 +3409 +3410 +3411 +3412 +3413 +3414 +3415 +3416 +3417 +3418 +3419 +3420 +3421 +3422 +3423 +3424 +3425 +3426 +3427 +3428 +3429 +3430 +3431 +3432 +3433 +3434 +3435 +3436 +3437 +3438 +3439 +3440 +3441 +3442 +3443 +3444 +3445 +3446 +3447 +3448 +3449 +3450 +3451 +3452 +3453 +3454 +3455 +3456 +3457 +3458 +3459 +3460 +3461 +3462 +3463 +3464 +3465 +3466 +3467 +3468 +3469 +3470 +3471 +3472 +3473 +3474 +3475 +3476 +3477 +3478 +3479 +3480 +3481 +3482 +3483 +3484 +3485 +3486 +3487 +3488 +3489 +3490 +3491 +3492 +3493 +3494 +3495 +3496 +3497 +3498 +3499 +3500 +3501 +3502 +3503 +3504 +3505 +3506 +3507 +3508 +3509 +3510 +3511 +3512 +3513 +3514 +3515 +3516 +3517 +3518 +3519 +3520 +3521 +3522 +3523 +3524 +3525 +3526 +3527 +3528 +3529 +3530 +3531 +3532 +3533 +3534 +3535 +3536 +3537 +3538 +3539 +3540 +3541 +3542 +3543 +3544 +3545 +3546 +3547 +3548 +3549 +3550 +3551 +3552 +3553 +3554 +3555 +3556 +3557 +3558 +3559 +3560 +3561 +3562 +3563 +3564 +3565 +3566 +3567 +3568 +3569 +3570 +3571 +3572 +3573 +3574 +3575 +3576 +3577 +3578 +3579 +3580 +3581 +3582 +3583 +3584 +3585 +3586 +3587 +3588 +3589 +3590 +3591 +3592 +3593 +3594 +3595 +3596 +3597 +3598 +3599 +3600 +3601 +3602 +3603 +3604 +3605 +3606 +3607 +3608 +3609 +3610 +3611 +3612 +3613 +3614 +3615 +3616 +3617 +3618 +3619 +3620 +3621 +3622 +3623 +3624 +3625 +3626 +3627 +3628 +3629 +3630 +3631 +3632 +3633 +3634 +3635 +3636 +3637 +3638 +3639 +3640 +3641 +3642 +3643 +3644 +3645 +3646 +3647 +3648 +3649 +3650 +3651 +3652 +3653 +3654 +3655 +3656 +3657 +3658 +3659 +3660 +3661 +3662 +3663 +3664 +3665 +3666 +3667 +3668 +3669 +3670 +3671 +3672 +3673 +3674 +3675 +3676 +3677 +3678 +3679 +3680 +3681 +3682 +3683 +3684 +3685 +3686 +3687 +3688 +3689 +3690 +3691 +3692 +3693 +3694 +3695 +3696 +3697 +3698 +3699 +3700 +3701 +3702 +3703 +3704 +3705 +3706 +3707 +3708 +3709 +3710 +3711 +3712 +3713 +3714 +3715 +3716 +3717 +3718 +3719 +3720 +3721 +3722 +3723 +3724 +3725 +3726 +3727 +3728 +3729 +3730 +3731 +3732 +3733 +3734 +3735 +3736 +3737 +3738 +3739 +3740 +3741 +3742 +3743 +3744 +3745 +3746 +3747 +3748 +3749 +3750 +3751 +3752 +3753 +3754 +3755 +3756 +3757 +3758 +3759 +3760 +3761 +3762 +3763 +3764 +3765 +3766 +3767 +3768 +3769 +3770 +3771 +3772 +3773 +3774 +3775 +3776 +3777 +3778 +3779 +3780 +3781 +3782 +3783 +3784 +3785 +3786 +3787 +3788 +3789 +3790 +3791 +3792 +3793 +3794 +3795 +3796 +3797 +3798 +3799 +3800 +3801 +3802 +3803 +3804 +3805 +3806 +3807 +3808 +3809 +3810 +3811 +3812 +3813 +3814 +3815 +3816 +3817 +3818 +3819 +3820 +3821 +3822 +3823 +3824 +3825 +3826 +3827 +3828 +3829 +3830 +3831 +3832 +3833 +3834 +3835 +3836 +3837 +3838 +3839 +3840 +3841 +3842 +3843 +3844 +3845 +3846 +3847 +3848 +3849 +3850 +3851 +3852 +3853 +3854 +3855 +3856 +3857 +3858 +3859 +3860 +3861 +3862 +3863 +3864 +3865 +3866 +3867 +3868 +3869 +3870 +3871 +3872 +3873 +3874 +3875 +3876 +3877 +3878 +3879 +3880 +3881 +3882 +3883 +3884 +3885 +3886 +3887 +3888 +3889 +3890 +3891 +3892 +3893 +3894 +3895 +3896 +3897 +3898 +3899 +3900 +3901 +3902 +3903 +3904 +3905 +3906 +3907 +3908 +3909 +3910 +3911 +3912 +3913 +3914 +3915 +3916 +3917 +3918 +3919 +3920 +3921 +3922 +3923 +3924 +3925 +3926 +3927 +3928 +3929 +3930 +3931 +3932 +3933 +3934 +3935 +3936 +3937 +3938 +3939 +3940 +3941 +3942 +3943 +3944 +3945 +3946 +3947 +3948 +3949 +3950 +3951 +3952 +3953 +3954 +3955 +3956 +3957 +3958 +3959 +3960 +3961 +3962 +3963 +3964 +3965 +3966 +3967 +3968 +3969 +3970 +3971 +3972 +3973 +3974 +3975 +3976 +3977 +3978 +3979 +3980 +3981 +3982 +3983 +3984 +3985 +3986 +3987 +3988 +3989 +3990 +3991 +3992 +3993 +3994 +3995 +3996 +3997 +3998 +3999 +4000 +4001 +4002 +4003 +4004 +4005 +4006 +4007 +4008 +4009 +4010 +4011 +4012 +4013 +4014 +4015 +4016 +4017 +4018 +4019 +4020 +4021 +4022 +4023 +4024 +4025 +4026 +4027 +4028 +4029 +4030 +4031 +4032 +4033 +4034 +4035 +4036 +4037 +4038 +4039 +4040 +4041 +4042 +4043 +4044 +4045 +4046 +4047 +4048 +4049 +4050 +4051 +4052 +4053 +4054 +4055 +4056 +4057 +4058 +4059 +4060 +4061 +4062 +4063 +4064 +4065 +4066 +4067 +4068 +4069 +4070 +4071 +4072 +4073 +4074 +4075 +4076 +4077 +4078 +4079 +4080 +4081 +4082 +4083 +4084 +4085 +4086 +4087 +4088 +4089 +4090 +4091 +4092 +4093 +4094 +4095 +4096 +4097 +4098 +4099 +4100 +4101 +4102 +4103 +4104 +4105 +4106 +4107 +4108 +4109 +4110 +4111 +4112 +4113 +4114 +4115 +4116 +4117 +4118 +4119 +4120 +4121 +4122 +4123 +4124 +4125 +4126 +4127 +4128 +4129 +4130 +4131 +4132 +4133 +4134 +4135 +4136 +4137 +4138 +4139 +4140 +4141 +4142 +4143 +4144 +4145 +4146 +4147 +4148 +4149 +4150 +4151 +4152 +4153 +4154 +4155 +4156 +4157 +4158 +4159 +4160 +4161 +4162 +4163 +4164 +4165 +4166 +4167 +4168 +4169 +4170 +4171 +4172 +4173 +4174 +4175 +4176 +4177 +4178 +4179 +4180 +4181 +4182 +4183 +4184 +4185 +4186 +4187 +4188 +4189 +4190 +4191 +4192 +4193 +4194 +4195 +4196 +4197 +4198 +4199 +4200 +4201 +4202 +4203 +4204 +4205 +4206 +4207 +4208 +4209 +4210 +4211 +4212 +4213 +4214 +4215 +4216 +4217 +4218 +4219 +4220 +4221 +4222 +4223 +4224 +4225 +4226 +4227 +4228 +4229 +4230 +4231 +4232 +4233 +4234 +4235 +4236 +4237 +4238 +4239 +4240 +4241 +4242 +4243 +4244 +4245 +4246 +4247 +4248 +4249 +4250 +4251 +4252 +4253 +4254 +4255 +4256 +4257 +4258 +4259 +4260 +4261 +4262 +4263 +4264 +4265 +4266 +4267 +4268 +4269 +4270 +4271 +4272 +4273 +4274 +4275 +4276 +4277 +4278 +4279 +4280 +4281 +4282 +4283 +4284 +4285 +4286 +4287 +4288 +4289 +4290 +4291 +4292 +4293 +4294 +4295 +4296 +4297 +4298 +4299 +4300 +4301 +4302 +4303 +4304 +4305 +4306 +4307 +4308 +4309 +4310 +4311 +4312 +4313 +4314 +4315 +4316 +4317 +4318 +4319 +4320 +4321 +4322 +4323 +4324 +4325 +4326 +4327 +4328 +4329 +4330 +4331 +4332 +4333 +4334 +4335 +4336 +4337 +4338 +4339 +4340 +4341 +4342 +4343 +4344 +4345 +4346 +4347 +4348 +4349 +4350 +4351 +4352 +4353 +4354 +4355 +4356 +4357 +4358 +4359 +4360 +4361 +4362 +4363 +4364 +4365 +4366 +4367 +4368 +4369 +4370 +4371 +4372 +4373 +4374 +4375 +4376 +4377 +4378 +4379 +4380 +4381 +4382 +4383 +4384 +4385 +4386 +4387 +4388 +4389 +4390 +4391 +4392 +4393 +4394 +4395 +4396 +4397 +4398 +4399 +4400 +4401 +4402 +4403 +4404 +4405 +4406 +4407 +4408 +4409 +4410 +4411 +4412 +4413 +4414 +4415 +4416 +4417 +4418 +4419 +4420 +4421 +4422 +4423 +4424 +4425 +4426 +4427 +4428 +4429 +4430 +4431 +4432 +4433 +4434 +4435 +4436 +4437 +4438 +4439 +4440 +4441 +4442 +4443 +4444 +4445 +4446 +4447 +4448 +4449 +4450 +4451 +4452 +4453 +4454 +4455 +4456 +4457 +4458 +4459 +4460 +4461 +4462 +4463 +4464 +4465 +4466 +4467 +4468 +4469 +4470 +4471 +4472 +4473 +4474 +4475 +4476 +4477 +4478 +4479 +4480 +4481 +4482 +4483 +4484 +4485 +4486 +4487 +4488 +4489 +4490 +4491 +4492 +4493 +4494 +4495 +4496 +4497 +4498 +4499 +4500 +4501 +4502 +4503 +4504 +4505 +4506 +4507 +4508 +4509 +4510 +4511 +4512 +4513 +4514 +4515 +4516 +4517 +4518 +4519 +4520 +4521 +4522 +4523 +4524 +4525 +4526 +4527 +4528 +4529 +4530 +4531 +4532 +4533 +4534 +4535 +4536 +4537 +4538 +4539 +4540 +4541 +4542 +4543 +4544 +4545 +4546 +4547 +4548 +4549 +4550 +4551 +4552 +4553 +4554 +4555 +4556 +4557 +4558 +4559 +4560 +4561 +4562 +4563 +4564 +4565 +4566 +4567 +4568 +4569 +4570 +4571 +4572 +4573 +4574 +4575 +4576 +4577 +4578 +4579 +4580 +4581 +4582 +4583 +4584 +4585 +4586 +4587 +4588 +4589 +4590 +4591 +4592 +4593 +4594 +4595 +4596 +4597 +4598 +4599 +4600 +4601 +4602 +4603 +4604 +4605 +4606 +4607 +4608 +4609 +4610 +4611 +4612 +4613 +4614 +4615 +4616 +4617 +4618 +4619 +4620 +4621 +4622 +4623 +4624 +4625 +4626 +4627 +4628 +4629 +4630 +4631 +4632 +4633 +4634 +4635 +4636 +4637 +4638 +4639 +4640 +4641 +4642 +4643 +4644 +4645 +4646 +4647 +4648 +4649 +4650 +4651 +4652 +4653 +4654 +4655 +4656 +4657 +4658 +4659 +4660 +4661 +4662 +4663 +4664 +4665 +4666 +4667 +4668 +4669 +4670 +4671 +4672 +4673 +4674 +4675 +4676 +4677 +4678 +4679 +4680 +4681 +4682 +4683 +4684 +4685 +4686 +4687 +4688 +4689 +4690 +4691 +4692 +4693 +4694 +4695 +4696 +4697 +4698 +4699 +4700 +4701 +4702 +4703 +4704 +4705 +4706 +4707 +4708 +4709 +4710 +4711 +4712 +4713 +4714 +4715 +4716 +4717 +4718 +4719 +4720 +4721 +4722 +4723 +4724 +4725 +4726 +4727 +4728 +4729 +4730 +4731 +4732 +4733 +4734 +4735 +4736 +4737 +4738 +4739 +4740 +4741 +4742 +4743 +4744 +4745 +4746 +4747 +4748 +4749 +4750 +4751 +4752 +4753 +4754 +4755 +4756 +4757 +4758 +4759 +4760 +4761 +4762 +4763 +4764 +4765 +4766 +4767 +4768 +4769 +4770 +4771 +4772 +4773 +4774 +4775 +4776 +4777 +4778 +4779 +4780 +4781 +4782 +4783 +4784 +4785 +4786 +4787 +4788 +4789 +4790 +4791 +4792 +4793 +4794 +4795 +4796 +4797 +4798 +4799 +4800 +4801 +4802 +4803 +4804 +4805 +4806 +4807 +4808 +4809 +4810 +4811 +4812 +4813 +4814 +4815 +4816 +4817 +4818 +4819 +4820 +4821 +4822 +4823 +4824 +4825 +4826 +4827 +4828 +4829 +4830 +4831 +4832 +4833 +4834 +4835 +4836 +4837 +4838 +4839 +4840 +4841 +4842 +4843 +4844 +4845 +4846 +4847 +4848 +4849 +4850 +4851 +4852 +4853 +4854 +4855 +4856 +4857 +4858 +4859 +4860 +4861 +4862 +4863 +4864 +4865 +4866 +4867 +4868 +4869 +4870 +4871 +4872 +4873 +4874 +4875 +4876 +4877 +4878 +4879 +4880 +4881 +4882 +4883 +4884 +4885 +4886 +4887 +4888 +4889 +4890 +4891 +4892 +4893 +4894 +4895 +4896 +4897 +4898 +4899 +4900 +4901 +4902 +4903 +4904 +4905 +4906 +4907 +4908 +4909 +4910 +4911 +4912 +4913 +4914 +4915 +4916 +4917 +4918 +4919 +4920 +4921 +4922 +4923 +4924 +4925 +4926 +4927 +4928 +4929 +4930 +4931 +4932 +4933 +4934 +4935 +4936 +4937 +4938 +4939 +4940 +4941 +4942 +4943 +4944 +4945 +4946 +4947 +4948 +4949 +4950 +4951 +4952 +4953 +4954 +4955 +4956 +4957 +4958 +4959 +4960 +4961 +4962 +4963 +4964 +4965 +4966 +4967 +4968 +4969 +4970 +4971 +4972 +4973 +4974 +4975 +4976 +4977 +4978 +4979 +4980 +4981 +4982 +4983 +4984 +4985 +4986 +4987 +4988 +4989 +4990 +4991 +4992 +4993 +4994 +4995 +4996 +4997 +4998 +4999 +5000 +5001 +5002 +5003 +5004 +5005 +5006 +5007 +5008 +5009 +5010 +5011 +5012 +5013 +5014 +5015 +5016 +5017 +5018 +5019 +5020 +5021 +5022 +5023 +5024 +5025 +5026 +5027 +5028 +5029 +5030 +5031 +5032 +5033 +5034 +5035 +5036 +5037 +5038 +5039 +5040 +5041 +5042 +5043 +5044 +5045 +5046 +5047 +5048 +5049 +5050 +5051 +5052 +5053 +5054 +5055 +5056 +5057 +5058 +5059 +5060 +5061 +5062 +5063 +5064 +5065 +5066 +5067 +5068 +5069 +5070 +5071 +5072 +5073 +5074 +5075 +5076 +5077 +5078 +5079 +5080 +5081 +5082 +5083 +5084 +5085 +5086 +5087 +5088 +5089 +5090 +5091 +5092 +5093 +5094 +5095 +5096 +5097 +5098 +5099 +5100 +5101 +5102 +5103 +5104 +5105 +5106 +5107 +5108 +5109 +5110 +5111 +5112 +5113 +5114 +5115 +5116 +5117 +5118 +5119 +5120 +5121 +5122 +5123 +5124 +5125 +5126 +5127 +5128 +5129 +5130 +5131 +5132 +5133 +5134 +5135 +5136 +5137 +5138 +5139 +5140 +5141 +5142 +5143 +5144 +5145 +5146 +5147 +5148 +5149 +5150 +5151 +5152 +5153 +5154 +5155 +5156 +5157 +5158 +5159 +5160 +5161 +5162 +5163 +5164 +5165 +5166 +5167 +5168 +5169 +5170 +5171 +5172 +5173 +5174 +5175 +5176 +5177 +5178 +5179 +5180 +5181 +5182 +5183 +5184 +5185 +5186 +5187 +5188 +5189 +5190 +5191 +5192 +5193 +5194 +5195 +5196 +5197 +5198 +5199 +5200 +5201 +5202 +5203 +5204 +5205 +5206 +5207 +5208 +5209 +5210 +5211 +5212 +5213 +5214 +5215 +5216 +5217 +5218 +5219 +5220 +5221 +5222 +5223 +5224 +5225 +5226 +5227 +5228 +5229 +5230 +5231 +5232 +5233 +5234 +5235 +5236 +5237 +5238 +5239 +5240 +5241 +5242 +5243 +5244 +5245 +5246 +5247 +5248 +5249 +5250 +5251 +5252 +5253 +5254 +5255 +5256 +5257 +5258 +5259 +5260 +5261 +5262 +5263 +5264 +5265 +5266 +5267 +5268 +5269 +5270 +5271 +5272 +5273 +5274 +5275 +5276 +5277 +5278 +5279 +5280 +5281 +5282 +5283 +5284 +5285 +5286 +5287 +5288 +5289 +5290 +5291 +5292 +5293 +5294 +5295 +5296 +5297 +5298 +5299 +5300 +5301 +5302 +5303 +5304 +5305 +5306 +5307 +5308 +5309 +5310 +5311 +5312 +5313 +5314 +5315 +5316 +5317 +5318 +5319 +5320 +5321 +5322 +5323 +5324 +5325 +5326 +5327 +5328 +5329 +5330 +5331 +5332 +5333 +5334 +5335 +5336 +5337 +5338 +5339 +5340 +5341 +5342 +5343 +5344 +5345 +5346 +5347 +5348 +5349 +5350 +5351 +5352 +5353 +5354 +5355 +5356 +5357 +5358 +5359 +5360 +5361 +5362 +5363 +5364 +5365 +5366 +5367 +5368 +5369 +5370 +5371 +5372 +5373 +5374 +5375 +5376 +5377 +5378 +5379 +5380 +5381 +5382 +5383 +5384 +5385 +5386 +5387 +5388 +5389 +5390 +5391 +5392 +5393 +5394 +5395 +5396 +5397 +5398 +5399 +5400 +5401 +5402 +5403 +5404 +5405 +5406 +5407 +5408 +5409 +5410 +5411 +5412 +5413 +5414 +5415 +5416 +5417 +5418 +5419 +5420 +5421 +5422 +5423 +5424 +5425 +5426 +5427 +5428 +5429 +5430 +5431 +5432 +5433 +5434 +5435 +5436 +5437 +5438 +5439 +5440 +5441 +5442 +5443 +5444 +5445 +5446 +5447 +5448 +5449 +5450 +5451 +5452 +5453 +5454 +5455 +5456 +5457 +5458 +5459 +5460 +5461 +5462 +5463 +5464 +5465 +5466 +5467 +5468 +5469 +5470 +5471 +5472 +5473 +5474 +5475 +5476 +5477 +5478 +5479 +5480 +5481 +5482 +5483 +5484 +5485 +5486 +5487 +5488 +5489 +5490 +5491 +5492 +5493 +5494 +5495 +5496 +5497 +5498 +5499 +5500 +5501 +5502 +5503 +5504 +5505 +5506 +5507 +5508 +5509 +5510 +5511 +5512 +5513 +5514 +5515 +5516 +5517 +5518 +5519 +5520 +5521 +5522 +5523 +5524 +5525 +5526 +5527 +5528 +5529 +5530 +5531 +5532 +5533 +5534 +5535 +5536 +5537 +5538 +5539 +5540 +5541 +5542 +5543 +5544 +5545 +5546 +5547 +5548 +5549 +5550 +5551 +5552 +5553 +5554 +5555 +5556 +5557 +5558 +5559 +5560 +5561 +5562 +5563 +5564 +5565 +5566 +5567 +5568 +5569 +5570 +5571 +5572 +5573 +5574 +5575 +5576 +5577 +5578 +5579 +5580 +5581 +5582 +5583 +5584 +5585 +5586 +5587 +5588 +5589 +5590 +5591 +5592 +5593 +5594 +5595 +5596 +5597 +5598 +5599 +5600 +5601 +5602 +5603 +5604 +5605 +5606 +5607 +5608 +5609 +5610 +5611 +5612 +5613 +5614 +5615 +5616 +5617 +5618 +5619 +5620 +5621 +5622 +5623 +5624 +5625 +5626 +5627 +5628 +5629 +5630 +5631 +5632 +5633 +5634 +5635 +5636 +5637 +5638 +5639 +5640 +5641 +5642 +5643 +5644 +5645 +5646 +5647 +5648 +5649 +5650 +5651 +5652 +5653 +5654 +5655 +5656 +5657 +5658 +5659 +5660 +5661 +5662 +5663 +5664 +5665 +5666 +5667 +5668 +5669 +5670 +5671 +5672 +5673 +5674 +5675 +5676 +5677 +5678 +5679 +5680 +5681 +5682 +5683 +5684 +5685 +5686 +5687 +5688 +5689 +5690 +5691 +5692 +5693 +5694 +5695 +5696 +5697 +5698 +5699 +5700 +5701 +5702 +5703 +5704 +5705 +5706 +5707 +5708 +5709 +5710 +5711 +5712 +5713 +5714 +5715 +5716 +5717 +5718 +5719 +5720 +5721 +5722 +5723 +5724 +5725 +5726 +5727 +5728 +5729 +5730 +5731 +5732 +5733 +5734 +5735 +5736 +5737 +5738 +5739 +5740 +5741 +5742 +5743 +5744 +5745 +5746 +5747 +5748 +5749 +5750 +5751 +5752 +5753 +5754 +5755 +5756 +5757 +5758 +5759 +5760 +5761 +5762 +5763 +5764 +5765 +5766 +5767 +5768 +5769 +5770 +5771 +5772 +5773 +5774 +5775 +5776 +5777 +5778 +5779 +5780 +5781 +5782 +5783 +5784 +5785 +5786 +5787 +5788 +5789 +5790 +5791 +5792 +5793 +5794 +5795 +5796 +5797 +5798 +5799 +5800 +5801 +5802 +5803 +5804 +5805 +5806 +5807 +5808 +5809 +5810 +5811 +5812 +5813 +5814 +5815 +5816 +5817 +5818 +5819 +5820 +5821 +5822 +5823 +5824 +5825 +5826 +5827 +5828 +5829 +5830 +5831 +5832 +5833 +5834 +5835 +5836 +5837 +5838 +5839 +5840 +5841 +5842 +5843 +5844 +5845 +5846 +5847 +5848 +5849 +5850 +5851 +5852 +5853 +5854 +5855 +5856 +5857 +5858 +5859 +5860 +5861 +5862 +5863 +5864 +5865 +5866 +5867 +5868 +5869 +5870 +5871 +5872 +5873 +5874 +5875 +5876 +5877 +5878 +5879 +5880 +5881 +5882 +5883 +5884 +5885 +5886 +5887 +5888 +5889 +5890 +5891 +5892 +5893 +5894 +5895 +5896 +5897 +5898 +5899 +5900 +5901 +5902 +5903 +5904 +5905 +5906 +5907 +5908 +5909 +5910 +5911 +5912 +5913 +5914 +5915 +5916 +5917 +5918 +5919 +5920 +5921 +5922 +5923 +5924 +5925 +5926 +5927 +5928 +5929 +5930 +5931 +5932 +5933 +5934 +5935 +5936 +5937 +5938 +5939 +5940 +5941 +5942 +5943 +5944 +5945 +5946 +5947 +5948 +5949 +5950 +5951 +5952 +5953 +5954 +5955 +5956 +5957 +5958 +5959 +5960 +5961 +5962 +5963 +5964 +5965 +5966 +5967 +5968 +5969 +5970 +5971 +5972 +5973 +5974 +5975 +5976 +5977 +5978 +5979 +5980 +5981 +5982 +5983 +5984 +5985 +5986 +5987 +5988 +5989 +5990 +5991 +5992 +5993 +5994 +5995 +5996 +5997 +5998 +5999 +6000 +6001 +6002 +6003 +6004 +6005 +6006 +6007 +6008 +6009 +6010 +6011 +6012 +6013 +6014 +6015 +6016 +6017 +6018 +6019 +6020 +6021 +6022 +6023 +6024 +6025 +6026 +6027 +6028 +6029 +6030 +6031 +6032 +6033 +6034 +6035 +6036 +6037 +6038 +6039 +6040 +6041 +6042 +6043 +6044 +6045 +6046 +6047 +6048 +6049 +6050 +6051 +6052 +6053 +6054 +6055 +6056 +6057 +6058 +6059 +6060 +6061 +6062 +6063 +6064 +6065 +6066 +6067 +6068 +6069 +6070 +6071 +6072 +6073 +6074 +6075 +6076 +6077 +6078 +6079 +6080 +6081 +6082 +6083 +6084 +6085 +6086 +6087 +6088 +6089 +6090 +6091 +6092 +6093 +6094 +6095 +6096 +6097 +6098 +6099 +6100 +6101 +6102 +6103 +6104 +6105 +6106 +6107 +6108 +6109 +6110 +6111 +6112 +6113 +6114 +6115 +6116 +6117 +6118 +6119 +6120 +6121 +6122 +6123 +6124 +6125 +6126 +6127 +6128 +6129 +6130 +6131 +6132 +6133 +6134 +6135 +6136 +6137 +6138 +6139 +6140 +6141 +6142 +6143 +6144 +6145 +6146 +6147 +6148 +6149 +6150 +6151 +6152 +6153 +6154 +6155 +6156 +6157 +6158 +6159 +6160 +6161 +6162 +6163 +6164 +6165 +6166 +6167 +6168 +6169 +6170 +6171 +6172 +6173 +6174 +6175 +6176 +6177 +6178 +6179 +6180 +6181 +6182 +6183 +6184 +6185 +6186 +6187 +6188 +6189 +6190 +6191 +6192 +6193 +6194 +6195 +6196 +6197 +6198 +6199 +6200 +6201 +6202 +6203 +6204 +6205 +6206 +6207 +6208 +6209 +6210 +6211 +6212 +6213 +6214 +6215 +6216 +6217 +6218 +6219 +6220 +6221 +6222 +6223 +6224 +6225 +6226 +6227 +6228 +6229 +6230 +6231 +6232 +6233 +6234 +6235 +6236 +6237 +6238 +6239 +6240 +6241 +6242 +6243 +6244 +6245 +6246 +6247 +6248 +6249 +6250 +6251 +6252 +6253 +6254 +6255 +6256 +6257 +6258 +6259 +6260 +6261 +6262 +6263 +6264 +6265 +6266 +6267 +6268 +6269 +6270 +6271 +6272 +6273 +6274 +6275 +6276 +6277 +6278 +6279 +6280 +6281 +6282 +6283 +6284 +6285 +6286 +6287 +6288 +6289 +6290 +6291 +6292 +6293 +6294 +6295 +6296 +6297 +6298 +6299 +6300 +6301 +6302 +6303 +6304 +6305 +6306 +6307 +6308 +6309 +6310 +6311 +6312 +6313 +6314 +6315 +6316 +6317 +6318 +6319 +6320 +6321 +6322 +6323 +6324 +6325 +6326 +6327 +6328 +6329 +6330 +6331 +6332 +6333 +6334 +6335 +6336 +6337 +6338 +6339 +6340 +6341 +6342 +6343 +6344 +6345 +6346 +6347 +6348 +6349 +6350 +6351 +6352 +6353 +6354 +6355 +6356 +6357 +6358 +6359 +6360 +6361 +6362 +6363 +6364 +6365 +6366 +6367 +6368 +6369 +6370 +6371 +6372 +6373 +6374 +6375 +6376 +6377 +6378 +6379 +6380 +6381 +6382 +6383 +6384 +6385 +6386 +6387 +6388 +6389 +6390 +6391 +6392 +6393 +6394 +6395 +6396 +6397 +6398 +6399 +6400 +6401 +6402 +6403 +6404 +6405 +6406 +6407 +6408 +6409 +6410 +6411 +6412 +6413 +6414 +6415 +6416 +6417 +6418 +6419 +6420 +6421 +6422 +6423 +6424 +6425 +6426 +6427 +6428 +6429 +6430 +6431 +6432 +6433 +6434 +6435 +6436 +6437 +6438 +6439 +6440 +6441 +6442 +6443 +6444 +6445 +6446 +6447 +6448 +6449 +6450 +6451 +6452 +6453 +6454 +6455 +6456 +6457 +6458 +6459 +6460 +6461 +6462 +6463 +6464 +6465 +6466 +6467 +6468 +6469 +6470 +6471 +6472 +6473 +6474 +6475 +6476 +6477 +6478 +6479 +6480 +6481 +6482 +6483 +6484 +6485 +6486 +6487 +6488 +6489 +6490 +6491 +6492 +6493 +6494 +6495 +6496 +6497 +6498 +6499 +6500 +6501 +6502 +6503 +6504 +6505 +6506 +6507 +6508 +6509 +6510 +6511 +6512 +6513 +6514 +6515 +6516 +6517 +6518 +6519 +6520 +6521 +6522 +6523 +6524 +6525 +6526 +6527 +6528 +6529 +6530 +6531 +6532 +6533 +6534 +6535 +6536 +6537 +6538 +6539 +6540 +6541 +6542 +6543 +6544 +6545 +6546 +6547 +6548 +6549 +6550 +6551 +6552 +6553 +6554 +6555 +6556 +6557 +6558 +6559 +6560 +6561 +6562 +6563 +6564 +6565 +6566 +6567 +6568 +6569 +6570 +6571 +6572 +6573 +6574 +6575 +6576 +6577 +6578 +6579 +6580 +6581 +6582 +6583 +6584 +6585 +6586 +6587 +6588 +6589 +6590 +6591 +6592 +6593 +6594 +6595 +6596 +6597 +6598 +6599 +6600 +6601 +6602 +6603 +6604 +6605 +6606 +6607 +6608 +6609 +6610 +6611 +6612 +6613 +6614 +6615 +6616 +6617 +6618 +6619 +6620 +6621 +6622 +6623 +6624 +6625 +6626 +6627 +6628 +6629 +6630 +6631 +6632 +6633 +6634 +6635 +6636 +6637 +6638 +6639 +6640 +6641 +6642 +6643 +6644 +6645 +6646 +6647 +6648 +6649 +6650 +6651 +6652 +6653 +6654 +6655 +6656 +6657 +6658 +6659 +6660 +6661 +6662 +6663 +6664 +6665 +6666 +6667 +6668 +6669 +6670 +6671 +6672 +6673 +6674 +6675 +6676 +6677 +6678 +6679 +6680 +6681 +6682 +6683 +6684 +6685 +6686 +6687 +6688 +6689 +6690 +6691 +6692 +6693 +6694 +6695 +6696 +6697 +6698 +6699 +6700 +6701 +6702 +6703 +6704 +6705 +6706 +6707 +6708 +6709 +6710 +6711 +6712 +6713 +6714 +6715 +6716 +6717 +6718 +6719 +6720 +6721 +6722 +6723 +6724 +6725 +6726 +6727 +6728 +6729 +6730 +6731 +6732 +6733 +6734 +6735 +6736 +6737 +6738 +6739 +6740 +6741 +6742 +6743 +6744 +6745 +6746 +6747 +6748 +6749 +6750 +6751 +6752 +6753 +6754 +6755 +6756 +6757 +6758 +6759 +6760 +6761 +6762 +6763 +6764 +6765 +6766 +6767 +6768 +6769 +6770 +6771 +6772 +6773 +6774 +6775 +6776 +6777 +6778 +6779 +6780 +6781 +6782 +6783 +6784 +6785 +6786 +6787 +6788 +6789 +6790 +6791 +6792 +6793 +6794 +6795 +6796 +6797 +6798 +6799 +6800 +6801 +6802 +6803 +6804 +6805 +6806 +6807 +6808 +6809 +6810 +6811 +6812 +6813 +6814 +6815 +6816 +6817 +6818 +6819 +6820 +6821 +6822 +6823 +6824 +6825 +6826 +6827 +6828 +6829 +6830 +6831 +6832 +6833 +6834 +6835 +6836 +6837 +6838 +6839 +6840 +6841 +6842 +6843 +6844 +6845 +6846 +6847 +6848 +6849 +6850 +6851 +6852 +6853 +6854 +6855 +6856 +6857 +6858 +6859 +6860 +6861 +6862 +6863 +6864 +6865 +6866 +6867 +6868 +6869 +6870 +6871 +6872 +6873 +6874 +6875 +6876 +6877 +6878 +6879 +6880 +6881 +6882 +6883 +6884 +6885 +6886 +6887 +6888 +6889 +6890 +6891 +6892 +6893 +6894 +6895 +6896 +6897 +6898 +6899 +6900 +6901 +6902 +6903 +6904 +6905 +6906 +6907 +6908 +6909 +6910 +6911 +6912 +6913 +6914 +6915 +6916 +6917 +6918 +6919 +6920 +6921 +6922 +6923 +6924 +6925 +6926 +6927 +6928 +6929 +6930 +6931 +6932 +6933 +6934 +6935 +6936 +6937 +6938 +6939 +6940 +6941 +6942 +6943 +6944 +6945 +6946 +6947 +6948 +6949 +6950 +6951 +6952 +6953 +6954 +6955 +6956 +6957 +6958 +6959 +6960 +6961 +6962 +6963 +6964 +6965 +6966 +6967 +6968 +6969 +6970 +6971 +6972 +6973 +6974 +6975 +6976 +6977 +6978 +6979 +6980 +6981 +6982 +6983 +6984 +6985 +6986 +6987 +6988 +6989 +6990 +6991 +6992 +6993 +6994 +6995 +6996 +6997 +6998 +6999 +7000 +7001 +7002 +7003 +7004 +7005 +7006 +7007 +7008 +7009 +7010 +7011 +7012 +7013 +7014 +7015 +7016 +7017 +7018 +7019 +7020 +7021 +7022 +7023 +7024 +7025 +7026 +7027 +7028 +7029 +7030 +7031 +7032 +7033 +7034 +7035 +7036 +7037 +7038 +7039 +7040 +7041 +7042 +7043 +7044 +7045 +7046 +7047 +7048 +7049 +7050 +7051 +7052 +7053 +7054 +7055 +7056 +7057 +7058 +7059 +7060 +7061 +7062 +7063 +7064 +7065 +7066 +7067 +7068 +7069 +7070 +7071 +7072 +7073 +7074 +7075 +7076 +7077 +7078 +7079 +7080 +7081 +7082 +7083 +7084 +7085 +7086 +7087 +7088 +7089 +7090 +7091 +7092 +7093 +7094 +7095 +7096 +7097 +7098 +7099 +7100 +7101 +7102 +7103 +7104 +7105 +7106 +7107 +7108 +7109 +7110 +7111 +7112 +7113 +7114 +7115 +7116 +7117 +7118 +7119 +7120 +7121 +7122 +7123 +7124 +7125 +7126 +7127 +7128 +7129 +7130 +7131 +7132 +7133 +7134 +7135 +7136 +7137 +7138 +7139 +7140 +7141 +7142 +7143 +7144 +7145 +7146 +7147 +7148 +7149 +7150 +7151 +7152 +7153 +7154 +7155 +7156 +7157 +7158 +7159 +7160 +7161 +7162 +7163 +7164 +7165 +7166 +7167 +7168 +7169 +7170 +7171 +7172 +7173 +7174 +7175 +7176 +7177 +7178 +7179 +7180 +7181 +7182 +7183 +7184 +7185 +7186 +7187 +7188 +7189 +7190 +7191 +7192 +7193 +7194 +7195 +7196 +7197 +7198 +7199 +7200 +7201 +7202 +7203 +7204 +7205 +7206 +7207 +7208 +7209 +7210 +7211 +7212 +7213 +7214 +7215 +7216 +7217 +7218 +7219 +7220 +7221 +7222 +7223 +7224 +7225 +7226 +7227 +7228 +7229 +7230 +7231 +7232 +7233 +7234 +7235 +7236 +7237 +7238 +7239 +7240 +7241 +7242 +7243 +7244 +7245 +7246 +7247 +7248 +7249 +7250 +7251 +7252 +7253 +7254 +7255 +7256 +7257 +7258 +7259 +7260 +7261 +7262 +7263 +7264 +7265 +7266 +7267 +7268 +7269 +7270 +7271 +7272 +7273 +7274 +7275 +7276 +7277 +7278 +7279 +7280 +7281 +7282 +7283 +7284 +7285 +7286 +7287 +7288 +7289 +7290 +7291 +7292 +7293 +7294 +7295 +7296 +7297 +7298 +7299 +7300 +7301 +7302 +7303 +7304 +7305 +7306 +7307 +7308 +7309 +7310 +7311 +7312 +7313 +7314 +7315 +7316 +7317 +7318 +7319 +7320 +7321 +7322 +7323 +7324 +7325 +7326 +7327 +7328 +7329 +7330 +7331 +7332 +7333 +7334 +7335 +7336 +7337 +7338 +7339 +7340 +7341 +7342 +7343 +7344 +7345 +7346 +7347 +7348 +7349 +7350 +7351 +7352 +7353 +7354 +7355 +7356 +7357 +7358 +7359 +7360 +7361 +7362 +7363 +7364 +7365 +7366 +7367 +7368 +7369 +7370 +7371 +7372 +7373 +7374 +7375 +7376 +7377 +7378 +7379 +7380 +7381 +7382 +7383 +7384 +7385 +7386 +7387 +7388 +7389 +7390 +7391 +7392 +7393 +7394 +7395 +7396 +7397 +7398 +7399 +7400 +7401 +7402 +7403 +7404 +7405 +7406 +7407 +7408 +7409 +7410 +7411 +7412 +7413 +7414 +7415 +7416 +7417 +7418 +7419 +7420 +7421 +7422 +7423 +7424 +7425 +7426 +7427 +7428 +7429 +7430 +7431 +7432 +7433 +7434 +7435 +7436 +7437 +7438 +7439 +7440 +7441 +7442 +7443 +7444 +7445 +7446 +7447 +7448 +7449 +7450 +7451 +7452 +7453 +7454 +7455 +7456 +7457 +7458 +7459 +7460 +7461 +7462 +7463 +7464 +7465 +7466 +7467 +7468 +7469 +7470 +7471 +7472 +7473 +7474 +7475 +7476 +7477 +7478 +7479 +7480 +7481 +7482 +7483 +7484 +7485 +7486 +7487 +7488 +7489 +7490 +7491 +7492 +7493 +7494 +7495 +7496 +7497 +7498 +7499 +7500 +7501 +7502 +7503 +7504 +7505 +7506 +7507 +7508 +7509 +7510 +7511 +7512 +7513 +7514 +7515 +7516 +7517 +7518 +7519 +7520 +7521 +7522 +7523 +7524 +7525 +7526 +7527 +7528 +7529 +7530 +7531 +7532 +7533 +7534 +7535 +7536 +7537 +7538 +7539 +7540 +7541 +7542 +7543 +7544 +7545 +7546 +7547 +7548 +7549 +7550 +7551 +7552 +7553 +7554 +7555 +7556 +7557 +7558 +7559 +7560 +7561 +7562 +7563 +7564 +7565 +7566 +7567 +7568 +7569 +7570 +7571 +7572 +7573 +7574 +7575 +7576 +7577 +7578 +7579 +7580 +7581 +7582 +7583 +7584 +7585 +7586 +7587 +7588 +7589 +7590 +7591 +7592 +7593 +7594 +7595 +7596 +7597 +7598 +7599 +7600 +7601 +7602 +7603 +7604 +7605 +7606 +7607 +7608 +7609 +7610 +7611 +7612 +7613 +7614 +7615 +7616 +7617 +7618 +7619 +7620 +7621 +7622 +7623 +7624 +7625 +7626 +7627 +7628 +7629 +7630 +7631 +7632 +7633 +7634 +7635 +7636 +7637 +7638 +7639 +7640 +7641 +7642 +7643 +7644 +7645 +7646 +7647 +7648 +7649 +7650 +7651 +7652 +7653 +7654 +7655 +7656 +7657 +7658 +7659 +7660 +7661 +7662 +7663 +7664 +7665 +7666 +7667 +7668 +7669 +7670 +7671 +7672 +7673 +7674 +7675 +7676 +7677 +7678 +7679 +7680 +7681 +7682 +7683 +7684 +7685 +7686 +7687 +7688 +7689 +7690 +7691 +7692 +7693 +7694 +7695 +7696 +7697 +7698 +7699 +7700 +7701 +7702 +7703 +7704 +7705 +7706 +7707 +7708 +7709 +7710 +7711 +7712 +7713 +7714 +7715 +7716 +7717 +7718 +7719 +7720 +7721 +7722 +7723 +7724 +7725 +7726 +7727 +7728 +7729 +7730 +7731 +7732 +7733 +7734 +7735 +7736 +7737 +7738 +7739 +7740 +7741 +7742 +7743 +7744 +7745 +7746 +7747 +7748 +7749 +7750 +7751 +7752 +7753 +7754 +7755 +7756 +7757 +7758 +7759 +7760 +7761 +7762 +7763 +7764 +7765 +7766 +7767 +7768 +7769 +7770 +7771 +7772 +7773 +7774 +7775 +7776 +7777 +7778 +7779 +7780 +7781 +7782 +7783 +7784 +7785 +7786 +7787 +7788 +7789 +7790 +7791 +7792 +7793 +7794 +7795 +7796 +7797 +7798 +7799 +7800 +7801 +7802 +7803 +7804 +7805 +7806 +7807 +7808 +7809 +7810 +7811 +7812 +7813 +7814 +7815 +7816 +7817 +7818 +7819 +7820 +7821 +7822 +7823 +7824 +7825 +7826 +7827 +7828 +7829 +7830 +7831 +7832 +7833 +7834 +7835 +7836 +7837 +7838 +7839 +7840 +7841 +7842 +7843 +7844 +7845 +7846 +7847 +7848 +7849 +7850 +7851 +7852 +7853 +7854 +7855 +7856 +7857 +7858 +7859 +7860 +7861 +7862 +7863 +7864 +7865 +7866 +7867 +7868 +7869 +7870 +7871 +7872 +7873 +7874 +7875 +7876 +7877 +7878 +7879 +7880 +7881 +7882 +7883 +7884 +7885 +7886 +7887 +7888 +7889 +7890 +7891 +7892 +7893 +7894 +7895 +7896 +7897 +7898 +7899 +7900 +7901 +7902 +7903 +7904 +7905 +7906 +7907 +7908 +7909 +7910 +7911 +7912 +7913 +7914 +7915 +7916 +7917 +7918 +7919 +7920 +7921 +7922 +7923 +7924 +7925 +7926 +7927 +7928 +7929 +7930 +7931 +7932 +7933 +7934 +7935 +7936 +7937 +7938 +7939 +7940 +7941 +7942 +7943 +7944 +7945 +7946 +7947 +7948 +7949 +7950 +7951 +7952 +7953 +7954 +7955 +7956 +7957 +7958 +7959 +7960 +7961 +7962 +7963 +7964 +7965 +7966 +7967 +7968 +7969 +7970 +7971 +7972 +7973 +7974 +7975 +7976 +7977 +7978 +7979 +7980 +7981 +7982 +7983 +7984 +7985 +7986 +7987 +7988 +7989 +7990 +7991 +7992 +7993 +7994 +7995 +7996 +7997 +7998 +7999 +8000 +8001 +8002 +8003 +8004 +8005 +8006 +8007 +8008 +8009 +8010 +8011 +8012 +8013 +8014 +8015 +8016 +8017 +8018 +8019 +8020 +8021 +8022 +8023 +8024 +8025 +8026 +8027 +8028 +8029 +8030 +8031 +8032 +8033 +8034 +8035 +8036 +8037 +8038 +8039 +8040 +8041 +8042 +8043 +8044 +8045 +8046 +8047 +8048 +8049 +8050 +8051 +8052 +8053 +8054 +8055 +8056 +8057 +8058 +8059 +8060 +8061 +8062 +8063 +8064 +8065 +8066 +8067 +8068 +8069 +8070 +8071 +8072 +8073 +8074 +8075 +8076 +8077 +8078 +8079 +8080 +8081 +8082 +8083 +8084 +8085 +8086 +8087 +8088 +8089 +8090 +8091 +8092 +8093 +8094 +8095 +8096 +8097 +8098 +8099 +8100 +8101 +8102 +8103 +8104 +8105 +8106 +8107 +8108 +8109 +8110 +8111 +8112 +8113 +8114 +8115 +8116 +8117 +8118 +8119 +8120 +8121 +8122 +8123 +8124 +8125 +8126 +8127 +8128 +8129 +8130 +8131 +8132 +8133 +8134 +8135 +8136 +8137 +8138 +8139 +8140 +8141 +8142 +8143 +8144 +8145 +8146 +8147 +8148 +8149 +8150 +8151 +8152 +8153 +8154 +8155 +8156 +8157 +8158 +8159 +8160 +8161 +8162 +8163 +8164 +8165 +8166 +8167 +8168 +8169 +8170 +8171 +8172 +8173 +8174 +8175 +8176 +8177 +8178 +8179 +8180 +8181 +8182 +8183 +8184 +8185 +8186 +8187 +8188 +8189 +8190 +8191 +8192 +8193 +8194 +8195 +8196 +8197 +8198 +8199 +8200 +8201 +8202 +8203 +8204 +8205 +8206 +8207 +8208 +8209 +8210 +8211 +8212 +8213 +8214 +8215 +8216 +8217 +8218 +8219 +8220 +8221 +8222 +8223 +8224 +8225 +8226 +8227 +8228 +8229 +8230 +8231 +8232 +8233 +8234 +8235 +8236 +8237 +8238 +8239 +8240 +8241 +8242 +8243 +8244 +8245 +8246 +8247 +8248 +8249 +8250 +8251 +8252 +8253 +8254 +8255 +8256 +8257 +8258 +8259 +8260 +8261 +8262 +8263 +8264 +8265 +8266 +8267 +8268 +8269 +8270 +8271 +8272 +8273 +8274 +8275 +8276 +8277 +8278 +8279 +8280 +8281 +8282 +8283 +8284 +8285 +8286 +8287 +8288 +8289 +8290 +8291 +8292 +8293 +8294 +8295 +8296 +8297 +8298 +8299 +8300 +8301 +8302 +8303 +8304 +8305 +8306 +8307 +8308 +8309 +8310 +8311 +8312 +8313 +8314 +8315 +8316 +8317 +8318 +8319 +8320 +8321 +8322 +8323 +8324 +8325 +8326 +8327 +8328 +8329 +8330 +8331 +8332 +8333 +8334 +8335 +8336 +8337 +8338 +8339 +8340 +8341 +8342 +8343 +8344 +8345 +8346 +8347 +8348 +8349 +8350 +8351 +8352 +8353 +8354 +8355 +8356 +8357 +8358 +8359 +8360 +8361 +8362 +8363 +8364 +8365 +8366 +8367 +8368 +8369 +8370 +8371 +8372 +8373 +8374 +8375 +8376 +8377 +8378 +8379 +8380 +8381 +8382 +8383 +8384 +8385 +8386 +8387 +8388 +8389 +8390 +8391 +8392 +8393 +8394 +8395 +8396 +8397 +8398 +8399 +8400 +8401 +8402 +8403 +8404 +8405 +8406 +8407 +8408 +8409 +8410 +8411 +8412 +8413 +8414 +8415 +8416 +8417 +8418 +8419 +8420 +8421 +8422 +8423 +8424 +8425 +8426 +8427 +8428 +8429 +8430 +8431 +8432 +8433 +8434 +8435 +8436 +8437 +8438 +8439 +8440 +8441 +8442 +8443 +8444 +8445 +8446 +8447 +8448 +8449 +8450 +8451 +8452 +8453 +8454 +8455 +8456 +8457 +8458 +8459 +8460 +8461 +8462 +8463 +8464 +8465 +8466 +8467 +8468 +8469 +8470 +8471 +8472 +8473 +8474 +8475 +8476 +8477 +8478 +8479 +8480 +8481 +8482 +8483 +8484 +8485 +8486 +8487 +8488 +8489 +8490 +8491 +8492 +8493 +8494 +8495 +8496 +8497 +8498 +8499 +8500 +8501 +8502 +8503 +8504 +8505 +8506 +8507 +8508 +8509 +8510 +8511 +8512 +8513 +8514 +8515 +8516 +8517 +8518 +8519 +8520 +8521 +8522 +8523 +8524 +8525 +8526 +8527 +8528 +8529 +8530 +8531 +8532 +8533 +8534 +8535 +8536 +8537 +8538 +8539 +8540 +8541 +8542 +8543 +8544 +8545 +8546 +8547 +8548 +8549 +8550 +8551 +8552 +8553 +8554 +8555 +8556 +8557 +8558 +8559 +8560 +8561 +8562 +8563 +8564 +8565 +8566 +8567 +8568 +8569 +8570 +8571 +8572 +8573 +8574 +8575 +8576 +8577 +8578 +8579 +8580 +8581 +8582 +8583 +8584 +8585 +8586 +8587 +8588 +8589 +8590 +8591 +8592 +8593 +8594 +8595 +8596 +8597 +8598 +8599 +8600 +8601 +8602 +8603 +8604 +8605 +8606 +8607 +8608 +8609 +8610 +8611 +8612 +8613 +8614 +8615 +8616 +8617 +8618 +8619 +8620 +8621 +8622 +8623 +8624 +8625 +8626 +8627 +8628 +8629 +8630 +8631 +8632 +8633 +8634 +8635 +8636 +8637 +8638 +8639 +8640 +8641 +8642 +8643 +8644 +8645 +8646 +8647 +8648 +8649 +8650 +8651 +8652 +8653 +8654 +8655 +8656 +8657 +8658 +8659 +8660 +8661 +8662 +8663 +8664 +8665 +8666 +8667 +8668 +8669 +8670 +8671 +8672 +8673 +8674 +8675 +8676 +8677 +8678 +8679 +8680 +8681 +8682 +8683 +8684 +8685 +8686 +8687 +8688 +8689 +8690 +8691 +8692 +8693 +8694 +8695 +8696 +8697 +8698 +8699 +8700 +8701 +8702 +8703 +8704 +8705 +8706 +8707 +8708 +8709 +8710 +8711 +8712 +8713 +8714 +8715 +8716 +8717 +8718 +8719 +8720 +8721 +8722 +8723 +8724 +8725 +8726 +8727 +8728 +8729 +8730 +8731 +8732 +8733 +8734 +8735 +8736 +8737 +8738 +8739 +8740 +8741 +8742 +8743 +8744 +8745 +8746 +8747 +8748 +8749 +8750 +8751 +8752 +8753 +8754 +8755 +8756 +8757 +8758 +8759 +8760 +8761 +8762 +8763 +8764 +8765 +8766 +8767 +8768 +8769 +8770 +8771 +8772 +8773 +8774 +8775 +8776 +8777 +8778 +8779 +8780 +8781 +8782 +8783 +8784 +8785 +8786 +8787 +8788 +8789 +8790 +8791 +8792 +8793 +8794 +8795 +8796 +8797 +8798 +8799 +8800 +8801 +8802 +8803 +8804 +8805 +8806 +8807 +8808 +8809 +8810 +8811 +8812 +8813 +8814 +8815 +8816 +8817 +8818 +8819 +8820 +8821 +8822 +8823 +8824 +8825 +8826 +8827 +8828 +8829 +8830 +8831 +8832 +8833 +8834 +8835 +8836 +8837 +8838 +8839 +8840 +8841 +8842 +8843 +8844 +8845 +8846 +8847 +8848 +8849 +8850 +8851 +8852 +8853 +8854 +8855 +8856 +8857 +8858 +8859 +8860 +8861 +8862 +8863 +8864 +8865 +8866 +8867 +8868 +8869 +8870 +8871 +8872 +8873 +8874 +8875 +8876 +8877 +8878 +8879 +8880 +8881 +8882 +8883 +8884 +8885 +8886 +8887 +8888 +8889 +8890 +8891 +8892 +8893 +8894 +8895 +8896 +8897 +8898 +8899 +8900 +8901 +8902 +8903 +8904 +8905 +8906 +8907 +8908 +8909 +8910 +8911 +8912 +8913 +8914 +8915 +8916 +8917 +8918 +8919 +8920 +8921 +8922 +8923 +8924 +8925 +8926 +8927 +8928 +8929 +8930 +8931 +8932 +8933 +8934 +8935 +8936 +8937 +8938 +8939 +8940 +8941 +8942 +8943 +8944 +8945 +8946 +8947 +8948 +8949 +8950 +8951 +8952 +8953 +8954 +8955 +8956 +8957 +8958 +8959 +8960 +8961 +8962 +8963 +8964 +8965 +8966 +8967 +8968 +8969 +8970 +8971 +8972 +8973 +8974 +8975 +8976 +8977 +8978 +8979 +8980 +8981 +8982 +8983 +8984 +8985 +8986 +8987 +8988 +8989 +8990 +8991 +8992 +8993 +8994 +8995 +8996 +8997 +8998 +8999 +9000 +9001 +9002 +9003 +9004 +9005 +9006 +9007 +9008 +9009 +9010 +9011 +9012 +9013 +9014 +9015 +9016 +9017 +9018 +9019 +9020 +9021 +9022 +9023 +9024 +9025 +9026 +9027 +9028 +9029 +9030 +9031 +9032 +9033 +9034 +9035 +9036 +9037 +9038 +9039 +9040 +9041 +9042 +9043 +9044 +9045 +9046 +9047 +9048 +9049 +9050 +9051 +9052 +9053 +9054 +9055 +9056 +9057 +9058 +9059 +9060 +9061 +9062 +9063 +9064 +9065 +9066 +9067 +9068 +9069 +9070 +9071 +9072 +9073 +9074 +9075 +9076 +9077 +9078 +9079 +9080 +9081 +9082 +9083 +9084 +9085 +9086 +9087 +9088 +9089 +9090 +9091 +9092 +9093 +9094 +9095 +9096 +9097 +9098 +9099 +9100 +9101 +9102 +9103 +9104 +9105 +9106 +9107 +9108 +9109 +9110 +9111 +9112 +9113 +9114 +9115 +9116 +9117 +9118 +9119 +9120 +9121 +9122 +9123 +9124 +9125 +9126 +9127 +9128 +9129 +9130 +9131 +9132 +9133 +9134 +9135 +9136 +9137 +9138 +9139 +9140 +9141 +9142 +9143 +9144 +9145 +9146 +9147 +9148 +9149 +9150 +9151 +9152 +9153 +9154 +9155 +9156 +9157 +9158 +9159 +9160 +9161 +9162 +9163 +9164 +9165 +9166 +9167 +9168 +9169 +9170 +9171 +9172 +9173 +9174 +9175 +9176 +9177 +9178 +9179 +9180 +9181 +9182 +9183 +9184 +9185 +9186 +9187 +9188 +9189 +9190 +9191 +9192 +9193 +9194 +9195 +9196 +9197 +9198 +9199 +9200 +9201 +9202 +9203 +9204 +9205 +9206 +9207 +9208 +9209 +9210 +9211 +9212 +9213 +9214 +9215 +9216 +9217 +9218 +9219 +9220 +9221 +9222 +9223 +9224 +9225 +9226 +9227 +9228 +9229 +9230 +9231 +9232 +9233 +9234 +9235 +9236 +9237 +9238 +9239 +9240 +9241 +9242 +9243 +9244 +9245 +9246 +9247 +9248 +9249 +9250 +9251 +9252 +9253 +9254 +9255 +9256 +9257 +9258 +9259 +9260 +9261 +9262 +9263 +9264 +9265 +9266 +9267 +9268 +9269 +9270 +9271 +9272 +9273 +9274 +9275 +9276 +9277 +9278 +9279 +9280 +9281 +9282 +9283 +9284 +9285 +9286 +9287 +9288 +9289 +9290 +9291 +9292 +9293 +9294 +9295 +9296 +9297 +9298 +9299 +9300 +9301 +9302 +9303 +9304 +9305 +9306 +9307 +9308 +9309 +9310 +9311 +9312 +9313 +9314 +9315 +9316 +9317 +9318 +9319 +9320 +9321 +9322 +9323 +9324 +9325 +9326 +9327 +9328 +9329 +9330 +9331 +9332 +9333 +9334 +9335 +9336 +9337 +9338 +9339 +9340 +9341 +9342 +9343 +9344 +9345 +9346 +9347 +9348 +9349 +9350 +9351 +9352 +9353 +9354 +9355 +9356 +9357 +9358 +9359 +9360 +9361 +9362 +9363 +9364 +9365 +9366 +9367 +9368 +9369 +9370 +9371 +9372 +9373 +9374 +9375 +9376 +9377 +9378 +9379 +9380 +9381 +9382 +9383 +9384 +9385 +9386 +9387 +9388 +9389 +9390 +9391 +9392 +9393 +9394 +9395 +9396 +9397 +9398 +9399 +9400 +9401 +9402 +9403 +9404 +9405 +9406 +9407 +9408 +9409 +9410 +9411 +9412 +9413 +9414 +9415 +9416 +9417 +9418 +9419 +9420 +9421 +9422 +9423 +9424 +9425 +9426 +9427 +9428 +9429 +9430 +9431 +9432 +9433 +9434 +9435 +9436 +9437 +9438 +9439 +9440 +9441 +9442 +9443 +9444 +9445 +9446 +9447 +9448 +9449 +9450 +9451 +9452 +9453 +9454 +9455 +9456 +9457 +9458 +9459 +9460 +9461 +9462 +9463 +9464 +9465 +9466 +9467 +9468 +9469 +9470 +9471 +9472 +9473 +9474 +9475 +9476 +9477 +9478 +9479 +9480 +9481 +9482 +9483 +9484 +9485 +9486 +9487 +9488 +9489 +9490 +9491 +9492 +9493 +9494 +9495 +9496 +9497 +9498 +9499 +9500 +9501 +9502 +9503 +9504 +9505 +9506 +9507 +9508 +9509 +9510 +9511 +9512 +9513 +9514 +9515 +9516 +9517 +9518 +9519 +9520 +9521 +9522 +9523 +9524 +9525 +9526 +9527 +9528 +9529 +9530 +9531 +9532 +9533 +9534 +9535 +9536 +9537 +9538 +9539 +9540 +9541 +9542 +9543 +9544 +9545 +9546 +9547 +9548 +9549 +9550 +9551 +9552 +9553 +9554 +9555 +9556 +9557 +9558 +9559 +9560 +9561 +9562 +9563 +9564 +9565 +9566 +9567 +9568 +9569 +9570 +9571 +9572 +9573 +9574 +9575 +9576 +9577 +9578 +9579 +9580 +9581 +9582 +9583 +9584 +9585 +9586 +9587 +9588 +9589 +9590 +9591 +9592 +9593 +9594 +9595 +9596 +9597 +9598 +9599 +9600 +9601 +9602 +9603 +9604 +9605 +9606 +9607 +9608 +9609 +9610 +9611 +9612 +9613 +9614 +9615 +9616 +9617 +9618 +9619 +9620 +9621 +9622 +9623 +9624 +9625 +9626 +9627 +9628 +9629 +9630 +9631 +9632 +9633 +9634 +9635 +9636 +9637 +9638 +9639 +9640 +9641 +9642 +9643 +9644 +9645 +9646 +9647 +9648 +9649 +9650 +9651 +9652 +9653 +9654 +9655 +9656 +9657 +9658 +9659 +9660 +9661 +9662 +9663 +9664 +9665 +9666 +9667 +9668 +9669 +9670 +9671 +9672 +9673 +9674 +9675 +9676 +9677 +9678 +9679 +9680 +9681 +9682 +9683 +9684 +9685 +9686 +9687 +9688 +9689 +9690 +9691 +9692 +9693 +9694 +9695 +9696 +9697 +9698 +9699 +9700 +9701 +9702 +9703 +9704 +9705 +9706 +9707 +9708 +9709 +9710 +9711 +9712 +9713 +9714 +9715 +9716 +9717 +9718 +9719 +9720 +9721 +9722 +9723 +9724 +9725 +9726 +9727 +9728 +9729 +9730 +9731 +9732 +9733 +9734 +9735 +9736 +9737 +9738 +9739 +9740 +9741 +9742 +9743 +9744 +9745 +9746 +9747 +9748 +9749 +9750 +9751 +9752 +9753 +9754 +9755 +9756 +9757 +9758 +9759 +9760 +9761 +9762 +9763 +9764 +9765 +9766 +9767 +9768 +9769 +9770 +9771 +9772 +9773 +9774 +9775 +9776 +9777 +9778 +9779 +9780 +9781 +9782 +9783 +9784 +9785 +9786 +9787 +9788 +9789 +9790 +9791 +9792 +9793 +9794 +9795 +9796 +9797 +9798 +9799 +9800 +9801 +9802 +9803 +9804 +9805 +9806 +9807 +9808 +9809 +9810 +9811 +9812 +9813 +9814 +9815 +9816 +9817 +9818 +9819 +9820 +9821 +9822 +9823 +9824 +9825 +9826 +9827 +9828 +9829 +9830 +9831 +9832 +9833 +9834 +9835 +9836 +9837 +9838 +9839 +9840 +9841 +9842 +9843 +9844 +9845 +9846 +9847 +9848 +9849 +9850 +9851 +9852 +9853 +9854 +9855 +9856 +9857 +9858 +9859 +9860 +9861 +9862 +9863 +9864 +9865 +9866 +9867 +9868 +9869 +9870 +9871 +9872 +9873 +9874 +9875 +9876 +9877 +9878 +9879 +9880 +9881 +9882 +9883 +9884 +9885 +9886 +9887 +9888 +9889 +9890 +9891 +9892 +9893 +9894 +9895 +9896 +9897 +9898 +9899 +9900 +9901 +9902 +9903 +9904 +9905 +9906 +9907 +9908 +9909 +9910 +9911 +9912 +9913 +9914 +9915 +9916 +9917 +9918 +9919 +9920 +9921 +9922 +9923 +9924 +9925 +9926 +9927 +9928 +9929 +9930 +9931 +9932 +9933 +9934 +9935 +9936 +9937 +9938 +9939 +9940 +9941 +9942 +9943 +9944 +9945 +9946 +9947 +9948 +9949 +9950 +9951 +9952 +9953 +9954 +9955 +9956 +9957 +9958 +9959 +9960 +9961 +9962 +9963 +9964 +9965 +9966 +9967 +9968 +9969 +9970 +9971 +9972 +9973 +9974 +9975 +9976 +9977 +9978 +9979 +9980 +9981 +9982 +9983 +9984 +9985 +9986 +9987 +9988 +9989 +9990 +9991 +9992 +9993 +9994 +9995 +9996 +9997 +9998 +9999 +10000 +10001 +10002 +10003 +10004 +10005 +10006 +10007 +10008 +10009 +10010 +10011 +10012 +10013 +10014 +10015 +10016 +10017 +10018 +10019 +10020 +10021 +10022 +10023 +10024 +10025 +10026 +10027 +10028 +10029 +10030 +10031 +10032 +10033 +10034 +10035 +10036 +10037 +10038 +10039 +10040 +10041 +10042 +10043 +10044 +10045 +10046 +10047 +10048 +10049 +10050 +10051 +10052 +10053 +10054 +10055 +10056 +10057 +10058 +10059 +10060 +10061 +10062 +10063 +10064 +10065 +10066 +10067 +10068 +10069 +10070 +10071 +10072 +10073 +10074 +10075 +10076 +10077 +10078 +10079 +10080 +10081 +10082 +10083 +10084 +10085 +10086 +10087 +10088 +10089 +10090 +10091 +10092 +10093 +10094 +10095 +10096 +10097 +10098 +10099 +10100 +10101 +10102 +10103 +10104 +10105 +10106 +10107 +10108 +10109 +10110 +10111 +10112 +10113 +10114 +10115 +10116 +10117 +10118 +10119 +10120 +10121 +10122 +10123 +10124 +10125 +10126 +10127 +10128 +10129 +10130 +10131 +10132 +10133 +10134 +10135 +10136 +10137 +10138 +10139 +10140 +10141 +10142 +10143 +10144 +10145 +10146 +10147 +10148 +10149 +10150 +10151 +10152 +10153 +10154 +10155 +10156 +10157 +10158 +10159 +10160 +10161 +10162 +10163 +10164 +10165 +10166 +10167 +10168 +10169 +10170 +10171 +10172 +10173 +10174 +10175 +10176 +10177 +10178 +10179 +10180 +10181 +10182 +10183 +10184 +10185 +10186 +10187 +10188 +10189 +10190 +10191 +10192 +10193 +10194 +10195 +10196 +10197 +10198 +10199 +10200 +10201 +10202 +10203 +10204 +10205 +10206 +10207 +10208 +10209 +10210 +10211 +10212 +10213 +10214 +10215 +10216 +10217 +10218 +10219 +10220 +10221 +10222 +10223 +10224 +10225 +10226 +10227 +10228 +10229 +10230 +10231 +10232 +10233 +10234 +10235 +10236 +10237 +10238 +10239 +10240 +10241 +10242 +10243 +10244 +10245 +10246 +10247 +10248 +10249 +10250 +10251 +10252 +10253 +10254 +10255 +10256 +10257 +10258 +10259 +10260 +10261 +10262 +10263 +10264 +10265 +10266 +10267 +10268 +10269 +10270 +10271 +10272 +10273 +10274 +10275 +10276 +10277 +10278 +10279 +10280 +10281 +10282 +10283 +10284 +10285 +10286 +10287 +10288 +10289 +10290 +10291 +10292 +10293 +10294 +10295 +10296 +10297 +10298 +10299 +10300 +10301 +10302 +10303 +10304 +10305 +10306 +10307 +10308 +10309 +10310 +10311 +10312 +10313 +10314 +10315 +10316 +10317 +10318 +10319 +10320 +10321 +10322 +10323 +10324 +10325 +10326 +10327 +10328 +10329 +10330 +10331 +10332 +10333 +10334 +10335 +10336 +10337 +10338 +10339 +10340 +10341 +10342 +10343 +10344 +10345 +10346 +10347 +10348 +10349 +10350 +10351 +10352 +10353 +10354 +10355 +10356 +10357 +10358 +10359 +10360 +10361 +10362 +10363 +10364 +10365 +10366 +10367 +10368 +10369 +10370 +10371 +10372 +10373 +10374 +10375 +10376 +10377 +10378 +10379 +10380 +10381 +10382 +10383 +10384 +10385 +10386 +10387 +10388 +10389 +10390 +10391 +10392 +10393 +10394 +10395 +10396 +10397 +10398 +10399 +10400 +10401 +10402 +10403 +10404 +10405 +10406 +10407 +10408 +10409 +10410 +10411 +10412 +10413 +10414 +10415 +10416 +10417 +10418 +10419 +10420 +10421 +10422 +10423 +10424 +10425 +10426 +10427 +10428 +10429 +10430 +10431 +10432 +10433 +10434 +10435 +10436 +10437 +10438 +10439 +10440 +10441 +10442 +10443 +10444 +10445 +10446 +10447 +10448 +10449 +10450 +10451 +10452 +10453 +10454 +10455 +10456 +10457 +10458 +10459 +10460 +10461 +10462 +10463 +10464 +10465 +10466 +10467 +10468 +10469 +10470 +10471 +10472 +10473 +10474 +10475 +10476 +10477 +10478 +10479 +10480 +10481 +10482 +10483 +10484 +10485 +10486 +10487 +10488 +10489 +10490 +10491 +10492 +10493 +10494 +10495 +10496 +10497 +10498 +10499 +10500 +10501 +10502 +10503 +10504 +10505 +10506 +10507 +10508 +10509 +10510 +10511 +10512 +10513 +10514 +10515 +10516 +10517 +10518 +10519 +10520 +10521 +10522 +10523 +10524 +10525 +10526 +10527 +10528 +10529 +10530 +10531 +10532 +10533 +10534 +10535 +10536 +10537 +10538 +10539 +10540 +10541 +10542 +10543 +10544 +10545 +10546 +10547 +10548 +10549 +10550 +10551 +10552 +10553 +10554 +10555 +10556 +10557 +10558 +10559 +10560 +10561 +10562 +10563 +10564 +10565 +10566 +10567 +10568 +10569 +10570 +10571 +10572 +10573 +10574 +10575 +10576 +10577 +10578 +10579 +10580 +10581 +10582 +10583 +10584 +10585 +10586 +10587 +10588 +10589 +10590 +10591 +10592 +10593 +10594 +10595 +10596 +10597 +10598 +10599 +10600 +10601 +10602 +10603 +10604 +10605 +10606 +10607 +10608 +10609 +10610 +10611 +10612 +10613 +10614 +10615 +10616 +10617 +10618 +10619 +10620 +10621 +10622 +10623 +10624 +10625 +10626 +10627 +10628 +10629 +10630 +10631 +10632 +10633 +10634 +10635 +10636 +10637 +10638 +10639 +10640 +10641 +10642 +10643 +10644 +10645 +10646 +10647 +10648 +10649 +10650 +10651 +10652 +10653 +10654 +10655 +10656 +10657 +10658 +10659 +10660 +10661 +10662 +10663 +10664 +10665 +10666 +10667 +10668 +10669 +10670 +10671 +10672 +10673 +10674 +10675 +10676 +10677 +10678 +10679 +10680 +10681 +10682 +10683 +10684 +10685 +10686 +10687 +10688 +10689 +10690 +10691 +10692 +10693 +10694 +10695 +10696 +10697 +10698 +10699 +10700 +10701 +10702 +10703 +10704 +10705 +10706 +10707 +10708 +10709 +10710 +10711 +10712 +10713 +10714 +10715 +10716 +10717 +10718 +10719 +10720 +10721 +10722 +10723 +10724 +10725 +10726 +10727 +10728 +10729 +10730 +10731 +10732 +10733 +10734 +10735 +10736 +10737 +10738 +10739 +10740 +10741 +10742 +10743 +10744 +10745 +10746 +10747 +10748 +10749 +10750 +10751 +10752 +10753 +10754 +10755 +10756 +10757 +10758 +10759 +10760 +10761 +10762 +10763 +10764 +10765 +10766 +10767 +10768 +10769 +10770 +10771 +10772 +10773 +10774 +10775 +10776 +10777 +10778 +10779 +10780 +10781 +10782 +10783 +10784 +10785 +10786 +10787 +10788 +10789 +10790 +10791 +10792 +10793 +10794 +10795 +10796 +10797 +10798 +10799 +10800 +10801 +10802 +10803 +10804 +10805 +10806 +10807 +10808 +10809 +10810 +10811 +10812 +10813 +10814 +10815 +10816 +10817 +10818 +10819 +10820 +10821 +10822 +10823 +10824 +10825 +10826 +10827 +10828 +10829 +10830 +10831 +10832 +10833 +10834 +10835 +10836 +10837 +10838 +10839 +10840 +10841 +10842 +10843 +10844 +10845 +10846 +10847 +10848 +10849 +10850 +10851 +10852 +10853 +10854 +10855 +10856 +10857 +10858 +10859 +10860 +10861 +10862 +10863 +10864 +10865 +10866 +10867 +10868 +10869 +10870 +10871 +10872 +10873 +10874 +10875 +10876 +10877 +10878 +10879 +10880 +10881 +10882 +10883 +10884 +10885 +10886 +10887 +10888 +10889 +10890 +10891 +10892 +10893 +10894 +10895 +10896 +10897 +10898 +10899 +10900 +10901 +10902 +10903 +10904 +10905 +10906 +10907 +10908 +10909 +10910 +10911 +10912 +10913 +10914 +10915 +10916 +10917 +10918 +10919 +10920 +10921 +10922 +10923 +10924 +10925 +10926 +10927 +10928 +10929 +10930 +10931 +10932 +10933 +10934 +10935 +10936 +10937 +10938 +10939 +10940 +10941 +10942 +10943 +10944 +10945 +10946 +10947 +10948 +10949 +10950 +10951 +10952 +10953 +10954 +10955 +10956 +10957 +10958 +10959 +10960 +10961 +10962 +10963 +10964 +10965 +10966 +10967 +10968 +10969 +10970 +10971 +10972 +10973 +10974 +10975 +10976 +10977 +10978 +10979 +10980 +10981 +10982 +10983 +10984 +10985 +10986 +10987 +10988 +10989 +10990 +10991 +10992 +10993 +10994 +10995 +10996 +10997 +10998 +10999 +11000 +11001 +11002 +11003 +11004 +11005 +11006 +11007 +11008 +11009 +11010 +11011 +11012 +11013 +11014 +11015 +11016 +11017 +11018 +11019 +11020 +11021 +11022 +11023 +11024 +11025 +11026 +11027 +11028 +11029 +11030 +11031 +11032 +11033 +11034 +11035 +11036 +11037 +11038 +11039 +11040 +11041 +11042 +11043 +11044 +11045 +11046 +11047 +11048 +11049 +11050 +11051 +11052 +11053 +11054 +11055 +11056 +11057 +11058 +11059 +11060 +11061 +11062 +11063 +11064 +11065 +11066 +11067 +11068 +11069 +11070 +11071 +11072 +11073 +11074 +11075 +11076 +11077 +11078 +11079 +11080 +11081 +11082 +11083 +11084 +11085 +11086 +11087 +11088 +11089 +11090 +11091 +11092 +11093 +11094 +11095 +11096 +11097 +11098 +11099 +11100 +11101 +11102 +11103 +11104 +11105 +11106 +11107 +11108 +11109 +11110 +11111 +11112 +11113 +11114 +11115 +11116 +11117 +11118 +11119 +11120 +11121 +11122 +11123 +11124 +11125 +11126 +11127 +11128 +11129 +11130 +11131 +11132 +11133 +11134 +11135 +11136 +11137 +11138 +11139 +11140 +11141 +11142 +11143 +11144 +11145 +11146 +11147 +11148 +11149 +11150 +11151 +11152 +11153 +11154 +11155 +11156 +11157 +11158 +11159 +11160 +11161 +11162 +11163 +11164 +11165 +11166 +11167 +11168 +11169 +11170 +11171 +11172 +11173 +11174 +11175 +11176 +11177 +11178 +11179 +11180 +11181 +11182 +11183 +11184 +11185 +11186 +11187 +11188 +11189 +11190 +11191 +11192 +11193 +11194 +11195 +11196 +11197 +11198 +11199 +11200 +11201 +11202 +11203 +11204 +11205 +11206 +11207 +11208 +11209 +11210 +11211 +11212 +11213 +11214 +11215 +11216 +11217 +11218 +11219 +11220 +11221 +11222 +11223 +11224 +11225 +11226 +11227 +11228 +11229 +11230 +11231 +11232 +11233 +11234 +11235 +11236 +11237 +11238 +11239 +11240 +11241 +11242 +11243 +11244 +11245 +11246 +11247 +11248 +11249 +11250 +11251 +11252 +11253 +11254 +11255 +11256 +11257 +11258 +11259 +11260 +11261 +11262 +11263 +11264 +11265 +11266 +11267 +11268 +11269 +11270 +11271 +11272 +11273 +11274 +11275 +11276 +11277 +11278 +11279 +11280 +11281 +11282 +11283 +11284 +11285 +11286 +11287 +11288 +11289 +11290 +11291 +11292 +11293 +11294 +11295 +11296 +11297 +11298 +11299 +11300 +11301 +11302 +11303 +11304 +11305 +11306 +11307 +11308 +11309 +11310 +11311 +11312 +11313 +11314 +11315 +11316 +11317 +11318 +11319 +11320 +11321 +11322 +11323 +11324 +11325 +11326 +11327 +11328 +11329 +11330 +11331 +11332 +11333 +11334 +11335 +11336 +11337 +11338 +11339 +11340 +11341 +11342 +11343 +11344 +11345 +11346 +11347 +11348 +11349 +11350 +11351 +11352 +11353 +11354 +11355 +11356 +11357 +11358 +11359 +11360 +11361 +11362 +11363 +11364 +11365 +11366 +11367 +11368 +11369 +11370 +11371 +11372 +11373 +11374 +11375 +11376 +11377 +11378 +11379 +11380 +11381 +11382 +11383 +11384 +11385 +11386 +11387 +11388 +11389 +11390 +11391 +11392 +11393 +11394 +11395 +11396 +11397 +11398 +11399 +11400 +11401 +11402 +11403 +11404 +11405 +11406 +11407 +11408 +11409 +11410 +11411 +11412 +11413 +11414 +11415 +11416 +11417 +11418 +11419 +11420 +11421 +11422 +11423 +11424 +11425 +11426 +11427 +11428 +11429 +11430 +11431 +11432 +11433 +11434 +11435 +11436 +11437 +11438 +11439 +11440 +11441 +11442 +11443 +11444 +11445 +11446 +11447 +11448 +11449 +11450 +11451 +11452 +11453 +11454 +11455 +11456 +11457 +11458 +11459 +11460 +11461 +11462 +11463 +11464 +11465 +11466 +11467 +11468 +11469 +11470 +11471 +11472 +11473 +11474 +11475 +11476 +11477 +11478 +11479 +11480 +11481 +11482 +11483 +11484 +11485 +11486 +11487 +11488 +11489 +11490 +11491 +11492 +11493 +11494 +11495 +11496 +11497 +11498 +11499 +11500 +11501 +11502 +11503 +11504 +11505 +11506 +11507 +11508 +11509 +11510 +11511 +11512 +11513 +11514 +11515 +11516 +11517 +11518 +11519 +11520 +11521 +11522 +11523 +11524 +11525 +11526 +11527 +11528 +11529 +11530 +11531 +11532 +11533 +11534 +11535 +11536 +11537 +11538 +11539 +11540 +11541 +11542 +11543 +11544 +11545 +11546 +11547 +11548 +11549 +11550 +11551 +11552 +11553 +11554 +11555 +11556 +11557 +11558 +11559 +11560 +11561 +11562 +11563 +11564 +11565 +11566 +11567 +11568 +11569 +11570 +11571 +11572 +11573 +11574 +11575 +11576 +11577 +11578 +11579 +11580 +11581 +11582 +11583 +11584 +11585 +11586 +11587 +11588 +11589 +11590 +11591 +11592 +11593 +11594 +11595 +11596 +11597 +11598 +11599 +11600 +11601 +11602 +11603 +11604 +11605 +11606 +11607 +11608 +11609 +11610 +11611 +11612 +11613 +11614 +11615 +11616 +11617 +11618 +11619 +11620 +11621 +11622 +11623 +11624 +11625 +11626 +11627 +11628 +11629 +11630 +11631 +11632 +11633 +11634 +11635 +11636 +11637 +11638 +11639 +11640 +11641 +11642 +11643 +11644 +11645 +11646 +11647 +11648 +11649 +11650 +11651 +11652 +11653 +11654 +11655 +11656 +11657 +11658 +11659 +11660 +11661 +11662 +11663 +11664 +11665 +11666 +11667 +11668 +11669 +11670 +11671 +11672 +11673 +11674 +11675 +11676 +11677 +11678 +11679 +11680 +11681 +11682 +11683 +11684 +11685 +11686 +11687 +11688 +11689 +11690 +11691 +11692 +11693 +11694 +11695 +11696 +11697 +11698 +11699 +11700 +11701 +11702 +11703 +11704 +11705 +11706 +11707 +11708 +11709 +11710 +11711 +11712 +11713 +11714 +11715 +11716 +11717 +11718 +11719 +11720 +11721 +11722 +11723 +11724 +11725 +11726 +11727 +11728 +11729 +11730 +11731 +11732 +11733 +11734 +11735 +11736 +11737 +11738 +11739 +11740 +11741 +11742 +11743 +11744 +11745 +11746 +11747 +11748 +11749 +11750 +11751 +11752 +11753 +11754 +11755 +11756 +11757 +11758 +11759 +11760 +11761 +11762 +11763 +11764 +11765 +11766 +11767 +11768 +11769 +11770 +11771 +11772 +11773 +11774 +11775 +11776 +11777 +11778 +11779 +11780 +11781 +11782 +11783 +11784 +11785 +11786 +11787 +11788 +11789 +11790 +11791 +11792 +11793 +11794 +11795 +11796 +11797 +11798 +11799 +11800 +11801 +11802 +11803 +11804 +11805 +11806 +11807 +11808 +11809 +11810 +11811 +11812 +11813 +11814 +11815 +11816 +11817 +11818 +11819 +11820 +11821 +11822 +11823 +11824 +11825 +11826 +11827 +11828 +11829 +11830 +11831 +11832 +11833 +11834 +11835 +11836 +11837 +11838 +11839 +11840 +11841 +11842 +11843 +11844 +11845 +11846 +11847 +11848 +11849 +11850 +11851 +11852 +11853 +11854 +11855 +11856 +11857 +11858 +11859 +11860 +11861 +11862 +11863 +11864 +11865 +11866 +11867 +11868 +11869 +11870 +11871 +11872 +11873 +11874 +11875 +11876 +11877 +11878 +11879 +11880 +11881 +11882 +11883 +11884 +11885 +11886 +11887 +11888 +11889 +11890 +11891 +11892 +11893 +11894 +11895 +11896 +11897 +11898 +11899 +11900 +11901 +11902 +11903 +11904 +11905 +11906 +11907 +11908 +11909 +11910 +11911 +11912 +11913 +11914 +11915 +11916 +11917 +11918 +11919 +11920 +11921 +11922 +11923 +11924 +11925 +11926 +11927 +11928 +11929 +11930 +11931 +11932 +11933 +11934 +11935 +11936 +11937 +11938 +11939 +11940 +11941 +11942 +11943 +11944 +11945 +11946 +11947 +11948 +11949 +11950 +11951 +11952 +11953 +11954 +11955 +11956 +11957 +11958 +11959 +11960 +11961 +11962 +11963 +11964 +11965 +11966 +11967 +11968 +11969 +11970 +11971 +11972 +11973 +11974 +11975 +11976 +11977 +11978 +11979 +11980 +11981 +11982 +11983 +11984 +11985 +11986 +11987 +11988 +11989 +11990 +11991 +11992 +11993 +11994 +11995 +11996 +11997 +11998 +11999 +12000 +12001 +12002 +12003 +12004 +12005 +12006 +12007 +12008 +12009 +12010 +12011 +12012 +12013 +12014 +12015 +12016 +12017 +12018 +12019 +12020 +12021 +12022 +12023 +12024 +12025 +12026 +12027 +12028 +12029 +12030 +12031 +12032 +12033 +12034 +12035 +12036 +12037 +12038 +12039 +12040 +12041 +12042 +12043 +12044 +12045 +12046 +12047 +12048 +12049 +12050 +12051 +12052 +12053 +12054 +12055 +12056 +12057 +12058 +12059 +12060 +12061 +12062 +12063 +12064 +12065 +12066 +12067 +12068 +12069 +12070 +12071 +12072 +12073 +12074 +12075 +12076 +12077 +12078 +12079 +12080 +12081 +12082 +12083 +12084 +12085 +12086 +12087 +12088 +12089 +12090 +12091 +12092 +12093 +12094 +12095 +12096 +12097 +12098 +12099 +12100 +12101 +12102 +12103 +12104 +12105 +12106 +12107 +12108 +12109 +12110 +12111 +12112 +12113 +12114 +12115 +12116 +12117 +12118 +12119 +12120 +12121 +12122 +12123 +12124 +12125 +12126 +12127 +12128 +12129 +12130 +12131 +12132 +12133 +12134 +12135 +12136 +12137 +12138 +12139 +12140 +12141 +12142 +12143 +12144 +12145 +12146 +12147 +12148 +12149 +12150 +12151 +12152 +12153 +12154 +12155 +12156 +12157 +12158 +12159 +12160 +12161 +12162 +12163 +12164 +12165 +12166 +12167 +12168 +12169 +12170 +12171 +12172 +12173 +12174 +12175 +12176 +12177 +12178 +12179 +12180 +12181 +12182 +12183 +12184 +12185 +12186 +12187 +12188 +12189 +12190 +12191 +12192 +12193 +12194 +12195 +12196 +12197 +12198 +12199 +12200 +12201 +12202 +12203 +12204 +12205 +12206 +12207 +12208 +12209 +12210 +12211 +12212 +12213 +12214 +12215 +12216 +12217 +12218 +12219 +12220 +12221 +12222 +12223 +12224 +12225 +12226 +12227 +12228 +12229 +12230 +12231 +12232 +12233 +12234 +12235 +12236 +12237 +12238 +12239 +12240 +12241 +12242 +12243 +12244 +12245 +12246 +12247 +12248 +12249 +12250 +12251 +12252 +12253 +12254 +12255 +12256 +12257 +12258 +12259 +12260 +12261 +12262 +12263 +12264 +12265 +12266 +12267 +12268 +12269 +12270 +12271 +12272 +12273 +12274 +12275 +12276 +12277 +12278 +12279 +12280 +12281 +12282 +12283 +12284 +12285 +12286 +12287 +12288 +12289 +12290 +12291 +12292 +12293 +12294 +12295 +12296 +12297 +12298 +12299 +12300 +12301 +12302 +12303 +12304 +12305 +12306 +12307 +12308 +12309 +12310 +12311 +12312 +12313 +12314 +12315 +12316 +12317 +12318 +12319 +12320 +12321 +12322 +12323 +12324 +12325 +12326 +12327 +12328 +12329 +12330 +12331 +12332 +12333 +12334 +12335 +12336 +12337 +12338 +12339 +12340 +12341 +12342 +12343 +12344 +12345 +12346 +12347 +12348 +12349 +12350 +12351 +12352 +12353 +12354 +12355 +12356 +12357 +12358 +12359 +12360 +12361 +12362 +12363 +12364 +12365 +12366 +12367 +12368 +12369 +12370 +12371 +12372 +12373 +12374 +12375 +12376 +12377 +12378 +12379 +12380 +12381 +12382 +12383 +12384 +12385 +12386 +12387 +12388 +12389 +12390 +12391 +12392 +12393 +12394 +12395 +12396 +12397 +12398 +12399 +12400 +12401 +12402 +12403 +12404 +12405 +12406 +12407 +12408 +12409 +12410 +12411 +12412 +12413 +12414 +12415 +12416 +12417 +12418 +12419 +12420 +12421 +12422 +12423 +12424 +12425 +12426 +12427 +12428 +12429 +12430 +12431 +12432 +12433 +12434 +12435 +12436 +12437 +12438 +12439 +12440 +12441 +12442 +12443 +12444 +12445 +12446 +12447 +12448 +12449 +12450 +12451 +12452 +12453 +12454 +12455 +12456 +12457 +12458 +12459 +12460 +12461 +12462 +12463 +12464 +12465 +12466 +12467 +12468 +12469 +12470 +12471 +12472 +12473 +12474 +12475 +12476 +12477 +12478 +12479 +12480 +12481 +12482 +12483 +12484 +12485 +12486 +12487 +12488 +12489 +12490 +12491 +12492 +12493 +12494 +12495 +12496 +12497 +12498 +12499 +12500 +12501 +12502 +12503 +12504 +12505 +12506 +12507 +12508 +12509 +12510 +12511 +12512 +12513 +12514 +12515 +12516 +12517 +12518 +12519 +12520 +12521 +12522 +12523 +12524 +12525 +12526 +12527 +12528 +12529 +12530 +12531 +12532 +12533 +12534 +12535 +12536 +12537 +12538 +12539 +12540 +12541 +12542 +12543 +12544 +12545 +12546 +12547 +12548 +12549 +12550 +12551 +12552 +12553 +12554 +12555 +12556 +12557 +12558 +12559 +12560 +12561 +12562 +12563 +12564 +12565 +12566 +12567 +12568 +12569 +12570 +12571 +12572 +12573 +12574 +12575 +12576 +12577 +12578 +12579 +12580 +12581 +12582 +12583 +12584 +12585 +12586 +12587 +12588 +12589 +12590 +12591 +12592 +12593 +12594 +12595 +12596 +12597 +12598 +12599 +12600 +12601 +12602 +12603 +12604 +12605 +12606 +12607 +12608 +12609 +12610 +12611 +12612 +12613 +12614 +12615 +12616 +12617 +12618 +12619 +12620 +12621 +12622 +12623 +12624 +12625 +12626 +12627 +12628 +12629 +12630 +12631 +12632 +12633 +12634 +12635 +12636 +12637 +12638 +12639 +12640 +12641 +12642 +12643 +12644 +12645 +12646 +12647 +12648 +12649 +12650 +12651 +12652 +12653 +12654 +12655 +12656 +12657 +12658 +12659 +12660 +12661 +12662 +12663 +12664 +12665 +12666 +12667 +12668 +12669 +12670 +12671 +12672 +12673 +12674 +12675 +12676 +12677 +12678 +12679 +12680 +12681 +12682 +12683 +12684 +12685 +12686 +12687 +12688 +12689 +12690 +12691 +12692 +12693 +12694 +12695 +12696 +12697 +12698 +12699 +12700 +12701 +12702 +12703 +12704 +12705 +12706 +12707 +12708 +12709 +12710 +12711 +12712 +12713 +12714 +12715 +12716 +12717 +12718 +12719 +12720 +12721 +12722 +12723 +12724 +12725 +12726 +12727 +12728 +12729 +12730 +12731 +12732 +12733 +12734 +12735 +12736 +12737 +12738 +12739 +12740 +12741 +12742 +12743 +12744 +12745 +12746 +12747 +12748 +12749 +12750 +12751 +12752 +12753 +12754 +12755 +12756 +12757 +12758 +12759 +12760 +12761 +12762 +12763 +12764 +12765 +12766 +12767 +12768 +12769 +12770 +12771 +12772 +12773 +12774 +12775 +12776 +12777 +12778 +12779 +12780 +12781 +12782 +12783 +12784 +12785 +12786 +12787 +12788 +12789 +12790 +12791 +12792 +12793 +12794 +12795 +12796 +12797 +12798 +12799 +12800 +12801 +12802 +12803 +12804 +12805 +12806 +12807 +12808 +12809 +12810 +12811 +12812 +12813 +12814 +12815 +12816 +12817 +12818 +12819 +12820 +12821 +12822 +12823 +12824 +12825 +12826 +12827 +12828 +12829 +12830 +12831 +12832 +12833 +12834 +12835 +12836 +12837 +12838 +12839 +12840 +12841 +12842 +12843 +12844 +12845 +12846 +12847 +12848 +12849 +12850 +12851 +12852 +12853 +12854 +12855 +12856 +12857 +12858 +12859 +12860 +12861 +12862 +12863 +12864 +12865 +12866 +12867 +12868 +12869 +12870 +12871 +12872 +12873 +12874 +12875 +12876 +12877 +12878 +12879 +12880 +12881 +12882 +12883 +12884 +12885 +12886 +12887 +12888 +12889 +12890 +12891 +12892 +12893 +12894 +12895 +12896 +12897 +12898 +12899 +12900 +12901 +12902 +12903 +12904 +12905 +12906 +12907 +12908 +12909 +12910 +12911 +12912 +12913 +12914 +12915 +12916 +12917 +12918 +12919 +12920 +12921 +12922 +12923 +12924 +12925 +12926 +12927 +12928 +12929 +12930 +12931 +12932 +12933 +12934 +12935 +12936 +12937 +12938 +12939 +12940 +12941 +12942 +12943 +12944 +12945 +12946 +12947 +12948 +12949 +12950 +12951 +12952 +12953 +12954 +12955 +12956 +12957 +12958 +12959 +12960 +12961 +12962 +12963 +12964 +12965 +12966 +12967 +12968 +12969 +12970 +12971 +12972 +12973 +12974 +12975 +12976 +12977 +12978 +12979 +12980 +12981 +12982 +12983 +12984 +12985 +12986 +12987 +12988 +12989 +12990 +12991 +12992 +12993 +12994 +12995 +12996 +12997 +12998 +12999 +13000 +13001 +13002 +13003 +13004 +13005 +13006 +13007 +13008 +13009 +13010 +13011 +13012 +13013 +13014 +13015 +13016 +13017 +13018 +13019 +13020 +13021 +13022 +13023 +13024 +13025 +13026 +13027 +13028 +13029 +13030 +13031 +13032 +13033 +13034 +13035 +13036 +13037 +13038 +13039 +13040 +13041 +13042 +13043 +13044 +13045 +13046 +13047 +13048 +13049 +13050 +13051 +13052 +13053 +13054 +13055 +13056 +13057 +13058 +13059 +13060 +13061 +13062 +13063 +13064 +13065 +13066 +13067 +13068 +13069 +13070 +13071 +13072 +13073 +13074 +13075 +13076 +13077 +13078 +13079 +13080 +13081 +13082 +13083 +13084 +13085 +13086 +13087 +13088 +13089 +13090 +13091 +13092 +13093 +13094 +13095 +13096 +13097 +13098 +13099 +13100 +13101 +13102 +13103 +13104 +13105 +13106 +13107 +13108 +13109 +13110 +13111 +13112 +13113 +13114 +13115 +13116 +13117 +13118 +13119 +13120 +13121 +13122 +13123 +13124 +13125 +13126 +13127 +13128 +13129 +13130 +13131 +13132 +13133 +13134 +13135 +13136 +13137 +13138 +13139 +13140 +13141 +13142 +13143 +13144 +13145 +13146 +13147 +13148 +13149 +13150 +13151 +13152 +13153 +13154 +13155 +13156 +13157 +13158 +13159 +13160 +13161 +13162 +13163 +13164 +13165 +13166 +13167 +13168 +13169 +13170 +13171 +13172 +13173 +13174 +13175 +13176 +13177 +13178 +13179 +13180 +13181 +13182 +13183 +13184 +13185 +13186 +13187 +13188 +13189 +13190 +13191 +13192 +13193 +13194 +13195 +13196 +13197 +13198 +13199 +13200 +13201 +13202 +13203 +13204 +13205 +13206 +13207 +13208 +13209 +13210 +13211 +13212 +13213 +13214 +13215 +13216 +13217 +13218 +13219 +13220 +13221 +13222 +13223 +13224 +13225 +13226 +13227 +13228 +13229 +13230 +13231 +13232 +13233 +13234 +13235 +13236 +13237 +13238 +13239 +13240 +13241 +13242 +13243 +13244 +13245 +13246 +13247 +13248 +13249 +13250 +13251 +13252 +13253 +13254 +13255 +13256 +13257 +13258 +13259 +13260 +13261 +13262 +13263 +13264 +13265 +13266 +13267 +13268 +13269 +13270 +13271 +13272 +13273 +13274 +13275 +13276 +13277 +13278 +13279 +13280 +13281 +13282 +13283 +13284 +13285 +13286 +13287 +13288 +13289 +13290 +13291 +13292 +13293 +13294 +13295 +13296 +13297 +13298 +13299 +13300 +13301 +13302 +13303 +13304 +13305 +13306 +13307 +13308 +13309 +13310 +13311 +13312 +13313 +13314 +13315 +13316 +13317 +13318 +13319 +13320 +13321 +13322 +13323 +13324 +13325 +13326 +13327 +13328 +13329 +13330 +13331 +13332 +13333 +13334 +13335 +13336 +13337 +13338 +13339 +13340 +13341 +13342 +13343 +13344 +13345 +13346 +13347 +13348 +13349 +13350 +13351 +13352 +13353 +13354 +13355 +13356 +13357 +13358 +13359 +13360 +13361 +13362 +13363 +13364 +13365 +13366 +13367 +13368 +13369 +13370 +13371 +13372 +13373 +13374 +13375 +13376 +13377 +13378 +13379 +13380 +13381 +13382 +13383 +13384 +13385 +13386 +13387 +13388 +13389 +13390 +13391 +13392 +13393 +13394 +13395 +13396 +13397 +13398 +13399 +13400 +13401 +13402 +13403 +13404 +13405 +13406 +13407 +13408 +13409 +13410 +13411 +13412 +13413 +13414 +13415 +13416 +13417 +13418 +13419 +13420 +13421 +13422 +13423 +13424 +13425 +13426 +13427 +13428 +13429 +13430 +13431 +13432 +13433 +13434 +13435 +13436 +13437 +13438 +13439 +13440 +13441 +13442 +13443 +13444 +13445 +13446 +13447 +13448 +13449 +13450 +13451 +13452 +13453 +13454 +13455 +13456 +13457 +13458 +13459 +13460 +13461 +13462 +13463 +13464 +13465 +13466 +13467 +13468 +13469 +13470 +13471 +13472 +13473 +13474 +13475 +13476 +13477 +13478 +13479 +13480 +13481 +13482 +13483 +13484 +13485 +13486 +13487 +13488 +13489 +13490 +13491 +13492 +13493 +13494 +13495 +13496 +13497 +13498 +13499 +13500 +13501 +13502 +13503 +13504 +13505 +13506 +13507 +13508 +13509 +13510 +13511 +13512 +13513 +13514 +13515 +13516 +13517 +13518 +13519 +13520 +13521 +13522 +13523 +13524 +13525 +13526 +13527 +13528 +13529 +13530 +13531 +13532 +13533 +13534 +13535 +13536 +13537 +13538 +13539 +13540 +13541 +13542 +13543 +13544 +13545 +13546 +13547 +13548 +13549 +13550 +13551 +13552 +13553 +13554 +13555 +13556 +13557 +13558 +13559 +13560 +13561 +13562 +13563 +13564 +13565 +13566 +13567 +13568 +13569 +13570 +13571 +13572 +13573 +13574 +13575 +13576 +13577 +13578 +13579 +13580 +13581 +13582 +13583 +13584 +13585 +13586 +13587 +13588 +13589 +13590 +13591 +13592 +13593 +13594 +13595 +13596 +13597 +13598 +13599 +13600 +13601 +13602 +13603 +13604 +13605 +13606 +13607 +13608 +13609 +13610 +13611 +13612 +13613 +13614 +13615 +13616 +13617 +13618 +13619 +13620 +13621 +13622 +13623 +13624 +13625 +13626 +13627 +13628 +13629 +13630 +13631 +13632 +13633 +13634 +13635 +13636 +13637 +13638 +13639 +13640 +13641 +13642 +13643 +13644 +13645 +13646 +13647 +13648 +13649 +13650 +13651 +13652 +13653 +13654 +13655 +13656 +13657 +13658 +13659 +13660 +13661 +13662 +13663 +13664 +13665 +13666 +13667 +13668 +13669 +13670 +13671 +13672 +13673 +13674 +13675 +13676 +13677 +13678 +13679 +13680 +13681 +13682 +13683 +13684 +13685 +13686 +13687 +13688 +13689 +13690 +13691 +13692 +13693 +13694 +13695 +13696 +13697 +13698 +13699 +13700 +13701 +13702 +13703 +13704 +13705 +13706 +13707 +13708 +13709 +13710 +13711 +13712 +13713 +13714 +13715 +13716 +13717 +13718 +13719 +13720 +13721 +13722 +13723 +13724 +13725 +13726 +13727 +13728 +13729 +13730 +13731 +13732 +13733 +13734 +13735 +13736 +13737 +13738 +13739 +13740 +13741 +13742 +13743 +13744 +13745 +13746 +13747 +13748 +13749 +13750 +13751 +13752 +13753 +13754 +13755 +13756 +13757 +13758 +13759 +13760 +13761 +13762 +13763 +13764 +13765 +13766 +13767 +13768 +13769 +13770 +13771 +13772 +13773 +13774 +13775 +13776 +13777 +13778 +13779 +13780 +13781 +13782 +13783 +13784 +13785 +13786 +13787 +13788 +13789 +13790 +13791 +13792 +13793 +13794 +13795 +13796 +13797 +13798 +13799 +13800 +13801 +13802 +13803 +13804 +13805 +13806 +13807 +13808 +13809 +13810 +13811 +13812 +13813 +13814 +13815 +13816 +13817 +13818 +13819 +13820 +13821 +13822 +13823 +13824 +13825 +13826 +13827 +13828 +13829 +13830 +13831 +13832 +13833 +13834 +13835 +13836 +13837 +13838 +13839 +13840 +13841 +13842 +13843 +13844 +13845 +13846 +13847 +13848 +13849 +13850 +13851 +13852 +13853 +13854 +13855 +13856 +13857 +13858 +13859 +13860 +13861 +13862 +13863 +13864 +13865 +13866 +13867 +13868 +13869 +13870 +13871 +13872 +13873 +13874 +13875 +13876 +13877 +13878 +13879 +13880 +13881 +13882 +13883 +13884 +13885 +13886 +13887 +13888 +13889 +13890 +13891 +13892 +13893 +13894 +13895 +13896 +13897 +13898 +13899 +13900 +13901 +13902 +13903 +13904 +13905 +13906 +13907 +13908 +13909 +13910 +13911 +13912 +13913 +13914 +13915 +13916 +13917 +13918 +13919 +13920 +13921 +13922 +13923 +13924 +13925 +13926 +13927 +13928 +13929 +13930 +13931 +13932 +13933 +13934 +13935 +13936 +13937 +13938 +13939 +13940 +13941 +13942 +13943 +13944 +13945 +13946 +13947 +13948 +13949 +13950 +13951 +13952 +13953 +13954 +13955 +13956 +13957 +13958 +13959 +13960 +13961 +13962 +13963 +13964 +13965 +13966 +13967 +13968 +13969 +13970 +13971 +13972 +13973 +13974 +13975 +13976 +13977 +13978 +13979 +13980 +13981 +13982 +13983 +13984 +13985 +13986 +13987 +13988 +13989 +13990 +13991 +13992 +13993 +13994 +13995 +13996 +13997 +13998 +13999 +14000 +14001 +14002 +14003 +14004 +14005 +14006 +14007 +14008 +14009 +14010 +14011 +14012 +14013 +14014 +14015 +14016 +14017 +14018 +14019 +14020 +14021 +14022 +14023 +14024 +14025 +14026 +14027 +14028 +14029 +14030 +14031 +14032 +14033 +14034 +14035 +14036 +14037 +14038 +14039 +14040 +14041 +14042 +14043 +14044 +14045 +14046 +14047 +14048 +14049 +14050 +14051 +14052 +14053 +14054 +14055 +14056 +14057 +14058 +14059 +14060 +14061 +14062 +14063 +14064 +14065 +14066 +14067 +14068 +14069 +14070 +14071 +14072 +14073 +14074 +14075 +14076 +14077 +14078 +14079 +14080 +14081 +14082 +14083 +14084 +14085 +14086 +14087 +14088 +14089 +14090 +14091 +14092 +14093 +14094 +14095 +14096 +14097 +14098 +14099 +14100 +14101 +14102 +14103 +14104 +14105 +14106 +14107 +14108 +14109 +14110 +14111 +14112 +14113 +14114 +14115 +14116 +14117 +14118 +14119 +14120 +14121 +14122 +14123 +14124 +14125 +14126 +14127 +14128 +14129 +14130 +14131 +14132 +14133 +14134 +14135 +14136 +14137 +14138 +14139 +14140 +14141 +14142 +14143 +14144 +14145 +14146 +14147 +14148 +14149 +14150 +14151 +14152 +14153 +14154 +14155 +14156 +14157 +14158 +14159 +14160 +14161 +14162 +14163 +14164 +14165 +14166 +14167 +14168 +14169 +14170 +14171 +14172 +14173 +14174 +14175 +14176 +14177 +14178 +14179 +14180 +14181 +14182 +14183 +14184 +14185 +14186 +14187 +14188 +14189 +14190 +14191 +14192 +14193 +14194 +14195 +14196 +14197 +14198 +14199 +14200 +14201 +14202 +14203 +14204 +14205 +14206 +14207 +14208 +14209 +14210 +14211 +14212 +14213 +14214 +14215 +14216 +14217 +14218 +14219 +14220 +14221 +14222 +14223 +14224 +14225 +14226 +14227 +14228 +14229 +14230 +14231 +14232 +14233 +14234 +14235 +14236 +14237 +14238 +14239 +14240 +14241 +14242 +14243 +14244 +14245 +14246 +14247 +14248 +14249 +14250 +14251 +14252 +14253 +14254 +14255 +14256 +14257 +14258 +14259 +14260 +14261 +14262 +14263 +14264 +14265 +14266 +14267 +14268 +14269 +14270 +14271 +14272 +14273 +14274 +14275 +14276 +14277 +14278 +14279 +14280 +14281 +14282 +14283 +14284 +14285 +14286 +14287 +14288 +14289 +14290 +14291 +14292 +14293 +14294 +14295 +14296 +14297 +14298 +14299 +14300 +14301 +14302 +14303 +14304 +14305 +14306 +14307 +14308 +14309 +14310 +14311 +14312 +14313 +14314 +14315 +14316 +14317 +14318 +14319 +14320 +14321 +14322 +14323 +14324 +14325 +14326 +14327 +14328 +14329 +14330 +14331 +14332 +14333 +14334 +14335 +14336 +14337 +14338 +14339 +14340 +14341 +14342 +14343 +14344 +14345 +14346 +14347 +14348 +14349 +14350 +14351 +14352 +14353 +14354 +14355 +14356 +14357 +14358 +14359 +14360 +14361 +14362 +14363 +14364 +14365 +14366 +14367 +14368 +14369 +14370 +14371 +14372 +14373 +14374 +14375 +14376 +14377 +14378 +14379 +14380 +14381 +14382 +14383 +14384 +14385 +14386 +14387 +14388 +14389 +14390 +14391 +14392 +14393 +14394 +14395 +14396 +14397 +14398 +14399 +14400 +14401 +14402 +14403 +14404 +14405 +14406 +14407 +14408 +14409 +14410 +14411 +14412 +14413 +14414 +14415 +14416 +14417 +14418 +14419 +14420 +14421 +14422 +14423 +14424 +14425 +14426 +14427 +14428 +14429 +14430 +14431 +14432 +14433 +14434 +14435 +14436 +14437 +14438 +14439 +14440 +14441 +14442 +14443 +14444 +14445 +14446 +14447 +14448 +14449 +14450 +14451 +14452 +14453 +14454 +14455 +14456 +14457 +14458 +14459 +14460 +14461 +14462 +14463 +14464 +14465 +14466 +14467 +14468 +14469 +14470 +14471 +14472 +14473 +14474 +14475 +14476 +14477 +14478 +14479 +14480 +14481 +14482 +14483 +14484 +14485 +14486 +14487 +14488 +14489 +14490 +14491 +14492 +14493 +14494 +14495 +14496 +14497 +14498 +14499 +14500 +14501 +14502 +14503 +14504 +14505 +14506 +14507 +14508 +14509 +14510 +14511 +14512 +14513 +14514 +14515 +14516 +14517 +14518 +14519 +14520 +14521 +14522 +14523 +14524 +14525 +14526 +14527 +14528 +14529 +14530 +14531 +14532 +14533 +14534 +14535 +14536 +14537 +14538 +14539 +14540 +14541 +14542 +14543 +14544 +14545 +14546 +14547 +14548 +14549 +14550 +14551 +14552 +14553 +14554 +14555 +14556 +14557 +14558 +14559 +14560 +14561 +14562 +14563 +14564 +14565 +14566 +14567 +14568 +14569 +14570 +14571 +14572 +14573 +14574 +14575 +14576 +14577 +14578 +14579 +14580 +14581 +14582 +14583 +14584 +14585 +14586 +14587 +14588 +14589 +14590 +14591 +14592 +14593 +14594 +14595 +14596 +14597 +14598 +14599 +14600 +14601 +14602 +14603 +14604 +14605 +14606 +14607 +14608 +14609 +14610 +14611 +14612 +14613 +14614 +14615 +14616 +14617 +14618 +14619 +14620 +14621 +14622 +14623 +14624 +14625 +14626 +14627 +14628 +14629 +14630 +14631 +14632 +14633 +14634 +14635 +14636 +14637 +14638 +14639 +14640 +14641 +14642 +14643 +14644 +14645 +14646 +14647 +14648 +14649 +14650 +14651 +14652 +14653 +14654 +14655 +14656 +14657 +14658 +14659 +14660 +14661 +14662 +14663 +14664 +14665 +14666 +14667 +14668 +14669 +14670 +14671 +14672 +14673 +14674 +14675 +14676 +14677 +14678 +14679 +14680 +14681 +14682 +14683 +14684 +14685 +14686 +14687 +14688 +14689 +14690 +14691 +14692 +14693 +14694 +14695 +14696 +14697 +14698 +14699 +14700 +14701 +14702 +14703 +14704 +14705 +14706 +14707 +14708 +14709 +14710 +14711 +14712 +14713 +14714 +14715 +14716 +14717 +14718 +14719 +14720 +14721 +14722 +14723 +14724 +14725 +14726 +14727 +14728 +14729 +14730 +14731 +14732 +14733 +14734 +14735 +14736 +14737 +14738 +14739 +14740 +14741 +14742 +14743 +14744 +14745 +14746 +14747 +14748 +14749 +14750 +14751 +14752 +14753 +14754 +14755 +14756 +14757 +14758 +14759 +14760 +14761 +14762 +14763 +14764 +14765 +14766 +14767 +14768 +14769 +14770 +14771 +14772 +14773 +14774 +14775 +14776 +14777 +14778 +14779 +14780 +14781 +14782 +14783 +14784 +14785 +14786 +14787 +14788 +14789 +14790 +14791 +14792 +14793 +14794 +14795 +14796 +14797 +14798 +14799 +14800 +14801 +14802 +14803 +14804 +14805 +14806 +14807 +14808 +14809 +14810 +14811 +14812 +14813 +14814 +14815 +14816 +14817 +14818 +14819 +14820 +14821 +14822 +14823 +14824 +14825 +14826 +14827 +14828 +14829 +14830 +14831 +14832 +14833 +14834 +14835 +14836 +14837 +14838 +14839 +14840 +14841 +14842 +14843 +14844 +14845 +14846 +14847 +14848 +14849 +14850 +14851 +14852 +14853 +14854 +14855 +14856 +14857 +14858 +14859 +14860 +14861 +14862 +14863 +14864 +14865 +14866 +14867 +14868 +14869 +14870 +14871 +14872 +14873 +14874 +14875 +14876 +14877 +14878 +14879 +14880 +14881 +14882 +14883 +14884 +14885 +14886 +14887 +14888 +14889 +14890 +14891 +14892 +14893 +14894 +14895 +14896 +14897 +14898 +14899 +14900 +14901 +14902 +14903 +14904 +14905 +14906 +14907 +14908 +14909 +14910 +14911 +14912 +14913 +14914 +14915 +14916 +14917 +14918 +14919 +14920 +14921 +14922 +14923 +14924 +14925 +14926 +14927 +14928 +14929 +14930 +14931 +14932 +14933 +14934 +14935 +14936 +14937 +14938 +14939 +14940 +14941 +14942 +14943 +14944 +14945 +14946 +14947 +14948 +14949 +14950 +14951 +14952 +14953 +14954 +14955 +14956 +14957 +14958 +14959 +14960 +14961 +14962 +14963 +14964 +14965 +14966 +14967 +14968 +14969 +14970 +14971 +14972 +14973 +14974 +14975 +14976 +14977 +14978 +14979 +14980 +14981 +14982 +14983 +14984 +14985 +14986 +14987 +14988 +14989 +14990 +14991 +14992 +14993 +14994 +14995 +14996 +14997 +14998 +14999 +15000 +15001 +15002 +15003 +15004 +15005 +15006 +15007 +15008 +15009 +15010 +15011 +15012 +15013 +15014 +15015 +15016 +15017 +15018 +15019 +15020 +15021 +15022 +15023 +15024 +15025 +15026 +15027 +15028 +15029 +15030 +15031 +15032 +15033 +15034 +15035 +15036 +15037 +15038 +15039 +15040 +15041 +15042 +15043 +15044 +15045 +15046 +15047 +15048 +15049 +15050 +15051 +15052 +15053 +15054 +15055 +15056 +15057 +15058 +15059 +15060 +15061 +15062 +15063 +15064 +15065 +15066 +15067 +15068 +15069 +15070 +15071 +15072 +15073 +15074 +15075 +15076 +15077 +15078 +15079 +15080 +15081 +15082 +15083 +15084 +15085 +15086 +15087 +15088 +15089 +15090 +15091 +15092 +15093 +15094 +15095 +15096 +15097 +15098 +15099 +15100 +15101 +15102 +15103 +15104 +15105 +15106 +15107 +15108 +15109 +15110 +15111 +15112 +15113 +15114 +15115 +15116 +15117 +15118 +15119 +15120 +15121 +15122 +15123 +15124 +15125 +15126 +15127 +15128 +15129 +15130 +15131 +15132 +15133 +15134 +15135 +15136 +15137 +15138 +15139 +15140 +15141 +15142 +15143 +15144 +15145 +15146 +15147 +15148 +15149 +15150 +15151 +15152 +15153 +15154 +15155 +15156 +15157 +15158 +15159 +15160 +15161 +15162 +15163 +15164 +15165 +15166 +15167 +15168 +15169 +15170 +15171 +15172 +15173 +15174 +15175 +15176 +15177 +15178 +15179 +15180 +15181 +15182 +15183 +15184 +15185 +15186 +15187 +15188 +15189 +15190 +15191 +15192 +15193 +15194 +15195 +15196 +15197 +15198 +15199 +15200 +15201 +15202 +15203 +15204 +15205 +15206 +15207 +15208 +15209 +15210 +15211 +15212 +15213 +15214 +15215 +15216 +15217 +15218 +15219 +15220 +15221 +15222 +15223 +15224 +15225 +15226 +15227 +15228 +15229 +15230 +15231 +15232 +15233 +15234 +15235 +15236 +15237 +15238 +15239 +15240 +15241 +15242 +15243 +15244 +15245 +15246 +15247 +15248 +15249 +15250 +15251 +15252 +15253 +15254 +15255 +15256 +15257 +15258 +15259 +15260 +15261 +15262 +15263 +15264 +15265 +15266 +15267 +15268 +15269 +15270 +15271 +15272 +15273 +15274 +15275 +15276 +15277 +15278 +15279 +15280 +15281 +15282 +15283 +15284 +15285 +15286 +15287 +15288 +15289 +15290 +15291 +15292 +15293 +15294 +15295 +15296 +15297 +15298 +15299 +15300 +15301 +15302 +15303 +15304 +15305 +15306 +15307 +15308 +15309 +15310 +15311 +15312 +15313 +15314 +15315 +15316 +15317 +15318 +15319 +15320 +15321 +15322 +15323 +15324 +15325 +15326 +15327 +15328 +15329 +15330 +15331 +15332 +15333 +15334 +15335 +15336 +15337 +15338 +15339 +15340 +15341 +15342 +15343 +15344 +15345 +15346 +15347 +15348 +15349 +15350 +15351 +15352 +15353 +15354 +15355 +15356 +15357 +15358 +15359 +15360 +15361 +15362 +15363 +15364 +15365 +15366 +15367 +15368 +15369 +15370 +15371 +15372 +15373 +15374 +15375 +15376 +15377 +15378 +15379 +15380 +15381 +15382 +15383 +15384 +15385 +15386 +15387 +15388 +15389 +15390 +15391 +15392 +15393 +15394 +15395 +15396 +15397 +15398 +15399 +15400 +15401 +15402 +15403 +15404 +15405 +15406 +15407 +15408 +15409 +15410 +15411 +15412 +15413 +15414 +15415 +15416 +15417 +15418 +15419 +15420 +15421 +15422 +15423 +15424 +15425 +15426 +15427 +15428 +15429 +15430 +15431 +15432 +15433 +15434 +15435 +15436 +15437 +15438 +15439 +15440 +15441 +15442 +15443 +15444 +15445 +15446 +15447 +15448 +15449 +15450 +15451 +15452 +15453 +15454 +15455 +15456 +15457 +15458 +15459 +15460 +15461 +15462 +15463 +15464 +15465 +15466 +15467 +15468 +15469 +15470 +15471 +15472 +15473 +15474 +15475 +15476 +15477 +15478 +15479 +15480 +15481 +15482 +15483 +15484 +15485 +15486 +15487 +15488 +15489 +15490 +15491 +15492 +15493 +15494 +15495 +15496 +15497 +15498 +15499 +15500 +15501 +15502 +15503 +15504 +15505 +15506 +15507 +15508 +15509 +15510 +15511 +15512 +15513 +15514 +15515 +15516 +15517 +15518 +15519 +15520 +15521 +15522 +15523 +15524 +15525 +15526 +15527 +15528 +15529 +15530 +15531 +15532 +15533 +15534 +15535 +15536 +15537 +15538 +15539 +15540 +15541 +15542 +15543 +15544 +15545 +15546 +15547 +15548 +15549 +15550 +15551 +15552 +15553 +15554 +15555 +15556 +15557 +15558 +15559 +15560 +15561 +15562 +15563 +15564 +15565 +15566 +15567 +15568 +15569 +15570 +15571 +15572 +15573 +15574 +15575 +15576 +15577 +15578 +15579 +15580 +15581 +15582 +15583 +15584 +15585 +15586 +15587 +15588 +15589 +15590 +15591 +15592 +15593 +15594 +15595 +15596 +15597 +15598 +15599 +15600 +15601 +15602 +15603 +15604 +15605 +15606 +15607 +15608 +15609 +15610 +15611 +15612 +15613 +15614 +15615 +15616 +15617 +15618 +15619 +15620 +15621 +15622 +15623 +15624 +15625 +15626 +15627 +15628 +15629 +15630 +15631 +15632 +15633 +15634 +15635 +15636 +15637 +15638 +15639 +15640 +15641 +15642 +15643 +15644 +15645 +15646 +15647 +15648 +15649 +15650 +15651 +15652 +15653 +15654 +15655 +15656 +15657 +15658 +15659 +15660 +15661 +15662 +15663 +15664 +15665 +15666 +15667 +15668 +15669 +15670 +15671 +15672 +15673 +15674 +15675 +15676 +15677 +15678 +15679 +15680 +15681 +15682 +15683 +15684 +15685 +15686 +15687 +15688 +15689 +15690 +15691 +15692 +15693 +15694 +15695 +15696 +15697 +15698 +15699 +15700 +15701 +15702 +15703 +15704 +15705 +15706 +15707 +15708 +15709 +15710 +15711 +15712 +15713 +15714 +15715 +15716 +15717 +15718 +15719 +15720 +15721 +15722 +15723 +15724 +15725 +15726 +15727 +15728 +15729 +15730 +15731 +15732 +15733 +15734 +15735 +15736 +15737 +15738 +15739 +15740 +15741 +15742 +15743 +15744 +15745 +15746 +15747 +15748 +15749 +15750 +15751 +15752 +15753 +15754 +15755 +15756 +15757 +15758 +15759 +15760 +15761 +15762 +15763 +15764 +15765 +15766 +15767 +15768 +15769 +15770 +15771 +15772 +15773 +15774 +15775 +15776 +15777 +15778 +15779 +15780 +15781 +15782 +15783 +15784 +15785 +15786 +15787 +15788 +15789 +15790 +15791 +15792 +15793 +15794 +15795 +15796 +15797 +15798 +15799 +15800 +15801 +15802 +15803 +15804 +15805 +15806 +15807 +15808 +15809 +15810 +15811 +15812 +15813 +15814 +15815 +15816 +15817 +15818 +15819 +15820 +15821 +15822 +15823 +15824 +15825 +15826 +15827 +15828 +15829 +15830 +15831 +15832 +15833 +15834 +15835 +15836 +15837 +15838 +15839 +15840 +15841 +15842 +15843 +15844 +15845 +15846 +15847 +15848 +15849 +15850 +15851 +15852 +15853 +15854 +15855 +15856 +15857 +15858 +15859 +15860 +15861 +15862 +15863 +15864 +15865 +15866 +15867 +15868 +15869 +15870 +15871 +15872 +15873 +15874 +15875 +15876 +15877 +15878 +15879 +15880 +15881 +15882 +15883 +15884 +15885 +15886 +15887 +15888 +15889 +15890 +15891 +15892 +15893 +15894 +15895 +15896 +15897 +15898 +15899 +15900 +15901 +15902 +15903 +15904 +15905 +15906 +15907 +15908 +15909 +15910 +15911 +15912 +15913 +15914 +15915 +15916 +15917 +15918 +15919 +15920 +15921 +15922 +15923 +15924 +15925 +15926 +15927 +15928 +15929 +15930 +15931 +15932 +15933 +15934 +15935 +15936 +15937 +15938 +15939 +15940 +15941 +15942 +15943 +15944 +15945 +15946 +15947 +15948 +15949 +15950 +15951 +15952 +15953 +15954 +15955 +15956 +15957 +15958 +15959 +15960 +15961 +15962 +15963 +15964 +15965 +15966 +15967 +15968 +15969 +15970 +15971 +15972 +15973 +15974 +15975 +15976 +15977 +15978 +15979 +15980 +15981 +15982 +15983 +15984 +15985 +15986 +15987 +15988 +15989 +15990 +15991 +15992 +15993 +15994 +15995 +15996 +15997 +15998 +15999 +16000 +16001 +16002 +16003 +16004 +16005 +16006 +16007 +16008 +16009 +16010 +16011 +16012 +16013 +16014 +16015 +16016 +16017 +16018 +16019 +16020 +16021 +16022 +16023 +16024 +16025 +16026 +16027 +16028 +16029 +16030 +16031 +16032 +16033 +16034 +16035 +16036 +16037 +16038 +16039 +16040 +16041 +16042 +16043 +16044 +16045 +16046 +16047 +16048 +16049 +16050 +16051 +16052 +16053 +16054 +16055 +16056 +16057 +16058 +16059 +16060 +16061 +16062 +16063 +16064 +16065 +16066 +16067 +16068 +16069 +16070 +16071 +16072 +16073 +16074 +16075 +16076 +16077 +16078 +16079 +16080 +16081 +16082 +16083 +16084 +16085 +16086 +16087 +16088 +16089 +16090 +16091 +16092 +16093 +16094 +16095 +16096 +16097 +16098 +16099 +16100 +16101 +16102 +16103 +16104 +16105 +16106 +16107 +16108 +16109 +16110 +16111 +16112 +16113 +16114 +16115 +16116 +16117 +16118 +16119 +16120 +16121 +16122 +16123 +16124 +16125 +16126 +16127 +16128 +16129 +16130 +16131 +16132 +16133 +16134 +16135 +16136 +16137 +16138 +16139 +16140 +16141 +16142 +16143 +16144 +16145 +16146 +16147 +16148 +16149 +16150 +16151 +16152 +16153 +16154 +16155 +16156 +16157 +16158 +16159 +16160 +16161 +16162 +16163 +16164 +16165 +16166 +16167 +16168 +16169 +16170 +16171 +16172 +16173 +16174 +16175 +16176 +16177 +16178 +16179 +16180 +16181 +16182 +16183 +16184 +16185 +16186 +16187 +16188 +16189 +16190 +16191 +16192 +16193 +16194 +16195 +16196 +16197 +16198 +16199 +16200 +16201 +16202 +16203 +16204 +16205 +16206 +16207 +16208 +16209 +16210 +16211 +16212 +16213 +16214 +16215 +16216 +16217 +16218 +16219 +16220 +16221 +16222 +16223 +16224 +16225 +16226 +16227 +16228 +16229 +16230 +16231 +16232 +16233 +16234 +16235 +16236 +16237 +16238 +16239 +16240 +16241 +16242 +16243 +16244 +16245 +16246 +16247 +16248 +16249 +16250 +16251 +16252 +16253 +16254 +16255 +16256 +16257 +16258 +16259 +16260 +16261 +16262 +16263 +16264 +16265 +16266 +16267 +16268 +16269 +16270 +16271 +16272 +16273 +16274 +16275 +16276 +16277 +16278 +16279 +16280 +16281 +16282 +16283 +16284 +16285 +16286 +16287 +16288 +16289 +16290 +16291 +16292 +16293 +16294 +16295 +16296 +16297 +16298 +16299 +16300 +16301 +16302 +16303 +16304 +16305 +16306 +16307 +16308 +16309 +16310 +16311 +16312 +16313 +16314 +16315 +16316 +16317 +16318 +16319 +16320 +16321 +16322 +16323 +16324 +16325 +16326 +16327 +16328 +16329 +16330 +16331 +16332 +16333 +16334 +16335 +16336 +16337 +16338 +16339 +16340 +16341 +16342 +16343 +16344 +16345 +16346 +16347 +16348 +16349 +16350 +16351 +16352 +16353 +16354 +16355 +16356 +16357 +16358 +16359 +16360 +16361 +16362 +16363 +16364 +16365 +16366 +16367 +16368 +16369 +16370 +16371 +16372 +16373 +16374 +16375 +16376 +16377 +16378 +16379 +16380 +16381 +16382 +16383 +16384 +16385 +16386 +16387 +16388 +16389 +16390 +16391 +16392 +16393 +16394 +16395 +16396 +16397 +16398 +16399 +16400 +16401 +16402 +16403 +16404 +16405 +16406 +16407 +16408 +16409 +16410 +16411 +16412 +16413 +16414 +16415 +16416 +16417 +16418 +16419 +16420 +16421 +16422 +16423 +16424 +16425 +16426 +16427 +16428 +16429 +16430 +16431 +16432 +16433 +16434 +16435 +16436 +16437 +16438 +16439 +16440 +16441 +16442 +16443 +16444 +16445 +16446 +16447 +16448 +16449 +16450 +16451 +16452 +16453 +16454 +16455 +16456 +16457 +16458 +16459 +16460 +16461 +16462 +16463 +16464 +16465 +16466 +16467 +16468 +16469 +16470 +16471 +16472 +16473 +16474 +16475 +16476 +16477 +16478 +16479 +16480 +16481 +16482 +16483 +16484 +16485 +16486 +16487 +16488 +16489 +16490 +16491 +16492 +16493 +16494 +16495 +16496 +16497 +16498 +16499 +16500 +16501 +16502 +16503 +16504 +16505 +16506 +16507 +16508 +16509 +16510 +16511 +16512 +16513 +16514 +16515 +16516 +16517 +16518 +16519 +16520 +16521 +16522 +16523 +16524 +16525 +16526 +16527 +16528 +16529 +16530 +16531 +16532 +16533 +16534 +16535 +16536 +16537 +16538 +16539 +16540 +16541 +16542 +16543 +16544 +16545 +16546 +16547 +16548 +16549 +16550 +16551 +16552 +16553 +16554 +16555 +16556 +16557 +16558 +16559 +16560 +16561 +16562 +16563 +16564 +16565 +16566 +16567 +16568 +16569 +16570 +16571 +16572 +16573 +16574 +16575 +16576 +16577 +16578 +16579 +16580 +16581 +16582 +16583 +16584 +16585 +16586 +16587 +16588 +16589 +16590 +16591 +16592 +16593 +16594 +16595 +16596 +16597 +16598 +16599 +16600 +16601 +16602 +16603 +16604 +16605 +16606 +16607 +16608 +16609 +16610 +16611 +16612 +16613 +16614 +16615 +16616 +16617 +16618 +16619 +16620 +16621 +16622 +16623 +16624 +16625 +16626 +16627 +16628 +16629 +16630 +16631 +16632 +16633 +16634 +16635 +16636 +16637 +16638 +16639 +16640 +16641 +16642 +16643 +16644 +16645 +16646 +16647 +16648 +16649 +16650 +16651 +16652 +16653 +16654 +16655 +16656 +16657 +16658 +16659 +16660 +16661 +16662 +16663 +16664 +16665 +16666 +16667 +16668 +16669 +16670 +16671 +16672 +16673 +16674 +16675 +16676 +16677 +16678 +16679 +16680 +16681 +16682 +16683 +16684 +16685 +16686 +16687 +16688 +16689 +16690 +16691 +16692 +16693 +16694 +16695 +16696 +16697 +16698 +16699 +16700 +16701 +16702 +16703 +16704 +16705 +16706 +16707 +16708 +16709 +16710 +16711 +16712 +16713 +16714 +16715 +16716 +16717 +16718 +16719 +16720 +16721 +16722 +16723 +16724 +16725 +16726 +16727 +16728 +16729 +16730 +16731 +16732 +16733 +16734 +16735 +16736 +16737 +16738 +16739 +16740 +16741 +16742 +16743 +16744 +16745 +16746 +16747 +16748 +16749 +16750 +16751 +16752 +16753 +16754 +16755 +16756 +16757 +16758 +16759 +16760 +16761 +16762 +16763 +16764 +16765 +16766 +16767 +16768 +16769 +16770 +16771 +16772 +16773 +16774 +16775 +16776 +16777 +16778 +16779 +16780 +16781 +16782 +16783 +16784 +16785 +16786 +16787 +16788 +16789 +16790 +16791 +16792 +16793 +16794 +16795 +16796 +16797 +16798 +16799 +16800 +16801 +16802 +16803 +16804 +16805 +16806 +16807 +16808 +16809 +16810 +16811 +16812 +16813 +16814 +16815 +16816 +16817 +16818 +16819 +16820 +16821 +16822 +16823 +16824 +16825 +16826 +16827 +16828 +16829 +16830 +16831 +16832 +16833 +16834 +16835 +16836 +16837 +16838 +16839 +16840 +16841 +16842 +16843 +16844 +16845 +16846 +16847 +16848 +16849 +16850 +16851 +16852 +16853 +16854 +16855 +16856 +16857 +16858 +16859 +16860 +16861 +16862 +16863 +16864 +16865 +16866 +16867 +16868 +16869 +16870 +16871 +16872 +16873 +16874 +16875 +16876 +16877 +16878 +16879 +16880 +16881 +16882 +16883 +16884 +16885 +16886 +16887 +16888 +16889 +16890 +16891 +16892 +16893 +16894 +16895 +16896 +16897 +16898 +16899 +16900 +16901 +16902 +16903 +16904 +16905 +16906 +16907 +16908 +16909 +16910 +16911 +16912 +16913 +16914 +16915 +16916 +16917 +16918 +16919 +16920 +16921 +16922 +16923 +16924 +16925 +16926 +16927 +16928 +16929 +16930 +16931 +16932 +16933 +16934 +16935 +16936 +16937 +16938 +16939 +16940 +16941 +16942 +16943 +16944 +16945 +16946 +16947 +16948 +16949 +16950 +16951 +16952 +16953 +16954 +16955 +16956 +16957 +16958 +16959 +16960 +16961 +16962 +16963 +16964 +16965 +16966 +16967 +16968 +16969 +16970 +16971 +16972 +16973 +16974 +16975 +16976 +16977 +16978 +16979 +16980 +16981 +16982 +16983 +16984 +16985 +16986 +16987 +16988 +16989 +16990 +16991 +16992 +16993 +16994 +16995 +16996 +16997 +16998 +16999 +17000 +17001 +17002 +17003 +17004 +17005 +17006 +17007 +17008 +17009 +17010 +17011 +17012 +17013 +17014 +17015 +17016 +17017 +17018 +17019 +17020 +17021 +17022 +17023 +17024 +17025 +17026 +17027 +17028 +17029 +17030 +17031 +17032 +17033 +17034 +17035 +17036 +17037 +17038 +17039 +17040 +17041 +17042 +17043 +17044 +17045 +17046 +17047 +17048 +17049 +17050 +17051 +17052 +17053 +17054 +17055 +17056 +17057 +17058 +17059 +17060 +17061 +17062 +17063 +17064 +17065 +17066 +17067 +17068 +17069 +17070 +17071 +17072 +17073 +17074 +17075 +17076 +17077 +17078 +17079 +17080 +17081 +17082 +17083 +17084 +17085 +17086 +17087 +17088 +17089 +17090 +17091 +17092 +17093 +17094 +17095 +17096 +17097 +17098 +17099 +17100 +17101 +17102 +17103 +17104 +17105 +17106 +17107 +17108 +17109 +17110 +17111 +17112 +17113 +17114 +17115 +17116 +17117 +17118 +17119 +17120 +17121 +17122 +17123 +17124 +17125 +17126 +17127 +17128 +17129 +17130 +17131 +17132 +17133 +17134 +17135 +17136 +17137 +17138 +17139 +17140 +17141 +17142 +17143 +17144 +17145 +17146 +17147 +17148 +17149 +17150 +17151 +17152 +17153 +17154 +17155 +17156 +17157 +17158 +17159 +17160 +17161 +17162 +17163 +17164 +17165 +17166 +17167 +17168 +17169 +17170 +17171 +17172 +17173 +17174 +17175 +17176 +17177 +17178 +17179 +17180 +17181 +17182 +17183 +17184 +17185 +17186 +17187 +17188 +17189 +17190 +17191 +17192 +17193 +17194 +17195 +17196 +17197 +17198 +17199 +17200 +17201 +17202 +17203 +17204 +17205 +17206 +17207 +17208 +17209 +17210 +17211 +17212 +17213 +17214 +17215 +17216 +17217 +17218 +17219 +17220 +17221 +17222 +17223 +17224 +17225 +17226 +17227 +17228 +17229 +17230 +17231 +17232 +17233 +17234 +17235 +17236 +17237 +17238 +17239 +17240 +17241 +17242 +17243 +17244 +17245 +17246 +17247 +17248 +17249 +17250 +17251 +17252 +17253 +17254 +17255 +17256 +17257 +17258 +17259 +17260 +17261 +17262 +17263 +17264 +17265 +17266 +17267 +17268 +17269 +17270 +17271 +17272 +17273 +17274 +17275 +17276 +17277 +17278 +17279 +17280 +17281 +17282 +17283 +17284 +17285 +17286 +17287 +17288 +17289 +17290 +17291 +17292 +17293 +17294 +17295 +17296 +17297 +17298 +17299 +17300 +17301 +17302 +17303 +17304 +17305 +17306 +17307 +17308 +17309 +17310 +17311 +17312 +17313 +17314 +17315 +17316 +17317 +17318 +17319 +17320 +17321 +17322 +17323 +17324 +17325 +17326 +17327 +17328 +17329 +17330 +17331 +17332 +17333 +17334 +17335 +17336 +17337 +17338 +17339 +17340 +17341 +17342 +17343 +17344 +17345 +17346 +17347 +17348 +17349 +17350 +17351 +17352 +17353 +17354 +17355 +17356 +17357 +17358 +17359 +17360 +17361 +17362 +17363 +17364 +17365 +17366 +17367 +17368 +17369 +17370 +17371 +17372 +17373 +17374 +17375 +17376 +17377 +17378 +17379 +17380 +17381 +17382 +17383 +17384 +17385 +17386 +17387 +17388 +17389 +17390 +17391 +17392 +17393 +17394 +17395 +17396 +17397 +17398 +17399 +17400 +17401 +17402 +17403 +17404 +17405 +17406 +17407 +17408 +17409 +17410 +17411 +17412 +17413 +17414 +17415 +17416 +17417 +17418 +17419 +17420 +17421 +17422 +17423 +17424 +17425 +17426 +17427 +17428 +17429 +17430 +17431 +17432 +17433 +17434 +17435 +17436 +17437 +17438 +17439 +17440 +17441 +17442 +17443 +17444 +17445 +17446 +17447 +17448 +17449 +17450 +17451 +17452 +17453 +17454 +17455 +17456 +17457 +17458 +17459 +17460 +17461 +17462 +17463 +17464 +17465 +17466 +17467 +17468 +17469 +17470 +17471 +17472 +17473 +17474 +17475 +17476 +17477 +17478 +17479 +17480 +17481 +17482 +17483 +17484 +17485 +17486 +17487 +17488 +17489 +17490 +17491 +17492 +17493 +17494 +17495 +17496 +17497 +17498 +17499 +17500 +17501 +17502 +17503 +17504 +17505 +17506 +17507 +17508 +17509 +17510 +17511 +17512 +17513 +17514 +17515 +17516 +17517 +17518 +17519 +17520 +17521 +17522 +17523 +17524 +17525 +17526 +17527 +17528 +17529 +17530 +17531 +17532 +17533 +17534 +17535 +17536 +17537 +17538 +17539 +17540 +17541 +17542 +17543 +17544 +17545 +17546 +17547 +17548 +17549 +17550 +17551 +17552 +17553 +17554 +17555 +17556 +17557 +17558 +17559 +17560 +17561 +17562 +17563 +17564 +17565 +17566 +17567 +17568 +17569 +17570 +17571 +17572 +17573 +17574 +17575 +17576 +17577 +17578 +17579 +17580 +17581 +17582 +17583 +17584 +17585 +17586 +17587 +17588 +17589 +17590 +17591 +17592 +17593 +17594 +17595 +17596 +17597 +17598 +17599 +17600 +17601 +17602 +17603 +17604 +17605 +17606 +17607 +17608 +17609 +17610 +17611 +17612 +17613 +17614 +17615 +17616 +17617 +17618 +17619 +17620 +17621 +17622 +17623 +17624 +17625 +17626 +17627 +17628 +17629 +17630 +17631 +17632 +17633 +17634 +17635 +17636 +17637 +17638 +17639 +17640 +17641 +17642 +17643 +17644 +17645 +17646 +17647 +17648 +17649 +17650 +17651 +17652 +17653 +17654 +17655 +17656 +17657 +17658 +17659 +17660 +17661 +17662 +17663 +17664 +17665 +17666 +17667 +17668 +17669 +17670 +17671 +17672 +17673 +17674 +17675 +17676 +17677 +17678 +17679 +17680 +17681 +17682 +17683 +17684 +17685 +17686 +17687 +17688 +17689 +17690 +17691 +17692 +17693 +17694 +17695 +17696 +17697 +17698 +17699 +17700 +17701 +17702 +17703 +17704 +17705 +17706 +17707 +17708 +17709 +17710 +17711 +17712 +17713 +17714 +17715 +17716 +17717 +17718 +17719 +17720 +17721 +17722 +17723 +17724 +17725 +17726 +17727 +17728 +17729 +17730 +17731 +17732 +17733 +17734 +17735 +17736 +17737 +17738 +17739 +17740 +17741 +17742 +17743 +17744 +17745 +17746 +17747 +17748 +17749 +17750 +17751 +17752 +17753 +17754 +17755 +17756 +17757 +17758 +17759 +17760 +17761 +17762 +17763 +17764 +17765 +17766 +17767 +17768 +17769 +17770 +17771 +17772 +17773 +17774 +17775 +17776 +17777 +17778 +17779 +17780 +17781 +17782 +17783 +17784 +17785 +17786 +17787 +17788 +17789 +17790 +17791 +17792 +17793 +17794 +17795 +17796 +17797 +17798 +17799 +17800 +17801 +17802 +17803 +17804 +17805 +17806 +17807 +17808 +17809 +17810 +17811 +17812 +17813 +17814 +17815 +17816 +17817 +17818 +17819 +17820 +17821 +17822 +17823 +17824 +17825 +17826 +17827 +17828 +17829 +17830 +17831 +17832 +17833 +17834 +17835 +17836 +17837 +17838 +17839 +17840 +17841 +17842 +17843 +17844 +17845 +17846 +17847 +17848 +17849 +17850 +17851 +17852 +17853 +17854 +17855 +17856 +17857 +17858 +17859 +17860 +17861 +17862 +17863 +17864 +17865 +17866 +17867 +17868 +17869 +17870 +17871 +17872 +17873 +17874 +17875 +17876 +17877 +17878 +17879 +17880 +17881 +17882 +17883 +17884 +17885 +17886 +17887 +17888 +17889 +17890 +17891 +17892 +17893 +17894 +17895 +17896 +17897 +17898 +17899 +17900 +17901 +17902 +17903 +17904 +17905 +17906 +17907 +17908 +17909 +17910 +17911 +17912 +17913 +17914 +17915 +17916 +17917 +17918 +17919 +17920 +17921 +17922 +17923 +17924 +17925 +17926 +17927 +17928 +17929 +17930 +17931 +17932 +17933 +17934 +17935 +17936 +17937 +17938 +17939 +17940 +17941 +17942 +17943 +17944 +17945 +17946 +17947 +17948 +17949 +17950 +17951 +17952 +17953 +17954 +17955 +17956 +17957 +17958 +17959 +17960 +17961 +17962 +17963 +17964 +17965 +17966 +17967 +17968 +17969 +17970 +17971 +17972 +17973 +17974 +17975 +17976 +17977 +17978 +17979 +17980 +17981 +17982 +17983 +17984 +17985 +17986 +17987 +17988 +17989 +17990 +17991 +17992 +17993 +17994 +17995 +17996 +17997 +17998 +17999 +18000 +18001 +18002 +18003 +18004 +18005 +18006 +18007 +18008 +18009 +18010 +18011 +18012 +18013 +18014 +18015 +18016 +18017 +18018 +18019 +18020 +18021 +18022 +18023 +18024 +18025 +18026 +18027 +18028 +18029 +18030 +18031 +18032 +18033 +18034 +18035 +18036 +18037 +18038 +18039 +18040 +18041 +18042 +18043 +18044 +18045 +18046 +18047 +18048 +18049 +18050 +18051 +18052 +18053 +18054 +18055 +18056 +18057 +18058 +18059 +18060 +18061 +18062 +18063 +18064 +18065 +18066 +18067 +18068 +18069 +18070 +18071 +18072 +18073 +18074 +18075 +18076 +18077 +18078 +18079 +18080 +18081 +18082 +18083 +18084 +18085 +18086 +18087 +18088 +18089 +18090 +18091 +18092 +18093 +18094 +18095 +18096 +18097 +18098 +18099 +18100 +18101 +18102 +18103 +18104 +18105 +18106 +18107 +18108 +18109 +18110 +18111 +18112 +18113 +18114 +18115 +18116 +18117 +18118 +18119 +18120 +18121 +18122 +18123 +18124 +18125 +18126 +18127 +18128 +18129 +18130 +18131 +18132 +18133 +18134 +18135 +18136 +18137 +18138 +18139 +18140 +18141 +18142 +18143 +18144 +18145 +18146 +18147 +18148 +18149 +18150 +18151 +18152 +18153 +18154 +18155 +18156 +18157 +18158 +18159 +18160 +18161 +18162 +18163 +18164 +18165 +18166 +18167 +18168 +18169 +18170 +18171 +18172 +18173 +18174 +18175 +18176 +18177 +18178 +18179 +18180 +18181 +18182 +18183 +18184 +18185 +18186 +18187 +18188 +18189 +18190 +18191 +18192 +18193 +18194 +18195 +18196 +18197 +18198 +18199 +18200 +18201 +18202 +18203 +18204 +18205 +18206 +18207 +18208 +18209 +18210 +18211 +18212 +18213 +18214 +18215 +18216 +18217 +18218 +18219 +18220 +18221 +18222 +18223 +18224 +18225 +18226 +18227 +18228 +18229 +18230 +18231 +18232 +18233 +18234 +18235 +18236 +18237 +18238 +18239 +18240 +18241 +18242 +18243 +18244 +18245 +18246 +18247 +18248 +18249 +18250 +18251 +18252 +18253 +18254 +18255 +18256 +18257 +18258 +18259 +18260 +18261 +18262 +18263 +18264 +18265 +18266 +18267 +18268 +18269 +18270 +18271 +18272 +18273 +18274 +18275 +18276 +18277 +18278 +18279 +18280 +18281 +18282 +18283 +18284 +18285 +18286 +18287 +18288 +18289 +18290 +18291 +18292 +18293 +18294 +18295 +18296 +18297 +18298 +18299 +18300 +18301 +18302 +18303 +18304 +18305 +18306 +18307 +18308 +18309 +18310 +18311 +18312 +18313 +18314 +18315 +18316 +18317 +18318 +18319 +18320 +18321 +18322 +18323 +18324 +18325 +18326 +18327 +18328 +18329 +18330 +18331 +18332 +18333 +18334 +18335 +18336 +18337 +18338 +18339 +18340 +18341 +18342 +18343 +18344 +18345 +18346 +18347 +18348 +18349 +18350 +18351 +18352 +18353 +18354 +18355 +18356 +18357 +18358 +18359 +18360 +18361 +18362 +18363 +18364 +18365 +18366 +18367 +18368 +18369 +18370 +18371 +18372 +18373 +18374 +18375 +18376 +18377 +18378 +18379 +18380 +18381 +18382 +18383 +18384 +18385 +18386 +18387 +18388 +18389 +18390 +18391 +18392 +18393 +18394 +18395 +18396 +18397 +18398 +18399 +18400 +18401 +18402 +18403 +18404 +18405 +18406 +18407 +18408 +18409 +18410 +18411 +18412 +18413 +18414 +18415 +18416 +18417 +18418 +18419 +18420 +18421 +18422 +18423 +18424 +18425 +18426 +18427 +18428 +18429 +18430 +18431 +18432 +18433 +18434 +18435 +18436 +18437 +18438 +18439 +18440 +18441 +18442 +18443 +18444 +18445 +18446 +18447 +18448 +18449 +18450 +18451 +18452 +18453 +18454 +18455 +18456 +18457 +18458 +18459 +18460 +18461 +18462 +18463 +18464 +18465 +18466 +18467 +18468 +18469 +18470 +18471 +18472 +18473 +18474 +18475 +18476 +18477 +18478 +18479 +18480 +18481 +18482 +18483 +18484 +18485 +18486 +18487 +18488 +18489 +18490 +18491 +18492 +18493 +18494 +18495 +18496 +18497 +18498 +18499 +18500 +18501 +18502 +18503 +18504 +18505 +18506 +18507 +18508 +18509 +18510 +18511 +18512 +18513 +18514 +18515 +18516 +18517 +18518 +18519 +18520 +18521 +18522 +18523 +18524 +18525 +18526 +18527 +18528 +18529 +18530 +18531 +18532 +18533 +18534 +18535 +18536 +18537 +18538 +18539 +18540 +18541 +18542 +18543 +18544 +18545 +18546 +18547 +18548 +18549 +18550 +18551 +18552 +18553 +18554 +18555 +18556 +18557 +18558 +18559 +18560 +18561 +18562 +18563 +18564 +18565 +18566 +18567 +18568 +18569 +18570 +18571 +18572 +18573 +18574 +18575 +18576 +18577 +18578 +18579 +18580 +18581 +18582 +18583 +18584 +18585 +18586 +18587 +18588 +18589 +18590 +18591 +18592 +18593 +18594 +18595 +18596 +18597 +18598 +18599 +18600 +18601 +18602 +18603 +18604 +18605 +18606 +18607 +18608 +18609 +18610 +18611 +18612 +18613 +18614 +18615 +18616 +18617 +18618 +18619 +18620 +18621 +18622 +18623 +18624 +18625 +18626 +18627 +18628 +18629 +18630 +18631 +18632 +18633 +18634 +18635 +18636 +18637 +18638 +18639 +18640 +18641 +18642 +18643 +18644 +18645 +18646 +18647 +18648 +18649 +18650 +18651 +18652 +18653 +18654 +18655 +18656 +18657 +18658 +18659 +18660 +18661 +18662 +18663 +18664 +18665 +18666 +18667 +18668 +18669 +18670 +18671 +18672 +18673 +18674 +18675 +18676 +18677 +18678 +18679 +18680 +18681 +18682 +18683 +18684 +18685 +18686 +18687 +18688 +18689 +18690 +18691 +18692 +18693 +18694 +18695 +18696 +18697 +18698 +18699 +18700 +18701 +18702 +18703 +18704 +18705 +18706 +18707 +18708 +18709 +18710 +18711 +18712 +18713 +18714 +18715 +18716 +18717 +18718 +18719 +18720 +18721 +18722 +18723 +18724 +18725 +18726 +18727 +18728 +18729 +18730 +18731 +18732 +18733 +18734 +18735 +18736 +18737 +18738 +18739 +18740 +18741 +18742 +18743 +18744 +18745 +18746 +18747 +18748 +18749 +18750 +18751 +18752 +18753 +18754 +18755 +18756 +18757 +18758 +18759 +18760 +18761 +18762 +18763 +18764 +18765 +18766 +18767 +18768 +18769 +18770 +18771 +18772 +18773 +18774 +18775 +18776 +18777 +18778 +18779 +18780 +18781 +18782 +18783 +18784 +18785 +18786 +18787 +18788 +18789 +18790 +18791 +18792 +18793 +18794 +18795 +18796 +18797 +18798 +18799 +18800 +18801 +18802 +18803 +18804 +18805 +18806 +18807 +18808 +18809 +18810 +18811 +18812 +18813 +18814 +18815 +18816 +18817 +18818 +18819 +18820 +18821 +18822 +18823 +18824 +18825 +18826 +18827 +18828 +18829 +18830 +18831 +18832 +18833 +18834 +18835 +18836 +18837 +18838 +18839 +18840 +18841 +18842 +18843 +18844 +18845 +18846 +18847 +18848 +18849 +18850 +18851 +18852 +18853 +18854 +18855 +18856 +18857 +18858 +18859 +18860 +18861 +18862 +18863 +18864 +18865 +18866 +18867 +18868 +18869 +18870 +18871 +18872 +18873 +18874 +18875 +18876 +18877 +18878 +18879 +18880 +18881 +18882 +18883 +18884 +18885 +18886 +18887 +18888 +18889 +18890 +18891 +18892 +18893 +18894 +18895 +18896 +18897 +18898 +18899 +18900 +18901 +18902 +18903 +18904 +18905 +18906 +18907 +18908 +18909 +18910 +18911 +18912 +18913 +18914 +18915 +18916 +18917 +18918 +18919 +18920 +18921 +18922 +18923 +18924 +18925 +18926 +18927 +18928 +18929 +18930 +18931 +18932 +18933 +18934 +18935 +18936 +18937 +18938 +18939 +18940 +18941 +18942 +18943 +18944 +18945 +18946 +18947 +18948 +18949 +18950 +18951 +18952 +18953 +18954 +18955 +18956 +18957 +18958 +18959 +18960 +18961 +18962 +18963 +18964 +18965 +18966 +18967 +18968 +18969 +18970 +18971 +18972 +18973 +18974 +18975 +18976 +18977 +18978 +18979 +18980 +18981 +18982 +18983 +18984 +18985 +18986 +18987 +18988 +18989 +18990 +18991 +18992 +18993 +18994 +18995 +18996 +18997 +18998 +18999 +19000 +19001 +19002 +19003 +19004 +19005 +19006 +19007 +19008 +19009 +19010 +19011 +19012 +19013 +19014 +19015 +19016 +19017 +19018 +19019 +19020 +19021 +19022 +19023 +19024 +19025 +19026 +19027 +19028 +19029 +19030 +19031 +19032 +19033 +19034 +19035 +19036 +19037 +19038 +19039 +19040 +19041 +19042 +19043 +19044 +19045 +19046 +19047 +19048 +19049 +19050 +19051 +19052 +19053 +19054 +19055 +19056 +19057 +19058 +19059 +19060 +19061 +19062 +19063 +19064 +19065 +19066 +19067 +19068 +19069 +19070 +19071 +19072 +19073 +19074 +19075 +19076 +19077 +19078 +19079 +19080 +19081 +19082 +19083 +19084 +19085 +19086 +19087 +19088 +19089 +19090 +19091 +19092 +19093 +19094 +19095 +19096 +19097 +19098 +19099 +19100 +19101 +19102 +19103 +19104 +19105 +19106 +19107 +19108 +19109 +19110 +19111 +19112 +19113 +19114 +19115 +19116 +19117 +19118 +19119 +19120 +19121 +19122 +19123 +19124 +19125 +19126 +19127 +19128 +19129 +19130 +19131 +19132 +19133 +19134 +19135 +19136 +19137 +19138 +19139 +19140 +19141 +19142 +19143 +19144 +19145 +19146 +19147 +19148 +19149 +19150 +19151 +19152 +19153 +19154 +19155 +19156 +19157 +19158 +19159 +19160 +19161 +19162 +19163 +19164 +19165 +19166 +19167 +19168 +19169 +19170 +19171 +19172 +19173 +19174 +19175 +19176 +19177 +19178 +19179 +19180 +19181 +19182 +19183 +19184 +19185 +19186 +19187 +19188 +19189 +19190 +19191 +19192 +19193 +19194 +19195 +19196 +19197 +19198 +19199 +19200 +19201 +19202 +19203 +19204 +19205 +19206 +19207 +19208 +19209 +19210 +19211 +19212 +19213 +19214 +19215 +19216 +19217 +19218 +19219 +19220 +19221 +19222 +19223 +19224 +19225 +19226 +19227 +19228 +19229 +19230 +19231 +19232 +19233 +19234 +19235 +19236 +19237 +19238 +19239 +19240 +19241 +19242 +19243 +19244 +19245 +19246 +19247 +19248 +19249 +19250 +19251 +19252 +19253 +19254 +19255 +19256 +19257 +19258 +19259 +19260 +19261 +19262 +19263 +19264 +19265 +19266 +19267 +19268 +19269 +19270 +19271 +19272 +19273 +19274 +19275 +19276 +19277 +19278 +19279 +19280 +19281 +19282 +19283 +19284 +19285 +19286 +19287 +19288 +19289 +19290 +19291 +19292 +19293 +19294 +19295 +19296 +19297 +19298 +19299 +19300 +19301 +19302 +19303 +19304 +19305 +19306 +19307 +19308 +19309 +19310 +19311 +19312 +19313 +19314 +19315 +19316 +19317 +19318 +19319 +19320 +19321 +19322 +19323 +19324 +19325 +19326 +19327 +19328 +19329 +19330 +19331 +19332 +19333 +19334 +19335 +19336 +19337 +19338 +19339 +19340 +19341 +19342 +19343 +19344 +19345 +19346 +19347 +19348 +19349 +19350 +19351 +19352 +19353 +19354 +19355 +19356 +19357 +19358 +19359 +19360 +19361 +19362 +19363 +19364 +19365 +19366 +19367 +19368 +19369 +19370 +19371 +19372 +19373 +19374 +19375 +19376 +19377 +19378 +19379 +19380 +19381 +19382 +19383 +19384 +19385 +19386 +19387 +19388 +19389 +19390 +19391 +19392 +19393 +19394 +19395 +19396 +19397 +19398 +19399 +19400 +19401 +19402 +19403 +19404 +19405 +19406 +19407 +19408 +19409 +19410 +19411 +19412 +19413 +19414 +19415 +19416 +19417 +19418 +19419 +19420 +19421 +19422 +19423 +19424 +19425 +19426 +19427 +19428 +19429 +19430 +19431 +19432 +19433 +19434 +19435 +19436 +19437 +19438 +19439 +19440 +19441 +19442 +19443 +19444 +19445 +19446 +19447 +19448 +19449 +19450 +19451 +19452 +19453 +19454 +19455 +19456 +19457 +19458 +19459 +19460 +19461 +19462 +19463 +19464 +19465 +19466 +19467 +19468 +19469 +19470 +19471 +19472 +19473 +19474 +19475 +19476 +19477 +19478 +19479 +19480 +19481 +19482 +19483 +19484 +19485 +19486 +19487 +19488 +19489 +19490 +19491 +19492 +19493 +19494 +19495 +19496 +19497 +19498 +19499 +19500 +19501 +19502 +19503 +19504 +19505 +19506 +19507 +19508 +19509 +19510 +19511 +19512 +19513 +19514 +19515 +19516 +19517 +19518 +19519 +19520 +19521 +19522 +19523 +19524 +19525 +19526 +19527 +19528 +19529 +19530 +19531 +19532 +19533 +19534 +19535 +19536 +19537 +19538 +19539 +19540 +19541 +19542 +19543 +19544 +19545 +19546 +19547 +19548 +19549 +19550 +19551 +19552 +19553 +19554 +19555 +19556 +19557 +19558 +19559 +19560 +19561 +19562 +19563 +19564 +19565 +19566 +19567 +19568 +19569 +19570 +19571 +19572 +19573 +19574 +19575 +19576 +19577 +19578 +19579 +19580 +19581 +19582 +19583 +19584 +19585 +19586 +19587 +19588 +19589 +19590 +19591 +19592 +19593 +19594 +19595 +19596 +19597 +19598 +19599 +19600 +19601 +19602 +19603 +19604 +19605 +19606 +19607 +19608 +19609 +19610 +19611 +19612 +19613 +19614 +19615 +19616 +19617 +19618 +19619 +19620 +19621 +19622 +19623 +19624 +19625 +19626 +19627 +19628 +19629 +19630 +19631 +19632 +19633 +19634 +19635 +19636 +19637 +19638 +19639 +19640 +19641 +19642 +19643 +19644 +19645 +19646 +19647 +19648 +19649 +19650 +19651 +19652 +19653 +19654 +19655 +19656 +19657 +19658 +19659 +19660 +19661 +19662 +19663 +19664 +19665 +19666 +19667 +19668 +19669 +19670 +19671 +19672 +19673 +19674 +19675 +19676 +19677 +19678 +19679 +19680 +19681 +19682 +19683 +19684 +19685 +19686 +19687 +19688 +19689 +19690 +19691 +19692 +19693 +19694 +19695 +19696 +19697 +19698 +19699 +19700 +19701 +19702 +19703 +19704 +19705 +19706 +19707 +19708 +19709 +19710 +19711 +19712 +19713 +19714 +19715 +19716 +19717 +19718 +19719 +19720 +19721 +19722 +19723 +19724 +19725 +19726 +19727 +19728 +19729 +19730 +19731 +19732 +19733 +19734 +19735 +19736 +19737 +19738 +19739 +19740 +19741 +19742 +19743 +19744 +19745 +19746 +19747 +19748 +19749 +19750 +19751 +19752 +19753 +19754 +19755 +19756 +19757 +19758 +19759 +19760 +19761 +19762 +19763 +19764 +19765 +19766 +19767 +19768 +19769 +19770 +19771 +19772 +19773 +19774 +19775 +19776 +19777 +19778 +19779 +19780 +19781 +19782 +19783 +19784 +19785 +19786 +19787 +19788 +19789 +19790 +19791 +19792 +19793 +19794 +19795 +19796 +19797 +19798 +19799 +19800 +19801 +19802 +19803 +19804 +19805 +19806 +19807 +19808 +19809 +19810 +19811 +19812 +19813 +19814 +19815 +19816 +19817 +19818 +19819 +19820 +19821 +19822 +19823 +19824 +19825 +19826 +19827 +19828 +19829 +19830 +19831 +19832 +19833 +19834 +19835 +19836 +19837 +19838 +19839 +19840 +19841 +19842 +19843 +19844 +19845 +19846 +19847 +19848 +19849 +19850 +19851 +19852 +19853 +19854 +19855 +19856 +19857 +19858 +19859 +19860 +19861 +19862 +19863 +19864 +19865 +19866 +19867 +19868 +19869 +19870 +19871 +19872 +19873 +19874 +19875 +19876 +19877 +19878 +19879 +19880 +19881 +19882 +19883 +19884 +19885 +19886 +19887 +19888 +19889 +19890 +19891 +19892 +19893 +19894 +19895 +19896 +19897 +19898 +19899 +19900 +19901 +19902 +19903 +19904 +19905 +19906 +19907 +19908 +19909 +19910 +19911 +19912 +19913 +19914 +19915 +19916 +19917 +19918 +19919 +19920 +19921 +19922 +19923 +19924 +19925 +19926 +19927 +19928 +19929 +19930 +19931 +19932 +19933 +19934 +19935 +19936 +19937 +19938 +19939 +19940 +19941 +19942 +19943 +19944 +19945 +19946 +19947 +19948 +19949 +19950 +19951 +19952 +19953 +19954 +19955 +19956 +19957 +19958 +19959 +19960 +19961 +19962 +19963 +19964 +19965 +19966 +19967 +19968 +19969 +19970 +19971 +19972 +19973 +19974 +19975 +19976 +19977 +19978 +19979 +19980 +19981 +19982 +19983 +19984 +19985 +19986 +19987 +19988 +19989 +19990 +19991 +19992 +19993 +19994 +19995 +19996 +19997 +19998 +19999 +20000 +20001 +20002 +20003 +20004 +20005 +20006 +20007 +20008 +20009 +20010 +20011 +20012 +20013 +20014 +20015 +20016 +20017 +20018 +20019 +20020 +20021 +20022 +20023 +20024 +20025 +20026 +20027 +20028 +20029 +20030 +20031 +20032 +20033 +20034 +20035 +20036 +20037 +20038 +20039 +20040 +20041 +20042 +20043 +20044 +20045 +20046 +20047 +20048 +20049 +20050 +20051 +20052 +20053 +20054 +20055 +20056 +20057 +20058 +20059 +20060 +20061 +20062 +20063 +20064 +20065 +20066 +20067 +20068 +20069 +20070 +20071 +20072 +20073 +20074 +20075 +20076 +20077 +20078 +20079 +20080 +20081 +20082 +20083 +20084 +20085 +20086 +20087 +20088 +20089 +20090 +20091 +20092 +20093 +20094 +20095 +20096 +20097 +20098 +20099 +20100 +20101 +20102 +20103 +20104 +20105 +20106 +20107 +20108 +20109 +20110 +20111 +20112 +20113 +20114 +20115 +20116 +20117 +20118 +20119 +20120 +20121 +20122 +20123 +20124 +20125 +20126 +20127 +20128 +20129 +20130 +20131 +20132 +20133 +20134 +20135 +20136 +20137 +20138 +20139 +20140 +20141 +20142 +20143 +20144 +20145 +20146 +20147 +20148 +20149 +20150 +20151 +20152 +20153 +20154 +20155 +20156 +20157 +20158 +20159 +20160 +20161 +20162 +20163 +20164 +20165 +20166 +20167 +20168 +20169 +20170 +20171 +20172 +20173 +20174 +20175 +20176 +20177 +20178 +20179 +20180 +20181 +20182 +20183 +20184 +20185 +20186 +20187 +20188 +20189 +20190 +20191 +20192 +20193 +20194 +20195 +20196 +20197 +20198 +20199 +20200 +20201 +20202 +20203 +20204 +20205 +20206 +20207 +20208 +20209 +20210 +20211 +20212 +20213 +20214 +20215 +20216 +20217 +20218 +20219 +20220 +20221 +20222 +20223 +20224 +20225 +20226 +20227 +20228 +20229 +20230 +20231 +20232 +20233 +20234 +20235 +20236 +20237 +20238 +20239 +20240 +20241 +20242 +20243 +20244 +20245 +20246 +20247 +20248 +20249 +20250 +20251 +20252 +20253 +20254 +20255 +20256 +20257 +20258 +20259 +20260 +20261 +20262 +20263 +20264 +20265 +20266 +20267 +20268 +20269 +20270 +20271 +20272 +20273 +20274 +20275 +20276 +20277 +20278 +20279 +20280 +20281 +20282 +20283 +20284 +20285 +20286 +20287 +20288 +20289 +20290 +20291 +20292 +20293 +20294 +20295 +20296 +20297 +20298 +20299 +20300 +20301 +20302 +20303 +20304 +20305 +20306 +20307 +20308 +20309 +20310 +20311 +20312 +20313 +20314 +20315 +20316 +20317 +20318 +20319 +20320 +20321 +20322 +20323 +20324 +20325 +20326 +20327 +20328 +20329 +20330 +20331 +20332 +20333 +20334 +20335 +20336 +20337 +20338 +20339 +20340 +20341 +20342 +20343 +20344 +20345 +20346 +20347 +20348 +20349 +20350 +20351 +20352 +20353 +20354 +20355 +20356 +20357 +20358 +20359 +20360 +20361 +20362 +20363 +20364 +20365 +20366 +20367 +20368 +20369 +20370 +20371 +20372 +20373 +20374 +20375 +20376 +20377 +20378 +20379 +20380 +20381 +20382 +20383 +20384 +20385 +20386 +20387 +20388 +20389 +20390 +20391 +20392 +20393 +20394 +20395 +20396 +20397 +20398 +20399 +20400 +20401 +20402 +20403 +20404 +20405 +20406 +20407 +20408 +20409 +20410 +20411 +20412 +20413 +20414 +20415 +20416 +20417 +20418 +20419 +20420 +20421 +20422 +20423 +20424 +20425 +20426 +20427 +20428 +20429 +20430 +20431 +20432 +20433 +20434 +20435 +20436 +20437 +20438 +20439 +20440 +20441 +20442 +20443 +20444 +20445 +20446 +20447 +20448 +20449 +20450 +20451 +20452 +20453 +20454 +20455 +20456 +20457 +20458 +20459 +20460 +20461 +20462 +20463 +20464 +20465 +20466 +20467 +20468 +20469 +20470 +20471 +20472 +20473 +20474 +20475 +20476 +20477 +20478 +20479 +20480 +20481 +20482 +20483 +20484 +20485 +20486 +20487 +20488 +20489 +20490 +20491 +20492 +20493 +20494 +20495 +20496 +20497 +20498 +20499 +20500 +20501 +20502 +20503 +20504 +20505 +20506 +20507 +20508 +20509 +20510 +20511 +20512 +20513 +20514 +20515 +20516 +20517 +20518 +20519 +20520 +20521 +20522 +20523 +20524 +20525 +20526 +20527 +20528 +20529 +20530 +20531 +20532 +20533 +20534 +20535 +20536 +20537 +20538 +20539 +20540 +20541 +20542 +20543 +20544 +20545 +20546 +20547 +20548 +20549 +20550 +20551 +20552 +20553 +20554 +20555 +20556 +20557 +20558 +20559 +20560 +20561 +20562 +20563 +20564 +20565 +20566 +20567 +20568 +20569 +20570 +20571 +20572 +20573 +20574 +20575 +20576 +20577 +20578 +20579 +20580 +20581 +20582 +20583 +20584 +20585 +20586 +20587 +20588 +20589 +20590 +20591 +20592 +20593 +20594 +20595 +20596 +20597 +20598 +20599 +20600 +20601 +20602 +20603 +20604 +20605 +20606 +20607 +20608 +20609 +20610 +20611 +20612 +20613 +20614 +20615 +20616 +20617 +20618 +20619 +20620 +20621 +20622 +20623 +20624 +20625 +20626 +20627 +20628 +20629 +20630 +20631 +20632 +20633 +20634 +20635 +20636 +20637 +20638 +20639 +20640 +20641 +20642 +20643 +20644 +20645 +20646 +20647 +20648 +20649 +20650 +20651 +20652 +20653 +20654 +20655 +20656 +20657 +20658 +20659 +20660 +20661 +20662 +20663 +20664 +20665 +20666 +20667 +20668 +20669 +20670 +20671 +20672 +20673 +20674 +20675 +20676 +20677 +20678 +20679 +20680 +20681 +20682 +20683 +20684 +20685 +20686 +20687 +20688 +20689 +20690 +20691 +20692 +20693 +20694 +20695 +20696 +20697 +20698 +20699 +20700 +20701 +20702 +20703 +20704 +20705 +20706 +20707 +20708 +20709 +20710 +20711 +20712 +20713 +20714 +20715 +20716 +20717 +20718 +20719 +20720 +20721 +20722 +20723 +20724 +20725 +20726 +20727 +20728 +20729 +20730 +20731 +20732 +20733 +20734 +20735 +20736 +20737 +20738 +20739 +20740 +20741 +20742 +20743 +20744 +20745 +20746 +20747 +20748 +20749 +20750 +20751 +20752 +20753 +20754 +20755 +20756 +20757 +20758 +20759 +20760 +20761 +20762 +20763 +20764 +20765 +20766 +20767 +20768 +20769 +20770 +20771 +20772 +20773 +20774 +20775 +20776 +20777 +20778 +20779 +20780 +20781 +20782 +20783 +20784 +20785 +20786 +20787 +20788 +20789 +20790 +20791 +20792 +20793 +20794 +20795 +20796 +20797 +20798 +20799 +20800 +20801 +20802 +20803 +20804 +20805 +20806 +20807 +20808 +20809 +20810 +20811 +20812 +20813 +20814 +20815 +20816 +20817 +20818 +20819 +20820 +20821 +20822 +20823 +20824 +20825 +20826 +20827 +20828 +20829 +20830 +20831 +20832 +20833 +20834 +20835 +20836 +20837 +20838 +20839 +20840 +20841 +20842 +20843 +20844 +20845 +20846 +20847 +20848 +20849 +20850 +20851 +20852 +20853 +20854 +20855 +20856 +20857 +20858 +20859 +20860 +20861 +20862 +20863 +20864 +20865 +20866 +20867 +20868 +20869 +20870 +20871 +20872 +20873 +20874 +20875 +20876 +20877 +20878 +20879 +20880 +20881 +20882 +20883 +20884 +20885 +20886 +20887 +20888 +20889 +20890 +20891 +20892 +20893 +20894 +20895 +20896 +20897 +20898 +20899 +20900 +20901 +20902 +20903 +20904 +20905 +20906 +20907 +20908 +20909 +20910 +20911 +20912 +20913 +20914 +20915 +20916 +20917 +20918 +20919 +20920 +20921 +20922 +20923 +20924 +20925 +20926 +20927 +20928 +20929 +20930 +20931 +20932 +20933 +20934 +20935 +20936 +20937 +20938 +20939 +20940 +20941 +20942 +20943 +20944 +20945 +20946 +20947 +20948 +20949 +20950 +20951 +20952 +20953 +20954 +20955 +20956 +20957 +20958 +20959 +20960 +20961 +20962 +20963 +20964 +20965 +20966 +20967 +20968 +20969 +20970 +20971 +20972 +20973 +20974 +20975 +20976 +20977 +20978 +20979 +20980 +20981 +20982 +20983 +20984 +20985 +20986 +20987 +20988 +20989 +20990 +20991 +20992 +20993 +20994 +20995 +20996 +20997 +20998 +20999 +21000 +21001 +21002 +21003 +21004 +21005 +21006 +21007 +21008 +21009 +21010 +21011 +21012 +21013 +21014 +21015 +21016 +21017 +21018 +21019 +21020 +21021 +21022 +21023 +21024 +21025 +21026 +21027 +21028 +21029 +21030 +21031 +21032 +21033 +21034 +21035 +21036 +21037 +21038 +21039 +21040 +21041 +21042 +21043 +21044 +21045 +21046 +21047 +21048 +21049 +21050 +21051 +21052 +21053 +21054 +21055 +21056 +21057 +21058 +21059 +21060 +21061 +21062 +21063 +21064 +21065 +21066 +21067 +21068 +21069 +21070 +21071 +21072 +21073 +21074 +21075 +21076 +21077 +21078 +21079 +21080 +21081 +21082 +21083 +21084 +21085 +21086 +21087 +21088 +21089 +21090 +21091 +21092 +21093 +21094 +21095 +21096 +21097 +21098 +21099 +21100 +21101 +21102 +21103 +21104 +21105 +21106 +21107 +21108 +21109 +21110 +21111 +21112 +21113 +21114 +21115 +21116 +21117 +21118 +21119 +21120 +21121 +21122 +21123 +21124 +21125 +21126 +21127 +21128 +21129 +21130 +21131 +21132 +21133 +21134 +21135 +21136 +21137 +21138 +21139 +21140 +21141 +21142 +21143 +21144 +21145 +21146 +21147 +21148 +21149 +21150 +21151 +21152 +21153 +21154 +21155 +21156 +21157 +21158 +21159 +21160 +21161 +21162 +21163 +21164 +21165 +21166 +21167 +21168 +21169 +21170 +21171 +21172 +21173 +21174 +21175 +21176 +21177 +21178 +21179 +21180 +21181 +21182 +21183 +21184 +21185 +21186 +21187 +21188 +21189 +21190 +21191 +21192 +21193 +21194 +21195 +21196 +21197 +21198 +21199 +21200 +21201 +21202 +21203 +21204 +21205 +21206 +21207 +21208 +21209 +21210 +21211 +21212 +21213 +21214 +21215 +21216 +21217 +21218 +21219 +21220 +21221 +21222 +21223 +21224 +21225 +21226 +21227 +21228 +21229 +21230 +21231 +21232 +21233 +21234 +21235 +21236 +21237 +21238 +21239 +21240 +21241 +21242 +21243 +21244 +21245 +21246 +21247 +21248 +21249 +21250 +21251 +21252 +21253 +21254 +21255 +21256 +21257 +21258 +21259 +21260 +21261 +21262 +21263 +21264 +21265 +21266 +21267 +21268 +21269 +21270 +21271 +21272 +21273 +21274 +21275 +21276 +21277 +21278 +21279 +21280 +21281 +21282 +21283 +21284 +21285 +21286 +21287 +21288 +21289 +21290 +21291 +21292 +21293 +21294 +21295 +21296 +21297 +21298 +21299 +21300 +21301 +21302 +21303 +21304 +21305 +21306 +21307 +21308 +21309 +21310 +21311 +21312 +21313 +21314 +21315 +21316 +21317 +21318 +21319 +21320 +21321 +21322 +21323 +21324 +21325 +21326 +21327 +21328 +21329 +21330 +21331 +21332 +21333 +21334 +21335 +21336 +21337 +21338 +21339 +21340 +21341 +21342 +21343 +21344 +21345 +21346 +21347 +21348 +21349 +21350 +21351 +21352 +21353 +21354 +21355 +21356 +21357 +21358 +21359 +21360 +21361 +21362 +21363 +21364 +21365 +21366 +21367 +21368 +21369 +21370 +21371 +21372 +21373 +21374 +21375 +21376 +21377 +21378 +21379 +21380 +21381 +21382 +21383 +21384 +21385 +21386 +21387 +21388 +21389 +21390 +21391 +21392 +21393 +21394 +21395 +21396 +21397 +21398 +21399 +21400 +21401 +21402 +21403 +21404 +21405 +21406 +21407 +21408 +21409 +21410 +21411 +21412 +21413 +21414 +21415 +21416 +21417 +21418 +21419 +21420 +21421 +21422 +21423 +21424 +21425 +21426 +21427 +21428 +21429 +21430 +21431 +21432 +21433 +21434 +21435 +21436 +21437 +21438 +21439 +21440 +21441 +21442 +21443 +21444 +21445 +21446 +21447 +21448 +21449 +21450 +21451 +21452 +21453 +21454 +21455 +21456 +21457 +21458 +21459 +21460 +21461 +21462 +21463 +21464 +21465 +21466 +21467 +21468 +21469 +21470 +21471 +21472 +21473 +21474 +21475 +21476 +21477 +21478 +21479 +21480 +21481 +21482 +21483 +21484 +21485 +21486 +21487 +21488 +21489 +21490 +21491 +21492 +21493 +21494 +21495 +21496 +21497 +21498 +21499 +21500 +21501 +21502 +21503 +21504 +21505 +21506 +21507 +21508 +21509 +21510 +21511 +21512 +21513 +21514 +21515 +21516 +21517 +21518 +21519 +21520 +21521 +21522 +21523 +21524 +21525 +21526 +21527 +21528 +21529 +21530 +21531 +21532 +21533 +21534 +21535 +21536 +21537 +21538 +21539 +21540 +21541 +21542 +21543 +21544 +21545 +21546 +21547 +21548 +21549 +21550 +21551 +21552 +21553 +21554 +21555 +21556 +21557 +21558 +21559 +21560 +21561 +21562 +21563 +21564 +21565 +21566 +21567 +21568 +21569 +21570 +21571 +21572 +21573 +21574 +21575 +21576 +21577 +21578 +21579 +21580 +21581 +21582 +21583 +21584 +21585 +21586 +21587 +21588 +21589 +21590 +21591 +21592 +21593 +21594 +21595 +21596 +21597 +21598 +21599 +21600 +21601 +21602 +21603 +21604 +21605 +21606 +21607 +21608 +21609 +21610 +21611 +21612 +21613 +21614 +21615 +21616 +21617 +21618 +21619 +21620 +21621 +21622 +21623 +21624 +21625 +21626 +21627 +21628 +21629 +21630 +21631 +21632 +21633 +21634 +21635 +21636 +21637 +21638 +21639 +21640 +21641 +21642 +21643 +21644 +21645 +21646 +21647 +21648 +21649 +21650 +21651 +21652 +21653 +21654 +21655 +21656 +21657 +21658 +21659 +21660 +21661 +21662 +21663 +21664 +21665 +21666 +21667 +21668 +21669 +21670 +21671 +21672 +21673 +21674 +21675 +21676 +21677 +21678 +21679 +21680 +21681 +21682 +21683 +21684 +21685 +21686 +21687 +21688 +21689 +21690 +21691 +21692 +21693 +21694 +21695 +21696 +21697 +21698 +21699 +21700 +21701 +21702 +21703 +21704 +21705 +21706 +21707 +21708 +21709 +21710 +21711 +21712 +21713 +21714 +21715 +21716 +21717 +21718 +21719 +21720 +21721 +21722 +21723 +21724 +21725 +21726 +21727 +21728 +21729 +21730 +21731 +21732 +21733 +21734 +21735 +21736 +21737 +21738 +21739 +21740 +21741 +21742 +21743 +21744 +21745 +21746 +21747 +21748 +21749 +21750 +21751 +21752 +21753 +21754 +21755 +21756 +21757 +21758 +21759 +21760 +21761 +21762 +21763 +21764 +21765 +21766 +21767 +21768 +21769 +21770 +21771 +21772 +21773 +21774 +21775 +21776 +21777 +21778 +21779 +21780 +21781 +21782 +21783 +21784 +21785 +21786 +21787 +21788 +21789 +21790 +21791 +21792 +21793 +21794 +21795 +21796 +21797 +21798 +21799 +21800 +21801 +21802 +21803 +21804 +21805 +21806 +21807 +21808 +21809 +21810 +21811 +21812 +21813 +21814 +21815 +21816 +21817 +21818 +21819 +21820 +21821 +21822 +21823 +21824 +21825 +21826 +21827 +21828 +21829 +21830 +21831 +21832 +21833 +21834 +21835 +21836 +21837 +21838 +21839 +21840 +21841 +21842 +21843 +21844 +21845 +21846 +21847 +21848 +21849 +21850 +21851 +21852 +21853 +21854 +21855 +21856 +21857 +21858 +21859 +21860 +21861 +21862 +21863 +21864 +21865 +21866 +21867 +21868 +21869 +21870 +21871 +21872 +21873 +21874 +21875 +21876 +21877 +21878 +21879 +21880 +21881 +21882 +21883 +21884 +21885 +21886 +21887 +21888 +21889 +21890 +21891 +21892 +21893 +21894 +21895 +21896 +21897 +21898 +21899 +21900 +21901 +21902 +21903 +21904 +21905 +21906 +21907 +21908 +21909 +21910 +21911 +21912 +21913 +21914 +21915 +21916 +21917 +21918 +21919 +21920 +21921 +21922 +21923 +21924 +21925 +21926 +21927 +21928 +21929 +21930 +21931 +21932 +21933 +21934 +21935 +21936 +21937 +21938 +21939 +21940 +21941 +21942 +21943 +21944 +21945 +21946 +21947 +21948 +21949 +21950 +21951 +21952 +21953 +21954 +21955 +21956 +21957 +21958 +21959 +21960 +21961 +21962 +21963 +21964 +21965 +21966 +21967 +21968 +21969 +21970 +21971 +21972 +21973 +21974 +21975 +21976 +21977 +21978 +21979 +21980 +21981 +21982 +21983 +21984 +21985 +21986 +21987 +21988 +21989 +21990 +21991 +21992 +21993 +21994 +21995 +21996 +21997 +21998 +21999 +22000 +22001 +22002 +22003 +22004 +22005 +22006 +22007 +22008 +22009 +22010 +22011 +22012 +22013 +22014 +22015 +22016 +22017 +22018 +22019 +22020 +22021 +22022 +22023 +22024 +22025 +22026 +22027 +22028 +22029 +22030 +22031 +22032 +22033 +22034 +22035 +22036 +22037 +22038 +22039 +22040 +22041 +22042 +22043 +22044 +22045 +22046 +22047 +22048 +22049 +22050 +22051 +22052 +22053 +22054 +22055 +22056 +22057 +22058 +22059 +22060 +22061 +22062 +22063 +22064 +22065 +22066 +22067 +22068 +22069 +22070 +22071 +22072 +22073 +22074 +22075 +22076 +22077 +22078 +22079 +22080 +22081 +22082 +22083 +22084 +22085 +22086 +22087 +22088 +22089 +22090 +22091 +22092 +22093 +22094 +22095 +22096 +22097 +22098 +22099 +22100 +22101 +22102 +22103 +22104 +22105 +22106 +22107 +22108 +22109 +22110 +22111 +22112 +22113 +22114 +22115 +22116 +22117 +22118 +22119 +22120 +22121 +22122 +22123 +22124 +22125 +22126 +22127 +22128 +22129 +22130 +22131 +22132 +22133 +22134 +22135 +22136 +22137 +22138 +22139 +22140 +22141 +22142 +22143 +22144 +22145 +22146 +22147 +22148 +22149 +22150 +22151 +22152 +22153 +22154 +22155 +22156 +22157 +22158 +22159 +22160 +22161 +22162 +22163 +22164 +22165 +22166 +22167 +22168 +22169 +22170 +22171 +22172 +22173 +22174 +22175 +22176 +22177 +22178 +22179 +22180 +22181 +22182 +22183 +22184 +22185 +22186 +22187 +22188 +22189 +22190 +22191 +22192 +22193 +22194 +22195 +22196 +22197 +22198 +22199 +22200 +22201 +22202 +22203 +22204 +22205 +22206 +22207 +22208 +22209 +22210 +22211 +22212 +22213 +22214 +22215 +22216 +22217 +22218 +22219 +22220 +22221 +22222 +22223 +22224 +22225 +22226 +22227 +22228 +22229 +22230 +22231 +22232 +22233 +22234 +22235 +22236 +22237 +22238 +22239 +22240 +22241 +22242 +22243 +22244 +22245 +22246 +22247 +22248 +22249 +22250 +22251 +22252 +22253 +22254 +22255 +22256 +22257 +22258 +22259 +22260 +22261 +22262 +22263 +22264 +22265 +22266 +22267 +22268 +22269 +22270 +22271 +22272 +22273 +22274 +22275 +22276 +22277 +22278 +22279 +22280 +22281 +22282 +22283 +22284 +22285 +22286 +22287 +22288 +22289 +22290 +22291 +22292 +22293 +22294 +22295 +22296 +22297 +22298 +22299 +22300 +22301 +22302 +22303 +22304 +22305 +22306 +22307 +22308 +22309 +22310 +22311 +22312 +22313 +22314 +22315 +22316 +22317 +22318 +22319 +22320 +22321 +22322 +22323 +22324 +22325 +22326 +22327 +22328 +22329 +22330 +22331 +22332 +22333 +22334 +22335 +22336 +22337 +22338 +22339 +22340 +22341 +22342 +22343 +22344 +22345 +22346 +22347 +22348 +22349 +22350 +22351 +22352 +22353 +22354 +22355 +22356 +22357 +22358 +22359 +22360 +22361 +22362 +22363 +22364 +22365 +22366 +22367 +22368 +22369 +22370 +22371 +22372 +22373 +22374 +22375 +22376 +22377 +22378 +22379 +22380 +22381 +22382 +22383 +22384 +22385 +22386 +22387 +22388 +22389 +22390 +22391 +22392 +22393 +22394 +22395 +22396 +22397 +22398 +22399 +22400 +22401 +22402 +22403 +22404 +22405 +22406 +22407 +22408 +22409 +22410 +22411 +22412 +22413 +22414 +22415 +22416 +22417 +22418 +22419 +22420 +22421 +22422 +22423 +22424 +22425 +22426 +22427 +22428 +22429 +22430 +22431 +22432 +22433 +22434 +22435 +22436 +22437 +22438 +22439 +22440 +22441 +22442 +22443 +22444 +22445 +22446 +22447 +22448 +22449 +22450 +22451 +22452 +22453 +22454 +22455 +22456 +22457 +22458 +22459 +22460 +22461 +22462 +22463 +22464 +22465 +22466 +22467 +22468 +22469 +22470 +22471 +22472 +22473 +22474 +22475 +22476 +22477 +22478 +22479 +22480 +22481 +22482 +22483 +22484 +22485 +22486 +22487 +22488 +22489 +22490 +22491 +22492 +22493 +22494 +22495 +22496 +22497 +22498 +22499 +22500 +22501 +22502 +22503 +22504 +22505 +22506 +22507 +22508 +22509 +22510 +22511 +22512 +22513 +22514 +22515 +22516 +22517 +22518 +22519 +22520 +22521 +22522 +22523 +22524 +22525 +22526 +22527 +22528 +22529 +22530 +22531 +22532 +22533 +22534 +22535 +22536 +22537 +22538 +22539 +22540 +22541 +22542 +22543 +22544 +22545 +22546 +22547 +22548 +22549 +22550 +22551 +22552 +22553 +22554 +22555 +22556 +22557 +22558 +22559 +22560 +22561 +22562 +22563 +22564 +22565 +22566 +22567 +22568 +22569 +22570 +22571 +22572 +22573 +22574 +22575 +22576 +22577 +22578 +22579 +22580 +22581 +22582 +22583 +22584 +22585 +22586 +22587 +22588 +22589 +22590 +22591 +22592 +22593 +22594 +22595 +22596 +22597 +22598 +22599 +22600 +22601 +22602 +22603 +22604 +22605 +22606 +22607 +22608 +22609 +22610 +22611 +22612 +22613 +22614 +22615 +22616 +22617 +22618 +22619 +22620 +22621 +22622 +22623 +22624 +22625 +22626 +22627 +22628 +22629 +22630 +22631 +22632 +22633 +22634 +22635 +22636 +22637 +22638 +22639 +22640 +22641 +22642 +22643 +22644 +22645 +22646 +22647 +22648 +22649 +22650 +22651 +22652 +22653 +22654 +22655 +22656 +22657 +22658 +22659 +22660 +22661 +22662 +22663 +22664 +22665 +22666 +22667 +22668 +22669 +22670 +22671 +22672 +22673 +22674 +22675 +22676 +22677 +22678 +22679 +22680 +22681 +22682 +22683 +22684 +22685 +22686 +22687 +22688 +22689 +22690 +22691 +22692 +22693 +22694 +22695 +22696 +22697 +22698 +22699 +22700 +22701 +22702 +22703 +22704 +22705 +22706 +22707 +22708 +22709 +22710 +22711 +22712 +22713 +22714 +22715 +22716 +22717 +22718 +22719 +22720 +22721 +22722 +22723 +22724 +22725 +22726 +22727 +22728 +22729 +22730 +22731 +22732 +22733 +22734 +22735 +22736 +22737 +22738 +22739 +22740 +22741 +22742 +22743 +22744 +22745 +22746 +22747 +22748 +22749 +22750 +22751 +22752 +22753 +22754 +22755 +22756 +22757 +22758 +22759 +22760 +22761 +22762 +22763 +22764 +22765 +22766 +22767 +22768 +22769 +22770 +22771 +22772 +22773 +22774 +22775 +22776 +22777 +22778 +22779 +22780 +22781 +22782 +22783 +22784 +22785 +22786 +22787 +22788 +22789 +22790 +22791 +22792 +22793 +22794 +22795 +22796 +22797 +22798 +22799 +22800 +22801 +22802 +22803 +22804 +22805 +22806 +22807 +22808 +22809 +22810 +22811 +22812 +22813 +22814 +22815 +22816 +22817 +22818 +22819 +22820 +22821 +22822 +22823 +22824 +22825 +22826 +22827 +22828 +22829 +22830 +22831 +22832 +22833 +22834 +22835 +22836 +22837 +22838 +22839 +22840 +22841 +22842 +22843 +22844 +22845 +22846 +22847 +22848 +22849 +22850 +22851 +22852 +22853 +22854 +22855 +22856 +22857 +22858 +22859 +22860 +22861 +22862 +22863 +22864 +22865 +22866 +22867 +22868 +22869 +22870 +22871 +22872 +22873 +22874 +22875 +22876 +22877 +22878 +22879 +22880 +22881 +22882 +22883 +22884 +22885 +22886 +22887 +22888 +22889 +22890 +22891 +22892 +22893 +22894 +22895 +22896 +22897 +22898 +22899 +22900 +22901 +22902 +22903 +22904 +22905 +22906 +22907 +22908 +22909 +22910 +22911 +22912 +22913 +22914 +22915 +22916 +22917 +22918 +22919 +22920 +22921 +22922 +22923 +22924 +22925 +22926 +22927 +22928 +22929 +22930 +22931 +22932 +22933 +22934 +22935 +22936 +22937 +22938 +22939 +22940 +22941 +22942 +22943 +22944 +22945 +22946 +22947 +22948 +22949 +22950 +22951 +22952 +22953 +22954 +22955 +22956 +22957 +22958 +22959 +22960 +22961 +22962 +22963 +22964 +22965 +22966 +22967 +22968 +22969 +22970 +22971 +22972 +22973 +22974 +22975 +22976 +22977 +22978 +22979 +22980 +22981 +22982 +22983 +22984 +22985 +22986 +22987 +22988 +22989 +22990 +22991 +22992 +22993 +22994 +22995 +22996 +22997 +22998 +22999 +23000 +23001 +23002 +23003 +23004 +23005 +23006 +23007 +23008 +23009 +23010 +23011 +23012 +23013 +23014 +23015 +23016 +23017 +23018 +23019 +23020 +23021 +23022 +23023 +23024 +23025 +23026 +23027 +23028 +23029 +23030 +23031 +23032 +23033 +23034 +23035 +23036 +23037 +23038 +23039 +23040 +23041 +23042 +23043 +23044 +23045 +23046 +23047 +23048 +23049 +23050 +23051 +23052 +23053 +23054 +23055 +23056 +23057 +23058 +23059 +23060 +23061 +23062 +23063 +23064 +23065 +23066 +23067 +23068 +23069 +23070 +23071 +23072 +23073 +23074 +23075 +23076 +23077 +23078 +23079 +23080 +23081 +23082 +23083 +23084 +23085 +23086 +23087 +23088 +23089 +23090 +23091 +23092 +23093 +23094 +23095 +23096 +23097 +23098 +23099 +23100 +23101 +23102 +23103 +23104 +23105 +23106 +23107 +23108 +23109 +23110 +23111 +23112 +23113 +23114 +23115 +23116 +23117 +23118 +23119 +23120 +23121 +23122 +23123 +23124 +23125 +23126 +23127 +23128 +23129 +23130 +23131 +23132 +23133 +23134 +23135 +23136 +23137 +23138 +23139 +23140 +23141 +23142 +23143 +23144 +23145 +23146 +23147 +23148 +23149 +23150 +23151 +23152 +23153 +23154 +23155 +23156 +23157 +23158 +23159 +23160 +23161 +23162 +23163 +23164 +23165 +23166 +23167 +23168 +23169 +23170 +23171 +23172 +23173 +23174 +23175 +23176 +23177 +23178 +23179 +23180 +23181 +23182 +23183 +23184 +23185 +23186 +23187 +23188 +23189 +23190 +23191 +23192 +23193 +23194 +23195 +23196 +23197 +23198 +23199 +23200 +23201 +23202 +23203 +23204 +23205 +23206 +23207 +23208 +23209 +23210 +23211 +23212 +23213 +23214 +23215 +23216 +23217 +23218 +23219 +23220 +23221 +23222 +23223 +23224 +23225 +23226 +23227 +23228 +23229 +23230 +23231 +23232 +23233 +23234 +23235 +23236 +23237 +23238 +23239 +23240 +23241 +23242 +23243 +23244 +23245 +23246 +23247 +23248 +23249 +23250 +23251 +23252 +23253 +23254 +23255 +23256 +23257 +23258 +23259 +23260 +23261 +23262 +23263 +23264 +23265 +23266 +23267 +23268 +23269 +23270 +23271 +23272 +23273 +23274 +23275 +23276 +23277 +23278 +23279 +23280 +23281 +23282 +23283 +23284 +23285 +23286 +23287 +23288 +23289 +23290 +23291 +23292 +23293 +23294 +23295 +23296 +23297 +23298 +23299 +23300 +23301 +23302 +23303 +23304 +23305 +23306 +23307 +23308 +23309 +23310 +23311 +23312 +23313 +23314 +23315 +23316 +23317 +23318 +23319 +23320 +23321 +23322 +23323 +23324 +23325 +23326 +23327 +23328 +23329 +23330 +23331 +23332 +23333 +23334 +23335 +23336 +23337 +23338 +23339 +23340 +23341 +23342 +23343 +23344 +23345 +23346 +23347 +23348 +23349 +23350 +23351 +23352 +23353 +23354 +23355 +23356 +23357 +23358 +23359 +23360 +23361 +23362 +23363 +23364 +23365 +23366 +23367 +23368 +23369 +23370 +23371 +23372 +23373 +23374 +23375 +23376 +23377 +23378 +23379 +23380 +23381 +23382 +23383 +23384 +23385 +23386 +23387 +23388 +23389 +23390 +23391 +23392 +23393 +23394 +23395 +23396 +23397 +23398 +23399 +23400 +23401 +23402 +23403 +23404 +23405 +23406 +23407 +23408 +23409 +23410 +23411 +23412 +23413 +23414 +23415 +23416 +23417 +23418 +23419 +23420 +23421 +23422 +23423 +23424 +23425 +23426 +23427 +23428 +23429 +23430 +23431 +23432 +23433 +23434 +23435 +23436 +23437 +23438 +23439 +23440 +23441 +23442 +23443 +23444 +23445 +23446 +23447 +23448 +23449 +23450 +23451 +23452 +23453 +23454 +23455 +23456 +23457 +23458 +23459 +23460 +23461 +23462 +23463 +23464 +23465 +23466 +23467 +23468 +23469 +23470 +23471 +23472 +23473 +23474 +23475 +23476 +23477 +23478 +23479 +23480 +23481 +23482 +23483 +23484 +23485 +23486 +23487 +23488 +23489 +23490 +23491 +23492 +23493 +23494 +23495 +23496 +23497 +23498 +23499 +23500 +23501 +23502 +23503 +23504 +23505 +23506 +23507 +23508 +23509 +23510 +23511 +23512 +23513 +23514 +23515 +23516 +23517 +23518 +23519 +23520 +23521 +23522 +23523 +23524 +23525 +23526 +23527 +23528 +23529 +23530 +23531 +23532 +23533 +23534 +23535 +23536 +23537 +23538 +23539 +23540 +23541 +23542 +23543 +23544 +23545 +23546 +23547 +23548 +23549 +23550 +23551 +23552 +23553 +23554 +23555 +23556 +23557 +23558 +23559 +23560 +23561 +23562 +23563 +23564 +23565 +23566 +23567 +23568 +23569 +23570 +23571 +23572 +23573 +23574 +23575 +23576 +23577 +23578 +23579 +23580 +23581 +23582 +23583 +23584 +23585 +23586 +23587 +23588 +23589 +23590 +23591 +23592 +23593 +23594 +23595 +23596 +23597 +23598 +23599 +23600 +23601 +23602 +23603 +23604 +23605 +23606 +23607 +23608 +23609 +23610 +23611 +23612 +23613 +23614 +23615 +23616 +23617 +23618 +23619 +23620 +23621 +23622 +23623 +23624 +23625 +23626 +23627 +23628 +23629 +23630 +23631 +23632 +23633 +23634 +23635 +23636 +23637 +23638 +23639 +23640 +23641 +23642 +23643 +23644 +23645 +23646 +23647 +23648 +23649 +23650 +23651 +23652 +23653 +23654 +23655 +23656 +23657 +23658 +23659 +23660 +23661 +23662 +23663 +23664 +23665 +23666 +23667 +23668 +23669 +23670 +23671 +23672 +23673 +23674 +23675 +23676 +23677 +23678 +23679 +23680 +23681 +23682 +23683 +23684 +23685 +23686 +23687 +23688 +23689 +23690 +23691 +23692 +23693 +23694 +23695 +23696 +23697 +23698 +23699 +23700 +23701 +23702 +23703 +23704 +23705 +23706 +23707 +23708 +23709 +23710 +23711 +23712 +23713 +23714 +23715 +23716 +23717 +23718 +23719 +23720 +23721 +23722 +23723 +23724 +23725 +23726 +23727 +23728 +23729 +23730 +23731 +23732 +23733 +23734 +23735 +23736 +23737 +23738 +23739 +23740 +23741 +23742 +23743 +23744 +23745 +23746 +23747 +23748 +23749 +23750 +23751 +23752 +23753 +23754 +23755 +23756 +23757 +23758 +23759 +23760 +23761 +23762 +23763 +23764 +23765 +23766 +23767 +23768 +23769 +23770 +23771 +23772 +23773 +23774 +23775 +23776 +23777 +23778 +23779 +23780 +23781 +23782 +23783 +23784 +23785 +23786 +23787 +23788 +23789 +23790 +23791 +23792 +23793 +23794 +23795 +23796 +23797 +23798 +23799 +23800 +23801 +23802 +23803 +23804 +23805 +23806 +23807 +23808 +23809 +23810 +23811 +23812 +23813 +23814 +23815 +23816 +23817 +23818 +23819 +23820 +23821 +23822 +23823 +23824 +23825 +23826 +23827 +23828 +23829 +23830 +23831 +23832 +23833 +23834 +23835 +23836 +23837 +23838 +23839 +23840 +23841 +23842 +23843 +23844 +23845 +23846 +23847 +23848 +23849 +23850 +23851 +23852 +23853 +23854 +23855 +23856 +23857 +23858 +23859 +23860 +23861 +23862 +23863 +23864 +23865 +23866 +23867 +23868 +23869 +23870 +23871 +23872 +23873 +23874 +23875 +23876 +23877 +23878 +23879 +23880 +23881 +23882 +23883 +23884 +23885 +23886 +23887 +23888 +23889 +23890 +23891 +23892 +23893 +23894 +23895 +23896 +23897 +23898 +23899 +23900 +23901 +23902 +23903 +23904 +23905 +23906 +23907 +23908 +23909 +23910 +23911 +23912 +23913 +23914 +23915 +23916 +23917 +23918 +23919 +23920 +23921 +23922 +23923 +23924 +23925 +23926 +23927 +23928 +23929 +23930 +23931 +23932 +23933 +23934 +23935 +23936 +23937 +23938 +23939 +23940 +23941 +23942 +23943 +23944 +23945 +23946 +23947 +23948 +23949 +23950 +23951 +23952 +23953 +23954 +23955 +23956 +23957 +23958 +23959 +23960 +23961 +23962 +23963 +23964 +23965 +23966 +23967 +23968 +23969 +23970 +23971 +23972 +23973 +23974 +23975 +23976 +23977 +23978 +23979 +23980 +23981 +23982 +23983 +23984 +23985 +23986 +23987 +23988 +23989 +23990 +23991 +23992 +23993 +23994 +23995 +23996 +23997 +23998 +23999 +24000 +24001 +24002 +24003 +24004 +24005 +24006 +24007 +24008 +24009 +24010 +24011 +24012 +24013 +24014 +24015 +24016 +24017 +24018 +24019 +24020 +24021 +24022 +24023 +24024 +24025 +24026 +24027 +24028 +24029 +24030 +24031 +24032 +24033 +24034 +24035 +24036 +24037 +24038 +24039 +24040 +24041 +24042 +24043 +24044 +24045 +24046 +24047 +24048 +24049 +24050 +24051 +24052 +24053 +24054 +24055 +24056 +24057 +24058 +24059 +24060 +24061 +24062 +24063 +24064 +24065 +24066 +24067 +24068 +24069 +24070 +24071 +24072 +24073 +24074 +24075 +24076 +24077 +24078 +24079 +24080 +24081 +24082 +24083 +24084 +24085 +24086 +24087 +24088 +24089 +24090 +24091 +24092 +24093 +24094 +24095 +24096 +24097 +24098 +24099 +24100 +24101 +24102 +24103 +24104 +24105 +24106 +24107 +24108 +24109 +24110 +24111 +24112 +24113 +24114 +24115 +24116 +24117 +24118 +24119 +24120 +24121 +24122 +24123 +24124 +24125 +24126 +24127 +24128 +24129 +24130 +24131 +24132 +24133 +24134 +24135 +24136 +24137 +24138 +24139 +24140 +24141 +24142 +24143 +24144 +24145 +24146 +24147 +24148 +24149 +24150 +24151 +24152 +24153 +24154 +24155 +24156 +24157 +24158 +24159 +24160 +24161 +24162 +24163 +24164 +24165 +24166 +24167 +24168 +24169 +24170 +24171 +24172 +24173 +24174 +24175 +24176 +24177 +24178 +24179 +24180 +24181 +24182 +24183 +24184 +24185 +24186 +24187 +24188 +24189 +24190 +24191 +24192 +24193 +24194 +24195 +24196 +24197 +24198 +24199 +24200 +24201 +24202 +24203 +24204 +24205 +24206 +24207 +24208 +24209 +24210 +24211 +24212 +24213 +24214 +24215 +24216 +24217 +24218 +24219 +24220 +24221 +24222 +24223 +24224 +24225 +24226 +24227 +24228 +24229 +24230 +24231 +24232 +24233 +24234 +24235 +24236 +24237 +24238 +24239 +24240 +24241 +24242 +24243 +24244 +24245 +24246 +24247 +24248 +24249 +24250 +24251 +24252 +24253 +24254 +24255 +24256 +24257 +24258 +24259 +24260 +24261 +24262 +24263 +24264 +24265 +24266 +24267 +24268 +24269 +24270 +24271 +24272 +24273 +24274 +24275 +24276 +24277 +24278 +24279 +24280 +24281 +24282 +24283 +24284 +24285 +24286 +24287 +24288 +24289 +24290 +24291 +24292 +24293 +24294 +24295 +24296 +24297 +24298 +24299 +24300 +24301 +24302 +24303 +24304 +24305 +24306 +24307 +24308 +24309 +24310 +24311 +24312 +24313 +24314 +24315 +24316 +24317 +24318 +24319 +24320 +24321 +24322 +24323 +24324 +24325 +24326 +24327 +24328 +24329 +24330 +24331 +24332 +24333 +24334 +24335 +24336 +24337 +24338 +24339 +24340 +24341 +24342 +24343 +24344 +24345 +24346 +24347 +24348 +24349 +24350 +24351 +24352 +24353 +24354 +24355 +24356 +24357 +24358 +24359 +24360 +24361 +24362 +24363 +24364 +24365 +24366 +24367 +24368 +24369 +24370 +24371 +24372 +24373 +24374 +24375 +24376 +24377 +24378 +24379 +24380 +24381 +24382 +24383 +24384 +24385 +24386 +24387 +24388 +24389 +24390 +24391 +24392 +24393 +24394 +24395 +24396 +24397 +24398 +24399 +24400 +24401 +24402 +24403 +24404 +24405 +24406 +24407 +24408 +24409 +24410 +24411 +24412 +24413 +24414 +24415 +24416 +24417 +24418 +24419 +24420 +24421 +24422 +24423 +24424 +24425 +24426 +24427 +24428 +24429 +24430 +24431 +24432 +24433 +24434 +24435 +24436 +24437 +24438 +24439 +24440 +24441 +24442 +24443 +24444 +24445 +24446 +24447 +24448 +24449 +24450 +24451 +24452 +24453 +24454 +24455 +24456 +24457 +24458 +24459 +24460 +24461 +24462 +24463 +24464 +24465 +24466 +24467 +24468 +24469 +24470 +24471 +24472 +24473 +24474 +24475 +24476 +24477 +24478 +24479 +24480 +24481 +24482 +24483 +24484 +24485 +24486 +24487 +24488 +24489 +24490 +24491 +24492 +24493 +24494 +24495 +24496 +24497 +24498 +24499 +24500 +24501 +24502 +24503 +24504 +24505 +24506 +24507 +24508 +24509 +24510 +24511 +24512 +24513 +24514 +24515 +24516 +24517 +24518 +24519 +24520 +24521 +24522 +24523 +24524 +24525 +24526 +24527 +24528 +24529 +24530 +24531 +24532 +24533 +24534 +24535 +24536 +24537 +24538 +24539 +24540 +24541 +24542 +24543 +24544 +24545 +24546 +24547 +24548 +24549 +24550 +24551 +24552 +24553 +24554 +24555 +24556 +24557 +24558 +24559 +24560 +24561 +24562 +24563 +24564 +24565 +24566 +24567 +24568 +24569 +24570 +24571 +24572 +24573 +24574 +24575 +24576 +24577 +24578 +24579 +24580 +24581 +24582 +24583 +24584 +24585 +24586 +24587 +24588 +24589 +24590 +24591 +24592 +24593 +24594 +24595 +24596 +24597 +24598 +24599 +24600 +24601 +24602 +24603 +24604 +24605 +24606 +24607 +24608 +24609 +24610 +24611 +24612 +24613 +24614 +24615 +24616 +24617 +24618 +24619 +24620 +24621 +24622 +24623 +24624 +24625 +24626 +24627 +24628 +24629 +24630 +24631 +24632 +24633 +24634 +24635 +24636 +24637 +24638 +24639 +24640 +24641 +24642 +24643 +24644 +24645 +24646 +24647 +24648 +24649 +24650 +24651 +24652 +24653 +24654 +24655 +24656 +24657 +24658 +24659 +24660 +24661 +24662 +24663 +24664 +24665 +24666 +24667 +24668 +24669 +24670 +24671 +24672 +24673 +24674 +24675 +24676 +24677 +24678 +24679 +24680 +24681 +24682 +24683 +24684 +24685 +24686 +24687 +24688 +24689 +24690 +24691 +24692 +24693 +24694 +24695 +24696 +24697 +24698 +24699 +24700 +24701 +24702 +24703 +24704 +24705 +24706 +24707 +24708 +24709 +24710 +24711 +24712 +24713 +24714 +24715 +24716 +24717 +24718 +24719 +24720 +24721 +24722 +24723 +24724 +24725 +24726 +24727 +24728 +24729 +24730 +24731 +24732 +24733 +24734 +24735 +24736 +24737 +24738 +24739 +24740 +24741 +24742 +24743 +24744 +24745 +24746 +24747 +24748 +24749 +24750 +24751 +24752 +24753 +24754 +24755 +24756 +24757 +24758 +24759 +24760 +24761 +24762 +24763 +24764 +24765 +24766 +24767 +24768 +24769 +24770 +24771 +24772 +24773 +24774 +24775 +24776 +24777 +24778 +24779 +24780 +24781 +24782 +24783 +24784 +24785 +24786 +24787 +24788 +24789 +24790 +24791 +24792 +24793 +24794 +24795 +24796 +24797 +24798 +24799 +24800 +24801 +24802 +24803 +24804 +24805 +24806 +24807 +24808 +24809 +24810 +24811 +24812 +24813 +24814 +24815 +24816 +24817 +24818 +24819 +24820 +24821 +24822 +24823 +24824 +24825 +24826 +24827 +24828 +24829 +24830 +24831 +24832 +24833 +24834 +24835 +24836 +24837 +24838 +24839 +24840 +24841 +24842 +24843 +24844 +24845 +24846 +24847 +24848 +24849 +24850 +24851 +24852 +24853 +24854 +24855 +24856 +24857 +24858 +24859 +24860 +24861 +24862 +24863 +24864 +24865 +24866 +24867 +24868 +24869 +24870 +24871 +24872 +24873 +24874 +24875 +24876 +24877 +24878 +24879 +24880 +24881 +24882 +24883 +24884 +24885 +24886 +24887 +24888 +24889 +24890 +24891 +24892 +24893 +24894 +24895 +24896 +24897 +24898 +24899 +24900 +24901 +24902 +24903 +24904 +24905 +24906 +24907 +24908 +24909 +24910 +24911 +24912 +24913 +24914 +24915 +24916 +24917 +24918 +24919 +24920 +24921 +24922 +24923 +24924 +24925 +24926 +24927 +24928 +24929 +24930 +24931 +24932 +24933 +24934 +24935 +24936 +24937 +24938 +24939 +24940 +24941 +24942 +24943 +24944 +24945 +24946 +24947 +24948 +24949 +24950 +24951 +24952 +24953 +24954 +24955 +24956 +24957 +24958 +24959 +24960 +24961 +24962 +24963 +24964 +24965 +24966 +24967 +24968 +24969 +24970 +24971 +24972 +24973 +24974 +24975 +24976 +24977 +24978 +24979 +24980 +24981 +24982 +24983 +24984 +24985 +24986 +24987 +24988 +24989 +24990 +24991 +24992 +24993 +24994 +24995 +24996 +24997 +24998 +24999 +25000 +25001 +25002 +25003 +25004 +25005 +25006 +25007 +25008 +25009 +25010 +25011 +25012 +25013 +25014 +25015 +25016 +25017 +25018 +25019 +25020 +25021 +25022 +25023 +25024 +25025 +25026 +25027 +25028 +25029 +25030 +25031 +25032 +25033 +25034 +25035 +25036 +25037 +25038 +25039 +25040 +25041 +25042 +25043 +25044 +25045 +25046 +25047 +25048 +25049 +25050 +25051 +25052 +25053 +25054 +25055 +25056 +25057 +25058 +25059 +25060 +25061 +25062 +25063 +25064 +25065 +25066 +25067 +25068 +25069 +25070 +25071 +25072 +25073 +25074 +25075 +25076 +25077 +25078 +25079 +25080 +25081 +25082 +25083 +25084 +25085 +25086 +25087 +25088 +25089 +25090 +25091 +25092 +25093 +25094 +25095 +25096 +25097 +25098 +25099 +25100 +25101 +25102 +25103 +25104 +25105 +25106 +25107 +25108 +25109 +25110 +25111 +25112 +25113 +25114 +25115 +25116 +25117 +25118 +25119 +25120 +25121 +25122 +25123 +25124 +25125 +25126 +25127 +25128 +25129 +25130 +25131 +25132 +25133 +25134 +25135 +25136 +25137 +25138 +25139 +25140 +25141 +25142 +25143 +25144 +25145 +25146 +25147 +25148 +25149 +25150 +25151 +25152 +25153 +25154 +25155 +25156 +25157 +25158 +25159 +25160 +25161 +25162 +25163 +25164 +25165 +25166 +25167 +25168 +25169 +25170 +25171 +25172 +25173 +25174 +25175 +25176 +25177 +25178 +25179 +25180 +25181 +25182 +25183 +25184 +25185 +25186 +25187 +25188 +25189 +25190 +25191 +25192 +25193 +25194 +25195 +25196 +25197 +25198 +25199 +25200 +25201 +25202 +25203 +25204 +25205 +25206 +25207 +25208 +25209 +25210 +25211 +25212 +25213 +25214 +25215 +25216 +25217 +25218 +25219 +25220 +25221 +25222 +25223 +25224 +25225 +25226 +25227 +25228 +25229 +25230 +25231 +25232 +25233 +25234 +25235 +25236 +25237 +25238 +25239 +25240 +25241 +25242 +25243 +25244 +25245 +25246 +25247 +25248 +25249 +25250 +25251 +25252 +25253 +25254 +25255 +25256 +25257 +25258 +25259 +25260 +25261 +25262 +25263 +25264 +25265 +25266 +25267 +25268 +25269 +25270 +25271 +25272 +25273 +25274 +25275 +25276 +25277 +25278 +25279 +25280 +25281 +25282 +25283 +25284 +25285 +25286 +25287 +25288 +25289 +25290 +25291 +25292 +25293 +25294 +25295 +25296 +25297 +25298 +25299 +25300 +25301 +25302 +25303 +25304 +25305 +25306 +25307 +25308 +25309 +25310 +25311 +25312 +25313 +25314 +25315 +25316 +25317 +25318 +25319 +25320 +25321 +25322 +25323 +25324 +25325 +25326 +25327 +25328 +25329 +25330 +25331 +25332 +25333 +25334 +25335 +25336 +25337 +25338 +25339 +25340 +25341 +25342 +25343 +25344 +25345 +25346 +25347 +25348 +25349 +25350 +25351 +25352 +25353 +25354 +25355 +25356 +25357 +25358 +25359 +25360 +25361 +25362 +25363 +25364 +25365 +25366 +25367 +25368 +25369 +25370 +25371 +25372 +25373 +25374 +25375 +25376 +25377 +25378 +25379 +25380 +25381 +25382 +25383 +25384 +25385 +25386 +25387 +25388 +25389 +25390 +25391 +25392 +25393 +25394 +25395 +25396 +25397 +25398 +25399 +25400 +25401 +25402 +25403 +25404 +25405 +25406 +25407 +25408 +25409 +25410 +25411 +25412 +25413 +25414 +25415 +25416 +25417 +25418 +25419 +25420 +25421 +25422 +25423 +25424 +25425 +25426 +25427 +25428 +25429 +25430 +25431 +25432 +25433 +25434 +25435 +25436 +25437 +25438 +25439 +25440 +25441 +25442 +25443 +25444 +25445 +25446 +25447 +25448 +25449 +25450 +25451 +25452 +25453 +25454 +25455 +25456 +25457 +25458 +25459 +25460 +25461 +25462 +25463 +25464 +25465 +25466 +25467 +25468 +25469 +25470 +25471 +25472 +25473 +25474 +25475 +25476 +25477 +25478 +25479 +25480 +25481 +25482 +25483 +25484 +25485 +25486 +25487 +25488 +25489 +25490 +25491 +25492 +25493 +25494 +25495 +25496 +25497 +25498 +25499 +25500 +25501 +25502 +25503 +25504 +25505 +25506 +25507 +25508 +25509 +25510 +25511 +25512 +25513 +25514 +25515 +25516 +25517 +25518 +25519 +25520 +25521 +25522 +25523 +25524 +25525 +25526 +25527 +25528 +25529 +25530 +25531 +25532 +25533 +25534 +25535 +25536 +25537 +25538 +25539 +25540 +25541 +25542 +25543 +25544 +25545 +25546 +25547 +25548 +25549 +25550 +25551 +25552 +25553 +25554 +25555 +25556 +25557 +25558 +25559 +25560 +25561 +25562 +25563 +25564 +25565 +25566 +25567 +25568 +25569 +25570 +25571 +25572 +25573 +25574 +25575 +25576 +25577 +25578 +25579 +25580 +25581 +25582 +25583 +25584 +25585 +25586 +25587 +25588 +25589 +25590 +25591 +25592 +25593 +25594 +25595 +25596 +25597 +25598 +25599 +25600 +25601 +25602 +25603 +25604 +25605 +25606 +25607 +25608 +25609 +25610 +25611 +25612 +25613 +25614 +25615 +25616 +25617 +25618 +25619 +25620 +25621 +25622 +25623 +25624 +25625 +25626 +25627 +25628 +25629 +25630 +25631 +25632 +25633 +25634 +25635 +25636 +25637 +25638 +25639 +25640 +25641 +25642 +25643 +25644 +25645 +25646 +25647 +25648 +25649 +25650 +25651 +25652 +25653 +25654 +25655 +25656 +25657 +25658 +25659 +25660 +25661 +25662 +25663 +25664 +25665 +25666 +25667 +25668 +25669 +25670 +25671 +25672 +25673 +25674 +25675 +25676 +25677 +25678 +25679 +25680 +25681 +25682 +25683 +25684 +25685 +25686 +25687 +25688 +25689 +25690 +25691 +25692 +25693 +25694 +25695 +25696 +25697 +25698 +25699 +25700 +25701 +25702 +25703 +25704 +25705 +25706 +25707 +25708 +25709 +25710 +25711 +25712 +25713 +25714 +25715 +25716 +25717 +25718 +25719 +25720 +25721 +25722 +25723 +25724 +25725 +25726 +25727 +25728 +25729 +25730 +25731 +25732 +25733 +25734 +25735 +25736 +25737 +25738 +25739 +25740 +25741 +25742 +25743 +25744 +25745 +25746 +25747 +25748 +25749 +25750 +25751 +25752 +25753 +25754 +25755 +25756 +25757 +25758 +25759 +25760 +25761 +25762 +25763 +25764 +25765 +25766 +25767 +25768 +25769 +25770 +25771 +25772 +25773 +25774 +25775 +25776 +25777 +25778 +25779 +25780 +25781 +25782 +25783 +25784 +25785 +25786 +25787 +25788 +25789 +25790 +25791 +25792 +25793 +25794 +25795 +25796 +25797 +25798 +25799 +25800 +25801 +25802 +25803 +25804 +25805 +25806 +25807 +25808 +25809 +25810 +25811 +25812 +25813 +25814 +25815 +25816 +25817 +25818 +25819 +25820 +25821 +25822 +25823 +25824 +25825 +25826 +25827 +25828 +25829 +25830 +25831 +25832 +25833 +25834 +25835 +25836 +25837 +25838 +25839 +25840 +25841 +25842 +25843 +25844 +25845 +25846 +25847 +25848 +25849 +25850 +25851 +25852 +25853 +25854 +25855 +25856 +25857 +25858 +25859 +25860 +25861 +25862 +25863 +25864 +25865 +25866 +25867 +25868 +25869 +25870 +25871 +25872 +25873 +25874 +25875 +25876 +25877 +25878 +25879 +25880 +25881 +25882 +25883 +25884 +25885 +25886 +25887 +25888 +25889 +25890 +25891 +25892 +25893 +25894 +25895 +25896 +25897 +25898 +25899 +25900 +25901 +25902 +25903 +25904 +25905 +25906 +25907 +25908 +25909 +25910 +25911 +25912 +25913 +25914 +25915 +25916 +25917 +25918 +25919 +25920 +25921 +25922 +25923 +25924 +25925 +25926 +25927 +25928 +25929 +25930 +25931 +25932 +25933 +25934 +25935 +25936 +25937 +25938 +25939 +25940 +25941 +25942 +25943 +25944 +25945 +25946 +25947 +25948 +25949 +25950 +25951 +25952 +25953 +25954 +25955 +25956 +25957 +25958 +25959 +25960 +25961 +25962 +25963 +25964 +25965 +25966 +25967 +25968 +25969 +25970 +25971 +25972 +25973 +25974 +25975 +25976 +25977 +25978 +25979 +25980 +25981 +25982 +25983 +25984 +25985 +25986 +25987 +25988 +25989 +25990 +25991 +25992 +25993 +25994 +25995 +25996 +25997 +25998 +25999 +26000 +26001 +26002 +26003 +26004 +26005 +26006 +26007 +26008 +26009 +26010 +26011 +26012 +26013 +26014 +26015 +26016 +26017 +26018 +26019 +26020 +26021 +26022 +26023 +26024 +26025 +26026 +26027 +26028 +26029 +26030 +26031 +26032 +26033 +26034 +26035 +26036 +26037 +26038 +26039 +26040 +26041 +26042 +26043 +26044 +26045 +26046 +26047 +26048 +26049 +26050 +26051 +26052 +26053 +26054 +26055 +26056 +26057 +26058 +26059 +26060 +26061 +26062 +26063 +26064 +26065 +26066 +26067 +26068 +26069 +26070 +26071 +26072 +26073 +26074 +26075 +26076 +26077 +26078 +26079 +26080 +26081 +26082 +26083 +26084 +26085 +26086 +26087 +26088 +26089 +26090 +26091 +26092 +26093 +26094 +26095 +26096 +26097 +26098 +26099 +26100 +26101 +26102 +26103 +26104 +26105 +26106 +26107 +26108 +26109 +26110 +26111 +26112 +26113 +26114 +26115 +26116 +26117 +26118 +26119 +26120 +26121 +26122 +26123 +26124 +26125 +26126 +26127 +26128 +26129 +26130 +26131 +26132 +26133 +26134 +26135 +26136 +26137 +26138 +26139 +26140 +26141 +26142 +26143 +26144 +26145 +26146 +26147 +26148 +26149 +26150 +26151 +26152 +26153 +26154 +26155 +26156 +26157 +26158 +26159 +26160 +26161 +26162 +26163 +26164 +26165 +26166 +26167 +26168 +26169 +26170 +26171 +26172 +26173 +26174 +26175 +26176 +26177 +26178 +26179 +26180 +26181 +26182 +26183 +26184 +26185 +26186 +26187 +26188 +26189 +26190 +26191 +26192 +26193 +26194 +26195 +26196 +26197 +26198 +26199 +26200 +26201 +26202 +26203 +26204 +26205 +26206 +26207 +26208 +26209 +26210 +26211 +26212 +26213 +26214 +26215 +26216 +26217 +26218 +26219 +26220 +26221 +26222 +26223 +26224 +26225 +26226 +26227 +26228 +26229 +26230 +26231 +26232 +26233 +26234 +26235 +26236 +26237 +26238 +26239 +26240 +26241 +26242 +26243 +26244 +26245 +26246 +26247 +26248 +26249 +26250 +26251 +26252 +26253 +26254 +26255 +26256 +26257 +26258 +26259 +26260 +26261 +26262 +26263 +26264 +26265 +26266 +26267 +26268 +26269 +26270 +26271 +26272 +26273 +26274 +26275 +26276 +26277 +26278 +26279 +26280 +26281 +26282 +26283 +26284 +26285 +26286 +26287 +26288 +26289 +26290 +26291 +26292 +26293 +26294 +26295 +26296 +26297 +26298 +26299 +26300 +26301 +26302 +26303 +26304 +26305 +26306 +26307 +26308 +26309 +26310 +26311 +26312 +26313 +26314 +26315 +26316 +26317 +26318 +26319 +26320 +26321 +26322 +26323 +26324 +26325 +26326 +26327 +26328 +26329 +26330 +26331 +26332 +26333 +26334 +26335 +26336 +26337 +26338 +26339 +26340 +26341 +26342 +26343 +26344 +26345 +26346 +26347 +26348 +26349 +26350 +26351 +26352 +26353 +26354 +26355 +26356 +26357 +26358 +26359 +26360 +26361 +26362 +26363 +26364 +26365 +26366 +26367 +26368 +26369 +26370 +26371 +26372 +26373 +26374 +26375 +26376 +26377 +26378 +26379 +26380 +26381 +26382 +26383 +26384 +26385 +26386 +26387 +26388 +26389 +26390 +26391 +26392 +26393 +26394 +26395 +26396 +26397 +26398 +26399 +26400 +26401 +26402 +26403 +26404 +26405 +26406 +26407 +26408 +26409 +26410 +26411 +26412 +26413 +26414 +26415 +26416 +26417 +26418 +26419 +26420 +26421 +26422 +26423 +26424 +26425 +26426 +26427 +26428 +26429 +26430 +26431 +26432 +26433 +26434 +26435 +26436 +26437 +26438 +26439 +26440 +26441 +26442 +26443 +26444 +26445 +26446 +26447 +26448 +26449 +26450 +26451 +26452 +26453 +26454 +26455 +26456 +26457 +26458 +26459 +26460 +26461 +26462 +26463 +26464 +26465 +26466 +26467 +26468 +26469 +26470 +26471 +26472 +26473 +26474 +26475 +26476 +26477 +26478 +26479 +26480 +26481 +26482 +26483 +26484 +26485 +26486 +26487 +26488 +26489 +26490 +26491 +26492 +26493 +26494 +26495 +26496 +26497 +26498 +26499 +26500 +26501 +26502 +26503 +26504 +26505 +26506 +26507 +26508 +26509 +26510 +26511 +26512 +26513 +26514 +26515 +26516 +26517 +26518 +26519 +26520 +26521 +26522 +26523 +26524 +26525 +26526 +26527 +26528 +26529 +26530 +26531 +26532 +26533 +26534 +26535 +26536 +26537 +26538 +26539 +26540 +26541 +26542 +26543 +26544 +26545 +26546 +26547 +26548 +26549 +26550 +26551 +26552 +26553 +26554 +26555 +26556 +26557 +26558 +26559 +26560 +26561 +26562 +26563 +26564 +26565 +26566 +26567 +26568 +26569 +26570 +26571 +26572 +26573 +26574 +26575 +26576 +26577 +26578 +26579 +26580 +26581 +26582 +26583 +26584 +26585 +26586 +26587 +26588 +26589 +26590 +26591 +26592 +26593 +26594 +26595 +26596 +26597 +26598 +26599 +26600 +26601 +26602 +26603 +26604 +26605 +26606 +26607 +26608 +26609 +26610 +26611 +26612 +26613 +26614 +26615 +26616 +26617 +26618 +26619 +26620 +26621 +26622 +26623 +26624 +26625 +26626 +26627 +26628 +26629 +26630 +26631 +26632 +26633 +26634 +26635 +26636 +26637 +26638 +26639 +26640 +26641 +26642 +26643 +26644 +26645 +26646 +26647 +26648 +26649 +26650 +26651 +26652 +26653 +26654 +26655 +26656 +26657 +26658 +26659 +26660 +26661 +26662 +26663 +26664 +26665 +26666 +26667 +26668 +26669 +26670 +26671 +26672 +26673 +26674 +26675 +26676 +26677 +26678 +26679 +26680 +26681 +26682 +26683 +26684 +26685 +26686 +26687 +26688 +26689 +26690 +26691 +26692 +26693 +26694 +26695 +26696 +26697 +26698 +26699 +26700 +26701 +26702 +26703 +26704 +26705 +26706 +26707 +26708 +26709 +26710 +26711 +26712 +26713 +26714 +26715 +26716 +26717 +26718 +26719 +26720 +26721 +26722 +26723 +26724 +26725 +26726 +26727 +26728 +26729 +26730 +26731 +26732 +26733 +26734 +26735 +26736 +26737 +26738 +26739 +26740 +26741 +26742 +26743 +26744 +26745 +26746 +26747 +26748 +26749 +26750 +26751 +26752 +26753 +26754 +26755 +26756 +26757 +26758 +26759 +26760 +26761 +26762 +26763 +26764 +26765 +26766 +26767 +26768 +26769 +26770 +26771 +26772 +26773 +26774 +26775 +26776 +26777 +26778 +26779 +26780 +26781 +26782 +26783 +26784 +26785 +26786 +26787 +26788 +26789 +26790 +26791 +26792 +26793 +26794 +26795 +26796 +26797 +26798 +26799 +26800 +26801 +26802 +26803 +26804 +26805 +26806 +26807 +26808 +26809 +26810 +26811 +26812 +26813 +26814 +26815 +26816 +26817 +26818 +26819 +26820 +26821 +26822 +26823 +26824 +26825 +26826 +26827 +26828 +26829 +26830 +26831 +26832 +26833 +26834 +26835 +26836 +26837 +26838 +26839 +26840 +26841 +26842 +26843 +26844 +26845 +26846 +26847 +26848 +26849 +26850 +26851 +26852 +26853 +26854 +26855 +26856 +26857 +26858 +26859 +26860 +26861 +26862 +26863 +26864 +26865 +26866 +26867 +26868 +26869 +26870 +26871 +26872 +26873 +26874 +26875 +26876 +26877 +26878 +26879 +26880 +26881 +26882 +26883 +26884 +26885 +26886 +26887 +26888 +26889 +26890 +26891 +26892 +26893 +26894 +26895 +26896 +26897 +26898 +26899 +26900 +26901 +26902 +26903 +26904 +26905 +26906 +26907 +26908 +26909 +26910 +26911 +26912 +26913 +26914 +26915 +26916 +26917 +26918 +26919 +26920 +26921 +26922 +26923 +26924 +26925 +26926 +26927 +26928 +26929 +26930 +26931 +26932 +26933 +26934 +26935 +26936 +26937 +26938 +26939 +26940 +26941 +26942 +26943 +26944 +26945 +26946 +26947 +26948 +26949 +26950 +26951 +26952 +26953 +26954 +26955 +26956 +26957 +26958 +26959 +26960 +26961 +26962 +26963 +26964 +26965 +26966 +26967 +26968 +26969 +26970 +26971 +26972 +26973 +26974 +26975 +26976 +26977 +26978 +26979 +26980 +26981 +26982 +26983 +26984 +26985 +26986 +26987 +26988 +26989 +26990 +26991 +26992 +26993 +26994 +26995 +26996 +26997 +26998 +26999 +27000 +27001 +27002 +27003 +27004 +27005 +27006 +27007 +27008 +27009 +27010 +27011 +27012 +27013 +27014 +27015 +27016 +27017 +27018 +27019 +27020 +27021 +27022 +27023 +27024 +27025 +27026 +27027 +27028 +27029 +27030 +27031 +27032 +27033 +27034 +27035 +27036 +27037 +27038 +27039 +27040 +27041 +27042 +27043 +27044 +27045 +27046 +27047 +27048 +27049 +27050 +27051 +27052 +27053 +27054 +27055 +27056 +27057 +27058 +27059 +27060 +27061 +27062 +27063 +27064 +27065 +27066 +27067 +27068 +27069 +27070 +27071 +27072 +27073 +27074 +27075 +27076 +27077 +27078 +27079 +27080 +27081 +27082 +27083 +27084 +27085 +27086 +27087 +27088 +27089 +27090 +27091 +27092 +27093 +27094 +27095 +27096 +27097 +27098 +27099 +27100 +27101 +27102 +27103 +27104 +27105 +27106 +27107 +27108 +27109 +27110 +27111 +27112 +27113 +27114 +27115 +27116 +27117 +27118 +27119 +27120 +27121 +27122 +27123 +27124 +27125 +27126 +27127 +27128 +27129 +27130 +27131 +27132 +27133 +27134 +27135 +27136 +27137 +27138 +27139 +27140 +27141 +27142 +27143 +27144 +27145 +27146 +27147 +27148 +27149 +27150 +27151 +27152 +27153 +27154 +27155 +27156 +27157 +27158 +27159 +27160 +27161 +27162 +27163 +27164 +27165 +27166 +27167 +27168 +27169 +27170 +27171 +27172 +27173 +27174 +27175 +27176 +27177 +27178 +27179 +27180 +27181 +27182 +27183 +27184 +27185 +27186 +27187 +27188 +27189 +27190 +27191 +27192 +27193 +27194 +27195 +27196 +27197 +27198 +27199 +27200 +27201 +27202 +27203 +27204 +27205 +27206 +27207 +27208 +27209 +27210 +27211 +27212 +27213 +27214 +27215 +27216 +27217 +27218 +27219 +27220 +27221 +27222 +27223 +27224 +27225 +27226 +27227 +27228 +27229 +27230 +27231 +27232 +27233 +27234 +27235 +27236 +27237 +27238 +27239 +27240 +27241 +27242 +27243 +27244 +27245 +27246 +27247 +27248 +27249 +27250 +27251 +27252 +27253 +27254 +27255 +27256 +27257 +27258 +27259 +27260 +27261 +27262 +27263 +27264 +27265 +27266 +27267 +27268 +27269 +27270 +27271 +27272 +27273 +27274 +27275 +27276 +27277 +27278 +27279 +27280 +27281 +27282 +27283 +27284 +27285 +27286 +27287 +27288 +27289 +27290 +27291 +27292 +27293 +27294 +27295 +27296 +27297 +27298 +27299 +27300 +27301 +27302 +27303 +27304 +27305 +27306 +27307 +27308 +27309 +27310 +27311 +27312 +27313 +27314 +27315 +27316 +27317 +27318 +27319 +27320 +27321 +27322 +27323 +27324 +27325 +27326 +27327 +27328 +27329 +27330 +27331 +27332 +27333 +27334 +27335 +27336 +27337 +27338 +27339 +27340 +27341 +27342 +27343 +27344 +27345 +27346 +27347 +27348 +27349 +27350 +27351 +27352 +27353 +27354 +27355 +27356 +27357 +27358 +27359 +27360 +27361 +27362 +27363 +27364 +27365 +27366 +27367 +27368 +27369 +27370 +27371 +27372 +27373 +27374 +27375 +27376 +27377 +27378 +27379 +27380 +27381 +27382 +27383 +27384 +27385 +27386 +27387 +27388 +27389 +27390 +27391 +27392 +27393 +27394 +27395 +27396 +27397 +27398 +27399 +27400 +27401 +27402 +27403 +27404 +27405 +27406 +27407 +27408 +27409 +27410 +27411 +27412 +27413 +27414 +27415 +27416 +27417 +27418 +27419 +27420 +27421 +27422 +27423 +27424 +27425 +27426 +27427 +27428 +27429 +27430 +27431 +27432 +27433 +27434 +27435 +27436 +27437 +27438 +27439 +27440 +27441 +27442 +27443 +27444 +27445 +27446 +27447 +27448 +27449 +27450 +27451 +27452 +27453 +27454 +27455 +27456 +27457 +27458 +27459 +27460 +27461 +27462 +27463 +27464 +27465 +27466 +27467 +27468 +27469 +27470 +27471 +27472 +27473 +27474 +27475 +27476 +27477 +27478 +27479 +27480 +27481 +27482 +27483 +27484 +27485 +27486 +27487 +27488 +27489 +27490 +27491 +27492 +27493 +27494 +27495 +27496 +27497 +27498 +27499 +27500 +27501 +27502 +27503 +27504 +27505 +27506 +27507 +27508 +27509 +27510 +27511 +27512 +27513 +27514 +27515 +27516 +27517 +27518 +27519 +27520 +27521 +27522 +27523 +27524 +27525 +27526 +27527 +27528 +27529 +27530 +27531 +27532 +27533 +27534 +27535 +27536 +27537 +27538 +27539 +27540 +27541 +27542 +27543 +27544 +27545 +27546 +27547 +27548 +27549 +27550 +27551 +27552 +27553 +27554 +27555 +27556 +27557 +27558 +27559 +27560 +27561 +27562 +27563 +27564 +27565 +27566 +27567 +27568 +27569 +27570 +27571 +27572 +27573 +27574 +27575 +27576 +27577 +27578 +27579 +27580 +27581 +27582 +27583 +27584 +27585 +27586 +27587 +27588 +27589 +27590 +27591 +27592 +27593 +27594 +27595 +27596 +27597 +27598 +27599 +27600 +27601 +27602 +27603 +27604 +27605 +27606 +27607 +27608 +27609 +27610 +27611 +27612 +27613 +27614 +27615 +27616 +27617 +27618 +27619 +27620 +27621 +27622 +27623 +27624 +27625 +27626 +27627 +27628 +27629 +27630 +27631 +27632 +27633 +27634 +27635 +27636 +27637 +27638 +27639 +27640 +27641 +27642 +27643 +27644 +27645 +27646 +27647 +27648 +27649 +27650 +27651 +27652 +27653 +27654 +27655 +27656 +27657 +27658 +27659 +27660 +27661 +27662 +27663 +27664 +27665 +27666 +27667 +27668 +27669 +27670 +27671 +27672 +27673 +27674 +27675 +27676 +27677 +27678 +27679 +27680 +27681 +27682 +27683 +27684 +27685 +27686 +27687 +27688 +27689 +27690 +27691 +27692 +27693 +27694 +27695 +27696 +27697 +27698 +27699 +27700 +27701 +27702 +27703 +27704 +27705 +27706 +27707 +27708 +27709 +27710 +27711 +27712 +27713 +27714 +27715 +27716 +27717 +27718 +27719 +27720 +27721 +27722 +27723 +27724 +27725 +27726 +27727 +27728 +27729 +27730 +27731 +27732 +27733 +27734 +27735 +27736 +27737 +27738 +27739 +27740 +27741 +27742 +27743 +27744 +27745 +27746 +27747 +27748 +27749 +27750 +27751 +27752 +27753 +27754 +27755 +27756 +27757 +27758 +27759 +27760 +27761 +27762 +27763 +27764 +27765 +27766 +27767 +27768 +27769 +27770 +27771 +27772 +27773 +27774 +27775 +27776 +27777 +27778 +27779 +27780 +27781 +27782 +27783 +27784 +27785 +27786 +27787 +27788 +27789 +27790 +27791 +27792 +27793 +27794 +27795 +27796 +27797 +27798 +27799 +27800 +27801 +27802 +27803 +27804 +27805 +27806 +27807 +27808 +27809 +27810 +27811 +27812 +27813 +27814 +27815 +27816 +27817 +27818 +27819 +27820 +27821 +27822 +27823 +27824 +27825 +27826 +27827 +27828 +27829 +27830 +27831 +27832 +27833 +27834 +27835 +27836 +27837 +27838 +27839 +27840 +27841 +27842 +27843 +27844 +27845 +27846 +27847 +27848 +27849 +27850 +27851 +27852 +27853 +27854 +27855 +27856 +27857 +27858 +27859 +27860 +27861 +27862 +27863 +27864 +27865 +27866 +27867 +27868 +27869 +27870 +27871 +27872 +27873 +27874 +27875 +27876 +27877 +27878 +27879 +27880 +27881 +27882 +27883 +27884 +27885 +27886 +27887 +27888 +27889 +27890 +27891 +27892 +27893 +27894 +27895 +27896 +27897 +27898 +27899 +27900 +27901 +27902 +27903 +27904 +27905 +27906 +27907 +27908 +27909 +27910 +27911 +27912 +27913 +27914 +27915 +27916 +27917 +27918 +27919 +27920 +27921 +27922 +27923 +27924 +27925 +27926 +27927 +27928 +27929 +27930 +27931 +27932 +27933 +27934 +27935 +27936 +27937 +27938 +27939 +27940 +27941 +27942 +27943 +27944 +27945 +27946 +27947 +27948 +27949 +27950 +27951 +27952 +27953 +27954 +27955 +27956 +27957 +27958 +27959 +27960 +27961 +27962 +27963 +27964 +27965 +27966 +27967 +27968 +27969 +27970 +27971 +27972 +27973 +27974 +27975 +27976 +27977 +27978 +27979 +27980 +27981 +27982 +27983 +27984 +27985 +27986 +27987 +27988 +27989 +27990 +27991 +27992 +27993 +27994 +27995 +27996 +27997 +27998 +27999 +28000 +28001 +28002 +28003 +28004 +28005 +28006 +28007 +28008 +28009 +28010 +28011 +28012 +28013 +28014 +28015 +28016 +28017 +28018 +28019 +28020 +28021 +28022 +28023 +28024 +28025 +28026 +28027 +28028 +28029 +28030 +28031 +28032 +28033 +28034 +28035 +28036 +28037 +28038 +28039 +28040 +28041 +28042 +28043 +28044 +28045 +28046 +28047 +28048 +28049 +28050 +28051 +28052 +28053 +28054 +28055 +28056 +28057 +28058 +28059 +28060 +28061 +28062 +28063 +28064 +28065 +28066 +28067 +28068 +28069 +28070 +28071 +28072 +28073 +28074 +28075 +28076 +28077 +28078 +28079 +28080 +28081 +28082 +28083 +28084 +28085 +28086 +28087 +28088 +28089 +28090 +28091 +28092 +28093 +28094 +28095 +28096 +28097 +28098 +28099 +28100 +28101 +28102 +28103 +28104 +28105 +28106 +28107 +28108 +28109 +28110 +28111 +28112 +28113 +28114 +28115 +28116 +28117 +28118 +28119 +28120 +28121 +28122 +28123 +28124 +28125 +28126 +28127 +28128 +28129 +28130 +28131 +28132 +28133 +28134 +28135 +28136 +28137 +28138 +28139 +28140 +28141 +28142 +28143 +28144 +28145 +28146 +28147 +28148 +28149 +28150 +28151 +28152 +28153 +28154 +28155 +28156 +28157 +28158 +28159 +28160 +28161 +28162 +28163 +28164 +28165 +28166 +28167 +28168 +28169 +28170 +28171 +28172 +28173 +28174 +28175 +28176 +28177 +28178 +28179 +28180 +28181 +28182 +28183 +28184 +28185 +28186 +28187 +28188 +28189 +28190 +28191 +28192 +28193 +28194 +28195 +28196 +28197 +28198 +28199 +28200 +28201 +28202 +28203 +28204 +28205 +28206 +28207 +28208 +28209 +28210 +28211 +28212 +28213 +28214 +28215 +28216 +28217 +28218 +28219 +28220 +28221 +28222 +28223 +28224 +28225 +28226 +28227 +28228 +28229 +28230 +28231 +28232 +28233 +28234 +28235 +28236 +28237 +28238 +28239 +28240 +28241 +28242 +28243 +28244 +28245 +28246 +28247 +28248 +28249 +28250 +28251 +28252 +28253 +28254 +28255 +28256 +28257 +28258 +28259 +28260 +28261 +28262 +28263 +28264 +28265 +28266 +28267 +28268 +28269 +28270 +28271 +28272 +28273 +28274 +28275 +28276 +28277 +28278 +28279 +28280 +28281 +28282 +28283 +28284 +28285 +28286 +28287 +28288 +28289 +28290 +28291 +28292 +28293 +28294 +28295 +28296 +28297 +28298 +28299 +28300 +28301 +28302 +28303 +28304 +28305 +28306 +28307 +28308 +28309 +28310 +28311 +28312 +28313 +28314 +28315 +28316 +28317 +28318 +28319 +28320 +28321 +28322 +28323 +28324 +28325 +28326 +28327 +28328 +28329 +28330 +28331 +28332 +28333 +28334 +28335 +28336 +28337 +28338 +28339 +28340 +28341 +28342 +28343 +28344 +28345 +28346 +28347 +28348 +28349 +28350 +28351 +28352 +28353 +28354 +28355 +28356 +28357 +28358 +28359 +28360 +28361 +28362 +28363 +28364 +28365 +28366 +28367 +28368 +28369 +28370 +28371 +28372 +28373 +28374 +28375 +28376 +28377 +28378 +28379 +28380 +28381 +28382 +28383 +28384 +28385 +28386 +28387 +28388 +28389 +28390 +28391 +28392 +28393 +28394 +28395 +28396 +28397 +28398 +28399 +28400 +28401 +28402 +28403 +28404 +28405 +28406 +28407 +28408 +28409 +28410 +28411 +28412 +28413 +28414 +28415 +28416 +28417 +28418 +28419 +28420 +28421 +28422 +28423 +28424 +28425 +28426 +28427 +28428 +28429 +28430 +28431 +28432 +28433 +28434 +28435 +28436 +28437 +28438 +28439 +28440 +28441 +28442 +28443 +28444 +28445 +28446 +28447 +28448 +28449 +28450 +28451 +28452 +28453 +28454 +28455 +28456 +28457 +28458 +28459 +28460 +28461 +28462 +28463 +28464 +28465 +28466 +28467 +28468 +28469 +28470 +28471 +28472 +28473 +28474 +28475 +28476 +28477 +28478 +28479 +28480 +28481 +28482 +28483 +28484 +28485 +28486 +28487 +28488 +28489 +28490 +28491 +28492 +28493 +28494 +28495 +28496 +28497 +28498 +28499 +28500 +28501 +28502 +28503 +28504 +28505 +28506 +28507 +28508 +28509 +28510 +28511 +28512 +28513 +28514 +28515 +28516 +28517 +28518 +28519 +28520 +28521 +28522 +28523 +28524 +28525 +28526 +28527 +28528 +28529 +28530 +28531 +28532 +28533 +28534 +28535 +28536 +28537 +28538 +28539 +28540 +28541 +28542 +28543 +28544 +28545 +28546 +28547 +28548 +28549 +28550 +28551 +28552 +28553 +28554 +28555 +28556 +28557 +28558 +28559 +28560 +28561 +28562 +28563 +28564 +28565 +28566 +28567 +28568 +28569 +28570 +28571 +28572 +28573 +28574 +28575 +28576 +28577 +28578 +28579 +28580 +28581 +28582 +28583 +28584 +28585 +28586 +28587 +28588 +28589 +28590 +28591 +28592 +28593 +28594 +28595 +28596 +28597 +28598 +28599 +28600 +28601 +28602 +28603 +28604 +28605 +28606 +28607 +28608 +28609 +28610 +28611 +28612 +28613 +28614 +28615 +28616 +28617 +28618 +28619 +28620 +28621 +28622 +28623 +28624 +28625 +28626 +28627 +28628 +28629 +28630 +28631 +28632 +28633 +28634 +28635 +28636 +28637 +28638 +28639 +28640 +28641 +28642 +28643 +28644 +28645 +28646 +28647 +28648 +28649 +28650 +28651 +28652 +28653 +28654 +28655 +28656 +28657 +28658 +28659 +28660 +28661 +28662 +28663 +28664 +28665 +28666 +28667 +28668 +28669 +28670 +28671 +28672 +28673 +28674 +28675 +28676 +28677 +28678 +28679 +28680 +28681 +28682 +28683 +28684 +28685 +28686 +28687 +28688 +28689 +28690 +28691 +28692 +28693 +28694 +28695 +28696 +28697 +28698 +28699 +28700 +28701 +28702 +28703 +28704 +28705 +28706 +28707 +28708 +28709 +28710 +28711 +28712 +28713 +28714 +28715 +28716 +28717 +28718 +28719 +28720 +28721 +28722 +28723 +28724 +28725 +28726 +28727 +28728 +28729 +28730 +28731 +28732 +28733 +28734 +28735 +28736 +28737 +28738 +28739 +28740 +28741 +28742 +28743 +28744 +28745 +28746 +28747 +28748 +28749 +28750 +28751 +28752 +28753 +28754 +28755 +28756 +28757 +28758 +28759 +28760 +28761 +28762 +28763 +28764 +28765 +28766 +28767 +28768 +28769 +28770 +28771 +28772 +28773 +28774 +28775 +28776 +28777 +28778 +28779 +28780 +28781 +28782 +28783 +28784 +28785 +28786 +28787 +28788 +28789 +28790 +28791 +28792 +28793 +28794 +28795 +28796 +28797 +28798 +28799 +28800 +28801 +28802 +28803 +28804 +28805 +28806 +28807 +28808 +28809 +28810 +28811 +28812 +28813 +28814 +28815 +28816 +28817 +28818 +28819 +28820 +28821 +28822 +28823 +28824 +28825 +28826 +28827 +28828 +28829 +28830 +28831 +28832 +28833 +28834 +28835 +28836 +28837 +28838 +28839 +28840 +28841 +28842 +28843 +28844 +28845 +28846 +28847 +28848 +28849 +28850 +28851 +28852 +28853 +28854 +28855 +28856 +28857 +28858 +28859 +28860 +28861 +28862 +28863 +28864 +28865 +28866 +28867 +28868 +28869 +28870 +28871 +28872 +28873 +28874 +28875 +28876 +28877 +28878 +28879 +28880 +28881 +28882 +28883 +28884 +28885 +28886 +28887 +28888 +28889 +28890 +28891 +28892 +28893 +28894 +28895 +28896 +28897 +28898 +28899 +28900 +28901 +28902 +28903 +28904 +28905 +28906 +28907 +28908 +28909 +28910 +28911 +28912 +28913 +28914 +28915 +28916 +28917 +28918 +28919 +28920 +28921 +28922 +28923 +28924 +28925 +28926 +28927 +28928 +28929 +28930 +28931 +28932 +28933 +28934 +28935 +28936 +28937 +28938 +28939 +28940 +28941 +28942 +28943 +28944 +28945 +28946 +28947 +28948 +28949 +28950 +28951 +28952 +28953 +28954 +28955 +28956 +28957 +28958 +28959 +28960 +28961 +28962 +28963 +28964 +28965 +28966 +28967 +28968 +28969 +28970 +28971 +28972 +28973 +28974 +28975 +28976 +28977 +28978 +28979 +28980 +28981 +28982 +28983 +28984 +28985 +28986 +28987 +28988 +28989 +28990 +28991 +28992 +28993 +28994 +28995 +28996 +28997 +28998 +28999 +29000 +29001 +29002 +29003 +29004 +29005 +29006 +29007 +29008 +29009 +29010 +29011 +29012 +29013 +29014 +29015 +29016 +29017 +29018 +29019 +29020 +29021 +29022 +29023 +29024 +29025 +29026 +29027 +29028 +29029 +29030 +29031 +29032 +29033 +29034 +29035 +29036 +29037 +29038 +29039 +29040 +29041 +29042 +29043 +29044 +29045 +29046 +29047 +29048 +29049 +29050 +29051 +29052 +29053 +29054 +29055 +29056 +29057 +29058 +29059 +29060 +29061 +29062 +29063 +29064 +29065 +29066 +29067 +29068 +29069 +29070 +29071 +29072 +29073 +29074 +29075 +29076 +29077 +29078 +29079 +29080 +29081 +29082 +29083 +29084 +29085 +29086 +29087 +29088 +29089 +29090 +29091 +29092 +29093 +29094 +29095 +29096 +29097 +29098 +29099 +29100 +29101 +29102 +29103 +29104 +29105 +29106 +29107 +29108 +29109 +29110 +29111 +29112 +29113 +29114 +29115 +29116 +29117 +29118 +29119 +29120 +29121 +29122 +29123 +29124 +29125 +29126 +29127 +29128 +29129 +29130 +29131 +29132 +29133 +29134 +29135 +29136 +29137 +29138 +29139 +29140 +29141 +29142 +29143 +29144 +29145 +29146 +29147 +29148 +29149 +29150 +29151 +29152 +29153 +29154 +29155 +29156 +29157 +29158 +29159 +29160 +29161 +29162 +29163 +29164 +29165 +29166 +29167 +29168 +29169 +29170 +29171 +29172 +29173 +29174 +29175 +29176 +29177 +29178 +29179 +29180 +29181 +29182 +29183 +29184 +29185 +29186 +29187 +29188 +29189 +29190 +29191 +29192 +29193 +29194 +29195 +29196 +29197 +29198 +29199 +29200 +29201 +29202 +29203 +29204 +29205 +29206 +29207 +29208 +29209 +29210 +29211 +29212 +29213 +29214 +29215 +29216 +29217 +29218 +29219 +29220 +29221 +29222 +29223 +29224 +29225 +29226 +29227 +29228 +29229 +29230 +29231 +29232 +29233 +29234 +29235 +29236 +29237 +29238 +29239 +29240 +29241 +29242 +29243 +29244 +29245 +29246 +29247 +29248 +29249 +29250 +29251 +29252 +29253 +29254 +29255 +29256 +29257 +29258 +29259 +29260 +29261 +29262 +29263 +29264 +29265 +29266 +29267 +29268 +29269 +29270 +29271 +29272 +29273 +29274 +29275 +29276 +29277 +29278 +29279 +29280 +29281 +29282 +29283 +29284 +29285 +29286 +29287 +29288 +29289 +29290 +29291 +29292 +29293 +29294 +29295 +29296 +29297 +29298 +29299 +29300 +29301 +29302 +29303 +29304 +29305 +29306 +29307 +29308 +29309 +29310 +29311 +29312 +29313 +29314 +29315 +29316 +29317 +29318 +29319 +29320 +29321 +29322 +29323 +29324 +29325 +29326 +29327 +29328 +29329 +29330 +29331 +29332 +29333 +29334 +29335 +29336 +29337 +29338 +29339 +29340 +29341 +29342 +29343 +29344 +29345 +29346 +29347 +29348 +29349 +29350 +29351 +29352 +29353 +29354 +29355 +29356 +29357 +29358 +29359 +29360 +29361 +29362 +29363 +29364 +29365 +29366 +29367 +29368 +29369 +29370 +29371 +29372 +29373 +29374 +29375 +29376 +29377 +29378 +29379 +29380 +29381 +29382 +29383 +29384 +29385 +29386 +29387 +29388 +29389 +29390 +29391 +29392 +29393 +29394 +29395 +29396 +29397 +29398 +29399 +29400 +29401 +29402 +29403 +29404 +29405 +29406 +29407 +29408 +29409 +29410 +29411 +29412 +29413 +29414 +29415 +29416 +29417 +29418 +29419 +29420 +29421 +29422 +29423 +29424 +29425 +29426 +29427 +29428 +29429 +29430 +29431 +29432 +29433 +29434 +29435 +29436 +29437 +29438 +29439 +29440 +29441 +29442 +29443 +29444 +29445 +29446 +29447 +29448 +29449 +29450 +29451 +29452 +29453 +29454 +29455 +29456 +29457 +29458 +29459 +29460 +29461 +29462 +29463 +29464 +29465 +29466 +29467 +29468 +29469 +29470 +29471 +29472 +29473 +29474 +29475 +29476 +29477 +29478 +29479 +29480 +29481 +29482 +29483 +29484 +29485 +29486 +29487 +29488 +29489 +29490 +29491 +29492 +29493 +29494 +29495 +29496 +29497 +29498 +29499 +29500 +29501 +29502 +29503 +29504 +29505 +29506 +29507 +29508 +29509 +29510 +29511 +29512 +29513 +29514 +29515 +29516 +29517 +29518 +29519 +29520 +29521 +29522 +29523 +29524 +29525 +29526 +29527 +29528 +29529 +29530 +29531 +29532 +29533 +29534 +29535 +29536 +29537 +29538 +29539 +29540 +29541 +29542 +29543 +29544 +29545 +29546 +29547 +29548 +29549 +29550 +29551 +29552 +29553 +29554 +29555 +29556 +29557 +29558 +29559 +29560 +29561 +29562 +29563 +29564 +29565 +29566 +29567 +29568 +29569 +29570 +29571 +29572 +29573 +29574 +29575 +29576 +29577 +29578 +29579 +29580 +29581 +29582 +29583 +29584 +29585 +29586 +29587 +29588 +29589 +29590 +29591 +29592 +29593 +29594 +29595 +29596 +29597 +29598 +29599 +29600 +29601 +29602 +29603 +29604 +29605 +29606 +29607 +29608 +29609 +29610 +29611 +29612 +29613 +29614 +29615 +29616 +29617 +29618 +29619 +29620 +29621 +29622 +29623 +29624 +29625 +29626 +29627 +29628 +29629 +29630 +29631 +29632 +29633 +29634 +29635 +29636 +29637 +29638 +29639 +29640 +29641 +29642 +29643 +29644 +29645 +29646 +29647 +29648 +29649 +29650 +29651 +29652 +29653 +29654 +29655 +29656 +29657 +29658 +29659 +29660 +29661 +29662 +29663 +29664 +29665 +29666 +29667 +29668 +29669 +29670 +29671 +29672 +29673 +29674 +29675 +29676 +29677 +29678 +29679 +29680 +29681 +29682 +29683 +29684 +29685 +29686 +29687 +29688 +29689 +29690 +29691 +29692 +29693 +29694 +29695 +29696 +29697 +29698 +29699 +29700 +29701 +29702 +29703 +29704 +29705 +29706 +29707 +29708 +29709 +29710 +29711 +29712 +29713 +29714 +29715 +29716 +29717 +29718 +29719 +29720 +29721 +29722 +29723 +29724 +29725 +29726 +29727 +29728 +29729 +29730 +29731 +29732 +29733 +29734 +29735 +29736 +29737 +29738 +29739 +29740 +29741 +29742 +29743 +29744 +29745 +29746 +29747 +29748 +29749 +29750 +29751 +29752 +29753 +29754 +29755 +29756 +29757 +29758 +29759 +29760 +29761 +29762 +29763 +29764 +29765 +29766 +29767 +29768 +29769 +29770 +29771 +29772 +29773 +29774 +29775 +29776 +29777 +29778 +29779 +29780 +29781 +29782 +29783 +29784 +29785 +29786 +29787 +29788 +29789 +29790 +29791 +29792 +29793 +29794 +29795 +29796 +29797 +29798 +29799 +29800 +29801 +29802 +29803 +29804 +29805 +29806 +29807 +29808 +29809 +29810 +29811 +29812 +29813 +29814 +29815 +29816 +29817 +29818 +29819 +29820 +29821 +29822 +29823 +29824 +29825 +29826 +29827 +29828 +29829 +29830 +29831 +29832 +29833 +29834 +29835 +29836 +29837 +29838 +29839 +29840 +29841 +29842 +29843 +29844 +29845 +29846 +29847 +29848 +29849 +29850 +29851 +29852 +29853 +29854 +29855 +29856 +29857 +29858 +29859 +29860 +29861 +29862 +29863 +29864 +29865 +29866 +29867 +29868 +29869 +29870 +29871 +29872 +29873 +29874 +29875 +29876 +29877 +29878 +29879 +29880 +29881 +29882 +29883 +29884 +29885 +29886 +29887 +29888 +29889 +29890 +29891 +29892 +29893 +29894 +29895 +29896 +29897 +29898 +29899 +29900 +29901 +29902 +29903 +29904 +29905 +29906 +29907 +29908 +29909 +29910 +29911 +29912 +29913 +29914 +29915 +29916 +29917 +29918 +29919 +29920 +29921 +29922 +29923 +29924 +29925 +29926 +29927 +29928 +29929 +29930 +29931 +29932 +29933 +29934 +29935 +29936 +29937 +29938 +29939 +29940 +29941 +29942 +29943 +29944 +29945 +29946 +29947 +29948 +29949 +29950 +29951 +29952 +29953 +29954 +29955 +29956 +29957 +29958 +29959 +29960 +29961 +29962 +29963 +29964 +29965 +29966 +29967 +29968 +29969 +29970 +29971 +29972 +29973 +29974 +29975 +29976 +29977 +29978 +29979 +29980 +29981 +29982 +29983 +29984 +29985 +29986 +29987 +29988 +29989 +29990 +29991 +29992 +29993 +29994 +29995 +29996 +29997 +29998 +29999 +30000 +30001 +30002 +30003 +30004 +30005 +30006 +30007 +30008 +30009 +30010 +30011 +30012 +30013 +30014 +30015 +30016 +30017 +30018 +30019 +30020 +30021 +30022 +30023 +30024 +30025 +30026 +30027 +30028 +30029 +30030 +30031 +30032 +30033 +30034 +30035 +30036 +30037 +30038 +30039 +30040 +30041 +30042 +30043 +30044 +30045 +30046 +30047 +30048 +30049 +30050 +30051 +30052 +30053 +30054 +30055 +30056 +30057 +30058 +30059 +30060 +30061 +30062 +30063 +30064 +30065 +30066 +30067 +30068 +30069 +30070 +30071 +30072 +30073 +30074 +30075 +30076 +30077 +30078 +30079 +30080 +30081 +30082 +30083 +30084 +30085 +30086 +30087 +30088 +30089 +30090 +30091 +30092 +30093 +30094 +30095 +30096 +30097 +30098 +30099 +30100 +30101 +30102 +30103 +30104 +30105 +30106 +30107 +30108 +30109 +30110 +30111 +30112 +30113 +30114 +30115 +30116 +30117 +30118 +30119 +30120 +30121 +30122 +30123 +30124 +30125 +30126 +30127 +30128 +30129 +30130 +30131 +30132 +30133 +30134 +30135 +30136 +30137 +30138 +30139 +30140 +30141 +30142 +30143 +30144 +30145 +30146 +30147 +30148 +30149 +30150 +30151 +30152 +30153 +30154 +30155 +30156 +30157 +30158 +30159 +30160 +30161 +30162 +30163 +30164 +30165 +30166 +30167 +30168 +30169 +30170 +30171 +30172 +30173 +30174 +30175 +30176 +30177 +30178 +30179 +30180 +30181 +30182 +30183 +30184 +30185 +30186 +30187 +30188 +30189 +30190 +30191 +30192 +30193 +30194 +30195 +30196 +30197 +30198 +30199 +30200 +30201 +30202 +30203 +30204 +30205 +30206 +30207 +30208 +30209 +30210 +30211 +30212 +30213 +30214 +30215 +30216 +30217 +30218 +30219 +30220 +30221 +30222 +30223 +30224 +30225 +30226 +30227 +30228 +30229 +30230 +30231 +30232 +30233 +30234 +30235 +30236 +30237 +30238 +30239 +30240 +30241 +30242 +30243 +30244 +30245 +30246 +30247 +30248 +30249 +30250 +30251 +30252 +30253 +30254 +30255 +30256 +30257 +30258 +30259 +30260 +30261 +30262 +30263 +30264 +30265 +30266 +30267 +30268 +30269 +30270 +30271 +30272 +30273 +30274 +30275 +30276 +30277 +30278 +30279 +30280 +30281 +30282 +30283 +30284 +30285 +30286 +30287 +30288 +30289 +30290 +30291 +30292 +30293 +30294 +30295 +30296 +30297 +30298 +30299 +30300 +30301 +30302 +30303 +30304 +30305 +30306 +30307 +30308 +30309 +30310 +30311 +30312 +30313 +30314 +30315 +30316 +30317 +30318 +30319 +30320 +30321 +30322 +30323 +30324 +30325 +30326 +30327 +30328 +30329 +30330 +30331 +30332 +30333 +30334 +30335 +30336 +30337 +30338 +30339 +30340 +30341 +30342 +30343 +30344 +30345 +30346 +30347 +30348 +30349 +30350 +30351 +30352 +30353 +30354 +30355 +30356 +30357 +30358 +30359 +30360 +30361 +30362 +30363 +30364 +30365 +30366 +30367 +30368 +30369 +30370 +30371 +30372 +30373 +30374 +30375 +30376 +30377 +30378 +30379 +30380 +30381 +30382 +30383 +30384 +30385 +30386 +30387 +30388 +30389 +30390 +30391 +30392 +30393 +30394 +30395 +30396 +30397 +30398 +30399 +30400 +30401 +30402 +30403 +30404 +30405 +30406 +30407 +30408 +30409 +30410 +30411 +30412 +30413 +30414 +30415 +30416 +30417 +30418 +30419 +30420 +30421 +30422 +30423 +30424 +30425 +30426 +30427 +30428 +30429 +30430 +30431 +30432 +30433 +30434 +30435 +30436 +30437 +30438 +30439 +30440 +30441 +30442 +30443 +30444 +30445 +30446 +30447 +30448 +30449 +30450 +30451 +30452 +30453 +30454 +30455 +30456 +30457 +30458 +30459 +30460 +30461 +30462 +30463 +30464 +30465 +30466 +30467 +30468 +30469 +30470 +30471 +30472 +30473 +30474 +30475 +30476 +30477 +30478 +30479 +30480 +30481 +30482 +30483 +30484 +30485 +30486 +30487 +30488 +30489 +30490 +30491 +30492 +30493 +30494 +30495 +30496 +30497 +30498 +30499 +30500 +30501 +30502 +30503 +30504 +30505 +30506 +30507 +30508 +30509 +30510 +30511 +30512 +30513 +30514 +30515 +30516 +30517 +30518 +30519 +30520 +30521 +30522 +30523 +30524 +30525 +30526 +30527 +30528 +30529 +30530 +30531 +30532 +30533 +30534 +30535 +30536 +30537 +30538 +30539 +30540 +30541 +30542 +30543 +30544 +30545 +30546 +30547 +30548 +30549 +30550 +30551 +30552 +30553 +30554 +30555 +30556 +30557 +30558 +30559 +30560 +30561 +30562 +30563 +30564 +30565 +30566 +30567 +30568 +30569 +30570 +30571 +30572 +30573 +30574 +30575 +30576 +30577 +30578 +30579 +30580 +30581 +30582 +30583 +30584 +30585 +30586 +30587 +30588 +30589 +30590 +30591 +30592 +30593 +30594 +30595 +30596 +30597 +30598 +30599 +30600 +30601 +30602 +30603 +30604 +30605 +30606 +30607 +30608 +30609 +30610 +30611 +30612 +30613 +30614 +30615 +30616 +30617 +30618 +30619 +30620 +30621 +30622 +30623 +30624 +30625 +30626 +30627 +30628 +30629 +30630 +30631 +30632 +30633 +30634 +30635 +30636 +30637 +30638 +30639 +30640 +30641 +30642 +30643 +30644 +30645 +30646 +30647 +30648 +30649 +30650 +30651 +30652 +30653 +30654 +30655 +30656 +30657 +30658 +30659 +30660 +30661 +30662 +30663 +30664 +30665 +30666 +30667 +30668 +30669 +30670 +30671 +30672 +30673 +30674 +30675 +30676 +30677 +30678 +30679 +30680 +30681 +30682 +30683 +30684 +30685 +30686 +30687 +30688 +30689 +30690 +30691 +30692 +30693 +30694 +30695 +30696 +30697 +30698 +30699 +30700 +30701 +30702 +30703 +30704 +30705 +30706 +30707 +30708 +30709 +30710 +30711 +30712 +30713 +30714 +30715 +30716 +30717 +30718 +30719 +30720 +30721 +30722 +30723 +30724 +30725 +30726 +30727 +30728 +30729 +30730 +30731 +30732 +30733 +30734 +30735 +30736 +30737 +30738 +30739 +30740 +30741 +30742 +30743 +30744 +30745 +30746 +30747 +30748 +30749 +30750 +30751 +30752 +30753 +30754 +30755 +30756 +30757 +30758 +30759 +30760 +30761 +30762 +30763 +30764 +30765 +30766 +30767 +30768 +30769 +30770 +30771 +30772 +30773 +30774 +30775 +30776 +30777 +30778 +30779 +30780 +30781 +30782 +30783 +30784 +30785 +30786 +30787 +30788 +30789 +30790 +30791 +30792 +30793 +30794 +30795 +30796 +30797 +30798 +30799 +30800 +30801 +30802 +30803 +30804 +30805 +30806 +30807 +30808 +30809 +30810 +30811 +30812 +30813 +30814 +30815 +30816 +30817 +30818 +30819 +30820 +30821 +30822 +30823 +30824 +30825 +30826 +30827 +30828 +30829 +30830 +30831 +30832 +30833 +30834 +30835 +30836 +30837 +30838 +30839 +30840 +30841 +30842 +30843 +30844 +30845 +30846 +30847 +30848 +30849 +30850 +30851 +30852 +30853 +30854 +30855 +30856 +30857 +30858 +30859 +30860 +30861 +30862 +30863 +30864 +30865 +30866 +30867 +30868 +30869 +30870 +30871 +30872 +30873 +30874 +30875 +30876 +30877 +30878 +30879 +30880 +30881 +30882 +30883 +30884 +30885 +30886 +30887 +30888 +30889 +30890 +30891 +30892 +30893 +30894 +30895 +30896 +30897 +30898 +30899 +30900 +30901 +30902 +30903 +30904 +30905 +30906 +30907 +30908 +30909 +30910 +30911 +30912 +30913 +30914 +30915 +30916 +30917 +30918 +30919 +30920 +30921 +30922 +30923 +30924 +30925 +30926 +30927 +30928 +30929 +30930 +30931 +30932 +30933 +30934 +30935 +30936 +30937 +30938 +30939 +30940 +30941 +30942 +30943 +30944 +30945 +30946 +30947 +30948 +30949 +30950 +30951 +30952 +30953 +30954 +30955 +30956 +30957 +30958 +30959 +30960 +30961 +30962 +30963 +30964 +30965 +30966 +30967 +30968 +30969 +30970 +30971 +30972 +30973 +30974 +30975 +30976 +30977 +30978 +30979 +30980 +30981 +30982 +30983 +30984 +30985 +30986 +30987 +30988 +30989 +30990 +30991 +30992 +30993 +30994 +30995 +30996 +30997 +30998 +30999 +31000 +31001 +31002 +31003 +31004 +31005 +31006 +31007 +31008 +31009 +31010 +31011 +31012 +31013 +31014 +31015 +31016 +31017 +31018 +31019 +31020 +31021 +31022 +31023 +31024 +31025 +31026 +31027 +31028 +31029 +31030 +31031 +31032 +31033 +31034 +31035 +31036 +31037 +31038 +31039 +31040 +31041 +31042 +31043 +31044 +31045 +31046 +31047 +31048 +31049 +31050 +31051 +31052 +31053 +31054 +31055 +31056 +31057 +31058 +31059 +31060 +31061 +31062 +31063 +31064 +31065 +31066 +31067 +31068 +31069 +31070 +31071 +31072 +31073 +31074 +31075 +31076 +31077 +31078 +31079 +31080 +31081 +31082 +31083 +31084 +31085 +31086 +31087 +31088 +31089 +31090 +31091 +31092 +31093 +31094 +31095 +31096 +31097 +31098 +31099 +31100 +31101 +31102 +31103 +31104 +31105 +31106 +31107 +31108 +31109 +31110 +31111 +31112 +31113 +31114 +31115 +31116 +31117 +31118 +31119 +31120 +31121 +31122 +31123 +31124 +31125 +31126 +31127 +31128 +31129 +31130 +31131 +31132 +31133 +31134 +31135 +31136 +31137 +31138 +31139 +31140 +31141 +31142 +31143 +31144 +31145 +31146 +31147 +31148 +31149 +31150 +31151 +31152 +31153 +31154 +31155 +31156 +31157 +31158 +31159 +31160 +31161 +31162 +31163 +31164 +31165 +31166 +31167 +31168 +31169 +31170 +31171 +31172 +31173 +31174 +31175 +31176 +31177 +31178 +31179 +31180 +31181 +31182 +31183 +31184 +31185 +31186 +31187 +31188 +31189 +31190 +31191 +31192 +31193 +31194 +31195 +31196 +31197 +31198 +31199 +31200 +31201 +31202 +31203 +31204 +31205 +31206 +31207 +31208 +31209 +31210 +31211 +31212 +31213 +31214 +31215 +31216 +31217 +31218 +31219 +31220 +31221 +31222 +31223 +31224 +31225 +31226 +31227 +31228 +31229 +31230 +31231 +31232 +31233 +31234 +31235 +31236 +31237 +31238 +31239 +31240 +31241 +31242 +31243 +31244 +31245 +31246 +31247 +31248 +31249 +31250 +31251 +31252 +31253 +31254 +31255 +31256 +31257 +31258 +31259 +31260 +31261 +31262 +31263 +31264 +31265 +31266 +31267 +31268 +31269 +31270 +31271 +31272 +31273 +31274 +31275 +31276 +31277 +31278 +31279 +31280 +31281 +31282 +31283 +31284 +31285 +31286 +31287 +31288 +31289 +31290 +31291 +31292 +31293 +31294 +31295 +31296 +31297 +31298 +31299 +31300 +31301 +31302 +31303 +31304 +31305 +31306 +31307 +31308 +31309 +31310 +31311 +31312 +31313 +31314 +31315 +31316 +31317 +31318 +31319 +31320 +31321 +31322 +31323 +31324 +31325 +31326 +31327 +31328 +31329 +31330 +31331 +31332 +31333 +31334 +31335 +31336 +31337 +31338 +31339 +31340 +31341 +31342 +31343 +31344 +31345 +31346 +31347 +31348 +31349 +31350 +31351 +31352 +31353 +31354 +31355 +31356 +31357 +31358 +31359 +31360 +31361 +31362 +31363 +31364 +31365 +31366 +31367 +31368 +31369 +31370 +31371 +31372 +31373 +31374 +31375 +31376 +31377 +31378 +31379 +31380 +31381 +31382 +31383 +31384 +31385 +31386 +31387 +31388 +31389 +31390 +31391 +31392 +31393 +31394 +31395 +31396 +31397 +31398 +31399 +31400 +31401 +31402 +31403 +31404 +31405 +31406 +31407 +31408 +31409 +31410 +31411 +31412 +31413 +31414 +31415 +31416 +31417 +31418 +31419 +31420 +31421 +31422 +31423 +31424 +31425 +31426 +31427 +31428 +31429 +31430 +31431 +31432 +31433 +31434 +31435 +31436 +31437 +31438 +31439 +31440 +31441 +31442 +31443 +31444 +31445 +31446 +31447 +31448 +31449 +31450 +31451 +31452 +31453 +31454 +31455 +31456 +31457 +31458 +31459 +31460 +31461 +31462 +31463 +31464 +31465 +31466 +31467 +31468 +31469 +31470 +31471 +31472 +31473 +31474 +31475 +31476 +31477 +31478 +31479 +31480 +31481 +31482 +31483 +31484 +31485 +31486 +31487 +31488 +31489 +31490 +31491 +31492 +31493 +31494 +31495 +31496 +31497 +31498 +31499 +31500 +31501 +31502 +31503 +31504 +31505 +31506 +31507 +31508 +31509 +31510 +31511 +31512 +31513 +31514 +31515 +31516 +31517 +31518 +31519 +31520 +31521 +31522 +31523 +31524 +31525 +31526 +31527 +31528 +31529 +31530 +31531 +31532 +31533 +31534 +31535 +31536 +31537 +31538 +31539 +31540 +31541 +31542 +31543 +31544 +31545 +31546 +31547 +31548 +31549 +31550 +31551 +31552 +31553 +31554 +31555 +31556 +31557 +31558 +31559 +31560 +31561 +31562 +31563 +31564 +31565 +31566 +31567 +31568 +31569 +31570 +31571 +31572 +31573 +31574 +31575 +31576 +31577 +31578 +31579 +31580 +31581 +31582 +31583 +31584 +31585 +31586 +31587 +31588 +31589 +31590 +31591 +31592 +31593 +31594 +31595 +31596 +31597 +31598 +31599 +31600 +31601 +31602 +31603 +31604 +31605 +31606 +31607 +31608 +31609 +31610 +31611 +31612 +31613 +31614 +31615 +31616 +31617 +31618 +31619 +31620 +31621 +31622 +31623 +31624 +31625 +31626 +31627 +31628 +31629 +31630 +31631 +31632 +31633 +31634 +31635 +31636 +31637 +31638 +31639 +31640 +31641 +31642 +31643 +31644 +31645 +31646 +31647 +31648 +31649 +31650 +31651 +31652 +31653 +31654 +31655 +31656 +31657 +31658 +31659 +31660 +31661 +31662 +31663 +31664 +31665 +31666 +31667 +31668 +31669 +31670 +31671 +31672 +31673 +31674 +31675 +31676 +31677 +31678 +31679 +31680 +31681 +31682 +31683 +31684 +31685 +31686 +31687 +31688 +31689 +31690 +31691 +31692 +31693 +31694 +31695 +31696 +31697 +31698 +31699 +31700 +31701 +31702 +31703 +31704 +31705 +31706 +31707 +31708 +31709 +31710 +31711 +31712 +31713 +31714 +31715 +31716 +31717 +31718 +31719 +31720 +31721 +31722 +31723 +31724 +31725 +31726 +31727 +31728 +31729 +31730 +31731 +31732 +31733 +31734 +31735 +31736 +31737 +31738 +31739 +31740 +31741 +31742 +31743 +31744 +31745 +31746 +31747 +31748 +31749 +31750 +31751 +31752 +31753 +31754 +31755 +31756 +31757 +31758 +31759 +31760 +31761 +31762 +31763 +31764 +31765 +31766 +31767 +31768 +31769 +31770 +31771 +31772 +31773 +31774 +31775 +31776 +31777 +31778 +31779 +31780 +31781 +31782 +31783 +31784 +31785 +31786 +31787 +31788 +31789 +31790 +31791 +31792 +31793 +31794 +31795 +31796 +31797 +31798 +31799 +31800 +31801 +31802 +31803 +31804 +31805 +31806 +31807 +31808 +31809 +31810 +31811 +31812 +31813 +31814 +31815 +31816 +31817 +31818 +31819 +31820 +31821 +31822 +31823 +31824 +31825 +31826 +31827 +31828 +31829 +31830 +31831 +31832 +31833 +31834 +31835 +31836 +31837 +31838 +31839 +31840 +31841 +31842 +31843 +31844 +31845 +31846 +31847 +31848 +31849 +31850 +31851 +31852 +31853 +31854 +31855 +31856 +31857 +31858 +31859 +31860 +31861 +31862 +31863 +31864 +31865 +31866 +31867 +31868 +31869 +31870 +31871 +31872 +31873 +31874 +31875 +31876 +31877 +31878 +31879 +31880 +31881 +31882 +31883 +31884 +31885 +31886 +31887 +31888 +31889 +31890 +31891 +31892 +31893 +31894 +31895 +31896 +31897 +31898 +31899 +31900 +31901 +31902 +31903 +31904 +31905 +31906 +31907 +31908 +31909 +31910 +31911 +31912 +31913 +31914 +31915 +31916 +31917 +31918 +31919 +31920 +31921 +31922 +31923 +31924 +31925 +31926 +31927 +31928 +31929 +31930 +31931 +31932 +31933 +31934 +31935 +31936 +31937 +31938 +31939 +31940 +31941 +31942 +31943 +31944 +31945 +31946 +31947 +31948 +31949 +31950 +31951 +31952 +31953 +31954 +31955 +31956 +31957 +31958 +31959 +31960 +31961 +31962 +31963 +31964 +31965 +31966 +31967 +31968 +31969 +31970 +31971 +31972 +31973 +31974 +31975 +31976 +31977 +31978 +31979 +31980 +31981 +31982 +31983 +31984 +31985 +31986 +31987 +31988 +31989 +31990 +31991 +31992 +31993 +31994 +31995 +31996 +31997 +31998 +31999 +32000 +32001 +32002 +32003 +32004 +32005 +32006 +32007 +32008 +32009 +32010 +32011 +32012 +32013 +32014 +32015 +32016 +32017 +32018 +32019 +32020 +32021 +32022 +32023 +32024 +32025 +32026 +32027 +32028 +32029 +32030 +32031 +32032 +32033 +32034 +32035 +32036 +32037 +32038 +32039 +32040 +32041 +32042 +32043 +32044 +32045 +32046 +32047 +32048 +32049 +32050 +32051 +32052 +32053 +32054 +32055 +32056 +32057 +32058 +32059 +32060 +32061 +32062 +32063 +32064 +32065 +32066 +32067 +32068 +32069 +32070 +32071 +32072 +32073 +32074 +32075 +32076 +32077 +32078 +32079 +32080 +32081 +32082 +32083 +32084 +32085 +32086 +32087 +32088 +32089 +32090 +32091 +32092 +32093 +32094 +32095 +32096 +32097 +32098 +32099 +32100 +32101 +32102 +32103 +32104 +32105 +32106 +32107 +32108 +32109 +32110 +32111 +32112 +32113 +32114 +32115 +32116 +32117 +32118 +32119 +32120 +32121 +32122 +32123 +32124 +32125 +32126 +32127 +32128 +32129 +32130 +32131 +32132 +32133 +32134 +32135 +32136 +32137 +32138 +32139 +32140 +32141 +32142 +32143 +32144 +32145 +32146 +32147 +32148 +32149 +32150 +32151 +32152 +32153 +32154 +32155 +32156 +32157 +32158 +32159 +32160 +32161 +32162 +32163 +32164 +32165 +32166 +32167 +32168 +32169 +32170 +32171 +32172 +32173 +32174 +32175 +32176 +32177 +32178 +32179 +32180 +32181 +32182 +32183 +32184 +32185 +32186 +32187 +32188 +32189 +32190 +32191 +32192 +32193 +32194 +32195 +32196 +32197 +32198 +32199 +32200 +32201 +32202 +32203 +32204 +32205 +32206 +32207 +32208 +32209 +32210 +32211 +32212 +32213 +32214 +32215 +32216 +32217 +32218 +32219 +32220 +32221 +32222 +32223 +32224 +32225 +32226 +32227 +32228 +32229 +32230 +32231 +32232 +32233 +32234 +32235 +32236 +32237 +32238 +32239 +32240 +32241 +32242 +32243 +32244 +32245 +32246 +32247 +32248 +32249 +32250 +32251 +32252 +32253 +32254 +32255 +32256 +32257 +32258 +32259 +32260 +32261 +32262 +32263 +32264 +32265 +32266 +32267 +32268 +32269 +32270 +32271 +32272 +32273 +32274 +32275 +32276 +32277 +32278 +32279 +32280 +32281 +32282 +32283 +32284 +32285 +32286 +32287 +32288 +32289 +32290 +32291 +32292 +32293 +32294 +32295 +32296 +32297 +32298 +32299 +32300 +32301 +32302 +32303 +32304 +32305 +32306 +32307 +32308 +32309 +32310 +32311 +32312 +32313 +32314 +32315 +32316 +32317 +32318 +32319 +32320 +32321 +32322 +32323 +32324 +32325 +32326 +32327 +32328 +32329 +32330 +32331 +32332 +32333 +32334 +32335 +32336 +32337 +32338 +32339 +32340 +32341 +32342 +32343 +32344 +32345 +32346 +32347 +32348 +32349 +32350 +32351 +32352 +32353 +32354 +32355 +32356 +32357 +32358 +32359 +32360 +32361 +32362 +32363 +32364 +32365 +32366 +32367 +32368 +32369 +32370 +32371 +32372 +32373 +32374 +32375 +32376 +32377 +32378 +32379 +32380 +32381 +32382 +32383 +32384 +32385 +32386 +32387 +32388 +32389 +32390 +32391 +32392 +32393 +32394 +32395 +32396 +32397 +32398 +32399 +32400 +32401 +32402 +32403 +32404 +32405 +32406 +32407 +32408 +32409 +32410 +32411 +32412 +32413 +32414 +32415 +32416 +32417 +32418 +32419 +32420 +32421 +32422 +32423 +32424 +32425 +32426 +32427 +32428 +32429 +32430 +32431 +32432 +32433 +32434 +32435 +32436 +32437 +32438 +32439 +32440 +32441 +32442 +32443 +32444 +32445 +32446 +32447 +32448 +32449 +32450 +32451 +32452 +32453 +32454 +32455 +32456 +32457 +32458 +32459 +32460 +32461 +32462 +32463 +32464 +32465 +32466 +32467 +32468 +32469 +32470 +32471 +32472 +32473 +32474 +32475 +32476 +32477 +32478 +32479 +32480 +32481 +32482 +32483 +32484 +32485 +32486 +32487 +32488 +32489 +32490 +32491 +32492 +32493 +32494 +32495 +32496 +32497 +32498 +32499 +32500 +32501 +32502 +32503 +32504 +32505 +32506 +32507 +32508 +32509 +32510 +32511 +32512 +32513 +32514 +32515 +32516 +32517 +32518 +32519 +32520 +32521 +32522 +32523 +32524 +32525 +32526 +32527 +32528 +32529 +32530 +32531 +32532 +32533 +32534 +32535 +32536 +32537 +32538 +32539 +32540 +32541 +32542 +32543 +32544 +32545 +32546 +32547 +32548 +32549 +32550 +32551 +32552 +32553 +32554 +32555 +32556 +32557 +32558 +32559 +32560 +32561 +32562 +32563 +32564 +32565 +32566 +32567 +32568 +32569 +32570 +32571 +32572 +32573 +32574 +32575 +32576 +32577 +32578 +32579 +32580 +32581 +32582 +32583 +32584 +32585 +32586 +32587 +32588 +32589 +32590 +32591 +32592 +32593 +32594 +32595 +32596 +32597 +32598 +32599 +32600 +32601 +32602 +32603 +32604 +32605 +32606 +32607 +32608 +32609 +32610 +32611 +32612 +32613 +32614 +32615 +32616 +32617 +32618 +32619 +32620 +32621 +32622 +32623 +32624 +32625 +32626 +32627 +32628 +32629 +32630 +32631 +32632 +32633 +32634 +32635 +32636 +32637 +32638 +32639 +32640 +32641 +32642 +32643 +32644 +32645 +32646 +32647 +32648 +32649 +32650 +32651 +32652 +32653 +32654 +32655 +32656 +32657 +32658 +32659 +32660 +32661 +32662 +32663 +32664 +32665 +32666 +32667 +32668 +32669 +32670 +32671 +32672 +32673 +32674 +32675 +32676 +32677 +32678 +32679 +32680 +32681 +32682 +32683 +32684 +32685 +32686 +32687 +32688 +32689 +32690 +32691 +32692 +32693 +32694 +32695 +32696 +32697 +32698 +32699 +32700 +32701 +32702 +32703 +32704 +32705 +32706 +32707 +32708 +32709 +32710 +32711 +32712 +32713 +32714 +32715 +32716 +32717 +32718 +32719 +32720 +32721 +32722 +32723 +32724 +32725 +32726 +32727 +32728 +32729 +32730 +32731 +32732 +32733 +32734 +32735 +32736 +32737 +32738 +32739 +32740 +32741 +32742 +32743 +32744 +32745 +32746 +32747 +32748 +32749 +32750 +32751 +32752 +32753 +32754 +32755 +32756 +32757 +32758 +32759 +32760 +32761 +32762 +32763 +32764 +32765 +32766 +32767 +) + +// ************************************************************************* // diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/constant/transportProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/createObstacle.setSet b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/createObstacle.setSet similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/createObstacle.setSet rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/createObstacle.setSet diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/system/controlDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/system/controlDict rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/system/fvSolution rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution diff --git a/tutorials/interDyMFoam/damBreakWithObstacle/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/damBreakWithObstacle/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict diff --git a/tutorials/interDyMFoam/sloshingTank2D/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/0/U rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U diff --git a/tutorials/interDyMFoam/sloshingTank2D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org diff --git a/tutorials/interDyMFoam/sloshingTank2D/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/0/pd rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd diff --git a/tutorials/interDyMFoam/sloshingTank2D/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/Allclean rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean diff --git a/tutorials/interDyMFoam/sloshingTank2D/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/Allrun rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary diff --git a/tutorials/interDyMFoam/sloshingTank2D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/system/controlDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict diff --git a/tutorials/interDyMFoam/sloshingTank2D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict diff --git a/tutorials/interDyMFoam/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes diff --git a/tutorials/interDyMFoam/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/system/fvSolution rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution diff --git a/tutorials/interDyMFoam/sloshingTank2D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/0/U rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/0/pd rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/Allclean rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/Allrun rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/system/controlDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/system/fvSolution rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution diff --git a/tutorials/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict diff --git a/tutorials/interDyMFoam/sloshingTank3D/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/0/U rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U diff --git a/tutorials/interDyMFoam/sloshingTank3D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org diff --git a/tutorials/interDyMFoam/sloshingTank3D/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/0/pd rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd diff --git a/tutorials/interDyMFoam/sloshingTank3D/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/Allclean rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean diff --git a/tutorials/interDyMFoam/sloshingTank3D/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/Allrun rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary diff --git a/tutorials/interDyMFoam/sloshingTank3D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/system/controlDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict diff --git a/tutorials/interDyMFoam/sloshingTank3D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict diff --git a/tutorials/interDyMFoam/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes diff --git a/tutorials/interDyMFoam/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/system/fvSolution rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution diff --git a/tutorials/interDyMFoam/sloshingTank3D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/0/U rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/0/pd rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/Allclean rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/Allrun rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/system/controlDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/system/fvSolution rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution diff --git a/tutorials/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/0/U rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/0/pd rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/Allclean rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/Allrun rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/6DoF.dat b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/6DoF.dat similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/6DoF.dat rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/6DoF.dat diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/files b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/files similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/files rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/files diff --git a/tutorials/potentialFoam/cylinder/analyticalCylinder/Make/options b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/options similarity index 100% rename from tutorials/potentialFoam/cylinder/analyticalCylinder/Make/options rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/Make/options diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/gen6DoF.C b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/gen6DoF.C similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/gen6DoF/gen6DoF.C rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/gen6DoF/gen6DoF.C diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/system/controlDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/system/fvSolution rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict similarity index 100% rename from tutorials/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict diff --git a/tutorials/interFoam/Allrun b/tutorials/multiphase/interFoam/Allrun similarity index 100% rename from tutorials/interFoam/Allrun rename to tutorials/multiphase/interFoam/Allrun diff --git a/tutorials/interFoam/laminar/Allclean b/tutorials/multiphase/interFoam/laminar/Allclean similarity index 100% rename from tutorials/interFoam/laminar/Allclean rename to tutorials/multiphase/interFoam/laminar/Allclean diff --git a/tutorials/interFoam/laminar/Allrun b/tutorials/multiphase/interFoam/laminar/Allrun similarity index 100% rename from tutorials/interFoam/laminar/Allrun rename to tutorials/multiphase/interFoam/laminar/Allrun diff --git a/tutorials/interFoam/laminar/damBreak/0/U b/tutorials/multiphase/interFoam/laminar/damBreak/0/U similarity index 100% rename from tutorials/interFoam/laminar/damBreak/0/U rename to tutorials/multiphase/interFoam/laminar/damBreak/0/U diff --git a/tutorials/interFoam/laminar/damBreak/0/alpha1 b/tutorials/multiphase/interFoam/laminar/damBreak/0/alpha1 similarity index 100% rename from tutorials/interFoam/laminar/damBreak/0/alpha1 rename to tutorials/multiphase/interFoam/laminar/damBreak/0/alpha1 diff --git a/tutorials/interFoam/laminar/damBreak/0/alpha1.org b/tutorials/multiphase/interFoam/laminar/damBreak/0/alpha1.org similarity index 100% rename from tutorials/interFoam/laminar/damBreak/0/alpha1.org rename to tutorials/multiphase/interFoam/laminar/damBreak/0/alpha1.org diff --git a/tutorials/interFoam/laminar/damBreak/0/pd b/tutorials/multiphase/interFoam/laminar/damBreak/0/pd similarity index 100% rename from tutorials/interFoam/laminar/damBreak/0/pd rename to tutorials/multiphase/interFoam/laminar/damBreak/0/pd diff --git a/tutorials/interFoam/laminar/damBreak/constant/dynamicMeshDict b/tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/dynamicMeshDict rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict diff --git a/tutorials/interFoam/ras/damBreak/constant/environmentalProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/environmentalProperties rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties diff --git a/tutorials/interFoam/laminar/damBreak/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/blockMeshDict diff --git a/tutorials/interFoam/laminar/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/polyMesh/boundary rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary diff --git a/tutorials/interFoam/laminar/damBreak/constant/transportProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/transportProperties rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties diff --git a/tutorials/interFoam/laminar/damBreak/constant/turbulenceProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties similarity index 100% rename from tutorials/interFoam/laminar/damBreak/constant/turbulenceProperties rename to tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties diff --git a/tutorials/interFoam/laminar/damBreak/system/controlDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict similarity index 100% rename from tutorials/interFoam/laminar/damBreak/system/controlDict rename to tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict diff --git a/tutorials/interFoam/laminar/damBreak/system/decomposeParDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict similarity index 100% rename from tutorials/interFoam/laminar/damBreak/system/decomposeParDict rename to tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict diff --git a/tutorials/interFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes similarity index 100% rename from tutorials/interFoam/laminar/damBreak/system/fvSchemes rename to tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes diff --git a/tutorials/interFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution similarity index 100% rename from tutorials/interFoam/laminar/damBreak/system/fvSolution rename to tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution diff --git a/tutorials/interFoam/laminar/damBreak/system/setFieldsDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict similarity index 100% rename from tutorials/interFoam/laminar/damBreak/system/setFieldsDict rename to tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/B b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/B similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/B rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/B diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/U b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/U similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/U rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/U diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/alpha1 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/alpha1 similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/alpha1 rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/alpha1 diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/data/Ubulk b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/Ubulk similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/data/Ubulk rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/Ubulk diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/data/ptrace b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/ptrace similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/data/ptrace rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/ptrace diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/k b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/k similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/k rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/k diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/nuSgs b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuSgs similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/nuSgs rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuSgs diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/nuTilda b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuTilda similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/nuTilda rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuTilda diff --git a/tutorials/interFoam/les/nozzleFlow2D/0/pd b/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/pd similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/0/pd rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/0/pd diff --git a/tutorials/interFoam/les/nozzleFlow2D/Allclean b/tutorials/multiphase/interFoam/les/nozzleFlow2D/Allclean similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/Allclean rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/Allclean diff --git a/tutorials/interFoam/les/nozzleFlow2D/Allrun b/tutorials/multiphase/interFoam/les/nozzleFlow2D/Allrun similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/Allrun rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/Allrun diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/LESProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/LESProperties rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/environmentalProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/environmentalProperties rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/blockMeshDict diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary.org b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary.org similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary.org rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/boundary.org diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells diff --git a/tutorials/interFoam/les/nozzleFlow2D/constant/transportProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/constant/transportProperties rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties diff --git a/tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties similarity index 100% rename from tutorials/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict.1 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict.1 rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict.2 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/cellSetDict.2 rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/controlDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/controlDict rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/fvSchemes b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/fvSchemes rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/fvSolution b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/fvSolution rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution diff --git a/tutorials/interFoam/les/nozzleFlow2D/system/refineMeshDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict similarity index 100% rename from tutorials/interFoam/les/nozzleFlow2D/system/refineMeshDict rename to tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict diff --git a/tutorials/interFoam/ras/Allclean b/tutorials/multiphase/interFoam/ras/Allclean similarity index 100% rename from tutorials/interFoam/ras/Allclean rename to tutorials/multiphase/interFoam/ras/Allclean diff --git a/tutorials/interFoam/ras/Allrun b/tutorials/multiphase/interFoam/ras/Allrun similarity index 100% rename from tutorials/interFoam/ras/Allrun rename to tutorials/multiphase/interFoam/ras/Allrun diff --git a/tutorials/interFoam/ras/damBreak/0/R b/tutorials/multiphase/interFoam/ras/damBreak/0/R similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/R rename to tutorials/multiphase/interFoam/ras/damBreak/0/R diff --git a/tutorials/interFoam/ras/damBreak/0/U b/tutorials/multiphase/interFoam/ras/damBreak/0/U similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/U rename to tutorials/multiphase/interFoam/ras/damBreak/0/U diff --git a/tutorials/interFoam/ras/damBreak/0/epsilon b/tutorials/multiphase/interFoam/ras/damBreak/0/epsilon similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/epsilon rename to tutorials/multiphase/interFoam/ras/damBreak/0/epsilon diff --git a/tutorials/interFoam/ras/damBreak/0/gamma b/tutorials/multiphase/interFoam/ras/damBreak/0/gamma similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/gamma rename to tutorials/multiphase/interFoam/ras/damBreak/0/gamma diff --git a/tutorials/interFoam/ras/damBreak/0/gamma.org b/tutorials/multiphase/interFoam/ras/damBreak/0/gamma.org similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/gamma.org rename to tutorials/multiphase/interFoam/ras/damBreak/0/gamma.org diff --git a/tutorials/interFoam/ras/damBreak/0/k b/tutorials/multiphase/interFoam/ras/damBreak/0/k similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/k rename to tutorials/multiphase/interFoam/ras/damBreak/0/k diff --git a/tutorials/interFoam/ras/damBreak/0/nuTilda b/tutorials/multiphase/interFoam/ras/damBreak/0/nuTilda similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/nuTilda rename to tutorials/multiphase/interFoam/ras/damBreak/0/nuTilda diff --git a/tutorials/interFoam/ras/damBreak/0/pd b/tutorials/multiphase/interFoam/ras/damBreak/0/pd similarity index 100% rename from tutorials/interFoam/ras/damBreak/0/pd rename to tutorials/multiphase/interFoam/ras/damBreak/0/pd diff --git a/tutorials/interFoam/ras/damBreak/Allrun b/tutorials/multiphase/interFoam/ras/damBreak/Allrun similarity index 100% rename from tutorials/interFoam/ras/damBreak/Allrun rename to tutorials/multiphase/interFoam/ras/damBreak/Allrun diff --git a/tutorials/interFoam/ras/damBreak/constant/RASProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/RASProperties rename to tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties diff --git a/tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties similarity index 100% rename from tutorials/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties rename to tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties diff --git a/tutorials/interFoam/ras/damBreak/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/blockMeshDict diff --git a/tutorials/interFoam/ras/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/polyMesh/boundary rename to tutorials/multiphase/interFoam/ras/damBreak/constant/polyMesh/boundary diff --git a/tutorials/interFoam/ras/damBreak/constant/transportProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties similarity index 100% rename from tutorials/interFoam/ras/damBreak/constant/transportProperties rename to tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties diff --git a/tutorials/pisoFoam/ras/cavity/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties similarity index 100% rename from tutorials/pisoFoam/ras/cavity/constant/turbulenceProperties rename to tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties diff --git a/tutorials/interFoam/ras/damBreak/system/controlDict b/tutorials/multiphase/interFoam/ras/damBreak/system/controlDict similarity index 100% rename from tutorials/interFoam/ras/damBreak/system/controlDict rename to tutorials/multiphase/interFoam/ras/damBreak/system/controlDict diff --git a/tutorials/interFoam/ras/damBreak/system/decomposeParDict b/tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict similarity index 100% rename from tutorials/interFoam/ras/damBreak/system/decomposeParDict rename to tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict diff --git a/tutorials/interFoam/ras/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes similarity index 100% rename from tutorials/interFoam/ras/damBreak/system/fvSchemes rename to tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes diff --git a/tutorials/interFoam/ras/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution similarity index 100% rename from tutorials/interFoam/ras/damBreak/system/fvSolution rename to tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution diff --git a/tutorials/interFoam/ras/damBreak/system/setFieldsDict b/tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict similarity index 100% rename from tutorials/interFoam/ras/damBreak/system/setFieldsDict rename to tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict diff --git a/tutorials/settlingFoam/dahl/0/U b/tutorials/multiphase/settlingFoam/dahl/0/U similarity index 100% rename from tutorials/settlingFoam/dahl/0/U rename to tutorials/multiphase/settlingFoam/dahl/0/U diff --git a/tutorials/settlingFoam/dahl/0/alpha b/tutorials/multiphase/settlingFoam/dahl/0/alpha similarity index 100% rename from tutorials/settlingFoam/dahl/0/alpha rename to tutorials/multiphase/settlingFoam/dahl/0/alpha diff --git a/tutorials/settlingFoam/dahl/0/epsilon b/tutorials/multiphase/settlingFoam/dahl/0/epsilon similarity index 100% rename from tutorials/settlingFoam/dahl/0/epsilon rename to tutorials/multiphase/settlingFoam/dahl/0/epsilon diff --git a/tutorials/settlingFoam/dahl/0/k b/tutorials/multiphase/settlingFoam/dahl/0/k similarity index 100% rename from tutorials/settlingFoam/dahl/0/k rename to tutorials/multiphase/settlingFoam/dahl/0/k diff --git a/tutorials/settlingFoam/dahl/0/p b/tutorials/multiphase/settlingFoam/dahl/0/p similarity index 100% rename from tutorials/settlingFoam/dahl/0/p rename to tutorials/multiphase/settlingFoam/dahl/0/p diff --git a/tutorials/settlingFoam/dahl/constant/RASProperties b/tutorials/multiphase/settlingFoam/dahl/constant/RASProperties similarity index 100% rename from tutorials/settlingFoam/dahl/constant/RASProperties rename to tutorials/multiphase/settlingFoam/dahl/constant/RASProperties diff --git a/tutorials/settlingFoam/dahl/constant/environmentalProperties b/tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties similarity index 100% rename from tutorials/settlingFoam/dahl/constant/environmentalProperties rename to tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties diff --git a/tutorials/settlingFoam/dahl/constant/polyMesh/blockMeshDict b/tutorials/multiphase/settlingFoam/dahl/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/settlingFoam/dahl/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/settlingFoam/dahl/constant/polyMesh/blockMeshDict diff --git a/tutorials/settlingFoam/dahl/constant/polyMesh/boundary b/tutorials/multiphase/settlingFoam/dahl/constant/polyMesh/boundary similarity index 100% rename from tutorials/settlingFoam/dahl/constant/polyMesh/boundary rename to tutorials/multiphase/settlingFoam/dahl/constant/polyMesh/boundary diff --git a/tutorials/settlingFoam/dahl/constant/transportProperties b/tutorials/multiphase/settlingFoam/dahl/constant/transportProperties similarity index 100% rename from tutorials/settlingFoam/dahl/constant/transportProperties rename to tutorials/multiphase/settlingFoam/dahl/constant/transportProperties diff --git a/tutorials/settlingFoam/dahl/system/controlDict b/tutorials/multiphase/settlingFoam/dahl/system/controlDict similarity index 100% rename from tutorials/settlingFoam/dahl/system/controlDict rename to tutorials/multiphase/settlingFoam/dahl/system/controlDict diff --git a/tutorials/settlingFoam/dahl/system/fvSchemes b/tutorials/multiphase/settlingFoam/dahl/system/fvSchemes similarity index 100% rename from tutorials/settlingFoam/dahl/system/fvSchemes rename to tutorials/multiphase/settlingFoam/dahl/system/fvSchemes diff --git a/tutorials/settlingFoam/dahl/system/fvSolution b/tutorials/multiphase/settlingFoam/dahl/system/fvSolution similarity index 100% rename from tutorials/settlingFoam/dahl/system/fvSolution rename to tutorials/multiphase/settlingFoam/dahl/system/fvSolution diff --git a/tutorials/settlingFoam/tank3D/0/U b/tutorials/multiphase/settlingFoam/tank3D/0/U similarity index 100% rename from tutorials/settlingFoam/tank3D/0/U rename to tutorials/multiphase/settlingFoam/tank3D/0/U diff --git a/tutorials/settlingFoam/tank3D/0/alpha b/tutorials/multiphase/settlingFoam/tank3D/0/alpha similarity index 100% rename from tutorials/settlingFoam/tank3D/0/alpha rename to tutorials/multiphase/settlingFoam/tank3D/0/alpha diff --git a/tutorials/settlingFoam/tank3D/0/epsilon b/tutorials/multiphase/settlingFoam/tank3D/0/epsilon similarity index 100% rename from tutorials/settlingFoam/tank3D/0/epsilon rename to tutorials/multiphase/settlingFoam/tank3D/0/epsilon diff --git a/tutorials/settlingFoam/tank3D/0/k b/tutorials/multiphase/settlingFoam/tank3D/0/k similarity index 100% rename from tutorials/settlingFoam/tank3D/0/k rename to tutorials/multiphase/settlingFoam/tank3D/0/k diff --git a/tutorials/settlingFoam/tank3D/0/p b/tutorials/multiphase/settlingFoam/tank3D/0/p similarity index 100% rename from tutorials/settlingFoam/tank3D/0/p rename to tutorials/multiphase/settlingFoam/tank3D/0/p diff --git a/tutorials/simpleFoam/airFoil2D/Allclean b/tutorials/multiphase/settlingFoam/tank3D/Allclean similarity index 100% rename from tutorials/simpleFoam/airFoil2D/Allclean rename to tutorials/multiphase/settlingFoam/tank3D/Allclean diff --git a/tutorials/settlingFoam/tank3D/Allrun b/tutorials/multiphase/settlingFoam/tank3D/Allrun similarity index 100% rename from tutorials/settlingFoam/tank3D/Allrun rename to tutorials/multiphase/settlingFoam/tank3D/Allrun diff --git a/tutorials/settlingFoam/tank3D/constant/RASProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties similarity index 100% rename from tutorials/settlingFoam/tank3D/constant/RASProperties rename to tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties diff --git a/tutorials/settlingFoam/tank3D/constant/environmentalProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties similarity index 100% rename from tutorials/settlingFoam/tank3D/constant/environmentalProperties rename to tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties diff --git a/tutorials/settlingFoam/tank3D/constant/polyMesh/boundary b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/boundary similarity index 100% rename from tutorials/settlingFoam/tank3D/constant/polyMesh/boundary rename to tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/boundary diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/cells.gz b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/cells.gz new file mode 100644 index 0000000000000000000000000000000000000000..24502150fa84e42595a7bcc6bb4186dc60ff78af GIT binary patch literal 249477 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	asIOpsQ&nNRd42uXM5yjeT<*xp1j16 zx=eh*+%QY_6+q?Ze%v^4wMWr7T~F3{HN)E(#<E`1uB<;Z=kLUWYrZs1T5H0P7V~09 zL)nsq=N&VrXQ$0HI>5@&n}3dRjg*72M-Sr`<@VF}O3Qs_7FxP!IfR1JgR;TdGfZ28 zD;rg3JDy~Jf1D+w2dF-W)vf8%HlTQ9*VF%|2mb$@4?=(M|NpoDfB65u-}nFjZU5hX MTUIiArZ6`H0H{7*_y7O^ literal 0 HcmV?d00001 diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/faces.gz b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/faces.gz new file mode 100644 index 0000000000000000000000000000000000000000..f3128af86b4107a2b258540d697dfe1f5a5bea25 GIT binary patch literal 419260 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�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	iLsM%;6@Sd>72N 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%0Doo^hJ+M+MvVfnFlqFCN!98K1W} zx^p+ju5CAJ=YEOILGyV#aLqWKBqV8(kLl(7(M<kEG!1$MK5HP9LXmw;{ZXM)`bjh> z5RN&Q!K5s5M~5!I(15YHu-lJ8wbTWTieleq;;`X8iM!<}lP<Mlrs3^6ZwCTN%%bZ7 z1o2{fKZ*A~wRWEL0F?<MTpy1C6P%T<hmTJmb#bakStvBfm0<FhHM8@SV7{hbVNbbG z%XrQ|vB@vhz>a?N`HQR0C!+b%Tm!Nq3mMgYw$IBjA5~}3ED5_r<&a_&XLeK>;W<N9 z9cjgCu8}xP96wQ9$#mG9Np<rTf(Hh~2QH=FHNF-S70ytbK}m&s)TYQR%!-;fLW$zz zQqGFt2uh6(zg9<@U8yYjp!Y6>{Rd#;dV5EvmjkuBI3)A}?^Nv+Q(wJ`#<L}Q3UW!o zx4vcDqV0;sr4Cov(QRgYct{bl?c8(yWomrb0l9&YB&H<^v+y2B1JS3ijuuSYhi9j) z@2B2-ys>P_%lSGg;OKJnZf@~mWo6VJM)-S-tPa<oq=aRe?VkA=w~m|mD*QK|^WN!` zbm(NEQgFH7&j9Llqg%f$`eOHlw2NFTJU)#AM-T@=Y|Yv*H=9BN`c}XFa(?<$8&e<C znl5PFQ~&Viv-h|i8HbX!b+M?=wmI2$z^=+8rYWcQ?J3t3Vn`zGY-eV7e%7sr-8kZ2 zmNn(@mpe>E!FBud$zZ8*_EUyrN*7>q070Oyr1~I_P2zz&54OOavw1S=Lv$&D;Pwzn zW13wSz6>zxT;)+3bOBq}@Fg&1?b1(04B`{(1xi3QFDgp$`5@kl+qY8`d`H?3Z_O?m z1y0_*dJJo8$n|4PccIO^lp8w-M_0Xc&w1=?B<>&$6?{c^$Hnc2r-wjE^2RWfx0*wm z%(CQLU!yyR@My(J=(Qszai$x6t|)Uh2#dg_ysGwY$w-8iS(ui+cx9^$E(&G~6|Zjl z&L$+dCHlA&Q?m@4a_1WwzeqFR+wk{U)AqwFB_go<m!8O~tihtV1gO}PoAV)y(x{vh zk$8DszsMTD6Wbj?VzYp`T$-hKU~?Q+<i7mCzc0)RW@*q5tgJz)_aX*L##-)=kaOHn z>x#4lo<UGUelzK!MkB;SYIej-Ht9>OAJ&d~B(IYwcWlL3C*=f*qIhi;J`_=3-Fp5M zUJ}{X&bIPS>nNLMsdQg75Y%e`?X-GmGTT4Y%LI~m&V9JbZ`Rl0B$u}k#&ZViG;*nZ z!{j(mVmBxh%K8&XcLWS>Qc0q9ed~EHgYL|B^juLW*si(4nNG4VWBQE<Ypwy*q3q{^ zOwgfnP5159n_sE5Ul)dNZU(HT#cY=DO9!IE%9Y4uWb|s*nKIe~B$wB25t&09_yY0K zHrgq=Rl_cQG>Qs$Yf+_q#P82qTEnpY{NNB<L|_Xmv#afecxILd>r1Rtk8#ZV)WNA& zzd}Zfb6ix<`0Qsg&}P?STczJWL2e<>(P`Gr+m&3DJD#i^u0$jj?s~$C=4XRAwIY;~ zeaO96m2`!OWP<a;^tz`9UaRKeHlS*eE7;V*R)-1dwcyU<C(Vp_-=8QJTy~B<XaD|O z7&7l_T{56yBIIK%wVYr5ZMOE2d@@E{JuKNW`u6HGy_yT``-<Ppm)LsRarGGP+<hFd z1TmhiQpZE9oc)lc9PqS0x4t`txw+7(R98Pjuq>pyLE!WDm0~{g*bAKY@_cK#8{nbo zIX+vVsc%dPneOhyZxDxki|iI;e~F1Mvul_5Htr2;Sh(&0R+G5|PP;Y0@Uvf`4IB3? z>)m9p3H?8_gjXf1S1=HDn*kl|S}?C%-G~+~V@reh`+Bu^d1bWXGaN*7RP2axWuA;n z_D^}`v_Qi*rdwbwF$)Lz;43M1fil|25f5H2)N|o7EGw#Y<V_@BvN%M)5>Cn3GVAMW zNJj56dL`>!I>w6Ug*#Pn4J;Ib73!~)ciFVvq7O=H>+a5mREHbBay*iZF8*D8@8v~E zs>i}BYdX(yKOMR7UGMsM9cOKNA5t(?d<#S&nN3fLQv!t&HNSz<Q$?2k&+!*OLd&Ua zUn~%Px><z+U?OLdm-7>r$8qOW-^C)n7V;OYX^oZm7Wm(iEW=*M#S{_h=4H!UQ}H`k zUXKP&@Q3!~TUq2c;sV!T>VBH5XS7$&<O?j(02|RFCM&-8)A-<8h_L<DIBUqf7{=Yc zMd$QTLV=+$eAK7D-Q5D&7*yQSN>509u=uh5BRjh4r)J0v{v;^%ZGBuCaXci4i6&T? zmHiF1pnA#N?JO=#Yr~SSI=&Xu+v4;Xf1)V!7;{p52=ZaTi<CiL<W@+gKb`PvP;ln7 zUZyeuKp)_J?Svi925Uj_5}r#QIE}o%{=?4%z=&t_;WlE(g$yjyq@1^p)Hc4tQ=}aq zdad<>_p#GpHBWJP{x&Sd#io2;7;O1pRe~bTrza1%6nO|$cuqyV-ZP2nHj?eyv#u|T zs5Gm87F+QKG9m{7FDOm|{|p=h44m9d8noVk42Dfw;sd&(z#!*Hu%b!t@{{#RN(TE% z`G$0s06UJ`s+!)|G`d|a1ubX;>WiJg5EnFBiX(%8o9j8$3B$^jne9%~`FIkjkpo+< z_Kt-p>Z_3(ZYZ!DUo~;edVG;RcP;$TW)^N7qT{)g?(`ji6?JyyEOa$1ULFI?&|6O+ z*XKICwt_bJBIub-bG`UhJA5T;hNq3rsC(P$OK}X1a2kQ9I?m8##c%I3ZCk7VF;tUm z_nC(CjnDIE>Cw@Mf{PEdHlZH5v6osJ?E1U7O!-@1z@}ZirtZ17?(cq(&0<F_EoiFA zRUV~C$KZDCGqQ!&=Rqbp1@S>Z`@YSL=U{r7Nf-3WD+|?Q(WD>xNgq;MA4|(zRwOyf zW-I_E=bi{yTJk@sURSQ{OXp(_g82%QHCvcMxq`PGN7-i%<=`WyJALzSoiCSVeyKm5 zj}5g%8LQ`N_nDMy*X8r=0+5S(>{czfID=dug_C{0g%iN(Wnk^*@Q;Y(C3qn&E6%{J z;?BX+L^(cldg6#|EvNnGzlR}+6f620f%Df1h5tq%Eda$AqRO-8yboEgxKfx;?|6dc z@jjiX*7j*gfyTak&oECj5vEUx60NH?@F$SxE4cg9vk2-~NUh3Cqdoy;uWEQ&aSxve zFJ;;rd6lGJdtJFuJer@-{TqmgOADc{gdwf$+DF?&U}c2_SZW;cWL@LHTgNiL#Hzjr z0ZVAuyk8@sVVek$UYt1n-o(Y?Ktt7!18;rwW=r{S0Wma3A4{7zFFJQ(R@W}9Sn#4x z$ss@pn1OHoWVN6BB~<c`AD^x+o`J@gXqBr1h(5^dWn8}WC<{Zsk_)zDHKVWSD6=Gz zr)}7f_+a{NP?CQ^(KQGv9Q$i@;RK)ZYa2cb&UbedjhMP;MH}`l!kc)GutHdnyy$vw z?A=G08*r6o+N^i$GS`ClWFo%4_}1s6Riz7cytTht?&SPQD3MNuYX#a+V3FaJ@dcUJ zH4d@zT!P7An?{-38#|A}RQ$H_!^BC<u}z+%3<p$%>8Jf}-IZRi?Z&JP9RcJ!e%ph* zeFzp_=U5-?awvn=i7!RerOLgXj_@oG{9}_s5fuhpXg_*=@|uq(%&B)He(8V-&HzWW zC=W56{B6pwpA@;5b#iWnbmY6KXI$F(6xBwI`p|sN3`XEX@7gg8=N~6fU44j_d1V{~ z;B!cIwR!=NN5ojOdd$s!XQUIG4|vfL;e~jn*i7giR|KswN+&R5p*Qh5IJLK}&+lh! zKx-5`wCMx1o0}B_{#o76;8c+an<}|*@WiJif0tMZCe$+-JW~7j2(&!?t1!6Apf&c% z&7UArQL<OpBu$)I7<cDtrCW8rwL*B|OuyBEAFh;IO!GlQk&9VXlA8{<%VfY;1+Xn& zh>e;P{@EK`;J~?unlHQ!urrno<-$GH$Ngr(TYu1nkm&Nqu^*NPzewr~K2c87DTBla zq(@C8f^0UlmtlFQV12FEwM#2v=f1`IueJA^S>v?r1MoSK&}`c6{9o)o855K1V0|4{ z%5(QjT{1Y1Q!!K7y1tRY&R1yXdto0)qyC(<W?aYK&PqT=BV6};=0<Dd<yyQB;GTZQ z0t;p?KqKt->gjaEE9T7hhV!*~!|i_;mpxIGuG<57fAD>))RJ!w&3Z$NORO)*d3*_H zI|9fs+@~0pH2`mGWGff$+|*$>53tr12x}>?uWNa4e0eIeki&hl25gW3;>BUcpSdDD z8|*4a+8|#_zK~VABnSC$t7&ki{Eut2|I`|5*JW1>bao~qQPFX5Orjt_*?Q1#P-B&k zhG0S@wjxOlq3tjeQL8-1Bgd-bNTuR?R5sm7hnxzKTm9QK`3_nfgu5GpDByW~0*jx% zVjw<b#U8D$MS_;N&`gPB03T5-Kno#|H(0lidV%^J63*(B@;J4CgDE-Ptevi-<$eYi zXK68TP#4Cq{~QhVpk67!ja0BA#cHpTaKU4vpZn&%b;n`Jj!5hndJnAi4-ayx$SLLu zur_2{Mp>!w!CZk;&QnA`KNb7!dV^V9OndD@;H;26KfDVTmF>UA`tTkLWUNsT0%^7) z5|u^LHtx9g@j*@o6~<Qz{0FxKcM5R3^|_4peBuKPcm5*(0=cVBV2;c)5`6H<50TWv zWZr*(B@44~elDx^b(vjHl8}zgU=0YRMTY5$Q91#~qP}NM{yF>jqD}lX>ILy!`kl*K zPS|(0BRLGMzf=QX==S>Q^oA2KGxp+i&Djp%<t_z+Q!|8fGJAwSZ3D3--<hnt`{2yW zM2fM8F&-z$HD$6ILy83(@)~;|z{_@!8~GAzJgx)G%>;yH&uW2{8WO>FsE=cK2U}-b z`B8E6&cts-UQ}+U*x7s+9TGh+4U(G<_!dIm=$rlGBeXVv8oZX4eE@(4Yxv~rGr373 zT<-HBUn}O#qnj?(24(Dbw<8_=A(zrnr0r7hg0A_3mJT&;6Vz#c10bc9t09%fODNnf z5qDde_8ZsOIA?MACMz(n8(ot_gup&l0zbMR*6Wh=U<8Z5+l}OPDkTIPat+dbIu(aC zAckrE5~!y72R$$K)q;Y%kX<c|7h$Pau>tJ}_!m_FW1|R&qST7w^ueydlOUs4w*T>U zeKK|w96GD-k<oY5qJ<FZt&DvQ;FUW-PXK-_sfB@&ss_x~I7Y|En)GTBy{rj(VLPNn z$7yeR7VKOT16K!!^=z6q$etnFs4Z3nVSX*hHi9!51h9IUscZ)24RumLO*^3#AtzA7 z_U~HKM4EG|R$!krk^T=j<efi`o6i{#7b1EO?mdTQ`RF1aW8MmBpx9XH5hu>jSpy57 zjD9%0(%8>_u<+-NJ;1Dd%eK!;`2QGt@3@@X_Yb(;m9_>l+8d#(AuVa|p{0p5sWddT zjiRYRo0c|GX%8V(+DW2PX%H<c$#a~aD>wK3`##U>`L|c+bspz&uJ`#qj?eMNmK8A% zEUWIy#*)dGMeMtytzZ=u-XGb-?(TuRCeN2mJqvFH<i5mx_r;U#{{iki0#CeEI1YTm zJbdXi^Up`(G*%Mt&&@`{qEcCBs9H~+$`%^9{PGJNP2%Wi+P3f+1McRFEEY*te(%sd zVD7nYwzu@b=ZXId-Oc5w>TVR6@7$P)GUbZNaXq`_vH1*D|AbwAYkRCbUwF!36AYK1 z)kH&O@pC;%tz-Z>j-OHA|3&W1X@^KJ{C@!V@in!nwBr+R<_88v;CTdH!g?Ckt+}ds zP=cxe+v<f;T22i?!lS?KO)-Pl0#V~YQH7mx+NGOp6oyTtoj)n=i4mR*==PCPv`J^H zF1^JC1W?rsSwRIKJ%xi1Z^eSxo*)mGxeD1<Fxve4mDXiH|Adr+5r^V{Tishn5iWFn zRy(ZWC&idJYkc;2$P8@b=Xv6b-~T6gcUxtdQ#1Vfcw0k~Eg&Rx2{G0^B)iqxyQgtT z9D6wQrRP+bt;Bi5<8E^wQXg1-bTIQ;>%{kGunTvDyl;E>Z|MHUSrx4=^ZHW>8rs<5 z=qL{7FBMybEcm*e3CjBF^+anOpJ=h-e|BAdLE$QT>U>GIkZJJo&T?5?4_=Y@O1a~^ zhc{y)ysokjzj}7^owIX2bLx1DmBsxhw9{98NFCJ9+e|kM(GuHf8eISKrP0RoS?4uk z7K3eU2VEUfZ#8#ugt`{+-?-b}@*#eo1X&AFGK=Q+z-7*!Ys6~0iEVOUjoBN=uByEs zy!E`Hf-RboLxL>+;gMLK?STnwP$p)}SB(dIR-C+`t2a~$tJQdkj_ntY$@^5efBC*` z+~Q-#!YOO7j;rfiX5N{K?mk#9MS18+Ki|YW5tLmKyw)=jHg8OQpl-YFxl?N4))AJX ztSW7nwawZh%2WKLiK-YgYX*1B{kYa!a!l3dpz9+Yn}g%eUs9iztmZ!A*<2k^K5!$m zVwgdfWF{Mba(zNV9?Fiyii-2@aW$K`)yL=_b%WIHmC+hw-q{+?%+xL)o9305E<v^1 zI~_LSgyjp@FP+#`mqseJ&)iH+){<V{87Cdc`l;HjHB>6?29$z%?(U<aKd*96QYw*U z_}eR&ImhMgQbp}b!lnKrvqnN5t(C;)KZ9OJzPhllvBB)|jj2*fi@68gja)>Tv#$(J z-7ncXlh<XnsHHMcF~MX75I*Vs<GCv%Rw-|(<X6^O7Q#zETQ;)1x;ngab|Bo`Oiq@4 zbe7v9<9jkAkwswo)*8=J4Hv2mr!oJ-J%%o0-!^|j;S>CXH~E{s=#VFY^IqDwbo}8< znG$d1PfzV?w8!79``Z*nw%(mxv=k*F*x}3A?SAv)$K^tX)s}%M-Ny3OCltQ8jZ2jk z7C!|{%&o3h?H4{=I86O$Y{z}yidi_p!*}W2X}FhJ`pOSJw<(d+34aoDOqHHK<6WTG zjQ^OEihy-;D+_x_;Ar{zBzAJMmu(i;deSgE=Dd}Q(m(rt=;(h^<nq~K_IaJ`7cp+4 z>VdqLvH6marIsHjUOM&??7+tg%aZ+SPMMnvVE$zI>&aQib?K@KKVmOwZlhNh>Ku6N zyvlFW7l}uHqEW%0F7>9V&kSJuDP~3N)3@{ePi!cgKT-H?j)I|Hwg+sh+2;C8^wcu) zXbL;KH2UkZPw5Wg&N^9M)@U!@?DzdY9d{J#eZ<_^qgb-SuuknlS^Gopp6AYUD`r-4 zaBKAR^Fz_t?-?+X(}s&#*0YI2Un}dIq`thw1<frB-uJF8<dBK1PV8dyl$|f<W<H=b z9zoyK@YT1uhMoM{?6rdfXX*e9pNnkxdEG>2X!$Aam`c-FS!2-bDf@;Sj6}n;2B+q| zjgR`Wd0zbSZ+E<zQe6~@avx~@@~^=__I0SI)`g4joRo<?N?}3_tjIsloH6DVmGhh| zyfTutx?EV=s4%xXut{luT-tPYvh#)v6`ojV96v0=>h@)Y`rVxrQ7)qDC$VuPRNdcC zTNYIhe3O_0naRu=aa?DVaN*MWh(TdPTY|aXgk@v<>2e!+rmA%X(|a)~7p*5^p@>7J zA2~UfhrM2ggx#<ci{0Xtd>okvDH*YTwhia^;0D#Sb-EXIK|eYzhFZ>W4NUISzaR6X z(JI^XA|;e4F{5-+3nt@b%Ky=joBae)o%Iz|45b6j3Uj1j^UCe#bwMf59G?gAxt+V% zK9hLl>$X}Yr;Cb29_*8TTES$3UhR5c#AdQV<Ta=vL@UVKG|h45gVcNy+2tN-h$=mE zq$ZV`JuziVLVb8X>C+`$@KZ7;895hEvzYt3WtMD+Gl<gbr%`|un)69c{*4gMug7lq zk@h<5r?Kz9^mFXggBYg3CbNgY)5}XmnF%m(?mJrE+I#m^CeoF4HU_y|-_+b-&z*)c zOB6ao56NiFNF~e3$VrnYMC$Mcd$YB7yTsr{qTu_sj&H16$XaXN0(if%E#s;|a@0Pb zo+M19>M*ZKYonFTg?&ej%}zf!5fVZixz?ICJ6p!Sa_!-M0SKcV9aRX%ftPB}n;(TL zlEK5NFUW9CO(v$$PJgHNqO+4fGipcs$Q*v^{Us<HPDC3GDsh}x{g{^B9-ucGGlRz= zF|SMJD;gw^9b_vgTpg&kP<ZrhwV~6k+=XjZ`UX{yiK<ieLqVrExxZv4$=!~Ah)i|= zHa53WksUOq?T2r*4L9;uGcivIRexCRt@9ienZ5>fp^2tP+(+fZ9=`1}_O~2Zq=TA{ zxGDMl+dI{~sA==>EML6Q1XT=oKJpl%AWyb?oU&~{hap?NOZPS?^9&sx356<|<!}2O z^|Jy(pt>gUg)<ak<ywZvyJL0+KDU-^uPoNt&WPKBkLHue*HJy@yv}<O<Zg(D`9zw6 zaSl}}-#1LN0z#oBiGBtJX>-BsZhF=ms3{V}{mS5VTi)y9c>T?lPxDDjNUkHuqrS$K zL!sKm_C&@)C+!aP_gVlV)w^hLht<g`x??D@UfcVL_6)Zl4c_y}+`cumK^UrY2JQLS zF@g=WPM@;^l;7m#Rl1vkD4?Kc$i;zU6ptO|&RuM}+C#Gif96(7**<&RHw$`#i)1G4 zk+D<-Ll2be_}@dMrT%7nP)tnS=;I{%A0<gNgca-Ceu<=Sb>ZuiA~QPpE5Y17c{L;Q zLABE<+vbb(*pYThP;XvSkUUH6=m+VqSks}kFvh$c%u|=T6pr2d;;UwbgB4rqM^4F= z&3jj0IdTo@&5^Z*rhup}#Y|LF{VZ?jC|(6CKg8UYqaAcb#CF*2wO3uX2%D)QQTF1* zB~r%jt;ea&BYm-g>BzHVhVHp(UNn|BLn({noF4iS`){l(1gA@tepNC0L>8U%>_eO8 zF^HYYeH1$!lW9@+X@>0M`AIyfenU2=cPlO+m8;~SA%&7`XOYz>KH}u7R#x<MA@AoE zemOjdog-eoa!@UZY<lkQkyDnvPGlfKMwWe_cJ1+PZyTMTl^f34B1k*iWXx>km4W%- zc#&kQK~13@w-+b}kYs-R*fL0VHKyW1!Y3H)7NqEVvsdD0)0L5P7UyH^9$R&9gMBi~ z1eNj^Gx9pNWe1T{`iQUddX2V%F#0n}v7<p`4#kCi)yfw!RbP)?JC-OVu2gzTOa?b( ziy%Rj6@hs1lwZ<2p-8s$&W*SldmCfP<}0I?T3~d2ev2+F-m|cH>kn!M?g#POg-<IQ zYt0Vz75hg9JtZX0`9zqh6H{Y<o@)jrBl+m)`cNXO?u!QRoO)d_f!<l29(Mo0+G1fs zW2CEswf*HIq~)igw`+WGKIyFz_mRh4w4%$7Bs{9$wX|%a*0j-Rz4_lPQEFWA@}rk6 zS@VmjcTG+yreEqBe!KoLzqtMLweV~Df%I<MppYt&Z><UqiK6O}`Z3OO#)e8zv<nXM z>eC8zuGXMi*o9dQ%eeV!&)JPdW{stH#geV=BO+DQDzMXKa)*$os0yIORvqRkf96i; zxKPdde9Xs2%+2<29MvX-{E|)>bhc`%o}dFaceR$dLQ$)>9I6<OeMgrQ?&`54VLQN+ zpe@`r;2gaR@F|+3hhju&`}u$6D~*ZY&VRMh^8QjNoMvg-`A36r(;D{1i!sNp;I#r= z0~S_1or*!Vrf|#Dq5hjH;?czYl?#_T$WsFb?WUaf)b4-xpbm%RcIUP2<fGp?@qr$A z)y(ioR-)$>LApItksW<d<p?x{_S6<z&bG1k$JkFj(HfGgyZbfYPsQ<F@36GDS)Ji& zO!9s#ts`iU43#kwRI5AEX1HsRmBEp%uB!@tkprbu?+ZOYVOMeQX?bVOhi`$tdZPxP zp1TM@vCz=Uu@h6fkq{c+yJ?!KuE*XI+j3^Q8Z5rYog==T+qE+d6xoo1ikO1)ZBJV# zC*1jE#WL@lMT3V5Cx*ZV(u^wV=-tG+vkn9szG5~EN9tP-{uu@ts#CrA1%7~fR={On zsYgJJi>DK4GdKAiuN?@-1(}b$@RB0+U1~d-58@Nc+S117ZOr78D%X`iI*KqwwSfZG z)%n@Caz%oVM)8zwNIV4u9zq8mdDk#8?s2qS?`Wb<yu3$dz=R+v_lELyMbLhi)xVs$ zU)d~eUy*6$82)!%aF~OqLupruTFFcN^F%XMqKy*QCf~r|weu?WWxg~E$Z{`FqEfMi z^2Gi^>4}-heOtqzKm(MC>K~T&FU)wUx_flA@9Pmt9TPU+b=k88V7yqs|FON4(d9{( zk)4xMuWfdAxUrO+(wL`ra&-!&%ai#F{9HtC!NTv6^O>@9K<Q)r#|?np7Vj1?-^c6n zg73;%?F-8;dB#^JLhC2aIjK<kwyeJP0JpRgq3yx<b5DJVJ`9$swd_pml7`AinNdqb zQdvfqC`Cx8W<W_yp@X#yRI8dypI03(*gkq^TzRPo<W?=#0(6mj3O9zTh{=eXEqfan zkOnH3=S=+CIVV;8BMNd--x>2K1q+?S(vpf_kNPM#8XGe2gVy;*{LAgz#%K^+xLeIa zhD$m1D_{`KR<zp3(S{1;pO*$Cw|5#)(rqMwUelgWB{g4}7<C;DDl|aQ&G=C4ojb2E ztO42@#J&U(T*{rN`bftug9@QCdHS31AN(p%fc@TQ4;c>bdnfXbAaU90Y+a<K!h&!E zLq07@*uLP(a)KlZl8{4+FH=<~<M)zH-2KRhr03>x>Jyl+)*WAuhhos@DTm?grmHzb z+-&>gj1H0ua5EVwIIGn}n>R=^)if|1pX(_>@BH~ba#ZfPGU%eTSV}P@K-+mT)K<|k zlxUPEuRJ#nbT-~bN;Sw1v0b9uceFidk3W5Cx|!GFS5dEX++3NiGsh}3K}3tKv=<7_ zW5{)+)Q5>9_28;_CHQ#kboW;L8@A<bmLII;>75z!KubZocKiNTC9>nO7Xui<<~bWK zC8hTmgj7Ap!13wymrH1Ft=GGYKyt$vWL#uCCzeu5VJ|*hfXia$aW#n=NV4X9Y8T7* zqDC`wwU>g}cY41mPFVkrc<SUZrsC3hEJ;n<B<j>t&+~#@(oPpaT*S{ucGyJcs;p9I z91-nJ9@>*y5rYQ`483oW5gApoZaLoS5UU20XnQxu<Oz<RSAxw9#69#KEN4=_#C=Bf z!-+-A+JjtEXYSOZa?Lap2Voki&5s7BztCCpw3u;Dzp{id?y7sZFz9<sKZ2H^Ht!F! z=o(zOgMrSs4lB)#FjZc$Y1J4$v`YGbI$Lu@@3A$gQxIm?)x!g|vV|G$!ahmGdffIX znRxWT^TJF}*W*s&OncT)LGidxVH@*QK8u#f4Uo8AjH`#T@x;3ZcuPiLDtZ*q5yOpi zV6aZ3s%oW?e1n=ApfU1CAeS<gUwT=I0v4U6K8Ul7T4<Oz1;2i&Kn;p=-^1$3;WlzV zC(6-F<e!1natC9Ji_y81LL%e&YU+%BKD5NJV{QCfdnhLUTI0$ceNYUVLx8N2yu?-> z#5XSA6IhOGLOLeL?%d|RE65N~KIj_>voA7Defzq6>}9!-N%`n8auz{_wf#ta1{ER4 z@n^~$QiJungC-BiOZ5XtAb0fRb>CaZ!MOx9cD%@*Y75BwN&UdqD<6V#s2uzq?y`Mq zF0vykfCAGWP=NffF2{ODX&UIg{Vew9<|3NeYV67(@6u|koA`$DSqI9IxU-|PL=_<N z#epB(Q1)EKOoY57Q+}EBkp<@2AKV6`C>1d2Q3z?>C#UwPowLQ;0y0z%Wm5A|)2`l* zrOCZ4V=%MqAsVQXOlHrO<Vg%(4IJOkW>gc%Th#@^E5yEmLig1Z$_ApjtzPK?v9!^q z7<eIIr6Uh*t?q50F-<CENw*;y>+sMuhW28sg=ElGdDXmDwIEAvd5>#o0qp@LS%w&- zB->H*__zjAO9WtJd5-oBuJk;V{MO966nb_=vDE_qAWGhTQKgd%*XhK_j3gkqL7SJu zdh6M>vc+8SzBo`yf2(RG**?_ItnF~yVYAma7IizTt||93;-;r0s2DPhzel3oEQ;D@ zx`3|lZY%mE9(2Y1rEI5Z!?tgi&9fX%cFaX-T>Qi&OX{<{a9p0ku;YHKgI&<lt*{og zL=X;oee0U6WmZ5_`vVmJc1pW8+Hi9-EKIvGaLAX|@6ms6{zK$Bbjkr@!tB!hk6)SC zqtf{okJ400WcEyq$QiN^FKcY{4v!?Q@a^0Y9P>&&6g<r9a0BkOKral#9g%>h=d;;m zt+A#^i~BN#l7{YLhS07#%U23sp&57O_SsJ3!u&rmlTA%jY7?By^pBG_PG^sEbasyz zPw=rp!kBt8^s6^S=(lo+Z>I)X>!?R{DyXv*z0E>LCdF^H-m+izaY#SLi=Q1;`_I)Q zejdnoC^9Zt-fM9#TQKZUvo=UxL6P+7@713jH#S<!xo)tp3r+W(VttcRdOsq~w7A(% zhFIFS`wfLKalkqI8RvK1Uv@j?ZwVl(0&Nqhrm_2?VOvi6<eS+uDR#_-)(AsH`5t<y znIFSd7eJzG?_k+-4OCXLY7L!VTyHJ^kxvFI(&_cH69v9L=MqV_N$;*rpAse~S;lWm zXTskxAs-^CuJznS_`bY2$7j}E_KwLJ05J(EhalkJr3#zf%lvxI@#O{W6I;x`dRTvc z-Bo!;R6zanvgB>XCql1TJ12^>_Q;DG%tYafPEG7Nk(`uN4r;QpcL+9MU_w66vnWSM zl4KlNU~=T^tr?42bY$eJpHaNOrGnhU2R=o3{wlsYRCCH!N<o9vp$~rBOvR@V6`BRo zskkOMXxc=>5UMVb@AsDKm{U?REp#cV+r$6QAbQ;|Pz=3P<aXLeE2g4X^Z?Mr3#hz{ zN={bq6!HUolU>Aa!PMz={_kC9_nZj1n^*NM&gHs*Q4@kvgj#qC91ro#9~420Pw$-& zs_KdftO)pkyvb(I-rRRe6FFFNzWJthUOmNfmU?QTUoV=ep!nxg_$JKB;jVu8AOB-x z*QI`tSYR1&JBehV>7_W0UTO~k!|4@;oC6s2ySR_jzIMN{2N&+E_uKttc*?dx&wYkX zj2zn@jZ8Oo>MZqbRg`HjANUZa{Ll0|c0YnF0QI{TalZFi|JXkMW?vBKwwh_YxSv=s zf{Oul8xO_O?`@}8*k*rb<&F2N)a|rCz4%a-HAJdgSXtr0qBd9APFGK1oGxcxA0@1t zC#v{+pl`Zx4_)!k98@p5e;(Qin1smHvyh76c*~dRrM+mEagXL*c<6~_X0^r_vPccQ z7XMb#UAUvY++O~r0Vo@SyvT(E0U}eIXa>YXkxWQ(D_)&7#I0BOFOk_<8a{oo{EP1q zM}$eByt(gkcpJgkW(PVmq{2Z#mOfRdG39J|a8qVXm*bn;94N`W`3{JJ(A`(v*4*IV z-8o|2kpwUB33y19{!wWm=s#3V_VB0t?ymWRP$;_^+?+_Pt){rFI)Mh)*31t&bUx1% zBoc9$4Bh=C{fF3L3GkAj?sCx%n76y!bx7U?^yG)tDZ=7wQqICP!~!CFn7(H2rUr!7 zRmR`m?2NiJw4;w8guC6v%+6DIM<;|D9x%jb!Px$21V2|S;444<YsLw_Fh)Ab&Czo2 z<U)2F&u&pg*ZW;C(w=Kz&WaucC|Uj^N?dipX3Op#_?p_dGMQ-9PVmbFbMJ{{<Lj8z zEYkYrgRj+g0l15}`;QLIw+Hw<i@us39fJrCd3sH_*7<nV6^um5+fAly6f*^3sSLD( z)Z*WQZ9IDL&Zx1`0a05bxQ0bDcbg87??*6HkV>wCpiVngEEE&ql~|o(3~D9>%`gyf zC1||A0~|qw;fN#lN-r~b(Deb%B#4<T8Tn)%)|z#;{96t;j#drU=CkJC;v!#r#|L;B zHC*bIkv{E1BsP{S@6tzG^qp?FU08inZ45v}zpsUm#%{CUmU2kHTJ<c(^oT*sB#NMi z`~C9EY|bLpVMIV-8YsW*{PvHXKbln4j+w-7{YN?_vr^lx?gQ*T;lH%@UdC0ZoXNlA zH2Kf)`n9hOVz(m<Zy3{RS?a%kMzpv8KMqA2FK=dx+K}eTSs?&B&86J$huSzJ^zRT> z*@*g<rFR&Tj0csMf0W{ogh$o4Q#q(dYbWDV@+-rWPVMPA67Q|_KwR-0QYaDZG^4cO z8v`97-cceD!ovY)#WUDB`{4L)stds?ARP&EG!H`=<t$T<X>hBDK<0dKMq(!TGmXgf zOB#qVv1~3+Iz?4G{n44!{K@!E?j4=fH!fY4C+1Msf1I8lU4e&sRwQ`F27enQ;c9O( zYH7=6!o;D_&94E^v(h67Y;>|WOudTwd5s|UyTBM=Yi8DSHN$i<qq3s=opjEe@*n9H zMoiYkNiGgJ9}@i@{LiK%<d%Q*ci;8n$M7k?YRjKV*D~UUBau{G6cXDZCg?E@1k@t_ zBe?#hQsCE$&;cY;Ti<}B=|KI77`L%l?^@-`km_1TJ!rxO>Q4*=MJD&po+mE8zIB#L z6@*mm<aRiWa!AH+h1-5p3GZXEOZ1-3M^ny!NuqF~Sy)v#i}5Xi?OK5sJ}K`5bz58U zIM74^<-HaM@n1f(6$?g^o)UlQ1jnG=VD7j31$({i16~3qIx<qeDf){5pcW=D^P|}w ztk}!&N4+<U2Q8RndO>@PnGzHI*<?Wbmve?Uog>EZWyQdYTNa)kWFQNq6@)Y8+H2Sm zkdB#}?~uIl>2+)hnW^t0??q6HxiLrk=|o6NU=RYF{zLb}W1<<{$d0|?7AGb-ZrgNB zy~H3TFg6n20M{<`WR%uvveGSl&O`!(r)!a|2J4iq_!D=ZSL)otIYcP)xgUEYEry!T z<UC!y`F?0ge%!8tHR@acySAr77iRd4-3O(kDNNp1o7U8jrLLWNIA_acc=a<|)H=>B zcvgV!tLavuGOBVI>6ceKv;=nDhHHHHvd|4K68_6}3D?y1%kGa=)y_KsnxTz}dxZ*U zi%vW9kqE!P<;DY~NLJhjJGHxQ3~DnePNg9Y9)-KnFKF?T+8yB6!lQS{=>(69a}DKy zBq;7aw?k;)mWKpWen?f>Wo~4{-J*H0K~(z&g6Ty(Uc(xUTM!=5*<B6k$ZWT=;mwx5 zdyI5`xZezZ<I%uhzv07vMK~n0zvu0vvm&<-eZXU~yy`2TNzW?@aP;COP+?z;S6a^T ztHvN1?SXqA^pXG!b$4rKZ<*AIFR<PZ{2G08f$^>L$@|qK^YdmG($7-k#M<5C;Zqky z?i;Yk`iDQ<=qm$6C?<bUPLyk4f125>GoQYOZc-QXQJ}RPT^4?ifm)<4&KV+S435dZ zy~b&GY5hk?(DB5gqY|~i1xT1HIRj<utU3<2D>_mw1ZQ#M9A&g(zrBjn1q+TNK$l)p zcr!v*{;tD}p4Age%DJ7hA?N^K=It^~MJk86H<$i6!R4OL*e+y5M0-GD*o*5u*?_0@ zys{o${%yqWU36~;`pMORpqqPC1XaGxzUaMU8|eW%kRygQvz^Zw2&pji`X+BP{?2<G z%J%e04ES>n**}03$*|<yJ<EnX7gG=DDI_G?igyHNG#~-M7iOe8FE8ey+Cx0|Z?)<f z=@o=j0mSNHN50HYvPg3uJ)*>r>nT{MlkL*O2Y1(p!Q-Um1x!|sI~Z|eB$poC$b5)r z+M$MUK#HzD$M-kOKQrNweul9<BYVtootbJ-Az((eY~Hb;YmWFV+}5Ndha!_Noi$WT zZrubBiotK42C&yY7Fi;G+eS^ycD;A6O`%lxS^s3mhkisUg}^z$mb2wFGmPU~05v); zP_ktrcPo{-g{yb;>VyqPWL18Nh}JyZn$xT=wqE(*R&Dn(xb(E<cX9OGHElIY$PPb? znfl?iX7JltT?`><1iG$Cn^%y1O|!stdRuoBI(?h+r&IHqbmigdl<-|x+n(28?QEx` z3ZS`xqYVIfIPMLB8nO4u&8E_SH~m#r-S44hxcyOrsX}N(^{>cCHJPm)(SG$+*{Ydl zYDWwDzBKI})-oy4mZ-pmIGnvBKj&#r<)$TchBZlq_M}5&oY)cK6OWuz({pmdpBf&| zdi(f*`LGZLnMP2=rRzmJmnP;sPG56<xRxjr**^;!4(Q>DuhwI<zq!$(8N^!R^j^EW zTk(Uz|7iIcT5{Zc%C}|QQpJv|>SkW@_`+^bJ2Sau$1hJ^sdAc=dsfvd3u*gaXT93P zOd7%~|3pFAD6UySS-~LMwE{YA@1N~Ookkevvku?I;WaI`D+TovtKN@^^~|;hNR0oY z;L^8Gl*5GN__&Qtu;5-Ekih%hZ65V5$8~$HnOOGagT&3#A%TNurnT^KaWQ?0+un-V z6*`M;QGDrxXFK%ZCUat%%M#8``21kc**fiFG1z77gM&ctbRLk=66JU*Iuw`4$EK#X zQZ94p-4^p)`Fmt{?OR(<>6@sk;UBP$p5@)|mt355H37lYLXfD<JUJ7vpQ1&lnN00O zvON#)$?KJ!X2CC+afw7Mv^z{Sw@?d0^#ZQc;+8WyWy@RdgQ8%2y!<UFq(yth#Nr@F zK#}Fl@%S}1B}6El+-^8>h&<$s)__-W4HdN@m6l9%pSt-skB63AM*8oIZslDE@FD;B zq_M61O0#f|x&{*l<^-0Euy(6TT{);7>d_qas4~lYO3Whhg@H0Mb(En{m?Eq&&n@yH zzDpG_S%-oP`F;cBRJ@JNLBYM*Jm6H<@~ufSyMK?d5^MOC-<Be5_RY1#90{!9p8x3_ zsKV(dbwUKG{q?u~)n!Xc%fPM8F4O;ixBPnPBt^^6fG`{lR#^g6c|JSpDoBz98TJwj zu^l=dyOsBLzKRJNq#X<rV@f_C-*6fk)8L$f8v-?4?!?B2^_c(D;p^wRO6r<Q+)j)} zX#NL%SDnfVqx;*6Eb^mwFsRs{;6031&G@|!d{4^-anGZ040~TD0l9mUgT3osvR@Pa z03*lu6DRC}Pn0dqx`8~}*=`Q;qLRf5<QUoJFQ4|~kFIyL1X@$+o{xz=k$f*E+TLbg zh&5XZF2*n1Q0-!w?Vek{oybmg<0Z=3N~UB&O9$CYe6Trw1;gezs_f{{tN=iw99KB) z@M-#NT}wfBy{TxlCer`C{J2CjFvhgD8;Q6^L?3wS^iV!EcZDAOLU%}CgNb#4G1-@_ zNm87N<NMY^OwUki(3Ol$Td(?#oT`B($-cU9<poCI%C=ulz(4taH+AvSqa#?uz*D($ zs+sj^d$ESv?##&?2!6l{r`(aBLq)xM71kRr_kK80Rgwv|Gx9L!Fy{!bg`PDh%smL* zbto{kI7Iwv+?qMY!Cj6&$q69q1X&Ya9NbE<bp8Tp^WszM4`>E9GR;uOz+QX~n!{P0 zWKGr^q;Ob;UhnM=y9B`1iIEJB(4e;(MIgB?mJtc+gtU1A7G3NybkPt1`ck@r%kyE| z$B-w8+KJPV0BXfic5>sCZ&1Z(oiapx$>rzD(ej~%!b*Wtt;Y);9FV+mVJF%7<j4wX z*D5`x_-sW3*z`vaL~4<>=0020J1s4`@=Y(O^;INo{+4e!b>UA%U!Ly%G#=Zo_4xQj zYWh<$dhtykZWxY!f^bdFkpb6^g~hYvC89Zp_+K13AhY+T2F!o`hsWcsjNQ5u#iCZ4 zS>M83Z4%!po_=aD4Ez6PPIeQSZm~B}Tv=|7+U@zn{%1<ume5a#@$k>=IUu7?sRutX z!?q{(oQmqPgvt*8UGz`GM24z4)Lib&KlgsY=5^c5XV!PsA@w1dYDe-M-=(J?zi#^) zpJgZPnkHBxsmBmB9V^wUl+Q2pd@?91=CY7W+NuqcCi~;E{dW_xE&Yp5XtQU%H+olX z8K6VIk9gCN={tA18}WsWo^<}zF1MDn#SkriIAGpj(~5(%vTM`~DD-CE_F}o{R6<vA zt>@8$0otBaF{xt1T3aGtRV5XSObu@_=bu?x6zD1JmhO`fPVe<(>GKT3ANLVXHD|c} z;aiM!RklReP2=b&^NBr|P1V`VqYM&rzOR0+PGM%tkS*{cyJ^evXrWy)c<&9%-4IS{ z_WN%6+X|}fZ<v~6O?{ancj(x~y3s%0%S&5wZtrVBoo|uvJS7D2vKQ5-a0l9jTt`js z@po`pJtY9eu=I}W?+7!(zI^H0j_>g*d~ktG_T4=uRdwZLVjP9n?x=qK^rDP;7lIwG zJKDQySRNfZUsojCm@P4`1_HxZQ|3H5P5=3so#70Tn%ya@#amZQJhcOGG6BdVzXB(3 z^{5ixAAtGYA?LqcmiO0S*UCBalEucnA8+shK%~{1&ihvtitpc?o4cj8c2>&z3j6l8 z2YF9!dUn*9=41YTry09-3op?C`E$SqvW46q2)}nl>qA~?v3Z)rjL{5J@@{edQ>Qsi zRoIYR@O;sk00}?OLR@E%f+@9c&oIrwt+Yj4G)?x7%(&cngNWQUTdlXo={fiCkG@%w zO+DE*yJQaX-O9}_pM{o;h8=0_vlRw4<gtd4s3E@Mj{E`I=a;nyvR$oKw=yJN*1+Gz zbzYl&+;aON{uodpaQGIOMG{9I7x1I92WfI3qzuD2Z$33bJ<e+KNQAXsdLw<9gf?+I zGqLaauDQKDWsMAQ-MeIwkKwNoN5+Tv5E?2NTsuIPm9NKf^YXN4pM(<^{SRq#6Sn=s zVoE`W3}_7O&~Xnv`fsT-tYjm7VO%n=b<dWQQkLxy=&k-`EF7dvf>r~$+@03EN{pFp zC;dkYO<RKpV`2|HHJd7~?%S?gf9>qr)!b?4%fM(EF<!Q2Geg~8ph9Oxg!2*(zqc!s zOI}U#vKJ1vF82;3XHQ$;EJhJ8GM!vn&XZFE`pj&mhuHv$DFs`zAwmTXQ!NQ!GB*Da zT{6`<an_JpaI8ZVpqk>RK?|P^d)ytWQx38XzvkZbYh>3gRU@Ouf=`+zY>EAiT=Ki# zJyp;}Q<*x6Kf$40w!KqzxY_Bm60#G3LWuPNPY67szRGN)-ZKv~+ILo|bIY&v?oD~P z1m`I5ZdsjXo`nZ9W63WDp3(9Wozy-C7X_NdPiM-rEG|BrY<rNf#!M_lJdG#I$>s!V zipeFV(UXILRw<Z*=S8{>^o4Y9(P7U5p*6MmoO)B0xRZIDfP>Q9cqu%-791K9+Sks& zJ34TI)mPY6YzuQDktbV7L@xs`;jph5lm9d!vlqovx)AQVw;mo&yu0>wdxg4&s3OSh z76N`M)XN0m)x&T+`(OQG$bz`zi-v^>TYsGJ!OT#JXyd%@ZW<t_+;_lXZ^|t2Ug?7O zl}=D_j}Ob;bM!z|@p+DK3r1-(DW2o>qwSDwL=j#ULA?7>o<^GitZpQ;ix5I2$%IBV zornOqMG+xAIP{Al>KJZ<rtb9$7|JndeK3<$!av`9)6hJEq5gh-^JR(IsK?D~DFVp1 zzYyY4x8PIq&!S_rkLjwj-Ql@DPjF0psi#zJs`zlb<c0b!?oE$kBMeSUOQX_w{PPBk z@WV6Jw9A?CctwN{&p-?kJhQic#S%}(lFtcrSUH0GPata80{5V&H5Cg)@Yqr%+Jor! zzBN28f=vbfN*BrbWToKdt(jm$EZBfw#)X_e8~Kl&c?jhlB`-N8PnqblEdwD0eQ@cY z8N7gI5R`<`b&btn@_n>kUc7<zLRw7(>%|Rx8TUBq+TtGP4bx0>GJ(Cb?<8^H6@SIY zj&tNajS)omla`*t9?BRPdVZO^@qkO<{yTD%amCl-&@NiVHI%_UpL2UL1E$`cVaoY3 z&`gA-27<!(h4NjDq>tBwTyIdYWAfnCtKj(A41aXkqd1zWeTZcHnA~by$!TwHT{vkl z^n~_b&}$4Lute9mfUdCh%}NoPt_;%DX1Ub|5Wr&wwn+p#YkrLn6-II4VegJ{Z@LEz zCcqhlE@+PTv?&MD9iaX-{t|9E9%yKMn+gu8U*k?`Q78AQ!QS|<!SxI({6H2yj+d;M zdUX&tjlx-+0EFHltatX|M99mIqnR~32DHVoeaHn&wh<uN2nkL+;GhG#TB19D9;V>- zq$7cOgbp(hfMWecr4b|rg3GqR{9)MAjFICT!cVqOj<B%-V%wgJZ&U(P6*Hcl!2APC z4j^0EijE0M?_t865C9aK6T%St(3HrFwVz%3NTjoLGzS9YSt~d=*l6^-JvNwN69a?- zBLH+WTtDpu@j8S_R~6o-A>Wjlhi~lSXqIg%LnjTuC_Tb_oTSpt<Lexz>0*v7Qex0N zElkp4DeGNU=q(1)G37Vc-<qWJYVZH7g}1%G7;np;UeV@~+gCYvLtt4_XWN9jm#BWI zzZBIGBF(ZTyxj)LjN&)Sa8sf7LIIXiF4G(nH?r+Txm5hb$NUuR??KO^>4$E>%huxE z+U<g?(n)#bzCuR_hOhT>WOQgp5%uhqX}={$D;3Ln^i*Q+(c|xnywzT;9d-iyje5dv z1l^Y5L?lz!O<s$AgMc0&jFuFwD-}!Rw)1nhR}c0(hWq?K*%uj&gybo{Y58uExMsWi z{N*3+{or(Di7-2#t2JerG|*l3Pj|8x(zWPheX)GEHc^(QU39&wq4!up&75sE#cENr z#$h%uVb>-Du5)A8IDoai)LN=GdyBi#T1-pQbd@LX^j3vXcpBVHm^FMNl;!6`9UUQ+ zR1KJp;FXf%<K!wIoFROto~`A7>=f*dS~<I)sZchKqR^rF`3pO~T{mL!4~*i}Sr!C` z>oK=9a~Em9wN)Eio{B7~+2K8QC6Ia=@KATp$dgw7IrW&EDH<TAE&T3NSwII{6j5j& ze$-}yw2<zTBCpPVKt#6ERBr&5O)s#fU-evAd-<yQL|ixW%MY>!u136uj{BJ9=tM+4 zLaB?FBu}r`lQM6bqjGH5>wNWebJ#j9D^Q-|(%i&8>HKTUmv?d;79MVY6zn!Se?RNI zi*GX1HpT{(r35J?jILO;?_J+v!u%w>nvmifcCd+i=O4%pFg3(7E5q_#b7+J1^_5_a z!%o#H{tOEaZzf?txp|{`KN11w!f&wXbeT1bjzw`b>N+Oh^pPe0(0JKAVk{0YcL}); zOW}27NX#ey-ZRq{DK&F^>|y@0e)$n;CxWTdx0>?hn<f{E&fV?Nc)^sM#?&7E+5{)A zz6qx~m4mJA$p95qnb`LXUyZf5hL;{5$cCP*AEyiW5>$2^OW{`uYU(TIlBcB8-Fp+Q z(dViw#gPi%XN>IRNne)SGQ%1Ywy_>ZGR8Gi>v?4TZWg6i#6xH%*={;zIXpvSZ!NPR zo;mH@qKbbosS4MW0E3p!X|B6!?F0Wbd&XmPno}}&D<CQQEb?ajPExi<dY_A?o!==- zY$!5Z&s7e#$0&bKoBL<q+`4z*QMDo2l;m~?Xw|?7tzHo<TwR%e+%Wb9!V&<YunoLL z@djeji@51?kE@j82n`zpUMgvB0<hXG!-ZyP#I*jb8*RyR%GZD2i6mV-NU7cGszY@b zcjL&65o0Fll~W~i%MtO28rp0X0?6oMIpD5-u1~(n+M8C2w4D6YC@)~YA3FAJ00>!N z9udeG_m8)M(IJ;$H#fM%1-azRwEJ2&11p7bWdzY~$sc}RtZ{`em|=YExAWvvZ4YMN zdUECQn`^*)9^9IIB1~|*RwPLio)-vz+uc5Gck?I=$+iPeM&iNKkSe#B1yu1ti1bin zBb+$>Bl_{KOb-bIMJ4V+oB=iynu`ODhW6|B?P+I(mjy{YNFQ{?gu7gc5A)!ECw{); zkm{Yc0-c%^p2=qu=4>P4>}^<1Zb4Wo#6kVe-sSf1v7Yrny6FZNZtsj$spyG+fvy_f zrb_Pb;+n-`O2G@^b63*UJ3S=~0Bi`WpiU(jG!2lJeLaKMhn+0J6jouj^3RU8Dj$pM z(?qz4xq90pDe@O8Y3x_hpwkU;KpUFaEq*`?1yf8_SSN=cGunUcJ4@lQ>-xj47|rhn zK%As1Q^RFL{vywCPj{c!a62;)E=o5;x_W<i*dKdkMApI+FfDa5@$RbUDY?hdMJ@<b z&1Rp^B==mAD+BLBc(I7<-<{6TuQ$P)U8-O&g-7a&eEY5f0Wl?je`TF@jeUZ;vhTlk z(yzi{`EMtQ^I*&*a?)4z)2L;0n!bjHC~8@_*>dH}J?Zjk=UhOlMvS?D-p_N~%(XdI z`chx8?CbY0IQ-Pz2irS?nNO+{XhPTI-z^!xxGDe)7X(~o7$ykMlwG)7L9}Xx(*@rl z3^+pGM>8dP-omd7KrS-`C<*Trl8LN7x<c0!WNl|JH;%&K<3B;^G7MU&B=pcsspf=d zd^&;6D7wqPlNjg8ueRMkCO7^CI?eq9=3bf!*Rc6?PuysLL|u6)+8w*Z1=Z+|d`tcA zu^1x{AC37>8a)qzi{Ob0zG%|&0BsSD!B4B$6WGj*0d$jhX7aqAisncQmDhm(+5TZ4 zVx`#5-Etj7*T4ImO_s{$ZH$<ZBJT2|mdSvO(`v-m9((7W$jP}i#tr%Dhg8*iR&`_t zrX=ea1z-hi@--E|fr^y=WgA4;(7bQUm0Rbj?SQaA1cc!p+XrK4tTE$p^?Ys({MdgH z6-E#pbxc+c{Cc1DoB%iz;Ef#tPigX)JE;){N7&6UI7FQ-Uh>BHsLK|&Hb$sR{ZE`o z76dT0=Mo?8@>56+iWP~3r8dv_2Wk)omte^U#9(MIK62yh%)vf1bI{o<0+xDim$xe^ z+#Qz7f5BUS?43i1#yYveB>HpI^Yc*tL%e~1SWoR1EqG|G^Jh?ASTQDo_X149f9$-8 zKoKp(QP&=)v<O=}IOGBwg|XjzH*V0sklO$86J{yK(^V*MLR68KE^O+Ya=X~y*4MWY zcslJxpcGSW=QF~oTf%bTw80|=6UZ-w-Ac7<s-wLNqU5&6W&Fr&$lj;r#}sM$$tFRj z!0<!%qS5>6#p!4K9Y+@CpHCEeNZb$@aMk|N^zyN~PAGrfNG)mVhvN?Ea7VhBn>Gwa z7&bP;9Vz*xRmF;Z8+VsAcH{3RYn7qtnb=nwKHhRv{t&HP0^B{evfQghhu%EM@~MCv zB;Ia5**$lAC1zC<UYva*WPMUVOlud}xStAL(W3yOXoO;TEk4H(ki&cLklk*%BQG;d z2|u$$H^^w6tOW+;SYNrm*Ruex16!O+=y@4SVbG=9y?B=ZHp(|lcVbc0N?}V*F^XMS zyc?@Ax#tNbgy3{(qkdl%{W$PK82|UAbc$$(rhdkk-+4V5&=a$k&FuablkMtSOey!Q zSjl2c)>~QOqB>ZgJ8MjURbM=-0%o>iAf(NX$EpG0D(~#NW&8mBN&1wP>;%{!-dddt z?mR-jafpOmOwRgVCior34+GC<_Iil8j9wJoCQe^PGR4^kjEqR8x%c7ExL3-R>67aD zJ(temoZ*{0FlbiQp%3%Wy=1=BBLAAU;PvUD=Wrsld6(SVgD_ET{Uk|Y{fIt-d5b%q z8}}I}?H;{7+TUZI&sNp=%4gZ0>JD5^oT<wn4*fPL`n+7s^^0lfQq*~BFg=eMR4%n` z%GOf!B|>Oz{>lr6m!3U~n(TwDvv}2%mG~=&%y3&THX+}Oq2C0NuEX+(a)n2c`HBgY zEK@E8bY<qd|LeW=1IsaEB{jEJuaCdH-T||flUGHtUMD_3PYLh;dFR6Al+E8U&u3|G z=aakwY4E_Go#>1(RQ|re`fiVhmMIC3T@LmWP9la{)lLN98n9p9orV2mZ*ea_{>Zju zrY@9qOh8u?Wi$}vBf;O+6+gch&K~ZrMtFR-K4v37Rhq-B1+S!}tKo=@nVLLHb~WP~ z5GW40+o>ALYcP_7V?Dh}7F|7mkV}i@+F%kwAU%MSGLK5wam%mEw+osnssG`Pn&~h8 z6yAU%3lTUdzGMVR)kbz)k8<|+MD7W`>;NCh)$SE%ZAPf&bS-v8k~WK2Uv$7D8#iA^ z&}ONubUOLCrPxMaDV)YLM%?m`ocBVW0s?^8OCE?Aj&*!*!x&JCg20Pm4|yec$jkk} z&`0o0{!zHiT>!a^&Qzj21uPDxa=UWI=(POGt=nIM{$u7+nFvAw(bI_42HK5i^xM6E z+SzTk`<WK_<UO1se{k9Tq=0WId@?3BJjG})>3{Mj(J0@a4x<Sa)z`-ltDz*IC}gqy zhFE^XY2o8)BNmu9`-+u=9&P!wm&}s~0;Y=uhKeEJ{)E-M*Kp)^DvWwJ$dboT+gZVm zB7GTIq6L$1B`T6=IPC0RvKoHWjKDME<bKWj_IpZjZN~Uu4iNkPK{CUiF>(JAm;Cy8 zTS0Q7a(q}3-#c;Qty~PWkyY|{KCQp?kU*(Z*u3q!nycbO+b8i}MSSOb2r1re?Ay-3 z>VlG55V;X>j=(c<tRHHbs4jtgoqxy;Jc0C)WJAq%q0jf2$GPzc-U2GBrLJRn#75q% z!<TxwdQSNd<<rH3B5ewn7jiiF(n3}dMcA%0&tnM5LE4K45o0I75TIdw*lb|<YMd(( z5O#PmI>j4^D4LZ&v=sa39)3!-_8^DNi411+Y|s9ODIycRS#}P!+I;Sx=SWs8LXYpF zrxHRWgwBqiMV&!#4!*N;3GJX_BM(u2fq=zMguO86zS)`8)tdRp2>H+i<|je&0{$G1 zuvO#YAa@3%vpB9^(G>dcz+ibuiDST&>h?j719ZQg_?sajGmH#ueea1m-<=2HrmK7y zlXcXQ+pf9Wx=HmQN7azMYGNE6AksyKH3r;e<>1WDuja{flPl-^vs5I3+Xa|LM_~9) zoPk!E?h#LeB&ExWySsOx#4OXP;>JD!hHUCJ&cK1;U8i7iC`qDwkhIB0&#r3CUaKCb z;bjLQRS>4+%{#29=JvXYdoC+^pYDE=_?#bpA35@C4nrzYky{`xH<*PuBs}>kMn~D( zWN~#`uj+KMcXX{je2BlY0$daXg65A1Z-mBGls4pI?H)w9B9@LgWSRkyExR+D>xsg0 zFc9OdcFQp#aT0Mfo1{=?zgbI_hr|^?6-JD70Jpj159}u3kw7Yu2Y_Giy~v-UFZC#O z&&dI+AdQ>=nmR>R#o;Y`%s(ubbrikSf~=(oR7+~)+2dqv*|`o&l$G(T@qfn+_im7$ zjNWs6*z<pM=+9ZAEDp<r)t%*MQ?cc#bnxdG_isvwo>|1w4rT!*JP9=;YMu<2dkh8D zJf+kA=}$uiv7YW%qv6ZfAr4-x4{|Xf(tI5`1i!d>{L3#UW*+CHNND?uSbqB81|?M; z9q1t635yz**;8vT)*;gK;DrZWT)QxW?)UhhzfIJ%ctHOnB#ncan_Tw_eN@$Q=1d9d z&whrHEHs~qKzTvJI2JOTa;@xQ-}`pbfIua}3nZCiJKL|ORhKgW3U}QR+&mS4x5{1; zF#aA}y?dEswTk}DjS4(QKe?-yG08mm7V@6rLA__*<V5nJ>pi8pj@2ooXO;^@(!Pae zjF{@U-#!#sOSe_jFgXv%wrgh+*(og<tqFIz*1mU&20DibG?ZH=fD{ci_u8N?0<;MB zEfdXz2pUi%6W1K}^GItO<@gl1^v9ms<r20V<4DvRJJYd{k$qcSNn9x52TqyrqZk|v zL7+uSOp*i<VaD}0Cl&aJ!fy$+8vrQ2s{TNt`8QcJ<V`>BTz9?><x0sJ?aO;Pm6cT4 ztkrA}VYq}jz78Rhi4R{hc8?Co0ivLk9UkB_%29_O!6iie{t+H)dmS7t`0=z+$txkF z9m6lp8g3jof!*KXTK<_8korApcM#eydA)9N(?ZM>t;5e3z#^DvF=>-r{uX8rB#q)} zOPPWLFJ)-T;_>`^_cjf<P#Nq-o40HJJ6HYfd)cD_k8}J8fF_?~QTa9U<>U*Mi)TuF zsBSl5ut=!x1@;s9w`;vwCKJv9hzL*9&otj>exc?4o)vYCi$hPS884QTRSB>>Qwex@ zQ7Nd&F<F>>Ibo<JDHi3O-8ty8wT}mjCML&wS+4so2v;Jyp0fY6@QdBVxu(9!)XgFR z$EFH-G0G`G>r@oxPU8px_Y_>nT?zPddD5w6Yr&~BY*Iq6(R_G1_W4y2{06I#M)Brv zL<rFA=9%0~WAWZ6*94T9wOD(C@58rzA+9r#v%C;5Hm5eiD5qkp0uvE0Y*Hp0ch@4H z>OC!{B({v%Qf1uS`?6%gK|0USOc;NJx;=afZq;lEr`hm_x1Bp?h`0<gPn6&d@w8yT z4Y60mAo7!^j|YJ1ZG~_O#YOu_qTv1?CFPrp({4f_Zq%g3F9Mxrf8F9fda#(&8ZtIv zgHn)o%#Sq^wA*7{lQ&_5kEQE|W`(*J{B83N(&P9hb%ZHAxp#GE?oJsJTF;YLiPB!z zrS7CYx_cT$@Cd9r@r3f)Qh)xmGaV2tKyph~D8tuLRq!Q_=LQx^y9>k<?#pmtdl@>< zAS6~oz#DE?eAXH(v39?ir_JD2$9qHub&kxwC&RgrEtNa~$`&<*Fb;|}PH>&~z4F>a z;#uF+(+m_GL6}PL1j;Ey%oD<5jG2oNRe|r~JkStz2*}9id#c=xV%TVZBR>Kicm5W_ znJeNF#8T&3zp!IL2OI2mhSVa8_@ut+#g+d!^_=E-$50^F4jZA)dzlLa(1<8?0JaqI z8Q=2}HfrZYSx_9?pY_8hb!v#;kP58C=E7K%i9>q(>r?REAPO?(9o`IW2B-3VfY&(Z zoj;)QB^yr-8~;nAnbYtcbslGtS~w&>g=Oy8p~b-#L9#nWz|2Mu?vy`h<$e;+3%L8( z2YXNqE|bLgU?!6o>#V|Wa8yPB1G(FD%HR_FJLZRO=z0d1j}X@gr8a*Oq<uVsKy0c3 z1(StQFbo40?;#NhZs30h(#pnS`y(OqiDthm3u&|HJq<PZtY|<0LU8E>uBka>oP9w8 zhNiyhlFbNQ+1SaUKMi}T3R|2vL5uNizu-ax4)a0YLqfyt=f41yK*R<lqoaf=e@@$f z?CfZQK-xV4Ug)iaK)tNLDCQMJo&6zRuqYb5!@((ykZcc5@st}lxET&x-0vac3NhAK z&FJk4Nai=LB6L>dP3H$0NCdBZ9r-5ob@@&_<Snfd$gr&t&NRx#Tyk=t$79pNB5wu% zKaEsZ3t(|A{$znPvH=7K?#P>pN?DA3LMV<d6Cy9UPlN4I64@m6eFRSrJZdzgnNs}O z6Gw~TQ?i5O?=C|=`5k$|2FahtHcDy+9a=YInOZu+Cb#Fa#O(S@dh@n-QUOEgY84LY zPN$oy&C1AMC<W;UST8F9&V+>W_GoK16Go2YY#sRe;79EoLJ%}6?RrZe71iG4_@mDJ z!`=@HAYLirmyPL$hiUaJmZy#NhGW1|Y>K>@6k;PIh>l%+mMiD&snGXmlhbhDj7Rks zz8Z~$i~<zNYL5k~4!T5p4n?ve0DWxtKgs&DNn>}xiqmxacVl2*q_4B$dd{x%zuM3? zeqS>;Io$dbdQ4^`zN3an(Eh`L2qi%<MsUqtTltM7&aDn*0ulP7r+c!LIirOoX%pUC zK?E9Hqy=HX#u2l7Q?ICkgI~c{b|^;*9wZp|!k)@%Y6GMz$|uJj7i3rYFzR%EEsAR= z3%b4|HbyS8dv3Qu>k=3+ERE<%pzHNh<qDWbe+TL|hj&d08(wWU^UtOf)tUGf^t=P~ z_=UhqHLZq}=Ue<QI|o~pu^aB`HQk^C8IbqBp$*__k#UXrYR}${(8z*xjV@1#ycL|* zzGg&c6E%6LW2EVrBQ`?v@~Kz1SXjRt)A(0pkp6;e58|@(>>~iLY7_9P&kvK5xeqj# zqI_e<-%{3-|GHl1sBc%#KYgP6lVX?f_m6L_G#xMK#+%KYKT+D{Az@d4eX4-1!$B^4 zJ|OWZpcHjFA|?qP;0WyMKYVx~O1PS>G;bV<3LiC{(C5u(qVIF{`CvQ+A+phVmhaJt zM9*Psb+GH!A9~5ST1>z?)mOCM8pgvNm4CQ9+FKa0Fy^bLlBK_}pqy+zwzBM5_g{MG zH!Q+7;nuCv(kc`RLzla-m8Sb}l9tU~^trqu@2VT*m18(#TaWo!ovX@xa0XqqyRsth z&nDyRGkYb^<Lv`1%;rAnXHg<W_iK<*Eo>PtAzLxPr(cN<l{;JO{W(f-2jY__DQG@# zB9#}*1{k3<dqpKcnm{ONWp`q!Ij1g^r%xVz{g}@!8IeiTJqy=v!Z31jsaV%u{sf$c zvbw{c*82KC@MWz|stoYnt~MtS<3e8y^deIguWrd`>V=kvr)9KcXJ%i};xskCA)juU z@CX9<31pk>jIhp^)k`l4j9u($Lei4krSB>lLE`{Z?(0y;Hw2wgdE0ENb0d1K`rS#U zGHY~<-_BdSFogX?0rf!eZ{YTh=Tsyidn&zZAsywBse3W)yeVJxb>%hVck%w7@vQoi z?+?O<FmEh4G7mubQ(fzZLh*5;uhkX%Rl8G4&ySskDwsQE{Cs9B4-{S5oLK+bp)=|e zScJ}Je!5=#yp;iBABD^UMlUD@0ok{Dw^W+HQR|LfkcF0p`y{DLe<{Wx^@~_V{KM1T zdL?6q@pLwieZAkWaeg{^gDTM7Q`Wd2<B=pV9%)APRF+{On>X8gK}cT->NqYidj$tu zs-x1dVEfSnH>Jo=iO9&CLieR%Ou&3t9~j<G66V#)l1Ipv0n*%~)Y+4QCkc?kuJW!( zIgE5A`Tf08;y-w)BQ#bDP>&kTZAYNHP+(6@yyNjuQ1@`^-&n#HlA{YHoiTX!Stx=i z&BWs)%IMKQRCFSt6B0C@1RbKzxN^gK+Bx2>LY;*h_w+u(by!Bv*k`vws8^1+_tPiC zm2Q)!|5#k0DyVV1_yr*X*3*N5iAbZlV*Mw-Q4cy0jcN^*5kWI*XUrw<JwG~q@#ZGb z0=luUxFg7ISeD+34Q}hdnH@FprD{IU4Na7>bR6PeVP3fYf|KZM!!RLak%@8?5#{9r zZ?64^V9QQXL?oy1o>D%9w7xF#^Fd3>a>ShHL6FafrP{bsinO_S^!-k;;r72+FOOvp zzBsc1_hbaLFu>$Odv_MH2}|`*7TG4vCgv{Xlr%T_H_b-4EK08{B1_{dfGgwlT_!jA zS9lP|o*QV?2WQ*Wh|PQwayRK^{SU1wOh2C7Nh8_^5tgHZ)6Be_h2fQ2){(3jIdQsv zeKdY<QrhcJat@a6)OCOUcdkrSuLDk9El+@|p(2kEdooGPNPi8-?|%UkYpxAcEW%$s zho@+H^^y$vLjdT*OLOEU+QA+10t0qN)hQ^XM_~3h^Kz)!^R}sCc{xvmR)T%=3-9y_ zB7R3Cbc=Z!N!m7f$PD80B!rw`t!zSyz5ec4lK4GgQ4VufLe?%y<{`ikDT6zoG_qjY z{taK`l5!Rb&hK%B=^k;U!3{(PuKebO2m!gyTU*aOr+^EW`43U{3Cp`4BNswrqX|4^ zEB|Os1o1Vgh_8VYd1QupN;BMTm>8Cq(tp9AxBChmLm~yRX{2MHM`w#LpTJFxg)5~N zTi^Wn2%!4^He(lZ0e0c>w#z#hT--{7fIUIMzn28KWS2g%rVNZK1Tg=}{z7=k_B^d? zu!;#`bcI3Dj=xi!ST?(hS$y-F3b^Orl;f_eb^gtc#@qqad&(h_OW{G<?SLDHX@fYN zBI~0(a?U|P66QotmtADg+g~|O1KkS8mfOeP2%^B4y;;u`J*zGIC?QX2y<-mU_b){& zuWqf`h;(Rqxkvmrh3EY6H#@$)SnMb?VQ4~ufV3d35eqtfG$-WY2>v&{=?OC@7Kp1k z^z-P(eZ=~f>iLHqv?Qc9rRM8gpaU)g!dC>Z{7x7;C^KDiev?z8dSR%C^#&l)l0wiy z>epd|j3P=yc%uBD?k;KCqwX}Z%<!^An%`+yfCo{iN_6?TcKQDr9Vhh<I#^>KkKRqu zFWlRvvN^g`ln=Fc!#!7aP;3q+{l5{lvYTI(Q0DtI_2VVVv(4!9LWDniq`@mRk-uPg z;#rVh3e)f>G=|ceX6aG>I>wlJJQj2Q{ZXO=B+Mf#`|3*013A5!7jD2UkH<3fTb#xr z=h9<q*HrY|bGyh41rfl)fMC`>dUNMqGG4(y`AmvEA6D<qZ(P`3seMl~!1=7@`V5s5 zq++)%+{7Q5e|Uyw-C?=-h*kAN-FP+frJSu!1H;k+!&R5v6EpHy9*qdbp1C7EIFpjF z{`I59O_cr9{$g9t+p{`2EQDe!-6u1S@}QG{kX%pnT+1i3@M7{<IJWx2d}3;F2`~JF zm)ev5=AQgels3$JF<7YrBa@8kZ}JVuS`wpgy_h0b#qv2gz8`4Q?|!?2*FModO}Wbh zDxL7Xuxd1jO2?9!P_hgpg^xUwa}odN7m`eM$DdVa8pZj}-*-HG@p^!tkMLWb>xoKI zKUKUIqZC&q*NvmzZMHW=fy4y!^*r`c41b#fL^B^dy0oty1wG2#WC~5rK%nfWzWT%5 z>LLS|%png67uL3qmIWbMl>|@tV!Yaf?8rx%azY{$%IHRsKc+~Z<*8OfEJ41?s?px` zt=M|kaIFue4&>OoEnz{(2b!f=QrBCz^`#F95h#1f36W8o`Sm@f*%*7XxK5OHCe63& zU2cufVz;chmBqx=ITVeuxn+sDv1)jAb*d3TMBAJYDmAA6lMOz(BdF`aqr+=i@B>HW z%$1$~@d1{!lyIal!#$TUl`0oGPhtZQ4IH3nFYI_uf4kHQIpJ5uLfiC<8|!C)&#DSo zIpD9pQI<73K#0zjWF&GFxERgN1Q@>6LvI;VfJN&L&)QYh@8;w*`7QLDVo(#Cj3+W9 zB{kvC0>~YO4V$`nxBI2x{9b!hZCI5Y8ag~oxwa}}uif%g;X#x~cx=$87Vf+Ea%#x# z+{Se#Y&m1Rk}@~B6(Vaw&AeFZi^tFSJNfmdujxfz>6<`a2QzW?{1Yjeq(u0y(aH-f zzKHPfm>A8Y-VWP49LOM+(XH^_-a>Zc|Do%;<FRW0e<ULn$|#fyC4`Jb84V*ddt{by zQ<7DLL{iyXWMuDTWGjh`?A6jB+oOyMseYg9ocoTa=llED%XO~nT<6^9ywB(J9wt{_ z+Gv)uJg@=&cxFW}bw?mh1CPeoJs2swVs__02QLT=v~puSaAlk^)Bivu^vH7Cg~y++ zGl94zF@~liu*KeL*WGmjs3mj|=Q>C3Rmty$9ve4QOZ@F=<e`-$WSriv{hps)qD*%Z zp@v@SQ(-!fyB`wkLDG0V$k=s0nM29tuSqd+JpVnrF|5h<;EkMDn7paL4;(lkhAw`h zcW;Ov`_GA*5<qs)bVs=hNCl|PHvH<2sj&gpp961|(xZsco&PrXDrb+Acr>Dr2MNIU z6j0@jF(_w$D+Te2Sk+8_?~xVX1qCxT7O0mI8+-j;ErGr}?+43^f1{4ZndkFSYB?8~ zH-#9vUPfrlhGNVzwGDt{#WSFEW6!b!Nqp*-)eP{2R}R3Q@EE$qzEBV4bZPlO^?x@T zEcD&ySwij~_=lCtj9o3p15b4i7_DlyRlDDUH(%*ch9|=-8hZJ$2w++$<IT29ksl*Y zlxrl>Za%j+ziYr~RlBV^y^l3I&7l-SI;h*$;Y0iEd`_`wGy+I?K`DvPHCo&S?dVD` z>)Y&(sEIgVPE4Y9U;2PZ5*16qD_sIX0QHKXBly9FaZKshV4yLqa`k+u2WD{SohV{F ztC<#C%F<1*eV~?>R*qQY=g>1=BZ*I>gg77K<=`OcUAC4-k=j(0JC^|e#u}kJWW!_u ziH*kS0s^B4gof+#<*(<fn7?}oAeH;?>X5TE8=4S<Nr$<$c+sl}`huW4Kz+dqhYOcW zYR2tg?f<S0@t;q7fyn2kzw5nr9K!(TW};XSDBY7@Er^+25rou<s|ek`j^~NY>;|tL z@)L-auN;BBpIOjkv(v6G;+6lsn;6<Le{PL1S<eMK${QZp`yvsW7fMkQNPx+|-f8%p z&SpRC>iwGtPW${Tf{p+$1If(a+v?g9t8B!JH%XCMv}NjnAb1oIJBrUt_N2Io%?7;Z zus$pM^1~8+(;(W#CiCY{Z@f{Z4~uU&?ah0I4BpMkt07XB?@hSk#x;oU@*%B!jE*P% z+AK!K3jT8VF#b|EQoLW&hR*G8gmnMe8H7D<X#rR1L6^8H+$iV;&5uJ5KF5~HKv}o| zfAfI&*)3yGf2mDY?wb9LK|~!#@;Uq1Xhe>$zm{+0r0k)E7Wx-Px*vvdoWP@Cj4sGx zIb4tkK8%Q<W!NSa14-O}V=`Y6HpCyQy$$4VWyR5*76jDKGDgg3`P262-aw@z-*zt> zG=fpx3ukcOH?u@1hbC)pQH=KqsksG9RL6-?MhnfV_x{(Ge6(%`Zo9QmBF~b~+5;ql zI+CJ-n63Vr0ODdo@&3PCDS*K^?9?{BTn>M*r@8!@0-`5?w0tJfKdJ3#*=GM>_~{@r zCXuG(yX6peTE)=5Z2L*%G^|j*^>hu~$DsZm4V9!n?EUB~Qxm`Pr%sDkG_?m#8aD@Y zL4Sz(@M3n(!V}6;!JPimgC4EEiM@wky=G9+^34tF%FS*0Rdwi9>zP{JbLK7Qp5BwQ zJGaI4x_LHNiSn6aM;SfbJNbw92|SH7nTU?`i;{V;*QMx6Y*zb=_0d9B!`gf)RZoO; z<X-FW_czZLu^c_@O~^LV_Ku8{dzTo!rqUqy*F@Yyo?($uACIVM2Xx#oMYQV2g5bD2 zjIQuTKA~4STR2NGKU&#mXI5aD>cnN<COnnh+%jlBHDDuFsr#v-sIl_V?D{YL19ybE zX$=ex{92SRV%y3;$1|=FGq;KUO(e_K^k%-wsv+;PmaiMp0)jM^f|xRL-!~dHgt2YS zeZf;AkN(p!9R8DccjfLO?^8_~_gyHuwZ~JQvGBF&KMq~|5e>&o=eaJ2{*yKo{`1b( z%3FipV+~eE(SMdC&u``nKJUj-V<s-7|NB(zt<Qp@g3Xz;<aOEuAA_gK$Tw%GqRF3} z+Uyr8Ha+8b>8KsE|NA><wjGB<UYYoCZRX{7LYlXX=DJ(E5`H>yELi2xh`MKY80Om= zlIQgpO|9MF$<^^ldd_jkFz*mlX)pLT@P@Qx+)5hgu>YJRBC|HXXW4$Np7J+;6(4!A zE}xnsm;UMdLyGKTKl)9J-{#8HyR$6Ry@-tEOkrVL4*y{CtRD`vQBXgxV{hMH{;7#w z;>uJ5ZzclPTIThzZ>xU!A+hvZMP;8&!*~!y4wEEZg4UW3n@^V;Xj6{GUfL%0!YE5Z z*zIAhOz%{hLtgKlZgv`7KBokx(T`=lM}{qDdfapL=C<nbi7Chn9$c{UtFFi^F}xJZ zS!?6lHZ-8UrKg%8?k~L7s?FtQ4slUiDojH9@Uts9HhTMfLh%oIL2-YDFKyO&X1VZB zoG&SVduR8Dl;EeA*Wr3Awu_>lqNO$2vbN=9@0Dm>o1g%b^D#B?*;AFpy4^kO`_X)k z?MEJc->hxN+&<?Kr)S_oNK5B)dw5jtl}VPd;Zvpz_%Dmio~Z@>dmVJHY!uP65%^{h zP~9SQ+SqCK<t0L%?mdTMY!9|-*?eTRD!*Q<5UIn5{;@2Kg)QCIU5C!tFo!AQi*kYC z{W%q(7J8G!mW>-qJe*ubi2G!|v^#h6NEe*lur=DK9Ybk$b?dqv*80#<<m_I&TcYV` zF@L7+<7;J|?a_TUv9T%KaAjO)qr^5^1v#ue{*RpTi48CzI=w^RzDfjlMD^L!?^D2L zEZ~>hnO_sdw$*(~*ZHxKW7<gLSpCg9kL*XK=uVI@^zL0BKYH3==Or~haiN9OTqS4o z5vA5phVwqf{?+WO{z*YIi|5k5(zj1ek<;t-KPBESoAl1-ct2V>REFY1@BLP9U|Bi6 z+P<~~G@sl}<=8@#c|*e-!UTT9c%ErJolgtD9F?4$n@pDZ=&ow~5T^Y=YybX_=ziG~ z{)O|}m5&uCm=a(nNk95%OS^ATJ3XA`FAxZ6x)CGt1%`=5RS`PeTS6U*^zCNdbW0M` zoMZE0vKEIR-A#suSxgxcn{)d{bE(rPpX*G+ihexHHYzGstBb5^v^R+D;60?wS28H7 z;N81)PwpPS#@*eKY+KtrF39_yBgA9No_wuq#b_L*YZF@mH>XEih4OkgBVj>tp)wOq zu?QhY{J&bbhjjNE{F#qG(rCe5RJHQ@$J|^E=Kxp~C#U|+7N$Dg*ZP0{Dc3GlvhnM8 zxW+k~b+V{M`U!CLEXuN%bb4>4MdCjOk2ddTz8BR@y#}7x>q_U?)OJa>hIaaI(9?0q z_9`gW#D2$l?FPpcvotjHDzDdC{nnvdcwv|UKfch94m!#4i-LJQqR!X}KL5p%zt4l< zveqYfa*|r+g%S2&wR>lO#&{CQ^zMOB;qHyc!3$~o+rRIix6kcZeDsgs<A>ElzwP*W z_4j0LZFKxXH6OEevDuc{_B##Zr~#RoQjFWKi2;?er00>QYDT@g__s;!&88MITFN_h z2z?mtK5inXuQeAqO&2X&>9^}Bb%O6Ls(^#Mm!lJUek^~v`{_M>j%VimP^n?+oCKMB z*9%fq_+<k49*?ts-8N+EkPe4(3%E=?l;?~-B|4PeesrjNBk;Lhe`Cjmg;QTxIBwRg zQSjPlKH*!SClY_p^3x4Yh3yItBv0qS5o$!KfG=@tgX=c);pWjL86)ed9XH{vD{fYt z+Y-(3%}l>%c6>2dH|fqAt*1S-=I<>BogIf~!&8DBjc6923(#+_ckwAOKUkk|KYaO# zvx_5tqYK?}zz9@AhRi2V6%TX!IrDIw_+{M*?LKamYWi>1dyK^|DYHvVRE^Ky1#t}5 zSNqLE#d}ZOtO{WMHPWm2DrBH8WGCe{vXpbiHJwM-u>2aiEb!`-9DWLyMaC<dxDPA* z+-Rxz#FW9TY|}NuWwd~8Umh=tD-+u9bB~EFHR#nUpM(Y6K6|J|S-}4)pY8eJc~K^^ z^cxTR$*!fSl;+1(=?b4P3M`G^N50`LbuGqT*)}U&F(ckjzFrmIgqSBMTPmt7cmEt% z0A<lcI~t$G^3<d?b#jkj%U0*yvEx>=Ok_7F=g;Tg0Qr^hr*lq27vDK)o4u6U0NT2} zX2twr|5&#uZ>r4BwUE*@)24{ooNhw><6yX^p64xziRD<Ql*2Ipk*C=FtWPfOSZ<xs ziZ%N##C5Ct2z==qx2c(F(ETD$3zZ;Oq0th&Ar*Vl^mKW}Q0R`*1b>dPAC(M65)5p# zu3sQ#!D4U6LZ8`(S0nOXgX8R_j}$F-1;~Cw919_-5rIJR&eUFknvzqIsaHN_LkhZe zhgv4XPX3DECS4N&gDr-FG#ii-I5_`xgO|hO3Khca+QzOfw<Z&4gOjB{&nnVLik@NJ zQtr@$Gf=xq<h??Yiyv^)y5b=Z>pjT9zKU}G>2Sj_ljRFeL+TVUCc$|c!1pWLy`TI3 z)8w;Oz}#~Q4qUVU*g@vmL6{LLrmUvx1k>8Qj!_I5uQ6!!e{2D+_x@|TZSMf3Ky|m# zrHvyU565m*Le=z_kpG%p9FO;Gx>WyGW|{js&@}Fwm$|C-Z#$*mmu4#L<BR@$^?H_q z*Z41qH%#loPTt__pJe}f4x>(NzsxDy#5kSU#0)<2TtfFoc<0ICgMyMVYS?>mH|sTY zrbQAJWLgiBWrYbe%{?J0CKx*;S|XB$-p{Ho{CC_nDzs)csV_R#G`xcjR>m*c?py4- zY*#sb^c%=7C}O4)wXEQbi$|6BgjKEy_#G)Cmvl6P5$LR1bDn|*jZ)}J!S@#I)rWeo zX?|rl&ItZbI~J6`Jp~f2&_LbEYMv043OnJ`pECWSpCAnUeX^(hqd(sTKA^pJ5+yKn zEac>rZ|#WZ-gohaojVT<O%BZ)p*FoKa}O2{zmLN*3O})4#F#|}Lz3L(c;B~MU?@Vy zWf}P+XJjwyo~U9_a&S<G-TDZs*qG_@2t!82^ehvHubr_wcUy|VC4#;}`QBe)wIRJn zYAtSV6zAC2weJ*2FbR!PSa!qVxD+;_ue_VM!UaMWiXHUA-}^1d%O%yG1|4qM`l^S@ ztPZ2UCZrqjc^8!f)viyk1qtu;ZD|y2Am=rn&=y~R-MVW;AWJcy!@%F<*Fi)X27R+s z0L<d?0fH`oHiGUdX2<eylWdDktPUK=6Cdr=;&5#I+NRWDfvQpYeY9`d9>JGiDKI+h zQ?8ti7Ny7@{ISyqi85w%zG%WHc$>=41(6ozX=IBZcwS6lLD=c27_2?2a;vjlL_!;) zqP}wgVh8J`L;aunod?n6u3I;*mHW&F>;iSRU0o1Aa?%v|duEdHhuNr-PX_RXx!ctz zreJ(j3d2A$DW}p-_$OrPT+~4elv#}=t~(~;M~|yPN(Lh6#yl$%2Oeuwl97c&j}@kO z%J_IjR^QN{YUEtR21@13a$qRh+tAoB@;FWp(TNC_f1)u;sRvsmp}SR1n<&D?JuWGy zj`7v6Nxuc>n|c<$bUPnJ#Ol59eQbg5Xwf}6+?g6lMqE1_W0$7|VO}70d!4MT4P4uq z%FR<G7vv^}sIVcM@(%3$RN2B=_ZvS`7FJW=s3iI80%dQl8+{+My??p;iIXdctUKXp zS0s0{45J|{_VjJ-I1b#4g3pF%zO$kml$B4V$Tn(>tZ{8Je_x`AZBVww`$P1qhTT&W zDPpb>DQ{8^><s8A<`vwS8|J@Zk6&Q_F`c>1uLu;>bT{4}qGnE(n@%<t`!3|_JO$K* zJZINy&;6F(;e63Gg!$35%0QnFHkBt$;SRo_Ut!7iyXktBOBAzvhIl!674LrXi8gP` z&Y0qowRBAyGHBekspfgArZ;aS?dhlT?NFA%{&^bUS^u`M3st<wPEnZ?_trOk2U+@? z7ikReYwfG|P4u(4J0ORsreQZlm)5F%bSK~BJ<zMVgeb{t)kDR9g_jZ-Slz!bC{H8G zjgTt?TCK5oXtz(`P45zrb|=*?znrHE>wgn1afrHRCj*<B<JOIJDLLgc92Ib$(l=#5 zx#ZRKUUjdmC?T)Kmiu^s8Z-tdZ|mOqCEGpeu~mZF;pcJib8b5(=yj;I;o5Eq12y?g z-T_M?kZ`e|T%|25ehs>ef-US{r_eX^6)Cn(j>a1oAIyK)`O*mjL%_38bc3Yv^zz>P zsjqW>cca-48VeFP$vFi!scOi7!|##IU~J+hAb!YFLBbIwRc-ntw+GS{C9VMnncwuq zm*~$|m^iQi?JZ`R$%!1@wJO^rCW^4H=Qzo34xaqa!k?IYRQpl1hKX;39$0&KM(MZr zw{uvUI4B+?O)J_%1NVZr!}S&oQ;Z|Kd5Q7o_0;8WgE8!%79qBVHlzH;&5xbq4ns2L z27Mylu}9!3ei?g;&ukx{4pGsn{xs3{Tjjc<r`^;2vZ3Ghu%^6R{FQAeW<RX-(&sb3 zGug$1=YmhS*MktP<1+=6lBK3jG;MUN4sd%lzpQ;GZOPKt%TqNm4_>w;tu*^xs3evN zCp5Du+~0NgiQd6Evib-6l|R$M$Nyr(6y5M(LwnEyA@j_l@YIDZ^%_7~$XZI2i4Mgi z!6pcD1m-GfE*gEH%l3hvJI|AQ_eLlJqDq>fFmf!Nkw@>7+TmpHlWwum=B9B8iM&mq z*k0(YWqEmy3uBVts0Sz@Bep90dM3LUTC6>X=`vi`$hRaXx%3Y_6KCULS=SO;<Fx7H zxtHeQC(Lx;=laf6?#ZD3!&Jqa1D>kV-%UY%lXv?nA+yC030L>@=wEl(MtIHOYuMFY zwc+Z^`3(dY)MPmxC|E#y?CDda(_U#$Y`q4w&h!sAyQ=_mXxylpv>PPf)T5j2_VRWZ zTi`}>!MIfCq9x1y?y3Tu0GR%@hcUL-o7o)bz|ChQSjez%HVvpWyCi8N{Mlp<C+|>2 z=YKISVVBhHJDM{?QGx{sagh#y3)XF~+wxt!uK{G^8#G6X`PY|T9#DOoaoxdVyqNRd zQ?&jcuenYpf^Eu28>ek2amq3UP**w|xgd1JDt}%6;Br7h?&(Xhbbwoj4}-+(*l8Bn zJ&wc4Q)*}heyZ*KuQtF6e3AqUWN<1Eb^&g1BF(?!{*H%1Z|lI+=(hHO-g6pLHIsH{ zB-TgdD0c@Xm|$}G`OG`LM(b)hFxYiyVC#pUX=;dSanelI<ya%FrRv7}sG9D3ZehM) z(rzb{yXWb&I}Cfc#gnao!f9($lCoqu99$R`%}UfpFVy!B9YZ&vBDoK0if4oD*!Nss z*J#u<WsWV)!>bhhRS%vc0grZ0_>yIwQCIU_;CKQ5bLaA{+!HZ~Dh^mgf;Mo8c6cNZ z#_s>AlsRdabj#iS%{(=|vd!~ulv=^d^R=~^qj0~V7+5*zoHwPQejIkyh^`p!yCaJ5 zrmC~<<K<8*Vu<F9X1!*aR(W*uzG~OtCpO%E9WWeApD1w{&Tm&?FaxV+YI@Hr{lz3s zC$zf}C1QPx;nGjd{sGyA#SJW;hBwaUTm+(_39qM;M-g+_jZGn->PH&pkI}xtEeXVh zyE4Ukv#Asv07H=9xoMMjA$<FD-tT5dF#@n*Ero`_FF)q(;H*xXH}@r13F4B%Ntds0 zEo90t*ucYYtLo3Mba}1Eq=?ZQYla|Ib?lrQ_`bFpf;SH*{NVHLn8=<!IKZKI88yu} zZ$*m42|*)oR<!KMN#)CHl|Go#ooBGGk#tXE0$L4A4D^s_U0<FPgx@I=zb{<3(%Pga zw_eypV`F7BG)UUKo)$(GxpWW6HvCZOr#MY<uXSR}7`jr;V5u;iQyS%&dz!TD+NI1} zSalw{B=2!uy179PkLtMH6L*#4kElm=-%lXLRnA)nu|W!lx00EY6x3SZ=z&uuFTAxd zmO*8t_<C<%Ai3|kw|x<yJ#e&h2eU&>hZM}jCVB)`J9GBkAR_Xyl-(iQzp0&<4tV2u zBn1!@B-gn)h~$~}JHybh8hZ;V@}T<2DoHTF+1?M1Ud#;-y5-=WMD{8EiLo?cr~yTZ z-I9o>AywWYDtEpjZj=i{Fzi{jI-h}EkSm)6&w~PmYnITeL_}KV$LmC>PJ(ZQKcr`| z%MW$@>M+z|9BcX~I^hLS`r73n)S?9PaQhwlB_N4~JI>r-y=i!hH*xrv@GsAqXo%g2 zdpNV?Y2kA7<NQij0ZkxZ->~Jo<P01UW<w)h<?CFP3w!u+BJP719LoHN@F)zImPd4* zIBJ{_?ROIVA+*buK|sk4vwcY$^anBYwQ)N@KxSY@vz6Xc{&z(4anw5jtk`}mrLPvD zCp0=Fj%CL<t*R8c9BajWR@kh`lXj755CV0666dX2&m;)H34<p9f_pg~Jhk=+wej1I z(+C+~o-;xa*I%~&&U0PZEq+T^?WpFsHbXtqMweDRUW0Z^4iYK^QtqEH|Dtvs&NrbM z&X*Zd%KCQ8CMWMgJX_U+b%i~hi-<RgF42|P+BpRwpYHc^Km~q>Z&bot3l6r!=5jWn zSy1fGt$x-E%;P-Wf@4FsD*h?6m9~^Ubd9Gq=oz}O;dO0#H23V%BP=;()ulhS6()5J z9PxiE2QD`#r2=HR{hGHUp%)(PC-e%w+4WVm=Be5fuH@39MmPq+&V_`f&n4~^H*MRf zdU=i?!w6HtX&K`nPvKGpwo2aH^jHo_^q2>J=n(%7<#2R;5DMET8hIFz7p%xICztl! z5JqKqqhy>Q2_`wWlb|C;yC@q0BF%!>^f9`G{+Wp7lRyTU*#pqTG-cntu47uud-+=~ z-T_Co(LHD|MRTqw(jZR?yxO2GL0fsrloh@)dqly?nL6b8dVZ|kK~WTXbz5rcIE*Em zK$Mr!J;(~Cj0V>smzZb{^QTH71b4J|G+E|KL(|#FX!K|XWD|5u%f4>Kwq~Tf39>bq zv8Wv62eUaA9IKc&ZFizUq9KNuUmqUs3-+}{4><rf60{p{-;7Ec1Yn~aJUW3b8Ub>( z7a1*qpn&GS0I0y-Nf`r=R-QmJ7I<;?Kpb)E9lkdyeN7z^EXtvV2S!31B#zlK*ozK! z4<p&Nn<P+%CB;$8C36X!9D`$Bb2EzI!S0TNJ-V%LK{mzPh4%2%>QY^~laNS*4d3ZE zH~SJq=?3NC-rD?pfDy4ww6E-2^068}(l<pS!|33ho*iXxGilm9Il35u!F?sRt06&m za@aW8xc(yh#1X?!RFB=S7;P>BNLJ*OXBzX|apvTeMBVp>iy{8sF9lc5v%(!>QTz7I z8Y(YBRKm!)o*b3nJLPcF+Dh$p&VuIVNPdLB%MDLXG&Ps#ssjD9qKe6GvwVx88*eS} z9K2>5btT*mO0~8WT)w+wA6VoXoD|6DE4s6$j#m#W{vfM5>ld46Qk+MC<$kf%2Y?7K znRfTUk%czrXegb4?ntn%=A4_-!MbGah=0=66>*~(yzatZz4)ufpxkAA=D^ZF!+G|g z7wRiqlRatojz8uwQMM#l7bIN0+3=J{(csYy9Old^msZ?+L<`f?T#Foj>OKTM<Gc0Z zG%4p63A#W|X!TyKjLv?UwVEIzw`-Yps$E4Nh!ME=53cg*Cm)twb>`e&&<+=m-f1PP zfN$K(92Ll#0A7W3@0p1;)w`b*OgwEA^hhST{@B*$9M48H;@G{?9?k}7j$q;l<1c>4 zX~faypM|Rpy^SL7qzsIom4e5RP3#{8iU825?C7go(_2n|++$vxt3#d%`+kY4GT<$H zbsnUR+~)5-UAT=o?F^fkI!l<ZuX*oRI;deHkDs~k>5smB*OK@^&q^6tYAK-nII)6X z#ybyoFXHX5s-xBnX5fzfyr6gTCjp7Shu02{jB{Q#H@64ZMEuGtDbMZMzW6g6qu8_> zMS03N8?<0c2v1w~Je@UhE+g;B*RwAtzPg<@*W*02SoT#U4Lr$iQD!bp3Zb9cHku~2 zLrr;4_z+pvgeSuJQ$H5zK&i`Mf;$B26@w@+Qa#GR#0I{&^lbgt7{{bHMd54<un5H1 zvhyRd?#v*=MPU$VB*uF<$#ntHgu&%6nnO5Gqr-Qy&H|!$Fhw&+IDk%?B+lZ~QVfd8 z|1q-s`FAuD7>0XfSp+7Hg~ET-qM(JUK-A8roVVOuU6lmHP$tk{%UxNAxdd{BJ%XJ& z&KeDH5uQnT@?H*F%Tdpgi$xy*Aq6xU2zI%NR2rFdDB}qmOdpwWCd-K~_)c(V?~?SG z66D9637gkFBOk|AIEb`~@QVq5WjdIJp;V8;J7188%R2Azl7t%*aV7c5NDu{nfaEty ziXyo1ai}op7nO8IR?yCj&qoQLa(Ha@l+FWKt*pEMF-?bDW5co8m<c9~7=rB&i{2x! zZyDJhXg5XL*J^mP#cDIRs2$!CMG3BlWEESpis*YnA>%^L5qX~)Y#6K8%U3TSN0A;# zer1M$Qo8O@^ed>d9lvx8%0&n6$a~EOG?9;I5C~}G91nga2aCQSR;nJj+u*EJpgup| zUdcN1rs|{V_Jic}UFR}(@o-lsb6JQrS=h1Z54`5-puJrf?g7)Srax%e2DWG#3}HMC zM4PbwNPYl&?<1S#c>D$Yjz4{DmkPZ0k=+aO%LUVxZy1#!?}$1!GF=9kA-=RPO})?^ z2d{1u;>cWK{m%n%-~7$F)s=o%iac9D+;mo!mgOITm|72{{t>`9k>u5`%XZb^>Q%Mc z4X?xmy-h+)Fp96K;aOQ%{U5QK=z)$hGmJ3>a!1@~m-Ie6JZ$4%d|lf-BvQik*b%)` z{Y3K~Wc7kkO5WxEH2j|{?K9K^nUbteertml^DbofH-9G#bE5>obH~*uu+N!_)z902 z;|xD2@K3~ex6M|XEF>n1^#M)dwLq>d5dOu}5vS1CcNMf$e18*IBGs?)BXS6PO>3(c zv-E9aA)hK_gSd&bFHxtJg1Y{_FG!?rn<iWfkr~LG=s;4>o+{~VBrZg%FI<`3ah1I1 z6%DWEgBVidA21)s)t9}uGN=MhtM4al7~@Xurf(#eXoRtUyDLbzJU28t1-75p!50s9 zbA=#My}thnbyRC9DwKTuGJ0ky+#$3SbQ(xn^M@Z&RnA#*r5bLvzlk2X?!4|85JB!T zc5f+a2<SrqiFt?=5%E%+QgL$h+x^S9rD%3B2jiInxp=%iFwTkPh1o&G*}%v|Gl}Bg zh59ss6T~M?l&2vKpsfVYw(s(&3YA4*{dw}$3tOd&*i!$ffZlP{xyhdGAE;WTAHpr2 zC#5lK<_HS5pA4yv^bk0Os4SS_OUiy0BNybkclDnYx1PQ>O^>2kNS#H~=_IoKG(VyR zIc*pjmP8R&U2=*$gr0_fyY)2tQL-SU5;4j4^W$D~7cOj-aG&8`eHUlf)2@M6?tjO9 zf5(I&91pvBKaNR(n3MZq3ossfglPQlDq5h4B%$3z%Iu++tVFlQKBbaKjNqe{oGb%w z<?BEo&jb=D1)R)MrC$}#4v*gacpr@N1V)W5ckA*8HIhqj=<boZ@?>msFF_yK+2|PQ z<gtdB*Y4b>y2tCiX7JIxMZoxT2Y=?}X@4#3*8Q+_z~-ylK6UiKuRM|7F9Ppoz#v#p zjFWGFYux3&i#iyvh%JBiE2@HDTF@LWhU?E?eNdozMc}jlx%H7-wVTZ?__j%WEmfTW zO*MgwzPKZx0fF$Y>XT;<E<>rB8P93S9z6t1#5ku<rH?dwThvbDFK1&-D$pPgR*ips z0pCW%SM$e4fJUsB#NO%TZeD@{(_Q7M&r#=QbOeA&uPQlPS-R=~y>%J@-)EfW1q=Gn zIk4SWbq-FSF6;d{2Rmm2&w3R&hqB_&fA-+~SGS9i=v#J?{NBIT(Afy^V9=%tC*Zak zow-(8k(*XJ2pr&+&+dFW)l<bxWu6;OSDQ$!l?Oe{<G7#XmGeCCb+~E|OgvR}a)m*h zgz(8}V_hltRQT<AZe5Kn-eK<4gRV=aW-K>u_^w<8Tkd^9kMRwBac=x_PD|I-+wdK( zj0$8c``;6Y9x@f(k1sfb>l&CQdf&_0>=5)6)Ym`aCR;yeor&yF7rdxiYi;0Z+Ld0} zRJrthDvj6W^?D<jr5uybDM-J~^tkvJ`5WYDSM{|eQVEr~Vx#t4eD)q!XW2TCPZUOZ z_CFf8n|1gtg^d0lk@p9i=k)WrI+U~C*X8K@NG0hRD!TK`wV$@M=-UVBuHUbniNY!w zf{e{--XI{9$As6NJ<wna);$cb)0%Z>2w7RwqGiRWD5zCxaf*7tjrXs?n;)!`$69Uc zp56nS5lF298yf_R9t?`@348M;V~k|ia^0l|)+!Ic<{nO6t=={~^S9F<Mj`E+!<tiN z-kKD*f~va2_JhF+v|9E98J?_K(8vx&nU-RTC4_}=$>IKI4@Jxgr<`*bcFMihrv`Zx z?x_KW#~pF&hx?Hu^eS~XK4>^cdD*1~J_l*#<h&MK@17@4g%g42(~p72PWtMT62%nE zhKrZnTwQRo>Mf4UCfyvx+aMeQ#}#Bh{C%DE*<Cyeh&_zG=}9ZhTOOGgS%S$X&E>qV z7{rh!W5LL{XflDozbA95*b}MOI;4CYq#eMFz11J6Cu>V+P=`%Sy~+mCCCZ4Xl6lby z<hBhEh}T;s`=Z!-itYkMP=rT*esch&O_WXPQSjvdGQaMG9;E>{4!lDe^fR&q15XO@ zXADRL;m`=Ruz|WZvaSA6{w=+MK_-K()Gk=fOXye;uPvbl9Aye)ue^D-6j{6ZoK{kC zz*UJ$2AAgyAT>f*A*5-2#GtIux?GLWBePczBU_m(YwEoQUFe_>gkGVjD+8}po>PW> zUEL+{3@!=*805kgp0=(2y4iaDl-;fs3-1Cig8he4-hRsY&EP7?!|f5MKFSJaFYAru zu6GqKKWa&@T;ykaZ_Qv)Xn7w@`p9gxxzrCjs`7!EN`ZT4ELk-&_v3t^3cOkj9un50 z%{dNsM~nO^bAil9_pr?QudQV)ke4gu_Z{w57<}6GA=wFCF^iO43i)KXtS9e@4kOS0 zmiD7i)M|Hds_ER_`01%VxVMn^WhzFb+3^qjdI7#DsMaFRd=X>F&P*AtoMIlP@wO_L zL`!w3FD5S4MMJ#s1~LVz{UIrm#I~;y!%s%>wt$>@?U~jowaoGvqP=+=f3cWaxI981 z-1)r3cngJ}op%QV7fi&?Cee%ybC>K7f$RT)7fx|_?{C0CR<7buw6bu(3=?5%EQZeq zwIN3CMblO<I}1a!PCVfZG0wZu8OlTf%4-)!hKbZs>2240aFgZH2gg0A0O#?8$&VA~ z@i+`07M01DXWYjxMRtug+L`mBsYr}2LZt~t*)6@dzT0f5K41Y@G(`UR&WuIY_6D&t z;cfzA%1YfdrwrY70mLSLeBCI2Sulpul04O<3&OmL>}FXd0NwA95M6R?F&+X}6!*ZK zEgNC32rwVqzeRuzoPbA)rf`fPLZ*p1CHHMqLl!!+VyY=J;(k`y=k~YuFE}Od`Ysv~ zmcF2F*!Od;lz{C?A!a>&cTE=N13cNVfB~R4;zeWat?I3l_ew;E_JYYC1`b=V!ELti z7TqpqIT3G_9eAr>G3Vidq#)K}&JKJ+>BDpT;K_N(Wz~dvR66J)NF4n4gnaK#zG?)q z{Z4G90-LabGgBvyPZKZ-YBB%gSC!*-(k&&Sf#BvH*h-;@Bd5i8GrN)49=ZCxt$L|a zlAE^3s<)TbLER@(H1K!oxq-T8uiz@+F&aRr-XlAKnJYK5xHAKq*@{#_qa#uu-ZUA; zK0sn3%-4_bD?Do0N*XQoPdddG;yKn&DzU8^In2~y7(25C5Dms49+4p!e7A3Vgnqn; zF$-jKCeqaij8jA2(~vsbnaEb^cH0##7TF|MB7!a&>ABsbd%&H!i|CUK*YQC&_a-rU zOD#`<**bT<B|3jXO~b<XLpg?GcAk=XHS4~P9_l^2@J}j~hYa#heAQ%H?)XIBZ>Ify zy*_0j2<VSX^lL<JUR@->cBml-vKgwYoIhQvKh%3}z?1hV+THj}kl}E~8hv2hFlj=D zQV|RmZw}NUKjIINq=xso43y`@q_+|ExS<&wL)y{9e)(vtYW+GP((^<(t&xxU0G}C3 zjpBR9vb^rw0RIY#K>b3~vv>TSgP-wz@RpOD)wVQ3Lg^ydvNgT`J%GjXx;_u^CoZdE zBD%`-!Obr+gkw2LN^_)4&V`#%A=xc!eUP=obz7m_tLsqim1TXn#p5R~sKQOcFn3Et zO~LV354T@AYX&&L?q|SbID2J*qk4jn3aTn#zwxH?122@lmFvEL{(zAiBQqt~=itsf zFW^2o(C<wIf(L~70fcFRcY%A9k$3)owr?hE67|Xc-hapaWq6Th``Y*6$juq8znsFj z8e9iO%b$pC?W-ogNr0};;MX^%X3;x*|DY(;XM;xP%olxtl5SsT`$835&SrtW`vu(P zVagp7kO7h0v@XB4V46utO-nB8%JK}$%gA;AT>%^b0lA<fO6<x}&XbIgbRez#t~Lkq zId1J?DWj~b(0kIO9LV|3Uea!R_d3ZP%W<u@t@%$d?K`kJEdB~F-4MJTcgqsCd42@U z5Rka_HYE_f<#*^ZDpp4wbb-yg(&p3&whx#(W?-kcwBaN8Qq)Ufby4@p0gINja|89q z@~}5DE+i0Hrzwd0Dg0VYMr|0Zm~lySL_`msBQpf;x@iKm&JH9MQ)E7*k4z!i*R;Zn zM2i+N2&*#FA6B9mYj90Ok%#VqXSf1pP!)s#7+{SUbFu?i_Mw~vc8GKMin||=UP?mk zM65n!$4+f1jQktg<i(~Epxws0R;i@|+yKGh8qN_Xv)?7p!lXmFht+q;0pn#uj`RVB zB(~?VxCYW{)j2M<ihwz&CrJWsxjq$_a!()mI$!S1`2;fs6mOG4>4pE=9d6k`-%NI- zk-|JG(&52{JZLA|*6N~Nt;?o84re)@htBfEP<Q6dfo^DOo|PrgoI1OU_Yba$+ZW=7 zp|Of!HMCMxka8NjLJVg_=nrX!(zgNV_y-x${4wd%*m)O|RS!Jpspy0<sr%2kH3L*2 zRH|)?BdNI2-po#h9UKTGiK_3CH_cy>wqc)18o$)<erJu8*LhJ2D|J*I+GTASp*t`E zuhb!dJAEr2eU`u;BHGaK1B!TpRcgf5hVdOi)uBA()RF>c)**lV)P9mj-$6%wg(I|= z7y(0=>6<)y;bqsujB624MWPbPu>nqz7kAP}Fpzv`TG<uBwqr+hTH(Bq2Z5Rv)42@r zNb3)uMeZU<#e)Pgq5w52F!K}?;t4euYedn)T(1x3up?CTw4h2dj%<MEzW%Q>=pz~{ z)|h}!iD&<$fPoSKX<`*CP9j7FA@(_6{d#dj3RcfE&X%&`HvE0QNNJYJ6%+XO&67W8 z_~au=?ToJ!^Vi45-MaxNxY}q3iL23cWUsBM8}mq|ue)oTFq7>`X;#=5>xF&YF|bPR z@&%Gz4yNTsF!LXdS-9e896L?=!<BK+1>FxCnG#Fc@0f*j=0+sKqIaXFIG!TA7Arwo zE=vNn3B|?${@R7#nQpJl0d9QJN<Xl+LS6o~wW4qgDk&x4B|3S};f!Gxl!}5p`?g~G zCNtI=>VIsW<p?Faq)FF%eUXcih`48Y3+!l8+`|<Zj)Qh+x2(AVw=y{NfHz%1^Us&_ zqHJW|goRc{%;uN}{Np;zURx|VCN3DptAhvhGlhkCV-V%MH<(E*ps*g=xg~J}L{s4j zE)0<1f?q=0dwzmz%n1vNIiiA+mz)=9!F_m@ao>$|Gm&AA5ORa+N?2|TIQK!w4f-@s z*b^See4VnrVScaa6k|xB&!^W1R$2FPDtq-khWZdnNr2Pr?4hPtIgVR%TZO{Fn~7Zz zJ0I_Nug)Fw^#<rbOmx_0z;+ljBf@R?FmGmxZe%kE_c+rlxRzg{b?5i0U-BdQ{%yU8 zmr(+aG?lC=z_TY-&J+_rOS7SYTMaw>e|<8TMrJW6n*n`m94e+@`n}EdnQJT*im(`o zVQbvNk8lfRlugeGpxymo3n=hpW5dy~F4zr{gI~*5`|?Zl^nMRvFU(hs0()kxn02%7 zNwUn|mC%X|Twf)><4*ii1XyI>!q5?=)?TP%qO=Q^!G91Dt7HGmG4+HdIt&4>5_bn2 z*<X0C2u^Udo`^%|l}_#twctH6^cOcpS|~x8=#uskE1jGgnS=UD;iDst&GcIr!4XPv z<LtfDSvCbwC5jE0Fd=J^h1&iVzju;Ve;0Y=vqMHvx)NZcdof-Wxu?~+$137NSwBfY zjm8YxCt};syIBz&Tn-PjnY2Uu>kl*l?*dMpMn}ARC8@SS**MBH<gK$fr&yz-U0QZ6 zl!$DF|3H(|{WVYE3+eASJJaluY<=$e&X&^(>oZ603t+Z?kgd>umQQCRDsqIAu+^km z<emRixfHSSNMgM`D<;<OPg2B@;5==ymr&$V#j%ZmlCSm17dMDWSix0kY1^`nB`Dy~ zh|~GZT*$eBrETD{`TtCRpl!G-1(jGx!0cZK7<wv~F3@uE>vTojr4L>2lyrPhjm1L$ z`}(aJC&9OuD#-o12NgViTTU-h7jx=yH$e1QvFOl~UVYp_r_8=T3*Ih%71NgN3vH{n zzkvYt&*>g^V*#o4*!c4WFy3>sp*JeCY55)j!$KO5Zvc*#N?o&CW^Jk97^#%53Fscs z5`?&ooflX$urA=3-Qy<$)HJjp6JPAeg`>FVhV6}ppU8n<xapxn_OFpFfyuu1h01Bm zdtl@P*RdKpdDn{xS48aeh8BmloSp9bomo6xQ7FNH?BqnBDJr@Q8nhS~vXXap+@fV{ zW}{tvNVkoMkC4IJZC&*9%8hr+0^0?r553g%`R@l6VEfK+E%yZxV<BEVEw6##oK+UR z{aL+1V40U;-wL=4w-c_~ros+EL`VY+PxXr4Z5@pfl~o(T7><6W#x&)8#~uRXruiAJ zq6yOlH*DGYF5P6DI1n?<I3vp`NUv9qewm>}kt|S;qN!QHP0%FJt{89G(N8ZbiDBym zjx5$768+NTdQ|YQ>29Ox2Jb-<1(3E&<vC^jLy%ON6~PT?pH%eTrZsj!)`c&}8qoI~ zgjZa}9f1#DTlYEfB1C~9oKlQ8vTkCnI;{L78g`x^bA=~izf~ih*F+yQg8qrFm%LZO z)*n=+ctaCfb$I&Ni>GQR*Xcha-FE??g6BCxn@^jk*)cadd91LFU~1sHQ&zk90Z*;$ z3eiBia!lSIrEu<%ZIm!!N31AeWUzuS)Zu>7Q!rS$NdiWQ5%qxJ0<`cR&dEKZWN!A; z!^6njk_#Embno=MkXKQnkwkXeA^e4k4(<>~OrIK$2Cw8*CVgjR6&q_V{@bH3DfGKn zqEZLkFMr#|nBF3WcQTn#Qe>ZE(IyaXf(Y1^5zFNgovkYt%7Ar}zylK%>z)2gMZ5aX zf4W!{?><7D9>`?D9vFL!%Uze3pP^es_X-wtu;M!7zDpkKVRhM`m36Xsq=QFmnc&e{ zfouYYH=4^$yjzqHMxNS0=)nz)Utkp&WC5d@sz%Iw*SlYe5D_PL^RHdk;61#$m57`A z;dPsbf#8bcdUq#e4uGF>?BzehzTSnH3lah&^%3Dc>Vmpnm<_bdDG@(iEMT74nrqm2 z3S1KvSF6%d^AQF)W34hUfqvHVl+UcY>lR==6u1c#snE^mOj*HEO6e&XbTCjZhU#uz zzZOl`-Yd_+stKDZpN-^|40)SSkFsI3PCfAo^JQL9QJ(-5JUkKS3jW2WaoakMKTp?D zRpUfyS`l}8xT%}e7=YrJ2pJp@yneIyEiE!HPCj`tJ>-uy-$sG6;FFg}^nivO((~Yd z>uFVgO@1QW<1jW5|9(LOk-4wniM=Q*WcvrPC7-JUe+*TKMl2$liS9q%oUdR*7)Syc zJOFzc&xtAxMc&alC34s7jzOyCesE7AR-S(cun35whE-)~AeMte95dPAZ3*BItMJfq zf}x5b>ngo=XxHoKhG9_FUFlX~E-Z7tTQT~2@f)x^rY*w0bs!@QJfvb#l2yB6YZl8W z)YJbnECw5<4ZSKVzS2L#%5nc3tEx4y0Q|i0JSx(8rJ(bwBj}~eG|H^_*<fPrK^ab8 z4>eV|(klvYYdo*?(m~|pd`jMSo+_*5RS(2H{@ewq4o{bvNxXZfR3Xu!8--F3(`DAw ziq>PfSw{HTUA{2Ccgq)1A~wT<IuN_-uBH%&4fL28Rgo(*Bf0<--4W8|M!vT?4b{Ur zj@&*!K~O>gq&&tPkF#|*h7>Q_e%)Uc{dpnlIsFA7V2C7!x-Ua}$|3`?Z)IPLUgK@8 z<Y6)z%KU7)iaAr*)%C(%X?BKG6{@2PO613o2g(eXd84Eg9`6Q8NaTd><&)b_;K>Y@ zd6+-$N8}U?_}Vb`uKG!7PhwTUJ?!a>Ry5}0XDRJ8wgB(VChWcW*j<r9b#5=7%aF;{ ze@*};52RX5HZpxP=R(n;4-O=5aSDJpIP&3Zv^w(XxNjFRnIU6_9bk~E%LF*JEDd*G zwT?YL0bCxGL7HcUttRW7q=T=j&7rSrl7Vq?)>AbFZ#abp?{3fdCzV^)0muvzU(C<1 ztS5J)s-q%0sR|#79T=j^A!vSb{IveZ;Mx*_OeIZ6vt`m*eesmOxo3Zi;9)>D5?-&- zz5t&JE4G|K4~kIJaOGf(6`pMxWE5%Q{;>}lo|Yq=dO;dEs<}c9q^4mRh=-V~-Shk< zX=gnbcQVF~gkVusf_L!VmA-0tVaSmA)nlT>>vMouG@{#+B+#P%6Il9p+ZCl7bhBfp zdT5QlFe=6ok8tt!GTyt>?Pg!JPlJUR^;bY}?;`8mzNY7ZZ##;h^5b5x3?%Jw!ee-l zkBEc?mq%vrIs6rpJl1ukOQdZAj!`|^mYOHh4lK-IZ5iY~aVlS_d`nCpKVm|ZGru4L zB<ajwF%yN$^Kp1K#94s4_@xGjq^5VNXW;-Fp6qa5?S$2?Oiop-e$?k+*PS6N%19P_ zif1wz#qHqDwAvnEOJn%RZYrs`2MX+xug+5dX8=)J(oxz1{yJ}^!5sO-tTNcH;+?c9 zygt$}-P#6y2gLO;k)J@G$@^Ab=B-B_UaLmv2!bR?9XQfB`ObB^=7bJ1J5E_aX_^O4 z5PyU4iV*HR^CIPZ;uKUl|6@Bh@G=!5-|@y1PiYpjB0`TSW)t`jsH=8l4J=|fbCu2A zOJ&TXH2#OVlvw8Oj)JLX3Lfz{D+7u7oOefk-`Qg`{%fhWn(EW_Ik)!l14LpX^Oo!) zagsm+h(Qm=sI*~sc-kBwd5@6X0~6kUn?y!8H;2_#D5$fkX;YE=CkoKgAts(OEzXo5 z`=3LPIAj{;Axj_dY3`**BLNRUGmnTJ7b`wIr(#4YIEuvfKfoRAYgzr*l8XAqY<Lmw z(4e?A|0HrV-c3aj3Rpzz_c3V!1^8S(a+$RY%fEzV4_^CBWKkQH*ONirK?7FCJlxQ( zLantEeVplV*Q|>T;rYP|*YQ8beCoeq+Ymp6{yi^cDk1g){QB;MeX+fY8?&s3%*2gH z<!t`u7m;4^V~zrp^Ilv_POmUzhR3)QV@N}4`MmxMu6qACCsS#6KF>!L$7C)N{RWfy zQS)m4?L!CCT}Fr^g6}{QmC=HO62$tV94T=BL7)faB?8w6PI<*)1;;#~uY+C{6VTJ8 z%$`L%g6l~-GIYVyDE|MGn?ayQ=<Qd?Sd~gzjz+dRXq+o<2KfJtvy>X@|6_qn_3Zbo zGd$$?trT>KL87sLyYVa@3xH*k-K-SY0H=32t_90JLh}*BS%Ew(dV^`72GI+=ftXt= z_^bhjVdQ(Mm+$qlDlCemAm(y`Wb)Nt-h9Ox{Cb?4Z@zqgwXI_v+$JI2D!?joNtI6J zJF4h%2UH{yRB&rSVigwLUVsv-JPLcn-;X*w0oxZNWsla{^^lOy`&aO)Ux;V=efMO4 zH50V`{$qJ3`0N$1Sx`J<XCl>AO&r!CR?$A(c&2;}#*6+R<FIH=d|aHJqYY{^&M-7w z!N`lhM8fGKO;R9`#r@y5GhpzHswu#6-M2JnHhCcu#V9GRux?&htgl1SJ^(F<w+c|H zQND!xu4z!F;g-Zl4xKJou17aCfD$6_MkV!>)zbeQm#}J_d4T}Ql9-gr^@(}Q=wIXT z(k7P5g)j62bv<cEF>}83R}1aWB!}6m(Fv|H=ff&-R(7Z<hIs1jK0b_SLl=J`Lmpzm zXttH9y(a^zD1)5rvS5%7UdE&d!A_zHa<WW2m&MRdGt5|LHQl-_WTje^-1I%xxPD9d z@(1B?jw;=Y6N^m<IPn|HAX<@gTSjkbpDN?V<3GL_U-l_nDnfK)mNL(tZAbL(?m&c^ zMd|#{B8UBmqAw-#HY2x7-_o9A#RA|gYh$z=NsaZ_dH`fVc{@{F2JuP`N^PY5(r%ot zfPx+%2{ypg6p#1pYi@@llv!c%p4@{OI8KqEPQi!sJj3!Q-GEipJU<sTu7Qm81W$Y! zf)XoIoiT^D*M7Uv0UxX1#Z6~Dst~gXIM-X4e(M=SNQ3I-@CRMe@2a)y@oEJ>9<^?I ztBkcI0pbk*kfwoh-BfDIaS^ZjY;j&D4gVbTzlL9#9h(PdN`P#{s8oaQu1}TEgG=${ z)0o%gppq4^o*il2zH2h!cmhoMqLR{*weO`Rbf+n-CaVK0=e?9CtRD5E)Eb#g@TB<G zIOPtE@y!C}h#}|PuwaMCDLlpzf=%&WTrPnyJ23S8G>)upcn(G4dnY*kVfBe~k7;P| z1_iW_qiPi?oC59K<yxxki}8<nbs0RC0c*Y(ZHkvc^8>+_T5|S2;AT>-XMBM`<E9gF z$NQ&*u`C0EL!>1Xiz;-4(i!4QctJI_a)hXVAK}Y*pmE^K=1uXY+>)LfMGESq*c;Gq zl5^Lq+gAJEr{J9#$X0(o1I}o`!7*dPf?uwiNuJ1o9)R>i$O9!RsoJk!k2{Z&W-vQG zjKnNC>-6!9DA+<F_7051Nz8Ix!M2*u`B4K0Dc+JspL{hhgs*Zul^vrn2fcOSNN+_M zE{Ma7W!tRtZrV*i#?T5-7{MiHQd9!A2ok}65i@Ge$SyKIAN}HO0*L}(H;1RxTsJF3 zlp4Wj27lJ7-lxeQf{E22ynx8KZhp=t?Z+}tj9HMw@_Wc@EkcV?E>{keRn|a<P|hoX zpV?q1uK7Z5VpQHbCH?)ggbIO}L9yyQ(Iby_04m+UZKCc7=jJ4#8`NB}2a^HH2)bui z=lQ@4A3IY#t>({}UdBp5R_0rh6hZ=hE%5LP1)P(9_6Zm<6tX)9sDXam4|n6^4+BSh z+8IVPqrJ2kncLQO^p@MSigVrA8t7RMaY%lD<+4MC+#l7`Zmk2>>z9*PK4Z-zz*5BN z)@HrLk_8w@{%U~Vih8p<4h^2TS~lBF)3Ff)MB9_OQV-8Ox_$Mv5VwXM<Cx;@+3HS+ zO5d~^HH7gz7En%0Z7FYHu+AjJvd#z}K*8+Lm3i<F<ikOZfzv16yo}920{mA10^Y7j znM2guQFWCKV;|R@N7WpNQwN5`04)gGwwJrd*YuzpZWUJ>>!%7nn<6rVw|3N3*5+uz zz96y@{`Mbh{9!0r3RmI8Ng`APf-r)Li^tgG5plZ063|VVhsWL1e+bu@h47PgXVk!% z?Oz2h^agR?br4~xF(>eH@F{un{xNz*0!op_+fJL@9s0t+!g+P_JjR@68Js}N?8xif z+HsP!rC|DqTLF(1cEe@{$^0E9p^MeGkTqUBm@9zsvmXx)3iIGad&%|YP%CocTfHU3 z3KE9*HoPCPl+_Q2uh<WtV#u%99Iqj9c1K;S?m`h8#Mbl>k=@NQI8Gv4@64TQBSR%k zNLH1g#V^5L+4%UR-OjhNR@m~hT^IB?qwZ+X6e6#H^7K!le#op?bc_Bp$*lOUWE7V4 z^am3;+uXm8ib(H}nEmF*_WF4$njTy9Vp4=6(iGVF3W@#-m!Z41?4JU@ybzxCucXVO z1nst^V~)7RuAgb}#aJv`Y9)@nay+A^6@Ki06Q2Pn;xi&c-y^lAUU=L%5hpJ1y>@DO z!A}Q04T)45XkGJ|4DBjsczlrLk4LAd5D1MI2<rkhD;~*tjqqdaXs<CEM%)*ouO7f| z1p7pJsKl3!E1-Z=I2R)QCh(CF9*g?CBpl-y<pHf5&l^32<&C0Rl0qmXuHyk;#Fm`| z)X454o;7OOVU$i%Dk|JwsG&vQYd!Cm82w5Eegp{b(c%uyiXILgAQJx1UP6l))Anae zi!asD^<dAG83w2tVzRqYecbqY*DC5czQ!_ajp-;8wU8M1w*vOqv(&#KIl12o96BTT zJES*%@T-F-Z6cWQZOk%}(s&Kpuk68Wo8Bi{c|pAsrzdN?lFi4gsDW*#j~X97q#DqD z1y)Fl@-Wgk`3-fDNUv0D3)oQaAomWuFo4n?FlG+~dowtFI==b{4^yGMFha|~edYmP zw^^woagH@o<zXE-q+P?43(zaJBr<ywR`^+;s`@+(*%X&`s;?f6ypmh{uUHK)<wJqv zvfxGEI8qSAC9B$H=s;1CsvASPIGWOaim|*`zzhM(9J>ZwagH?-py350&cq1kcffHr zBbL#e-r}KK)Kc+S2kwss40z_DZcpZ50nkBQSw9tX_EkQe?W8JA&}mZD3ZwR{9(`%Z zHv6x^&jab8==Gn$_cI*jFRuo2x?vThrWF#OVR;RXZ}AHUMXDx@5fqL<q`RtTgx`v_ zGE$$tf4{fi8!+fGnU!?|IeNx!l!$~e7*<Sy65Zjf>AY9z{sIvWyM2BX=T>8O#8CL_ z9{A+g-ex7J^APX2wQwP7^+WD$ywqHhJN}W}`Q<z3fD%@K;6m@Q%59jbt=F+v<DgUm zFj4?+VX>_1lE*u3Kw$a(_JADXP84ssNI~sRH2+><R`WRDQP+t5H!m3LD6OCZhMn}p z$U@Yn!D}TE<TcM9lakG`5;r896N51K18VAkbaHvGPj+W_CH;enLGZj55~XyivM+x~ zACdA-4eWWL<PY?3tR*x_mQzS#S8r;!$RQB$z8uDP=5*friwT;k2%nJ%&%~_G6x2xa zY13gP8_cjQ>@5~WQ{gq4j!<&n-I*BG9OnVafzeNU4SHL?NJb<L)F*p(vDP9-ClyUb z95q8;j25`6*QJVor5(D1pa;ZRl0WmWBdrk6N=@Qaeo|i-_g7eZhm-1h_E*t2aXV*v z!GoCBemzX3Fs21H_^lmxOEiXC;e8IJ9~;Pwv9@8P-g7%O4_0V|T`?!6KI&8N){^R5 zP~FD4@Gp|@Uwi_u6FF^!JBix4WsFw6H$26OOwNl^TB0Z$%Mq{;n|VajmZ4L6aJ|#9 z<f%n?pQ8i<-lxQP?zxO%=!|~moFr0!L9%6)nC7r=e=8Q1fY{N2<nadHomw;%_|WD~ z;!v$;s1fpP0P|cLEC#mnF1C$Lnq8>S5rj*&+Bl5tM7j7hM=uVsNs*=`j_XF_faToa zWrr9qQDJH%UbO+^*o)&=e}+7sL@^6c`PYKmnaX>d5o;;UU`d(<ln=I^%I~nEp@gJ0 z)L$c3fUFWM_1vJmg=dfx^W8JBkkF<;8>R(}Sl!@NFo@HRkt~fUzmix3tI$n_8G*NQ z4=343%3(R70a#9`?oQ^l$94+?`w5qA;Q^>gBFfQiAZdU_pw9=?YuH55z3+_9xvaOr zdfT;#nF+UB|H#>h4Z1^P-=;x-^}puB;T*Fe%vU1@^NrZ9%1Zx8Q5FUgL9{c#tumYV z(+s?afj}%ewb<@YHao<#p~~1H)?O3`Kf<U*eA^-!+--QSXxwM-qdG`=qvX|FlKHUT zqmQh1()=j)Q^AM%0w_(ODg*XN-UKsH8QI$8r6A0cj}QpuZ3$LLsRRX@VJwtjfccN| z89Jk&#_S_|*|9DDJV~6SjJ3_4VXt<K$m@qg0!9un{f@3xify>o_V$C+J8E=?{udHV zBS=u@E)w_4Ygeo~$$OX>lx{WcuA&YvTSla*rw=%53qAmN=I2T#=Gq2=G;Wb>A6ta` z`nIjblvn?WOCSZMH%E@s-6|k4hDbr_ZJ(knKcegX7e=y_a@~p90cS3~9izKd@@HHE z(dc;3xEp3a{P(~S+5;HzX99B4$=-_-ds)cR0dpU2v*0Xwh3@E;?%7M?W?~LZr@oeV za!hf&$Ut3+dO&4FwVjB_o5_2|{|&7mVY!8;;C6f=@NzGL#;7yMf_Db*D%X71M(3Bl zf&phOU*=C=+*q9!FTPm*@W^EE7QA<63X~yAlL_a9yqc22*{ksr2j&?YU@YbK#Z&Os zCpFKUCPHtbM!a6lg&xGIUXk3xk2eAH{sC>52*-ZMcw&_JHXQc+X`Z<fW6c{rBXt-` zx%^%<vfe*_j9`3<Kxj+i<S54LD0k@s%GHRah$AzoTlJq~@HP>9Rd^)=>zvIr&zPb@ z&;%?aG0D-GxC~b^08eTzujfTs5Ucl)Dyl>+ijCJet;P@VpgpP}ZH*U#=C}j!u%?{~ zmHBzv&V@wUjHDn+M_4@eDO};7)!KXLP{|&3F~;jSZ7f?(;l014?uyl;lkM}-7k(A1 zG2&FOE~13!8WTC$bM*zNf~H%+MjexH%cm1hLQR=G;6~$?Qsc11gKZwk??6d;ZEL49 zkq&O^u8yDd#t5l??5t6*5FlfOVI=C$iO1vpxz@<t&H9lh?1|Pi0)QH0&fK%rd8jnj z+j81UdU(u`cnmJVe(3S-CBnu%HX&F@s#LuCG6sM0wOMM!Q8WdVVvNd}bBVZD`rEi6 zF*_{3%BNp9Tk;i@5&=LRjL(mG(@QP)t>g2qE!#iu+i|7l<M<!l{pP!GZlacs<o#1F z`M{_lHpK8)Ph~ccm({3GAucW+UdiHTBG8NyqAh?kG>yk)s=1e77T<SPFvd6HCpjv} zAO-wxS;0;9Mgx<G#tl_#{8h}ASwtU&qXm>oNNgC*`Icd5fxmJyncJm_(L%8DFilwr zJV$*4T5}1=O~>P8G<K3E<6T*$)wO&o)GxHan<CH=LroC_>J|+WB^p^X5$W43sGL&v z^Y-mE)ra0X-N$OrnD!k@JBPLi&cyixph)v+t(;uYA>*SceRrh;_y5l~!wmCbZcH8i zB1WTYh@Gh;>j!d>i4?bNyl=q@0~;lXVvW1QsLn(j7H-7RZHTfOVVUZfbQ+CgqrGk% zaAWNl1LRo~b#3r?M4Ks81|77q?I`O!6>0pSm_nS3P2y-ilg6J`pQuzqFss6Hy4%7- z>cBM{j~!(7KEk7POn1uz^7>&euxGfgrWoP8#RaGD?nVquuu|N74$5}H=MlERjCnd} zbw|6x@q);M3wX*ATsAn^IsKJh7KD~#3`}c4Pk7*E^!xNzx`^h27&Rzc6TEz^Q+DYm zl1S8f7|jJ0U)m6=z$}E^G_1aSO!#-!`KcZL)j;3@*!x%5In?=PkT?K&9+@y|x=&zl zH6n!?NaF4OCVH3tM*=y^8RWZ&pPawLonRlF2ZeYw`Vch5L#Ju-8$quBE_8a;LIr0> zu!acMbHlPj?+KOZ_u|>*#Nc==yS#=z9`trwjXv;F&L`Vw=hhGiC|AOOm}(_G^)CiB zx&(OX43HwxN2=QUyeOCQNr=D5aHaO3xj_I3`}2cC$}WS@3QxB8V+;Z~hnjeAT|@dl zd_LiXKlvBLS{=7f7Y2WpE`X@43{O3Gx?A(A_m)-82ALgMB1v090&l7S6&><C+g)32 z9?6zdpVE)&rGmE^`2On;|Jtmw7O_Z(Z7?xbk~h)laQ}omO87v5p3p==U9fWDEsMJ$ zg&a~FICHQZ65vk@;I+CJSQaR9CUSKRj6t#Io1x%9j6F9hKcRjt4l->}spyV9aLb`n zJx+WQt+Z_f1#M97IsDh3+;hEr<C^GLh@(N|=`#5Ftju^1ab@rZ)8L+&?N}<ss#JtB zx?Ggwit-n9ZlF*Zpj~4k4Px>+v@Bq)mwqe>m!ijm!XK6mEz2z$Fa^S*B6b@AVwUqV ztH2*folVFt$|g2hMzD|k+HV|U5IsBwWmu#oP%q2~m9-=)(A9vLO-yUSGH8clHnDEs z<;{hcLVCL3zwV7-!C0M9{=kq5tB8YKDr>m<SSUOe3Pa>h<L9U*51mBpdUW5zlJ9<( zhxy=jt=p@((};Nw6hAOYATE^oY=$IykP(BiQ12~r@kQ2sIK!2^s%Iu`r(B$``S(jL z*FvhN&#%I20z_onJhRm;v3dKQ&u8LvWz9&lo_TJ0WUAL=OFoOp2+QhSbk*5@Z=aYE zRGQ8`trAvZirK8<qoi5MHFBqNVzNjl6#g?uDspLf?(QeG$=d_40m}P~o-SKNWYciR zQ0j!bFtsr0HTGNaEgMxGHZ0Gi;7e@Z#yMy7iIS4`lv2d(-J!Khc`40@Xwr}RCK_LH zsPA|zeL9bFVbYo@p)1B+I(X~dX+!WJj}7e#z2RyZkzK_VL)mNNlGn)O^`KqXr2J5# zZp1!=#!(SMS^J}5O3IcaN=pnQRcnKIqu@Uy^;}$^JAc}4f1WASzuItnS_FGy`)A?u zP0<fw1$-h(dD#DEUxfeFIpHGLfc>xBh7S)?BBhnwXBLeP2w(dRcIx$v+y&H*@5mG) zxnKvdC<e*dO@|&;to_p8naz|Iz2N@tfG~?c9CeaIY0J#r_NujQ*}KtVx4R6~Igf0& zw@V}c@SuoktJ2_?MfWon(#|O1!GH&gV>mSVL8ewzKeFH?Q@+S&FUP|JRKFy@$9m0h zCOni_j(Hol<HlV+F_s@!7<LD-Q%p>Xs0|3>2?%|<V@FJ%>wTK_e%o=XJiqxj1QK{2 zn%`Yl{^;vAs$nqpuO|di*n<84?L^nKCI2WkR`;@L@@p~W$o_wKoq@0q@1QA)5&&2G zypHl~&+AhJTkWjB{2CBjY)26YDJ<LCOoS7U1l6E;gY7gh<J)O;tPW-PH-<+oW0<o) zILKQ?Udz$;MBxP^iUp63jha8X?Q1Oc=_VxyW!da@q8-1z?!KbzH!JH(*nY1`_w8{w z)X|6jy`)2BwCLyU^jJAm6Z!OUi6S;u&#O9z=*k50dYt40h3^S86|>H!;UN#N*T+*a zSQRq0%h_3H+MGMQuUDznV_kKleMMDAa}5eO0JDAgr{|32$Htl%hhbG(Wp~)HRn-b> zYdq4i5nKrgNDw`;?EVjL)lK5Iv-`bkJ6Iw;_fo?a^Y$-+cnaM%E*0soVQj4TZW>|H z4A{Pp4^`{ZRsV^@n0vXdB_p4#^8S74qHH}ALlj{V`qAC+>!k^M^*_f_C*)UYdeAg) z+$c@&BsVK!i{%?o`v1DxJJV&Ts&yG9Ys_u%qpfsn+_+I^OHTHOH2l)=n|=0us{H3b z!S4B0D%fs5jGOc%?I!ct@2}sj+NWcR5)PK)qRaaVKGG{=c^Sg``fpn<t-2~4#!b3M zSjz9$`kl_t_k~@6Pz~XG4}NH``v*lzU~wRAT3lSmRlDKRjfc^md2foYO2I~%_hWfu zX(g=b`2YAM^1W)#+u?BBCpg5YZap!<!YFLQnRnH8mr5^3UFSUl6FG0%HBD`#=6ya# z#6}r{4bsXPa`W0<btx0RWctB9Uh-V`N2g?K@J*BR3nfZz+7gO*+Cm8=RP<?nd%#`x zw&R1NFxZ>DfQST09(mE}woU>4PnFq)|D)=v<DzW3wt$LAJpzifK`1RD4JrsCB_SOu zAkEUSq=<sFba$+PbS$|@OLs_jcemf%i$3r3{ky+&&zzY#*O}{_nLXpuvE1=lA8nJQ zI+|aP&W)kB78<T{CTZJrzij6n1FxKb_YtJeJtwUQ!Ql6Z24DScCwA2-PVC>lIxmN4 zWJIc)8%CZC`|*1YKo2dL-ac9O>+w{+fZU38xX?B>PQ=1J9<D=@?l7N=haDQOGURCc zcfGurLzj-;mavHC3}}9Mnps&tMXhj2i09$U5>|akym+u-_&B!V^XXW}oSYiyO<Q*P zgB$uCi3ZQ5k&KR0fOquM9U2Kcl-x#{uHl+M3e~<M?P?T<eshFLMkHNF{l}j-N6x9? z;R)^4G1g5Jyu_9Hi2;cpuuPfoF<OG=%DSs=;fo#|4SIG@Z^S*&reL`wjiJaURuzLo zx*K+L=(IuNRs2dZr~y0G5Bpr(TpI=_zK1UDu6uSorj9um?|JF2!@2Uc+yd=p7IVTw z8O?M5w6%o;4dgZUD}GhxpQ!ZTJ))4ZGpBy$Yv~Q%Lc6VfrpbdYWfpX|`p~`Fpm8RX z?tts^mtN;fP$E8@wC%?PlYC`2C;*NL>i;`&6MKs)zuEC(v3HfpjRo~^+2pEvnrp{m zDQ)mwFk-RK-<@h2&H_Ci9pc_*!3gF|+#-Dth%Q<_3cbP5V;jN)4><NM6r%!9Fl=mp z-lB&da=u$OTl<cfXMeD^`02XQwO8a;GS{Kc3oB>y2-+(>iVXpezw-ADh9x11xS2t! z$!qMDf)Aw`aGCB1bHB#hnEh-r4a>O_ivLRp-y^Nw2Gqg>*D~PEGN<hVsxKqJO8`lX z_XV#MMA?kZioNSgYEVrc0dF82>@(Og040JjbX3mU6^3Pm{KtCPmCjmi1>Zm^{mrD= ziSPMixz!&KlvIZtyHl0d1X}8`#+f<?cLv$=snkS3-Ns9GPE2N%AO1Y0FbUKki5?Qd z7rjy;t%QM|$%s++>axp{hCTOwa4EHVAf7z_Q%s$+(G4n(yE$%WO9!cOmn{X$4V3kT zLGzeIu95x&lo!6k2Ni&y(EM1*t9&`qvjw(E^7DNUQ7BR@fFH&Wl`^esC0??DO7C3u z#HL)RpC~1#IV%-gH@eN}t8Ybsp3KvAxl<vcw3Y9W3Xjk#m_Mr^f67`dqUa**xua`+ z@9`}w=xu{$*%>}ddS+S49Ls4oJ|AiS_8+ObO|&;3Dm5IxHArVJEs(2dVdEua+!}Zu z<l!GZi!;8`JZm2>@x@^|#^HzTlQ%t6+S?ySRjOHj*@wHIY!+ml%CepcX$VgYiNzl+ zw)v8s)#`9yM3EbOkd!ctDp!2!U7<uHbHgK|s$|u9YNJ<SQ~Z)u$ogw6$-~+Sr2dFd zdtItWW?M<wOp`yIt8y7-mODX4<SWwij&N>dY}^QcT;n4c=t2GCC?}^hKS9goC}y(M zK`e{ohMs~|MiEzw^J4YnksecR)ccVawv+oS=6q&y>Fi5fSNT{ZHkGEA$%t{2c&@$B zm|Qx@ol9ro9A7NcXXx6hKqLwMuA!|>FnUmCsL<LZ6g#WUKgxmsZO^5|rhu+clhEW> zM=lQDF-m=YNb#2R^kNhrs^0N;Fn(shOl9cWFB2((Qo;>{{s)%d&f$w?bC*W%9*o>N z5o-NGtM1=CcTGHdG3;f5kdxU8AF9k?Ah`;G*Cv_3sch|>-ib0lsJ|2<LYaNeGeANY zGn^o<tEVkYLmP4IUU<A08-~Tfa=JNm%#IgFwC2>y&^xm2gKFt4T;uEQCG7M<NCvyD zy{c};#^<X{25=j<oX^#tiEaVUjc+8b8FA(KAt*K(ca3rA*xG607pS51(@4x!((@xr z0#LHOctKiDM9?rcU1Bs!ppQ+g>ucT8(;II#132C6$POe*7{u=P?sJhR_#v3AZyp={ z!Wktdyh;ciAFj#lJXLq?c<Ose5v_{cWct#Lk!gZGT+7D8I1^BZe1muA;EScA0k~<+ zVJ25y-P}*ZrjG0$B4F=#zd7Um>n*qwR9s~w{I-Sg5{UdWg$x{zr@H&Ns)~!-PWL|l z%<69Yqsli@DJ7sv45^u1%A;RnT1(xF@jTXPCsXo0xGP_g=4P<yK<#a|8I8-4#+^~| zt`6@xWpW?iA5C(-tL!&%B&mA4a;8luuOTxUDp^z{<lk6HUe#6oc|JX~w-OEAf&Fwg zl(m*YA)jLzOaIV6`;5I=R9yDoKvr!jRsqDEU@!=+pt}V^cZUUvc2B2G)MZD-btzKl z7BSE%y^$EyA^YwX@P^8T2JEadx%--s2Gi{63UMF-KxJ?){h&wv@031rog0=n)O*G9 zlnw2IhR1iWwA>eHy>Vct{?YuCOY81(;v|>om*P2_0+q|q046%cf;*sR<cH%sEEnGP zq=Z<NA!;=5Tb~iiIp9NUvY&2G{Y$W+1QgXQS#X|&4cYuQHjym9fn9LxwescL#!XRP zWDFyqE+!Ju9cfadcv`<Gs~H@By1Ce!2fUy$%yB`@)2;E>y&rnASimlHNzzXSdGX05 zLg_z_f0M&o7lXV<u)uH(-*Y{LLr0v*{l0>+lI(*(%FpSI@86WWsh5`8p3#f=@R8^@ z@2?hbdE(MAJd}uhY)k}T(d~g7@Pdg1aqXHkk~%sudu72uxqvM^2*S@Esc<A>`>2t= zmPiQc=Q?%&F7d0_X*?cS@UY+fz}}9vk}K=GuRyZ3qb#LC$}j3859WsmYAJ(0WVXYX z<!$&IsU7w)Vf9H!R{3SNW<1pDHz3<790_?35#pna2gAth176@hI5?$|@$`@e3z^KS zOFScmgW*^qed9CV#gJ*g1Q1IpUrNm8=4+ZRvqX*irLxc<a}pB5OBr?FJM9nm4ES%D zzBV7`n2GC9%2^v3a2jR7H#;Is*QowA2z9TLlR+B+smjG89EIp<4sU}7^~q}H{!)~# zlp6b3%HxzW+p|-_Flt6NeW(59W(<L0r*lRu(<27v?!tvjrWzZ3!|$r~$)a~#9n7>u zW;B=_(}GPqwOxdo0`}tzZ>_QDf1-2T@23QvQ@f0<d%M%$gjXHUB$u^oR*CpGCfX}` z%_)c^?v@+0V!-W=JjQwOM9DqOV2*N$C6t#$4px^i;$2@Y)!Jk+r%)~P<o@g&SLS<0 z4lJa6lDE3~!pg*FS{%Z7{LFFa#=yhGz;Ud}Y<$O2``CZ)hmupr?yg7Pt@IJ*GbLG^ z_U_<YsC%hNcCioV{ORtDfaI-_6S==!V-~HRO{?tE#lbnSFFEJi8g?I3oc8Ol$cbE& ze_L)~#uAm79IU$VHsGu0ux0u#w{o_r+?S#B5`>O!IO>5q;{jKnIp@SHf}6&wV5=|Y zsUl1)QNoru=q|h?cxKT;*t^#LQ=!CHu{UjkQ0Ws_UjS!+rX^)0gmmL-_<~%I!$+lc zqi<vLGUyF*IA$EKr)%`;kKYRP{ZZo(JD=T0){{9WQ*a+W26lhqHlT!fI&h%#>K3na zxXbCL{%{STzz%braXg?J!`A5t8j@)Cv2kmmmb#=~_2c&E&tHhH@hTFNOS1o+gtA+j zVWs}&WJ3R&#L?O6!SL>>MPbJRF9Z#jKl@lFow3*P=P!!a6Rz;0mw~Y*%-~~45LZF? zinY$Ub_1rL`R<+nv~Y$R6epZq6fS|h=2OpWy<;Wede=CcVAKyxp=GRX0^h3^AZ5}b zpO~voybgV~SZL}0*&gSKhr_~?O4EZXBXit|VrzU}egS-U1Wl+1SB9QrwD~7Wv!$OY z=%vhftqG_9!adf|gIMD!)NYM7EJHl4|7!~)G4HFCDY~gK=&i{ej*~WD_WpuA#kCR0 zQ!sOqMib}fe;wT)y~j=~&|qC#;4H9bmc@I$j_0vxZ^ma6V=3PvdTQ0sD;fEVLHpU= zF9<MH{G)+Uo9|v4QSQFp@DTG^$WliV3rj&_PT@PU7xoQ?MKJ%y|M>_4a~AqU-Uc#5 z4pF}1wC4eR5t{Xv-~+VvCj%R~L;@1Zm+vrlTT9grl`z6NWu<nwqLeg;d-g+zt@*4B zwmgTs$6FdG)#g_7#5!4E??y76vv|Xzj5r8YhkH1tGQE0p9nJXu8L>!{3;3?zge!zp z@-kcLw;m3cHnLhqfeu~m2o0n?t<t+u+~g_{neYV4|H2u0rO(}vaVil~xR%1g(pb<} zCmFC~`K%vECA?(N;J}sI9VNQ{*y*L1kK#jLdWN4W8tSx8oegkrnva_BiQ}`^+ThKj zb2T`&VYJIg=IB$!P7d~m2&0wbqcW4{8yS}qY|^qzQeHDo{#0*Kg=6yy6q{v*J2e=2 zW6%qcPGpI&dCUnZj9AQ59}I>cKV2_XC-`Bx&?)3evV1bm#o4kUNAMw`I1St3xLBLV zZF?G^e~wM$#HJ9e`L?)K=SdR;ezWQ__VX4Bapb3huPv_YfSZ~)^^VS*pVN}?s%zx9 zBXm}t*VqH%@ej;TCn7Q5=o@WlDxMdzR4Duayfz)>G^!)@OdPpd^i|63KVR!HfUl=N zg0F4ax(Aak-xO&(@U{S$(J#6v$7ou(#$z3LVnQafSdmu#dH1(9bmBD<14eVe&|lMC zrT-LCoT$VJz~%NM*KCZ&^rRkLUNzoLVF37HSI&dd>Tqg*bGWs;+vzBDad|(ztm*8m zImW^U_V8xBYxbavFN)vRbEpfkc=IlPm`UBAThID^V0`Lms9$N>{cpcGb=_5S22j5} z8&JPrwoX!ehPafb2^esnV=~tv{~hwEIMNUG<JaE_qlnm#2QVKG77{#DXG5iD+W|ts z*|;I_WQdCd_ZkC}4*h{BW?7ZJ`AIv4if;a;6bd2L#3&JaG&5TA-*84?1GU?Lug;Ee zO`oJ%CcRfpPbZ<<`zjO@*UB90>qx5bx3#6&8D&?0g==SAIr%@V|2y9n_`Hsf$uZ@s z2Uc8*E{`Qs+|95pP6sP}h@+f2s(43Ucw7K^Ht(@TD)OlOM#L54^FQMjezI17B_Q6v z_eXE;UU@>JQ5WyCBZ^&dmv@Y~?cPJG*K%sSK<!4vR>(j9=%|;Rl<eKzNX#fCi=<}J z6fraEtcVmvFi-vyNG3DVEj;^=MSq55OQY;Udx@FLi<=~f8~;Qqo%e&ivNzbpfDFi` z6j80!6?F!2KMs1C+nb;^QX<^8?$gVQCC&KT7??hsNyPr$9WM>LtE3K58B>|WA4r9e zw0@z#_f0Dh@QcP$K2^WW5Q?z=N1J;jU|-*A?x%W(>y%|{%+DS+>u=LVZFnIq)x+hk zuHyPN@veNY5yvGdE>VPh1>x@t<K5to%|?zn)*i}ArL$+8W}(Rm2pB?W0t>B2x>3?^ zDb-s2)VQlFO_63Rt<q_{EWc|~w{uGXF-WnJk+V7_ihTvTbzzKKZDuy<jSyJ?W1R@+ z+Yi0+r`wK~ghFgvz9CtKc14E`*EoNKyTyOMw4ze)GU7wyX_!AzfF~Vzp<#}Cw-aM? z>x|{n!FMVaE)mTlWa!rHR)Xx~<C2>_@#;v8cORC5E;nY05Ky1ChU<)22*bbfxfb^Y zM$DM;U5bv~QVg8(c`*?qT*g9K&4MksT9oEh^R0j7$Q#9vU%$h!{HEqc&nx)-SZ2z5 zv-sPmf(64c;j$2l>I=+UfJeKbf2t102#bIn`x$)5sFm9T6!P5ZC2)L*5WATgkU|B( z^9dv<)DEA6|EZp|Gaz|qR3v{chR5B?`El_t)is%f(HDLb;c?V<!$gB`K!x<vA`etp z;xrGN?d_RsM&JByLB+?GR7gtJmi%~*#46<h@VgbpYGpV*p&}c`uw&XfYF#N?LIE>1 z3wG1JX{OK6M)`BgX^iACei$_bUg4FuXVoPW^{uy?zU>;?w8r3un&CmG{Qcu3x%}k1 ztuf&1hqlnyg*Q#Sj<u>RU&{OD<r#g`q=33t>s&i7KBFIh$u2&po}xjdofxJ2?Sf8s zUNV-d1z#V*p|3sOqx;U4WGV+dfyka$?ZNju_INM{lj@_{{N3B=ZQjLwApl)p1k4@$ z6<=d`H;vtJ@EJ6CytPEHV8_$t*8XUpub%HP{@%_6bEnvT8@<K9agPrC_v=HUMsY$g zb&+*{zDC@xZOM`s8wE=jdM}olB;_mY=K0`$j2v}jpc>fWf0Z`Yj=zz<82fH>$nGPa zoUOcGanY-F%DD!{*e+kp>vhF7r!ub@J#Z!ZQ}?ZS!g+hwrEQu)oM*ZqFOEzR`lCxR zkIS~IYny*5upG<i8c-fT%D*?!vVKF{E50yj@deMX*e@N=@={#rq1yIav3ZBcV3(0& z>1~2Y{+J}Acz>nI^-^+c!%+Qvl?D8vZs8D0%p7uVIK88t;|H@9P9EwmoNF@tjSych zR4;%rW05p6>}A;%b?OZ-{Pd9#B&K!}Zz|b~0$xBd)}21C(gfN7HC)Z>Kj@^Zd>HN) z#^&S(d;DaxP$kbPfG(x<Pru$CK^cB#sLh?C&|xdS!>^rn8<1!SlY}zgNpsxxHj&cE zz``4X*Rd^aTuaUx8iSpkBL#1ys_&=>*P=`$PAJ>FEc$y^Lr&yro)?*|ShE9<K&KdO zLz|twVo!0dK5a}!JllfkuwOGw@ObEVKdbF<Hb?GbBg)K$;5{RH<ChI82ISr^+(bPX zOL6DvmX^Tqf&*imY4d8c28uw^80ZS?q!iNcPW8|M<X)sO%_}_ON1yZUy}p2bKDRK8 zlGB}8e_N+^(~$w|-3F8aS+tEZ<d7B&nH;6)5?#iVgo;yKI@Emk!#UzBon4%Jk=YB~ zgKP1(4T-XMmjkB{b*cAFC}i`d5#h(~j97TX=J!NImLHwkd^dw#Up`vpyX4xzBJ`uz zA#>2$2St$PemGTdqz1O(Ie&`+i%l!eVDW(htf6T|c-><7t6S#LTWCD2$<#E*3nl&N zE}J8FAeY;7l<gkOh_zZctV+g>@qGDgN-wDZ!_mcYV{|{}G@22IY^<QSR!e{yvd7}8 zhd)~i4H$U&k%0QoWN3FjJa&BWv>_0@GQ{+ZoH6Bd$mcpni@o0Z;x(R~Z#I=--JekE znHs8wjp)BVmGHFpwr{Ox5Cr6~;MVp!WDQz-qvBiawtSOLEOTz4eL?dx4D5<8trX)W z6Kz0P*^#S!uKjbEc_no31n?KZuaq0{JX4Fq3XFpONJpWF#g()^G7%AuksRQQfHSy7 zaF|C|R!MAn(hg){7v4ZMw&{-sGCBO?LVyeu12RAk+jC@PdD;r+&1q~>d-aD6*fN@i zv%-P^4N>XeQl5TXuD|<vl^y->E0F2fZrxfZqXGl?Rfisc5ssBYAdNU&Q62!A`Ocr` zCcwu>a}K^&ZjUY2JbOlw3;98i9H^zL?8V|Oe>{IlZYEp1GmUQXhN#1Kx}vMyCoYn- zYYZ5oPR|S@0rd*CIQLPwRz*IjIwaekaPc*l+UV(;CRV_Jxag$OdFEhY(dDXSiY*dm zl`CNKeG>lu>udx@?;BJ7#}!<O6;T7O03=uHP0sD6F(pi9xHh@m`d8G@u0YYtllpt) zBCk%{ycoE5Au#-0{8>S-gDmA$2j4Dawr{0JddK@W>IV03mZi08h_xlj-}+jr@7QNo z<O_TOKX-HXw~cm`nO5p`pI(p=xY+0UG$3D4ZywbR2*Eqx3dm!A;wQimK<@wXfiiXA z2`-UX!mk*DY(!M_eUr;~kgri#$0d93pQUH~r3ApYyfiDLWZtqPFa>hWVfRh=1bEmS z18Yjms-i@1BJ|(?AtKgD=Aj<8!}+zn$~8mSylBApG&Rj6*#~ALj-3A`1q(*rS^Cni zz{}1lYlcT>O9X~dHwN9)e<8C^_0GnMPO<-N_Ty;y!}kUShXcYBh}eF`w{04o44aN9 z2TUY90Z9Nf$2fCxax{eFoc7bq1N|0M$li2{@G(@Kyd5baO5+9T!#@n8TX{G9rS|^t zfc2_j7%gu>Nl)QINwn@r%ba|KnH(N_|39V2q5*3RkNeKK$T@d%)R(a@!#aDdF2(=g ziE#8o?rWIAe0EFrLFnHZPCaRqv)nMKKS;0_<6OzwiLDAk?-q(Fy{WwGedk-_WdMK^ z*00Ce%jrTte}2z;0biqYryL0Tg#i1}S&m!%t;M2e&+01<JPQ-SR!U1Eduv%~$Wrhe z6BzJsAr-p2DH?X_s!Q_<7Yttbu;XC$vP5TiDY|=mBG5hV4Yuu_qy(^;a;O6eKUqgG z|H#tpr2X`uk|_n}tV9W!$J?m^?MJ`}f5#uhFHbIx72FYQuW;PbuY&rY?f+Ik2f({~ zTlQ9q<&bLC_`Tw@_vcRIVdxm(u0Y#=KL^+!1K5W?XDLCepXKB7YWXktpXbZ(*zT8H zd~f1!F6nSLsr}FQ$I}86A?$1cEFyKim06?{$?8zLblm1WL2Wvk3Vh>#_ghux$p{Q} z7|m!&F~)KHOgs+x2fPhl`35$w#u^~phpVum4vU~bz~Oa1VFX}N4Vdpy+QNjv`83%< z#b@)rTco(`<=q}vh}dBl_&dfd?!_t}iNr!{u9b$?e3+x%=#z}7ybm196Z~U!GYfo) zKd%`2aq(cVv=I|GDiG=$5UBa;g+faZ2e?syIR8kA4W$iwKltJ`)bCyiX8y3bjWk#e z%1Scb+J5J8L~;=cOmorvp%LwFod)+=Eq2czgPh<_hPLB<Lu>BosA5sM9yyz9FF|=O z3S7zBt@EFtK9|qJtVXBw{&30OS&)5K-w>X(^OC-qR&{e=Bc)FPp6lBVcd&E0K>@)x zN!8>9al+tNl_CmPK(vq9n{~mae+9eb`_-`3_@&zwZ3G%6+-G`x10)aiZCv-!WB?;w zWe&Y>O0;%9$GckXl6wiXdBFxQBL1k7iJDK+iXb6a1$h<6z*GD@!k2Na@|4@HxF!?i z{?a*6;LoGOmeZuWXSN~`2|NKv3FboNd;EUbrIwFjuJXp)Cr8FWxXp`FE$tVNj`g}p zp_#@+O%Z}OO!}?kYbbu9u8s#u!Q{SK<Rlc}N7eEcwD`R(Yw8TmEXm$@ldcfk;`UdG zi7_h~I=;T_@poK6-zLQ+J*oF^%d$sSM+WRoqf!vek=kKy#kN%v#^;${+eFLCt|=O8 z8r6+QS$KJK33;QUB3>&%GypYpz$}XPGUM{AnK!ExaD3jt^rMHnQP$vKA<Zvu^p^WR z7*rs1u<#^=OF;V!7NBaR+wZy4?$I{$J<WA;L4n<{B5I}CGPB9y^_vx^ULHB#K<ieF zO{|b!EI}%Ry=kW(#$JvRpUwNx=-d|PRfGTV3Xazqc|Fo=s7aQ)?b*$e#LV2$l)-w? z1zR~D-)*1inE{Cn%9>eCEV(ANs>9`+;iU10k}kU;zJTpQ>_ET&MuT{@QC10}`%tg) zB|1Mq?HaRerSW;>Abq3WD_@_1_hYj+ZhSzY<Cd95v1nDwKV{2_ePDYeV~PDPNb-EH zhpj1dZD}xap}6Tah!s*mlHik_=CT#xSxL@@%mmgqmj0R>(j6Z+Z8ZCRH>h)|mg8DR zBt))eTsR5kTPpI3ds($6AUg?)9bYg6KS$7jhUw@*IxPM=&0sjs)HQlUpT~J7sSc^O zK%c;Jb`}8yRFErZZt>6~F+8)|7>*Z*3LaljggY2bbge=*xB5T})Q><5pQf&*BT$&1 zvbCM-K$c{K<hICh)Js6H=+-R?3OxOK@^yY{fthS8p3JN_vuRyinab;%D@iX0LlDdr z&S6QZyCE$Ho;J-Q)oIZJDzvm@5zL}}MQw9Soqb=@8Nu2g6)v&{cVwH=z*4BanutNc z4_!1Vgg)GlY@?i9D$OLFNP(KL?F-yX0-ipZ1gt~`<xQ(<>+%xB#DpNbh_d|kBv3H@ zR^&)N(89(U<Xa?<^X+mlBo+W+SW*Qu8J9z~Ox3?LXYCIbbD9A(QG+>WS4|I^fQ}Lv zUEkT<XT{aqQC+qQ?6!+}&j4q3`yN*cxS}Pw1Hba#c2+W|(#{i)SH;iLy@mVHRJOkH zSsv~U_q)Fy#uJAZ4=dXkk1z(*Zu+-(r7nmYtvGs3Cq|0O-+FLkJXrz&<~iRc9}hT2 z7<mcUKBIaP@AD^y9Ai@egFA!3W8eWfG_V?ocnjVUzb*3$^gb?mE&asOhqFu1vo?E0 zXx{Ls><fk-zN>@&n#O`d*braAy-Tnj+MP9&+3W51vElPZ92wyJfVvRT*E08&yRw18 zSmK0{)LJjBa6<a1cQ?^YBMb(43YmF~(em+(O8Z;icX9peHGY-Z73KCYNDLIre2&-1 z6m=~xi5&=eC?h*I3epW7(7^%0s8E;@)ZC1vUKrT~E;VxXQ?as|j3wjm?pf1Th}|2P zr3a7xpwhxA2CW5?NGLZmLkY|WrOjbqNDvCQWMscW%_&O}hDBUmH<|k}jC6GiQ{gQL zcT*n6h<-m&!U%kBA)a)b(KwJ>FG)r!eJoDzQ6A}LylJ7wqW`@TD>iPp<aKM+bP+gm z95Bc|=kb6C_C1a*YZ4k!$dz*~ru@Lrny@aPumkwE(E1Sr_K(it9xTDQY|;c1Re?U( zc2EM105M?OJirb`yWRJ!;Sk#g-)mg(g->?n7pH^PfllX=4=jpGfIBc)X-L58hxU7} zmp!3>y#YS_&Qs=%xDhC4XYeOmC@*)B`!ZU$>=gNh6EFbi!jfr~gAc%=Q+)+*)l@D3 zvY*{_Z)vwMg;^Qk8d0skIHJ4krEGC&CyV|j{Dgj|^7ED>nXf^8lNJv^eVfWBM?rlD zGQ5RKYYkkejdlT7Zdv_D?Z3Igjsag7dp4AGlYL0dHUc(!D>L8-4~1`cIxU3DgAtZ! zn%GFy;?^(O{F|mc4fzBze%qYToawBoK`g;f$0{D`cyvlH?cN*kmMBEAps&%;$8B5t z^YwUX(SaX<#6kG#6d3d2a^5g>d>A^tM|H=P+~>-tkgzMhHG%z33ndekmfW{4SV95( zkLEDv1p%QCDNecsn>Hod&In~FJA1_akdHhDjrp|Ax0|>J9U17ZAHTf2+Y4yIh|t*o zrtELF5KLKw40^c`B)LoOdFW(;@-6t)ocJcFb7%JRixA;S*PrED!s?UNoLmGa0ASb= zI;*NVR$Bc;cs8ecno@-=wZ$-hP{c7fuF*Q)8Go#i`-ds@HbFFhjQdh|?Ot#A<6i}l zqAAR!`92Wq7X>E)anX7$2ma&8Y{HC>(_DZXq!hn5lychDn^3)K{=KEcOyY!n&05c2 z23%hQS@L7{3MSbZJa!><>hzMLrjc#y`&Y4@%zlw+PU@$7X2m1(Nh;(<N>CalV?Bb> zx$BFf8pDDC975kT11gG?+o3d|CP)Jo>Nt#U(--WvQfBh9aMtZE(+d`-wNrUQ`GL~8 zDojeyEeDO29!vW?xWteMLjI_I5(J%Mr1ls_L`f06L_bHKj2L;kvN~#4#HM&#Vt_-} zeAXqWADPX@88!`qgWfEGH%3x1S)Z(Aq^wkxwHf+A-{4rliKBI`V6YIhI1$fR5_$#5 zO%8<b3u-{o0aJvmmdOM^gSJ^KUe}JCdh$Xz*1Z|&N}B;+msSpT8Pr}0l!eU7UStWY z$K*R>9UexC&wPJgf$%F5>onsIq<yqSkgtwpdh~<qY?&+f{OHcy5@|#~2o+`~26Mw5 z-3(c<C#l8;<%Ei|Cic^bVaw&NLfAhDWn>9SQ_2TtW3)luOGa3`B3%&)?6`$O1y#y6 z*!bc`Z!UQj`i_ChMWP^pD+fv&a&E{lXy@3TIX-j0A02DL3Topvt0eY87~HV1_8tS< zx#Z$82B58mdgCzJO3jty*F+rU`iRe*VJiqw=mctD+zT{d2i{GHEk!qA?}2WB?NcxO z4f?=<Nr%q+bxctG<2WQe5cY2|d=?nKd@H~`2TGu!n_zVC2O+~3dV?C@w__&TX=Lb- z;jqg5I!IRp{z<>hpUu~6T*;LOmkPppNWYA5L;sVRuUe}2y_DO%Lr>W~8|wJzyORtm zH4pIS1EGe)s%s$K(NYZ39d9hBu=d7(owR$CVrZvWWp}gSuzhVefwCoSPQBjt2U;l% zZ^6p}M@R2e52BrO-&|nQ=(+u;i{pdi09>6?o=RvIDmKXfBoNoMMWL8yJVv(Ce1lvF zZ~+<FeefTn!P%@!Ab<J!3+euGY{x~;fSCl&s>w5s<5<nNRbFL6a^Vy{y5d9Z9S-B) z@~kwmal9nK6~(6so}UPTZDc_XEm!=8rNj#mJy;an(JiykTCvLn(~zZ_^EZu1Fcl4D zO?Jj@rq>=0u7ccwAqRdLctL@F0{0c<)GG4^V@N?0TOk$&uWnb!KH=in;9(e#w`%{B zKFBCbha!+lo;Zi8W^MsXU<++V&{8g8&qriw)(tPmO6s2X_9$mG3JgaPwvqHN3K~o| z=&P5QjPUQ2Mbh7lYyVllAP!$SmN{pf?|RtUpzY7|MnYhREaDz^Ty!d(<6|h7*e0PC zjctQ@FC<_K%Da7kxgV#mc}-t@hH9;?Nr5rJ{&7(F;x7*V67c6O;ibMYJ`ZVr_{BNB z>w5iUt#l=(187t-_+?GpCD3RItsiI<TbzGnpNlPopcQIVFigRTwVE1Sqqzy`>ZUZX z$|t}AVqqCm@Xw~1Zkz&x_fa+|kRx1J$Yvhu-PlW3X>}j!?r_#lA<~j7H1dvT>3<7` zmG9SKBox(>df&)QYa?i`wl$%ElYYH)xDpOjxZ&F(BgB~wR9O84RA6|>kH2@y5b`IV z*upK;{I+*t=l+I9%2tL=Pl%d&vVqitp^^^g!z4}#IW>-@Nfjuc`F*!*hv>17aM~7X z?*zJ5uzMPUzLaFD(b;|LBwk;yM=cwDZlSyz|1ytiPwmS=b~mp{_xi*8EZx=`?fGUx zfh8b#xYL`FE0guxe@~MEw;0?iNVS(^*&7~8V8K59<uNZgzqe{4v}quPRXle3o~U_$ z+lP_I=-ZmE*~7Y6ztxOl;TkUK>aUI?kN=9g2&f9wcN%={X=TbB1qbcU#khFZ1!0JR z<IBD5XTu9-hzN$L!NT0V9|<h@ed+5vWE3Z@LbLSv#gbY6BL_Tk9J$B~S*tlS>u?}j z0c3T6tnlg%8J<1-c~}frA1ZTS{jF@~_JDfA8}jst4b&Q9n|8<XpqTnFE6shF-$hvW zq!Qe^l@vAmZ0tk=uCb4+uMkVu?P~NPSzg8KX>Xtgu-uBdURA_(8g$Lg-F$7{^Qt0Z zxcd{|#)m)s=WLq|2LGr3t8>)$rV0@v`cSL9#>7PbYn7q~=`a4DR-Jr04J<a&ZuWy# zojwioIJ*^oD{(CzV2Jcw8uT!8^7tN?JpnYRRww^v_G5vw<fGI?^;l|>p^N+(d#9g* ziOWZ$2lJ@zBWC*xx${(vsSwtszPc<<j!T1bE{SpR))*DT#xW`e;TWekPswq0G&PZ7 z#D0#JH_dSM6qdgio+zGhPgj;woBL9|*qp8%9N^N7gYP^zHPnoVm_`Y^BgZwfhB-p( zxus@W?PXFBJSuT!k{JD!WtBx?SSkkZFSqM+iNmdvhLkb#>SCClRsX8fRW6L!h!)3$ zjgO4@<36+Bp*KHZ$myVr7l~{fF&_^Ysk%yFw}Uc4Dh1~;Kbbhu!phv+Bp5a)>`M1S zzO29v<`F7|m*7&ZE>1nK)>?eSPsrvNod<7lC2<nT^ExaW_2BkwKMV~T&nrB|3rvrs zTM&eIFb-tFhdA*Ag&p6x0ZNB=l<^Mf6&GezI6AV)&imNxRDh_S`sk7VX6bfZ-dfyM z?4}Px@&Ax*6F0c}&^MIg`d3$$@*ReR#{|w-NSvGVblMi?>@S-X*ppLhsU5yx7$&}l zb<R_LXO$pSXBLH5na3C86|NCDN1;a5tUE-~6#Z;S0DoRr&9Sxc?$b9vC$4s!8tt~x zoOC4J)Ld`<;d_k!yJysBeWwe}m=}gWLSqj0VPVsF1DBIL_ta_H%Jui$2J^4BRu&x& zt{wYoqb{t^&Tq##ef4uuI8NbHeGc19j$QFz%ad)Y=Ghbw+K=8HaBRMl0u?mo21FNu zC~-niwYPj%9Vxjp^jL8Q)5}4V^LguK|2uYUb#f|eQny)n65gwj&JPB2_GH60*f*bf z1VUF>ZJ&cb93P$c;R>#5U)456-_ZG~Lc%)a4Qu7u*67O8F}#mmzyGN(ZGOdeG8YwC z(Iuhfg%*3!F-z~Nk|Xhrj*B`aT;y>=&w~;$pe@pf9s7q1av%CnXO{6c81OqYnXZ$r z)-#{U{4B&%oN0zxq5D00MtxYpyP&pM!CHd8Q!|Se8=TTOXI<R<e3b^uWH0+{e-_+4 zc)OX>1=IRhyWH7t4l?V~G4^COD}kpLG(`-lIS+Jx61%ziS(4*>c!)r^Xm#W(gDr*l z8Xqj$CAG&k`u-WibnZLN&%(?6(ii1N=xqeICvTAAEOK^5&X;F8H^`pO&7Ee?nker~ z&N*X>dQfN1<L;b<&{S08z{8*ZdN;oSy=HCu{Kzrxu(eff-RyQ{>?7~los9NKRG)Lr z^gT<zibUI_8i^n11#_;FJ=Mo6L%!X#n(w1g$DC#IAvM*$A&NxB{hZuj6=1&5Js10Y z+bZ0Nf}YL5xzdXnWBX<U?yZQN_vRZMi#>c+e&Bzw3K7w{gII3xFz{4cNCYS9>uBa| z&Gv59Tb?abd?9g;q%EdH=gCGTvl6Yy?l0Aqu_CAZnec5Zde5uE6bRNf*qx*NlbEjt z<euTlyw>s7e?}p+sS>fH_@709^eabs1DLScOAwqtK`+9d<76)D0`k9$z&2DVi!gU_ zig=1V#{jQvE2xC#4idY;EnBMavB5B=%5+*ens?3MD<2#1(>ChH^}9aXz5jv>tW&Ce zaK#&FI5+O;5kbfrGJ2?g_uX+oag4(%Zo=#9hJtH%60UI4#hZ}6=bC0?Tj;Fe&pMi% z19z^U%3<w)hIdxV61ov@OV{-&*norEPklG%R`%+3v}3Jcbu}wk6U$|WIA3!gXy?I2 z;b(dF<dxSF$lfJhteVhPM1(u2Sq9d_cC!m@CU17u`D|831n?D+=TSr6f7+|n(dr27 z9{lFZg1&Bb<THIG23bZb=!B>t9S+kOcfT;Go3pz;bEmhCzpb!eT+0G5-}$`zVC++) zBFlD?Xs>=wIeW?tH#nag(~)tz;ExLS@Q|y*-^*FsoZ`_df=g!Oqy^^_F_e3uC6Cf3 z^QS2V`Yl_zLf7(9$qqI1EE})e$MrW6p@V~v8AGG3)zR(%qs?fI0yp2$Mm63Gtp;MM zE8A_ZY4-v<dp`aI$ay;$mK;69`X$rtnOXDgg>@8rb$DzLt1NmXEg1P=Vls{#pMNB! z3v;4ysOPin{4m;>F}Az>o@Z;3NjR6R%fV4nn9w9M_7`iLA(-b5%j_KEdCLbVD&~<7 zhtS0EtS!Nw#p`z|6m7?7{uv1AIfo~Bc}KC|Ti`=V6){@L99C_UHLa^IluWspC1}*< z;)1DZt-=?qh%Gf35S9Ai{Cw+URl&XQ8WX@`vJ(j3chHfm_;e($WS*W+|MU@w&U2y& z|M(Z;Z>-@qSM%)2cAw96269GB2Jd8e<hB4M8%nRc^w~yU6giS!bZCsGW{B@{cqt?7 zz|v;>`pD-BVHvb0e5}zYnXPM$5(Jpkdhh!I?jA=3w@!Q#Y)wpC?C3lZyRd&Br@-n@ zpl1@w1KRD5xWVZe2*^3`j!XNj9w=`Cgyn@(bFA8mcr-ii+0aU6&mpqmw|xvv5ANvP z%>{0ft7FIZcB+4-hXyzr=7Yzhm9hEif(4g>(`6gd^p1;I)w-(1FBh;S4mwuY**l(O zV>2j2PR-Bx?a{T;sWC_XE-Nn(Eqi)<sD<gRe|x{1ZvOmN3)jbR@~;^9ci!Uh^&z5p z&*cmTIE`Y(i-u-bSe5B?N!^|=*wZ5LRoKd9io5RrKt7{=WKegBr-x{OIne-4O`Ad~ z=_B8)lB3Sn3xB<=rsqLUOU&U?>PTe$*sq?CA<Yhh&xwuXJRL1I*q}4$tg@_iA*Hd8 zdRzN$Xb*R=$NYzu+at2M7YcqaQC2Kkxv>f^m{K<Lho2i<m|KxWlU#2fiOiZt4dX`| zQUorB-j|eTIchn$KYTrSnOHTMQ$nb6x(3ss73V>JJzofuz;+CmY@E8Oy9;SnaK2{a zMDmV6@Jdb9qB34A{)`DKUGgU8>3W&!Eq1r(k4+@sw9|fc@O&#|kgs&_j+XnZ^pDf9 zpzn0<#l7F(;fv2|c1hD=o~D=I?jlz?b9tm-{OC?yc(y^E*jL4Oj5pW`?*Hm>=A0pY zmeKG;ja{*cEUA2`HdpuPURoSmtv2D=k(1kd%xvx0qbik4L03E9(=_4bcksMTi+vK) zRKZ!bi&<!$5e?HliU#NMpVAz$)*S5T541Jy_w3DY`>}^*@5rbcF-&6p42<}}`#Y=H z@p+>NscR?C+l=ui0^@N<RirAs{cL>OZ^qRZV)A-q6SHT=qO=`Z9vj>uZU4Z7yLLj~ zwv1l{ew=W!JR3@o(*06@xdKuk?t|PT5p7JK?QhyaTkh<A2QrcU6oyR|h3SKDH8b|w zUK@{J!x1^^h+uQSEAB%$!+O4-Jka|3AG@1BRIcbG>qy&hu#!{H6rkWDMHDZH>AQJi z)>=z_s|&xqUMAjTDhgRrRoLYcYkX=&mo2+?)wK2=|H)5o5x<JV3Sad!VT|fQ-l%{p z8V9nV8D?z^UuA?HRx6=gGHlqv?e^fI)6L?SE|{(!793PkDe;ueyn?5qS$*brXyU~T zA`b3le;GP-dX>}1FsWk5(3?NKh*8#8x$82`kf0#u7C9?g);OU(>e$TxF~8!&dvzKm zSmK`WL$7e1<}Aeu_oBBPar_#;U*&As-$FvYgjgt0Nu{ovrc%Z$Rq_{8{PbezeSLD2 zq&c&}Y94lcx$?c60+nyjFJ;3o$Qtv?>-+n$z-C3CaGae7>7Iy|#Z;?UW<k0bG4$*D zZ<Gi;ZE63i$&jm1fx#mQgd|72ym{O<k~K5re&qJZW=<$AHEFa<O;C&cQg7JpprvUE zTCry{Z{R)%arLx{?8ENXm9(OAu5dHl4@%{KO<d}xM%#NjKjeHsIAMO?aZeevBQ?v= z3F8`hfEp7i>XufB8^#%}HYMymg*t=rxY^%;6gn^hLYaa`o>w&_GZiZ^4t}Q|ohb$r zPEemy*E8<nEV>MPEf9VwmqjJj>`P|$ng8&789fmj5YL8Bb3WdHR7m)s+$AFD)|Hs^ zF4Mb$FI?qC$ZTnT%AA7UQRCe{&$wNVoQ`3UZJ#Mc8j5brFI-ClJyE41BbG1AE>+MK z6R)9mBdttgv~XCZ5C@j2>4mc{{KYr%SKRFRzitQUG?!5!;w0sesdmX@u?bZ~YB`qI z%0hm6tOrHslpnD5DRVLJk3}4CH4C`XE!f4{(F=_Q4}05Lzw0y`S|a!Q>Lj%4LYcug z2v3kTdtUc$;_MeuNf+&ZBzsMMrft~xi~hvFyDuEj7rR*{hbT#Yo4+AT%BRoffqjZE z5--qw2eR))Nx_P5S7>JFR$qUp3?}T>p(VOGGbuGX7*fPvO#C31)*C!*z5kX{$orhh z7}&&Ym~-TK)VJH%I@2h}p5;E-#L8gWV;3;{mb<jaulvC4{$x60ui}({6o9Jd4hHs( zITuFTy&*L$?3cpOtsxH<=uYlz-EN0i1Me}>prBFMFixmSuvm3}?3$>UBheXa%m4au z#%s|&mMx`lb-tl>T_iMxt((xirqzLL<ho({-qXE+n(~`-;NKWba9d-BR{_B2(kq4& z2<H~1cRe%!+63qs`USqInP-oBn=s_cu3c_<B$+-jt@`^_K!=z}DS&LAu9ZTSN90K& z<*4_*ly=<kl~mne>FOo1gRLaWIB!=ApzfQd*;Gg7&hdb|YgE<2E3>bSNxwpU-P);^ zPUY-Ykq3ahkZGPEvrmtXKpo~kCrIBRTM^|eZ+9U@)+WT8gdIN4AWUv*sZf~$t)v+N z!z{kEafdZ}0*~qVeA9mncIu;=ChR^EE9@Zrrp;~>U)#DOL<wPsp<TfgJ;Bv>=yE8I zfNMVgu8{D<OqNEFhJD@z5?Y-u(>U&{2o_#ib2aR^ZKz3u>NcXz{sIQqH6BOUsk?PH zpmt*kXzm)!Sd9AuhBTDDbrh#q)_Awl7X~J2?f2oPVED?0=HnOKmc((eUY6io33yAc z**=}89X=vr>wFZ43#O1YwuvDYZDTSgZ9zOYrN{oz-A2k-;IzGzU5A-!ylA|LQdT_u zeKU6)&B;{$x|@?s{rDEsRLPVT2gj1&Xz(zB8;=navgB9Tq()U;^UuEB^~&PH{kj?3 z*0r&){Qw;tBz{ClkmTT0c%R*2Ot&#=g0Ir3s$U@1PrCi;-ayANVIV0NQpI?cs+!20 zf|cQZ$a)=1#@Z&&i4*DuzZMSaLiC>j4FMAoLG7i{vhomP?W?du3Rh5=U(}C;rm;KZ zHe~Fg5_s3Xs%+mq{@}Gu>F2>_`5Q7*jHNJ=ZnB!dGsxJF{xx>$7%B5??KJz-mpQ5Z z8Cp*q>7LsJxbGZ5QgF1l9uu9e*&VuKJ;4A0hsDSin1{CHjkuNTJICw+@%5(9vw=gY z3JzJ?O4`ZhF5U$mz@-OTirmyM9YOFC!W&DHZ50nxfHkUEaR`-cjg|>U80VayPMRNX zN!qY>ww;Lb9TV+51g78h@HS@ok?Sj$cX`4OvF)c_gH<5aBT0H;bVtCd>sK3~-l#%C zmWi322wH05N}aZs`&jQ#g}gh?1}?WdDl+A-;k$g)KZ6Y4i56f3v**#n^of_-klFM3 z{zVUi>SJ^x3tlRP!5zI9B5&`-d6)TE{Q($5n=>zYXw_~5lNj;0NLfOo900(_om!*U z-5hg7N89&37Po56*F0dG(HmjFuj6jo(_ptR&3B$nQN+#fF}(wDFRECs+qt5fgBFTQ z<uAtlIVk_!TGnLc01~pjnGZIs;gQ3sqmPdcYIq#lJJ}?`JWp;26GU4psSkR=Y@$^z zTJk!mv;H3Jh%o}puS`|}aIvMeTkVpW&i=8$&u&a>WXL@cU=<N;Vl-lPL`0Y7>(BMX zNuqe!7cxzcfp<qpE$J^(-mOyJ8<;+(W&0pF_qb{X$$q%ZDWS{6@YP(>CB)v^QixQ) zmz&_ONO(b%cv`sPcdtPSxaRe}_(K~6%yh54o41(w1u_-YTtOD!m;7C8=AZ2tMq(Rf zW4;DQ2bWMUWH$1k9wFeOn*|GK%!qqZPPZpBF5_jXe}5RXTJ4y>Qpi{w`%d`u@BtxA z1GeEUXMfzNJVEKNDBxa!qTA+y^H4R8_C$aY9T`dUkwvMa3SPdZnVT}p+L#jRtHf)} z+}(QE`w?+R+?h;5?xV*xBaJAw7S4;@**nJ{<y<%jQ1zVuTK!T^4jb4BHrEaqY3eeN zqxhH%y*$KJ02*6u{~CRH)=4X`BayR6QA^X$J}VxjOpm1)Z-T~}2nS`b5wPB=3cklb z)_<l?DTISM)1K4SGcKcG?628v7sCd?5IjkR{3Zkp4}I1wgb8Kszb5a(DSvbuSWsHU zR1-rt4P?ludRHHfO%9ua=nqCH8l{QJbN&a|_Q|Aw4Yk+1L*_2n4D(1KDq|-tn>o{8 zs{6vJX$L$=qFC|4M%rh|CfQo?MS0_0%6}o@z`cIEXMC&DY3mOp_~RBwNrJ&F8bC}2 za^n2j{sNvw_JSMdbN$~_4<KYMi7ljm1>0%qzb2nA7|W)p&@QEe*S_9^-P@eMmqa-> zU*)SYB_|gork(%7<sX;(?U0?GNh-u;UP+D7;o4BxpQ4C;Z>BUvof)Bs+r>k`&{=lv zd&B;2z`~eQFr*NVB1wBik;~y#gc`-o60c>gj5(4lr3PzOOaoP>4To_T+6;hGD<#Hg zd!v(0eA%5d6KFg5us;(oxbQw2&t#6Ov!XLZ3Am{sMx*hxHBnLC_Ja*p6ofFEgIPYF z-dW#RCE`J>oK+)wzV#GX864p}^Uw0h(k_QhG@biA;j?AU4>7Dhau%v~^!(NRYz!Wf zIH?*6*jSU>x#3RsEs%8%l|-onn`aLEjw+fDAaiTh1G-fS*NGGpm##2b(cpd1s2|qC z4jux+G{|1y>#clVXY!MMfcc-&g;dSJ30<>vWIaOyCV;Q6xm5b}``k&E6`(6}u(e~s zFm>5{YHbFr&Fr9Ry#lZhHL$(b=AWt1#sGwU{t7pRg#=~HF|AD5a$K4qpBqV2+Tkdz zo7kLzvtO!zVaWkJuh~^ZU{al8aT+7AO~*TM4{^t)9cr|Peggqv@<pB;*c3`%f7*T& zdmOCz-CSFG;bYl-7pEp-70ZdE9*$yM;FABLIz#T~r2>o10xTatRmF-u4tG9a7h(ep zkh_N(<F8E|u7fNIVmK54XK(mP+iYV+9h-7f6N+B0VG1f!i_w@K*%1ZBU*@rOxc?@T z=c{&ejSXvLpbd8ReA>nbVEv@szv>SpfwLbKz6*K#Bh;`;e#3#svil)x#CE_0rvEJ1 zgn)bZSn^17lx=B_Ds=>wOYx#<HjzIfy-AX<lvtM@0?BG5r8Etfv&cgRgK2UA02tT- zJeD;<Tt7D{>lX(2J}%%s>@HoKGpVt$-X<U<sB*WFCdjlla*Pf25O}l?dHnUdM|_dO zKfT}_@*VZX!2ZXd@Y7@WmkA0INO%-PpooRNXmq3va0Vp-(;3a0q%yz3ZnXGSg;{~L zJO6s@OmO84yi+H5S&1dlASie~M01n|Rbw<Segy`T+QTtiSZM~v?W6@!g|c9X?2MP# zbWys$tvY`($oom<1^{JZoG%2FRofd*U@GY#1XP+WCGug`Ii3YU^9>1Y?!3|xT&S%c zd=BVA@X4LmMx<|G2WX)ykPzDKPc9^tJ9K>h9d*Azu}Q0s$xAH6+4ixz<JWzEQ3uLv zm)S%aQi;FnSW(N8Jkd4{8{g8nO)2nhKHUm)DZCFbLZx6dsi!K{<IH}^f`}v(31FCB zKHrrW>+QIVQrWvMVFc|Dak4gYbPpk>W7q_L0%puL!Gcn*{z~W4KW~0T{UFV;=hsUK z4gln(*LyvKc5dKt1(D5ERpq<AtJ^1^W*qK;_rzAOfWcn&|2pQT+ygJAv*qs=3QMgV zd$015)tQaqzGAD2a)#=m#tT|T2Cxh@yF8~3@v@g6DLCJjkV{@mzU7QZHO2NryIFGg z>ih)ce%rzTpGO<BOM%i!9dP6axlqUoF%BvwUu}j0z;Ns!KMuZnYV&<~w!jf$h(1uz z>O=>E&4O>eSUm#q2ggugi@6#`DYlU5AJN~+P4E^?mR7@JrJGukRlY(iumU-IG%Qri zD!*$(D}W9Icln|M!WzQX6Z<Q78^j5b15a%ppPwaBx_F<U*-hLHOxB&VM1B-uNJTJM zfW&afP;aYc>hY8MTRF%9qp14JUa0P8ljcF42>|vFG4e-oCX#%W(9R-13gVEVM|>Fp zK?As|fLu0*K<&I}N{#H;OQjqKTlW+*6ymN%#ws<vsEGHlvS3jDy=ko6<H}FpV3Wfz zw;2zV{+HVGhnuTBuI$&W(oK<wW{m34uR4+9bL>4}HUBIkM0Pm7?el!uV=;dqRKB=! z2FZ0_(l+zfqzeqYy)4|;?MNJPbacUB#?PmY>cp@oCb@H?AeOU<LVC<=wmPDmQ+iL) z-2TIXTfCrK<l-bn<$Uo4Bo6GlVx=@YBLK%qP=?}HL*FA1zY<e9dkj`W@hjMS$CCL5 zOXK&G?#9h8p#6O%)7~uT%C)lpJMTF=mLo9rTWo})MKH=|akLTIp6g3@Elys{cPL>x zZyCXxcE%U@EJ1pvoX%Ekx_z!#GgJo5wR3FyuF`Vd%vo&E&(9ANzFHtS^E<7lUjh;$ z>%V)$n@4w6J+#<_@>zMBK%Aeni$i4sCs7&4EHTl#4gEe`Ruc^fsvrmJ(2SX*RdTO? z%rg!Y)T-P^+gw1CVR!#ulLU8nysddu#+Ds~D;n?4O6t$)=`Gh0pF@&Kap?uo5syfr z&{cx=*#(<V?2q4mWWy5rVfQ6LvhHMO)P6o&e!^eIvddxyQU1m1WGHc<-Q2t@8wNpP zH6DTjM7~jJYY-BQ8@C^E0Jasj{KgT{;$gW-xBo&NiUd^@#3s<eFOENWkX;XuH;B*t zX$Ah5!h=@+7q>zv*icdvzN*jWlHYw_CQQuWignT>Kme&nKSm_Qv|b*aKY6;>A%+dy z@G9C3qpgxIQFB!a%sBR6I-~2|-kJbeuIxonsvy1aPLFjz4OsWTp>2MBy0r+vWamc2 zg?ZCPom+rfUnf1lzH9!*0gt$av~L$f0Ssa8d%7ywCbU$6Tht4K<Xki=1DYlGRBatx zy;7e3lG3plajA-2HwB@B*?L9k>Ko-%A(v{fO;2?kga}Tr3y%9rAp~3pdHd4GK)r z(JKb*iZGno1UHaWAKDxR&>Y<b5?e``K{I(vG!9%<T($-2SDJha(AWe>ATF&+C@?&? zXfXb7{OUSN*m=Ly?Q|=+YDT3;4v=}wxi$KBnjF=+7G=Qf1P_%#luNOTmZ}s@>ibSm zJxoa2tU{{oYF5ZLHDlV_+BFvF_<I&cvJyE@G4bFy#muP*_SPZZjE_wE<(;u$e#Ft# zJ2lsoNC5XGWB4aNh1Q4jb%7qyH)=$xtxT4r1$n#f8?5!oUdSFvYLpeX=X@f6i-70{ zpl75ZINoAV0?5Htu(Je2tK|g9)D9!pQq}N@2k8JChkdS9g@G3w=o^{*?hX?&yrX_+ z23`W}yT=81ciEjf?xIt1OUj(f)$+06SL34=#{PD_XZPg!$U>`3T_$0NTY?C(cd3UU zp!`H$?Tn`-%LoX!$Ks)Q_e8=lFo8WOV6x~$id*SNo_#1CbGUC28aUObD4Sn?RI{sk z7hd_nY~wIYQ!)!g5!)|=7YS81=Qkh(B#Ry0jsm>vr7gSA?M+SWnMEm0h$b<-(v~DT zo4P(;2_<i8kX|Xye$p%m)inM{Y9`u1(mZIDA!7emP&=m|;z?*`zexR!Fumz|vvr!l zVjr7}z$m^5>WggM1eEr>h-J-6F;D%cC2gJIllsMR>-Bq39E#4-h(rWCKR_h!PXp*a z3263$f>|Fc8-|>CVCcjTAQRU76RP?^p(-CeO{QGlckqXN0ZTMR0yL$0cR?YTaE`aC zT@Bg}em**S1p?j~DBv}5b>L=N5~K>zJGOq<?B#7kKMzU=fb3SJ^EctQ^Gffz*<7%l z2}Dql9mXJ<<*n#IN3$HK(c3<f%OQ(5KEso0!1fe<5znTNBp=mHiKyJ^;dXT!%tfbO zP|bv$q<&=tsI#tBG!8afJvrKG_Qy5d|3__Xi_t=asG2zQYFdcd9n4U38SE@v7X#L9 ziYE7Vtga5!?p?jEVAqgEuFyhJ)VO(fEbeNSi{T3%y|IgY<%zIh;FHCz{cwds$JKaQ zQSVt_ybc&iFAu?8=VhY=eyhb_+dfN*y_PGO_hib8t>`W8zHUs)Kzn?(`nuw?Q*p>k z)goj${Q<dAB}B|T{w$UZ<$ER_hVY&Pld+LnF8Jalb$;ak4rupDPDrLp4M1RJDyI3< zAIWE#|B>{~`y*)-u9ff_NbXEEnceWSunm;~te93hB+1YiB1~Ghwk&Rx<WS`SutdJU zp!I)nHK+IL|G2u!fT*IaD<Oyh3K&Q#rL=@FGy>9$bcckLN(`MMDiYG2N~eHyOE)7W z(jYN(cln(=pzpo!_w0M-+%r4YUV9zbWxtc%JLkjV_vX$+;Dy!u5hme*U#_fO{KW|K zsfn7`Cv)|A{I8WQ$F8b@T=n9-ir@z&%W_g|`7}#9Ucgr-b^R?2wk#NHtkbRcS%mYT z#6NlsB>uw}Nl@Y+mj0XgQH1NKpohS|{aFo)jnxkzHrzOR>Uj1EU!n1QFXO``gt22O z!Hu>Rx7)Lz3*D85zKekp0>+<9I_$3N3<(0tvLNyItt$UL6wCLC2MNk8+`cP<pq2g2 z@-MH~+cpRNPb*7pQ|STKhtYqntaeoQ9d_{Z1V91t9pr1fvYtJ=XZWj)I{$#p`vw1d z|9}nubiA@Rsaq)oY*tyJybp)K&tDsn@^g~N%6P4z=kszZ>xa3QVFtV$dBEGHR?*(> zt8kX}_n#I}0;J(8bVgau2%5Uf40&5x#S~}6Al2oWh50(=6Z)PH;6wmsO9~D+`HPMm zdm>v}!-B32Rk`8=D_@+|pxUXj5r@At2AtiZMgr=0zsHsn#DD?|wZ+VnmP&hS=lw3u z!#$pToV<es`b@>jH{14pbEQRYrk5<AT-hJ#uVyHAH4e{m?53jSmPn1cxu-lw$_vm< ziR)L+VYIgo^mRCTTrNBLbYCZhg{n72i_zrw9IfK)8E3iJoP~NJz8OLXFvdIh3dz9Y zwNa;*ANuU~f**`&!ie@eSsi|ZLIW`WCl!Km5@T6qP#O-(;sL!0h#tkBHZDS+-rR5w zPYZ0sdoDE3^E$_wVz;S^u?<*m@W3flEhoDxLvEc_hW6<1E#BqzF~d+J&8;dBSQK7r zq4xI5$3Z}10wn*lfg3Ueu5Q1x;Z-};venG+G5EL9Xzq&%apwIyYj8Lq+3z2EvEpe8 zLBzWmNZ^$hTxfB7C<CyMi~!&Awcke*G#bvdxP1#34_2Z<wX~uC3)5Tta;ULEZ2edF zsv9(sFa)Lx@PB~6N|Wcw1#lt|S!oGXmWA!NwlPqgo^`Jf-uL*mxk7Uv`nH2>@bm7~ zS)}|60~*W+z6_%|)UO<)pPiSn(pWwS2gI>I_G^!1$7d&XI5%*OcmJn-4NO2N%6B&o z0H*P*r(Ce%hgws94hYQyCPx2Iv|%sQ#)j@IgywO2AHg!@Bd1{y>8SzDvo7$_;r3D9 zb&m@R<*@DoalsuF&?aJ6L575yVB{$T=G}N8o6YA5vSA$7xd7{&+eDWm9-eg|dszmD z`o=$@_Ep<r$HLEwWuO^y`}@3AQlvk|H(U<^(Fm|S90Nbb!N%GHa5K?Ya@|dW0q#(Z z3q{$|oqX;2*S($+Pkx5!mbi`%)BVSc+m{}>AbY5j3}F~FqW>Q=3*q}9rq6oQgMqcX z=#u)cfz>VP4^acz7ERTACVDUahN0A0B_m_rt1NJaN!IX=a0^HtL7rT_qGWg}0nf2d z#<^}y)bP^)D~1f7r>#(X-?cj|-*B&5Jkn>Sb{oEZtz{%{TN->q*KT?34t}0}L+UN8 za>hoAMZad<@M!tq@avL;pR0bn*|4@(RMWgVLqTv9%X;_gVJE&ZEw)V(Ya+Y8tNBUx z5Q)#Vlq(vUdRGi558asRNs2d0=Z5!8Zmy4bi?i9;52vLmr`?>CDkH1e+nZxk;Gid@ z4??W$iv2Q+jiHKG1%GpcseWknMS7mobswTKc|Uzk(jqxI2U*5RC&61&qjrT?26H|% z;yF?jjqD_WPjta23zVYPbQMEzi-0G;vA@RQ#UB<gd1)*d-soo1<}u?!RS8vI=u%i9 ztPV_iW&ZlPCI)g}{T<Q8NRic;CqX<Ia9(>W-LR6(=(lDUXGTNh!O%Mw55tFOo!G!( zR@^N1?q0O2a5wQn2zKYh-SJ@Xz$JS@=mCW|vy1#kh7a)D{NJzM%?al5WbByj&(q<< znGY17e?Iz+=ET3$Ca&qV(`9dg$wyZ;n|*Vh2>)?g7O8zR^)WI(hZdtYdWZi{Qjx!M zDj~+n;V-X3ey=O6k{U9YE4<5|L#{vA-9Ln1nqM&_=pNc0C?<jx(@d(t6TI}oA~ra3 z#Du#uVMrWV!K?{Q8BAu<rcAZKP>ju0t~(I{>`0A%m=@!U`BZazx_XX)SZu71oI%s3 z1-P+#>s{Vz8qzRN`oJV)EOufh4UXx{(@kr0(QNL?c~q5jP*qe-3AHBnUrWBfmTkOq zvs|3y9@gvLsws-q7%e0ymA6IT;FgU~a39xB#s<dm0z`1WY};EDGZqzJwfR^u?V@Hi zhRXmjrl~<2+rOKNCCIA@v&V$TKl3=*=ncW`2pH<yheaQ&jXh1RYgxR;@6_?*1xUZG zfu%8wWiGSzIhKU)(8Zo|&_!X1b_c({1heSjis&}JYH6r-&-$;$;BjMf?jSnZBvt_w z0I<exx1hQC_^BN`xqGzQ&$cpC$K}gX9-PIb`FMWw+B5Q~H~z_5{SJVeqo4ewO5eu^ z=<SBpdsSp`g2$i@U;W}WuRXu2*WA-aqJ}o=lBe&Rnwy_CW5=)bUblh9louWMeu&sU zrG^cLeB5Sl)(K<W!E@B=X|vrY8GoT@u6x-0ES4Yku?7s{VZ6A>w@Y=uoxUw_z-TBE z%n%e_I!e(l;@8b}4pcPb4tgw`hKRRyeb{o~)QJYUBgTTtEmv2#v=s3}pm8R5kf<no zeBF;I%697#@=A#G_|Y6jFz{$%m0&ihZryxfBvQH(g8&1t6`_a5Zys<TxZH%A$ML&1 zisaSf79}ZU6sJ=vU?Bo{8b`*KKRuoN>9{yl__?3QDNFp>oO`dh)ys`D;%|!&a0?*a zMaRJOh@_^Lq9<A`MerkqsAj}1SJA>efJ}#l@3NV7(*}|~ZQ~AjfVc(CW5!jiHpvXV zBad3S`7<S<Efc_F5F5ETOo9=$l@JPEKROCU&1>tvr<xeYS#so9$z@F)6OKW0qU=(* z3WF?NJF34z+3)+>4|oFZCpWpg{l}s<@hQ?PIHNRDh;cd%LmsnM&lhJH7u6q%@?$u0 z%*I>Hjd(>H;ul1b+YTx|esCYl)H?fkB0a_dElTb!dQ7<>YwPM187M!Colp^P@@J!$ za9k|PO9gOR?~)UVP)eBufqRH>s^)8YKcdGsmiISV4E;fqcce5%)9O-clg|K}ajPi- zD&WqQw7{L`H);Y|s;7rGX5;n#M4;h;+}o<h4^b6>xxRE;Fnvqmd`V~5arzf)j`prj zgEqre3=05A0LwkPGs}9%$wFr=`1n(CQNE7l+J?5z%f2#&Xx=(>ve;;E2O2CE`)RH} z8c)PJ8`n&a`2lG9o6V%}eBREx7L@^G)|uXO_=D!>oM<W2T7IonssS#*`flFe#w}hA zyZ>D%fFyZIP#dM&=Dk2VJ<8OadCK_D#H4BvZGxW5f0o~W&f9XT;;(eFCzX9R+vkOI ze#N5)(DTf7=1(CDTkD)TUkk>DvGwWDd4?%8fp<b&I%!-bl>Fv75S~oj$?3>V<+~w) zj0W>b%%)HyUStDv3k_HY-P7qu{lpz;AYT{hSs+L9z&g=gT>?#?(`Pdn9l*j?#E>gP zfrIbxeQ9bpz$7lz5CCR8VtB{`f6bbeEFhDt&@z@jw9zC(sVZn7fxpu~+m=e(+Ag+{ zZJv@{R)K<4w(s!s;ZyOx^pa)Y*yMT?*!4o3)9&H3fY)2&O}Xpo^yIJ0{pfZ?wyh-W zB<-AAIJ#TeGUW%b7u%!|6k|KfU{V?P0``8qS09jX@Z~myW3pfm@CFjScd>xA#@ty? zfe~aaj9Wlbjy%Yth4nn+_`SIovEsmQvLTfRF(FWRY{doJ@Bozl{A^f>wLJqfk*<x) zci^A)>-2&qH-h|T-Cp<2o#lZ8I&9<u0{rHeP*mK*YU`x_cR=j)p0jO%e}+c8#`@Bf zg<N3Yowp{Kx_hwKgpJ`U+2H`|zP+tFNA`Rc+j-2Z;E$sjUTtePtV|oUb_0s<LZNIc zH(<biuaEv_iUU6%YYry@By#iMDybmK{y8#j@B&jxvD5&;wpnC74#kT;NG%6$@5CY2 ztxX+T0*!3s-X7m)r>}$jK2g(JEsI;fbOw}?tzaSI60oG@hgP0fs=Z5AGK+K~?tel< z^+C|3n6-mB&{E!L$QFZ0w*)h#CD&lRfy6k+=U8mkaRtRt9RPAh(Qp?j4Z&Sr`B%EH z$o-Q=G|?Cp2ljFNS3Sh%O<r1-F;W6W29VOQ-BNqD0G#qrXny~=Rm8T@iEHZLpawLE z(cJ~LW4P0%m1lDrQF1X<zO5S|$=_1vpX@4ILbRZ5z=`ipA74WCPN*vAz^~a|uP&G! zkpfZ_GS8LLbZ0E6uR|;&g}DZ_t;rnGVwCuSDtLQO<a*KT-2nY%c__9PdHgMk-JS*T zlc3S*){MS$@>C)k!0JK(7NVNdlY8XbgXzy8ZUULC32x1y6bwc*_~3Q8GZr+(>`OGI zpKT3A6N7AU{ItT8>cMZ|$Lj_~;taeV60M|=JuDWgiV3%+3;+Y9N5=mT-hQ%!VQO?0 zuNxQ{B@_2WJH>}3kK}w2Uo~A`d8Wxe@sc&kP_plvy>m<91VlP$zR7g?aZGo659;Z- zzG}NShh}n3eq6>y!ji^ny(~Ykx}m2ovSVIzzZPw;CfkE?$r+uUZ@(EwJ?uvAie<MJ z0rA;vb_6koi2g_ZV2pj{;_eh#ekd}<RUl~TuU_*~PSt_Fj%*||z`7Io+J6mZ?lo10 z$;j;!WYfBd*?iUBu5cWNd|YX5ll?30ZYyJRVPGtF0VU$#vm8X>S*>_c#<$~bS7;l9 z>>lFID1|2GzPdetx+;jn%f^Pi-gkBalN6etx+fosi-=lJmAUbDwWQi}U)j^zu82Z| zbHI8v)$0MO4I)JxpBw)j&ctFL<(>^^Dt5mBS`VVV45ng(B*R|k#^LFzNB^D8gzDFx z&1Rkq3WlL)lG(~k$ILW@;h`c!H@&OgLoFR$ou5f9IhGelfU96U;~$x?h5`I4sm1L& zBW|Lx-fvxWQ@1zgHP78qEd(fxFD>DKyt_Lpz8AU>g}-XY7C`QS?&(I61WDB0OM7VM z&OGWLcg>rIwc;tg=D3TBgb40dh0Kqq`ICbX6UfOB8F<E4;`Tiv=dbm$&iI3fho+LF zJp@TYOpZs_gA?98orTr{&Gn)_Z<-hVm`HZ{@2GGq?&JOYyo?Bs2NHTuIv=o38^2@} z-V<@na5v0<jXV3}7><@rImW@FPUm5ez@*H@`tLBE=b*^T#`F~RkHq%)6?X#A5z!v- z__Of~J^h-O&7F`0dh`@$8vf|yIU)d(aE%uJo%F=VxdIUi1N`5BX4|_9CIqxs_xi$O zp&@X#GVXws?@LFpVHwmq?0Dax0`P|tmYR=);N(ZVPkmSe2XK2Db`8l~v8WRuap9HL zf;`jH`A3jgDgr}xOfSuShB#XsKcR1XdXkjn5n6c#+r8Pf@nXy4+$I}P!>XB($rdmv zK(}&`NrBcnWTHwvPokRmM(v$^LgB$+9XEdH5t^(MHRvH*(;|o+0i?W+D}))v=VxHC z6Sk6E1&#$a32bc#ziF7YAYYHvodqS-;XI$en&^;7+_R;#k}fTki?qS4evKOPs499_ z`nCV2Hz<<VUz;%kU#Fy4LotYy6mS!q*>VSm+hfA+4g%0&Om$5QO6U<KK!vq4wc-Ai z(8ytT*Ds+PTYe#7A?TCzFd(a66VBY*u%lLjNIk7#C{KI09F<E4jSXqVxbPC4RF&p| z(CH}yb|e#aU*yr`-xy@K8LpBA$iGhhoqV+B#P;#!ztElj%eazY^U)SDm;%!9M$~Y9 zO?TjT@jw%GFmd7@pmP9exSm)ZC{8Nl41nS!byJ`0h0i!Tm&0WK+X9MbaPVm|vvoY3 zgl;qtvtbkQAPJ}-*aAY+AI1ruQ8VPSkzjliMSF-w>oZIWVr#v-_wHvJTuz7FA99nv z)Nepj_?7F%?Yj?>;F?>f&jOYO$}h4`pDbKNPi6w@4pYeJGHcMfDwx#GK0d}RKt+2~ zLLBn`6#YQk1mNAaG$x=dkCvIl+bu(0&r=SKQ-Pc?{&)<8MQ#f#+M&T%(k(w=8uEGi zzq1{$v}uQD_+!r6l)7Eg&hcj^dUU<fLFMgT;Pk1FQ+XXjEH%y)CKR{*7L*|I;|Nn_ zYr4Bu&~xKRFkq(?Bj9zE2?ij9(i}OBq00OnffCuO+Z{u@w1SvUHvD_=Q5z!vd6Adp z9mQs}s%m}I=|^0iUdvhoH*XiaZ-&JV9zR7EL4wz{@lb$So7D;m6M}~?&ctbQqDBhY z%Rss+K?C$JTWtt+u}TLB&A?D1(999lp9Ir0ozV&g(iq3v69BK_$HNmE?vvoB#i*O= zmUrrhEYUi!?4*K`<9@$`6UiD<@;k<+btqMhqOOzEII<g?HD^0n3FcX0M{7yAEE<R& zn*S&!fF>ZYCf9xI@XyQE+6yfr0RYl;4gkh}G^9c*zffq<F3p?qiv=a*gOIkQ4H}jF zSN{GAhU>A|e96a~j09?b(=wRV`28iS*X!GtPa$~&+OB$-zbS|O>$~&X0cPs}_@EiN zUG}m%NKz6?)hM|EkU5?}maG4s$t|GV5V76ofTf=-%XI2N2!+bc|30ryQUR2@?`61N zO^+a@tw@w@QJP!RC&QU=LQl<mTOK4Kp2pTfy4y}jOma4Vhi{C-(c%Wku_2qjw`l3$ zJAbWzp53DKg71!Zox?bNF2spG@}2*<<@~e?q=9v`U=}@oS7LuA2SyhQXx$*=F(jjM zg=AFYi7Ib|ss%Cy>rT+5u`AlUA#GDSlqXFL(4ZX6E4%t75wsIHyfx^%cQ!EpDzOJ; z<Iexg)GZZW2muEBzfA(sCg?c}dhBkgFvkO#{GI_Ksx3&2<-C2&7Tn#ajc!2E^28VN z#;RMrd!9%jd+C$%0TQa}+H$mnYKP3J={`W?zl37qpN(%Q2Zwx7Wu_v}ODfN*7IIBq zDs@LsMnnPscBNSx%tew5uwnQAFgy$`Q<g%gx||3?MrWNRWpo^W3%&ce>8mxzEMTP< zZTrYaCY;lxdT<Al77jqFTMY0Q-jN&3!KJ%kl*aHfpfxvy{me-1=tq$JRs~upduF7d z`e>lhWi_0&P1a^5zr&C6Y{a6g+k8|=WW{DZO7m;u)9;lfa_@LN*9+6H`oL7Z+{-ES za}58Qn=AnJ>zNX0-0|qm7DHVC!3Wpss_JPU`*u+m89q-N+$}m0E~oJ$XdXGG6bSM* zdNK|8k-{Sg%M@<ax7)TprFBCm?yyIjt4$#OE+smnp$G7B0)W}a20KRh65?;GzSv6) zFQR-cHAeHmVrI+_DjI@2Xn+Kq+;m>6wetfj7poT^G*)-OIUlR5qZQ$rDT5(OOp{c+ zH43is&CeIpR6+)Ro~iuGgMy_hn%CA&(fZf3u?O!R@61@$wvBx?DHNonZF_$Ll5;|1 z%|8VRq$q6Ym&2NKbXDoKgLJeu&-EZg|10-zB%BXeic|wyazj@8z=S1~y3*~VB-~&E z?KhB!HrA)T1q>|yBbV~FiL2UE0@L*k_FabW5;Q>3!R@OHt~v3;|BhJb#rL+pkhx5* z{!;?(-)BT<+tcI!$HL*yGx=*g=xHJ(8{ZIDoiqI(gT4J{0ik;d|FguXJ^ktQU!9;- zj{pQp3jU)S5gd^TNsGCn)}BZ6qs}(M%I$$fpw-%M)%`vMnSsZG9U=L|gH=fL+N3A+ zofkWWTaUB!8^OdRe!v8JikQ#mxbAwKu?fT=FE$3r7uBSq8&joYw7^{lE8Lbf21q)4 zoH|&ywUOL@woK$=R*LLzMcS_1l?Luk<>^7RdxNj~uXR$*!^5Psvr@{7-Aq45n;)-2 zn%M7p&gA@*LRs6>xpa?*az}p~hakNEw90Hc9}s%g{A6OCPPLTzo-k+~I{BU3*Qo(f z$WeEN@nl{Z8jM#+{kYkdt+xW)>+4U3|KM-jIDSfFL%@aTs+-NF*<;=`o{@XI+(y0D z3TYkIGu6%kcyY9B>#|^b^Z15XdOLL@h=a=<n{*=fv%!0)vk`hW8i51J)mOr+M)>GO zlaywIk*V>*?@2&<uH0-rLO_aKIVEULlb55YBTHwbnkUCKXkZ!@2w0)()J<(X0Y}rN zXWR;(CnOpna7~`KvvX-t(&0^f4yl@mdtgES6W-QjE-gDi*5r(}U`QrQV1&OGUh2R< zaD?DLRp~uim-d|}lWYc5P0P5o4tiqZ=I^!O**R6cxf?)#_Y0jDppt;*utM_`NWcx( z$}|C|NSYsL%`Oo1FgDVGzvq%T;8)NlS~c-vGr#!0LNoJgP|Hfu+BucduU$rO)kX8{ zh8stl6ijY@5bfZn#6M0x{TA8rv?Q)39UR{XyQbaLFUX~TqRqfD_Q6BG-Rwy%S`WDX z&RtO;=-><4DBjR_F8B&IB<>zrKS_zB+qMAQN;L+2o_+u;ni2@af0TuBQHI-+0~j*) zfs%ff^NSvYystrtoTBv@3>n|ahH@oB-6pVbjiM*w`l+1_?bcCM09fQGuncIIWtj}6 z3Pp8m9BP6UGPKdck+@o72jF_w1%hB;>Ic8Y{B0mNM)-r5I06ACDa|)hPte}k6;F@E zom*JGxEYXc8ce;J7ZOqG(yOigvX)?iC#fhKJx`C+{a+&$sg4l=GZvPTr3P;Mg`eoV z6VQ0XiK@`qvuZlCfL&rnRSFJnJFu|KsmY=1B&35y_oJSjWR5a&FF)#@3g46J4lH=8 zV{1ME95MnzDRB6AME{waBdt>@<3X<noEI$ulzY2K>4Y=`0J!n?bnRJg7CbJKW(!(y z2P`64Reo=$95`$URg8)BdKH3+w(Fx)2&F>^R()Tl)pk&J%@H58k6Q~FDbr|<#387v zt{bHLji&v)|7tWBzMd_~Uik;q&~r<qoW~+xMRgLeb91au%*MuwhRsFBMAo5|QQUaw z6kZTmq|^U45X|2&dl_LL16XUSvVV<l%#2#oX6Nd>fgH0Eb;=enUEuuu;Eudo$3r?R z_LC2=L1?-i$6y0Fxtk+M&~jQ(ml@EqhrZZj%74lRtoHs|)v!PGS$oQqgm}B@z&i`H z*ywU_H&946Fwc<lcDMsSm&%OeD8quCBbZgfL=O1k0cYfho|SJ(3qn>lEDQjz6!bLk zKTImLoY?cWnQ255iP}ri7xzh<LKi{R0HTh%=yo0YGsSBBmLdKc_&Lv%-*-;{Z7w-7 zECObJas4*Ci{aaX;Hm>Js^v`Ohi)@D58W~Xf=d7_pOh~;>ob8X$74yO7doR6ZDgT^ zvXL<W;VzFfWot+sLHLO4b0-0jaTuCLG(A3ecJj2Ra0;k(S<6;_GNiE@A3c-Lt%X1f z(kc9xo^!ld;7Rfp?>>%0#V3eb`5rDV9b>_EwE0Qy&zV9hkewb$Nr$%R0v0-N28qBG z1~!)(SHnJ`Gr=oswcwcoaCD&r-DK**c}%<OmJc>R4R~nYfJPXv-8YY)CwW;~rH=?o zfyqQlsTL>d&R!A0HH{P0B$Up_j?d+PjeF{h>GGj*dT#?OZuI``GPRd9@X9zSx$*D= zX6=1@qbIpE+-(^W?_zEZe?Ms<b>po1>81vVo=c@gkRSt1mg`gXVYxWB5K-%lODhhi zAHS_K!+l@-K;ldmJ3i6#uXP0R;3)t=O)!h)Rfh9;;HsMAQilM@e|4>O!fCib|4yIw zr%E)n2)Z%xny`OeGm;&;1>w4=dY;P1Kq`-54F<P)gw}!5b)4oBq;ySpFN9M0*Bvrw z@ZGcVDJkF%e9h4YyBi-m5g^{Hh4g(PrDr5L#1{@JBtR;U)qe^=cNuVTjmEO}A4nNe zIE37L@1Fqhe2r3wLPxWO_F>j+;P!+7Tobxl0t$wu8DLLlRvggR!188{c=@C&ya2Mj zZT%(D=6d`m503}*31p)cwi`Wp7r;1Nk=)Yua1DL$hW77u2E@+=q_@rQHneEZ34JAP z32g!0T0`H=>04O@#L33YB(x8HSmwA$ryHdI*gC(orYM^}G0^gF4G3Wuyw_w=b!rKv zc(ws%;Y$z-->y82^kMHui=AF(0FzJU+BwQ#ucC;Utf+2=T+n+3qtzeXs%U^Bup8J7 z-9-ccb3i%W978vd_nb8$n^uFQsK3bQk%mVZqm`Qh^yJ0cBVaC{Cqd4cj^uU+eJI&9 z8lq4T4B$dmWVOHwl?_?F(N1TGL4=Tjn>*$qXi;mKlzhUp0cEv-4EPOer2k&rfk_4I ze)$qJgBG=p($FKFI4fM_vwQ;U)Z|O(U<64dPTXpT&;Z;mGSZqkfK61_x+2f!uA@^X zNsM&boOE76Ndw0u#v1(Ks#54yP+)9#hV}(rUGtjMkj!Y-v24SH!T8u&3|YBiQ3{KS zh?pNvPG-E~s_e5P2b~S}ox>G~!nv(XA4F#ZmZS#)UspGVyj?ntE*ohVsd~|5J9Eg% z+@36ZZi{2bV#?=W-|)ullx0`(;BR38`>yWUtMc+{@VkT3a|@%X;yj%j;$s=n2=@!f zV*3?3`b2tMqV)Lm?1)?UZkJm<GN*{6{LYb1Ufh;RGs4i<-M1m_moLQ=6c{rwhr7;i zT58d&C5?jhb^jU7u+7DMA(RU<cYot9D^6Tv|Ni|^%l$YFx=P(H*q~w!Dk`~`HYQH4 zH&33nudfq)^nlL8;&OENAW{m|P4cDhF_#kC%67^|!6omLwuzYQX<MHVm&*~ZYejOO zj%4`+F1j++i@0u<e%M=Z-HN-uN|wv_N-3GAPo7{NjNm2bbW=3Ec5G`@8jhk5iy6m# z1Hl+vdR--{X5_MJ@I9r3`sW0WSK}iJ?q^>Qx&nh8)z-SQW{h=b(t2+2Eqfl+_OUC5 zOJnozwNS*(9xzC`L@LQ(9&*x}tVmf>SNAC22O5Cg$+#{%w-qsYW;}oUUs#B(&&J1B z8E*t3%)1LQ3O5EUb7?W)IpMs5yLvG1d{LWgZ*YGu(S?%hZG)SO&5Decf@T$^G;bsu z$}f&wpEQ|#YF>NFJd53n%!tM2y76<s?>MwJ>euK8RZD$GwQ1|{$?tTJJf6IJb;(M~ zk@9n;6PP4XNRHEFWOA&v8tF|n3sH1^C0JIh_MAHLYEgM>sE~Sr6Z`H}H6urT$rbFU z<Dv1~c;?@_Vk>{qmbJ(`82MB{E8|W;D|b_)SLT0oJ#gz;$S|INRUxM(VSi4%17+~! zXjj@u2IsyywDLY!8Oz1B7be9ui0@&5(#fijx{lU;jx^h|n!6p4b*|sR(tV!Rk`pRu zRA4VX;w?CO@{J(Db;t*2=k`~9ycf=$ybGeYa5XAMC7-Zc4YrOO@30OE59COMQE&*n zh~K{Fr?9LwbWMNwV0umE@iCi8eIo_q^E#jQ&cNsp%J~n4^L^{|9&6wFy>YiBK6O(U zZa#~Tj%+2ziK|L`dZb=o1b7_b$3m87m#KPZf}W3T{!aM@3ni3f?`M{adu%d(FS0@Y zQbG0)zWki=HySp&eViK~EPn<)e>`bjtsWw^Cz4o^>cg?#$v0#33-6x&O=sMQ0aCWS zZi^VY@oxu227&xUedY;-dc$}$Q;QLF-9sF#)*a93-~CdVcVhxaI&(tJ<Vr;7W7B$l zn(g{5=^ucAMJZA3Tf&aroBwS08GT<Y+F9*YrJ4O^9;xuH46DA{43F_G<rMKJrl00f z?3!RPciSgx?G)tUSFRISmyh-;_UkH!A6liv4CXm*K1VfbAqV6munT_1EALxf&waeb zWf358ud02K@~d1`L+6mbQ$~FxhP#g|+hxOp&d4+v#ryp5YeJpTj?`uzO`^Rsrms23 zkM#qQYM;SJ>nt*Ej%*w5JuEVsvECh>RSmQ)@z;}(dVF$6r=8eFTU$8(7w*g9la#DD zVOl<<4>HOiW#iH68l{K_=efaCOI_rQ^`gz`VsoSZbe?veK?5)Y`ugomQZ~+%+1+_E z`zIe+)*RlcT7IwM&HElj_A(&*L1W?;_IR&66`mTmzSYn8asgg%@TDC`<X^y<6CoMd z=x}4F87@Cs<@YQF1=#oJwL5oB^9*So-Z!Y)<a?6Mt-qR}rY~Dnr(RhmGt@D8?e5V= z6$TdCBdNoE7!)a8n;*|RZGtOle?s^vfA-!e-;ET!9%Gj^Stnnm^Q$(LwnzO)n!%N) zwJ!Oj#_01pL$*ix2ZxLHzWg+RIlsHx@PL<Z<uE3qUiI-YJ8t&cscEBVZwi>VGPqm4 zF<-F|x(r+~5?5WO)GzMmT&4)e8c(Y={X5<ZkHER*V5d1W5~LAcH?wKYe`Rej@f<-% z3r?=DX`upH@q5xCDo&#AB;;yz1tk+K@OGj)$sQ_&!inzq5C2$x5z!qx$2j=yL2Mm0 zGDqNxln%6R>^nS;b`-3F8;=_kL!D=$u_k;3ar4+0crK}>`*Gkz+qJv_C%9?Nj2D@S zs%zYG-0&&AcN*7EjTEB_O(zA)fMoo@t%cv4oSXY$;3sKq8I$Uft;SzXXz_zrT^lL{ z$5=d}KyA9*vSn)xbbbvyij^x#KO>PFHVsP;C_?6h!zS}M@PEFZ8`V3UEZ+mJXpEBk zL@&cuv7A!x?PW`0lZ4!O@J>zRq@y_YE<Cp7E;+xW2TZ|VaXzxo9(d?W;|5m5Yjb{P zNADTluCU{v%7{=a$a6as^(aRBO^v@jCU_TP=Xk<`wdg+?pXTOakJ(4c;4~BADH$q? z^NQ~Vonv%X7!io*wp`y=TfBkbJu;?K!7(1*krR|C#ess4iu5`as!ahj;JxYcufuU; z2c2f}iJp+NhHtm^x0r6iD!77RCn~8D2|gdG;Q;^!hFICzWXE||byI^ATy)H&(M}V5 z8j9@6^^|q#hHc6=K5(*81|ChE8w&p9*NhznZ28@@78zP`jvd}I7mBgFt)0SEV9rn@ zY$%jKUy5#ZtWzo+6qY(nUiyqRF<w>q7?&ob_~2*z(1upP-N5k)lp6oRH;%cQtH1ea z<izC5X_Uyq3a3lSxIjEYj(Ceh1IL;ogbrMLeE#rh+mO@OJTry4^zdu7olZY6mx`zo zD&QQnLNh~xz!Ad^%AphFH^nH;%kA<CenEcK{myz%9l6=C1H%z5TeaRNT<@0{!F1kN zhjz0#=7IL)Mf}2~(#DJ$s(cc983_j(5_UTwbsGx5+pTe@ML&Sod`?Wa0qQ8JMBbb5 z1jmFc2_V|-Y$bZ>l>)ugPz8>joeS_Q0-Lf-*Jd)wz-beHm2V1NOE5v8pwk`;e%H~z zrT^QBNtX(7*!Kh^Pd_{-2IwXlaW44g71You_~vz<FJJpf*&M)M1Hg<ff1v=NH205R zfv8MJK#O==8ytdMctDoC<*jxn>nnZR*7KEAe!W9soj*6>HOtGLPWjlP0|TL#De-mN zw`s9{_2qp#jI@Y{5yTp1R6GSSoFNlklO}$&1I2JU2kN=VRh2>hF6HC0umuYt^^ytW zOjZJ3gl2SSMSr6cSq}@=?sO1k)b2?+Vbu6XWqSOJX8}C8(S&#iWj-SBnMZR49ZQ@C z*3IxtZvBWj3H*!f9G&Z}9Q3tRD@`G?6$FR<KBAW&Z2p?H3z^}WPVXm;I_P;$4kK>u zKa}{yPb5Qj(1b9fe`XQk^gGBPh~M5RzKFMb|KSc!XX94u7vZ^WW(kl9Zi#RDp?c-@ ze@e6qT1zU(P*hgQ-(M`8Pcco?#dSbZdt*iyH-~`pn)qBmi6rty|J4j0#T}jg!%f(z z3z7$TPlUNSZH{_JP+KLH1;4XL3ly>@`-_?_nfJ^LGSedJeZ8(mH?PUy5Ibo@#Tdu_ z?YMW>BjsZHYe&zC-H_I9a(?Zf(E0DHqznEPgADT%PNfa6ZWA1JsB+|k{Aa~fwIA|x z?)eK2g8nX${|+aaK>jNN`LF$_89tCak+HuV*|PYi2wsIdT(C<dAul=UE{I!r_uuq~ z_)hLl60%~@aKNPj{9`+_k8FmKk0A@x*25X5h0x5Fy6i0;+|joo_l8(b<Mcwo98s!_ zw@YN)uErX9W_6zRcyQyW<AGIk{Fzk`u&Pt5Nj|rF7?U|zHwM;<YgDrk&zv(}#{zYO zzYF86ZVdbq&t*-V7Kn6HAdn)GkuT?U%#Zjo@e6nyk4IA|E8j-y+zFos;U_yisrLl9 zB!^uSkynXzp`*)3=p=T`1aX$ngfTidJ^0|h^|y3*SN<F}t9!8RmIx{b+ji`~%0a|z z*giDO-*0i4-+R~LNk-SP+3+4p9zdAdu=roevksXQPIEJRU%k7c!-PY=)P#j&ttHc0 z{KETEvPFLuuI>z^t)24&)X2Ew@g03Bx)ofvMH!8QV?mAF5AoN{`8>{}HT|1sXSAMH z@eF}r7O!KtREtR2p`xn7lLY^85Y@%;Lg&Y)G$cINnU}k2L<a1lqNGqFJ;2Ud{B>d* zIOgH*MB=XgrODNU%;k64?#SOP;E%TOK?NgL9bGU2lo7X!Yh3Y>BMMpGDQ&47c_|b* z#?L}K@L&|xwM$UWLnutQ5&E<6Wv)+A@u{%j&o~m-XXl*G4ktDD&55uu#XE&>=@VB< zemFcsEw!B*{f?S!8E;byA<uiaCt(fcNPt<K@-uqcjb0`Ee7q%-LI%!Ht`3}E`Wp?t zcd@%CI8fjQy%L$$el0VL9ddQ&X2@^U;a5<2wU0iAo)wJ5dl%VF+-+vQT)yI5?ob9` z#$msjq;HvpXcZ^~<|u1$dX&j+D2^0xD)0c+P27n>{-$i%L$Y_-c|pX>GxDoY0jh47 zDwB2dr%OZzVMdcIpq_CZv?;LCz36p+R#fvu(KSp$WDcanmDloT$nW^-!ywqwhUymk z9ZRe}<>SkE=iWDb?tNvk0HaC6ZA#TUCYkicQI6ZEt9lzV9o>%8QGW6uuGO4Fe40dX zOx)w2O)G%^9S?HeM)RZF@t~HlV9@3HDqQW}-Qi+xuhJS??;xwPcKvB4!f%K6Kf(#9 zU^t-@-+J?-LEKlbC>pu@QoBLu9`hTen@uDpym=K%-Pvek;7+C>eJQ2Kf*3EVlHbE@ zBvbs&7(p`1@lios6eT=@5Yue?E)nKjLKovJzT!(%nl5ZkFGXE7!a8s=-wEHXc6R(e z+B@7^qU3kMh2kl)h97$DG5WE^JPZW=QG7|fCibtTJ^|38KCfaXrS!{hVP79)30!^~ z%E(#X7(13zyc4Pu@Ip*t>E(%~g-+`iRl&O#$I=R!YwavszdYv4`Y8Wnh<)Pnc<Yy2 zmmc733|2c^_|%T`R(q-a5iL>2cQP5>@V+ady|?Lf`sH!i?%diZ3<bsIn<svz*FZr3 z(IrTPJNo?*JU+z2P+Jx)AJ^2iERWRH%-hFVJFLF;N6SM-30Z&5&{89Bg0ydbee`DC z(T+>vu?t^P_r$NNVyh{YA?JZA%p0$#ZjRN*w!L@o_Os+w&B>Oiz`E1jhgCi;ara=p z)J&DhQl!Sx(v)H4LWHX9?a~F-Dmm@i6HNCuMOxao%2{n*wzzEZ^f7bAEx!qm!2j!D zcratp$u!W3(v?lxesJ@a$4^pN^;;EqYl{KN3u}?f7kzCn?$a90JKa#$Ip|k)5Okn^ zpIER|&J;6zIkkzs!`FG{^(w=|8!3u%w|dFH&+;>C-j5+%bG((Pc=5gKHHqX@a$%b1 zhq1`C08=bWw#*Ph5r*Oc;R>vL@y~|=SrhH)CC<mAM^7)O*P<8o{h;4uQdE~i-)}gS zw0LjBm{Tu-l<jujyd=@Fg5Ye~W;yx8xEd5fg)<dZs8N!CAh3wHqdx4BnM>D8F8tHz zBIXHLa`8ZWrc1HQnZ+-y<gI4T;~a;pn&s3r($d(O%AuaN7ahNFZ0G!vsoC#-Wv!BT z`SQVC4vU(t^4q3UC8;(+*e8Rece7H&f}~#+2d!S{480}VORnM(27kqMJc?V=sj0oA zeM@d3lgz&HO-MDr3|Lh?v{cwHmgH*G$~A$juh{XjSNRh8g6kL7Tvxe*#o&{LL*o|` zoSz6pAn%wn@=wDqY^8jGJ+qrt8Z!|rrGDSH2W@rxrReYttoFQwXMx5IrY}8yAU$w{ z>{@<NGz`&xYPUuqqU#q-1a22S8@Ydfvb^fb$)3i}J6EQkvUa<7E)y?YUhjpU{Z7hz z;Ye{l6J~pXNO4B-9rdV#pVv=?2k?F^auhFTI7PIXVTgsqT@=N)7~@E<+`qy(N!3s= z6M;LKS#@DgYa2x|u;!YO9cBK8srse*@!NP(TtmL@_PtOQn){Ne_xIvDF3u>`|GIK` zu%C0%iTh5}ZjTXFtkzvORc?dH=O+dZ`G}8x1$7jLdo!@vGq0-3KnYr_U;WrBxTCuu zs&JDdh=CCJOt3?DH*)VGTy~ssE}QNX&R17q!v&kP%P_lvFxy)`mlQL1;qncb>~Jb_ zA#B+cWh|qG)WzTQ;rtX_^3IwE<x)2xn^uSJQeY!Xb;WLGOV(Ezi>5sY0dIYdGC|QG z&Q{?nxZKL$lk0LdL?_=fnqZzuRGvML3}b$gD>hF2{##{+%}$aqVZqcE>`H^UnaS}` zVm`_r`lQH|u!ioFZnJ47Xtyg8^5K~51g7ulKI?|wAGo05e4~1wWO0$nqKm*J_#;*L zhZ07V7{)<Z6#MNm@$V^;T*4(R7sjd@tnEr>I(;V37BP``2b(SG_}DF^K9(bc#J#Hi zJ%EvE^x%kOqfin!o%kxO1Ftn*zyC_&dnHr2VyEkcv^51pBV$W%E9vDqBdfDlVoc{y z>2*@ypt^AD`cFy4W!LY*wPfMR+Z=)ETyokM)iu&|iR7ECjBK!zsAZQ^8N?$UCkmQL z0_FXcwXvz#*capR6-hP%V>W(bw>i9jmu`Q-q9Q%cbN*5XP3^Z7G0mprf(E~AQ_QDx z3QQGcIE5dQ_ncSV<l{3zKr0+lUnf`SJLxA{Ebza?QhYOEgP5&XqLwV>wV>tP@jPl5 z@l+0^pa}IEuwdyN407oql~6~m4r6T$>S@ZRBtOf!!Ti4bt#Tx+C(Zssu-NqUjgR1; z)$F`;X7XY!m?4o=``#Lr$tOAHI^I3hkBmnh#|~pKt#}{cByrsT80T@eN7Ccii~ibP z&%hR&^yT0j4uYkLeKzK}*QLTvFNvAt8{|1Z5wxeccMlyPs_*>8xd}D~x@J|LwFVCH z7GtRor)^ymE5HmFbc+a+%yzW(^2mM@U65qZ)09hCkx>eA!y_N0GfSHHN;K+{m>$YO zs8&zl3q?niya0{s6$%Qb?<3^wx5oIJ)Nbdhirf>L+wI5K@6xr_Lv(&n36Hx0ZL>L9 z;d9d<7UtZIqeqgn5d>qQ8W-OmM{O$cy~*Vh07taMv|8m*DJ`91%zyXdFh9S#@K+TW zdeOmp6|gA3Cs@=>rjPr2leEa60qE3Uln!6!-@h4@{UkvAcInr7%{-9Gy}g2lF<y=> zY+MtgXV^mjI$r(B_n%FF8p5<WX)2hX8yKhv&jc?u#hqe*fw2^!>iIiTylQ}kZBONU z+ya*Rm1+#32I&hgb*4_Pi4C%*SI&JVTElnp3A^7E(@qp6k@E5S&VbORqYYIoqb`Lh zeZ)KO9~{-aOoYL6k_B_i*qaaW6>jet%trr6#gPoVhbo@CWLX^dz5D(RvjAcX8+oe4 z-(Ue`ePu)HT`HN_XSJRW-sYW#W%VLIc7{42hoXfAo9-?CW+~t|D(=7F!#*QBKsJ?2 zpPm9jBZj&u<~31kI**v!4r@L5!wwfThAED&iK!vWQRf>NINw0t?1tOf1`@yq2B0(` ziAYf=GQ~U~_Rh$2uRDAC2Y7n0b7<!5=@;#1PnSMmUK4u2C7g5>7RxE&Xfa!4efGGL z0s8Tysr^;%xKy0hUe#JlstWsVDEc`ie7W{$gW%R5E6QBVoe)nlF$j%Y55B<aM{46P zoxgvGj6Qkr{U`luf5d+UP8__sVi-u@Mg44a5cd0giP-Zc@+_QWMA1vYl3;YB%=BK+ z0f@H7lo0-sc<BSq5dM9-=PNE1X6G*xvcsDXoi+O!!-XFr7H{%(JV~x-yz%jA<Mzzr zV?InT)+Tjx_p9Qz+?R}KQ0m+7hk7Y?l8!T^v`}QxP)Kd><0O5gvWaUAAv7ZieCl~i zZ~97Wd27LZZ|t^!&HZh}8e&m)<-&cRUP@0>F<GQXPbx*n9hn@xj1d+pYFJCs(bSV8 zd!h0Z?VK4CW<|a?sqst`!o)Wkd7-eEE$vq&UAWvD-BB<f^X=2p_<urvAyAm}ej5Em z;0r0AB43F|t$ilcLBVl`J-6us1rqrWM(w+6Gs(aAt_H%XDsG6(T#BQm?PaI<gvtDR z?0V1^Fl-XwKSEU?T~|#s<<UD-qpF}baAqe&f_J$Y$ihD@uWtfg+ICC2@nq{#KltuP zT9HtyLsEFoKgAC269-}6;kaFg38TA)dF0UOep#{3{{%4xkPca>qZw|#UGxn7^)Vsa z5M6ji3&U$=E#?%N|E!rEJ&Yu88P$c(asL22iS&zj_bUy>`^?il4}Sc<MT^OYde)NU z=aRLHw5#1L--_Cl0YTqEBjh=MTDM*Z9gzQQ0r_qe-m?D;nO_atwdDf0IRqmOKgdlS zEv1*mxDBG?J{F?02!XD^vK}U%i8i!i1GM5+`I6OjX}&j-N!vF+u2M2=`LLX*2T*3= zk%hX@=Ogy~40}%anTnQbjz>`r``1#*zsJDVjX}(lD_(q>Q<8_h?eDxCW9v|usD<|? zH+cnYE1<L;zRDDnGkmL;?BP%4*ZQagED$oMe)*KOTNoP*#wYHuF)ndOQh8loTn(E0 zUBL!jLpYlcNs?Gzw~dTzDVx7pZaE?j5VmcJoka;Mhr2(0vnkIHBW+DL`gph)`Bdn% z9k<c1H{8qSViKue%YwA=S@c{%TU3-)TY>+Y(tlwnP!9!uqnd=ckn`vPd>XtBcz&L% z`*A#hqxy%qkeK^bZaZ-<=LWiH13T;Nnca5lOpI@d+Ltqgt@XItK#hl92HTt}G34H2 zwq8Ev#1=+Dq!D?jtkS#Ef~!$qpPxlIN2;f*^oI<;So+dIZkcOA4@A4^<Zg`DsLGR` z2Po~`v-dEu6PQf9OQrB3?lH89l{m`tO{{W2yR@?oo!hO@IZpx)>qk~1iR#WyOU?#; zS~Z8b&xPDkSO$K=uMGt-dp=z(C4&F}l;ygv&M2{q>A0?xRk!4z(;!(7G12Nz8+IN) zu@u<59J3B#L0ZxN+X?SZ_OmH2oPKIoFgL}!_Bx^LDp`A+Gjl-xBB2CT#dQ1(2m743 zglS+<#D?jzh@UOq@~G1?$N>lY2^{0Ta51Vp*ta531@G_Ri8<sj_v@B0Jq*5zr|`KL zU%!-k*D$F4M70t&r*klR6vYc%_sr28sW)aSQNYqy;`Y)mP5zc#1qj-?t>xQe2czzt z8Nkna4UR$BJSxuH0{Fb?lX*7o0^zTfk0*ChYzT&4+ef({jH04U|Ffb;>>jR)l#epM zubVIO4&L&1DijTgrHIEn2-G8R;S4~8S1O+K_!6J(siAz~FG1;lHHXgAzR~@vV)@jo zi2x@p!M(T$D87~gYCKJ=s@wQ{0gMOb*N<QQA`Kk9pu_Cw5^B}3gk|M|>MAimRu8G0 z1yoRdNe5IXCm1FL4Zwf>b1f{iY^j3(O9839+}FkFqiX?zSG7(aHovEX(MHsg#M+4( zgDEYQZ}HCU_JRVvHN$<qx~J40;DhY4V6N!N36}Hqt`(D4R|*FWhUpDsh!Lg=VJh5l zFZsI~^}p4eUM7NrUdILz9lo~KExi4d?+?`9fb(NqpH%zqhJM#21fR2m$URovFGW}% zX{0@{lX5zhpyc$~Nb9-mjKQ0$;Y+N2A`Ho!IY;fN-3H4CD;IvYKkdY9V&zN0nZZNo zT{KN}6SUuWZ}b&h#=W3*yVn&<VTQa-Gz4)4D$@+`N%=s9dy8|gI4ZNsK%^`NY1tr! ziNCzE_xhhoKS(&aK|cVM>8hV(Qv%HN`R5KChc44&Rh0%uTFr`BMzc$!9M{FIBFC5^ z|5eP<;PG_z740vMLk3zNTnN8sk~Mc}&B;cZ_w3_^$LNo{_}of_G(jbf*cJ7_>Pbh9 zp4ag$b95oLSa4E}Fn=RPVzX)%u$~ZObRL43auCe0+xif+l4}Lk>B?<Os>`@S-huy9 z=m!<;UbTUqV#z+$lFC;{dW%6NRc|WATu+Ji?CWDgOSoT#-=$*YPEPckFGRSbqfarX zob_z?{lg_jS%1rXgKmsdWLE#gP5G={4tgQ<24nZ~Us^IUa0#ovHsZnRagV2VKg%<P z8tBjcMkY%4>?7||9c>U!l6>5a2u0_Jdq#3vcr!|5Nw3G@#V2jAK`K)X;YuW{^>5=W zbNVg)ISjU==^OzSc>^rTLveqWBWeI0EAmM^uhRVBNLavEG`qhd*~px|5rVyG7yycQ z#Q3Z$R*xfP2;bXmG`L?+X~x*@OjfsD_$2Aj>4G{d@_wvl0cClx7YzY#xAD)Qt0QCA zkt+6#7F|nHEO+Aa>sm<&yD9+eI?FAaD9rhDACYJi4q<0bRn)<6b>SMMHB-fQLR#gj zK;lsx(JOP@{G%ItTrDpP%4ybKWuJqL$E?~nf-L39{9cc{emjB?{;M;DU%hvTlSIuB z3OoCH^3&@kFEI~P8vq;`NuK&w>+OYp*UUvR+Z%1W28N?yfsSjl&UZ;Qg@XAjLhlf( zJBUO?2>=BV6U}az3OV@3+VN<!CLKlBHkR*tkBq=B<t@sfPQ6<Sl-rLqcc(zr`W(9b zH!wk%>!x;qY^jmOXJRho5QlI9FS8x6PWsWn?tvD!3<TJRA5HY$z8{pFWZ09cX4QbM z@^KKf2dPqms{NF2={$gc8Qx;ENfia#>-$bIVj}1epCAmDJD%Glf|eVk`r9g`Uc<w- zQMLswO{BexM8Fk*)~Ntm4;BM>Da_4c5M-;%4>SPd5d8HGnG?BR4T9&&N(HOX-eJ7E zC|L2Qc4|gZp(qQN)YU0lx`C+|hZlZgwy+(QhhO+e1H1BA!ciePJ;_b=)p@W}9jt<? z>TzRtIv1yPb7>S#b(w$*FYK&l#>Jx%c`sxCa(U)oNY82>UYekKR<>dE5a|6^*xh-n z<xX*ute)6R(fm)Wr*fAKg`rn~f*syxn#pi-nO^0HKK=RadMDzfn!|8pAV3(mJA#xH z5%0KNx&_WlZXVq;=Ctc}3m0t|WYDO551{gv|HAYtM(;CX2TfmlC_aOD2AMxNNq2s5 zNSv2+W6W@gdyBnC7KtI?<Ci)Q53h;Ah$*t9YwM*3+-H=f&XPq%cRaOv7RI+@hCkr< z_{^&k?*2YB>!cMHe0Bg!2#*2q{PODiAdt!mJiN2|Yl;6m)(79dMq4ng&;USv=~W@! zIXZfQj%AkW>OHk<ARGO>nK>aGhE@M1YnyVz^lzl=3RRq_0L1^zro%-5=5B^A=7bN7 z<*N-szpv`{!>|;hcqZU%6-Ex~zN89~>U9%UHx$0NJ3fWFx_2Wueq6Rp&vuUlQLUg? zoMk|fd~CkmUT%?d-c@R9Hb;^N{t6VyQoR*vI3A9yMrLvpWBnRSq=@%?aJS%hnKeID z+b-L=Tz<gFaLetvAkw`j9=U?@j{)G8xy>D`r!1Fq?;9x6p!OyU%dp<Qlmj7zEaM-> z-V2dPw{D-uP!vH0seq%v<YmY?S{JXtRJFHgg39GeoZQK%6B^aG?@V)C{}kI|f4Kb@ zFZWhn$6SISf_axc-`uN%QDjlvdA;l*Z_qy&sdZjf9nC1gBv8fR(-Ch<ioKn=kQE6U z-<Fs0&?fCcmH1Rs{I6tM-poh8@~x;+!*TlaIR91gZIkq4^Xr;~JiWgm*L7tSdw;|i zumhHgeFZBJJ5VkF5O_Je2Tl?|2vE%Vl4^wF9*<mHM!)pH`bw0;3<3q41<Z+-gDN<l zU*vsT#&YO>g7b2blV|Lk(N|NT^`I+WA&0Sm?wlTU=S<a4fp?Iu9A^WH^Covz?sqRe zj3e|*FSzqTK+BHz5@>o>Np6vW4#gN^4OKB{M;MZR$m_)luToht9oD-hEY)n5pKOzY zW=q9o{hRPc2Yx2TfoFLh=C%q{*_*_iH8Qb<Y1%aMAJtcSkj;jA)1b}(eS+}USzfWR zvaekF5d5qkY`;x<^JC3?_}1`WG>;hodTbrX=<956M6U(qW?LYIx5c$UCv_h2S6b7R zKUP>Xzx?ig98U1@ndq7dz$)Tvahc}@_|~l;c;<DxDO!o|?yeoUoDrbFH(y#4Py7#- zzlpY(J{)>;vd>3(9XDv!BL1?NUeSMQeAXLR>Gv5|jtIc4G!ab<uA2F;>lV>PpMwlx zKtnQsH<^2^FI0oVy8okhDUIX0TTgUh+xeS>VQxOWnZ#1%eEC-(<-wcg-r1MEcc!Z6 z+aX2|Vl2`iy6&=q9&WtAtAh;=%In^8X0>x9;5fPurp}>`All@%uJy&`mOS)6+)e%0 zS1BbrE0t5-FTSMM;cNqZoifOQwSX7_#Nne|$KFnGAbE&J<QehtnCR?4R5ZUkyP_cj zEa?%QYtMfbeDqdp4pVyqYd0~-lY2ABQa?P3#^Hu*W6Fapu)dk+a1;l2W(v}PG_x&s zKv?AOr=pi(6a6oLBoK|%JBv{=rq^@ixQ0IEOLquD()I>iKw``c-+zy#B5=zF>0lDH zPxtBaT$Yt!q$FQGm$#Q?j)c+(SC8Sny%hTou9m$IM25zo$0j@K#)jGRyd<H=v`sGT z(Or|E9(33$7aP7I4O4be+9KhjC(ZC4?du~67^~%>E-6WxLHHC=v)N1*uiFbv#wmQJ zutAELSnbe>%Z#T=4to|+cUs>m<}+dI+B#5g73hik(i_Vu9ps|92`yU0^FUKQ36BSb z0~Rf8BiXN#Qh2NDn?f$h_vE@akL98W5B&x3ky0~BbCuNeR5^?;Q6_~P<2_cyd-3=; zh%j&GRsq&Hk+xXk{#fYi;-)+s0>@z4oO=lH4g{wrA2;a4g(lD+b=P?Lyf^;*22u3^ zJXN2F(Ey$rfj&xsd%VM`M7W!-q7(@Z9{Hyq?$fp%J3iDX;4iAGUa*>5o9NnDn=UJ5 zPDw4*89!c)d;A(6=50Yi`P`+ld*j0WmF*w1v8*{w*l`WAg}5$;H2W%GQrV%y;(a?| zcU6W2!Ed%JaYKBYS|UrqFlCRa*6Fzb-6R=LOmzpTTN2tfoY{m}cfI+2GzRKY&objU z8MELj<3Prv-okKrWj-B|75>Gp1ij_hrL9b|%(;kIjez_7{iQ~(5jx`yWAFCH65E5# z`|m8+wNGfPN8<7DITWhhs;oF93#T3!wZZ7{@!H#u@V{8f=Un!7-QOjTEc5B7V2UrU zb?=L#-xO9pc9Gqn_*rU6NkG+$|ED`)OzWEn&yjKAAFRCMK(I0eOly{<4z8u1h{sd; zvhWYlnxxy{4)o?rEOkrHO7MD0A>T|D6E@~<OJDdE!-q3dWqVaQi<Xi8TAnijV(^wO zGgbwhbW80j3cb~49EHbQ1HZrd9x;y}^_`9jc{hrN9FbFx3#B)PhU~wbO#8X#<hW|r z!mP}@&3jr*!{XB8G_sLL%Sh4ryQMa4+aafKyy}L->APbm?>|dDDoJa#5mm_xJ3qKT zdN4b2Re9(V>V-8r6^RO}tuHcf4QQo|N*{Djhi#V`A5GCv{E_ZW_9Z}#?MD)77uK_E zJ;sfhy=$3X?W%&%_LXjPtei;g2$|NC33~5kaV*oeRkG2QTI0Ay)Me8&6*L$nO%fR@ zOo*bY@p$YLOJhAVkt)ObTTj~H@W*&~DeMQ6ns$xtLP_lYU`UzKaHLO5a8^j8&R5=5 z&eK$*s<`EsWTP-*ho;6ya*^HL{$Ri5?hA+SfwfvgDhKnlp0rhHvZ)Yn%<S;Kf?t!v z(;)seN$b$Gjh`G0&P_ETGGDZhWu$ETyfK=!jEGNspC5z}-T0%(J}!YDFjb|oH&-kk z8Q}=_WA%ubl6ZXgrU2@;_p1Z@;2<Wl+z-6Rw(=ZedEABfG=-xD)qNXU6PE5}Y%~5J zTW=i}Rn#tg6VlxcBBCITq)3jGNGl-S(p^$RgCLE7bcaZHNp}bc(w)*F4a2(zpL3pb zUElW)bM1TGtM1yf*ZgJ}!wcb4%8k5Eh+@{f%8!kr4=uR}I|)NJLhgbdoj>fX;*!xl z2qDkHVtO{-@Qmo#Rn1rlLh!9}ga!Gnj<S`RexBTw?Yrm3G}8~XkMv(YSrC1xE+URo zHqr*&CX{KkGyavm!pH1B&Ph+z`y@lMa`_S&Mc3Oe$;#k+h_=Pghkx~`+k#lf#wKEp zgrcP_f;3M^c(eMs#*>b~&z%L&Y?72~aF->0*5uRQRPxdrg}fDv|8@$KN(8@4l>eF6 z3`x1xL@sE{`f|M{<eb8w|8!*Sm&<I0MlYrQ<`&P;_45$!;O~;tI8%bC$?je1U1DEW zRkDMyQTfrPM%;EEeWR8Sr{s=f*eRd-#`2>Z<r{S^C9g44k4wamnhqYjc0+Y&K~P$p zd}}`<1@SYS+q~-WZ%5ZI6YEb0!-g7Giqw7F{j_+!`Smx=tbU))Nqp%jzJf`4W^ia$ z<|@C*>|a*HnMRosq~+TQJ<#@f7Ocf<j8o?51TITieeW+pS8}W0Bzmz3CK0p6l-xYc zf=CoeUy3`dvC55G)o@04EQC#awZZ6RjTZd=T9nhIucHO|lAXKwX~n)|7rt91!!cJV z&sFByRz*{nTb0FHFYB5fQ!Wp_GPbYgNv}c_k~XR=xe&lDaB!;LzNQLec%jLtMX7#p zZ{~0Ga5E=W+eeN2^=7;HZ%sIbdrEu&9n7!_(l{qTJEBmJKDZviC~#n{w&)#U-5}PY zly4&}2rkNv#yigx*&x=u5?3vIP*JCu^bS&)sA^@-gCh4ZtTLDX*!t}+Y6H1oS=x9p zQgylKbo~YqotjEKJJpxy{Tvan<Y^>YzHS?<$@5^z__m4hx|O|P!^F2%+h)x$hHuo7 zNxa5n`kQW3C8b-yS2{zK6{u5!FJ@2w#mM)6i);MxDE|EubydY)C9~K7d79$M_oiR9 z<(nTuGUa2UG7UJgE#|Ez^-@CrVjfc@<22%P+&JZw%)FT4^;R|;4Yi&>>d@?8v#_k8 z!xT<gHSA#Tq!Fc=PqH35gAn97^6>3mcewX%SXfrkc~<^NSvBqWA(~v^FlR9tm5DwJ ze7ozuRJ5frWMx@}+LV9f7*P_`JQahjn9Vg`B3ft5kZe()!=*7`JrtkEY8dqW%($oo zZC>2ll8+||$tF>nme<MH|I>P-DX^T<REkmMyU7ki%gJEMD??SWOs1@$2rK^~Gk;rN ziyMjMRcbOVXJP*#CjX+$_bN<Ia)H>z4F%&;ep*z?KHlWYf72e%=0jYNT_T3Nr$n*w zb@CS)yikqt;6e6T{V)Ez2rX-Z3fw8dCseB><qs^JtAF}gA-F_zb-PKj`fBRzRnjN> zq(Z_+IWJsXalZTMFRz`K8Ea!YUzZJ2l{wB?eLfFnob9(SVp~|OYgyam(%kb;mwzir zTP@kEAGb%H8eR@1M{TfqZ-1RJ%o!T2U9EVdPrfzdynZG=uTP9uA0-LQ_<YLyP<qMb z(Auvl!fu%!1AoZs?(+glN{Ggop2I$w9<IGq+j!~%sTazdBkey4lLY&uj}iUq&jJNv zjoQ0;*WDc}FIIw{W3ncv;cS|`Y0(ax)U9>%K$7)g(sH2T3+6PPv6i%}<$TpMb~!dc zT8;aZ61Uk!bV9_<zjhk6-(HpQA=Ma!WESn9pKn%7koGl_F{FWIk#t`}KySezu$EF( zfrr|CuddKbteXxfpfVy>(95ILD57`l&xQ){`a(r(e2L{jx8Xs1*}8iDA6-#XCfBPs z9mD&7boTtkmwWh>BIIR#tW3z_|6S_ig^&@54vV7WI=ZW0W4}$e&Y&h^L>y!1W1W2( zAilHL?!cMC#5yY$O38@GosTte_Lb==nA!$Rf~c)g^YfJ;Sox6>;gT_yfOLYL5woT( z>iCP4ulQ42=s8yDA@oM4ZkCsN#T{QUqQgbdhR!ey{?6=e)9-tbR+Qu9n5htEBy|Zk z1PJM_+7=%aIhTc;u=0jEVq>^AbuVgms_$sC`T&Kz0IFofDwWdTZENRNpq&-88!l=_ zsPE_>cRbox3??(a*1rj{G1_6vlQft{RT*c(u&YE#>1e01?W!eRnRt;xG(FH9*M8P! zYSpB5XZ|&!xI-|yc@FD=RXT11e~qt$(`zIvE5!9FQk$mpvmYomxW83jG&<sv3I%d) z*vwL8KRjdTmfI*E!myxWt#l%^X)H6Nv!d%PvasdV-_d`U<Ntn!<lw9=zA<FCmJheU z8Gpx>Q%+B*(W^`zr!=}5$EVmo&==R#oWFh+O{;NbefPJVS2b?D{EPW-i+j|yfpzoR zPWxL?G}fb2s49<TeFp!uXL-Gt$tuT*gTx@bmxa5m#>@(NJ?gQT+E}2;bq1RaShft| zLzYW{9){(J+R|CuCTRQvfoY`SQMS(1gR@E*KR4G<^+xyN;@|Zc_wK7#<^i2pUn5al zA#S=oo^zAE{x$!?DmD3G@&XuhjtP0zM{wi?>(8OQT7zj3{{B`FGGQ?Y(|_Nem>bx6 z&xRX+Tv|Q4G(^`7?#jWl6n(XK@{sFaL}-H{$qDz}^6O7gHH$k8$AYUjv(7#)J*vcs z%T^^!+lXXaqLu?5d0M-`SmeBxrUyDq5!P&t(GoOx&N8v?Fa>2euMJoBvRh#;H`z9` zs_m39<G(%qJFkkq>2)2>sU^LC(?x2Biv@2zd$-e@`oS*xM`NJfLha&S1?c*`PG)hw z-EM&j?d5l*Hr@uq_TMI^jN2Ef0XU~EE(ZSf%LorcTORRkib$7w%A9pn8X`3CgsDui z?>_EH3R%=~L`12C1>(4}(Q!<NFDlH9(DWO+VupR6Z_(yx9rv*3nE5#o_qp)>4->PX zimBk7XV%P+io`8;o181bVB-S)#!pnCIyzI7!)k|&v!bTrMn>Qt?YQP+lUT*pWlqHe z;OvrBTB`nxRFpD5dJnDPHo=Mf!Lbsg)KP%OwhF<8nr(oeq|jfF!X{}FvWJxa!Ac%5 zXFTw_<Km*Enq6wLGNO3qR_SS@;Q2L>ZGxwUUo|!f?^}ehc9NS)ko!yiBcFXO><ARx zl1U+~_h=1ET|2qAoy2}C))`+<(A6q*D-fsRE*U#qv-^$rBtu&YQRJraJ0LX(LOrqA zi)AShVVU^EP*whR6~3-Rb<zjq(}R<*gKY8jpCYm=-^hCr#aA!}1%F56GtuPsT)dG_ zTg<sgzM^L}(Za@?MxGLs;`a2H7n%-Wvn1OV7em#5zR1}c{^V55@h)cBE#Lc3FD9n= z5kIdSJ#xq?E1M?0<IBE7ugdk9q*P+t)fH7^gmPL`Hzhkfo^$xDZ-e=j(7__VDx=nQ z>h~V9iqdj(d+to4y4`g)aGeck&ngRs2XdJhq4cpPd>)5hBuCZV!OG^W?xM%>C}yBS zJxtr8H#9*{>K9RiWNqI#yXp^tyS9epZE(xL$dhyMygI;UB0mm=u2%YHo-f2lQ>3<d z4|_#l+ipu~^uMz1J^a2wU0kqunLHxDe{U>??cmR4jxQx|hxMqI_Say^Nfg#T?AyWc zdzJF|!A&*dzAVtZB&O02xuW++Y;gRZC89^>OtrKCSI#X%%qzHq;gYvT=6@ci1L|pE zb5QWGqEhqfHmVKbm!PIH^bl;&CYnyGqhxO)b_G_Aw#fFPM|F<w#@SIMbqz|_j9z4{ zHHSx$G>!wIs29CRX5*BF@%5T}sV%`;(K1NpQkfXe(V!=S$!oU$gTEKNPlIva?=I2N zZZa~QKZO!C$iVok^_icaL!_nzHSM9tlc-z#eRp}LQl|)~Xgn^vCUmYFZlTxIHF-EA zk}!VW^hd}Aq8a5zkjuJx_}EXO);=P#ph3<6*~wni7^}?j`wDEW6la9LZxOX|zX~x3 z_<^0g^=0<wIX$q+Zpq`?HrysFALjjFY*afPFa{ZPK4q2kl4_@A4!NNox-1uOlcfA= zn*-K>DE0Jwb}6x94kib@NZF<n%dG-E;vaa~cguhJh}9&E&)6-V>g&BQ6SzgxuW*;| zba7E$Ly(E#lpi_|J9z{K;LM#z-N*Ih`i&qY&9ZF^Yq-s?TSS!>@<LwT_vwz{!0ujM zctugza%qV?r~q8{9+N_B9x<Gze9G<kD7)b2<j5>)Vk~e@WiPi+1M=cG_SWI@(5vJY zzScRoE8kThHWWa4cZcczD1J{bTs+*)Ft1OQu)C9=#{fxn3JH4RY^ymmZtF%dQsrZ_ z+}W*{HPWR^J^R`&e{fxrp}*Ht``qEuj|x-VYuEP2ag54&5aRU3iH%ubujgEv!{rZh z&|($)<9Jx{JP3utU{k|Xgq@+@^A<BO0~XHj_c1Wf9l~0_f)st7Fw_Dy71=+l^GwEo zHzovrWXSbE{sx0Bv{=FB2R*eJKVCZEV~XEW9T0e>OP`^}o!vG=|4{As4ECgwCzM9# z;E%VI^TqNDHt-)Ja{3h42Y-!}V_?_&CQe@fHJW}>`ohUJ1GtXGG9NKXw*|vm<*qwa zVF4v%0bxV0?s(}8OS7-{rg$+uGYkwg6`QbL&(8yY)-me?Qq!#`r{(#x{Ak)_RLC^? zcQPMMHMWUq(4lmY)VY@OytVApN+IlCRPb(4_V(iY{&CwmvEQ|=#c#9M(`?&%bzfLP z)`FHNyT{Q-_bqBrxoL)NJppH7{dJ{$F=2KX3|j}d1zwAE##`({KDG{z##~Kp?Ga5d zKLDAYS{8?+eAoVU2|P8#jz=E2u+u3i(AVAN(FWwc84tq#>A+H?n(>DN_Jjw-89Y5s zIZ`xeKxF55drEp-URYta-SYE3pFz+9!y`Dg4$@N;E?!(ecZ$9~`1$0G$u=&hm_K5T zV^x;-s_k>9up3Bj@6q_2ZK#LpwCbGgjTg3a%pDBpSuEl>oxTqrsJKk~{4iWd>>3C$ z7`M+Aa{nYL*k;#l_oCIX{BcX+v<NrCbw}XXf@o{MI7L15WHRsvd(7Q^6_%cBvCFdr zdknqi2bm5}UvG4|uXQ*SY3pivpXXXGla-!cE{^-<4g$?*X05|qa7}9;%a|Km3)3pZ zygKNz<|m(2Ba(Al*bG8K?_J)8s+AApzMcTzbN%&<&vVcVOXR9BusRM<ow{zZ@|93` zsf+9GKzTx^Z<#l+m5Ve?z7`li(%eTNj=sVJiB}v8x5c1ep-=_|*G%|ZzEHS0$vWox z+_vK5IBXmD`z6vYby303%=JFhDR>%HzrC&$nsY<wj{5^o$Dg>n7`y>Xu;d1Ucy47X z?w14MZ-7)}lBnUoZV4uXmtZd!B1K+$xNir|kez^UeeHp7nYLr6(`e4v{<jE|DZIs+ z5>!)8Hy%W!fo-CP$KDrV=yGql&li7gm2|$J21M+ut=Ufvn6<KCfzRuaTq4xQ^S?Ue zc-T1HnKGD<WHB5qK}4}HBR?IzG=+r==bamonRT$a6+%ypI(pcn+>uR?%N((v-*uDz zy1r!Ok-be$XA*Jo9j79N*G5**U^;ePj#b5V`C}Za`aC-c8ahqic*wfB<U~2xQf~Rz zdl$+2jXlTd;&^gd+}BHbhF$6*(6D)SW}}TRe%r_vFL9%8>x0;iV!=Xpmw3s47Pk<o zlQAy|LNbgMxq!bFVHv5~#L~fH%WOHUg%6<{mT+Zjq1K1GW$4`t4=b>4n#@|!em{J$ zf=U=)EB=Yz`#Le}`eeru>H_K2QZ1isL(kA24&^<hLjH^@Fx-03vH<_#R<|CR`&^Dl zQ}OJgsR08^A+(1dBA=|m`sjoTp1<QzI#%*^2isO#u;}c>#S0;9d6hf)q0g%Qd5Lt~ zJkSk|uA6Q>X!iAN4)C|)v`S6q&H1_1$+eMQfA39liztMw@Geg`AlEAFk{)t$eH0gc z$q!AYSH8QQ4k&!nj2Q0aKME^L<mSHHD8;dJR=KlDeiwr{PBjv-j8L8GOwk1fu^G0E z0UQ3UhpJ?&KLNkV!==+m$?)BJ86%tp1&swEkJnHIadW2|dungl`S@MgZUbuz0|O}? z&I)RB-7VXS1TQYY<{!u3q??Jpr8@BP3PFN7qCfR+%w%8oq9<OmkN~G|fr^J5>Fhpt zafd6vYBJeCgT(@+*ICY5`;kO~Xk!l)mp<Kvs)5n7vb&($O$3&^);=wefQQ)*8p617 z<S`b%bD`Pdm}tddp*3oYtfSru1~7##)GQ}bU>;nET-=JMT_nU{<;Q4?WTC*@URNS= zQU@OXU|(y=+09yOzod)qL^Uf4;14rI)_;JpoJ^u-rt+Jq-j1_-9a-cs9TJi?$A|F3 z3;p22>gt_?+_ZdOAQ1z5x~K0QwFGGws+cGa=!0`EGY#qMk|d+UfXknhA&yj+jT0_> zHKefOl-#CoNdA%?0CD2yVQk_^sw{dNqy3lK%TMw+tzBHD{;ky_)2I-U@1Y7GQ~lQN z{KBZwf~tUw#xK8A`kRWPax9tYoHg*PK;WB-=fuNdPW)BC99eoC%vy2UfBilARKPH@ zXUU{i@rT~*WokAQjYxgMlCGQNj44@-nas<{&c26lgG$7*6l3~PA09BLJpO{yI?OpL z@i3`@umP#D`!T;Y0(^}28H8PIE+bv8KHUU(3s(6Q%6&`M4^!l_=bevT%N@V5WU`b^ zg}tgp?DfDTo3@3^n~0YK{A@kL@mssvyz4@jgaavm1{Z}4i<O9)J^F&FgXs0f|E!F$ z%>$G70iG6Ns_);==DQZ#OIw%);oZ~AXGjOk;{}3qx?9-B<H%WsdRZ(PFiOgNbHoMJ z0$-aX(k<-A;;aR_^0$OKh@&x5m4CX?K#wV&`HPeI!y(My-$0LttqoH}`8b^E#Jal^ zzfeaCISPnTF;3;2Py%$xHml5$2MKjke&yk`LJZjB{B^|o`4|ynw)ha-6qj@9+fl_n zfdBW~?cU{F1RpD+G3m<3!RMS<H|1dhj?XZDJ3q@+?A1D(tWQ>>V->Llxh{waWF|`g z?A`!H#gX>Nt>N(%;lRi(n*upEJ(|<Eg(D>RczqAjWI8=C=|<;A;tqeHCdp)@G$1`< ztWKI|I!bGohC8xpHGBPGQ`~%9lRnw}7yqXGvatOic8r4yDgGIWesE|(JfFIX?*c|( zTc%0Rk=l`cpZ{2FbY3ux5D1kL4u?X;C4gOgJJiVLQ;p)_-SYx$)&4#`9gvPe08ya9 zxC^3y4Fsuwz!hTyQco*=0}I+m#bx|?938?RqFX832~`}S!mnI6%^0bHs#d$erG#|k zp%BAc`%n9?<rh@zUb#Ya+OOLK3ai=Fk|2GA@R{sB{hNs=S_;bvC4yVd$u$B3*VF>W zYV?WIiECOSz2B1E{g(8?Me%j}!NEu9{_yDQI!RYZEm&uw>MeNa&e+<gR>Y`<TkpcO z>tUw%r;^qq+pzs%u6spQFyf1R_~NAp*&2j;o-LEk<5**ervl4`i$-HmHCmgVq)Ax) zsu`W5p!B1NvMvB#^ogAcvmQu1CpP?0Jv*IBA7CFbuvf2VVsS%KisOtiF|Hbkw#hGk zG$Sa5sYO%@YKcLheob7l=yWbG5USk^tuah$3vmS)KelN#so~<Mw7Y~&0{<9{>GOT@ zJ>hg{?6TZ6W45Ywv)+myd8~x?V6*KDP#HeTDVtxZ&Sa;*AQ+6VIQ!5&w^Hr+nYc!) ziI0boCwm;RT<XM#Dr9oFTxH7UXl5iH-x!NjcKYPQmGBC$V?iCU2<R;*F{b+9@n+x3 z8BiR3eGxJlWP`DKm^thH9bM#tMVD%uZ~>>}&+paR$B3bmz*qvEmJnd9os$m(Q73yV zt6*^&jMQKxxci%xXzUbU>)M4*_KW+e3UpaQ5&~?0AANWpdxA48o($GkMW_Il0@u~i zq_MLF!B?8P%DhYrH`n6#ou4W6n^Z4x*qQiCzl1Ci!*%08`ng*a9=a+!nB&w5{v~c> zPPw1XGHfv&LuQ!2j!nD9TGx%BjaeJMA>hb*b`yTa1U1d%RSklac1B%L+&>dl+Mww@ zzPMd2b+ayz>n&GE?~Xco+;dA*nrf7D2>Ub%Vp?C8Q>#Bs^k@TI0;_??R!fMM1a68v zhkffu?!6zKmg@*@%xi7wY(g(IphjJ^MOz{W__n@c5@{GS6+>cnm<MuAd`@x&${Mx- ztslqEK#xr~6}O_`8H7qXbQo%7uGQ_Q(b|Sg98Nj6BGqXG{o5gjs2!D>yKyv|Q)()N z2l<C;qGgD!SIO_m66H;nUN-btSFoU=D=f2Z&j4+lAS3UQ#&4#wK5$zSFUZ5EBkyUN z7pZVKlKXw_{mM0u^nls(KAUQHGSZ%rG_*rZKt=gXC~{w^=U*hrbRab#QCrXwdI;&0 z{8NS}RFVw5__1HiOS-Ou5)MykU`)&Flf$ACgoB%XFbH)!d&B*mvI0xy|G!9x3xXsk zzpn@2u0V1tdwU#zUrf|68n<lB{+oL}c%wRkpuPuh*=)st5;I%~&qz&dP<J#j;KF#$ z2-YUy?vSOh7T{L)Oi%o-fwh-tdyKl^UE?w#Jej!M(JBkEQ#Re;b`}T#wy$E0gJcWy ztiAl;!=}rEhM}-bS_(>#;WKnox%by6Yi00UVg!kjsU`7IdL{}o?D%3DnDXVljGcbt z3rJ64XqtJA+a7gxz<nyk73Izguf5#NV*@jTx=;%00+%cb@Fn;*Z2L!t^S$1<2l@DD zJ@d5;sueI_MU)nKt-#*PK6&nYC#?k3UAq{+{w*5vrYBwDMHkuVOvb|omQ#0?-aYhM z<lnQ&_^>j%w*AlsKX}!Z!mOuRc4>9zI8bi&e&E5qjoJSc6r|VmwG4B(8q*XKA-Cvf zUgIPeIa*HY5w~*x<Oh4gfK<@0mC+FwB8Jyl<~5gqSwt404*x#XR7ZE)j?;wu2Dg8+ zs<{NAopf|>Jc8f8CS*Wijh3*HuA?cdc)k>O)}2-Yyph3&52|o()GUDw+V@>-JgMdI ze>Z}mlaT#EdT{4#=Bj7t_8<nUXHRSJb72aB*WHVd{h%gk`ZI>Daa|FEqo~US%lQQf zE0iwTOLDGekIQb|8-cCc{eIbv)!lO{@N)&8$IIE~HoMW0&zEee1s!)9aYI%(`e|GH z2|m$<Cg!oAy~cp75Mj{CI~plo5*ZoXaSf?OWMI^IE?zig&iZ%Me12-U4l_#95=4c$ zAIeP$DxFX~%CjGO3JXm#Duvb>1vii4VTJM}SPoa=v=rneh6oSX>yFIl{^SiNSjyM8 z^{j0PZtjGOpl>>oTz}Uek@0S#Jdg=IU`XqlWKY2H9+={y5-nmCF}JFcUK{J%tAhTm zR_8;Qr6ddYGP=7AQ&=x6hSb330?IhUhg>|JmL+EBD$KN?AMH8##!iCOaQ~`ANY~&} zgz8J&*-%ocVZJ4M)e9@o(&(Tw&iKoD7Cyfn8L?S=n;TeGY(F|xwV%y!^$S+;aq8!y z`P`Jo!YKLjgO&ozAI3YJU3g`VR+O_>NtQoMcA|J&2gSSa2wMyqf9`wSwfdCZi7kI9 z_JkTcG=+*qd#)Q0OicUYRfO={4eE{~1ZQ+@E=42hqt{pmtJM?>1}%akr6(9&-iKML zf_WFj+&pV`5%Ln52@e{+ba=W$ZL5m4)*57(YMcD{9kEYaMr#JZe@no0!HE0LEi|IW zuTh<v9jmmP%JD5J%&0)C^BIhtQR9__ffDXpUa}sIG4PQkABKqtlK_6t#oQFp=FfM2 zl8=eIeZ}56+GA_d64P5Rm^XQZ5tK+L>`8$0&|&)3`Ki^rtdgE6`1RC=^)I*cc#%n? zewPDVX<@6A>#QRit6Qk@q*0#>Jp?YuJK7&2bkedL0M{K;8?O0BHl75BS>Nh+KgGDb z{l(YvG~Ctp%X{7g;mbMra>89#A--hqhD<QbK9RXzNuiQvgAp{h!&CNTDTrq_B0syX zUi*?c3)4=s8-vHhH<SkpRtd}QPT;a2*cxU<dC>g<g=5<tdwTyi6-X91;2M2@+~54u zSg-{elc<sVO^O~_IYbjxLmv5HhMM$}%XqLUiP;UWF*kk@2{$K2=b2bdr3bT3pvOX0 zye>^&8ghl($!e)>yCKg)xGj<HTizDy#wdcIgYKE`*H-CALKQfZL*g|2i+}5_T1L%x zCvo(8bKM7E$l#n<@JaY>D4){gbu@@Xa9ojBuGe#mHh#KaamwNWMOKUWI675|-c{XY za)<gJd6$|WsE72gRETOCi}<8w|C%b@LfuZ{n0{f*<Tq=fKzZH9-5b`hp#`FrIBBQc zldjvl?8R}`w@V|fU}p4L1+ws4edjgFcaGC^&RPY6^%1r|gf=#4iOPSNhltwD=@XNY zqU32Fy64J<vMP0k21&l%>>%=EUBTIxc2^c%ah2n{z#e`u<q^@YjXaz4OV$4ED8<u} z1D*geL}faWpypc|H{#SUtr^_=$47sJpFPTWY92!0mb0UnFe*arbr&Wg;st>?k^F&; zep38Nvykv|J8U6so}*!pf8MddIcSS)Y|==V3=(nCr4bsDG$T}E(a<-Dk$gBqf37rx zF<2GYZS3l~^uBrPZA9?`IX9E`aQQS1U7Z0(fAYvUWcn$;!FnQD<EsBeIoU*1HZ7*< zKKRJk#-#@>%#_2OMOxJs8-9ZR0%%B9f_R#MD4z%evx7m);?F?*xieY(01viPyAgQ5 z$8^Ve54OX_cj@#`^yZJ+2xoz1A<bOI1*WbM3ai2zhC88AV`*{X%XSg6;PT`BB^G!4 zaJhLC8jGzCLCjvgawOJi*--80bA9m=7Kzs$S+r!^2FVA>-5zBRCrRjYg}KzU!3VTk zJPZEL4JGKzd!Lf@{snN`3mx@<xU*ODCHEO{u73#zh!O5^;kvp(@W^N|YeGBcbC#4b zSA1EUITGpUM0wD5{#s{LW`?LG{5}QRy5#RKPt6K?>~JX#?yp1kK4#MLZ__7B^B}DX z*VPrWP|AW;@o$%>tmYljYR`?6gddU$L<}=5=m?jj?|xQme_X1bYamN`+O{sQqx^b? z!nr$6SlC7{R?5pRTU9+S#>Er|oPJF4Y&$yU)lWRCa_n&AGW&yLp%EkHWh3usK`>3B z$@$=tz2!Rp>)QK7dClR3)Nbz=rd1ot>SuIO;F*)&sO3>j-VVR<P81tB0XE-#%Fc;9 zewqxjAWT`E>}z{F&l$_Mm`)3$7WiPqB_g@od&OZ{Y~q6n^d-NPj*cv*+*m=W84{=v zA1uUqhadu)T=bn?ExzA2DxRA#RecQUGtbJPDzH!x>iK@6i7Lst$T`tTOgMRgYC(1$ zFAw>R@T;PH5O-DB-s3~Y_uxIjhg9I$Zp=+_E}aU*npO?gG&oZOUVG8>s9COBnEy3p zwoO7X4X8tD!wY%JlV_cd9K=`lU}YXJn7@JR98%&;A?bY3tf^aa8Mh~a8rT7{{k*fe z(6?cuMyD4YWc!gWf%2s1fXnDtrIYnEmr=I^yfL%!YGLJ*pd?!%-;Ol;-~KE7!VT%d z5Z0Sc+Y)w>GlcSX|7tqO0PVwghq7Ly$dYN~&LkW)M{FDqAB~i@ig38L*!OmQukH~e zJp2JRjS#M?T|`426c+X~<YZwn_N1<{P(wuay4xzs?k{|h>=|DJyAoHo=C~a#ZE1oW zMkaQyLw@x*&1z($7H#5@M<$zN#0g^9;TC98niPJHA0_3U+&FX9J!^N-*N*i~CuOM@ z%QV4+C{}lLENV+pPT*=6d23@!-B_Wq3y9R4ofNrj-3(R7tL=?k?ig|ong}_;8puB@ zOyj1u)T38_qj>?<!S4363eNn304bg^0CQWUSp>H&YU@)>;QF_)2mLmzKLmi=@Wnf! zH=wJwfx*Am*Z+Ba4u9P^9{lE#h?$0BPhxCV?XO&sskT>kv19nTXU}H~1F<A?*+ncd z0HJ@xLFgf^M9yO~*c>jpCq5yCg$>#(fe<fjVH>mnZgdB1oLXc<(pS%e;%5=tFxpAQ zcQ#$bi2W`)l^lgQ#UjOC!ODL_$$uVBW_~7hA`fCB=c@WfLkgu4F#8mwAPRlnZ8?FP z+(MBg41Zw{Qd57zz$b+oq*mRrQ5u$c8WYAv?&Sqxn?)=lTpp)#ub|<KclpVT**S$v zF4wq8EU9gU_BnUnF;s%32Dy7|Ur>^Zc-Fw4WUW7Az0ajpV@5ci>6xLBKI>kZDlx3= zU+)OVDctZDmnLZOOy<#~2n$)Lcc}ScGX2j27qgoo8IyNHJTOzAqav5O%VZc7{sJ7) zsxLGL{75caMpIYk+(?d1F@?(ycLl0daBvGds=rU(JI)u8LA15VP13Jk1qIC_+B~9` zfeh>+K=ISE=I7F95hLidB_Kn42zYou(ldMZ5Y%xM(tx3TexlkA14Fk8`p=p!UT(Vh zkfGiU!VO4_DLwdOFLuvIKCEMwYW-y;O&N;4TV+<0aSbvbF|Ms}oY0_4t5D~1c)+p8 zG_D(s;EjSZF8eH^)_D;BWnZj`kUqo0VZ3ntcPlijBB}+S4~uboBj6K)@ozMgQ0318 z7c2C_^_mdf0Q4RWC+eYJ&7RZcQIj3vVLR!x!M2Ax?$jQHt}p+D7AX0sa)O^n+7<bQ z`DexRyNvLilknS|P6IOJd;+I*zc8l*4pQmK^pc>^I00g#CFGUmZ0xB0+we(*<qpT7 zPjLd*hD-hf%cYUg`y^7%?a&WzNSW=Wx?9mKI`k|b&0kYhf6nDrP>v>)Ho*4We179h zHP##-s@W~UXH+ip=@%EONCLS!Dx|<<R}f0-!09}vftQpKKUCeh@OL!o_!IS;@Kc;( zr-zY+mW@4{t+6`kj*^{0c%%_iihvc=jT*3=-V;=Om2<97Kf>ku$^lQ>h&|pUVUwD` zUTe4gV^tS3Ecdb4--F%#6uL*4VMg|8v&t`=eJI^xA`f;oR`&^(U*g4A7CeJ%*-aCz z#N+cu=2G{ZYQ>Osx*h0{(XgxtuVikvA(01XfP+#5Wj@6KjgQ*|PlWMEd724Zlh}N2 zoEHuC>U~y&AB0(}M7<J)3^^io#?eX}3*%Ml^xG>FE@jZnH<%S^RG<u1dxdViBKsq7 z{H>JwE7zAE19iND5}kKEn;pvtSVb(-CT~{lvnG%mc33%*P7H8fux-_>L`Tz5noF&3 z#XXQ2Xe^#uqY)_Ji8E3n%-G%fZKAB~NN(~h_%Y%bt!bYmy#?+wwsnoTPMNc8np9+7 zx&pz1sxL+W^<mpeGU64%ec`>5yOI6;yYX<c|I;3W$(u}0!bPSK4J1dylFqiSd9>3u z7y1CHBxOPN*DF=SbbAHV8s`gJo8{Pr{>8=$ZyE&r>aKf*r`Q7wn$RZ5<dVR|&unzQ z%i8|kMq4A2(^nW=5O`B}efScnC_8FbWmap0jUbZlZBc*MetU&@*-4m4<S!I~vM+*) zSAzu>?C^<^^8>l%jlh-L7uu)lk#zkd=29Czf<kTLLN9s(@GpEu<BXKyyQNP2WBBeA z(YIRnjiXCJqdCbW@~}*bz;S1DcjWNL7(t=D>169&_g3jo5a%?sxJk_CL(|F#7q%ia zG&NWTZ(pb_IN!t$QV1I@b*An!j2JZHOOcGo(w0BiF#Z+WMk~knGg?v@t@mksYszQ> zD((t}$RIW7SU~qM9T;frq&4fCB5Uwo`%`q!tgHS}MvN#mieX>(P9)d4<jbur+pmse zT^THuDgHlRj~n?tGsGDD#Hd0|!0j1@ZAI2zAbs(+VM}YHlaP5BkwSz81HL8$Kka+9 zF}eYl+1vU{{c*=Ovq3~h!%u&Eo?fmC4$D%C7Nm2A!W{%ep0$?Vs^p(Kdd7t3xSz($ zKySRX9WPGopY<S%%Bh$2r-VIZJ4ouGY^~$e(jQ6c_pK3AZ(Szuc-qzKLjT#lb^hxL z$sk5P%~O4BIyB_jK+bJn0|f>4p-;p9M(ja9J$?5i$Wi<n8Ke_70?s2VS%dIgfG9+z zgUJwMhH4%MO$|GJ0ckc6-vr^_kp>SGa>>C52f&d$W1suWnK7c`U55;QV?8IFqY?bU z^K^wEg@em;3e$>AVw^gNOfLR0BHxViF!xHC!0GZIE5r3xEtCK)fhB{BDk2au<v*aA z4_8PQ2-^rJE6t=gGm<oB@|8OYn}WsWg0d-tezL(=XcD4M7TKhpNTlwFo6^JSDS!cn zH_M^;0<a&je@?_qJ?h%SPRSGlo^|rL2TVdQ&@2`}p6Iep$2_P5!-@?FS>PUjVsvvw z@m~5Iu#61RZ^X~q$OzT&t7TwCkkU)XM4FX+Npu=gSbQC>oJe$Tgqxzn>1l`t{3tW0 zgnx{=vFlbGf{fW70RmuY{%tnJm({E_6oRnpT^z6v-yRlIo$s$5U7A9gYCzy}5(?O7 zU%9h5%Mv~;HpDWFY0+P%TJwlo&3xPnq8!Zv*JC~-biqg`H3os~KdFLx8RUTd`jOww zXhgs7pQ`2gaU6#~LzBGB7-c}x_9gSs_zLoz8*T6spSmjBQ9n26|740rtMAc>b2V9p z*0Enj=uX=@W8$N;@V{EDzJjA2$um=@OW%knNmF$i(aaQ-(Dj({=<pFiI6R}dmbzjC z@lQ^4czSrqj9;dMo{dRPYg7I}agX&lizd|{F9OLqN)e316}mKVwtPYjOc&&i%{22# z%+aNUjAuq!u&y2aZ&2h3^$2jlZcf7S)P5PSblb>P9NNi}7#oIrXzZDY1WyPw+P@); zoKK$^deRDb8vYZx5WEBl(RX|}Q7!zndjir_CN&Dr(9ZGsi$^nQZx}L<t|%JO8$d!- zpn4WtDdyQ16L7>Te`N=&PTZx^Bb<#j*Y@iyGT42z1s~}}N9>U@3fRYyX^QFFh-9#& zkCUEm?+7{0JK&kN?R=L(liCsX#jT!BN;M*1_nc#9RIn-NQ^GX}pRLOVx|4i7WS_md zs(%vl(}tGOh~Z@t#ilvDZ04Ttlec)lW4h>F1Gk(>4&UA96-(+ie(hxc8&9Y78a|)< zH1Yj>T+qvgmcEGo@}{KF`w8l{okeSP+`24<dn}&)u86PwZs$QYIewvQ@{z1pgzRS- zdu{XApya-)*WD-rdy3Q8y4BP{2pV+hr^R0?juOHcuhNQa*+gz(4)0#2V><614Sr#L zu(j}^v7Y)nBTGq8J-Igj*bH&#XwxtAiAUU%FaFM_%=+%AYLAbgIoP1Fzp_7-&}*-! zsaxqZ!Sp(g-)qffERl9YE1mJRl+g);mQ0qChSjy()#FU#YLl#}w6F6S3)x+w33c3j z4Fdzc^e<jEe5pD8I|*;5bEKe}mTjj#;AeS3M{;1(`*(Y-@oQsg=ZW8F>fTgV|1jMu zJSAs8_$Zw}<BP?SY-z<VrB~ga#VA5%#Pr}!^=7`dR(L;C<64pBa=sQ3ydRtSN#108 zPF#gNDNk;7ZatGhQzzD5&|vHOs0vwKf?VX>S}K#KZmmtA-u9dWXz`KbpIcV|QAk^F z?ZK|QmhyhO#9Rr>R0T~P>yepoU)0L)7Ee|B&<2_dJ|i>vz9_><QM3|~jNf~$T|t@e z9*Ngxjfw_miF^Wrb^k(VI!GwT9kupV@B3Q+c-pEMBN>9#^bW~%wjCFxjM8cfNGRe_ zQSD2=poOLzLB7A`Wfo}NC)h|{y+t#=zCzi;bkpBl^aF;=hSAEt(U6Be_dc=z22|#- z$2|qU&G@$QGH}y50~O+-kpZ*>pu+yV`<N>SsC0S$T7yW=<9bq^niY3M8GdWQF5s!C zry+kJs@aV1#Qged0AJQWZPwSodeS|BzDpQN@mHI@I~QS-BRhGZtB$zu#)RClo?M=O zAbpjDPVSG3{%66z@d_i^{2!nZ?>((@W_|59#*ln788WmrG4RJp>~93;4iUp`(1Jp= z%A4uC@S(U5J>9ZqeZ?2ms%&JG+tML^MUCW;{kwFpJIgw9h&L>Kk@#vvyc&7&$=Kcb zA3v~cD|v#tu=2I>yXoxnJ}7upGLSzi2`gXEyPK9iFZ2W&@0_~5y3=NS5s8~^(i8Jt z^mAUF&ulJ&oe>I$n&9+(fDQ0x(n`)=);KYx@jh<3{HahG83*1ozabA*+WR{|1goUl zU0s;N#n#C)RDc{?-|bFaG4a(R`$rctjYTz0h&Fx`c`~%udT7YZ&hz+=sKq_ZN^$Xe zq4`(ahcAUR<Z^cT{))7!LY!tx3TWvJc`o`+t*N*oByaXwIemm^Ji8NSd|@K4FD^RS ztC49u_MHwdwJgxw59j_Y{i+(rb(*OEl{umI!M65P0WH;OB0543tNV;|@gyZHVo`QV zY1ckP#^5+vLXvBWm$xj|YANi8xr7`luDti_jfa@&kCrV-cU>s2rtq>Zu+kH{jw|{7 za<TQ&eI*w@pe_63C6t+4Y!!)wtd#od5zkG;VV@=r#{T@ILr$edndl`)@yw^YyT@%I zIG%fj-yWjQ1hHsS3F_CcYFF18n4ji;i|=2<zaxIJv_rjnN(o!S()t-Rh+n*9Z5LlI z{~neaC^g&Tjp03#&ueP+p6XdTpg%ts0{D|t%qstas}ZNw*lbrr_msUUF4K=klhVBd z!Hn3n7V!~QxF1Jpe7@HJ`^`cpjt;b3g>wY;8<x#S)PvH5tSRaJ7lscJj`VVf_<8zn zA_(~PNi0Jz=&5{$a?(HDJ$h@dIvh55kl2a@n9h}Zs__Zzl?f96c;5}+oEq9*?M5{> zp-&0M17$LMNb(?5)wNwIZ@5h9GywxKS$3!sN&tIuXTyCbFN`iX4aV3-+@<aSQqtDI z2$OKmn`F(hI9>u#V@{tQx-;mzsE;?)E{8%Ym0o#q^N+lH^?h>IjaFLFwb<#o?&Rh5 z0nxRh$3ZrdLkl(gQ1Eq>+?Q&`7$zijhc5S?><FBLB(MIP^VU{{?phBi@FuU^@2V7= z#wVPWqEHliBVPdcquBQ=!-cQr4aDGxmCW`}I%sev9Lap2&1_OzKvw}ytkhJXu!~0Q zPuDa(o2aZNkp*}CC3O1h_*zPMzom*X=<62kJ#AW5eoNj)Ws=NsHZq<*#fl1C;IIED zH{A}#MmZQhdVHFHyyp1gKhh@_kf0CsU(UglVJ#T)4lVqMe6571aK;kM7o(7X)7tjb zn;oE6HGlx+BNr2V%y3Etg$A($Rgv62g#QmfHuaOF%w5dk?n@?`(<b0C!&@RV6^_rJ zn80B%>=8IE2ZzNB%wleu3-1ZCnR56M6<l*VB^l0@0rF*(Ah#I`C!OMNHcGL=DgC}! z4bGyvb%MPu)jC$Kz=jq*0dD5{iUIL|__5zcK7j2lh`nj%ZBsGbhsVZepa+Q8q{mQc zPU5mSc|d(~iUG3c7S2O59-m7+Uj(~7UtB~(RdS8_T=O4z>>#8Igclo}`aE1Uapt-0 z(4#_Fe7C&AB0M0Rk$hdc%PaQNPZ$p5+T8u_yItsQk=`q9$e^IBYH568VigPILwtR= z5oO%^%#8q%z26^z$|@20>KCc{ZVGOvIX%Vh5Y=$|6B|w@f7Ww2v@m?b`3LW^@^hQy zcyHQD0M8{G0HP1>jI=E8O@I-(0;`);0fdtde$*|c+;TFBTGw^E@R#*J<nCNDph<-Q zG3OC`-CRh_*Gdc+Q$*wofG1t~gH1a|UpJR8b)afwfk;M(jR!m`Amdu|oj3|nh4>~z zU(6zrDMns=L3>2;_3qJ)vyn*Z_`#~F6#pIR2?QRSoF{q#E${DSw_T}!5^{bi<Y)a4 zs1<fNIdo^G(y}U(;FJ4i5chpg<;?}`Ib7Wa<{f=SgEsVl)x^{r9Mehvk2Ds*Op+S? zHe90c@6@;r-jFSqCRc_5sk}x%Es%2hpk;`_#kMuAk58}NrbPI}$WHDL_POsDvL(L_ zki*1(VAvt_C9O~Q&q0vkSAwgL0GAdHoDPNoUlQYaekXa6Ji@juD#3gwuL{Bwx$Idy z+$bPC_gfV6xNBM(k!PS81U8%GlDBQ}0KJ~iP5hTnw<kwM1%O!&Tv+pVZL5VtnYXEC zcO}%@#AcU$aDH^|;F*YeeuYrR?bDe>XXSjc>^Cqz$cnc*iyb3pBl0(q(VSnvi-0%Q z$^c$0V#~uR`%k8B6MOPND@S7I4lKr)kqd+l5t%MrBHoRs-wbV9IkYsEoA^kNM=YKq ze+SdGk^vOD_m=&dm12qOJ~RM(eFR+S=~L+YQfnV^U{3F|2ejmg$r@~>6o>Og-=fJe z<3AFbq8B;iKjJ5Si(M%u$S+s^adus|U3ygdRxvGMq64T~E3oTE1BA&yZU;bbq9&5{ zElPG+BV)s}$ET49jIdFvrN8hPN=8xZ4wCwH<0z&Ld4KQi&?2kT)5}JIW@|uXf@<UH zn)P{Z5$xg(7<hUX6~C6gqjIi4F8Vqdu(&ZTMgCS4Ae|=LxuZ5v2YS6a+Xn{3@LeJx z{uCw%r@{B1&#=`;mVy7N6(VuP`_O;V7hf*snq@`Tdag2LT$-t=3HyP;=B}uQVRcJG zhYuWQj~?IrzH0IiT?nnWjk54|g61A({GKBcrg!ptX3cw(bIIhPb8xunXJ-^e-<aqt z^uUA!--o-@)?DOn6ut9^xy>V(Hi`2w|I_eSjx!J5;EN~LHlKVJ`@hqUghzJ`i0$LX zEx)%}7ye&;Cx;+7hWoFA(q$eVbK?i3p0w&qQR#<W9oYIK#zDAMT8_>?$jlv3?=@ks z?IR%bkn6*7Z+;LlAn9wBwi;{+?q=#b#-94CNNw0^%hYouQ-p~nrrX7J{@4Yi<3H-y z6xK}>b6sIlhW<bi_o>S6037P1D+5`2pB$Gd^4qQ{#sp<?^M)`MEVABUPbI017IZjE zfBWM>-6h@sNsXP278{Vf55wWf3&7%j>PUD2s75SN*gntApF+6L+<)oM*UBq<8{zm8 z6iMa{@O$+x5hfe9b9VI{jba)P{CXPR8dK?ix-7M7L)hMkioT>uP}v_~$0zmW%wHvs z_L@dfu@w^noV~O8(BNX7w1b|Duf){HgZ(F%g1E0qPK|Z~YGm?52KC_Zu}TXEUoQ2- zbJTc}A<<ML;uA8c7uHM7v@hBKfQGMA6Wlp2!L7?$rKOZPu|MzY9n7Y^pZ)<(%O#w0 zzM|PIx3a$OUGUk!L+h2E(2!EFfm^w7ku01QtruXLG`La2SMn6*Rrg3eC~Ihy)zyzZ zkST?zAEw6{Q4CdshBwMB9Nbd4QUAnrShf^eZt&Dd9^d@2SiHxwk7L#|)wkkL!pd+` zKJdY#Lo^^mM099z<}ju?Q#|MiulY0_R|Vg6s|EL)p2!9sSnz;9eTb2C#1Zw{<4&2S zPahq6{Z=FDV|RC)ehGH97pDobR-UV(>v?SG5C6c{qteaOadG2L@m$9ENlmtFq7{<0 z#)LNM(JtKm>diCPtDBV4r|;ZbeT=N=iQJG<RNEC2CScGy$)xH({u^%93iP2BFQ1RJ zc?G6czPOf@M#$_-_s-7#E}QUHg4kpl!Rd8}ea_vEzTskA(?cC$G^tpd$AN!O<8j19 zW4^R^kwwM{$2|zi5{Uo$_vY~{<r*BZ#Yc0`1%6R{)gXKbfX<Qku~Cxch%&i2$gMe$ zepJSTvfzGqs{VGWE8>NVW^5h8Gp4X-6f7JXG;N;*Eb~;kUxyeu{H{9b0m$F5`P7k$ z6UtSg0OZ5aUxro>O#8Coq(7V)&jZSS>CJDy9wia@usWW~>$sn)h-pv!Gf6OZnB8DA zWq-+1?%0pNF#`@ThIDwu*Id<sJ{_0u-gcLWp&>lI{{EGS6@Z6XTJ>+RoPzLO1kfYa zMo6~AS6MUG!$kl{xB~z;c?_YK=7Dazn17$xxsM!6(H*5pP%~FmP4obkjb<UJUBU&W zVO7A^>|=JMn<70fz2?mJDp)seE%+_gMkF1g6s4-BQR$|9{2o%agP$rN&<%ojRvr@R z`2G+c=Fwc(0+i`R)NL&Q{%BLBo4MmLN2vv*Z7yH2p1`qGXMp^Pm@9nQj(IFL<|5F; zlzBDG!^61ic2^knS;t`P%>R|%aQW+yuaIE0#^<fk?JSRi?YA)9Vyj4nR`y2yn)0J) zj?T<{hY=RhI8;d%3t6IMQ~}DO*3Jyaly=<~*Ak<2d{OmFe^?{@PL(*@o<&uXADP1n z$me!Ksc-;rrcdaA-Wd&*7@jniZ}oP<7UskAF?<8$EsPtJo@&H6k-wdO-ySJCqo{aB zZ}GJ<cRnaI`aDk|F_quo1Bl88ObwuXEfdb;%oCoG=kSIHFe_1cQdWCL<N({l0KV7| zK*JGo^CVpdaX{sw!t8QQ7MR%6r8@p8p$qUzlk5bGw=)VW<MP1wFUmY0fsG$(QV>-F zU#?om)}oZL=rd!`@fBlx_IY3)O-%N4#=|{RYErEyrh_Oad%<aC^8Gak0sja!skB{e z`dv5Ybz#(9OpVv=uJ2en<N$N)^=}ymZq=9feXappnH>QB!ri~%|FHw9QQ|4sNYCr# zANOo!1X=e?Uq*>fZqEEG*L8#g<~eyMekWNFszZ%*QzT_^RmlLRWD9Hr1KVJDxRE%h zXSIzO9O29yD{E~02T=`K<!(HGP{tDF6A6^F0|2*b1|pxYkq@hYB`O&%EV>uUh5UNa z$WIP5hjg6OalwM&jM?K(=5!q)ym1nlzwBUX^l$YVfsI$nM)v11cQJP<x0U!1J}PE5 z1Os%o?CXEHQ;+a#9{{?AjskMF1NDe2d28aJ>i^PbA<q>W&t4U<lwsliANmYmI@jeO zTVGv2p9YTJ65_&9SOYwM4Vd#^yEh^i8+MnEB|yM3HUJvZMM_sw(^%a{F|?F8L2-lo zfLR;P)zK?xpE5UYW1{~)1Lj@DX9r`%<D=DH{eI|-k~g2#=n!>IYy*Uh^thg<^euqu zqQ8$FkcIPvE~tr`e~s0b{A>S9sfL`GdUcmI_|bBJ{WHOFRCx@0t72Pm6?J{KntStU z!SUWs`&y9|4ITRJiX)t@<8s3_;Xo?7UUulifnfxL57fo$8ZIc`{g;bI*NJ)nZ^tiE zr~}K1Pep7euun#6PmG~`nF|oya7Gq%evwuk7(zlSq6Br;PO=N|G>6A((fGRR(0#vY z9hmWb<BuKWglQ5x>Vt0A?*nLQ(O_eqYmGP2974ze0v(h5S7j_qZx_Qk^b&qbFo5W} zV0F8!)OSHew?8ZW>0zqgYTin<*w0QED+RdUBl@G`;Lcra{1tSAMe5EHA4nkoj}jdb z@$ja6yVYN->xz-n6c0N`J49@fbP$6HY&|0zJ?kg|T-@E$KS0M)`CKf7=(87upb=@9 zXQ4$4q`%2B3>Z9<jb1_I%zSbeQvmDZYVzV9!}Q=kP#U;E=}cY*G^l)BWm(?)HS?ba zwq>^o++zIzn>^aAMwQreVh{;R3HY1L*SZWYC@E!4M<mB*pX@-0-*fhzf`cL+$vOsw z_#kY)--k^+evjZa?6FH=m!aan2+N1_jrcuc*ITwgN-2NOH^PPS`1!KeX-|NVFA?;A zc~8=_(<@}2^{wt=h7CRcFJ4cNTY2WC1cW#*?rCc{bI(SP+jiEr353?oAWPkF;Z;b7 zaD~-+QK+k=%q*4hzojXnHVm7szANYv!bOnh^_meN!*`y-gL%cwTF*7V#OINo=skH@ zntq?94E0{vjSWZ^j<<j$)L?G%{%6gzGwXNTnBO-T0o<+UdL(%W5~AVpuKhrOqOZET z+X!a@h)TA=Nw}DC*ZzH=ZI=oVXTZha?p4)#Hj1<jN|b$HAYLZCLqEKQvD4teY%oCq zD0w|P6hFM=be8Gws}X$!$CStqF;MS>_oogiF19i89C(0HFB-x){F32jE$ewl^J863 z$Jf^SUqw<Uf@c%1o9ONraYD^wg88qSO=OSZJ3Xtb@8GvCWO0hyCV->mhXn9^@|e3= zCc2y;St8c`KLu%ujL+yL{9a(kU?0<Vb{Pm9u5(`j|EJ-Q)BddOY&7UU4RTYH`eacR z3is&#%X|2h-9T^Z^AVg8x0~7q?)?mB=||$qj0m*&If_{9GIs7`1}=;*<FM*>8|N4$ z`P;AeuL9EF8&-p066fbO=FD@3dshOOex5KQVH(20OKW9|t`D;I_9Y{zKJ*9BR^8x| z*@Ov_s%vqO0Lt)Ebqqt>b>3<?l-4nD&qoG^4u<3OO?QYMGz~T%)zn8CKLTT3l?H$+ zvUZC%wKL+p7zH3s(R+v!4$m*#`84C|s5cj}n4SB>eF(?rd#~xrCNnL+YU+qL(%rMZ zbN{=7Kx=1|J#RQP`UMW;|C{S~(*%jwla%RluLrr{Jw)w`3o#<+pdiHw@tS2F&dPuD zsq_}(iXcg*W*W>Lj3P^XmY<@U4Ry6zPJN<c^*o#``g3p9b4tC$hdS5GQyo31pTcvR zOm<BMu-w}}33sp7X4U%Q&h+Cd-;l78&+3C;t(f{;{)mdTG<*)fOAn_-i7Bl!ZG?=L z-Y}_z8X0=z3f{O=fFI5#n(rrg(<;?YBeaL47D13X=0})U{{@-1)s5<U5Xl91{N=OC zuid=TRPA12UcV8A&<G&`JgU6Xi=BMiG}q~XsiWXsJVN;uY5vynuaTAQLOF+^{-#*2 zR!E{0uXI9J%__}xAhJ}1fP3SuVUs6R&-QIPQYYQf>A2;%o5>OEk4O1pnykYEEHQ$4 ztBK%OZ(aY`*+vC6)vvr=5wjIWTHKQATM=~25#*LFAoy_7y{dhn<%v0sU=^nKcs!)? zBk~vCPA=l}>OQv$YmcXyy3XU9@!KoESg@{7t!9777N`d(M4eHssDdwcYTZ1^1cXre zYidYXU{~Yn)s#27L~|BZfu)T|Ahx8P)=*f0yJW$-(@-tIK$)DN?lhM8+azs?D<OhG zNgMz~1H-*y(d)PWq(~1L5)aa+|1-Wofvjg{{q=@Ev!o7Z8--4pUSU3<T#tlkM#FYC zT~V@m=$lz#@Tuvid<QGQ6)M%G82y@JQ22jjy>(nwP1r7sq99TV(yerNhe#-0lG0t$ zEg>MC(w!pR4I8ApTe`cuJ+t9?&wGB~_t$1EX3fl9GxuC`tyy{~QD-rCf2$HpZ2E#a z2(58#(_(GZ%j}`=pVpY{zRqTX2L!vwLZNf8td-Ua;|$>%D#EWeCwOEz@-4Hjzt6Ur znjrZCh*ggj0(xDUy<G>9_Ju0Ww>FbLz>5+B#KpY7fY|5+ZE@@@u1upV&5E=0*O6#a z2Y$|u&WsNL$^e}c<F!3smH9;v{a7pe0`vS$xn~|>8O64BI$_mSqY1>3I)h(T_Pp)V zfe%WP1hpx@{0!)%awle>dtxgMZ)4s=FRRUfS4n|Or07^vcfK->(`q7Z)FP}9jtqD} ztaJqIP|DL4{N#>rBA-UpQD^A&e?Vzr#r`=vOa}Gg>4dFZ`jFQfCh*%Xw18ULAcs0A z#MqAU7k6Z~s1wQ@b)f~?c_=}R*pp%$f+w{l7tsF(wNCZvxH=&B?LTlpIhJ|%0KN8a zB$)<OJ5KKgMgbW&n@_cB1AdC-P-G?KQj<g$Jn$n1USvp_&obMsbIeo6k%Wj<BhGUr zq5&K)U$j*GeO|{C)-Je>Nz$z0ZIzw8uzjq9oo>_mlv{hho9FdwrzZhe#X7eVgu0g& zw3225F6kq0A_e~7IQjKq?k%Y~qFL?YWicYQi}A9l)Qn<EJ#!T?hAEd#Qh$I1#hR4I zzE5K++<r4?Zb`1HVL&^?NEbCs=R}}uZgHz8ypVd@__ji?%qqx(<QsS)oZ^YrYx0la zap8W;&!cw-DWr=uZvp2xGUqDfL;b(G#Ao<N2=CMKxVWx{_9?w?7HofhFMe^|_rV&C z%_D87af(dOPjTVph_iQq$sVWF@||rwH~aYw><4BfnVU>Q)a?dfiYdMPHU%zv;Hcmw zP;=ZH3=-rOV&KMsoCX4h+=*=4{oK^jrFT@`E$a{D*>K-EhP|)_X+Q!E;bXs1bL_AG zUl;9nO)I(zFBI}ka0GP5bAOH#;F1bep#wn)s24}T>yKLaWhY&`CqOV|1Hz?c8{*A- zjWD_yA0!{m0VZJQgClVIp1zE!;A`^}BVfn*75F@tp_C|}KSdXJCD<Vx%V+Lsd7XL> zZam96KlQ;t@Gm<1OAn117;Pq8OY=~><H@fwW4yO#$$HkQpuot+gBLzXXW3@>{k_Hs z$xQo;poE$Am5iefLxdPJeyAs|S6u-TsXyOS&pJYhDnvk9PYe@V3F&8MnA8I_Ywr&; zuI8Y_6M)7IzLs9U=wTN0gjN(3Q0w_u#U~eb_@}ZR2GAMdeA9dHtM>vhQUCF5kX$a{ z`5M)CK}(!~5+~3SqUNkG9%Je7kE3*`?I;KbGAp1*tdk|w5~JN95G({aX8ih~R|!>D z+pP1!mNmLC4t&4Ou^tBlj+N1(_Zt62)2I^*|K7{7v#GK<ns0?%XUXqCxB4%aX=KNR z&dmW=e!v<OX}o;-88Zq5Y;{&PzsHYuV+anB*YmuD-V{ockNy4mhksf@J<kxK9s7?n z&arY+0)lD^{oawY`upC3I_Stj>r;DZPs`v`PF6-uAkN)nANWR6ayqde=$<V6c!+k? z|I2Idzf7PVD#RD6`sP8gy`);N1*$0Se%cTPxb1++?rRH77#!C3v?2O|+Rpai6dfN8 zf!hGeD9+1<BrsU8H1a)kEBCp`6qFi_vycKhJ_=~#XRziTYZ*s|t`V3yru<OSc+5to z{lq}DY*7|&%Tp9AmD2tF6-Jx>NV6~MZarBt^jgyNx;8rE;Yv&lMM^f$dtSxT@WhhU zj_LcGMXPzNCPWa^y`NV%US0l4Qp74<L}?TKDLm#)?JGN5t}aDFQ~06-?Y~23*SQ2W z;of9~LSfUMH0&z9OkjIYJ)t=xWM>@w;oZC)oSyEmsEZh*qh6dk?U_%lV##!xLr~-D z<%1z4vDajeR*+W1mN4zvo1#LUPE<&yP}RCzjP<1k(vC(?7mKYnjuP}ob9zXZIF{@( zF<%z2I!`#T!T_tYUkl6IOv?P>H%PpI8EdL4$aDN%RqN%^WcyGH@lzin4~^h6eV$+< z58Ex1$KQ5igNN(%jo3X#`up{3$zBI+EDu{%z=*_F$L_``;VUD6n`E(B3Ji)!M0|C7 zHVvz+JB6aocgXxRM%`U)%kYKeX0C&5QeqHu=Cq&$d2LJ?*mG8#K<g@=7HrloQm+6T zv{pE)HYPvztWGA|7ja+AcrrX={xvp&+^PoUoQ`Yr@ZR>PH7N4%z9d5iT+ue)qa9tR z_y8ULRw2NN{BDeDoksk82n*H`&eb<z=E)J>TOOgXnJ1pOA2@|t_rCihl_sRGIlSNW zNs}BpvE?D|_;6~FQ%g|N=EW$H;-@rRt3IH`W2J_qL)@u#qoH=DecP^8FQGQCJ@sp` zTQ=Vz?O&p2sFw;H)op*A-DjSmnZA+_60Z_HDPZvh15a!8+qJNSf?iU>Xq25c;3$_8 zzyU6&uh2{D%f#1vc@EftGS8SUt-g1?Zv%D3-S(Fp<U)UpzkYro)7ljPp2N399K1Wg zSqQFHN2)6|_XAaW4?mmH0k+ZZ>Tpnb`2?xZ^x>``_6#uTyL`a0y-IvCtN?xhrPN)Q z#~dgNDQXJJeTADO8V00R2EcB0gR)z}AL<7BJWa73Z=;|j(NQGFX(&mQ$9KUz`yU{Q z;vvER1tig?1s@9YO>3T}QlDNk;~Ij+=9X%<idhsZ#icgxh|5}n#mJT~Y-8ZPDoyV% zrZWF>9kh8FnO|U!qu8zZxjA+qnZvs*ywlj%s)S8mH<5{#gPHLxm4IWjyZDQO#Knx6 zt~KZ&`zxHJEzcp``#^U{f#|qvs}j!?>a>(_=jdtWx|Xe3w$G1VV$ZQPD#GO$lAS2E zF};rG#e`p2*6X`ea=d1ffndEblnIu)zK!3S*Ak8QxbDH?L1#pgEU`~WN5A`~BZsep zsL+Y`V-pv#yvgoBQ`_C#IcU)2ESY{@Mh{;V8>^x_YD>*E?;2~NcUx%o6BpyW`Db@$ ze2p9fSHU+#ZQBxGcEg(9w?!B3sacGnm7els?kK437QXjkH;wO&O{@w~`yfz=ZrP2q zk`Z&w?7ig`{PXx~w6nxpqDM_#lu%*PA?$2zt0&CQA<Umh0&$G+pZu{`9IS8sT@$Y- z!E-zb5lzHa@P$GS_BZOS8Yz}s@3TYNU!YVTF_1l>zfI85Mxw1MtyvvsDd^UY)3y!U z-7dkHHr2cG(sKYOQGV~+NU+U%vSX(bdhCLyWX(9QE!51$i-XdKFeO(~y4c(-0Hv0W z&7v<gxxUgFxz%~nOJjGFLHeG*o2^s*)$r)8PQZ`yPoSz(7Ep@#Z5NF+Oxzztu8OyB z5*0o?l1JYRG~osR#z!SXHhK>zXTv1H@*2jve_b8LH4m==8>y6}jh$LnjNKyyUhI2C z+Kj0zvN&>H*ZMbkv_&B(zsx-yDJ{bM9v3wN27YgILZqL;_{WmLNdqA4om=%&5FxoX z8$W4s3UB*F4lO<}YYQl#qzK`dpZi-KkULBIFYVq1ci<cIaps;Zaq=d4zcU?M5fx0Z zVHJO>4%lb1QaOL*!oPr%+B9F?sZ-ny1G-_GqxbLw!%Y-aNjsJP6VR`~DzgIOXP;0B z3;#fGdm06$sUGBTAqhl-bH||Ew;bn>{eq3)GZ+zZ8txUD+2mucY3pe{O3<U^LL5G$ z1ZP-38*IzS<Zu7U^;d97Piin-q2<$U8sH7~iOn>hB@jANbj)3PeZAKgU8|vV7Ie}d zy>l%~)hh@vFmg+OXFD?e#la2*8{r*1GDFO4#IsNNQ(pKuj3{;ww6<>4;K@<Fn_nE? zHKp<ZJuUlX31AFruVsu7Jn&l?O?7CKQ;^9Gy?qEjLb<CHfsjQ!=`eouBSF`9%&i1T zYJ0I<@c)1E>ZxJ|AuOOk5{hYtyG_cq3x}6#FR3uac+=Uwl~vshKw&5Uz5DzdGHV=^ z?D_P|u5zd#Ir*Z`L>Pvi^ENYuVN<*2@{qm-CR-lka2ueuajC9~0L>ENKTmidsJ^vR zd*Kud8}E}#-<Tb@#4OWL8O}v<S1-y#4L<>c8C)&vwpK#=Ud@0Le*1|+0X$&435tCW z0=gK3MGhJ$;&{nQLG=sMmXEQ5o^=!#klDb&ZRWtZX*oHpzVHp+X<TC5PB`2+zJTtz zU8~IsNV-gcw9gW_?|r}>apX*YGFl31u5S9t+uw|62SmVQLn01?Jt{KiOvmu?ayj~Q z@HxP7f5$~!b*f2}Obm7!U+aCjiiwhs9;m*IPyMz2a~U95r!QlR7g2%=t!i=v)(?vE zT^8C`+$i7Ujzna!rJ$z~vICx84qTS6Tw4SnMINRDa^i=mC%{N8Nm$zu2Ag&^zto!7 z+;_&JYf}&0>GeYi_NN&OUc+(k`kd3F9U=*$VXZZjAdCz(?q8tX&?)1O>r(~z^J7PX zE);LpA&jq2DsQVO%2hu@a)nOY_a$vLDN(h`EWa@)qIM*5V@e$izQWhtUZ*+vDr2bi zMs(S~<<tkO-#H!5^-1Gix49EDp5-<!kQ&fBO`QEK4)xjR$JoLxDLd0h-~S!vlC_28 znlVD=hwn%ctUwrhCag$lz+S}w#Xs^so7bBX>)`S>3kfg7mcoiXtNC#D%cnMxnVNR$ z$>Y&mJ34ZrZ**$RbiHRdUVhLVPKtwP??{`SYvFr^C)of<<52$(rmR)=;lX{yrZI>L zY%VJHy)4tV>C;lTI%*z646E4FUy9~}HP8Kxi~eJ9vjy|oD!;fuA?B|wnHU0u?f)-< zJ5oaaP~WE0w<;+8U)mQoK+jw~#^~e%YN2tZ6w1blhh1M4N3YeDF|=Jm#Vvikh*_*H zO)ta-L@wEUlhXJ6>4I)IT{q%<1)!!Hv>fWwn-e&Jb|QCFIc5Mib$cm9k^CVJZ1xaS z`hW#$bDUPbUj5g7Z{V_+7>KgQy8ltP&-K}3iREO>WgaS_F&_+b5Jmws+$jne!1A3P zY+_3SLGbY;kF<(g((QuG*7O9naQS)jdb_x}ecbiF#QNB}A8<LpNygG~oo!pjcm<lD z=1h|-=Og6MCs4@26GDJd-%67*was`I9oLsj*6#<p!SF*jzjaJmmpPkV013()<qs@G zQ6LKIPSV870_A&uL(3n<_0>X#pE!ID?aa@G-jIs#%N0>ln>WJ=!<767;b(y?S@Ei? zE}0@s*h2g)wb723abnvogw&gLH0hg6KE9e{ZNT?E`#menTcLTp(T;Y&9wJisM}09t zoyV4GG0cSwu|1ByW7X#6iA{5F`yxACp;S8dJO*Ein((?>=i$VsD%i>Fnj9v`O!!`t z4`q=ilI7wk+EM#iV9?iP7Zb7N!JXHwGksGi3T85Dx3&#Afe1BEH*_U`Z=kChVChX9 zqfR27^2I|5pXytL^Mm;gi>92D$nJCD6EE&<Jl`*z)DYBwS823Tmud*6B7%p{&Vm6o z(P{EJfu#M&1E)<3P!qr3F=U=WsfqFb3{>2q)Wplw6-zotBc35vAxng3d}_7-Y?1iq z6hQLLp{jPsY)2bTTWF3jQU~Wz`NQB-`f=*Y>ehXh!{T(uL`D?J^FJP;uG#f~OPG)G zrB~9+x8<)uXW3{	q@Gd}D6hZ^{`@OBU?GZC9ge*hymSn(Z30YFI2h?DTEOyJ}cv z4D7(|CX#B{SX6A=?KUD%1_4`ryNdvnd4?^rZERQ#`_98Rh`XA7#*^ee^MUR8?^r6B z|GOQ};n$ED?K+ZnPY;x*_Hm+Bu&@{D7+8YUZ|ep8?75}i&UmI@j^PH9w3~XMjM*KU zR>6Aj<SM=v3T(W`cLBSN$~=tfnra)2znoqIej=IiX8%a)O2Jxl(q7Y4+>`NRkY;MX z>gzIbPBP+QoHp>U;N2`Gz@A{nR7-g}g%YfVb4nZLXATdS7i<w@1YZUFPTrTPSBMNW zOR*BY7T~?tgdJ%)67x|GkTa|J)HoP_U9K{Cqlaaf!ox*{DLs9r5y*MZJbOq9$fy2O z7&CbCNJp_xen886Hx?Psg=cvEK|<gS1j~aC<n{&M)r}QpOOoe&E-aT6|Nix$;*X&O z|BdnbD)iB+>Ww0g?9YpPipjg4Vwf=$r0S|=eWBydf2+Y-wHumyO)#c3$84miH!}NY z(LA#kmt3S7L>fe&_J;9q4y87uZ@Mpfs<TeBiudH~ikB|^q)#gO0{1KNH-~r{t3D1l zc!U~n!fDN9ZqE0oBi_xKeS0%^V;%gV^L(06<bn`IbhB9#`p;fDc#UxhhTJj&Y)#%k zMC8iAcZ3ZhRoMqJAqkG$td^P<^Q?1_(RAlQ>y!P>^<<R(_L>IdI_K=xJ>A*)gIUPv zk^_^4rMboYmQ_7=wId_PfnAM8@XVL!L`Uvf`VQNgZ3(6r5=(wiAgu|7WbS!u+Yt^S zVy1(~4uLBpKF6H5=U><@wQtKjUp?$`5W=HwLN&v`X_clI@a1fwlVk*6-<RH(yfz_W zcehi6IsYwaf4eVm(7kfc>Yp=^y0|3gO6|zeu(|i~QwOrl(Wf!&*ZbaaevWT)i9V9Z zCUO48PLn=sWyf%8KrT*iNKD~?G_*cT@>vJeF9(Q~_tS&L;Tv!8^+Yq?{gF;lT@IxA zERK1j$-8HSOQCP+(%_bzknsuprY|c$tQ5LPtbKTm@WaO_XzhUAz$_})vjWRSE6E8B zknb*O9PGX))g3<1xHMaG1aLHlM|)AInA;aFT*}i{hBqkXaL)q?u(fN8EIj?+kd{9c zRj{UlpI2$!VL;YHR(>X|M_T~%SMRB^+}dOSc`hN}l3a)oz@IzyqbWj*UVP@NGsTC( zAME+O*1tv4dYC@1giAFQU9?jV`kh)@%;e%mPL3Msrb(o|JP31nYEz>`dI?Sq$a#5y z`mJ9EJpHN+fIvAfEt8JG;n+fKFQD&(=e5w(`BQg(MxH_jJ?^K5WOOtZ;7hRiFQ81# zU3P+Na9FkZII+9j=I$j{{^7lqa2lUF4L_ETds1d8sQQZyb!Qf?RohE&PPx+3osL8g zVID>WFJ+5W=m0fD0RLDYb^ImtrT@;ZW^f&pW5b&#*ahByPpWM3W|vzVg6T@f1jw6` zj;>UO2}`({4-VP+bEyM++d@NsPDyBO@B)-}d@A`E86x2LcGFh?rv_I9Z$n3`I+c() z*`<r$=+uZ{kYmawOjwjD5qJX-$<|Iu2L)xy<>RIri58NFriXRmaw&f4S?EyZheqss z$Y5_}po=k@Nl&RFEXrToG5<fRJ^|w?zrS)6jjvk5?~?rMq?RlQXQS)TFT4!$-5Rhi zeTg0fKE6{}rgSUPinL)|(9*_V@tduv0K;RLaTLg|qid39LO^Ne6G0!vn_V<OElIn< z_I0C2E&UfFS#`f^{-xmH#If4MOR|uILI}k`WgyY1`B%;!H9F}PfE|^;tbrp?2(zIb zC)Ot@$zCVQ|2{M9Nev|Y0OcXJQ!hH$rS+w&$+1I^WXG^F;g(&i`3yVYKibO`$1L|; zJt4F^l3&abS$BkV7e86CNn`tcbSv8na3m#m!P9+t_&od~LFhZf`WRO2;8`nV#%Ngb z?`pyX93Dhj{}PE`#E2yBj|K`HtsY7(3{TF$5<7VmzX}s5)cE0rFrY10?#%XjYkmPU zcO%sSNw^20QS$Pa=BZHK#YO1Yj!Y2IPn(e=?**<sh_ob~^_pD)s)?oGuO$76OkVL2 zPX=5HOvwrtG%5<!=f2K!#ksFP{%X9hKqQfuW`3!c8@mDCj7<JncV}`%CNEtUkabZZ zsKuV9l0M?@bBVrVj|^x6ew=K%Q_vOawbZX9n+^7pxHr{(gpEnkQ$Gp~F1nlBSJ*lP zTsG3;=-;<`kS5`)^J?ndqK9;0g$Zh_zo3A}3Y*0K*T%?NxnLmWR7nB~RAhT+a&HM& zU1?y(2PJ3jb`UPfQ6;Qjmo5%4ktN|L@wQ~jo6qd%HYe*zaISc*$G_vH7D3n8#f{yu z7UNu*f4sp`N;Fk&sNBjwRKsbtt`aD&;|7Dc*ndNzNM}w3@SAMZ*ZNt9+;13=6O?xp z>2~o$XkfDGm6fwfhQ3Fit`o!-DGA|NywTv|CIg#%lPmIJNUrIdeV*c;uTGSj=h{8c zq~%2b(~OG!uF#98lWYm8MRLxpOFZC1^~-&HsTMJtua%0Q#XIU0@iq=GnO6$C-{h)N zK|Y$C$Tjm_-jXIwUDIBd$U9w(t!F+we>*w-SAV8xTfENw3scZlna$Te%YQsEp$s21 zZ^lo8ts&=8O>knE*v~&K#a5b1YOmIWE6TLyiy~U<9OrjD6Gcgs4eKnxJ<?^+YMOrU zI!C3;O6RR4@@|w4j^l|h+FP4!f3r#?wMzU53#J+b6+BrhZu@unKYf)$FqfawCJ&P& z*G(RrR5x4?uV`txXR38ja~qruutM<9F_v|!g<52`q6!^;FDb5|SeLGlq%GP7D!$RB z*-Pa5_2t@1XHsZcW$R7qPaK5C_*Vao$rgC2UTmps^A9v&bpPewOHTAFfX4t`&BSS( za=EN~gJv$d455$}V*18<i%)h`K`-t&MD9#6?q~p!Gx2vlT=McLrMJbNym&RcYhJs< zR#d-T_CwoOl`f`h+3{};aW&c0{CkTP58L;n`dMME&h!i_-gu0hj!pfB^hNqk9)9zw zf$1{h|0!+HK%DjPELBO(abA{!>wZDxgV@LUi3mS<)|8j@2V~i#JKTT&qIrL47bv#f zIC7YPt^UU{hTGW1wBV1JDQIkefkPshm5=Rwfs_ro7<ccYUmi<JCgg-etlwM|X~H`S z{=_+I_SBjBONBg<`Rl0ZQxmPX-bA#o?Ftpxx>B@Tz7@W!cy3ZBHkv<%B$h-=J1(WB z#px+9w^~LnP~xmQJn=zTtNkb_#~*nZId?u%tKG3;mchmgD-e!~_vv4h4QC^m!5gQp zc*Dl1Cr7pUZYLWtG=d@n=CAZ=>9S?GV1CTbTGTqn@9>#UcA8k|+`Kl`H6gpJac5P( zEA>`@@$(hxut-t9G38v<?{hC)_PiuL*)H5{KAF#^S?Wk`x4x6j>r#GKd|Ec(94T2# zHBVU_UC>WzYB5sD>6lCrViNAi#f$eFzqd{x)Ux@C?3u!<h|=p=|5z?Z0*8^PgT`DU zn~8G5Dq%>UTzq)8d(tx5DMe>_$}%a9fM3unkDn)!qDTXjOTS(XJj;#zln^n@f$XNH z5ic@E7d;_^AB~{Otbp5exciLNOlxIj)tdXtJ3Qp~rdUJslehRQ&7K7IlAjcQJMD_( zGl(IKL|HX<SG0kK$XM3GI2g3d6UJ%e0=T-3iV2E2zI<Z!kqJfJ3u&l~e=?9v&}=Dk z_Nkm9gb@Lk^{=hj%tK>lJ1bXo<9@5$L=+lI30PHzT`Lsv{tk4r)1)vP0~0?Iz3n*H zI;tW{g7N<~1}Vg&MsY8C4oCR?fHmdhBR8#bSslGNv5wgIj)cuPO%E$b?r1`}kbgZe zmC324<ej?vIT(}UW6H;`G*nA!lrJUs&#WWF1^=R<1jn#cRGh6$NC!m(EigToj8fxC zN~6bUY|vp9;z;H47&PO(V{5iB8y_^<zu0*5_t#y-z>NY~w%Eo600I6eqB-wuoHRo2 zl*AV9@2()lYL?W_lBNt>_H4z?_A|fT`44)B62+${8wFA?o^MK#C5jcty7eoTez(BN zNgXuHP}`L;&fMYWe(JAKFXU3oZ4i<f>?d~MX7~BYM!j_8{LN<56O;yZ@&>oj(kI+i zJuk-wi&p<}6ZQvA3>Lk)Pr|W}KRuTUxa9h@!M?SZII?A1_lX7k5wUE$>ZP%NQ%+Oa zFwoSsgv(756jggI@C$rAL+|cj_cmz?;y%x~hkt{=>OA#2*+4Ynw+R;2Or%@UQ@^?W z)C*~z)JE#uUsb%y)R!~x&q@`zoFR!aQaU_k99f!N;$D26-E(uvT3QGv;AD7@lu?!d zCWOtM!64b_zU>Xw+Iv(N#k7ID6C3%(+^0S%sT-Bese}hJhRX@BX4m@v7Ti10cWUmP zpP<RKSoF^nsCFLpRT?m`1+k?hlvTQvI7Hs94d$<HBq#A5*zJ@OE(qLT4P-M@xcs}^ z;6Zi04gKSBd!l%x=Xia8G^pGjM&Wco^v_lC*6EoCD3K58Wchg!=FwQ^%6uBuE1>1Z zAKwz3n0lvppto^#zhv|$?y0tqrHFy663WJYpoUT7=2)g9=}ys<{fm5*5|>VhCI*o^ zb-&Hqz`&uc>|;s_{hU`x?$mNNx?X{$TiMJc6r0(^3GUS6))_8=5nI_dI27jDjB)PN zs@BUkfwo)OWv?j?MKdG}B+tao$mec9izdo-Dzm#wqnHlpIHC$rbkc2f)eQ`82}Mfb z-X`I@CFv1R2vERdPc8+6OCfbXoMT&?IIB=n-rLXTiL0z6s#!K3*G)W{G;aNyL8%%S zBy+dw`nG-KM;(JAbsarLJ%ej)dF1x)^ye$en8NP#MxR+tj%~rYVLYW+0$2#2&A#yo z#5!&#+Ff@0-Bqhj3;dPap`zUKbc&2yBz0!__x+SnoV=r1fS6BGylkWm`m25H*$;k$ zv+4<R8Q#s)cg%4ssY46)=bprzp?*SzwIC4A_jvCTmoSEqd<{?9pm`8{ooK8@Zc^4? z!K267z0nn!g`k^U1hYjh@Hg32&oShhG-c&Pf~B9k6J|szrj$pu)h18QCiJJ(&U(=k zRI8!4wJqQ%`aIP%7QdfK;GQ6}_5E9%Kl}QJJvtw||Fyr7P#Ep;M%_B+!s>2~Ry8Se z`ne{-GSnl7x<!67k!-F;X0@@bOE}S2h!SxgQr5SEs7v&dJ|VyOVp`Lxme0cE1X-f4 z*XwJ_E!mI@1sB#=3)T{w`Y#BHcqqT)GJkN=9<6s9v~$}>CbFtKj+m}-hLKX}{hq4P zTI*_*5UE3)qtzo;#iMG!6wc-RWnmNPz9Y?D*n{NDPmw?|ptM0qj)fP{6*r+oS#oNk z_HX<?fCpzh98rs^GK=_H__EDqhqG-}<Xxt!BVvZ_&S<ixVeF^3N9%v>NIWy1tsgw2 zY~<*vot8D_;COp9cc*T1v=-GC)JKsva=XQ}bLY=AY-==jV~UUW>4f$hxi5O+kw%hK z@#lOQr^T-+1%ob`y144eV#UfK28HY%N1s(l1C^9|&8~z)vGL_(t!%I^@`*ogl?&NA zwC6Du@RlJ4eBl!qPBxY{QDF;>{<uwIJ!;#F;Zf<DBBa_Kc>GC$)WU_(ZDeGI>sfwB z*>RT+xVCUxUW#E^kB;V)`DIFLyHgT^ITujn5gmXKqUsET)n2Gam$JE^b!1aiMzi4; zbvfJX!j&m=?dfH9rJX{F`s`PYJ#VM~{ya@aUv2p0u`|`|v#)2|FZ4tmGlqX?viU~C zN6F7_Uj^<9XKrMg;?tleWz~$I5X?0w2Qe#^*-Uq!O8y2n(B}d~GnL0xlnB2|S<{HQ zZ%GT4|7CMWr76~!P`ZlP9IZgE2TvDUM~o>lO>d$PHc{KM3uiJt-jV3d0$pP0Rvn5B zvupW|>PV-h>!y2Bz-%PMid%j>ZGhJ^VzU*w!(MNS1fDP*RUB#@q2TMhNh(8wgyC)9 zC=MFgU1%QhXBV{j77gI<tIbnf|00~<h>D*2<y24$?XU@^$Y8JdA=&#b99M^{2#q@Q z{@pz50!T-5>?A#CE+ZOw`JTGIjJhJu)8OEkY?xy3`B#tV=$g?FrdpEQJ+UgOml4P# z_tZ2xRnKzn*g0^6`FSc(>P>~6L-d%7rxWF`e`W28)Pgqn(^i}pOtr*MyCWf}Src#w zZ`FynDo32gQ=&kxjZk|ul)NsU7<!DZAM?`(T^!v<7AT7ADQW8cy`HYLCB8mYcWy1h zmDAKCxS6grYr3{um?8@=FUtbjD%EtySgk%a!Ig?r)Khg1Av=x5bA_A*F#O$(_$2%u zC`%K~u`v1RFol~Qs+3YR!$FDe1|p5`f_uW|sAKwYHq;1nVPC>i7P9Iu>iVRS&z}vs zDOLP&V;u%vTj*0*AlQZ1))L!~P5F}QM060}?Ky)*4BiLSE|{&HA-VoV1j)F|2YPcj zxvDhF_J%eMK@!Z<YHCT=gR!hKixr}o3ovv5uAsRB8H!DGhw81hu|!j;#T`o%r*T7i z?{yG4H*1}$QcDqIR7>`JH9Y0@>`;x4DgsZ-6#PWL)L@|uB<$kmv@8N+jZGS>p|L?= zn1ZhTX6&Q4qZgMdZ9{>Zz{JM+#p-h&wyE;gd4}Gs^IDPAiZ{)D#T})`xTQsp&7!5w z%WLJ}DX)ceum2_*rnqa0?JJ8wUt`m?R3>oIb0c&OkRk0RNgRob&ZcX$%52^oWjzQf z!fov_6TU05T#!E%8!R^f00xcBjpLHipd;|HhDdIuWdd{QFI^hFH^Qm2?RW)Hw@*3W zYbjj85_h~_=HOv-iicc9<1UEq&;T#HQOpOOs*pjm*du7n1WJb}v#}kL{pEXE?Z95W zDb0HRRugK=J#t2y#<^)3Xd|el6HIm0zk=E{{;^wsbj*m?V1p=VkUskL#(cV(lCI*A z?83ne1R9A4(sVS|aAH+&Y$lKShbhh=ER_XqIHU~-Z}zKY`07TNk@y&B;^!@I^cehW z76xWOo8|ew9JTjTA|(6OJM4AeOy+r19M+PvcJo%;*CaAzQg+<D4anvdxA}~$%s#Gx zMpzGUXlaf@<qv|qztmHGv7<;(2>BdB8J3K@>^}1)v;Jnly`&5++y5Ajr)FVdVspQ- z9IK$9&AA(LfM{_B4tc!*e8@asj<P`E#6QWEEOqq<(})zlF{=mJy&o3xW11VD6;ToW zxREP6q+mJhG#iXng6L$~Nz`6&D_)CjbxhY_w(4Y^M%r9twii*bSRPU3KDQ~Auj^@0 z&Va2_1ecYzrSdMnX1~o*^C{FVM2(fzsZjAL?7L$&s8baVjSZ>Y{)ir-S(~S6sHhB( z5u@t}iXP!v+cz5RjT||Zm!B;G0X+N7?aP9m!Low9#HB9R08E_zs00D(oSqK2lYgU& zp$b^KH?bq8a_5T0vN(a6yvP3zEaAm)-&PNdF_bFky_ijB4Ep~1x<Ot@{!F3rWR)td zGxKAkxkZb{-V(`Hto{(jt}Ao7dxgh}0mILl{5v+%yNvl8xS(X*gPHrX>QC$Qxy^HO zmJ5d29ltj|lJ3{#Z$vO>!~apnZ4g)L)O8{3cTPzn&e1LYloE7)$T{=sSG7u!f16xx z7jExJsK^}Sd9i_I8fBOgVJbJZvTjw|LYe!Xw8fe5BEw$#S4TqW(xAy$QKLQ8<7(>p zGDxIMLtZSmQ?7Yt{{%7VosBKSl(SRVzFllLvIJ3B^hJczc&dNf_3Uh;R*3{rb@YY& zrsVwk2*uqdYh8i<M`s3;CW74344&ce{p=hAf(BAs34b1Hmtt6w0krNCYRwTZyq_vO zo7RW!`Wh-9%5TBo)PM8(=QVdfJt~*E{Ggsu;zedb-^1iE(=4>PCido+WUJa*NKc;{ zcU2ux2D40yL+W#4WY1@4Xd-$_^Cwe-#iy;;yR$xyR&BAAMPbJ&osIkl+W#{-9FX*# zkd7R0MW&oggfh#`3rc>ybRR##nQNF7;xH4&fyz{~lbccuV!(nk56q&P5s%ZuYWju& z8AL8_TA#CaBuw*vriYJ|Xx5{sJCPiw#}fl(H1m}0gM<skngg4W8^_mRG^s3re8hh9 zP{h$nH>bSdhhsRFc03-kXev@JE@`TwQduVC;|omd(UZ-{nB^rURRqhuMe@@!{P?qg zg=Fk)YMSN-6h31n8mGLCcXjArTZ(Xdd%isjdtL3qpUKk?M?b|DiLIo07+>xxb}A+y zdw36K9ENW6P@sl37D?e+vnns6MUna0O7MR$FXZ4L4j?Q11(yL}Y>vN-&?v`zuG);n z7vpC57EH4pn@RRMCVf5M#AYiYGN)VhLz@a9+qiIA=j^>H7@7Nq%)@5&4x2HuM-@7W zZaAeDAPPLIZDx1Y<?6jrNp(sMxX4xAYK!e^u=CAVZ6pO#!ZF$1H5eri$c96Y$tEb+ z1)8(;4e3Av!Vpj&!|*qYXSnY{D$wLZujKTFcE{p?J4M7f8#<_5>u);`_d}<0&3t#J z8`=YOH)eze=!8IS4`%PJ+Oq&cjK8mV*u<R~wwj~{GiB6VMo&O_)aCju181Tg^n=VU z-zl~gLZ$i9#M&qSgi|X%H<B82vKp@OJ?##_^A9`gj(qdi$)(?sBJFM4WFImT)kC+N zN79*S4qmrO&wdXXqL9n|_%nn;mIwOS9MQ}8?kIk#OoRrIa~!;WFZ2IqK?lPYuGaY* zJaylSy;C~H-$Z|K4s%!udQ9I~T@*tM*7#NjoY11F-PAsg?v5F^_I&G_IU=P#+xjmP zIv7T=g?bITRz_DxWXOpzun4y%v0Sc9>Zwp8Dc;6#T=a#pUv15n-`Q4uSFHXDFPPj3 z_ZYD_aLpeT3hJ!bQ3u`f-xr=Kfle~VYsopEx6lvDg9B-3fUkEdCxYAzV=kZrxmWyu zeSK>uA|*DuEB2G~6}Q;u?a}N%%Kb&Soju=f_Y$GcYn2_5W$v2tDa}V7EL=v6Pz<)m z20yqu#X{2&$c!5G^&Bz_+Da(+CK~!Af1h?6vAj$%Amafw1VEtEV#OP|0jPZ#j(^3j zxfRGj20L#0paupfpgndt5p=lh_&A`t_vRF5ZY$`Y*B&mOR!a~B5+(bp2M6S^I?5rG z2d`mNW}%KAYwjwhy9_4kSj!^~;B%}Y<b8Ri1-y-8?NR~-GPkWAv83emz~jP(+LuMW zLHaW)`P)cC1*$X8uy&}=Ecl3~LK8mMpZmxB<zSYL{hRA~5npHi->mACYPt0MKuD<i z0Gj&D<+Eb#jy1h!y*Q$7qt`-n8$osLz5-4jmi6M%Za_(u)YV61tWnV^8jbqV`@$^s zrnDdktS6yCpvH9>p_V+O^c*=Enpu<!WhNSsIi+R|l#JN+02Sfka?sK=-w-$IJtXmN zDD&A$+vkDDnj@ZxDIb9b4;1q46QwP6UOO*H10Rp1peiF_XXA`yQxR!$xNw}<g_qMW zZ)PSgZ8B+o>xH9l?>NTn{@#yg@k5bM)4Tg$41{_k``i@Ke(uPNhl^%P!KJT!Uoq&- zHewDGe@&us?GN0<=o#`Cdg;n2fmt%QYa%=3cmL8Nyo$~HDo^Xj%<Mbqca7_QmCTD_ zPOGk7n)%>ME6K@??v&kklkZjqXtXiyQkS&h6x?#S^bTe-acGs<GXJsR751YR>$4`$ z7+ObD!zP|6R282U%>NtHv5t;`O)l@NE*?jESMF5>KGCgmBICmDeX=xOBqO|YT$$h* zp!V>~bV1=~e|7CSIt_kr)cP6C$6mzGOqzBy@^cle@A%Q|q~a@`R3?;ya^tRrhS<|4 zkgk;-__v9v_!BE;OGd%O<@j~Q&&8NN@4h4r-tohp@vzx!#8l~6Wa!noRJ%magwXoE z9+Oq^wN*t?l2T>x^oj6RRG7f~q>N}6WX85);$c%_+9M1*QiflUfSP5<8nag7y-%g| zFA@|Z$90Wf(;jz)VS&x1h0kAaHOFBx;8J1pV9eQxY;A;g$TI-{e9erlRaRoP1ljyb zh_O-zWk%&E>Kpy0N#?1JNmF0Bh?z?aErA;Of1tz(B|4i@x6PEObW{Ltls;Fu=fU)# zpHxCB{`rboGcyuP84$<kOOx<B_>~X*P5#aAW4uc*iQrl<aiQ`MKlk?A|Nf&!iDmkX z0(8h*1{+robjTp1`R<t@8orncoRtcYGu}9yH|9Zru23LARKWiHzg6fjTva3=LZcE( z@L(yv^dVt;0#y6~zvx<iuB2X|_uW+d0jM}H_*bpywFI;!Z&s}=wDNH}R!RJ9p$57f zSlR)GG1*GR2iv&`I-CSHoc%ybYunBjKuVb2+f^$<EgA>Q)4;VMw?eBL9ctx8N_ByX zp8H7e;dcfZPf}D+S|<bD@N{&!f{8I(Oea%;=9!1R14L1j`r#9pl72mBZ>dZ;st|Y( z?1}$>0ujdukst<+L*;PILDJ&^2Kg<?N{rImoJWO@tkwzyxrf0}?)FS(`EeCAE`h@F zg=*f6?Ok}N-V0wHTpgUjN<uxl;7-a3TCUmM^_o8o?48EJUul076MfEz#eWvb7?q(? zzq&}!wQz0^`<52olA(C7U65Y|W!}<#l0M9fQw3#i()ABUk0&K*X^f^|<x2;Ooc>DP z_5f2@|F}?Fk95<wjkH~kG37Vcx@p4nv6;PNg@au$Kk;CTrREVg{bD<BL}BQHo} zmEl6LQCiuUG#7ynz)Mg(GV%l8lssc=^x(q{7*!f-_gv}Kkyask`n{Oi(SbAY+(&}o zUE>^5XYL<*tyFx`i!;4F8I(+((+hiN_hf>YZmehaH4}U`HCsV6-1Iw!VQp6};@B~8 zl3Fw|28V$L7V%Lr=s&(9RM`|7enz_6z$O^3*X<X0O$SUHnyQAvb5x^yCctG5y`)e> z!Bmcy`j8sqJ<LX=*(oR4+Z;h#Zp}Dqv-oX0H>~r!Ev?_ylt_FCY(flds+x=&FS(5g z*I{zbCzaB53V8m?lxrtR+7X*Y9=Xy&-7^^!S06sWl-bN!YjVuUP}IQ*u|uO@y%s^= z0EOW&JeX-b1$)zP)PBNs!qfT@ewQmfPX$qc!Djtt$c8Z^SCVz9kw=HGXgt{At{ZA> zDVV{BpheFu$2WW{pu<IK^x!H14bT{mH}*1r^nI&`;MI|XpN0l+5G!|vAy<;HaUk2H z57Bkb{DfVwka24z$2R0D_@S4F6Po+hZ|y~=7G=Jh&Em{nuH{r)DJ^{CT*|dC_(-;m z3Ie;ET+V&Bj&s8w$uU8iUQf&F>_#2*<TCtAhi}_>>^hYH-J+S-=W;r`LA2#8u_OE5 zb{532C%|Q=Wo9y${uUa@`QxDoswnT6d`r-V(w`{xSBLIn2RuY7Im{T^=8{^!)AVCp z{IGj;^wLD(CuoS2{|!tD#=(!JcXb~{FMf!U99XKDN0H!ejkpf?&c`^+z5eGGxvB1d zw_4u)SBf0ve{MY`gx(sw*9{BJw<vA}p>73pM*6w=EJ(i(Sg@Y&4Ec*70x;7x3C<1F zJX)`G|8)ba(Nu-Lheov8r9;k=^e0a<woHx3F%_M+1VlE2%QB_s8e{o3eoX6=2fHNL zdw`g|dP=0ZSPd-@GXyGx4gs{sUmonIbV3L0g$V2PcODwlN)yEoJ=pM$<$mS)pQdT{ z{}aK`WbQvx6{LT8>}X=U4b%)23ne`n)_+z$Z{+o1Nb{#7i@e&;edX3KnEky*Tq%9` zjV@SpawWgZ9tm~umk~3hVA0Y1?H4sVY(u*6X=^{CPuK7%mw5k@4foejRsyQRV0MWB z#y;__pElgzrL*W@z(Q0KTQ}=ek}Fv(dxR!yLrUzow5<|@a?e&AcXX9_TQ;de0at!3 z&zhZ0vUqCL@7Rd9&+}p_*6iXm{*CWyxQbKn_^QwsDhJzeFGyz*oS>yf^z9fL#107% zGYuz3Yv@wbs1x}?Nb&5IJJ8HO6wkeBES{vbed&E!Cdf)u)BVGSF;<#SFb6h<Fe_ z>e9$IQfJNTV!+n#ucG%XRoJK5O6KZK@J-(C`EK;@+uQK|`<b1({)3XDao&nDS{xuT zKXvtQ(=a+ypLmjD8qsYMLl*f;TwyA<?GBATdWiN9|8wHFW^}ppwTu^n>7P+W_3vs* zcGi@L7Z$K~=_GibYDdP=9aZmUsIfW91>>o8yc^^kZu_EwU~QPcZt*J!9K@E3a;`&g zwpD#kUwX4|L9grhA!*b0(2zz>+U=R-@u`?|vg(oKdErPl?=tCv60tu>j(5bp-t8yj z($%3C0&J|aXQ$`qJ80r`Jpb}5iGzuis&lf*RUZODmW(D}GRyEz5cn=AHMhcLe59E; zkBZgCos+mf`<G9RT4#_p3I@k!==zguuITNnh{3o`=Y^7d(cQEY0>*ONG|ASYIF7v7 zY+=b4nYNP<xh&&R<CX%jDBI!wD)^9$-Z?1<IZ#PQWPy&N{=_Ni$d<Wg=h+1qE@a?i zZ{Pk8nbbza5ProK6=#iXI{!qFPBzk)E37ydK#E2&+n~v)%fL56+Dfp{I5X+hgf4LW z-leL!$wE;;<$WgW(Xh=(_uWUxba3k@{ap$Fox0|R>I$XhXJw%yLr-+q>s6PBMb(b$ z@BU}|5~&bx?@8yF=tC4;(@348K)6g9-?1QznCL#8HT&dD5{t82VaE*X)-tsD>1MqL zjO~^l0kVy*22y11g(wz<Aeq#PC@k>AVamx<S{K#%PMdZT9-K*PnkBx}yw?`juiZxE zHB;}#Ih8awTJ0WIdMP^EIrY0Q2b&N}`lSRipdjvF12PI=oj>#z*Pi^U>PfI#5gLIY zai8S-nbYQ;B{ORLp%@@+JFX&wat{m4IALTF*n?KH+FG-Rr5wwv`=WTPdH8nAhs1o9 z-YHe1oB=YJVFnhggVb{-zJ?C{`@YeW6s_ZwATdvXt`zjv?6dx%aR5CXk-=)Au?9j_ zYw$OgA%K4iUKNj}Ikp2Br>+@)O`<@?HQ={FgM6?UQ1)auHdrpy132riq8>0;C$|3= zJ|cj@<2gX()T;77=AWRjL_n`n8~q8b;%z7Xnp=j<Hi3l-0CA7>`U_JIHl@oAT{M-v z(#<qmwmXy7B&4^X2pd?CUH7!{KJ-bFYJwwQD=d04mSW?GEK4SZMyt%!P~cN-?xd-+ z7a<TsS3`|$H{b9gK{pdJAm8679V(ORiegNzkgo#Op6W#W-|nNW$e5m+&nR4A{l3%l zf@)tZgm7-_g-L>}k_{nEF^$eIu-tn+7r+iQVz6fKVb~|m>C(R`t;LLGJ{dPlc*J)v zEDp@%f%0`q@g0BwU@fk7+?FM*R%vd!$kF+!ipx3K$|F}svrSlal%Q2$mKi$OMDZ8C zyNYP)1xwP&=u(YYW5(-WmNu(myP-fMMZtT^zc+@n4?bk>;K|N^?Aa;!)sLi^1t8oQ ziEnhw(&S9?nnvSa4JkUaWn4lp5MrPnS2rN~ii6J)^;R7sQ!*Aw6%aM48k%T*oyvdL zQ1@uhnEi*Q-LPE6&VNE}r7Zdp1V;9wtyG;g5QrYuey#yp+j2_GmNdoX4xB5R0&d5D z`*v7*#MeuXxp#tDLU%_ue4*>#RX0qACPogvYV{+2!~;-3DQYs>Tz>YH7XbGV{>*}B z2c!1r7iEyJvn@+kBzyP#=fF+P;uGDW>shU`M(C&$gpsV+*ap_4w65LM^)0c+JQp?$ zy|Kcnr?Ah9q1dv$lF|mXmKXn?8(q)tyF`atNLRsrTaJKRf+)JnH~@0A3JwdPC@t8% zcqReGNZeG<AC|~6!Z<XlPDEdi3~`)_pd}owA9hs06X)QGa=YwyoN@(Nt&G~ivZ@}? z<Zoa^FvKKRuGT*8PWUi%^D{$TBPcpW@d22*i~xObzhl%^a#6ZM+d)s%x{OeekjCcD zE&3`1#W!j#fS&?IAuiZPUw~NQn$M1*#hmX%KD*1?U;*%kQ>ucJu8^{k%9iSb-!HjI zs|H8~b|!q`TNqBp9NVldAKLzQ5&mz962~Qm=rYIWP_x?Rq;B%#)lM{xa<_H6_*RU~ z#qfxEAp@9C=X+zLM`U^$CdKx(V%@KzNGI&es5|^<*Y-0pX5vc~UBw6Vl*GfLMg!)k z_Z$UX#ic_#x_anaU#;26SBq1u<tsTTq8(VdoY`b0NpC7`B?IU-zzwS)YMv@PvR08B z!5F?F>J61_120uJdhJc|a`&=Agz9p454|_Z+I+rCJkx2oqWYF6!%J6vf`p7W%?WTR z*Bw0K_5TJYqc(W29b5E&+EH?gH}p#*XJt%WHG9J}-F(aPbs1Pf`1lbm80Pp)LZbFd zz$nAMDJrVipBiet)9$|OO;_)9l@5vJB6jjm*X<fny<A2ELFeqoM4x6EXr|w8VY%(F zlHi*4!2Qu`#TTZTU)ZWGbQwAk9L%izEj;_Q1(`svc;W1DN5x$zyR&z7R8X=}>ZMu# z&8!%zrRu^dY;%Q6waU4>)HRr24H1q)0j!HUo>zODVCOPi#WRRK-1aSNxNyFUYAfQ& z!nH=baVs}2#rRtXO@?IC^bO6iUKT^U?3N<sYo`LpldAnSa>T~7fFtU)_D^W^V5DsL zg;0H6nh9WBYgI7;rFjW8tH{cQYy3t;4q6eayV@uYn2QE=M5gQ2afQYZxtfpN3whWu zPh`-dqZ}~#LoPC-qYFB{+yt~Y4d%nTT!a+J&m!%0;)Cdn@O#M)KH{L$DJJDNManns zX@4i@4e*LGnHoJ79p71Cq|)rQ05gloI~oHufd<+m0Bs^@-TorljI<-$SR&}77Xki^ z*My^G!HNwHp`MwUl(Vz}jc;eJB4CH|<oHsFgLHrTf1$Xj(`Rc9r2E`?8x(cuA)>_q zB!XC*+uM7!D%6d3={ba`wf5i{$?Adqplp+eL4IB$gMbAL($1NLnj3uuV3*AjW|3D+ z`*17LoiamtN(tJ7?|d@L0$DQEA(LE!9N-2(PuYHgJ;=$g4j`!Kf#vI6_yG>i{;;QL zecQOVeH9FLRqyi#s^!h$){w(<DUMQQQpZ|vqRL&J2APsfz^=$g#{}dd0A$YF68OOA zpPe3)Wj>5<AgW=VcDA5%6|Yby@@KRw_`&Z>wEM~+s8?$*BLJuz1He<1M`+9r3`I0@ zyNW${6wskrKfxPs3JS*IX<N%M04x>E+BFF*yiP<N<x&if5N_xNn5LbGgbVE3Mxl7! zDgHq@bmI~o?JNBOi;-P6&h+zoLr0*h&hlpHUg%vD>3}kH#z=Ynn`nZf@y7|LwBZDp zm^eab)F1J<u_S<H9<pz)jP^qJO3?-;K5g>?=RzK!;<TR@-HL1^xmB>0fuIH&`A$I_ z{hu7^q>QxpW)~pO8iv_$^F}+Axa8n?SQ)VSX3zVPpobWYk&(79r5O(N+?L(m{C!n# zINREj7;B*QFvJz}4S2;8p(sQilh>U5*R%+`p*&0mKz1Lnxc@t2JfP8~{LYSkVK5-8 z@!?~&YY72~5<fg=%LYBo()i+!w8R5H=-8`;fCb>W_|Be0d~GWzj0<f!&VK&~5J(CL z6d>*fW(^LouQu#B-yR@5Ws)JEC9^B{Geot?4fsbQK8^!g^!4f1VERKAXK8~uC-yn- zG=Sj&`yRSTiQ?eW*@Xhak?xz}aUcFkfZYxKFHK^fsjo???LlM8ZsjOJ0f}jat~4=F z9NK<rnXLfQ&Gj7M)Bq%gjGo8=+@6Cgdy$k{@mg3n(7bOt??G97NDoD34Td%q*<zwO z7(4<)Pa)C!r}icerWHCs04W}*0IXjhQt8AbZO2EX`Z7XO>(8LxnpCLjLxEpJml1MW zO@n2}<VNGk!dc?LtSG15f?q*Go|vRywe6q!e?wq3$tyBv>|u(>F(A8Bd9WE&DFRr~ z$+iR3`agOjoHvS!4mMcprvX@S=>BQD4A_~sqnz@|Wl|ys8nG1uNGfzYfewm(gG~&` zSo!WtE#^~|g<`PD(QWJOW~hqLC=5@d5vdpq1zQ{Sb#v@Lg=NT7TG~iALosa%L?Sh> zTw97?Ae_Oic<AJ%7I>iw#bBGIHXnBlT9*|6*QDhSF2@vbowE*88#HM%40h)M4MHuc zR=XbVW4)MjaRLMq36cRY)gKg#MqNa}J;tA;aC}@1bQA^qvyY(wg{C2~Z5oe(fKpwL zh7Qd?omJ26J2Xzk7Ak0!Hl#lRg9D|p{J)_9{Ct4+pj_PXfDM4pA=*s^r+xn=3rT9+ zD?Z~02C;M*&<w?g6CzWHh{cZ4hjE#?0h{nV<Hc%_mF!yBZHa#enS3?O=O+YD<w-Q= z3n2bJ^rVJqXR<@4I?qMB3cu5TZv4}vKgV9C&@V1@E{K3EzEXuD#rSlnpB!s!m#B|9 zM-aCJ`S~sG!XH9=SQ7!+OzZE@o)CJI3E-4r?hl;LaFzmSFR-(pG3R3E_^jI#B3q93 z{dt5DSGcK(l60Z=!R%i`$kb%<{aFsY*V$6w%;YY>ngAMXI|FdcR;JY{W>nmL@9sT; zX58>olEL7g<)^ffsC@>EvjjtUlcu8e_p93RQD2|U8**V=oGq0E>j6y1N>1l_l_)Hd zbCJJlxJisRnW`cBi-ffjw?e}=UWZ1KkwrumF8{i9pnxQOj}2!t1BTgscQd99|L){j zw+=S4oS|Nh3aVr`049GXiQcO>y1y?z?{0o^glcOM6}zVW>KuNDJt-gl$J&nH@OCQx z)E7=O0V86K7}#%!Mqj6q9C~fEEtd+C<DZzQqU_QoRo;~isl*6fR4x+08K`?ITi*>S z-^c(s@M#M6Cj%}dEyP}(wx~5muO@`vA<9QYk`xMF0AxAL)Kk#9(2y4Zc2IB%M&=Qm z(vJi{bJQcye4;ZPtoQ&x&l|`_JODdzZu$V&*?@ha@zA>szdq)K*IXslRs*QJ`owrP zjKSAJfAAFaxv-6HpY$LT_P~8_QqIHaNc*ZM=z5nXa2E*`Wv>)zzte_s``lX@Z&8m6 zyX%@HCS<h~|M$^rqE{W^1ij7S-l$)e>5zeJXWpB;P>c$3P}>!N#uZKQh)l0GP!@dw zq9ZFOu)_M@>P`N?2LKM)x5Fl`S^tMY2^58Lt%21Oe*~!xu^wdak3oLa!LyDB9eCR# zn7*9~0Ei=0rq*QjRQzD7n<j7HTon{w6E`Q`6**e?bIgHhJ)FgWwWj$N)o--kjHUR& zCD&<oz7Z-YaCC)#?kFB)+8|o&9b)xHNdUVGdPDe~9<Fyy#3zy7B)mjQG@o8Ufkc>R zLi|PVd1~Cd!tN;i_RR#}AuX5S`xg7KGXj_xJK)|gdX9~?2_T96F?f$1WzBr<)%^c} z&R+nW*6+v8l-KfT#8fDh#XP)73glde4a9z>10*3jZ|Q=6eEze6;l?ZF)So<@-7OzY z&6DfDCA#_zO}lLkX%c-dJo!q@I^dI6ex*5bHdB57hiWKrme{&Tjew!!$co=2Ff+sJ zwYQ9z^qz|<mB!lqPU}%K)ttJ`ji?OBkInEI-`IYa>2^~{%RZH?z33TkqsjV~Nt#{X zP!Od_HOU!69>;hYwYpov-SG*A^#2g`l>t>XUAWRBCEY109S1lx(%m85-5r7o(%s$N zA)OM^hYo3^yF2g3_q+H0I%lux*?VTzdY&~iN#0d51q#w*;y?m}f=j99K11pnwcGe5 zE;uK>rqPE%Fl}R`+Gvb%dVOweI_piXG|EXB1BOJx%slPvy>fypskZQ_;0-xbTAYRp z^rcT_X^!)_tHYg-owJI+hz{!2boN8OST3WN3oaL^x~YeiK4@yDOpOOhtN&*k<*Msk zPmy+uOE8LAvUbkoLG6~(81l`2vhY?*!im#?(}-LIFTX`PdZSYdWR9MAITK-q?vxRb z+&27^WE}b~Zx{B(1um>>$Ttp#6?U}e?`cqi+`PyZe&~V<TTf#Xn@b!gVI~01__}^M zU?x;1;&Oj`VWhJ0+zB^Ph}c18Lmusssq&5KI{tLP+{5;kT*SWc#v^A<S)U88-Xseb zNZo6kJ3{WTv<67-)Vbd;k49i#7NYyS?u4s;;eD?vDDP#!Tm!ut;%wzYy>$7ZeZ6_? ze}$7cs~G1a<i6U}x|)nkOivC~B=-}{f3^mh+zk=ap<gpMc&Uf}7`kXvOnW0EI7!dj zh1hB(>;9MOU&BZ^M)@&Yt!&&4>+8sX)ZENcMadz$0@pz0qgg9Z3m&{?4m|<0_?W3J z$yVc#U@yT3^hCSpT4mBY#>xdcz7*oPS86!W+pDp3zW=Mos<m$esu_OJKkmlRE1FUA z)UQhIhyA0L*NVh!=@l&*kpYxQ36%I+1JCdh-}K9D$L{1mYR0WdWmgWmc^YUO4avG2 zlUqy-Il*g%eHkPk99rK4OyAoCdzd84MC^aJFw=<GV`|Gcw6iJ)5+A4hm-sVN*?rBF ze;=Kh(Oj@+Gg6u7ua%joI1-O^og=~{5Fc0ky58}>&LjA;!0@jD7eE8Vfj1eb3z`g= z;iLMq7vx>fucu#a&Ct0NK-G)AG_AQOY)ukvHfU9ZRQ8z(-?~hLPb$w^+qCsK!N&c+ z9<1Ajvh-mOKVm93lghm8X*VjrI<4&(><3!#_m>v&%k@>MaNY!53(_%0e0q#EsVM8I zjF2uYhPGHZk~!kL3b;KDhMtco3HirCOCYCnR`{qE(tL*ZQg$;a!Q}v>x6^>GZ-MPW zn@p*Iztpg<D9qI|-)B3^_LZCh#$odw)bVn)3ky-Nw}Af}*k|OUt>3wzZyqw-2yFmc z-?W4bllYIL;f9haZZHBS{V~&Di*s9duGh^vYX=%HUcH~Si{w8cDUU<8M@lZflv3Vq zHSj~`(01koQv~~#eY7||aJmEnYkiW%dgLRrImhqW-$1M4pby^`<)Q`b{v=|EtBnx4 zsT8_w@_pO!M1v4^0P`C^-28PFLNl4p09K*(cf+SV!(A*zXk%tgO<M-!U*EHe9BO5| z=#=3rJjD5L>6>AWr*Boi5}3s1;KS^S|9G|OgZFJ|ugebv;g8uXukc5>`X6mtm1C7C z!ljreJMG{x{N19v<gNUgRU*v94;91IwMm8`yKu3TVkirRUkb0>q83W#z#N*utRVQk z95=QaqT7fQS*pXwQjF;2Eg_D-s;X2LEW<g3b}tBPozI)&K8!>mf1m%YK%W0t5+qDx zozN|oFO1{CT{`YU+CZ(3?*HRsJre(09fM54BWqsWY->aREimP;t0&upQ1O53&?5fp zJncV-FaAo`0_>>FXH=TowEq?$(r$=_^d?Y|a5Ro>V!|mFLV)%XSEWG6MJ&qw2*vyv zRTOjd_EfL$oIJ?T1cH#m#%D(;x_J=93TO(!)ajw6u(2lpYufdI6J8gJ&$rw=K<#Kb zGjs{3er0gs6j*F_-|+<>1d%L!1=inn|2e$3z*;?UO0FJ$TSFxNp3)F*O$6q(&NdP? z|LXqBTg!kCXlg+HJ^m9EQ$E0%|5F&E!HGSnlX;p?|2<Z7{--}EM*P<k{QvR4frFZ; zQxEz>qV3Cl|Lg7I@c;F8GTy&;RxJIC`QJNJO32n>_^-9!e`*4)l^0X<)2{hn+p>+o z9uhN+62p>M!(C~K9kz<!(_fj-ZgCIZ7=Y7#BBTDN`h2p*(>DS>I_;Y6EMRf{f9xCz zNAG{{1nR$bedGV{ofQ9%sr`~?u7RbID!j18lWzP{J9YlJUyM9y>B&2G^$=-AW{uPP zph1Jf4aVuce!#dv>b5@IyC{3S8uHw!>Q@rX=vX2R?#5H&bmk9c;>K-er#=uCFRENk zTGT@OB<feo`}^l4&r6%=gKzh)4VN$vV|gE1#;g_6m%0=U!Z=rh%FdxWaCr^Z?AJvL z(xYditBnMgbGw5-J7)sUE7B9&_SH8^+GPz76Dl4nVhznVUyqENoE*ls*d!zbS6usg zj@U5d5`V_e*zRkqylH0Gi6$q?Io(S>83uMml_~pT)&)4WXDn#(;q4`7mdT^=uTnmx z@9!`N9Tb~>JmVp(AI}#?ELaxkI^GN0pJ0-;{W>UtAYlx;%4HOlmXZr<y<T%vRFMtX zh~Z|};BL+K057OLBuhb}KQzM$kZ#H-p$75vpcJn^#z+=?H7_Q^WgwIp4cSxt^4yPt zcDK1ptY+UiMDz`-#3#<TwbtHQ&?!_V$=!62VqV4@lEoc)<d;tzWh}7IPQ{DFc7niz zR=2aAtZ=fXGG@d=v0Ds5U7Hi#JKGkeBUY;WIV@gNM;_k_oB1})<eZHOJsMTc$i4Td ziVHN`@s}FC>mfDuuea5_FzIP&t+lJ>4VIf;SJ>88OilZS-*;WPVyPOp!pB1Nz)D|y z?_0e(P8DtIy1JY#O+~XV_yw1`uSJ$H!o%X|Dw}w>$u_QL*xNmHLjrxE&qO(!Kg>L8 zlBGV1?>z|bkuy)S7>S*hGyh<$aPCzheliJ_4UtmLIQij;%61t|L0S64=n}eXa_Gj- zF}k0OutbD&9a+W?mr*8VA*!*C+~Rk(Y;%RD$3zzGLVfml3>MD$g-9b;vrr@JDay?S zOo4|T4A<Bb>Sr=o(gLBp7Cmpito3RdM5AJ`>Vr>A2YUFNi0aX;fYP-RTXbG>84gKo zZ`N;uyRtkJ9GbtjnZPN-kt_a*8lio=PuKMil`>cPJnciD#kW```o3aTm65nSum^O_ z7-0tSr?M5Ne}j3nfomLVo_V{f+PN37&r7l`p|8t7Tk5LL-szkW-|9C7V~f21QGQF( zut>S`4}=f5+ixe$VKI#TK9Y3J+^zQ`X)h~0RcHy}uG(a2xkvFXc4}{N{tL;jdA%Z9 zI|r!+$xG94jh`LmjUMLy1Y|YLB!9}K;_1<APX<>8wtji3<)P$wBVtE28qt15w((n9 z)~0mBknM6icIEMGyf^9PI`J(N=fW%w`S0m$oqUpZtMg}KCeGfZs#3;Jp(Vo24kj9M zOP%cfBxiJ+jvBlQ*%k~<w8|nPkrb`^&vH4upik&i#*^h;z5d~LRe0VFZ}+O`2r8)O zQi(QQ*sgTg<LE1UdD^Z<6O+od`I$<U!b%q1xz!>W;w0_7=2i02azAtw-w?|tYz#H! zy~B5^>MR_{#?$Q-DREN8hZeeK2Nlv8vC+<fu`hqQ8A)X6HsV3NCt%g>UsRa!JFe<k z`jZsDlGMneJ1<fU;lPVZd{+Ew#jX5dyP7fnYQTCWi5wO4s;G~3tCFst?x5z%TaDE8 zw--@Z!5}-1637FahW?uHsz{vH$W2>x-p_sm+r2KGK(8mLx#CtCoRJnZ<N5Cycd96* zo-I~<47jBd$Cy%7#wR@l4eUK6NrE|Z5s2R}8Jswj&GEN!y<#4G)Px9GVYL6clpUjV zV)CKu@rY7meZX_p;=|KHpO^Tjgv|F-qx}lY4FRQwb2OhRi<1a?;veAQzs`-~Uoz*u zBMejSDzOYrt_djp9vEqI#vL3_kh63zTEmzRk9to1?&Q54+<60?k=x>@nNwQ}(6;*b zHsjFbhRl6%(Bje`rmn%nU+8C72%TTK7C%`zY(pXv-ly9j5<&4BA~!$bl<$Kj{w`g{ zt(m}0g~(gm<#8=ED58e@zNeuk(<V2a2J0AWN2&QEaDm>Ms073-?FdEBK9=}8Sd7~G ziddFR$e}xH0pY%6ntCrZ>V7<|!HeyK(nu|sN+=Z5x4qJeG^DQYJoEZXg~!eedaPt4 zOhc0wy~+tLiO|H0Yd&ohI~!0P%cb+TV8&z`f2qNk4oO+5bWi%wA(xLrSkMf=Pn1b4 z8kL#ueHwGH?O!-MJ-!FwC;<6&eQ^H-nQ~v4wV%oUdRt<7RoG`6s%37g_Tph^|A=Kc ziGCmq33IEod{Rfb56YsD)hgyPsZ(6<C|{l4r7mSLoP75!&#cj0qEpR3b0fh*3+|T$ zt&!b9qt!UL4Wp^%HFVpx(Oh~f!H$qz&(iQy4GBlTqC2U!=+)AGA3Zue^8lfhxHL+Y zOOl2W4z1u+vf!+0mtLAB^DtuoVkzBT9hW<3@$H7Yacyi=E<U`oqHHi)K@7jgpDA9( zS?%ArXSap1brQbz&~nLp0kYwnt(kMnH|9ZXL{amY7TqJfEF#VPN-Zbn-nB)Gc^j~) zisWu7c)=Te>hljwoiyGUjv-MP#?5T3vzUZw$|tRlD{}p=Y?^6p@3D=NLSnw$n7S>h z&t&hM$H(Cs{dO`nqFnV!S!_@PJsMn1F^e*2P{Z@J)X-gZ466)fif%@7R!rj+27_(2 zf&Lgam+O3AqmzO+{HE%hc`*?*tgemon<KY=v&$p?GSfNCC-cUA+FO3yD+pA9e|105 z&qgwzfFon_fwg$}y7YSgff=#RmSIXCd)A<>l;$eJGe_N68^dBzvk(HQEu|7Q8w5nN zSz3vqK&)%Q!isz=vVtyRTgnngS<jRyo+{rpwG>==S>6>)V<@{7rklbU-dT%}y1(i+ z_*oP8l73xjUA3hYcPG2G(e!<?TJ3AAp3!q=5D~p1nu@&X)f7c{UXU(@&xq^H;5^DC zSjM{hHmt7P;paQx{V~RVc=FS9v+lp|`hS9sp<?H$&8hPK>1w)RZ!7dx(;SBVx)YuW z<C$#I^USzHh~^;j7JPjuiHd&|{<e$s=3;FusjC&}T{JE5F?XO;^r;$ASx6$O2?+pc zxZnS^kKZOJ#-w8{vIZ52xKm6zW0BGeXK*8LyHsqu?8=LRB%`x`5a-I{&?HaQr%vVY zqObZ|zzEAg+m^*K!U<6UxvX`as}4hl=}KkT2);oMAyI)*_?<3~6wb)|sa!sh2udIq z7*&FsCGi7|R7s^XQdar~;k&HH(WK?z44iLT7#7+YhhN|HdEk1@1EY&qE25-Ewi$|Q z1rFSBESkTAr(Z6*Pg&1g-P8K!W;P@El4v6=;m~*prT3KSO^quJh3y|&2q<5k)A|iw z8xpF`@*pT`)tQlCoj{oci}mS99oT8J`v#I^4+4hX(6G*|^cBEcI)g|(za_#h(4N#N zkTuIe*;nwQC*9I+Nk#O>CrP!ZwgN4kfhQylHOjVxeG^P!IWm~hB2%h-sqOxWLK~w- zDRTO)*oZAKYI)kJ&<RcXjZ@Fr&ZL1(ETWhsl(i`6V-u6r7L|gn%GY5WGtFBnsgauy z^8DNhN+-EWou8=~NF)Ec@V6SPfY<3e&8`LGJ8w_C6)pX}523Rv`t%+$%XAs{r|ND} z!AE`!6qPnX<GDFWX!BjZcIGwO_s{x6MP68f;1uo9BfnF1^~BZAC|@Gx&(>!=1+51? zDs;nP;j&`^qocj?DPIQibAs^?DhUvB>w=Sszx>M2X_Mu%A&v<X3!`NunRaOI>i`y_ zg_g2F`@BWc5h}w^hu7n8_-ssp`!U77+;LUq^D`78iH+FNR}x%4`c!45X-tyfOa)ME zH(-DG<OeNEnl$IxN!ZLUG2@|PozT=uI|wZ=u9_A{D>HAe5xdhTl!$EHs4v#+$=G!C z0Q>k<qUMSGNpjVckaoiHFsYEr9@NRz{Ngf^2ldxP$7GOTXtI*|v%WO5N~DfA+^lU< zZn>#SsW_^j99pI?opahzuEfd%WwkLcjwzkvu{5VaXG6>H$>mdC*R+k?NHNOFfdg4# zIdA^2mGZU-oQa7Lbqpy9ThyZQZ}H;12<YPnyao0ukqt1J$nz7Ue;ZuLs)(geot0$0 zLd((M_Ilzbqv#|y`UhF8KF8I$&I=ex4tQY(2tU_Igv5{MH>^}pMnp>LhZ=L>FA(j- z6zL9&V@^~mM)KwNMo%us7YNNuGi|+<{O$$!SN=L!O9-gEOsI;eP?`|>Cz)0%GNr_8 zIB8@$A6amyUnX)jPV`3ZAKlYqocHG~=vwPm7}2!MQHA13Zza#X5LPP7%k>cdRs^t` zy`;eXa7lxUo6KRb)r!YczGvNfyGzd6R0m5rqzrvfKSXz^80j}a!>i9o*8NvnuU);p z?yaO!j+oA=d@FkN^(;epn;s_Yk4(g@<&YP0GFyg;Na+yrf+RY`_bYo;=#U_FipyOL zC`0T>@51G`yMLRLbzMTfMY`OP)zuL~@h^pZoS=g44s7|a3O71Zi^NdGd$k|xtZq0> zD~!AHU1%i;m8sy9#Dy~SCZ~a{GA?8^&!m_``mNIXwzoz`VPNZO#=eh#T;Y-Xyb#tB zTet{~v1O69huA>@Jt?0JDbvZkkX0F_@K~Z>@Ju;Bx3F@dg9>rN`Ma3u_943~W7o>X zvw=<`E<H|n2z~rp(7ad@&|4uT*O#%$NBPTqzgmD^zOiy@1?nreAg6K?-ysJURr!g= z1?^Plzg-t^S4d<gGXEI}eK$ExQ$VVMYV2@5BrZgNSeNI%)vJbNaWTsD1Lug0?9R>h zG67H7D>*j$L6&*1wk?zMzSNkmT^8)Nj-6CAoR&B~oiVu>Z`{Z?h0)SxiD<<4`bORA z@Mo8|<gzTR>O_+4_b}#C43~8iZ^p&-T^U}#xeP-?<#<v3UH?%Eiz>14(NwcJB9s9I zTaUG$(6>W9`@1Sqc_@|>H&W(X2PMeWXp-AE_wukLaz<L?)R~3u%&zz|>-Dvb-@^9O zy*u>xu{75pC$7P(u4QCU^0Yh~9gYwLsBs`ou%N1OVIPOs&Z0inyxN9P+izU?-l~G< zR0?W(PuFw$=<OS?Uj0&Fj~JlHo|I@5bwHc@RxK%=qIG88TMrHMT^7oJfg5^sxrzIf z>1MrwfCcsA7mQDTi@rEY$qrY*@pO~i#2m)liKP4LcA&zIwiSm;?~)G8!zXu6Y>`+Z zyUlvf9jAqUADb=Dy?WD3z5)$<-vFJ=KP8gdV5zIV{6|3ZYs0BITgnX^_Kv}QK^2pg z<=5N#VCzG-TOoC42!zIZrWG(rGSAs74=JdG8-Q0GCu{B6k*d4`1D-@(#+Z$$2kVhr zWIcuWIwko$gbq`u9I`I{#1F&9Pu)-f2Lu9&7K@l{nmPW<xozTY8`P^x&K%e5rayz$ zIj`kD3vQ}inbs@}p0^!09RdhU`0}4*0w@^*yDm9ytcrqItQCpsz^NtLVJN(JKUm+; z8fme%TV1|y6j*ZWKwyQUHCn(jpGhXS`|Fwi=;F`{voEvKxn$K;d@9f|S>?~$%UB+D zn7g933O}=MCT|DQ<rtuuS0u^IwP*CdhpySU!bZ<vUeTV5jsd$la3k^HEw{>=XIDYI z(+F;utC;D^vUue1%CMCPY$UtJenro#omLZEtLpibtBcn2z^4;5(lI;FlT1bR7%r3t zMg$c$PFuWcMO|wCqn02WK8~k<3)vw4RDuR6kWD~VU~{23m)MA=1E6c&uMzuJh+F*t zW^gH06rLhAW+<6qOsz2?Ia2lZ{QhZ!0izjfzBWpFP$Hd?*2Ro-<dxZsOe?#zk~+-; zh^I_XVJlR^onrsmCzoSRC}SA}tniLxrKAMOam`%&@$3gl{L&d;Mq3ojmnF3M@?Yb4 znckZsRT{>)W{tLtt?7CgQ5FB3dJ}0^<x1*8lY6`I3DD7H(SN?`@R=L#2%%94*`t3K zZ4YX!Zo90;f87G{RqXXUZRkOlwQr}GS0?}!9r#S9{;BAlyeu7>i2Fn%KU>VDHBj;| zVVHS%rJYfx!T-~q0Ih$Sr1et<=i3`<`U60%aTV75d8i!9Bb<skcQD7*2Dr88vsLs> za{~v`SXQVC5>Oy8LM`|JcEL_Q!m(VLr&(T!3sevrP>m_GeXk0y6<Jk7a?YOxANO_Y z%*CQg&c>bF#=4t~s6Jq^7F}tAc8ONZ4PWhqy;kqaMI^!`2sJyN{As%3cLDlCYO*n+ zZ!>-moxI*cUgYnX+z5Tv<P<Zd*1pyh6f36oJB(t^ro8-OjaVF^h9X-aJ;s2wm%nY^ ze(6^7)06GK3bPd;HJDr*Y}I@~!@tA(lwwwGxZ^KGK;KNEv2rR>N^dJOAAk=xH%t?( zWUnDi#lV$EjA9>$EQ3{H5Ybm7rA`%Eb{e)?8HBMm52yOrAgelD^*LBnWSp`rR+)J> zr^ZZUR3Pe0I4ei7Z0$!S9XM(ZFJL!r7b9sNe1voR{*RJaf2F>~rctHxr=WY7kLoGS zGN^$!83w#zpcjWP-#V>sBsUFyWh&{-_o+Csu#GuXTC1~fKa+X%0XO0740LJo!qk0C zbJ{de%!tvPD>XY5yiA{{MZ}CJLeAyfFU262KouXy*Hdc__<$g?b^M034By;0nH#3C zvW=Pw!GG0DG3@s}!qzN|0>kXH|Ie$n_dP9(q;|Hj4w~h62#SQlIDs>jf|Lu$@GY89 z5ePnkvY}UK`!?|6c(YT_Yo_!bT>#KZH2;o;rQG)ks?Y8Hx8M6;2dasS^=qz4VQmnm zaAz&PYF1&M>eXzM79YSC;Lf%QT&lPF<wpv}P_%G5@bgIT3~nQ$<q}m+fs4y=Q~l6Y zdOrw=7>Zwj0n4Ds^Ah+x*Dp2}cMw~K{b}_@nA!8pXEfi>F_Vh38($!AVGp<haZnOJ zMG8Qof*!*m1fpP_BIiR*W)8Ryg~4^HP&~#Le1*Y#XANGX2BjDEx4jdJdjtfcce{H; z&NE1IUBPq|{N_!JM=wYEER=hTab34V40jb={MEA%i?~Anp!r`x5@}EjPk!pLXWM3w z0Fa3ezzvzh)m|d$NvZ3W8^rlSQ4f~(EI^Sz`3c3U;nG{=>1T`A?i<0WUm_JssuR!N zDVo8fExUtL9$;xNk)$QnZGkR$dk@Fs(a00^Fm(LuyN!264hoJ|-*3z12p?6t)mpkT z%)L1dig236TApE-_QXBD>+21jjUYojamy*i0TMi;8feLTAB+6kM&<A5CLexv8$H2b z6AHf%objW&$By0&{pt){NP2?fy)VURk*hBpQmKAq{T=1$9lJ|?=@l&LCB1`U2BvaL zO>_C$WB0!BqXPsd!U%5kg`QF|0zyTWHjH}6RF3X3R#nXp;!OHx!$c$0Qf>BzxAW7% z^dBNHo}sCxd;}!MKS#B1^`C&<G+XXf(4{0k{Z9aA%I)$hXynFIQ!#elG@y+C%MRj{ zKn>)>r}-zaiGyMVGABYd+855kJ|L}AMjI*D{9f_+?x(V`^I+F)9{QSQ4YcST_Pc_< zZD2nayZ;HJI$2hy0jt()&PrnD@TfSmnBRUg?}n<s7Lh*w8OkGI1}5bej(Nh$CXy)p z6wDi4VFU+zhBTcs^IGwr&hkQ<zu%#*B~|;D)yzAwyz9@NxsHIO**njQ)~{b~I($N# z?r)W)!j2eM^LG?k-FAWjZuz_vI<kPW&LzlE@&6Zbt0B>iPw^*x<4@{R^cE`?<h@0m zpnQIC`Zx@zztDA76!fY8L(Kprb@!~!=v9jtIR>J6s4%);zR4gsNcx=`-gpHXD@n=_ zzV^`ir$a!RARk<;PC;WsYiD)q`F*TnBYTETR>_itoG@k9794$S-j)Skqm9k2)fSRg z*`r$o|DY9r@IWnr$_D3_DU)@<eODux-k)uoCJ0j;I1R@5rCl9<A|rUeU!3lB7Dbbt zJD7>G%YA1b&J4geTu1Y-Ht)^|Jr_k}!iZw;W#H9*^9~>I+=mMoupPV?Lt6NvfI({| zO9jM#IyWJ7yGr+@qW9O5soZKSRxu3eO8aAN`hGd2c#(cRp$9Q<bc5iZO+14}f+d<f zQ<7xPvVHR}lTy<Bl(!Tk`_ui`1|P@&mxvS=hhA7D2%crNEJ4_XW}Wv%2`vj2Q!!IR z1mVJ8kKTV*zW3~d^c7|Dw{x#T6_2ccS&^Kvc4&skqjd7o_dHAwk^Rr&Wd$s-S9~h- zz{MHTnAwZ0n7L8t-`qbiL>AZ8^HYkL?V|v1o4HHerDzGN+24!cAs*O+WoXyxLJ86j zZ%FNtxJfm`w!E0{2wuKg8Lhc`Rvi)S>YE#RU9x(du;z9~rd;kC$FCUgK9_`iPnvFL zunvFyH#ge;Y{l~W4|lMA+-ll~xJ5HBO39d?(0XK_|8`FQ_pVbdrSR5Q=#gGy_7(no zp<9YUSUvM)hvUxZGbbDH9l?P8)$c%JQF$aOqbs=Y#P2K3#<xPRC&OLt$cblgXMLJh zelL7I)0Qw}FOwoFfv%6-t-KG#!<)3u7~AjEs_sJ<0zgn2)d(1+v?pA7N`d`)V_Ifs zj)x!9(ZKEqiN_Ea$p~9up%=)pVhCQEU?K-a0;<nFN~f|virNFQ3J+MT!=EX^VzZEN zF@u#v3w|=g(sayDU&%ce2{Yt$eYM0f4bXF{iV3J=pVzus^TpY>Oe=3gr#+$vVnsPo z52Yd$d(*G6)%@j|rFu~-?<eGx5SSlAYn`Frqej-PF%FGB;QF|&RnqiFwD*tW8qz2X z>elSdcbxwG;O;Y9_I-<Y^zgl|{*@J;<4TqO?{%*Nwwf(or^9UR)tR=b&g8N@>jXE- z#FOCS9*d1qjUMtV*00#iGRWu8`mFLWT@s_c40m{qY{Xwlf8W!LB0}en!ZL%ovzsye znP(rvbo`*fDOpKGM7gkII{lu&pRlD!Yz_ANXCxlG{`E5ayeBbSh3;-(pQK^$Mz#aU zn0oY*K3^^aH>0Esm*5l`G#o-i#O{*4R}$0h<lr!lUQi_dZn#THC@3<MfQ~KZB71aE z+t_z=ttr!A7!)p!in<2gznGRZ1am9zoQ}rDd`is8SK}eIb*fPOEA?Y1=~N#4Q-Ke4 z@akJ^XhPFS6%L`bT7K_FwT=QGsGOHRxKm4@TrCD83dZ&Wy0Ru1^Jqe<mZ!kOhqayo z``IevRGT4Wx_lr-(W0jI_NFYMQwx)><Z}#t7sSXEa;$;mHiz4?_xbyS8eY+?D4x=$ z+@_d<F>RN=rQ~;t?dx4-&}pu=-X)7_H~<5-$<7Viq@at5Vhd#CP`+aBW-cWJ9!lb+ z{{H$U=tBqh$>8IWM0_RD_>-IHCcxaGFuS2u27Mvag1m84-bkh>?9bQ-Us(H`v_C?k z{}K?$l9&ybcUxgep={6HuN<I><gOB-QKS7dP1FK~s-loQcKEfkUwSqicKzTh_rFq& zpfHkEz+oEI+VgcCqO2EfI@_*7%L>4p>{=jjqGodS9gd7V96Z91E`x1ZO5;$Evphsr z{;8}DTJ5n}4KbG&FQ%-Kjw8Dhrfl$XYZn05oE_EsW$|0eT+U$;`%0d4u)lGR-YDbW zQaeOM->;(Mxvh4Dcv)wh+y;Lw6PJlF3q|F3Y1ajLoUTR6fikB(WYIC*)%u~fI0hVh zzpCaH0XqK<+4{mhZ8i_3Q^=~CaXw%c^?$h6;va*GISsO+JjfbZL2zarOHSav<0Xn! zSD4WR@VA(n@e7{kBGkbA9a__(K29-NFFlDDN%z`_M&ZRVZUFv7ch-(7=z>BQK&cs3 z+S$f`Xn-%<d3PoYh17aXRZsw++<<b<;A0TtmFA&%p7l8+%{W_<mzrN41=F?v0Z{kP zk}1p@No4#v)bz`s_pkHCYk9=}Wh(4dS*3PWO_Of#+A_9SlyJO%SGa>_TTP&1oJwJK zscA2WHaoY!O*qx%P^N;_UZ|Jn9x1Kk#}M(P>=ASe=c)dF-Q-J|jo_{pmr|Ox#2_Ek zmA3eom=RrsNU^nhikhZL>gi5LsKw{}QF58NOR-w1`)%#dPia!n`jpOdXC`SXEw>c& z5G#cU<Dud7StH8&Gw&}kk_!BIwq>iS8^a=ARRkQalg{xTMX#+~1RkkNPn~l%0TZlk z1iQTm{yBm<>d7En;nl*bTPcIjn0iZhum?4(_0&Mq!Iyt?K6NQ#{Gwi4@4~WwSXoo? zijQ(!pF}EK4NYQp-_NW&exjeKTh)>GDzk*L!dAN3Blh{X5*IgFjf*u`{8{Ge8Z^4B zQqRTg2tglLGDH4phHRlDir8peTf-Rs>jUL;<39n<kMA?(HYTPI8p8{S=)VQ(yjY`% zRf#YAOpMr4#;qyn9Z(Maad-Y;$8VUkv8Kr05_?&F1lP(wmx0cI<QVbLMtJs>d&0X> z<hHOfAya}<>CWFI*-|T{d<M=hYw;4RV<AsSGN6W3(O!<M-&d*6V(y1_$qAY-PVSp= z;C7uUUk79O|D3dexKa>PWFeez6E>(sjY&UMCGKI$hjpPxZHYLjM?)Q8DEXxXw-E3F zsx$ZKJ2rz)6t&BKTsuf<=JPKa*3XFZzt;}USuaBc4Rk5aSqQbP7y!J1v#9iYTXpbY zno9Qf1ibDl=(mVSeQU|Vr<OeQ9N%3-f@wXSrS<v&dkj(n=pq-K4RQS^ook&R<`DV& z)=r~oaNa9b?uFMQDbz~GgoSKO>i&xG*->R<pR^e2$az=<5bTx1En<j4eVgvdMfTER z$nV?IzV9BrjYq)eJp@@%4rc~!=FWfOiT9V@jwgV`dxN!g0tBl|(;#Vi^EyVT7pz-m zf>bz(1mvYCzQ*gh2|B6yb%!Rs;id5WtNYEX$$w6ex6IJU%~V0VOX_1!TB<E;mP3$Z zej6$fd?UDyKqf*LVmbur0NWH;jbFf!E{^qNn7e7s&l=m+>t34C6DDG48&G$1i7P{J zU}EJ0E`O3FveFjdc5vbU((pMmX=1zYKC7int<33Vl}G4vOJrW(CLVEtwK1RJV)~;b z6V&2Xq0(#5!#D4b=hW&6zCKT(f6$O38MfsSz~7vpRfpE>WcE@!z;)z`<c|FIEi@r| z`Xo$Zd8RG#&lEEYYI`kUhJ~_W;xf$&I`*c#anMwNmg^Kv@v3M`_;Q$`{;9?A>PMt+ z2;r5MCp}oxlvjAchzjpghO&5WNPDpBBQIjB)?xbK5NdahiP;D6!6~YuUBjD|`qq`v zzh*_Niflh)(p|G8E1u#MZS4}fxd@Ao7mDmU9e>JL(T>ea^6(NN#HTUJxF5Z5Tz#*k zK+;xDdc0kFnlr)0j}&l=^^X4O-1H_k?JU*en3q7HhDOQP9zcAK^h)8+tzvNnYLW!Z znWy7=u=vAbnh4*Otu*YEq&3U!2QHf`MA(I5h;VslPIC_&{Ec+uySmlQQS9gQ!r?m; z#Zqs#EK=nXiH{PsRN#4?mh7G8Z#L=5)NZF8WA&_ylB0(X42QH<I+9OPv4vdo^Ualj z7y6iPD^r$6p3Kz6Ao~;eg!Q&9IE$v6_ST|h@dW#EvD!Zp98}AUb=xA3>dgiEYQ$a< zcHJ6s*8M{z@FYB!1HEeAGWs+y`?h-rxDl7_eI|<RV!XHg+(@v4-@vcRX!8N(`UoBJ zIx-A%-<=>Wmh_*5V)C9&{d`00zj$f%d(w$r{1Os88hvmEhTq}pQ}&kD3*RMFvRz3J zHOyk(J)~8x60;*r|C!T@PCEN{<Q*?><g|4P;eoOz;x>m(KUdFMq<w>}yc$dwODVe| zf~UT3cg{XZubv&J&TYkxb|l6Ki_#64cu^_>pn_R}0cwDEinbq4T&1|;c+z4cU-CU` z+{DWw=tMH|NfX=MTvX?ZKQJR$vaIG0E#A~$Z1Zd#(Bdz7(I1^P&~v|B>T>Jx1T}nI z43Pn5Dx9IVTL87OM{X_&yN_&rk?iO+p;RR=B^Ujr_PV5N0zqqesl4rwhhtgAui`Fp z77YY0o<Gh0vuIxsfe$VjOB8l%gCK5{b(FBcphw+u@HNmz#1h*(pWc?*e{^A_cnpjM znEih<cAsBUuY`{0;uy;oaQ@ao529|EM_3ebe`&t&_I29Su!awDjx~C7-b^OJFcxd$ zl^$r<vuFp;x?FnSe7zZb@MVVPeG3l26qnbOI=`y+Cu%*S3)M<&AVt9<PaBMlsxLbh z=7a0s-estbNX4_lW+fKGGT2|lvK9ua`%4m4l?bT^@=H7uCj)=_J_g+qe}9!w_Ma15 zH4CH*w{~Q=8-EPZoG@s(i<J#(&`5X|+aXphkyKx*>N$<fRHdY^oH%m}lKL2njkf!% zWrG}hFm%xgcA5M%)P%g@fw&MfPUk6po_vuh300dCF<C*ZN6dz9CjjTpmVC>Pu5`cR zYpVQenQfyC4AOcjh{i*R;#ZXOQYf}Bc~wBw`1pSw5Ftph1W|x8uJ3EEoR?PI?K|OZ z<)YF%0z}wthK~R?n&ks73U;0B04O<O*}3}<f}K(zn7Qb(ZEDxQOnB|Qr$n_e1pb|f ztFVq&{Vd7-F5|4}b^*6p295MiKk}+4X>Fc}y1e8@L+_`Lt>=dch^|!jzDL3mpg<v( zfp4`*^JBsBQohk>8u;MCoY4p$@0ytt-Jr2uZgM3TSo*3#cMQwOI5op7UIcEy%Y(-^ zL1E?uYcief;qh%iWRo*=t)k22zF3Sd2vxKqZlG%`FTsKli`6Hi<S)A=>8;MA8*M!+ zRz{!n;=WKVPwBO7wD@V`cm{yL^5iFE&Ka7x${yXKXA|R_yu}omc)uHUX)nrghOTdp zXxe534_$a1E%H#u^P@bnr~u_{`Kv-E>tz?$mmRNDd<UGIYbbXpCG_QM{bMZLU`rxn z#A@4eVGPX=r#M99_M|=p093LKjc6MRbc#a(1kbWxdQWJ<04~b~?ilypI|+PCIu#mW z@y5^{Dy4PYdj{}tH2QjnXKk}dq+*AWm~%6E>nAB#;btW{uW0Aw1Uxs9ju3N6%SSB6 zr^#yXwqN!?0Owcv1D}41Q=A}Dds634M*Gag!>2(&LvxA~L27S>A9RT7^DoJGqfAif za1p-!&w3|OnT`^l$^tabW~l|&IedPAnmx7j0_M#jIla<Wr-sk&6s4pQ$5DWuzGRZt zLXVl|N|Q@Kx$5CfDeei>MRGYoAM*bR-@y;A8j+v_c~P&(=40Ss@FkO=7JBDYfZyfs zCsMEiTH_?JoPhS4g3|^dt=GPd!(J5f_zeOs9J(I=V1<5A!z=RIuS!T##tO1iv8!cT zPB0z;A^=CkQ35DH1>$IGc?}U@^80GOq6&kELE&2o{I4+rc>m!BL>0Z7df={dfc(9P z3^t}>j9)Ag@Y&&bWrO!3&wfiQ79GKys2GERYN#83d_^YUiL5)kMkivCPNo3U9&!JW z<R|mN1ZLBSQN-C&SKX{8FKrb~REU5NI|u)lpMVBO6ueKN9uL=?`kt_<&fgybQNFDR zLMVj;b1>z4jqQc-Hw2(t2p?CIxz7g8oGmRF6k#6PERQHC=D`yL&l{5Zn=SsGmLNlN zGB-}V=zh0PcY#Lc>emQ?q#~8+HA1E#@2MJCS!*>Z3pc<Kt5xSN3<DVvMQM2V2yra} zb=byNk|vbuzkflrmP_h+WF<vO%&evVVd>kdplDoqhjY~U@VjyrmjfN)$8EDI065fd zs4M*`cskqccZU*of|6G^O6*`?vyITt<F43dcqF(qV+nQA6FWCe7Zl+yS}!#=*ugAE zRR3_iJ>LDGEk>1_^Z1mmG_?5vxq^UJPH-o_`#OUI6Fuhc?Jx^t)Y@a-)|MKMcxEat z+VSH%?SpshQYlaBA%MAepbA0-M!<<agRFf5?LzLK$I*Ov8W+0OXH_e#b~1odM|Zx@ zC?U99aKH49Apod*eC<*Cn!W7NVxK!g6?c?&(p-Syc~bK)l=q6H>sR$b;~BhFJP6Wk z3$}t`z7KDllOY3q0$9(cJ$9S>g1Q#@F6<xx9>954D!juXfZSPocKtJrf=a)^7!Uak zkNkI^Uw;zSn7qA01UMR>Vr{YW4^PlQNPP5JYoA7*p2wZDdop>BYF?1yVAK+$EDhIu zNlEPRxRc_<vJ8V0knqSgSUT`crmGB;#>&m!^D@#BLNr%%;`%c2&qUeXA_?M9WVk1H zEby42yUPJ<Xfd-4{(icc%O-v1n{8Vvs{(v)#*$4_HRmE{nwK3;?lC)$TL!@t7OU~T z=Md|=;W4&gyBSC|bVP!&K{h=X($);S#N8IRnRZ8Tt!`%vFX+_)s}oMGr!hyQ&0^*^ zK*RakOY8A;{WU5aP3Z!ImYMx&nd6+F_8s6D^hJMkTRZ==ai;8r0XGi<WQ3~9AkI$Y z+<_!rU!<X(3A6}(B2YS?FsmN`=`B<d@M&%&o#TycB8H+fz}|6`af48wJl41_QvlZ% z)*>|>&@RIL`qhnDc=41`m+^EC?5l@~g<&l#*>tl<qjw`o89aZ#J2NnP0piIHAb-Z4 zzua^)8B-NI8&b8=l|^o7-yWL|8oUxKmZtM9PT55NcRna~p2(auMv>>hR%o+)1sRVB zNRCQLJ&erujkO~H5GYso=+*T@VMJC}=x+*eDBMmC|M82;(=SYR6<kFR>J*jfLE)6t zlDz&`$E(w>SIP;~y~gblm{Pz3NMkidRP?WF{VTVVu^qh5prn}*)cPQ`m5dV^lG5_6 zTlt?^Qny{U<9l}|fB<-@WXliPwJAWR*;DaU?aFsBn}~Nl4nHhw@mRW&xJ9rDuj`51 zCOsTMxjny|xw|}n5w9Z5aw8Pd?HOkYpZq2#QfG~46puJs2Pdj)91&9K&9_blA2?dr z@6daZK|Bn)ho!Q#xU1Y|HNn%f4&QPv_3Yo3%=?&;_yH2O6mG;Z%4U5{MQUt}QruQL zOZ;Q=#9zV;(y?h=SLPU9e@A)FTJB2Vpfk{h1G`bR76vyD;84Xp5nh#Md{89M?_8U# zN8f|-yxs*m2+o9)w2^7p;}x4-+JJ7cHLE-BrBVA*j^F&~A^3jx^ln3ARf7tlM?`_F z(-4w<;R^>DMhIJu8M*Q?u50v;M04hb>3+b5uIgZO(EC{Kb*AO|6Xq<q(?O{OJ#><e z!@FX7{JrBr@*>@McX`j}JXjb}lpP?4r&K^EuM;UtyF--u!Y8p*@VMZ(h^MN7QtD(x z5gLX2d>TiO_e&q@jr*NgGat5kyPduUpp_HkprPKYMgW#yqmS;4LmDM9@2=lW<(qe3 z1E`m_MmJH^ng;Lwplq8VC<*Y5=&^tT>5SxCy8vsF!-MqU*j{Cb^v{g9!MUTkL`iqV z7fz3XQq15-X2qV*12vkptQAFYOvJN@zNfgSYYdy34D*W97qDA4>J0PAQzRp`nnPP1 zV2X+U5xrIU%mY#b%j~f{&F{}oeh+DIMD$ODXgts$akqSX%lw-8Dn?kcmy!{WadbXM zO~&MQea`nIYlGJ;W)UiSt&4hS&A^qxS=(a;G>&ER(7qW(yCO>39o5dLWv9~L>id%t zpnu?*KdgAl;ssLQk(lksrz^;w1{~H6MlCpTGZbB+>c>X=IDKm$B|BPXlnEHMtd0Ha zi!ea;{m98glx=j`kyaB=Px7^!WM|fFC(7k58dH!l-9Y`!s}|R+C62~dsWWs`U9wtl zTM3kU)7>c5{56amBpzb^StNVzFVYcxVHH(-{>CHas9z~Ulb2U=t;VON#yqc102cvZ z{?b-O!BoRLN%~AIFA|^h89;AIyqE+XPJPexifB=S>6mf=KSoGmq^{1Z!L|K1Y1KPi zLZlq^vq!=(T`|AD&WS>>bolbPS8n=3Vk7vh$@$hKgMf~}edD#cL_Y?fk19?FpYc2^ z?a^@QO|~LttK;(%3;a;AtWg>1>|N>q*gZ7d;5~684O)IRm8>(2{285ot<fhySofbO z`sYN*Kan^)q4le%-{eoNZ~!23lkKA+r1(!nR$KG!;!9Wsj|vPpT{5q9<P!zq8JD$v zJ%3!xZ+NURA!^3PzR&g#hK_@rA{`8^3$FAvj~Oafc5sOHeDP=}qx0V%KlCPbx_ByY zuom29_w(>ZfBn%E-(t5Fto8)@{}MYv3jm-iAhI4sE${j?>P|;dT3GbT!CV$vrN77h z6VFRCH%_P2>#~?>HG{d1QD?Qarr|D)1zsKoE;^y_ok`BvfhFXbaYI3=zzCW-B`1A3 zUv{w?FWE--_aBE*EwKx^Jzu^A-d`P&^~!p{6eGHRN7^yL16#pX^tszyw4*+G#}_Vs zKzr&?qVjDOr^`^JbVx|ed|hOwPD@!ubf7g#_5g$sogFBUx0mW)V2%Z{Opo<$>!<%h z9cAy}*E;>D*|DAz<uf#e!<$ud>xjTBT30>GlO<w2HimGl+wvik`+T?RPY#VPP80r6 zJMknuSAWR72=spbpzkf{!BKy2d^`=H<s@~T8_WEV@n0SBtj1fkDDI`siS8%B<uu9U zOj`+`!NT1c`{`TD-oU*tZox9XK3lMe?jJ>lBzvsQ90P98NrAfe#1jZXZ&sFsh-VdC zlF&=YG^u3Vv_%0|+KjwUid`$uM{q2<KQ~AOZki!p-%nd?0FXS3OX(i#c>49>odyLf zzQQjXy2QzuXDa46bhv{<-*NY_PCT>z-H@Z)mzkhL{ePeT0Nv-_2igUKIRwi{k8x_3 zmN;v3RoZqYHp+cRkSCd6n%GNN<^FXadvC$uf%JNUOXv-sS9xCF6eFecuCGbG$iyZY zO4Z#k_WH0saE(nQ9Vlbh71`sZkjVNYe9RQ*Qc1}1wtP=nAM)9jAP^yt4iYrfPz<=i z4gN?!o4?4MqBBbtplA?NnqfpwqE55&0?-C4gOgTHtdT>md+Z;A5<;_l1FeF{1Ny5I zhpp5EGH*V)a=WTOaC+j!>IWfHP>u52i6V7Od3~TkWyNYxtd)G7PCtZ{)`;j3fm0K{ z%7j?fpm9FSPe!D3k0`Qlf;#0Z?~Yhm4?E>?MZYmzJiu;ncFN&B+&9GH-FAL_pZY%E zU9<jBn11%z?HgWI*2SKcz)l5;`0CEvrqo8yjX=Ze1Cbv6xmDDN%%i>ELw#MV2&rR@ z_Ipzgj9v}rKU^C-Bd|XZI)`43afaAzmYCHY*b9ofHLJ2~y(})X{B$hTe6T0%8R1N> z&b)4<Gc@g#so7pV_D@)*H@rHqXYLx^ZZb0M(dI-Wi!(avl!M_-lkX-tvPb$gcpM8j z1C+lE>cv!VUwywHOOPY~y-(`(qBFk^_&0Q2jwQ4c8CG2XJsZo&!2g{}diuOH?}tA7 zEb=ESk@)-X{d&al;x)B0VAqq<Mc_-NR(%Z-aunC7`%EdY0g9*%s=Z9zmH`1~C1OeU z>%&te+Pq!xap@NRaMyb`V@D0fF-_FIQbLzjEB&l31I3n!`m$L=286t^_6&oWj*eLW zMxv2JTH0B`;@y-A7{kw~fr3?s=(MwsJ>V)E__xDOEZLq2SNi48K{_knZ*Z+&gyY>E z9)Wo35JZDc%?mV_FMcCvNMJnOwyMLHA5_TCCumV<)SS{_h~)2V&xk`vk~#Y?mTFz0 z!V0@T;XgswlR_)qsDgnGE#J^vL&~d{uSJ$7!~G;cZ}8wM3h=L>Mts}RL}b`IeC7Q0 zP=0WfHl)^s7r8+7n3v%Xba8*pqh3^F=$C77jO}MDVM2I!M^9v8J@aYP;BX(=saeb7 zPo|*}JdEH>_j8aq=ts?!RUgZQYm}+7E-KTRMt1Mv#z!!oq}8RN_Ubj%27Clp8zbgV z1_a~52%+>dLV!BY3nbVce~9(}o70CidK&>0spyYj{wO}!#UhdiyTK)mDt?R~p+QXm z#_P6R(ti!mgrG;;)<ADR_(*oNrcU@RY<Ou?1IVS2pnoyrtl--b{9PMOg<o!+pB55U zX~B3Z&Cr1;We6W`=)dXQMF8~uPZ)bf^=#YD?)ukoO%Tnu86&uuYkF?2JD>uR;`ThZ zkAYij5r_}(c<ME~G@p>GKT#W2d@J!4S0;}$f&*Q#o4iZ;Q4bS!k53pN8;VUdJw`@r zqFnwa(^s6AJg$0_)Wcp7>MIWY`@*a<nStK&fv)7%%qR5U?+O`j*@1{_F3=nz)P~E# z%dkp-H;bAi8;nJ?lqRD=ia~F*RE=LKA|7%I7X4{bb_XC<aA5lG{#x)j1`#eBVi`j7 z`EcR)xcNC6gpEfx7EgeZ{Zl}Es;imzL>?or=mxNd(RrBMx|$dFZ$!m2Mnb)`P{rTj z>&4oCi}fcL?u!}u4ADI5dB$UjWt0XSaK3~i4_0Qy`cLrn(Tt)E*TY0VV)Iby)omJx zMj4Ww<x(MtxQE{a<1&Kr@{A4o8Oqf*4OrySLQ6GYvhBRql!5Y3Q%Q7GHQgV2Cc@uj z0|#EdVgDdmRK0K&6rS?k5r_U)N45#ju4m!?kzc9ZUJIniW^kRV<#$2upP@bm%v1>) z45Lz%Xg;BJ)xz+91e}0M4-LYB0gV>t1Wo;M_7Ns4Jv*>FbuNf)UZc9~_dcAPOZlOe zX|DBgXge>h+e~BA)*4xBp8niNOkHdBfhEIA>x7U>A2pk$v+~z}%k+~+zh>%(MCVqp zC*6MR14$3QKv@OlR;p2l5)p;CjqCxUfi6eWJmpG{2?f-?*-Igu(E1mn0RA^Wsu>Uv z;3T5q0Y>+p%a0Hkr4GsV@MMbR&$wf0h_9m*?${4hZ1#F2CiK}1GO$JeGh#omWmFTy zOQu1@fDmr=K<s@ZtNbi^bf%Keg=n*yby%wr&UHs8<@;!i+nvO%gHOMjwV<5^Lz+;p zPKA{y-?w;E<h~kagYlW6eo@sV?mFt|gTGucb&TPDza>$glk?M`H{H*Ru*GS-d30Z{ zWhT&{u=e=|KNO~czg4BxEmL>z)r0<^kTI%VBXI~u+-Ab~DIbTA@Ey!zHACLg?#E=B z=NnF|Pu*|G&gIdSd@0PTU(B7t-?pm<`&ovYJFk87-_{`2Z-KrBRXBonv@t)DM?Zvc zL?*(@ckfmvx@deniY2?!ZyA*zo2xC0sWtvC<S=OKs5e)38CP8^BiwT3i8T$?v@L@y zZ_);B><q?i_Re@RsnF@roA*i|djA<BMWp_2N`z2?Y%Yhs1UY7e46&B8?8Yj+b!q?6 zL?cjAJ=$;W=?{h@RB0;)ekqWGN2;xUQNFSgysKu(uF~v{tpa-95gdC_8m-nSO?s|) zB#&jmXcPTvjrT2IH+${`BwdAX6;_0S`gn*jNOtCZG!@pjkbb9pKStlZAo-xIccl4O z<t4GJSNYQZ^X~@m?rO1~U}JQLM8)mVugoir&Q;FC^o_#K`=<uu9ZmVCnUh9FUKR@A z_oih-|6lkK5qimMxb+-e3J;|&%HN53Fm>U(c9fMVU*WG;59vv&=6oD;xgqnP3W-e~ z3uES~3gwI*3sY8E#d<m|Ev~&R%Wyj_ts0yyxqx2{H=Dh98iM*1=DE+(iveq!<9Y3M zj%xb%Ex&7DX7u0IF%l|qE~;^B?Agvnj&l}FA2-@ceQOvjqiHKyNQ_8N(`}8Q?&#$U zHh%s>78iLG$>A#5%$as_wYwe}=+vBYy2QZW3zx)HgRDYZEHXSNZ7G%Im(HD)UQkl% zw?95wa%rT|l@k^euSm;H>Op;@1~)T(_!dnJj><11qR*&kO-V(;%QEzxH0Szf#o$;! znN55)tan3x&<UQwOy^M3m*h=xypTHnIrP0`Yv9JUr61lF`z@H{=n#UK?7vz@HyN#+ zb62G<5hwVS%#*<8eEH*Ny{o>;GyaV`u_))11A>jwW$h`geZ8X0zcl;!JIQGTH11z5 zH7`rdPem>Dr2`HKps^fpZc2N0<AN@{*MV~W#i(*ZeHdi-$h9qGcCMJ(8C@on=xi&k zGQSP+f+u)8RF=u@0dLm4kI#oL^WidO%Ee`P>8X8)D`V0#vltf{Ws@k{Yu)>%Pm0~B z2wow6)YQ$v)^=CN-9DWl?n!JF<|?>mL^dEUty80%Lm$nPOuVAGxaqp7v&4l?(0V6< z=ID8k(c^gxBls{WV?gtnm!yr$i<u;&F6P0)zQKuf+S2Oe&6(R4p8&yZ-k-nKX`~6H z{*)`sUp)`zut|;t<#R{3^qHS*?YS5>ud=jnhNqtXo~}?IUlT2?9WVK^6sR$aF_Rpv zD`dw*3lIl>40KnCsx`DHrN3F>nzvqQu&dvjjhhxVHUiuX?sG_*IX3<r6fmaQcz>P8 znkMr;h@GE3iq!S}Mq+xtJgKjyw6&!DL1W6+o_{G*<*VG^W-DQ7iA3h8qUrWVx+STb z@bp!-D3j!E9h@vv&yK$Sp!SP~#>)$-U(l*P9x-znX`0XOC49>hH|V9Js#aeHlqr2` zL3K-_A1-ZXiZo+sneBaiO5ukVmh54toH0?{FYbEryjxP_E+^Cfe)`il8#3d~h7z`c zx%C!uG26OUP-k~e#!Qk4FYpJ$$LjQ4OHwuCp7{R+?i~^0o=d-!quf$2rNc{UNwBMm z=6H|sw@{8SKQCp%OKFL!^Rx*srJG9Y{k-W@ddVzI9z!3v;-&P%JHSf|F9s2D#A0fW zhk)+u7aJHQ*vsN5iz#D!ERHgbvXf?Ulnq3e7Eu3{4V1BUi=%8H<})IWQg)fov^dH% zVuKdY{*?`6u5AIWUySswUM`EHJdm}+<nd@)6Vq66GDA*g{>n6VN>7!ZznF%78kD1R z1!5W==%8%n`Yh8Z2ewpt|H?G3l-A&&0XwFV!Q`bJohMMHai_E#zPx@+BNLsMa&(qJ znMR9uyyP9PUztXF`BLzl7>jr&%Ww02pnV`aux%(WPtVooM7EJYIZ9A`v<GAdvJGVm zaJn_Ho>8KbEsb~JJlf>3Gmt~sg3NEhuut}gKzVsMeDhMe>xUk&E_f+TBhZ|ADJ>N< zv0OL2lvX1)nlmq@rDFLLzO6^8LAEqDnlmq@Gc+^bJlWkLky&_UUokd|bN$M`qBM*1 z{K~%aS!i+YU)k48>22YaeMLJK=lPX=Ma359{VV&5b`YnwHN?K6ON+Dp%D&3%n}uil z$|)Bm&gU2VT4nZ+g;(|!U0R&|S7UXVeXq&7EH0;8JbD=)jW`eAR#(OV4cAIyw6&yv za#RwOqn&&2Wy4EpT!!Y$mw72IPw>bSXqvw=DG+6Aaqp#2AYNVK))v3_!gJ$GA6%Vg z*34U;_-TpTjqmK{$V`TTXhAvfTw3DR9>MoQFXMS}{}T7YEBEwL;(oLmq<!jp)d;Oq zU3nO@sGiyP)h)ZD<BTdhT1k^{z5y?#hh=wkFi~L<N}B36kBxO(nva@&%u6SmWw({q z;pC8%k|y;xyp*1n9e{_E134m1xl0}UQ#sm7ni98`V|r{V((Izp%MxI>?6!6biRaRm z<`$*HOX+Rl@gXIiOZN!xbUwLuBxrH+9X#Nr^sw+=%7K^C-NM`2J|kXAPYdt;CcWXM z^tA9^%7T~D%ffppe5gl)C&B|PB3?>w3-6`SN=q=}q-_UYN*@dFrSRO7(#^tqzkaw= zdTDX0mk%G6S4wvakIzK$TzYp4?+Dzwldq!0$=bkxm(s(+JHm|a#4bymS~k%Oo-HU5 z=cA`h^IY2E)MuZc8ymDZwcN#5o|RVOgtFnK^tSMhaH2a|GfJHL2&I)PHfV9`0gGNn zf{0U2S!Y|E07*-n)bH?8`dD~;1fOhbk;p8(BShy;4%iYW>m>tTN)HR~r5t!E-7UPW z-1g$7^tABKkUviT`w}NlTkukPS$Jo#I+Ia8;?yO)l-?HJOQDsKpv6hs4!o2;7T!zY zxsf2^lvm!qQ+jD}YB;`F5QqdV&YM*OcrI;ms3&qy$*Ef6WDRM+OX*?Z9p&2CL8z5D zH8#ujB_D^yDd8QZ#t_dVn#IYQ9?zXAy)3+=Ocvs$^kd;|Eu@@eyC`w0ZE}5CxG8aJ zY-VLP14+cG2XuOwkr;6@%FFd714W6G`W;?M9}ABK4Dmb?tK9VZ21^jxK&XF&`0~~M zk%3<RLDHt$Q<Gr?(p_b`V%=wi_}=2?X0Bm{4Oct0mYpA7F>$kI-Drk*2A$5bb5xva zJBLQp4?ldnX5DCoxU~W6jG9T>D5k6F25FIgXkqEC<96-3(GKwpCPX81Pn*$nwVj<{ z^@Cn0LaCZ{qZ8uR%GMb*|Fq#PS3AibQ9oEuYPW0VM!v7U+?C8>*V<c5b-UWmk@5Az zi&f1v>qd8o?>#zqON(O4R6EHvQ9lrNbGusIsD*fx`ayR~i?)rQYCA{L*AK6)b=RyL zJt4mLKqKjcU!db^Cz&bghr8x>m0{<;+yfg(4ZkwY)pm{&sUKF5byt?1`_d~kk{Z0E znxClJNgj*(;TySKW!bqe-wD`2z6JbRcURllHpmYh{O9FID%O3n?C2Fp-7F32e(P0B z)qQu3_IkD7Dv!;k%(0yi>#HywvmfBekFRBSzQL1E$Wvh`zwyh=<|0+&4l&=7qdIr_ zwQQWYO_8cm#QMz4+va!J%<dvp;|a08KqC*otY!`usTw`R`Z%p`=ErYT<H&D{RE-g0 zeYfUA)32XvEElO7GsOC&%^TtO%uH*g^qL#&Uw!SyJ@|!k1FW+0Ou51N)rW9we8lP- z=aW;UYMc=38~MpIw#~b7mN`XI!#C*nuRfn+wY&@4%;q9h;|{UDtn0)1`qs?5SIJA~ zxq*W{R1@R+-AWYp3u53c^9uX=E#kO~5O;X2C2IC2AVXe<n}ZM?S4~Lr=1W#9puzxn z2z)i!e_HRoSsKlz6ajvuY+*Qdrj*+3Cn(hW`@lgCI(<-I$a?b0k&Ev=Sv@7HyOYmp z1D(|>nx1}g%IkS(pu*XWFR!nq+*x;|&0kZwH-Xv&0^T;U9DDnTySBb*ll8fgjC@yS zx=^U1g78wBAA|r7T}<iq<4&82U;?R2p{FA-%Mn)PEp4|h3ZmOgG6T<eOY;LAsU?}D zio%^#A703M<XdGkuMJc~^0MUiU`60mpmdpXZa(#*{0EhE7L*CF?kH=0w?()fvJo<- z!^C+c^f~(e+J+YDk=wUDHy^#bmgmOTLA9yZBhM!e%rD*9&Gp|qX;~qFgn6w`rsDM? zpU)Px$eu~s7*|=NX5TZbyF(vw(U*FeWn5(-E2Tf!QH<&?r7x^Cu^562wj2cxGU=J; zxXI^c#koGH^_3{f%VRmEKJ7144&a%mK9Tj^C(2H`jC>+rw<+glu{s~UN`D7s4?YZQ zA>eAJ@b;V>AIkf^N7>0qDpV+E5)rah1g1gYqu-xGdrGs4H9r-tl*T$*N#Ij)Q|bLl zV5c-1d_D=Zlt%bhNg$t^)31Cl31o7>ykHWJvINpgqFh?Qhy<#af_dO$2&Oy*GSI4+ z#P}epS~JnqK$JaMAO9c;w<+ggNiN})2YpZ8J#H6+(6BDb%hLlAFnNd>OiY{G#RqDD zo&;l9HcJTP!8&Aq0?qEELC{}Qj&d-br$UN^Bp1)s?K0{KrwrvNi`M(_^b%WI+=;Gc zk#A2^j?VIaOQn~DG6)W^QlC(QgogvSAIcfX5hu(2tkh?H+~OqAvk^>si8#>(fSRn2 zTb#$P1fivLD1PT=*2gVQ!a|#er<aIxvoL5ergSsK?_5q|jyN}qcigT<sK*q)b2;@l z;@m7F(wu0AWwDDDL`0lkBF=LKzcNqx*yhp9PI&zDUP7_|Og=WhsiN2kCsAYGRC!$- zWe)W9n>q=E%G=f_vftFsxXk76y@X=_ITA4Oo2pj=k2vpo(?YRZ9iNBjrr1#?m5txj zN#J<+4gKCrD4rS2J747jFtG8UZ7<$tqq1mwq9mXf`&$feDXZ&d8NF%@7vA3ex+_-7 zMr?L4w9V3K`)X_#K99jJwG>TigH1AsO+aua(M9UZ(Ah}6D`sjS3pp+}VZusb;QE*k zu#g<=%QC&o>dFHDt{N%4b<_vkJY%P<u3pWr8q<Z3a>T;TGkVItS0bpj5jyqtdb7QI zf1&J?vbr{60I5NJ4Eu4JyhqlcwbIa8_1yLK;;v<`pRul#)s-+n>D=|@H2Pz%pV3>& z>Wa<^807ls-0g_Yfyc02q_NQURGNg;XLWv=n`g|FHEims+zqL|eubK<fXXu7if%kM zy{dte#ku=-Wx7ww>T1)g8pDMddEn+5Ps+a6Zqut8+l3jF;N}@CWp%abr3Uqhns3*r ze)N>p)uvZ9QkbC(Zd87!tgbe_s?lATQ4VgNF;Z4nn_ktJF3bQ3H_sR;`(B4luWD=; z-rmihBWuf$E%9N~OAQN_rulwlx+i6Iwdqw2kF|`f=H?kIWp%abRgLb#47PA%R!_?6 zYSXJ4(}lMa3G7ii-zh7koNcdaY!_yThMQ-slr8*Tp~qamAboH%ZfV>TR$Mz`gXCC5 zvIH=`VVJ0S0Q=drn=PIQf5T>SCCa)B_b4JCctTob`IkVj9s~v|>oF|$2_>y<aPd5+ zIYe*HKDF9Rs2Sel`<tvG5gt#7v^Ngjyy14c6RhsTyWK~V2@4V_U6#k+M8~{`Nl=kB zp0_K!By|X7UUjE9ASl`;;^(dc`a$VewK7ALDf_BEWmXO4uvpsM--wD;gil_d&(lQ5 zL(pSqR<C}X)JzAGshPrT#umcTzO7y|-vH$3biZ9g{(~(uO{<6$Ne#mbS$n@M64y9H zKdAAfh->%;2Q*~2wA^d0mv6i)nJ`r(HGBho|5;cSHei{Ho}ZH<so@&{0%(@8MR>C? zmc>99NsV(tjEIxZo~;VrD?k?X5P4HhI7z&JvsHo}3+5%Yjh5*9{5T#I<ofjf%Qt5E zTpm}RL~pu38h{kYfkEaS)?h+h9CE-0@2CawDY*7eV9NJ*Cbu2964WG5)f;HE6o8$; z7!U93o<Ip|`oScFkJVp&K<M8ZEB*MJe>eSaLc941G$UXTO;Y&z&PHpq$@EVRnBT4v zeri8`4yx5*v}~_ui%f0fVMmQAtOkwJ)%8)Ra)*3}!nTYMJ05U*$H=Jrs+xB2z^NTb z?EGPKPk4U6wAk0%$Fat=$e@u`<7%)@`aaQQQ<K4<bhL1xIWFYOQhYTgc$dgA<Ck(l zED)F`-l8Q84<5%~{lBEo!&`sUC>v+54{mwbQ6J2FREzS?qC7k(dEQTRCl5SJ{}voA zh&6%Qz^mzFE~}?nfa9mWN%8^H^HU}B1vL0cI;>icJ^Z}A9$6bPo>dg>zsgxMH(QxZ zLEhQI#MUh+Y!a$lNLQRisQ;tDhiW67tj^u+Nn<xvcv+OyI_>^A1z7uOF`FD<PeH_f ztf8~UU5ooamhQc@ZlS#zyQj&4MZf-FLM-5*(zA-z>YIu6p(bihnz@lls3Y6pP%K;7 z)V=JZ7IxR1yyOwq%@24ITg3_?z*4UhUDhhLmZ=qcF0jT=WWr#Dt^w8YBYJ4#2g3`J z;PptA;q)i!gOe6Pvm8w$e@XA9Gar8(73MKfd9$?ZN&n9f6g<3swW0neV6f1g_Rs*d z8^Ft7fUo>)z;;A733Q`ocfVx9JOqK%RVIBFhc<HwHLi2Kl3cC`5|WygqrQqF0bUe{ z0bY-H{NaqUTmI776>MPC-m>h;SB6G<=NsWV;%>zRc4$uS(B|h$u${fiB$a4babD zb~+r^-_=<GC9}Cp>zNXX*2|2l_hPGl{+>E@^(QL$`Q#t_aYX8GCGpo!Th=aio<UFw zydT|7vOT?tKP76+;XFU(xqFnAWcs0R8??m2V>}4(Q^5jlQnRV?6DahrfB<~;Gm-s$ z`yDV6HO5~~799laN4uD=Bw8>9JKNNFLO$7hI^me8eOzo?)rP$E<YK?w<Sx2zb`V}{ z@q?#bh*!-%C=5$ej0BDJJwQUU-!A;20!s?~09EwB&Grrb{AB~t<IP0+`AfpVS8t*! z?VzXd3J9sizr;V3yYq*6CiOL*fE>}CDN8)UDIeiUOgV~GKEjijMBMr>EPbIQyiQ=f zGl@yYReOV#Nlf4;kDUaQ7%%_a0JfOKJe3+6C&4V{Bj|$wNAY+P!y$y(NAcR_hEUTN zxf;!l<a@FiT1DQ1&*z=QWl|LvE@#CYi>18J(=iiMtMBrM?4JQ^@s!`>NKH@q?sC0% zQJ5fRL!P~^r;NyU{CRIEvK7r$9?!No&aq(Mzhy$r$6m#-MEk2uJU`}N_b+gGoTFZJ z&A5U=lRIPrCOr81+@Ux7{*p5o@2Kxw0+e^T!{)gU-l%-p`PB>z7kB^T4m|_2WBhZ6 z-tK&R8}{Rg3kPH78&b&vf8L2vhhK}L@BAdv`e`zRvs&f9*ka*$<mcs>R}n+_d?B+h zIlfgMlSKEOJx=9Wn<p3ejB?KFR}()B@BI1fOcQa=_n&|FZt&wR>5pev95I?vUg=dK z)Ew+qYSW)qWwL+z{l|}4)-}puvcE*LEQ=Y3$)v0QvgHzo$)ro}b(F*OhATOsRSuK1 zRm`!j>?Ouwde)^G&y_J2hv`|Ds$9vbgv0dy`SrIwUvX+p+UsXiqvfog@?Y$z8SH~B zFBka6Zx{BR3DeK;{HHvoeli^kA_Y7OO~c)mbAEm`m23FpKcAh6AHI0~`FALKPc?7R zTc>;lTB)dgqW<F1a9;^1exQT@`FUUY=CN;KiwWO2&$nyH6A(UmYIVyK5I%Y0ZkT8A zjT1;Ynd=#6<+AGpUlW*r_yebfylVd8Po8?~G69*GUw1FDMX5Q{On)Zm&M}9rkBj}k zer|t&WU959G3Xm5+v)g;yHQWG8|n7!gYTV8wV1N-Rg}#H<QCIZhR>(uzcqnrPrkHf z$Rm@ae3wO+Co?L>FD;(vty_$7zuNxx_$x<#s5a;8yJr9MQ&SXu*mxG9U%<&GRKHKl zQxv{yGIKeeqVSm$-@;6U@0#<i>U)O5S55K)o4^buA2mgOGDGoaPI75L;jjd{-rP%! zgiHkV^7f~JoNy*5N(}Ma|NPW^K_4A0lQG~se3#TNE${WnM@{W|V1B|k&djUIq=qk{ zQ)zOiCp&yH)tSW*m>A{jDmf6Co2>duyDLe<%AAXF@*#PFPL$P6Re<vletOOFi@5;j zxIkDxDdM;D!ygcDothZ>{cd-CXUvSVI!kwjAn?M^KgLgqh<`cKDbwD!MC@_+Mba!O z$M|~u;`rYYf^PEjkLUOP9>1O+o;1HDB9g}ztLarv9`-=NiN#L{Z@pK6{J4Mb@As9; z4^Q>p5_ySkn}+5WIV{<Tp__x8Lr~h7ACnG2iGDF7VwXQqw1HHxu|WUpbJXhuEFbFs z_uUG@;(q*7qjuJn@9v)hJZ1zGe#g7_f3-%-!Yqrkza$A${xp7S@|N}Fd;6yrCNnc) z=Q*p6zlvh9(x?C5=H_dd@8u4ZLm5^^hy#KToQ=5x`~>zQ*O_;Zs4Ib0EfUq~ssupg zC^f5&FLG!XG=+wi0)hBgl=s4Bd6%Rr2o9C3efBPN53kmyBsnSc!LO3FdhJ3tX(#Ga z3p@pJS(VKGg~x?%qQS{EGT2b7m@G>q0hDwXx{21t`wup}vTUT1i3<!Dx(QC#g8KCD zn>g{RTnqkv>uA0&Il%VsTPNdX4Ov>`_dUFL?m5Ec-|vM?4IYpN2V?w5N3rw4vehGn ze@Ts+cYt_^!ixGBtGu-U=C$oW{wkpU8|=DVWh3ioB{;nyZ0A(9LHFqcVs1$!Ng{4c zT;oY2)oJFl%Z2U@A}kM*O>2GmaVArj+%9yJ9HA1W%7`@*Yf`g=ACXy-aRVTKRy?<c zH-(Hz@S5e>ak<b9&_0WxTdTHu8DwNN5tDj$QpNsup>&#m-@K}^&*5yX<aGU2SZp}` ztL_I#z{KI-_hz{=O`86FlWxGvU>v=o@5EcD)>Nhu^097`^+~9HkTWEb3sJhxbb9#r zt>a}9GDfrded`37?2|#W`hDw=n7>10CufBy2CFB!<aVL=B7>?NgNstht7uCmCnLEi zg#`&Bl6<K;%IIh)tuHinL~k_-86$ae%W7704thz+L#a)2)nH`E^GIGtjm4GQP+gY8 zA`xvqLg+G3KAMqx9x?>{ob#~~MIO=|{5EIS=14C(!of`RDybLM5yja_+*t=dtIcwP zB#X>yR{R`(tmDi=zQ1#r2E34;uOOZ|xu#5^AilZoJ*yz8x+;g2t8V-?ypT^7BxP5f z$!!V+@poyU{T>DJWAT2bP>|=Qf%bhA<S7|EOu^;xluEL-tDuL48dXje^cYa?{{9N$ z#>->3uOLg>X`tOG1@Wp8l_?bDDQO`7m4ccud>^2$dKe1e#r0obL8fF8l_?Y?DOgTN zvQOmnqmAPWd3<Ld9e5$HDmZaJ@no)wlWXweov*JT?mhXUO`#wTJ}t3-q#)im=Q^1} zL7tli+DGE{c}l#mtK#^{Hk}6APm&B9XPAM;6lceV7jpXwI>UF!&sUJ=rh)dXPJWF~ z4S7~UC*e*5ak&)SxcwTlP8Hnv_%zVIn1Z<Gh{_ZS;+)e!J825y*dr=aD9BSXt^R3E z?b84GK)m?L-jwX!*C!uaRkZCb@rCZ6LR-{I;^b!oDpO~=@be~ZRUinr=gCkSE0T#2 zF&l@{C{XL3S15YzdxcWS5YwFrutH3%x!o<Cd?egnq@thj>QEw1)+<hJ?q(Y=j8-X3 zz#2k6iLHPtnkFaSq(nQQ8b!9#f4^izYL$}?c!fR)$Z1#~#WeH^Cx=VjI*sZkhn=VV zCyS$syPR;YO7o`F3uffhAw|niBX7j}f70#fpFLzRQ7A(u`67h3_4m|oL2A_u8PcVZ zm}HIl(2>zyEdGg8XCGdhAG3J7j);3(wLVVP8^B1z$k9q{v@-DbS9<}$FE^8OER@b_ zIm2YDQD0;nymaczRISs?MHb3@OtIU7MOfCG^V(m0fwHb(Ue4N6+Rag%fIoz9z0Anz zg#xb}p+flxPboF^f*iC<6W&6rU}Pt-8uituP{OHZsCDvVq}R+kf?Vmv7pcE;i_DK! zye#aKfb=O&0cyaPz{rtT%;w0^Ae2T*>7U!=95JeMOV|d?zFLvq2105%H<dsZFQ#6W z_*~XW@)GMay%m}D@)=&jJUP59oUCuYO=tHooJs<J35w13dUZVm=S3pJ216ydrSKB$ zIY$UdeX6f&$VrrP+aJk)C=8ro#7)6}5T2+cfH(;J$3-)3)F8>OaO&KFtCI%+PNnm| zz`K!KL8}7k5L@X11d3>J2;v2Xn*5JhpnRu+P%D|F-z51FL3}EEA?swPhtuvV%W_)_ zuZ}PinD5@<)cFAy30WGPR;$XSbh)74mGVn_qwGp(rlld2o!$j*`=vMjO{i^GD_OPa zBtETE0d!<r`4ie`Nj684i&rPSIi+nlt%9;_n<9Db+w`<jP8f%xTV(o4>e0)LySBM0 zAjCV%QezShk6(w{5@Kwu8_BO|jdxZXaT`}Sb!0_jQOJIUR@yQ-mA8k}u4*PJNZ{0A z2->1(+#Rh95kM2$_C&Na6fq?w3du;55c%y6)SP|yK1wZ49^Wf7sdj<fYoBXLZp(`X z-=EuwtwX)+Tk7}?wsdkhF{$A~BTMSGcZs98SXFdx$zNt14b74ZK;|8TQKRj5s_A+= zlU(@9WU6@$aDR@xdIU&ueU3a*M=>V+K3kXlkt135P-}NA=XHGfxzZnAPp$Uj<Rf)x z{QkAdH7!%ImoKxHi6`UnRW4Kh*+$@DvoKs(`11{$c};m8n#aw0rP<3!S7h@UqKWPF zD<fz12kSW*QuCU!e!dwzld6eh8MnvON`)$ao;1u^c)Xc&#Npv4t49QK&o@blW5)?? z&r;f5K2NXbWR`L&&`<EK*E}Wt!J#YC%uFSYT{_edAl&(v#{0)nlR9NAO_xthZs_1* zZ{qkYZF@?1r$^*QZR49R#>3$HGh6)px~8<?dP&R@nqCv8zU)m2QBoLp=7sSvglarr zOh!Nss@$0`mho#LH;zFDrDfuFeM-_Ibk2d{Xitp`*LO3P)XRDLNLW0vvk`|poPSsZ zUeknVyOS7SZfL8cvL0tbzKnyY4A&%HeoW9}bb`rbZw^7%%x&d4h!fzCPep1Dsi6<S zrc(!6Z!$|CW`?yYNBZi`Zw0meEZOGtZ(Tg!U7!-dhIFC>J#%+Tv66Rn8&=RX+|%Pj zAGR(}?P<ZGlN~pnvkgO2S2Si{=3DP3y7T>bP>-FMXmO3plYm;_PbO*t6O3!4+>wc~ z9imU8UUw6%L>5D?QLmGURy*qr*Z9oUB~4^zS!*G6e;4o+t0wwsl?yO~NixOiOBLX@ zQDr1h1rSty0Yz>W5hGlVV*G^d0)F4K*j);80b>j*ND`%{0Jp77+A)L_;I>aqVlsQV zP2~E|&Lv%^(b&Re7XwiB?7!fs>k!$^nTQO}z@=B6p1C<#QZCD==v7Az<Hedb(i{A| z>)~v~Z-+_xZ5(wN+bK)BanCz0os3@VYcZ`C9U8f#zUEz7<R>ZBt`@^KW0Rk!S_~To z>+ilvn%64v4BryfV%RW5d%REo4)=fl^FROj&wu{=-{1fJ|MlPRzyJNu{{woMR0sii F7XV~DXa4{I literal 0 HcmV?d00001 diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/neighbour.gz b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/neighbour.gz new file mode 100644 index 0000000000000000000000000000000000000000..ac50368238da84d7235b9865d21ff672fa37a472 GIT binary patch literal 103211 zcmagF1zeR&*FG$vfRrGDv{FiUr%FgmNSD&xAdMhh(%mWD-AH#go9+z)n`XmzZ#<so zocDd+|L5<=nsv{tHTT>z*Q~kLfTTgl5AOdV6gEkh*z-ChPYbrJ`lx+H`+?hn+siV> zWR~}=1MV{yvAx8GX+ea%X8P`2DArbs-!N-!nAt1OkQe&fr;7`Q<`_fbp>1K@cpj%) z9!H=HQ0iT0n8#Jv?Pyrbh2`za<#@~Om8{@x_wb$j⋙1>|I#I-PGOf_+?Ye?cU9K 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
@qB15>(SCH&RDOi8%^oPb+xm5Gx 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⪚$D$9A*E=`Z=KQ){9t@u2#8(K9M?UI* zSVlyYc?i`(`F3M}UyUw948~U4MJj}{=%13Q7FKqBy%_AZK$yDRG(1X2r_YRqRqL73 zzU!q^lCYk%7r}aB(HBK>KSixk8!nw1Vg1B(4fI!k0#vd-Vwf@fK(14MSFH&{d}HO7 zOTHselKL2TP>rqeM?p(Y3U6SJsg~C~`IO97p3K3I`X5dcsW8Q!YFY;>75;P&3<3Dl zJ<zcu*jE4(w=zKG+E9cW_61{Ljr|dfmKmxhA0cASu<8z=@PD~{KX_b2Xlfm(M2x{o zj{rtI2_To18U!lVRFk#BBLGHQivT>e8F;jY<Pl0q7#XDQ`)tA(G+i#{K4NQb8Pd$` zGKoBJPu)|6(-HYu<Alv?UoFgdGd)$j3lR9aG!L*>8eyKh{FG2(>UZYsh1Am09E`6l zZEb^ZPkA|MUcQ|pB?&sUElo)DTye>Lq)20;VM*6=My3-OYOz>QZ!_MA*CrS7*8hcf zs3qd3M@P}Xpi19cg<!jOj2R(f6S~^~7LA}nkdnmSpkAkYWx{`}@WXvDLHrWM@D%eT zWZX3+nVGuhB?ngI4jfZw23W#-oSrR-xWXEq@Dkd<?4r`Oq^1j+I--saJ0=GMD4{e4 zwVx=$ya!TbwiJ5%)3bh&NNNi308+YaDL{y0GC{t$v+0@}Fja)%mY6Ma(_ShyF2i)+ zhz^+cHbNeuUlTAJCW6iB&@`~K2CY?H0f<;)zV_<5j?&=Vse|60mT<6CO;|4c>|45? zdBM?AU`Xd4R}MX{(E(@pTpxbz*D}Hv!O!~m@tc8`260`scsWO0o-IBl%oZne#N*lG zQD9-muR&@S>_KF!!y4ea)97zYD%U=+1M~=n?DAi!+6B^Sq)S~NB`B|nB1y(h=)y6n zj}kCSNY@6m;!{UaBZ{O7J-CRHl^zu|BZC>6M)^doA%XhYbVJSF5XC-EF@nDgH9m}k zP)pFVAY@AM`bhf>!Vf%}$5Q1Lc{eI0wZyATDsg^TBWil$zWfv=dGzbG6&L3vw@N0) zZ)Pg?w)~q$&X8_(kX})y{3fPmIjS2F{37#`Nm=CM!y;4v?_}PCL%rilSX0ZIPJObm z>CWj$A0MHqsfMs1Q-i*~;n$$=g2qRq!RsRTqJ_BB0^BmJ4;a`Y3|ClOQ^}wflS!rE zvPJr}#h+}7L{sxmO0@zoOuT**1xJx61)$}D%Njo757kpmDOILcS*cvsU<fD$eEjyn zBf~H4fi-044S)y{=_65K!<LmI|BErY6wuK26tYuC2>z!M15?l}2fb3V+ym(q2WTUu zi+sv|EGOAcSKtH^q#(h+cw**4Xqgtn7sT5U$HefFKD4GGwyo<p^<D`lmuUx^5Rjv$ zo@I&*+T=FzPZ+@{wwx>Q6Pm(Z+{!X5kMR4}!+?OwclwtpJhjqeDFbNo8w=T1nk@Xw zgJ@{@0#eb~!D5Q+!PTSq&@?)dwZbM}dzIJN2B&Ig^+k1<CVlGxh(@bUDC>q)POiM- zaJZ+_dk#AKwqr~>;`!EIHFcb!^o7m$k$w>!tQ=w$d1MUxg4XL^FfCv7=8EDkiI5&9 zj(G}MgEvpps<<aeY>f)ARS(07≺~(>EQzz*0!c9as(4TBxa=dc};<5@Q#wemMa^ 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 literal 0 HcmV?d00001 diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/owner.gz b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/owner.gz new file mode 100644 index 0000000000000000000000000000000000000000..740055841e59021ec14a89e05d9c674b00d829af GIT binary patch literal 47462 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 literal 0 HcmV?d00001 diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/points.gz b/tutorials/multiphase/settlingFoam/tank3D/constant/polyMesh/points.gz new file mode 100644 index 0000000000000000000000000000000000000000..2b3d5650453edeead430211ea93d48b937b80230 GIT binary patch literal 103679 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 literal 0 HcmV?d00001 diff --git a/tutorials/settlingFoam/tank3D/constant/transportProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties similarity index 100% rename from tutorials/settlingFoam/tank3D/constant/transportProperties rename to tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties diff --git a/tutorials/settlingFoam/tank3D/system/controlDict b/tutorials/multiphase/settlingFoam/tank3D/system/controlDict similarity index 100% rename from tutorials/settlingFoam/tank3D/system/controlDict rename to tutorials/multiphase/settlingFoam/tank3D/system/controlDict diff --git a/tutorials/settlingFoam/tank3D/system/fvSchemes b/tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes similarity index 100% rename from tutorials/settlingFoam/tank3D/system/fvSchemes rename to tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes diff --git a/tutorials/settlingFoam/tank3D/system/fvSolution b/tutorials/multiphase/settlingFoam/tank3D/system/fvSolution similarity index 100% rename from tutorials/settlingFoam/tank3D/system/fvSolution rename to tutorials/multiphase/settlingFoam/tank3D/system/fvSolution diff --git a/tutorials/twoPhaseEulerFoam/bed/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Theta similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/Theta diff --git a/tutorials/twoPhaseEulerFoam/bed/0/Ua b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Ua similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/Ua rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/Ua diff --git a/tutorials/twoPhaseEulerFoam/bed/0/Ub b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/Ub similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/Ub rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/Ub diff --git a/tutorials/twoPhaseEulerFoam/bed/0/alpha b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/alpha similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/alpha rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/alpha diff --git a/tutorials/twoPhaseEulerFoam/bed/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/epsilon similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/epsilon rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/epsilon diff --git a/tutorials/twoPhaseEulerFoam/bed/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/k similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/k rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/k diff --git a/tutorials/twoPhaseEulerFoam/bed/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/bed/0/p diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/RASProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/environmentalProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/filterProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/interfacialProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/blockMeshDict diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/boundary similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/polyMesh/boundary diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/ppProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/constant/transportProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties diff --git a/tutorials/twoPhaseEulerFoam/bed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict diff --git a/tutorials/twoPhaseEulerFoam/bed/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes diff --git a/tutorials/twoPhaseEulerFoam/bed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Theta similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Theta diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/Ua b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Ua similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/Ua rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Ua diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/Ub b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Ub similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/Ub rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/Ub diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/alpha b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/alpha rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/alpha diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/epsilon similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/epsilon rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/epsilon diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/k similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/k rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/k diff --git a/tutorials/twoPhaseEulerFoam/bed2/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bed2/0/p similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/0/p diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/RASProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/environmentalProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/filterProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/interfacialProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/blockMeshDict diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/ppProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/constant/transportProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties diff --git a/tutorials/twoPhaseEulerFoam/bed2/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict diff --git a/tutorials/twoPhaseEulerFoam/bed2/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes diff --git a/tutorials/twoPhaseEulerFoam/bed2/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution diff --git a/tutorials/twoPhaseEulerFoam/bed2/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bed2/system/setFieldsDict rename to tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/Theta b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Theta similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/Theta rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Theta diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/Ua b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Ua similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/Ua rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Ua diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/Ub b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Ub similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/Ub rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/Ub diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/alpha b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/alpha similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/alpha rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/alpha diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/epsilon b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/epsilon similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/epsilon rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/epsilon diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/k b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/k similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/k rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/k diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/0/p rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/blockMeshDict diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/system/controlDict rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes diff --git a/tutorials/twoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution similarity index 100% rename from tutorials/twoPhaseEulerFoam/bubbleColumn/system/fvSolution rename to tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution diff --git a/tutorials/solidDisplacementFoam/plateHole/0/D b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/0/D similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/0/D rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/0/D diff --git a/tutorials/solidDisplacementFoam/plateHole/0/T b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/0/T similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/0/T rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/0/T diff --git a/tutorials/solidDisplacementFoam/plateHole/constant/mechanicalProperties b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/constant/mechanicalProperties rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties diff --git a/tutorials/solidDisplacementFoam/plateHole/constant/polyMesh/blockMeshDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/constant/polyMesh/blockMeshDict rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/blockMeshDict diff --git a/tutorials/solidDisplacementFoam/plateHole/constant/polyMesh/boundary b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/constant/polyMesh/boundary rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/polyMesh/boundary diff --git a/tutorials/solidDisplacementFoam/plateHole/constant/thermalProperties b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/constant/thermalProperties rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties diff --git a/tutorials/solidDisplacementFoam/plateHole/system/controlDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/system/controlDict rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict diff --git a/tutorials/solidDisplacementFoam/plateHole/system/fvSchemes b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/system/fvSchemes rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes diff --git a/tutorials/solidDisplacementFoam/plateHole/system/fvSolution b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/system/fvSolution rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution diff --git a/tutorials/solidDisplacementFoam/plateHole/system/sampleDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/system/sampleDict rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict diff --git a/tutorials/solidDisplacementFoam/plateHole/system/sampleSurfaceDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict similarity index 100% rename from tutorials/solidDisplacementFoam/plateHole/system/sampleSurfaceDict rename to tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/0/D b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/0/D similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/0/D rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/0/D diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/0/p b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/0/p similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/0/p rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/0/p diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/blockMeshDict b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/blockMeshDict rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/blockMeshDict diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/polyMesh/boundary diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes diff --git a/tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution similarity index 100% rename from tutorials/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution rename to tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution -- GitLab From 485d821477b3a604b60ba0103b3a3390826fd918 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Thu, 12 Feb 2009 19:07:02 +0000 Subject: [PATCH 03/21] updated basic --- .../basic/laplacianFoam/flange/system/fvSolution | 16 +++++++++------- .../potentialFoam/cylinder/system/fvSolution | 16 +++++++++------- .../potentialFoam/pitzDaily/system/fvSolution | 16 +++++++++------- .../pitzDaily/system/fvSolution | 16 +++++++++------- 4 files changed, 36 insertions(+), 28 deletions(-) diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSolution b/tutorials/basic/laplacianFoam/flange/system/fvSolution index 367eb1e0eb1..13898e12f67 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSolution +++ b/tutorials/basic/laplacianFoam/flange/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,25 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - T PCG + T { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } } - SIMPLE { nNonOrthogonalCorrectors 2; } + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/cylinder/system/fvSolution b/tutorials/basic/potentialFoam/cylinder/system/fvSolution index 6dc71af9529..6626b9c5252 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/fvSolution +++ b/tutorials/basic/potentialFoam/cylinder/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,25 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } } - SIMPLE { nNonOrthogonalCorrectors 3; } + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution index 4d5a8fcf13c..0e3753d7776 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,25 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } } - SIMPLE { nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution index 77cd8dbab65..272840702dc 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,25 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - T PBiCG + T { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } } - SIMPLE { nNonOrthogonalCorrectors 0; } + // ************************************************************************* // -- GitLab From 76dd475a67286b00fac5b56a3bd1347485f3cbb3 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs@hunt.opencfd.co.uk> Date: Fri, 13 Feb 2009 13:03:10 +0000 Subject: [PATCH 04/21] sun porting --- bin/tools/inlineReplace | 28 ++++++++++++++++++++++++++++ bin/tools/replaceAllShellSun | 15 +++++++++++++++ 2 files changed, 43 insertions(+) create mode 100755 bin/tools/inlineReplace create mode 100755 bin/tools/replaceAllShellSun diff --git a/bin/tools/inlineReplace b/bin/tools/inlineReplace new file mode 100755 index 00000000000..310787935a7 --- /dev/null +++ b/bin/tools/inlineReplace @@ -0,0 +1,28 @@ +#!/bin/sh + +# $0 string1 string2 file1 .. filen +# +if [ $# -lt 3 ]; then + echo "Usage: `basename $0` [-f] <string1> <string2> <file1> .. <filen>" + echo "" + echo "Replaces all occurrences of string1 by string2 in files." + echo "(replacement of sed -i on those systems that don't support it)" + exit 1 +fi + +FROMSTRING=$1 +shift +TOSTRING=$1 +shift + +for f in $* +do + if grep "$FROMSTRING" "$f" >/dev/null + then + cp "$f" "${f}_bak" + sed -e "s@$FROMSTRING@$TOSTRING@g" "${f}"_bak > "$f" + rm -f "${f}"_bak + #else + # echo "String $FROMSTRING not present in $f" + #fi +done diff --git a/bin/tools/replaceAllShellSun b/bin/tools/replaceAllShellSun new file mode 100755 index 00000000000..6c9fc5b70a1 --- /dev/null +++ b/bin/tools/replaceAllShellSun @@ -0,0 +1,15 @@ +#!/usr/xpg4/bin/sh + +# Replace all shell script headers with +if [ $# -ne 1 -o ! -d "$1" ]; then + echo "Usage: `basename $0` <dir>" + echo "" + echo "Replaces all occurrences of #!/bin/sh with #!/usr/xpg4/bin/sh inside a directory tree." + exit 1 +fi + +#- note that below does not work since {} does not get replaced +#find $1 -type f -exec /usr/xpg4/bin/sh -c "grep '^#\!/bin/sh' {} >/dev/null && echo {} && mv {} {}_bak && sed -e 's@^#\!/bin/sh@#\!/usr/xpg4/bin/sh@' {}_bak > {}" ';' + +find $1 -exec $WM_PROJECT_DIR/bin/tools/inlineReplace '^#\!/bin/sh' '#\!/usr/xpg4/bin/sh' {} \; -print + -- GitLab From d21869b58082fe23cad31412552eb9a320b597d0 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 14:13:51 +0000 Subject: [PATCH 05/21] cosmetics --- src/OpenFOAM/db/dictionary/dictionaryIO.C | 30 ++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/OpenFOAM/db/dictionary/dictionaryIO.C b/src/OpenFOAM/db/dictionary/dictionaryIO.C index 243799231f2..2f0987d16b7 100644 --- a/src/OpenFOAM/db/dictionary/dictionaryIO.C +++ b/src/OpenFOAM/db/dictionary/dictionaryIO.C @@ -79,12 +79,7 @@ bool Foam::dictionary::substituteKeyword(const word& keyword) { const dictionary& addDict = ePtr->dict(); - for - ( - IDLList<entry>::const_iterator iter = addDict.begin(); - iter != addDict.end(); - ++iter - ) + forAllConstIter(IDLList<entry>, addDict, iter) { add(iter()); } @@ -152,15 +147,22 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const os << nl << indent << token::BEGIN_BLOCK << incrIndent << nl; } - for - ( - IDLList<entry>::const_iterator iter = begin(); - iter != end(); - ++iter - ) + forAllConstIter(IDLList<entry>, *this, iter) { - // Write entry & follow with carriage return. - os << *iter; + const entry& e = *iter; + + // Write entry + os << e; + + // Add new line if applicable + if + ( + (e.isDict() || (!e.isDict() && parent()==dictionary::null)) + && e != *last() + ) + { + os << nl; + } // Check stream before going to next entry. if (!os.good()) -- GitLab From a3b50aff9fee01fe976ab2c46e8aadb19894e389 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 14:17:08 +0000 Subject: [PATCH 06/21] further tutorial updates --- .../dnsFoam/boxTurb16/constant/boxTurbDict | 4 +- .../boxTurb16/constant/transportProperties | 6 +- .../boxTurb16/constant/turbulenceProperties | 8 +- .../DNS/dnsFoam/boxTurb16/system/controlDict | 5 +- .../DNS/dnsFoam/boxTurb16/system/fvSchemes | 8 +- .../DNS/dnsFoam/boxTurb16/system/fvSolution | 27 +- .../simplifiedSiwek/constant/RASProperties | 160 ++---- .../constant/environmentalProperties | 6 +- .../constant/kinematicCloud1Properties | 104 ++-- .../constant/thermoCloud1Properties | 89 ++-- .../constant/thermophysicalProperties | 5 +- .../simplifiedSiwek/system/controlDict | 25 +- .../simplifiedSiwek/system/decomposeParDict | 20 +- .../simplifiedSiwek/system/fvSchemes | 24 +- .../simplifiedSiwek/system/fvSolution | 241 +++++---- .../flange/constant/transportProperties | 6 +- .../laplacianFoam/flange/system/controlDict | 5 +- .../laplacianFoam/flange/system/fvSchemes | 10 +- .../laplacianFoam/flange/system/fvSolution | 1 + .../potentialFoam/cylinder/system/controlDict | 5 +- .../potentialFoam/cylinder/system/fvSchemes | 8 +- .../potentialFoam/cylinder/system/fvSolution | 1 + .../pitzDaily/system/controlDict | 5 +- .../potentialFoam/pitzDaily/system/fvSchemes | 8 +- .../potentialFoam/pitzDaily/system/fvSolution | 1 + .../pitzDaily/constant/transportProperties | 6 +- .../pitzDaily/system/controlDict | 5 +- .../pitzDaily/system/fvSchemes | 8 +- .../pitzDaily/system/fvSolution | 1 + .../les/pitzDaily/constant/LESProperties | 51 +- .../pitzDaily/constant/combustionProperties | 26 +- .../constant/environmentalProperties | 6 +- .../constant/thermophysicalProperties | 14 +- .../XiFoam/les/pitzDaily/system/controlDict | 27 +- .../XiFoam/les/pitzDaily/system/fvSchemes | 17 +- .../XiFoam/les/pitzDaily/system/fvSolution | 159 +++--- .../les/pitzDaily3D/constant/LESProperties | 51 +- .../pitzDaily3D/constant/combustionProperties | 36 +- .../constant/environmentalProperties | 8 +- .../constant/thermophysicalProperties | 16 +- .../XiFoam/les/pitzDaily3D/system/controlDict | 29 +- .../XiFoam/les/pitzDaily3D/system/fvSchemes | 19 +- .../XiFoam/les/pitzDaily3D/system/fvSolution | 161 +++--- .../constant/RASProperties | 104 ++-- .../constant/combustionProperties | 34 +- .../constant/environmentalProperties | 6 +- .../constant/thermophysicalProperties | 6 +- .../moriyoshiHomogeneous/system/controlDict | 5 +- .../ras/moriyoshiHomogeneous/system/fvSchemes | 17 +- .../moriyoshiHomogeneous/system/fvSolution | 159 +++--- .../combustion/dieselFoam/aachenBomb/0/alphat | 2 +- .../dieselFoam/aachenBomb/0/epsilon | 2 +- .../combustion/dieselFoam/aachenBomb/0/k | 2 +- .../combustion/dieselFoam/aachenBomb/0/mut | 2 +- .../aachenBomb/constant/RASProperties | 105 ++-- .../aachenBomb/constant/chemistryProperties | 24 +- .../aachenBomb/constant/combustionProperties | 16 +- .../constant/environmentalProperties | 8 +- .../aachenBomb/constant/injectorProperties | 7 +- .../aachenBomb/constant/polyMesh/boundary | 2 +- .../aachenBomb/constant/sprayProperties | 91 ++-- .../constant/thermophysicalProperties | 27 +- .../aachenBomb/constant/turbulenceProperties | 8 +- .../dieselFoam/aachenBomb/system/controlDict | 37 +- .../dieselFoam/aachenBomb/system/fvSchemes | 39 +- .../dieselFoam/aachenBomb/system/fvSolution | 82 +-- .../kivaTest/constant/RASProperties | 104 ++-- .../kivaTest/constant/combustionProperties | 28 +- .../kivaTest/constant/engineGeometry | 14 +- .../kivaTest/constant/environmentalProperties | 6 +- .../constant/thermophysicalProperties | 6 +- .../engineFoam/kivaTest/system/controlDict | 11 +- .../kivaTest/system/controlDict.1st | 12 +- .../kivaTest/system/controlDict.2nd | 12 +- .../engineFoam/kivaTest/system/fvSchemes | 17 +- .../engineFoam/kivaTest/system/fvSolution | 159 +++--- .../constant/thermophysicalProperties | 4 +- .../LadenburgJet60psi/system/controlDict | 6 +- .../LadenburgJet60psi/system/decomposeParDict | 22 +- .../LadenburgJet60psi/system/fvSchemes | 16 +- .../LadenburgJet60psi/system/fvSolution | 46 +- .../LadenburgJet60psi/system/mapFieldsDict | 12 +- .../LadenburgJet60psi/system/sampleDict | 38 +- .../constant/thermophysicalProperties | 29 +- .../biconic25-55Run35/system/controlDict | 4 +- .../biconic25-55Run35/system/fvSchemes | 18 +- .../biconic25-55Run35/system/fvSolution | 46 +- .../biconic25-55Run35/system/sampleDict | 54 +- .../constant/thermophysicalProperties | 6 +- .../forwardStep/system/controlDict | 10 +- .../forwardStep/system/fvSchemes | 20 +- .../forwardStep/system/fvSolution | 46 +- .../constant/thermophysicalProperties | 6 +- .../obliqueShock/system/controlDict | 5 +- .../obliqueShock/system/fvSchemes | 20 +- .../obliqueShock/system/fvSolution | 46 +- .../constant/thermophysicalProperties | 6 +- .../shockTube/system/controlDict | 35 +- .../rhoCentralFoam/shockTube/system/fvSchemes | 14 +- .../shockTube/system/fvSolution | 46 +- .../shockTube/system/sampleDict | 35 +- .../shockTube/system/setFieldsDict | 23 +- .../constant/thermophysicalProperties | 6 +- .../wedge15Ma5/system/controlDict | 9 +- .../wedge15Ma5/system/fvSchemes | 16 +- .../wedge15Ma5/system/fvSolution | 46 +- .../angledDuct/constant/RASProperties | 104 ++-- .../angledDuct/constant/porousZones | 1 + .../constant/thermophysicalProperties | 15 +- .../angledDuct/system/controlDict | 5 +- .../rhoPimpleFoam/angledDuct/system/fvSchemes | 10 +- .../angledDuct/system/fvSolution | 154 +++--- .../les/pitzDaily/constant/LESProperties | 49 +- .../constant/thermophysicalProperties | 4 +- .../les/pitzDaily/system/controlDict | 27 +- .../les/pitzDaily/system/fvSchemes | 9 +- .../les/pitzDaily/system/fvSolution | 87 ++-- .../ras/cavity/constant/RASProperties | 188 +++---- .../cavity/constant/thermophysicalProperties | 5 +- .../rhoPisoFoam/ras/cavity/system/controlDict | 23 +- .../rhoPisoFoam/ras/cavity/system/fvSchemes | 20 +- .../rhoPisoFoam/ras/cavity/system/fvSolution | 110 ++-- .../angledDuctExplicit/system/controlDict | 5 +- .../angledDuctExplicit/system/fvSchemes | 68 +-- .../angledDuctExplicit/system/fvSolution | 89 ++-- .../angledDuctImplicit/constant/RASProperties | 106 ++-- .../angledDuctImplicit/constant/porousZones | 1 + .../constant/thermophysicalProperties | 17 +- .../angledDuctImplicit/system/controlDict | 7 +- .../angledDuctImplicit/system/fvSchemes | 67 +-- .../angledDuctImplicit/system/fvSolution | 79 +-- .../constant/thermodynamicProperties | 8 +- .../forwardStep/system/controlDict | 5 +- .../rhoSonicFoam/forwardStep/system/fvSchemes | 8 +- .../forwardStep/system/fvSolution | 51 +- .../shockTube/constant/initProperties | 22 +- .../constant/thermodynamicProperties | 8 +- .../rhoSonicFoam/shockTube/system/controlDict | 5 +- .../rhoSonicFoam/shockTube/system/fvSchemes | 8 +- .../rhoSonicFoam/shockTube/system/fvSolution | 51 +- .../rhoSonicFoam/shockTube/system/sampleDict | 27 +- .../shockTube/system/setFieldsDict | 23 +- .../constant/thermodynamicProperties | 8 +- .../shockTube/system/controlDict | 35 +- .../rhopSonicFoam/shockTube/system/fvSchemes | 8 +- .../rhopSonicFoam/shockTube/system/fvSolution | 67 +-- .../shockTube/system/setFieldsDict | 23 +- .../constant/thermodynamicProperties | 8 +- .../wedge15Ma5/system/controlDict | 9 +- .../rhopSonicFoam/wedge15Ma5/system/fvSchemes | 12 +- .../wedge15Ma5/system/fvSolution | 67 +-- .../constant/thermodynamicProperties | 8 +- .../forwardStep/constant/transportProperties | 6 +- .../laminar/forwardStep/system/controlDict | 5 +- .../laminar/forwardStep/system/fvSchemes | 8 +- .../laminar/forwardStep/system/fvSolution | 51 +- .../constant/thermodynamicProperties | 8 +- .../shockTube/constant/transportProperties | 6 +- .../laminar/shockTube/system/controlDict | 5 +- .../laminar/shockTube/system/fvSchemes | 8 +- .../laminar/shockTube/system/fvSolution | 51 +- .../laminar/shockTube/system/sampleDict | 27 +- .../laminar/shockTube/system/setFieldsDict | 23 +- .../ras/nacaAirfoil/constant/RASProperties | 106 ++-- .../constant/thermophysicalProperties | 6 +- .../ras/nacaAirfoil/system/controlDict | 60 +-- .../ras/nacaAirfoil/system/fvSchemes | 10 +- .../ras/nacaAirfoil/system/fvSolution | 89 ++-- .../ras/prism/constant/RASProperties | 104 ++-- .../prism/constant/thermophysicalProperties | 4 +- .../sonicFoam/ras/prism/system/controlDict | 5 +- .../sonicFoam/ras/prism/system/fvSchemes | 8 +- .../sonicFoam/ras/prism/system/fvSolution | 87 ++-- .../constant/thermodynamicProperties | 12 +- .../constant/transportProperties | 8 +- .../decompressionTank/system/controlDict | 7 +- .../decompressionTank/system/fvSchemes | 10 +- .../decompressionTank/system/fvSolution | 41 +- .../chargedWire/constant/physicalProperties | 8 +- .../chargedWire/system/controlDict | 5 +- .../chargedWire/system/fvSchemes | 8 +- .../chargedWire/system/fvSolution | 27 +- .../hartmann/constant/polyMesh/boundary | 2 +- .../hartmann/constant/transportProperties | 12 +- .../mhdFoam/hartmann/system/controlDict | 5 +- .../mhdFoam/hartmann/system/fvSchemes | 10 +- .../mhdFoam/hartmann/system/fvSolution | 51 +- .../mhdFoam/hartmann/system/sampleDict | 25 +- .../europeanCall/constant/financialProperties | 16 +- .../europeanCall/system/controlDict | 5 +- .../europeanCall/system/fvSchemes | 6 +- .../europeanCall/system/fvSolution | 15 +- .../hotRoom/constant/RASProperties | 104 ++-- .../hotRoom/constant/environmentalProperties | 6 +- .../hotRoom/constant/thermophysicalProperties | 6 +- .../hotRoom/constant/turbulenceProperties | 7 +- .../buoyantFoam/hotRoom/system/controlDict | 5 +- .../buoyantFoam/hotRoom/system/fvSchemes | 8 +- .../buoyantFoam/hotRoom/system/fvSolution | 99 ++-- .../buoyantSimpleFoam/hotRoom/0/alphat | 2 +- .../buoyantSimpleFoam/hotRoom/0/epsilon | 2 +- .../buoyantSimpleFoam/hotRoom/0/epsilon.old | 2 +- .../buoyantSimpleFoam/hotRoom/0/k | 2 +- .../buoyantSimpleFoam/hotRoom/0/k.old | 2 +- .../buoyantSimpleFoam/hotRoom/0/mut | 2 +- .../hotRoom/constant/RASProperties | 104 ++-- .../hotRoom/constant/environmentalProperties | 6 +- .../hotRoom/constant/polyMesh/boundary | 2 +- .../hotRoom/constant/thermophysicalProperties | 6 +- .../hotRoom/system/controlDict | 5 +- .../hotRoom/system/fvSchemes | 8 +- .../hotRoom/system/fvSolution | 81 +-- .../hotRadiationRoom/constant/RASProperties | 104 ++-- .../constant/environmentalProperties | 6 +- .../constant/radiationProperties | 22 +- .../constant/thermophysicalProperties | 6 +- .../hotRadiationRoom/system/controlDict | 5 +- .../hotRadiationRoom/system/fvSchemes | 8 +- .../hotRadiationRoom/system/fvSolution | 81 +-- .../constant/polyMesh/boundary | 2 +- .../constant/regionProperties | 19 +- .../multiRegionHeater/system/controlDict | 8 +- .../mixerVessel2D/constant/MRFZones | 1 + .../mixerVessel2D/constant/RASProperties | 223 ++++----- .../mixerVessel2D/constant/dynamicMeshDict | 19 +- .../constant/transportProperties | 22 +- .../mixerVessel2D/system/cellSetDict | 21 +- .../mixerVessel2D/system/controlDict | 5 +- .../mixerVessel2D/system/faceSetDict | 20 +- .../system/faceSetDict_noBoundaryFaces | 22 +- .../system/faceSetDict_rotorFaces | 24 +- .../mixerVessel2D/system/fvSchemes | 8 +- .../mixerVessel2D/system/fvSolution | 65 +-- .../constant/RASProperties | 17 +- .../constant/transportProperties | 24 +- .../boundaryLaunderSharma/system/controlDict | 5 +- .../boundaryLaunderSharma/system/fvSchemes | 6 +- .../boundaryLaunderSharma/system/fvSolution | 63 ++- .../constant/RASProperties | 334 +++++-------- .../constant/transportProperties | 37 +- .../boundaryWallFunctions/system/controlDict | 21 +- .../boundaryWallFunctions/system/fvSchemes | 16 +- .../boundaryWallFunctions/system/fvSolution | 77 ++- .../channel395/constant/LESProperties | 99 ++-- .../channel395/constant/postChannelDict | 15 +- .../channel395/constant/transportProperties | 24 +- .../channelFoam/channel395/system/controlDict | 38 +- .../channelFoam/channel395/system/fvSchemes | 8 +- .../channelFoam/channel395/system/fvSolution | 75 +-- .../movingCone/constant/dynamicMeshDict | 23 +- .../movingCone/constant/transportProperties | 8 +- .../icoDyMFoam/movingCone/system/controlDict | 7 +- .../icoDyMFoam/movingCone/system/fvSchemes | 13 +- .../icoDyMFoam/movingCone/system/fvSolution | 61 ++- .../movingCone/system/tetFemSolution | 6 +- .../cavity/constant/transportProperties | 6 +- .../icoFoam/cavity/system/controlDict | 5 +- .../icoFoam/cavity/system/fvSchemes | 6 +- .../icoFoam/cavity/system/fvSolution | 26 +- .../constant/transportProperties | 6 +- .../icoFoam/cavityClipped/system/controlDict | 5 +- .../icoFoam/cavityClipped/system/fvSchemes | 8 +- .../icoFoam/cavityClipped/system/fvSolution | 27 +- .../cavityClipped/system/mapFieldsDict | 14 +- .../cavityGrade/constant/transportProperties | 6 +- .../icoFoam/cavityGrade/system/controlDict | 5 +- .../icoFoam/cavityGrade/system/fvSchemes | 8 +- .../icoFoam/cavityGrade/system/fvSolution | 27 +- .../icoFoam/cavityGrade/system/mapFieldsDict | 12 +- .../elbow/constant/transportProperties | 6 +- .../icoFoam/elbow/system/controlDict | 5 +- .../icoFoam/elbow/system/foamDataToFluentDict | 4 +- .../icoFoam/elbow/system/fvSchemes | 8 +- .../icoFoam/elbow/system/fvSolution | 27 +- .../constant/transportProperties | 22 +- .../offsetCylinder/system/controlDict | 5 +- .../offsetCylinder/system/fvSchemes | 8 +- .../offsetCylinder/system/fvSolution | 27 +- .../t-junction/constant/RASProperties | 233 ++++----- .../t-junction/constant/polyMesh/boundary | 2 +- .../t-junction/constant/transportProperties | 22 +- .../pimpleFoam/t-junction/system/controlDict | 36 +- .../pimpleFoam/t-junction/system/fvSchemes | 8 +- .../pimpleFoam/t-junction/system/fvSolution | 92 ++-- .../les/pitzDaily/constant/LESProperties | 99 ++-- .../les/pitzDaily/constant/polyMesh/boundary | 2 +- .../pitzDaily/constant/transportProperties | 22 +- .../pitzDaily/constant/turbulenceProperties | 4 +- .../pisoFoam/les/pitzDaily/system/controlDict | 51 +- .../pisoFoam/les/pitzDaily/system/fvSchemes | 9 +- .../pisoFoam/les/pitzDaily/system/fvSolution | 75 +-- .../constant/LESProperties | 99 ++-- .../constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 22 +- .../constant/turbulenceProperties | 4 +- .../system/changeDictionaryDict | 9 +- .../pitzDailyDirectMapped/system/controlDict | 52 +- .../system/decomposeParDict | 20 +- .../pitzDailyDirectMapped/system/fvSchemes | 13 +- .../pitzDailyDirectMapped/system/fvSolution | 75 +-- .../pisoFoam/ras/cavity/0/epsilon | 2 +- .../incompressible/pisoFoam/ras/cavity/0/k | 2 +- .../incompressible/pisoFoam/ras/cavity/0/nut | 2 +- .../ras/cavity/constant/RASProperties | 233 ++++----- .../ras/cavity/constant/polyMesh/boundary | 2 +- .../ras/cavity/constant/transportProperties | 22 +- .../ras/cavity/constant/turbulenceProperties | 4 +- .../pisoFoam/ras/cavity/system/controlDict | 5 +- .../pisoFoam/ras/cavity/system/fvSchemes | 8 +- .../pisoFoam/ras/cavity/system/fvSolution | 87 ++-- .../incompressible/simpleFoam/airFoil2D/0/U | 2 +- .../simpleFoam/airFoil2D/0/nuTilda | 2 +- .../incompressible/simpleFoam/airFoil2D/0/nut | 2 +- .../incompressible/simpleFoam/airFoil2D/0/p | 2 +- .../airFoil2D/constant/RASProperties | 197 ++++---- .../airFoil2D/constant/polyMesh/boundary | 2 +- .../airFoil2D/constant/polyMesh/cells | 2 +- .../airFoil2D/constant/polyMesh/faces | 2 +- .../airFoil2D/constant/polyMesh/neighbour | 2 +- .../airFoil2D/constant/polyMesh/owner | 2 +- .../airFoil2D/constant/polyMesh/points | 2 +- .../airFoil2D/constant/transportProperties | 27 +- .../airFoil2D/constant/turbulenceProperties | 197 ++++---- .../simpleFoam/airFoil2D/system/controlDict | 7 +- .../simpleFoam/airFoil2D/system/fvSchemes | 13 +- .../simpleFoam/airFoil2D/system/fvSolution | 58 +-- .../pitzDaily/constant/RASProperties | 233 ++++----- .../pitzDaily/constant/transportProperties | 22 +- .../simpleFoam/pitzDaily/system/controlDict | 5 +- .../simpleFoam/pitzDaily/system/fvSchemes | 8 +- .../simpleFoam/pitzDaily/system/fvSolution | 75 +-- .../pitzDailyExptInlet/constant/RASProperties | 233 ++++----- .../constant/transportProperties | 22 +- .../pitzDailyExptInlet/system/controlDict | 5 +- .../system/decomposeParDict | 17 +- .../pitzDailyExptInlet/system/fvSchemes | 8 +- .../pitzDailyExptInlet/system/fvSolution | 75 +-- .../mixer/constant/RASProperties | 223 ++++----- .../mixer/constant/SRFProperties | 10 +- .../mixer/constant/transportProperties | 22 +- .../simpleSRFFoam/mixer/system/controlDict | 5 +- .../simpleSRFFoam/mixer/system/fvSchemes | 10 +- .../simpleSRFFoam/mixer/system/fvSolution | 87 ++-- .../iglooWithFridges/system/controlDict | 7 +- .../iglooWithFridges/system/decomposeParDict | 11 +- .../iglooWithFridges/system/fvSchemes | 10 +- .../iglooWithFridges/system/fvSolution | 15 +- .../iglooWithFridges/system/snappyHexMeshDict | 287 ++--------- .../motorBike/system/controlDict | 7 +- .../motorBike/system/decomposeParDict | 11 +- .../snappyHexMesh/motorBike/system/fvSchemes | 10 +- .../snappyHexMesh/motorBike/system/fvSolution | 14 +- .../motorBike/system/snappyHexMeshDict | 470 +++++++----------- .../constant/polyMesh/boundary | 2 +- .../constrictedChannel/system/controlDict | 4 +- .../constrictedChannel/system/fvSchemes | 6 +- .../constrictedChannel/system/fvSolution | 21 +- .../constrictedChannel/system/mdSolution | 10 +- .../constrictedChannel/system/molConfigDict | 74 ++- .../constrictedChannel/system/potentialDict | 95 ++-- .../nanoNozzle/constant/polyMesh/boundary | 2 +- .../gnemdFoam/nanoNozzle/system/controlDict | 4 +- .../nanoNozzle/system/decomposeParDict | 22 +- .../gnemdFoam/nanoNozzle/system/fvSchemes | 6 +- .../gnemdFoam/nanoNozzle/system/fvSolution | 21 +- .../gnemdFoam/nanoNozzle/system/mdSolution | 10 +- .../gnemdFoam/nanoNozzle/system/molConfigDict | 75 ++- .../gnemdFoam/nanoNozzle/system/potentialDict | 78 ++- .../periodicCube/constant/polyMesh/boundary | 2 +- .../periodicCube/system/controlDict | 4 +- .../periodicCube/system/fvSchemes | 6 +- .../periodicCube/system/fvSolution | 21 +- .../periodicCube/system/mdEquilibrationDict | 8 +- .../periodicCube/system/mdSolution | 10 +- .../periodicCube/system/molConfigDict | 29 +- .../periodicCube/system/potentialDict | 74 +-- .../bubbleColumn/constant/RASProperties | 24 +- .../constant/environmentalProperties | 6 +- .../bubbleColumn/constant/transportProperties | 22 +- .../bubbleColumn/system/controlDict | 5 +- .../bubbleFoam/bubbleColumn/system/fvSchemes | 10 +- .../bubbleFoam/bubbleColumn/system/fvSolution | 87 ++-- .../les/throttle/constant/LESProperties | 99 ++-- .../les/throttle/constant/polyMesh/boundary | 2 +- .../throttle/constant/thermodynamicProperties | 20 +- .../les/throttle/constant/transportProperties | 55 +- .../throttle/constant/turbulenceProperties | 8 +- .../les/throttle/system/cellSetDict.1 | 22 +- .../les/throttle/system/cellSetDict.2 | 22 +- .../les/throttle/system/cellSetDict.3 | 22 +- .../les/throttle/system/controlDict | 69 ++- .../les/throttle/system/fvSchemes | 46 +- .../les/throttle/system/fvSolution | 81 +-- .../les/throttle/system/refineMeshDict | 26 +- .../les/throttle3D/constant/LESProperties | 99 ++-- .../les/throttle3D/constant/polyMesh/boundary | 2 +- .../constant/thermodynamicProperties | 20 +- .../throttle3D/constant/transportProperties | 55 +- .../les/throttle3D/system/cellSetDict.1 | 22 +- .../les/throttle3D/system/cellSetDict.2 | 22 +- .../les/throttle3D/system/cellSetDict.3 | 22 +- .../les/throttle3D/system/controlDict | 69 ++- .../les/throttle3D/system/decomposeParDict | 24 +- .../les/throttle3D/system/fvSchemes | 46 +- .../les/throttle3D/system/fvSolution | 81 +-- .../les/throttle3D/system/mapFieldsDict | 16 +- .../les/throttle3D/system/refineMeshDict | 29 +- .../ras/throttle/constant/RASProperties | 229 ++++----- .../ras/throttle/constant/polyMesh/boundary | 2 +- .../throttle/constant/thermodynamicProperties | 16 +- .../ras/throttle/constant/transportProperties | 51 +- .../throttle/constant/turbulenceProperties | 4 +- .../ras/throttle/system/cellSetDict.1 | 18 +- .../ras/throttle/system/cellSetDict.2 | 18 +- .../ras/throttle/system/cellSetDict.3 | 18 +- .../ras/throttle/system/controlDict | 36 +- .../ras/throttle/system/fvSchemes | 40 +- .../ras/throttle/system/fvSolution | 79 +-- .../ras/throttle/system/refineMeshDict | 22 +- .../compressibleInterFoam/depthCharge2D/0/U | 2 +- .../depthCharge2D/0/alpha1.org | 2 +- .../depthCharge2D/0/pd.org | 2 +- .../depthCharge2D/constant/LESProperties | 89 ++-- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../depthCharge2D/constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 28 +- .../constant/turbulenceProperties | 9 +- .../depthCharge2D/system/controlDict | 9 +- .../depthCharge2D/system/fvSchemes | 24 +- .../depthCharge2D/system/fvSolution | 154 +++--- .../depthCharge2D/system/setFieldsDict | 33 +- .../compressibleInterFoam/depthCharge3D/0/U | 2 +- .../depthCharge3D/0/alpha1.org | 2 +- .../depthCharge3D/0/pd.org | 2 +- .../depthCharge3D/constant/LESProperties | 89 ++-- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../depthCharge3D/constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 28 +- .../constant/turbulenceProperties | 9 +- .../depthCharge3D/system/controlDict | 9 +- .../depthCharge3D/system/decomposeParDict | 17 +- .../depthCharge3D/system/fvSchemes | 24 +- .../depthCharge3D/system/fvSolution | 154 +++--- .../depthCharge3D/system/setFieldsDict | 33 +- .../damBreakWithObstacle/0-orig/U | 2 +- .../damBreakWithObstacle/0-orig/gamma | 2 +- .../damBreakWithObstacle/0-orig/gamma.org | 2 +- .../damBreakWithObstacle/0-orig/pd | 2 +- .../interDyMFoam/damBreakWithObstacle/0/U | 2 +- .../interDyMFoam/damBreakWithObstacle/0/gamma | 2 +- .../damBreakWithObstacle/0/gamma.org | 2 +- .../interDyMFoam/damBreakWithObstacle/0/pd | 2 +- .../constant/RASProperties | 201 ++++---- .../constant/dynamicMeshDict | 56 +-- .../constant/environmentalProperties | 8 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/boundary | 2 +- .../constant/polyMesh/sets/c0 | 2 +- .../constant/polyMesh/sets/c0_old | 2 +- .../constant/transportProperties | 50 +- .../damBreakWithObstacle/system/controlDict | 11 +- .../system/decomposeParDict | 18 +- .../damBreakWithObstacle/system/fvSchemes | 16 +- .../damBreakWithObstacle/system/fvSolution | 156 +++--- .../damBreakWithObstacle/system/setFieldsDict | 23 +- .../interDyMFoam/sloshingTank2D/0/U | 2 +- .../interDyMFoam/sloshingTank2D/0/gamma.org | 2 +- .../interDyMFoam/sloshingTank2D/0/pd | 2 +- .../sloshingTank2D/constant/RASProperties | 195 ++++---- .../sloshingTank2D/constant/dynamicMeshDict | 52 +- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/blockMeshDict.m4 | 2 +- .../sloshingTank2D/constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 14 +- .../sloshingTank2D/system/controlDict | 33 +- .../sloshingTank2D/system/decomposeParDict | 20 +- .../sloshingTank2D/system/fvSchemes | 12 +- .../sloshingTank2D/system/fvSolution | 127 +++-- .../sloshingTank2D/system/setFieldsDict | 20 +- .../interDyMFoam/sloshingTank2D3DoF/0/U | 2 +- .../sloshingTank2D3DoF/0/gamma.org | 2 +- .../interDyMFoam/sloshingTank2D3DoF/0/pd | 2 +- .../sloshingTank2D3DoF/constant/RASProperties | 195 ++++---- .../constant/dynamicMeshDict | 52 +- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/blockMeshDict.m4 | 2 +- .../constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 14 +- .../sloshingTank2D3DoF/system/controlDict | 34 +- .../system/decomposeParDict | 20 +- .../sloshingTank2D3DoF/system/fvSchemes | 12 +- .../sloshingTank2D3DoF/system/fvSolution | 127 +++-- .../sloshingTank2D3DoF/system/setFieldsDict | 20 +- .../interDyMFoam/sloshingTank3D/0/U | 2 +- .../interDyMFoam/sloshingTank3D/0/gamma.org | 2 +- .../interDyMFoam/sloshingTank3D/0/pd | 2 +- .../sloshingTank3D/constant/RASProperties | 195 ++++---- .../sloshingTank3D/constant/dynamicMeshDict | 52 +- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/blockMeshDict.m4 | 2 +- .../sloshingTank3D/constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 14 +- .../sloshingTank3D/system/controlDict | 50 +- .../sloshingTank3D/system/decomposeParDict | 20 +- .../sloshingTank3D/system/fvSchemes | 12 +- .../sloshingTank3D/system/fvSolution | 127 +++-- .../sloshingTank3D/system/setFieldsDict | 20 +- .../interDyMFoam/sloshingTank3D3DoF/0/U | 2 +- .../sloshingTank3D3DoF/0/gamma.org | 2 +- .../interDyMFoam/sloshingTank3D3DoF/0/pd | 2 +- .../sloshingTank3D3DoF/constant/RASProperties | 195 ++++---- .../constant/dynamicMeshDict | 52 +- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/blockMeshDict.m4 | 2 +- .../constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 14 +- .../sloshingTank3D3DoF/system/controlDict | 50 +- .../system/decomposeParDict | 20 +- .../sloshingTank3D3DoF/system/fvSchemes | 12 +- .../sloshingTank3D3DoF/system/fvSolution | 127 +++-- .../sloshingTank3D3DoF/system/setFieldsDict | 20 +- .../interDyMFoam/sloshingTank3D6DoF/0/U | 2 +- .../sloshingTank3D6DoF/0/gamma.org | 2 +- .../interDyMFoam/sloshingTank3D6DoF/0/pd | 2 +- .../sloshingTank3D6DoF/constant/RASProperties | 195 ++++---- .../constant/dynamicMeshDict | 16 +- .../constant/environmentalProperties | 6 +- .../constant/polyMesh/blockMeshDict | 2 +- .../constant/polyMesh/blockMeshDict.m4 | 2 +- .../constant/polyMesh/boundary | 2 +- .../constant/transportProperties | 14 +- .../sloshingTank3D6DoF/system/controlDict | 50 +- .../system/decomposeParDict | 20 +- .../sloshingTank3D6DoF/system/fvSchemes | 12 +- .../sloshingTank3D6DoF/system/fvSolution | 127 +++-- .../sloshingTank3D6DoF/system/setFieldsDict | 20 +- .../multiphase/interFoam/laminar/damBreak/0/U | 2 +- .../laminar/damBreak/constant/dynamicMeshDict | 8 +- .../damBreak/constant/environmentalProperties | 6 +- .../damBreak/constant/polyMesh/boundary | 2 +- .../damBreak/constant/transportProperties | 48 +- .../damBreak/constant/turbulenceProperties | 4 +- .../laminar/damBreak/system/controlDict | 5 +- .../laminar/damBreak/system/decomposeParDict | 20 +- .../laminar/damBreak/system/fvSchemes | 12 +- .../laminar/damBreak/system/fvSolution | 51 +- .../laminar/damBreak/system/setFieldsDict | 21 +- .../les/nozzleFlow2D/constant/LESProperties | 99 ++-- .../constant/environmentalProperties | 6 +- .../nozzleFlow2D/constant/polyMesh/sets/c0 | 2 +- .../constant/polyMesh/sets/c0_old | 2 +- .../constant/polyMesh/sets/refinedCells | 2 +- .../nozzleFlow2D/constant/transportProperties | 48 +- .../constant/turbulenceProperties | 4 +- .../les/nozzleFlow2D/system/cellSetDict | 16 +- .../les/nozzleFlow2D/system/cellSetDict.1 | 18 +- .../les/nozzleFlow2D/system/cellSetDict.2 | 18 +- .../les/nozzleFlow2D/system/controlDict | 5 +- .../les/nozzleFlow2D/system/fvSchemes | 12 +- .../les/nozzleFlow2D/system/fvSolution | 148 +++--- .../les/nozzleFlow2D/system/refineMeshDict | 25 +- .../ras/damBreak/constant/RASProperties | 208 ++++---- .../damBreak/constant/environmentalProperties | 6 +- .../ras/damBreak/constant/transportProperties | 48 +- .../damBreak/constant/turbulenceProperties | 4 +- .../interFoam/ras/damBreak/system/controlDict | 5 +- .../ras/damBreak/system/decomposeParDict | 20 +- .../interFoam/ras/damBreak/system/fvSchemes | 13 +- .../interFoam/ras/damBreak/system/fvSolution | 99 ++-- .../ras/damBreak/system/setFieldsDict | 21 +- .../settlingFoam/dahl/constant/RASProperties | 26 +- .../dahl/constant/environmentalProperties | 6 +- .../dahl/constant/transportProperties | 36 +- .../settlingFoam/dahl/system/controlDict | 5 +- .../settlingFoam/dahl/system/fvSchemes | 8 +- .../settlingFoam/dahl/system/fvSolution | 75 +-- .../tank3D/constant/RASProperties | 28 +- .../tank3D/constant/environmentalProperties | 8 +- .../tank3D/constant/transportProperties | 38 +- .../settlingFoam/tank3D/system/controlDict | 7 +- .../settlingFoam/tank3D/system/fvSchemes | 10 +- .../settlingFoam/tank3D/system/fvSolution | 77 +-- .../bed/constant/RASProperties | 35 +- .../bed/constant/environmentalProperties | 8 +- .../bed/constant/filterProperties | 15 +- .../bed/constant/interfacialProperties | 13 +- .../bed/constant/kineticTheoryProperties | 36 +- .../bed/constant/ppProperties | 16 +- .../bed/constant/transportProperties | 34 +- .../twoPhaseEulerFoam/bed/system/controlDict | 56 +-- .../twoPhaseEulerFoam/bed/system/fvSchemes | 8 +- .../twoPhaseEulerFoam/bed/system/fvSolution | 113 +++-- .../bed2/constant/RASProperties | 33 +- .../bed2/constant/environmentalProperties | 6 +- .../bed2/constant/filterProperties | 13 +- .../bed2/constant/interfacialProperties | 5 +- .../bed2/constant/kineticTheoryProperties | 34 +- .../bed2/constant/polyMesh/boundary | 2 +- .../bed2/constant/ppProperties | 14 +- .../bed2/constant/transportProperties | 32 +- .../twoPhaseEulerFoam/bed2/system/controlDict | 53 +- .../twoPhaseEulerFoam/bed2/system/fvSchemes | 16 +- .../twoPhaseEulerFoam/bed2/system/fvSolution | 111 +++-- .../bed2/system/setFieldsDict | 20 +- .../bubbleColumn/constant/RASProperties | 24 +- .../constant/environmentalProperties | 6 +- .../constant/interfacialProperties | 11 +- .../constant/kineticTheoryProperties | 34 +- .../bubbleColumn/constant/ppProperties | 14 +- .../bubbleColumn/constant/transportProperties | 24 +- .../bubbleColumn/system/controlDict | 57 +-- .../bubbleColumn/system/fvSchemes | 10 +- .../bubbleColumn/system/fvSolution | 111 +++-- .../plateHole/constant/mechanicalProperties | 10 +- .../plateHole/constant/thermalProperties | 10 +- .../plateHole/system/controlDict | 5 +- .../plateHole/system/fvSchemes | 6 +- .../plateHole/system/fvSolution | 42 +- .../plateHole/system/sampleDict | 26 +- .../plateHole/system/sampleSurfaceDict | 23 +- .../beamEndLoad/constant/mechanicalProperties | 16 +- .../beamEndLoad/constant/thermalProperties | 10 +- .../beamEndLoad/system/controlDict | 4 +- .../beamEndLoad/system/controlDict.org | 8 +- .../beamEndLoad/system/fvSchemes | 12 +- .../beamEndLoad/system/fvSolution | 46 +- 632 files changed, 9983 insertions(+), 10622 deletions(-) diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict b/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict index 98503931acb..515ad8fc854 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/boxTurbDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object boxTurbDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,4 +19,5 @@ Ea 10; k0 5; + // ************************************************************************* // diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties index 919c9962453..39f1d33649e 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 0.025; +nu nu [ 0 2 -1 0 0 0 0 ] 0.025; + // ************************************************************************* // diff --git a/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties b/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties index 92118a1ff60..9869493485c 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties +++ b/tutorials/DNS/dnsFoam/boxTurb16/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -UOsigma 0.090295049; +UOsigma 0.090295; -UOalpha 0.81532036; +UOalpha 0.81532; UOKupper 10; UOKlower 7; + // ************************************************************************* // diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict b/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict index f059d93cded..bbbc76ae09a 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ runTimeModifiable yes; graphFormat raw; + // ************************************************************************* // diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes index 9d912c030fc..845956eea89 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -53,7 +54,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution index d2a0410ecf0..d58906f99c7 100644 --- a/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution +++ b/tutorials/DNS/dnsFoam/boxTurb16/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -36,4 +40,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties index 677850a2708..26216fcde06 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,145 +10,91 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Turbulence model selection -RASModel kEpsilon; +RASModel kEpsilon; -// Do you wish to calculate turbulence? -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; -// Laminar model coefficients laminarCoeffs { } -// Standard k-epsilon model coefficients kEpsilonCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } -// RNG k-epsilon model coefficients RNGkEpsilonCoeffs { - // Cmu - Cmu 0.0845; - // C1 - C1 1.42; - // C2 - C2 1.68; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1.39; - // alphaEps - alphaEps 1.39; - // eta0 - eta0 4.38; - // beta - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } -// Launder-Sharma low Reynolds number k-epsilon model coefficients LaunderSharmaKECoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } -// Launder-Reece-Rodi RSTM with wall functions model coefficients LRRCoeffs { - // Cmu - Cmu 0.09; - // Clrr1 - Clrr1 1.8; - // Clrr2 - Clrr2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphah - alphah 1; - // alphaEps - alphaEps 0.76923; - // alphaR - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } -// Launder-Gibson RSTM with wall reflection and wall functions model coefficients LaunderGibsonRSTMCoeffs { - // Cmu - Cmu 0.09; - // Clg1 - Clg1 1.8; - // Clg2 - Clg2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C1Ref - C1Ref 0.5; - // C2Ref - C2Ref 0.3; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphah - alphah 1; - // alphaEps - alphaEps 0.76923; - // alphaR - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } -// Wall function coefficients wallFunctionCoeffs { - // kappa - kappa 0.4187; - // E - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties index d883b02f398..4a7f8b7b2b5 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,108 +10,108 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object kinematicCloud1Properties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Particle sub-models -InjectionModel ManualInjection; -DragModel SphereDrag; -DispersionModel StochasticDispersionRAS; -WallInteractionModel StandardWallInteraction; +InjectionModel ManualInjection; -// Minimum particle mass -minParticleMass minParticleMass [ 1 0 0 0 0] 1.0e-15; +DragModel SphereDrag; -// Parcel thermo properties -rho0 rho0 [ 1 -3 0 0 0] 5000; +DispersionModel StochasticDispersionRAS; -// Coupling between particles and carrier phase via source terms -coupled true; +WallInteractionModel StandardWallInteraction; -// Integer used to identify different parcel types -parcelTypeId 2; +minParticleMass minParticleMass [ 1 0 0 0 0 ] 1e-15; + +rho0 rho0 [ 1 -3 0 0 0 ] 5000; + +coupled true; + +parcelTypeId 2; interpolationSchemes { - rho cell; - U cellPointFace; - mu cell; + rho cell; + U cellPointFace; + mu cell; } integrationSchemes { - U Euler; + U Euler; } ManualInjectionCoeffs { - // Parcel basis type - parcelBasisType mass; - - // Total mass to inject - massTotal massTotal [ 1 0 0 0 0] 2.0e-4; - - SOI 0.0; - positionsFile kinematicCloud1Positions; - U0 (0 0 0); + parcelBasisType mass; + massTotal massTotal [ 1 0 0 0 0 ] 0.0002; + SOI 0; + positionsFile kinematicCloud1Positions; + U0 ( 0 0 0 ); parcelPDF { - pdfType RosinRammler; + pdfType RosinRammler; RosinRammlerPDF { - minValue 50.0e-06; - maxValue 100.0e-06; - d (75.0e-06); - n (0.5); + minValue 5e-05; + maxValue 0.0001; + d ( 7.5e-05 ); + n ( 0.5 ); } } } ConeInjectionCoeffs { - SOI 0.001; - duration 0.005; - position (0.25 0.25 0.05); - direction (0 -1 0); - parcelsPerSecond 10000; - volumeFlowRate Constant; + SOI 0.001; + duration 0.005; + position ( 0.25 0.25 0.05 ); + direction ( 0 -1 0 ); + parcelsPerSecond 10000; + volumeFlowRate Constant; volumeFlowRateCoeffs { - value 0.01; + value 0.01; } - Umag Constant; + + Umag Constant; UmagCoeffs { - value 50.0; + value 50; } - thetaInner Constant; + + thetaInner Constant; thetaInnerCoeffs { - value 0.0; + value 0; } - thetaOuter Constant; + + thetaOuter Constant; thetaOuterCoeffs { - value 30.0; + value 30; } + parcelPDF { - pdfType RosinRammler; + pdfType RosinRammler; RosinRammlerPDF { - minValue 50.0e-06; - maxValue 100.0e-06; - d (75.0e-06); - n (0.5); + minValue 5e-05; + maxValue 0.0001; + d ( 7.5e-05 ); + n ( 0.5 ); } } } StandardWallInteractionCoeffs { - e e [ 0 0 0 0 0] 1; - mu mu [ 0 0 0 0 0] 0; + e e [ 0 0 0 0 0 ] 1; + mu mu [ 0 0 0 0 0 ] 0; } + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties index 795aeda2cde..fd752a082c9 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,84 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermoCloud1Properties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Particle sub-models -InjectionModel ManualInjection; -DragModel SphereDrag; -DispersionModel StochasticDispersionRAS; -WallInteractionModel StandardWallInteraction; -HeatTransferModel RanzMarshall; +InjectionModel ManualInjection; -radiation off; +DragModel SphereDrag; -// Minimum particle mass -minParticleMass minParticleMass [ 1 0 0 0 0] 1.0e-15; +DispersionModel StochasticDispersionRAS; -// Parcel thermo properties -rho0 rho0 [ 1 -3 0 0 0] 2500; -T0 T0 [ 0 0 0 1 0] 300; -cp0 cp0 [ 0 2 -2 -1 0] 900; -epsilon0 epsilon0 [ 0 0 0 0 0] 1; -f0 f0 [ 0 0 0 0 0] 0.5; +WallInteractionModel StandardWallInteraction; -// Coupling between particles and carrier phase via source terms -coupled true; +HeatTransferModel RanzMarshall; -// Integer used to identify different parcel types -parcelTypeId 1; +radiation off; + +minParticleMass minParticleMass [ 1 0 0 0 0 ] 1e-15; + +rho0 rho0 [ 1 -3 0 0 0 ] 2500; + +T0 T0 [ 0 0 0 1 0 ] 300; + +cp0 cp0 [ 0 2 -2 -1 0 ] 900; + +epsilon0 epsilon0 [ 0 0 0 0 0 ] 1; + +f0 f0 [ 0 0 0 0 0 ] 0.5; + +coupled true; + +parcelTypeId 1; interpolationSchemes { - rho cell; - U cellPointFace; - mu cell; - T cell; - Cp cell; + rho cell; + U cellPointFace; + mu cell; + T cell; + Cp cell; } integrationSchemes { - U Euler; - T Analytical; + U Euler; + T Analytical; } ManualInjectionCoeffs { - // Total mass to inject - massTotal massTotal [ 1 0 0 0 0] 1e-4; - - // Parcel basis type - parcelBasisType mass; - - SOI 0.0; - positionsFile thermoCloud1Positions; - U0 (0 0 0); + massTotal massTotal [ 1 0 0 0 0 ] 0.0001; + parcelBasisType mass; + SOI 0; + positionsFile thermoCloud1Positions; + U0 ( 0 0 0 ); parcelPDF { - pdfType RosinRammler; + pdfType RosinRammler; RosinRammlerPDF { - minValue 5.0e-06; - maxValue 500.0e-06; - d (50.0e-06); - n (0.5); + minValue 5e-06; + maxValue 0.0005; + d ( 5e-05 ); + n ( 0.5 ); } } } StandardWallInteractionCoeffs { - e e [ 0 0 0 0 0] 1; - mu mu [ 0 0 0 0 0] 0; + e e [ 0 0 0 0 0 ] 1; + mu mu [ 0 0 0 0 0 ] 0; } RanzMarshallCoeffs { - Pr Pr [ 0 0 0 0 0] 0.7; + Pr Pr [ 0 0 0 0 0 ] 0.7; } + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties index 0b16fbae765..d02b85fec43 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Thermophysical model thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; mixture air 1 28.9 1007 0 1.84e-05 0.7; + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict index 02438600d45..498ad80a543 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,61 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Foam Application Class - -// Start point of run startFrom latestTime; -// Calculation start time startTime 0; -// End point of run stopAt endTime; -// Calculation end time endTime 0.5; -// Calculation time step -deltaT 1.0e-4; +deltaT 0.0001; -// Type of write output control writeControl adjustableRunTime; -// Interval with which the results are output writeInterval 0.01; -// Limits number of time directories before overwriting purgeWrite 0; -// Write Format writeFormat ascii; -// Significant figures of written ASCII data writePrecision 10; -// Write Compression writeCompression uncompressed; -// Time directories name format timeFormat general; -// Decimal precision of time directory names timePrecision 6; -// Can parameters be modified during run time? runTimeModifiable yes; -// Automatic adjustment of time step? adjustTimeStep yes; -// maxCo maxCo 0.2; -// maxDeltaT maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict index d99b832df1f..5b181b0e75a 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method metis; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes index 9f6d1424511..9f72da684a1 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,24 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Time derivative discretisation schemes ddtSchemes { - // Default scheme default Euler; } -// Gradient discretisation schemes gradSchemes { - // Default gradient scheme default Gauss linear; grad(p) Gauss linear; } -// Convection discretisation schemes divSchemes { - // Default scheme default none; div(phi,U) Gauss upwind; div(phid,p) Gauss upwind; @@ -42,14 +37,12 @@ divSchemes div(phi,epsilon) Gauss upwind; div(U) Gauss linear; div((muEff*dev2(grad(U).T()))) Gauss linear; - div(phi,Yi_h) Gauss upwind; + div(phi,Yi_h) Gauss upwind; } -// Laplacian discretisation schemes laplacianSchemes { - // Default scheme - default Gauss linear corrected; + default Gauss linear corrected; laplacian(muEff,U) Gauss linear corrected; laplacian(mut,U) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; @@ -59,26 +52,21 @@ laplacianSchemes laplacian(alphaEff,h) Gauss linear corrected; } -// Interpolation schemes interpolationSchemes { - // Default scheme default linear; } -// Surface normal gradient schemes snGradSchemes { - // Default scheme default corrected; } -// Calculation of flux fluxRequired { - // Create storage for flux for all solved variables? default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution index 699b805794a..219c7b1dbfc 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution +++ b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,128 +10,149 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - // Solver for the rho equation - rho PCG - { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - // Solver for the U equation - U PBiCG - { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the p equation - p PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - G PCG - { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - Yi PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - CO2 PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - O2 PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - N2 PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - CH4 PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - H2 PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - H2O PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - CO PBiCG - { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - - // Solver for the h equation - h PBiCG - { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the R equation - R PBiCG - { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the k equation - k PBiCG - { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the epsilon equation - epsilon PBiCG - { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + rho + { + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + G + { + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + Yi + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + CO2 + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + O2 + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + N2 + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + CH4 + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + H2 + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + H2O + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + CO + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + h + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO { - // Transonic? - transonic yes; - // Number of PISO correctors + transonic yes; nCorrectors 2; - // Number of non-orthogonal correctors nNonOrthogonalCorrectors 0; - // momentumPredictor? momentumPredictor yes; } + // ************************************************************************* // diff --git a/tutorials/basic/laplacianFoam/flange/constant/transportProperties b/tutorials/basic/laplacianFoam/flange/constant/transportProperties index e202aa0bc79..38a48552bb7 100644 --- a/tutorials/basic/laplacianFoam/flange/constant/transportProperties +++ b/tutorials/basic/laplacianFoam/flange/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -DT DT [0 2 -1 0 0 0 0] 4e-05; +DT DT [ 0 2 -1 0 0 0 0 ] 4e-05; + // ************************************************************************* // diff --git a/tutorials/basic/laplacianFoam/flange/system/controlDict b/tutorials/basic/laplacianFoam/flange/system/controlDict index 07a21543108..f936785ffab 100644 --- a/tutorials/basic/laplacianFoam/flange/system/controlDict +++ b/tutorials/basic/laplacianFoam/flange/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSchemes b/tutorials/basic/laplacianFoam/flange/system/fvSchemes index ecfee2c2c71..0791ea9054f 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSchemes +++ b/tutorials/basic/laplacianFoam/flange/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -33,7 +34,7 @@ divSchemes laplacianSchemes { default none; - laplacian(DT,T) Gauss linear corrected; + laplacian(DT,T) Gauss linear corrected; } interpolationSchemes @@ -49,7 +50,8 @@ snGradSchemes fluxRequired { default no; - T; + T ; } + // ************************************************************************* // diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSolution b/tutorials/basic/laplacianFoam/flange/system/fvSolution index 13898e12f67..705e6c81f56 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSolution +++ b/tutorials/basic/laplacianFoam/flange/system/fvSolution @@ -25,6 +25,7 @@ solvers relTol 0; } } + SIMPLE { nNonOrthogonalCorrectors 2; diff --git a/tutorials/basic/potentialFoam/cylinder/system/controlDict b/tutorials/basic/potentialFoam/cylinder/system/controlDict index 2300e2c09ea..c160f2f414d 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/controlDict +++ b/tutorials/basic/potentialFoam/cylinder/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/cylinder/system/fvSchemes b/tutorials/basic/potentialFoam/cylinder/system/fvSchemes index ab3c77e43de..77418cb53a6 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/fvSchemes +++ b/tutorials/basic/potentialFoam/cylinder/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -48,7 +49,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/cylinder/system/fvSolution b/tutorials/basic/potentialFoam/cylinder/system/fvSolution index 6626b9c5252..231dfc27bb7 100644 --- a/tutorials/basic/potentialFoam/cylinder/system/fvSolution +++ b/tutorials/basic/potentialFoam/cylinder/system/fvSolution @@ -25,6 +25,7 @@ solvers relTol 0; } } + SIMPLE { nNonOrthogonalCorrectors 3; diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/controlDict b/tutorials/basic/potentialFoam/pitzDaily/system/controlDict index 2300e2c09ea..c160f2f414d 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/controlDict +++ b/tutorials/basic/potentialFoam/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes b/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes index ab3c77e43de..77418cb53a6 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes +++ b/tutorials/basic/potentialFoam/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -48,7 +49,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution index 0e3753d7776..bff0832c0a2 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/potentialFoam/pitzDaily/system/fvSolution @@ -25,6 +25,7 @@ solvers relTol 0; } } + SIMPLE { nNonOrthogonalCorrectors 0; diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties index 06217963656..080db3de438 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -DT DT [0 2 -1 0 0 0 0] 0.01; +DT DT [ 0 2 -1 0 0 0 0 ] 0.01; + // ************************************************************************* // diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict index 754277eb255..83058ea6202 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes index 6c290f72df0..3ffd8859ee1 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -49,7 +50,8 @@ snGradSchemes fluxRequired { default no; - T; + T ; } + // ************************************************************************* // diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution index 272840702dc..44b0ece7910 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/system/fvSolution @@ -25,6 +25,7 @@ solvers relTol 0; } } + SIMPLE { nNonOrthogonalCorrectors 0; diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties index 1976bb4dac8..56c915c9248 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel oneEqEddy; +LESModel oneEqEddy; -delta cubeRootVol; +delta cubeRootVol; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,34 +27,34 @@ laminarCoeffs oneEqEddyCoeffs { - ce 1.048; - ck 0.094; + ce 1.048; + ck 0.094; } dynOneEqEddyCoeffs { - ce 1.05; - filter simple; + ce 1.05; + filter simple; } lowReOneEqEddyCoeffs { - ck 0.07; - ce 1.05; - beta 0.01; + ck 0.07; + ce 1.05; + beta 0.01; } SmagorinskyCoeffs { - ck 0.02; - ce 0.202; + ck 0.02; + ce 0.202; } DeardorffDiffStressCoeffs { - ce 1.048; - ck 0.094; - cm 4.13; + ce 1.048; + ck 0.094; + cm 4.13; } cubeRootVolCoeffs @@ -68,6 +69,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -75,9 +77,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -87,6 +91,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -94,10 +99,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -107,14 +114,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties index 88b91cb81a8..c82a1b4cc90 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/combustionProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object combustionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,21 +19,21 @@ laminarFlameSpeedCorrelation constant; fuel Propane; -Su Su [0 1 -1 0 0 0 0] 0.135; +Su Su [ 0 1 -1 0 0 0 0 ] 0.135; SuModel transport; -equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 0.6; +equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 0.6; -sigmaExt sigmaExt [0 0 -1 0 0 0 0] 338; +sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 338; XiModel transport; -XiCoef XiCoef [0 0 0 0 0 0 0] 0.62; +XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62; -XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1; +XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1; -uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1; +uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1; GuldersCoeffs { @@ -45,6 +46,7 @@ GuldersCoeffs beta -0.5; f 2.3; } + Propane { W 0.446; @@ -54,6 +56,7 @@ GuldersCoeffs beta -0.2; f 2.3; } + IsoOctane { W 0.4658; @@ -67,16 +70,15 @@ GuldersCoeffs ignite no; -ignitionSites -( -); +ignitionSites ( ); ignitionSphereFraction 0; -ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0; +ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0; ignitionCircleFraction 0; -ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0; +ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties index 0ca3b84735f..8e705f32e59 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675; +stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675; fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672; @@ -28,14 +29,5 @@ products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9 burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; -/* -thermoType hhuMixtureThermo<homogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; - -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 9.286; - -reactants reactants 1 28 1330.9 2.133e+06 1.798e-05 0.7; - -products products 1 28 1579.9 0 5.016e-05 0.7; -*/ // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict index eb71c634bbe..3aefd793e1a 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict +++ b/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,33 +47,28 @@ functions ( fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled true; - outputControl outputTime; - - // Fields to be averaged - runTime modifiable fields ( U { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } + p { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes index 319151c4c3c..78f524d421c 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes +++ b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -37,14 +38,7 @@ divSchemes div(phiXi,Xi) Gauss limitedLinear 1; div(phiXi,Su) Gauss limitedLinear 1; div(phiSt,b) Gauss limitedLinear01 1; - div(phi,ft_b_h_hu) Gauss multivariateSelection - { - fu limitedLinear01 1; - ft limitedLinear01 1; - b limitedLinear01 1; - h limitedLinear 1; - hu limitedLinear 1; - }; + div(phi,ft_b_h_hu) Gauss multivariateSelection { fu limitedLinear01 1 ; ft limitedLinear01 1 ; b limitedLinear01 1 ; h limitedLinear 1 ; hu limitedLinear 1 ; }; div(U) Gauss linear; div((Su*grad(b))) Gauss linear; div((U+((Su*Xi)*grad(b)))) Gauss linear; @@ -77,7 +71,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution index 43ce07f2a08..cd3fb63f14e 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution +++ b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,90 +10,116 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - ft PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + ft { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - fu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + fu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - b PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + b { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Xi PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Xi { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Su PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Su { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - hu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + hu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -102,4 +128,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties index fb222761657..95bb1c14f8c 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/LESProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel oneEqEddy; +LESModel oneEqEddy; -delta cubeRootVol; +delta cubeRootVol; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,34 +27,34 @@ laminarCoeffs oneEqEddyCoeffs { - ce 1.048; - ck 0.094; + ce 1.048; + ck 0.094; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } lowReOneEqEddyCoeffs { - ck 0.07; - ce 1.05; - beta 0.01; + ck 0.07; + ce 1.05; + beta 0.01; } SmagorinskyCoeffs { - ck 0.02; - ce 0.202; + ck 0.02; + ce 0.202; } DeardorffDiffStressCoeffs { - ce 1.048; - ck 0.094; - cm 4.13; + ce 1.048; + ck 0.094; + cm 4.13; } cubeRootVolCoeffs @@ -68,6 +69,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -75,9 +77,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -87,6 +91,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -94,10 +99,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -107,14 +114,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties index 000883e1daf..1568261fe21 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/combustionProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object combustionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,21 +19,21 @@ laminarFlameSpeedCorrelation Gulders; fuel Propane; -Su Su [0 1 -1 0 0 0 0] 0.135; +Su Su [ 0 1 -1 0 0 0 0 ] 0.135; SuModel transport; -equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 0.6; +equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 0.6; -sigmaExt sigmaExt [0 0 -1 0 0 0 0] 338; +sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 338; XiModel transport; -XiCoef XiCoef [0 0 0 0 0 0 0] 0.62; +XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62; -XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1; +XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1; -uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1; +uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1; GuldersCoeffs { @@ -45,6 +46,7 @@ GuldersCoeffs beta -0.5; f 2.3; } + Propane { W 0.446; @@ -54,6 +56,7 @@ GuldersCoeffs beta -0.2; f 2.3; } + IsoOctane { W 0.4658; @@ -67,24 +70,15 @@ GuldersCoeffs ignite yes; -ignitionSites -( - - { - location (0 0 0); - diameter 0.003; - start 0; - duration 0.001; - strength 2; - } -); +ignitionSites ( { location ( 0 0 0 ) ; diameter 0.003 ; start 0 ; duration 0.001 ; strength 2 ; } ); ignitionSphereFraction 1; -ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0; +ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0; ignitionCircleFraction 0; -ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0; +ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties index ca80af21ee6..ce7f648b7fa 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/environmentalProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 0 ); + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties index 0ca3b84735f..7c8fd76fe38 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/thermophysicalProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675; +stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675; fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672; @@ -28,14 +29,5 @@ products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9 burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; -/* -thermoType hhuMixtureThermo<homogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; - -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 9.286; - -reactants reactants 1 28 1330.9 2.133e+06 1.798e-05 0.7; - -products products 1 28 1579.9 0 5.016e-05 0.7; -*/ // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict index 26a0e1c65af..d79aed22c6d 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,33 +47,28 @@ functions ( fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled true; - outputControl outputTime; - - // Fields to be averaged - runTime modifiable fields ( U { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } + p { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes index 319151c4c3c..2398134a00a 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -37,14 +38,7 @@ divSchemes div(phiXi,Xi) Gauss limitedLinear 1; div(phiXi,Su) Gauss limitedLinear 1; div(phiSt,b) Gauss limitedLinear01 1; - div(phi,ft_b_h_hu) Gauss multivariateSelection - { - fu limitedLinear01 1; - ft limitedLinear01 1; - b limitedLinear01 1; - h limitedLinear 1; - hu limitedLinear 1; - }; + div(phi,ft_b_h_hu) Gauss multivariateSelection { fu limitedLinear01 1 ; ft limitedLinear01 1 ; b limitedLinear01 1 ; h limitedLinear 1 ; hu limitedLinear 1 ; }; div(U) Gauss linear; div((Su*grad(b))) Gauss linear; div((U+((Su*Xi)*grad(b)))) Gauss linear; @@ -77,7 +71,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution index 43ce07f2a08..d4656531edc 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,90 +10,116 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - ft PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + ft { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - fu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + fu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - b PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + b { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Xi PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Xi { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Su PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Su { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - hu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + hu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -102,4 +128,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties index 6fbe9dea839..564a9fbe236 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel LaunderSharmaKE; +RASModel LaunderSharmaKE; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0; - alphah 1.111; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0; + alphah 1.111; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 0; - alphah 1.111; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 0; + alphah 1.111; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0; - alphah 1.111; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0; + alphah 1.111; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties index 19878d0cfe6..0aac5c44dba 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object combustionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,21 +19,21 @@ laminarFlameSpeedCorrelation Gulders; fuel Propane; -Su Su [0 1 -1 0 0 0 0] 0.434; +Su Su [ 0 1 -1 0 0 0 0 ] 0.434; SuModel unstrained; -equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 1; +equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 1; -sigmaExt sigmaExt [0 0 -1 0 0 0 0] 100000; +sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 100000; XiModel transport; -XiCoef XiCoef [0 0 0 0 0 0 0] 0.62; +XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62; -XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1; +XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1; -uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1; +uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1; GuldersCoeffs { @@ -45,6 +46,7 @@ GuldersCoeffs beta -0.5; f 2.3; } + Propane { W 0.446; @@ -54,6 +56,7 @@ GuldersCoeffs beta -0.2; f 2.3; } + IsoOctane { W 0.4658; @@ -67,24 +70,15 @@ GuldersCoeffs ignite yes; -ignitionSites -( - - { - location (0 0 0.0005); - diameter 0.003; - start 0; - duration 0.001; - strength 1; - } -); +ignitionSites ( { location ( 0 0 0.0005 ) ; diameter 0.003 ; start 0 ; duration 0.001 ; strength 1 ; } ); ignitionSphereFraction 1; -ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0.001; +ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0.001; ignitionCircleFraction 0.5; -ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0.001; +ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0.001; + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties index ca80af21ee6..645c9af0992 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 0 ); + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties index 41ef30b1efe..8e705f32e59 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675; +stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.675; fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672; @@ -28,4 +29,5 @@ products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9 burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672; + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict index 8cf37a24956..576ae511764 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -49,4 +49,5 @@ maxCo 0.2; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes index 8a345e5483e..94a4bd22bf0 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -38,14 +39,7 @@ divSchemes div(phiXi,Xi) Gauss limitedLinear 1; div(phiXi,Su) Gauss limitedLinear 1; div(phiSt,b) Gauss limitedLinear01 1; - div(phi,ft_b_h_hu) Gauss multivariateSelection - { - fu limitedLinear01 1; - ft limitedLinear01 1; - b limitedLinear01 1; - h limitedLinear 1; - hu limitedLinear 1; - }; + div(phi,ft_b_h_hu) Gauss multivariateSelection { fu limitedLinear01 1 ; ft limitedLinear01 1 ; b limitedLinear01 1 ; h limitedLinear 1 ; hu limitedLinear 1 ; }; div(U) Gauss linear; div((Su*grad(b))) Gauss linear; div((U+((Su*Xi)*grad(b)))) Gauss linear; @@ -79,7 +73,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution index 35819bb013d..061b461dd07 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,90 +10,116 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - ft PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + ft { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - fu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + fu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - b PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + b { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Xi PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Xi { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Su PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Su { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - hu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + hu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -103,4 +129,5 @@ PISO momentumPredictor yes; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/0/alphat b/tutorials/combustion/dieselFoam/aachenBomb/0/alphat index 1681c54f00a..2684dd73c82 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/0/alphat +++ b/tutorials/combustion/dieselFoam/aachenBomb/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/dieselFoam/aachenBomb/0/epsilon b/tutorials/combustion/dieselFoam/aachenBomb/0/epsilon index c14d3d7e021..e9dd46eb33a 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/0/epsilon +++ b/tutorials/combustion/dieselFoam/aachenBomb/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/dieselFoam/aachenBomb/0/k b/tutorials/combustion/dieselFoam/aachenBomb/0/k index e6e58aecfaf..251a39ce810 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/0/k +++ b/tutorials/combustion/dieselFoam/aachenBomb/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/dieselFoam/aachenBomb/0/mut b/tutorials/combustion/dieselFoam/aachenBomb/0/mut index 2750ce32ecd..e687f9b8fa2 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/0/mut +++ b/tutorials/combustion/dieselFoam/aachenBomb/0/mut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties index c652dd95b20..991a2915d96 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/RASProperties @@ -2,23 +2,24 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,74 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; muLimiter on; - Lsgs 0.0002; - + Lsgs 0.0002; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - Cs 0.25; - Ceps 0.15; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + Cs 0.25; + Ceps 0.15; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties index a607222ee1c..be340ec0926 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/chemistryProperties @@ -2,42 +2,42 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object chemistryProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -chemistry off; +chemistry off; -chemistrySolver ODE; -//chemistrySolver EulerImplicit; -//chemistrySolver sequential; +chemistrySolver ODE; -initialChemicalTimeStep 1.0e-7; +initialChemicalTimeStep 1e-07; sequentialCoeffs { - cTauChem 1.0e-3; + cTauChem 0.001; } EulerImplicitCoeffs { - cTauChem 5.0e-2; - equilibriumRateLimiter off; + cTauChem 0.05; + equilibriumRateLimiter off; } ODECoeffs { ODESolver SIBS; - eps 5.0e-2; - scale 1.0; + eps 0.05; + scale 1; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties index a038d1e7f53..b43b4967c8b 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/combustionProperties @@ -2,26 +2,28 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object combustionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cmix Cmix [ 0 0 0 0 0 0 0 ] 1.0 ; +Cmix Cmix [ 0 0 0 0 0 0 0 ] 1; ignitionProperties1 { - ignite off; - ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 ) ; - timing timing [ 0 0 1 0 0 0 0 ] 0.0e-1 ; - duration duration [ 0 0 1 0 0 0 0 ] 1.0e-0 ; + ignite off; + ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 ); + timing timing [ 0 0 1 0 0 0 0 ] 0; + duration duration [ 0 0 1 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties index 03e0adce892..b5ad4b1cfd6 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/environmentalProperties @@ -2,18 +2,20 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties index 81b8b07bc6d..1ae195e668d 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/injectorProperties @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object injectorProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -32,7 +33,7 @@ FoamFile 1.0 ); - massFlowRateProfile + massFlowRateProfile ( (0 0.1272) (4.16667e-05 6.1634) @@ -91,7 +92,7 @@ FoamFile 1.0 ); - massFlowRateProfile + massFlowRateProfile ( (0 0.1272) (4.16667e-05 6.1634) @@ -132,7 +133,7 @@ FoamFile (0.00125 1.0) ); } - } + } ) // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary index 5e28555623f..2e94e303b70 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties index 8a53ee8d1eb..ec151bbf0ac 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/sprayProperties @@ -2,14 +2,15 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object sprayProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -24,20 +25,13 @@ interpolationSchemes subCycles 2; -atomizationModel off; -//atomizationModel LISA; +atomizationModel off; + +includeOscillation yes; -includeOscillation yes; -//breakupModel TAB; -//breakupModel ETAB; -//breakupModel ReitzDiwakar; breakupModel ReitzKHRT; -//injectorModel constInjector; -//injectorModel ChomiakInjector; -//injectorModel definedInjector; -//injectorModel pressureSwirlInjector; -injectorModel hollowConeInjector; +injectorModel hollowConeInjector; collisionModel off; @@ -53,33 +47,27 @@ wallModel reflect; specConstAtomizationCoeffs { - dropletNozzleDiameterRatio - ( - 0.4 - ); - sprayAngle - ( - 10 - ); + dropletNozzleDiameterRatio ( 0.4 ); + sprayAngle ( 10 ); } TABCoeffs { - y0 0.0; - yDot0 0.0; - Cmu 10.0; - Comega 8.0; + y0 0; + yDot0 0; + Cmu 10; + Comega 8; WeCrit 12; } ETABCoeffs { - Cmu 10.0; - Comega 8.0; - WeCrit 12; - k1 0.2; - k2 0.2; - WeTransition 100.0; + Cmu 10; + Comega 8; + WeCrit 12; + k1 0.2; + k2 0.2; + WeTransition 100; } ReitzDiwakarCoeffs @@ -134,45 +122,25 @@ hollowConeInjectorCoeffs { dropletPDF { - //pdfType exponential; pdfType RosinRammler; - RosinRammlerPDF { - minValue 1.00e-6; - maxValue 1.50e-4; - - d - ( - 1.5e-4 - ); - - n - ( - 3 - ); + minValue 1e-06; + maxValue 0.00015; + d ( 0.00015 ); + n ( 3 ); } + exponentialPDF { - minValue 1.0e-4; - maxValue 1.0e-3; - - lambda - ( - 1.0e+4 - ); + minValue 0.0001; + maxValue 0.001; + lambda ( 10000 ); } } - innerConeAngle - ( - 0.0 - ); - - outerConeAngle - ( - 20.0 - ); + innerConeAngle ( 0 ); + outerConeAngle ( 20 ); } reflectCoeffs @@ -180,4 +148,5 @@ reflectCoeffs elasticity 0.9; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties index e23158128b1..24238233850 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/thermophysicalProperties @@ -2,34 +2,33 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object thermodynamicProperties; + location "constant"; + object thermophysicalProperties; } -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -thermoType hMixtureThermo<reactingMixture>; +thermoType hMixtureThermo<reactingMixture>; -CHEMKINFile "$FOAM_CASE/chemkin/chem.inp"; -// We use the central thermo data: -CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat"; +CHEMKINFile "$FOAM_CASE/chemkin/chem.inp"; + +CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat"; inertSpecie N2; -liquidComponents -( - C7H16 -); +liquidComponents ( C7H16 ); liquidProperties { - C7H16 C7H16 defaultCoeffs; + C7H16 C7H16 defaultCoeffs; } -/*********************************************************************/ + +// ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties b/tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties index 3d7edb19ec6..88ce3d1bc49 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/turbulenceProperties @@ -2,18 +2,20 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -simulationType RASModel; +simulationType RASModel; + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/system/controlDict b/tutorials/combustion/dieselFoam/aachenBomb/system/controlDict index 951d757ff8a..081c1d7369f 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/system/controlDict +++ b/tutorials/combustion/dieselFoam/aachenBomb/system/controlDict @@ -2,49 +2,50 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +startFrom startTime; -startFrom startTime; +startTime 0; -startTime 0; +stopAt endTime; -stopAt endTime; +endTime 0.01; -endTime 0.01; +deltaT 2.5e-06; -deltaT 2.5e-06; +writeControl adjustableRunTime; -writeControl adjustableRunTime; +writeInterval 5e-05; -writeInterval 5.0e-5; +purgeWrite 0; -purgeWrite 0; +writeFormat binary; -writeFormat binary; +writePrecision 6; -writePrecision 6; +writeCompression uncompressed; -writeCompression uncompressed; +timeFormat general; -timeFormat general; +timePrecision 6; -timePrecision 6; +adjustTimeStep yes; -adjustTimeStep yes; +maxCo 0.1; -maxCo 0.1; +runTimeModifiable yes; -runTimeModifiable yes; // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes index e3033a80a28..5ed3bb30fa8 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes +++ b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSchemes @@ -2,21 +2,22 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -27,31 +28,26 @@ gradSchemes divSchemes { - default none; - div(phi,rho) Gauss limitedLinear 1; - div(phi,U) Gauss limitedLinearV 1; - div(phiU,p) Gauss linear; - div(phi,k) Gauss limitedLinear 1; + default none; + div(phi,rho) Gauss limitedLinear 1; + div(phi,U) Gauss limitedLinearV 1; + div(phiU,p) Gauss linear; + div(phi,k) Gauss limitedLinear 1; div(phi,epsilon) Gauss limitedLinear 1; - div(phi,Yi_h) Gauss upwind; - div(phi,fu_ft_h) Gauss multivariateSelection - { - fu limitedLinear 1; - ft limitedLinear 1; - h limitedLinear 1; - }; + div(phi,Yi_h) Gauss upwind; + div(phi,fu_ft_h) Gauss multivariateSelection { fu limitedLinear 1 ; ft limitedLinear 1 ; h limitedLinear 1 ; }; div((muEff*dev2(grad(U).T()))) Gauss linear; } laplacianSchemes { - default Gauss linear corrected; - laplacian(muEff,U) Gauss linear corrected; - laplacian(muEff,ft) Gauss linear corrected; - laplacian(muEff,fu) Gauss linear corrected; + default Gauss linear corrected; + laplacian(muEff,U) Gauss linear corrected; + laplacian(muEff,ft) Gauss linear corrected; + laplacian(muEff,fu) Gauss linear corrected; laplacian(((alphah*mut)+alpha),h) Gauss linear corrected; laplacian((rho|A(U)),p) Gauss linear corrected; - laplacian(rhoD,k) Gauss linear corrected; + laplacian(rhoD,k) Gauss linear corrected; laplacian(rhoD,epsilon) Gauss linear corrected; } @@ -68,7 +64,8 @@ snGradSchemes fluxRequired { - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution index 3183443d6e5..6c09239a76c 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution +++ b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution @@ -2,14 +2,15 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,53 +19,59 @@ solvers { rho { - solver PCG; - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + U { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + p { - solver PCG; - preconditioner DIC; - tolerance 1e-09; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0; + } + Yi { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + h { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + k { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + epsilon { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } } PISO @@ -73,4 +80,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties b/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties index 6236e36490f..62bcf8bb715 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties +++ b/tutorials/combustion/engineFoam/kivaTest/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0; - alphah 1.111; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0; + alphah 1.111; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties b/tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties index 1b0c9a79167..e79c47968c2 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties +++ b/tutorials/combustion/engineFoam/kivaTest/constant/combustionProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object combustionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,21 +19,21 @@ laminarFlameSpeedCorrelation Gulders; fuel IsoOctane; -Su Su [0 1 -1 0 0 0 0] 0; +Su Su [ 0 1 -1 0 0 0 0 ] 0; SuModel unstrained; -equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 1; +equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 1; -sigmaExt sigmaExt [0 0 -1 0 0 0 0] 100000; +sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 100000; XiModel transport; -XiCoef XiCoef [0 0 0 0 0 0 0] 0.62; +XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62; -XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1; +XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1; -uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1; +uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1; GuldersCoeffs { @@ -45,6 +46,7 @@ GuldersCoeffs beta -0.5; f 2.3; } + Propane { W 0.446; @@ -54,6 +56,7 @@ GuldersCoeffs beta -0.2; f 2.3; } + IsoOctane { W 0.4658; @@ -69,7 +72,6 @@ ignite yes; ignitionSites ( - { location (0.03 0 0.091); diameter 0.002; @@ -79,11 +81,13 @@ ignitionSites } ); -ignitionSphereFraction 1.0; +ignitionSphereFraction 1; + +ignitionThickness ignitionThickness [ 0 1 0 0 0 0 0 ] 0; + +ignitionCircleFraction 1; -ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0; -ignitionCircleFraction 1; +ignitionKernelArea ignitionKernelArea [ 0 2 0 0 0 0 0 ] 0; -ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0; // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry b/tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry index 4b8dc36854f..2ed448b1dd2 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry +++ b/tutorials/combustion/engineFoam/kivaTest/constant/engineGeometry @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object engineGeometry; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // engineMesh layered; -conRodLength conRodLength [0 1 0 0 0 0 0] 0.147; +conRodLength conRodLength [ 0 1 0 0 0 0 0 ] 0.147; -bore bore [0 1 0 0 0 0 0] 0.092; +bore bore [ 0 1 0 0 0 0 0 ] 0.092; -stroke stroke [0 1 0 0 0 0 0] 0.08423; +stroke stroke [ 0 1 0 0 0 0 0 ] 0.08423; -clearance clearance [0 1 0 0 0 0 0] 0.00115; +clearance clearance [ 0 1 0 0 0 0 0 ] 0.00115; + +rpm rpm [ 0 0 -1 0 0 0 0 ] 1500; -rpm rpm [0 0 -1 0 0 0 0] 1500; // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties index ca80af21ee6..645c9af0992 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties +++ b/tutorials/combustion/engineFoam/kivaTest/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 0 ); + // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties index a45a851b18c..493713c379c 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties +++ b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; -stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.0336; +stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [ 0 0 0 0 0 0 0 ] 15.0336; fuel fuel 1 114.23 298.15 5000 1000 19.3963 0.0488137 -1.55798e-05 2.17831e-09 -1.08391e-13 -37133.9 -78.8531 0.429357 0.0765769 8.41306e-06 -5.86603e-08 2.79414e-11 -30446.4 25.6735 1.67212e-06 170.672; @@ -28,4 +29,5 @@ products products 1 28.8478 298.15 5000 1000 3.10156 0.00124723 -4.2071e- burntProducts burntProducts 1 28.6068 200 6000 1000 3.12468 0.00178578 -5.94695e-07 9.09801e-11 -5.1246e-15 -11005.8 5.03593 3.47612 0.000758205 -3.68739e-07 1.3449e-09 -8.08868e-13 -11071.5 3.3058 1.67212e-06 170.672; + // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/system/controlDict b/tutorials/combustion/engineFoam/kivaTest/system/controlDict index ba6351bc7c8..359d4d135af 100644 --- a/tutorials/combustion/engineFoam/kivaTest/system/controlDict +++ b/tutorials/combustion/engineFoam/kivaTest/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime -180; @@ -43,10 +43,11 @@ timePrecision 6; runTimeModifiable yes; -adjustTimeStep no; +adjustTimeStep no; + +maxCo 0.2; -maxCo 0.2; +maxDeltaT 1; -maxDeltaT 1.0; // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st index d3c9a998580..2ae209cb5f6 100644 --- a/tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st +++ b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.1st @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,7 +10,8 @@ FoamFile version 2.0; format ascii; class dictionary; - object controlDict; + location "system"; + object controlDict.1st; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,10 +45,11 @@ timePrecision 6; runTimeModifiable yes; -adjustTimeStep no; +adjustTimeStep no; -maxCo 0.2; +maxCo 0.2; + +maxDeltaT 1; -maxDeltaT 1.0; // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd index ea956c0093c..4ec457ba621 100644 --- a/tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd +++ b/tutorials/combustion/engineFoam/kivaTest/system/controlDict.2nd @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,7 +10,8 @@ FoamFile version 2.0; format ascii; class dictionary; - object controlDict; + location "system"; + object controlDict.2nd; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,10 +45,11 @@ timePrecision 6; runTimeModifiable yes; -adjustTimeStep no; +adjustTimeStep no; -maxCo 0.2; +maxCo 0.2; + +maxDeltaT 1; -maxDeltaT 1.0; // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes b/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes index 9d7fa7421b5..98d6c3c3587 100644 --- a/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes +++ b/tutorials/combustion/engineFoam/kivaTest/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -38,14 +39,7 @@ divSchemes div(phiXi,Xi) Gauss upwind; div(phiXi,Su) Gauss upwind; div(phiSt,b) Gauss limitedLinear01 1; - div(phi,ft_b_h_hu) Gauss multivariateSelection - { - fu limitedLinear01 1; - ft limitedLinear01 1; - b limitedLinear01 1; - h limitedLinear 1; - hu limitedLinear 1; - }; + div(phi,ft_b_h_hu) Gauss multivariateSelection { fu limitedLinear01 1 ; ft limitedLinear01 1 ; b limitedLinear01 1 ; h limitedLinear 1 ; hu limitedLinear 1 ; }; div(U) Gauss linear; div((Su*grad(b))) Gauss linear; div((U+((Su*Xi)*grad(b)))) Gauss linear; @@ -79,7 +73,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/system/fvSolution b/tutorials/combustion/engineFoam/kivaTest/system/fvSolution index 42e0957d179..a940d2ad893 100644 --- a/tutorials/combustion/engineFoam/kivaTest/system/fvSolution +++ b/tutorials/combustion/engineFoam/kivaTest/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,90 +10,116 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - ft PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + ft { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - fu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + fu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - b PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + b { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Xi PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Xi { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Su PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Su { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - hu PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + hu { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -104,4 +130,5 @@ PISO fluxGradp no; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties index 1eb45d2f887..9081551c6f6 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,4 +19,5 @@ thermoType hThermo<pureMixture<sutherlandTransport<specieThermo<hConstTherm mixture air 1 28.96 1004.5 0 1.458e-06 110.4; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict index 70f03d15925..3652392f931 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -42,10 +43,9 @@ timePrecision 6; adjustTimeStep yes; -//maxCo 3.0; -//maxCo 0.5; maxCo 0.5; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict index 136e30e8429..26630d1b853 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,38 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 8; -//numberOfSubdomains 16; method simple; simpleCoeffs { - n (8 1 1); -// n (16 1 1); + n ( 8 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -51,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes index 56ca99dbd2d..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -fluxScheme Kurganov; +fluxScheme Kurganov; ddtSchemes { @@ -29,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -39,10 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; - reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; + default linear; + reconstruct(rho) vanLeer; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -50,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution index 2724db01971..f662540afe6 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10; - relTol 0; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10 - relTol 0; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10; + relTol 0; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10 relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict index c7529e91132..a44b5318865 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/mapFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mapFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -patchMap -( -); +patchMap ( ); + +cuttingPatches ( ); -cuttingPatches -( -); // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict index ac12dd2d470..39efd421b7d 100644 --- a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict +++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,40 +19,9 @@ interpolationScheme cellPointFace; writeFormat raw; -sampleSets -( - face - { - name cone25; - axis x; - start ( 0.0 0.0 0.0); - end ( 92.08087e-03 42.939e-03 0.0); - nPoints 92; - } +sampleSets ( face { name cone25 ; axis x ; start ( 0 0 0 ) ; end ( 0.09208087 0.042939 0 ) ; nPoints 92 ; } face { name cone55 ; axis x ; start ( 0.09208087 0.042939 0 ) ; end ( 0.153683 0.13092 0 ) ; nPoints 61 ; } face { name base ; axis x ; start ( 0.153683 0.13092 0 ) ; end ( 0.193675 0.13092 0 ) ; nPoints 40 ; } ); - face - { - name cone55; - axis x; - start ( 92.08087e-03 42.939e-03 0.0); - end ( 153.6830e-03 130.92e-03 0.0); - nPoints 61; - } +fields ( p wallHeatTransRate ); - face - { - name base; - axis x; - start ( 153.6830e-03 130.92e-03 0.0); - end ( 193.6750e-03 130.92e-03 0.0); - nPoints 40; - } -); - -fields -( - p - wallHeatTransRate -); // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties index 9aba58cb038..a4d934aeb2e 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,37 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Pr Pr [0 0 0 0 0 0 0] 0.72; +Pr Pr [ 0 0 0 0 0 0 0 ] 0.72; thermoType hThermo<pureMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>; -//thermoType hThermo<pureMixture<blottnerTransport<specieThermo<janafThermo<perfectGas>>>>>; -// Replacates constThermo (Cp = const) -/* -mixture N2 - 1 28.01348 - 0 10000 1000 - 3.5 0 0 0 0 0 0 - 3.5 0 0 0 0 0 0 -// 3.5 0 0 0 0 -1043.52 0 -// 3.5 0 0 0 0 -1043.52 0 -// 0.0268142 0.3177838 -11.3155513; // Blottner - 1.458e-06 110; // Sutherland -*/ -// janafThermo +mixture N2 1 28.01348 100 10000 1000 2.9525407 0.0013968838 -4.9262577e-07 7.8600091e-11 -4.6074978e-15 -923.93753 5.8718221 3.5309628 -0.0001236595 -5.0299339e-07 2.4352768e-09 -1.4087954e-12 -1046.9637 2.9674391 1.458e-06 110; -mixture N2 - 1 28.01348 - 100 10000 1000 - 2.9525407 0.0013968838 -4.9262577e-07 7.8600091e-11 -4.6074978e-15 - -923.93753 5.8718221 - 3.5309628 -0.0001236595 -5.0299339e-07 2.4352768e-09 -1.4087954e-12 - -1046.9637 2.9674391 -// 0.0268142 0.3177838 -11.3155513; // Blottner - 1.458e-06 110; // Sutherland // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict index c8548cf1713..b2f7a332955 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -46,4 +47,5 @@ maxCo 0.5; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes index feda8725dbf..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//fluxScheme Tadmor; // KT -fluxScheme Kurganov; // KNP +fluxScheme Kurganov; ddtSchemes { @@ -30,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -40,13 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; + default linear; reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; -// reconstruct(rho) upwind; -// reconstruct(U) upwind; -// reconstruct(T) upwind; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -54,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution index c2802217add..bcef9732691 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09; - relTol 0.01; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09 - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09; + relTol 0.01; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09 relTol 0.1; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict index f8a45e93a24..d578a3cadd8 100644 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,50 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPointFace; -setFormat raw; -surfaceFormat vtk; - -sets -( - cone25 - { - type face; - axis x; - start ( 0.0 0.0 0.0); - end ( 92.08087e-03 42.939e-03 0.0); - nPoints 92; - } - - cone55 - { - type face; - axis x; - start ( 92.08087e-03 42.939e-03 0.0); - end ( 153.6830e-03 130.92e-03 0.0); - nPoints 61; - } - - base - { - type face; - axis x; - start ( 153.6830e-03 130.92e-03 0.0); - end ( 193.6750e-03 130.92e-03 0.0); - nPoints 40; - } -); - -surfaces (); - -fields -( - p - wallHeatTransRate -); + +setFormat raw; + +surfaceFormat vtk; + +sets ( cone25 { type face ; axis x ; start ( 0 0 0 ) ; end ( 0.09208087 0.042939 0 ) ; nPoints 92 ; } cone55 { type face ; axis x ; start ( 0.09208087 0.042939 0 ) ; end ( 0.153683 0.13092 0 ) ; nPoints 61 ; } base { type face ; axis x ; start ( 0.153683 0.13092 0 ) ; end ( 0.193675 0.13092 0 ) ; nPoints 40 ; } ); + +surfaces ( ); + +fields ( p wallHeatTransRate ); + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties index 86b760a58ee..841a143c18e 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture normalisedGas 1 11640.3 2.5 0.0 0.0 1.0; +mixture normalisedGas 1 11640.3 2.5 0 0 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict b/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict index 6f0806d9178..8b725998eda 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -42,10 +43,11 @@ timePrecision 6; runTimeModifiable yes; -adjustTimeStep yes; +adjustTimeStep yes; -maxCo 0.2; +maxCo 0.2; + +maxDeltaT 1; -maxDeltaT 1; // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes index eb9e787aef5..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//fluxScheme Tadmor; // KT -fluxScheme Kurganov; // KNP +fluxScheme Kurganov; ddtSchemes { @@ -30,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -40,13 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; - reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; -// reconstruct(rho) upwind; -// reconstruct(U) upwind; -// reconstruct(T) upwind; + default linear; + reconstruct(rho) vanLeer; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -54,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution index 19baedc7b22..ed875f376e1 100644 --- a/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/forwardStep/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09; - relTol 0.01; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10 - relTol 0; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09; + relTol 0.01; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10 relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties index 86b760a58ee..841a143c18e 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture normalisedGas 1 11640.3 2.5 0.0 0.0 1.0; +mixture normalisedGas 1 11640.3 2.5 0 0 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict index d5385089b9f..5fa869b4cd2 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -51,4 +51,5 @@ maxCo 0.2; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes index eb9e787aef5..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//fluxScheme Tadmor; // KT -fluxScheme Kurganov; // KNP +fluxScheme Kurganov; ddtSchemes { @@ -30,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -40,13 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; - reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; -// reconstruct(rho) upwind; -// reconstruct(U) upwind; -// reconstruct(T) upwind; + default linear; + reconstruct(rho) vanLeer; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -54,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution index 19baedc7b22..ed875f376e1 100644 --- a/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09; - relTol 0.01; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10 - relTol 0; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09; + relTol 0.01; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10 relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties index 32f2bf50c61..919fec0ceab 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture air 1 28.96 1004.5 2.544e+06 0.0 1.0; +mixture air 1 28.96 1004.5 2.544e+06 0 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict index 38434ebd6fb..37f10188677 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,43 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +startFrom startTime; -startFrom startTime; +startTime 0; -startTime 0; +stopAt endTime; -stopAt endTime; +endTime 0.007; -endTime 0.007; +deltaT 1e-06; -deltaT 1e-06; +writeControl adjustableRunTime; -writeControl adjustableRunTime; +writeInterval 0.001; -writeInterval 0.001; +cycleWrite 0; -cycleWrite 0; +writeFormat ascii; -writeFormat ascii; - -writePrecision 6; +writePrecision 6; writeCompression uncompressed; -timeFormat general; +timeFormat general; -timePrecision 6; +timePrecision 6; runTimeModifiable yes; -adjustTimeStep yes; +adjustTimeStep yes; + +maxCo 0.2; -maxCo 0.2; +maxDeltaT 1; -maxDeltaT 1; // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes index 8bf05386b7d..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -fluxScheme Kurganov; +fluxScheme Kurganov; ddtSchemes { @@ -29,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -39,10 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; + default linear; reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -50,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution index 19baedc7b22..ed875f376e1 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09; - relTol 0.01; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10 - relTol 0; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09; + relTol 0.01; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10 relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict index 460a73553cc..d8e4f7301d6 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -setFormat raw; -surfaceFormat vtk; - -sets -( - line - { - type face; - axis x; - start (-5 0 0); - end ( 5 0 0); - nPoints 100; - } -); - -surfaces (); - -fields -( - p U.component(0) T rho -); + +setFormat raw; + +surfaceFormat vtk; + +sets ( line { type face ; axis x ; start ( -5 0 0 ) ; end ( 5 0 0 ) ; nPoints 100 ; } ); + +surfaces ( ); + +fields ( p U.component(0) T rho ); + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict index 83d5d1949f8..2bc20982755 100644 --- a/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict +++ b/tutorials/compressible/rhoCentralFoam/shockTube/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volVectorFieldValue U (0 0 0) - volScalarFieldValue T 348.43206 - volScalarFieldValue p 1.0e+5 -); +defaultFieldValues ( volVectorFieldValue U ( 0 0 0 ) volScalarFieldValue T 348.432 volScalarFieldValue p 100000 ); -regions -( - boxToCell - { - box (0 -1 -1) (5 1 1); +regions ( boxToCell { box ( 0 -1 -1 ) ( 5 1 1 ) ; fieldValues ( volScalarFieldValue T 278.746 volScalarFieldValue p 10000 ) ; } ); - fieldValues - ( - volScalarFieldValue T 278.74564 - volScalarFieldValue p 1.0e+4 - ); - } -); // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties index 86b760a58ee..841a143c18e 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture normalisedGas 1 11640.3 2.5 0.0 0.0 1.0; +mixture normalisedGas 1 11640.3 2.5 0 0 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict index 301694b88c4..a65835e8058 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -23,7 +23,7 @@ stopAt endTime; endTime 0.2; -deltaT 1e-04; +deltaT 0.0001; writeControl runTime; @@ -45,8 +45,9 @@ runTimeModifiable yes; adjustTimeStep no; -maxCo 1.0; +maxCo 1; maxDeltaT 1e-06; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes index 56ca99dbd2d..af6b9b8917c 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -fluxScheme Kurganov; +fluxScheme Kurganov; ddtSchemes { @@ -29,7 +30,7 @@ gradSchemes divSchemes { default none; - div(tauMC) Gauss linear; + div(tauMC) Gauss linear; } laplacianSchemes @@ -39,10 +40,10 @@ laplacianSchemes interpolationSchemes { - default linear; - reconstruct(rho) vanLeer; - reconstruct(U) vanLeerV; - reconstruct(T) vanLeer; + default linear; + reconstruct(rho) vanLeer; + reconstruct(U) vanLeerV; + reconstruct(T) vanLeer; } snGradSchemes @@ -50,4 +51,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution index 19baedc7b22..ed875f376e1 100644 --- a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution +++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,31 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho diagonal {}; - rhoU diagonal {}; - rhoE diagonal {}; + rho + { + solver diagonal; + } + + rhoU + { + solver diagonal; + } - U smoothSolver + rhoE { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-09; - relTol 0.01; - }; + solver diagonal; + } - h smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-10 - relTol 0; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-09; + relTol 0.01; + } + + h + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-10 relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties index 1af73fab267..26216fcde06 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones index 0570df39482..e5104d4460f 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/porousZones @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object porousZones; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties index c38497facbe..bd1a6c1f049 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,19 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + thermoType hThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture - air 1 28.9 // specieThermo - 1007 0 // hConstThermo -// 1.84766e-05 0.7 // constTransport - 300K -// 2.68477e-05 0.7 // constTransport - 500K -// 3.93094e-05 0.7 // constTransport - 900K - 1.4792e-06 116 // sutherlandTransport (Star-CD) -// 1.4584e-06 110.33 // sutherlandTransport (European Space Agency) -; +mixture air 1 28.9 1007 0 1.4792e-06 116; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict index 3924b69fcc5..d7d107cf4c4 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -49,4 +49,5 @@ maxCo 10; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes index 3eb78297f75..2d98eef357c 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -28,7 +29,6 @@ gradSchemes divSchemes { default none; - div(phi,U) Gauss upwind; div(phid,p) Gauss upwind; div(phiU,p) Gauss linear; @@ -37,7 +37,6 @@ divSchemes div(phi,epsilon) Gauss upwind; div(phi,R) Gauss upwind; div(phi,omega) Gauss upwind; - div((rho*R)) Gauss linear; div(R) Gauss linear; div(U) Gauss linear; @@ -47,7 +46,6 @@ divSchemes laplacianSchemes { default none; - laplacian(muEff,U) Gauss linear corrected; laplacian(mut,U) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; @@ -71,8 +69,8 @@ snGradSchemes fluxRequired { default no; - - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution index bdf27a66c45..41749badafb 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,98 +10,120 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - UFinal PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + UFinal { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.01; - }; - pFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + } + + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - h PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - hFinal PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + hFinal { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - omega PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + omega { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PIMPLE { - nOuterCorrectors 50; - nCorrectors 1; + nOuterCorrectors 50; + nCorrectors 1; nNonOrthogonalCorrectors 0; momentumPredictor yes; - - pMin pMin [1 -1 -2 0 0 0 0] 1000; + pMin pMin [ 1 -1 -2 0 0 0 0 ] 1000; } relaxationFactors { - U 0.7; - p 0.3; - rho 0.05; - h 0.7; - k 0.7; - omega 0.7; + U 0.7; + p 0.3; + rho 0.05; + h 0.7; + k 0.7; + omega 0.7; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties index ed200ef2290..25be4174a3f 100644 --- a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel oneEqEddy; +LESModel oneEqEddy; -printCoeffs on; +printCoeffs on; -delta cubeRootVol; +delta cubeRootVol; laminarCoeffs { @@ -26,34 +27,34 @@ laminarCoeffs oneEqEddyCoeffs { - ce 1.048; - ck 0.094; + ce 1.048; + ck 0.094; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } lowReOneEqEddyCoeffs { - ck 0.07; - ce 1.05; - beta 0.01; + ck 0.07; + ce 1.05; + beta 0.01; } SmagorinskyCoeffs { - ck 0.02; - ce 0.202; + ck 0.02; + ce 0.202; } DeardorffDiffStressCoeffs { - ce 1.048; - ck 0.094; - cm 4.13; + ce 1.048; + ck 0.094; + cm 4.13; } cubeRootVolCoeffs @@ -68,6 +69,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -75,9 +77,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -87,6 +91,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -94,10 +99,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -107,14 +114,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties index 7eb3ee5b9f4..7f85f2afd5e 100644 --- a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,4 +19,5 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1000 0 1.8e-05 0.7; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict index a5870996dd1..c211c964aef 100644 --- a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,33 +47,28 @@ functions ( fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled true; - outputControl outputTime; - - // Fields to be averaged - runTime modifiable fields ( U { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } + p { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes index fc4a469b464..feb54a18766 100644 --- a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default backward; + default backward; } gradSchemes @@ -35,7 +36,6 @@ divSchemes div(phi,k) Gauss limitedLinear 1; div(phi,B) Gauss limitedLinear 1; div(phi,muTilda) Gauss limitedLinear 1; - div(B) Gauss linear; div((muEff*dev2(grad(U).T()))) Gauss linear; } @@ -65,7 +65,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution index 7eb6ca186d8..601b3a8901c 100644 --- a/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 1e-6; - relTol 0; - }; - h PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-6; - relTol 0; - }; - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -66,4 +80,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties index 00297d2d13e..15184ba185e 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,164 +10,108 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Turbulence model selection -RASModel kOmegaSST; //kEpsilon; +RASModel kOmegaSST; -// Do you wish to calculate turbulence? -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; -// Laminar model coefficients laminarCoeffs { } -// Standard k-epsilon model coefficients kEpsilonCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } -// RNG k-epsilon model coefficients RNGkEpsilonCoeffs { - // Cmu - Cmu 0.0845; - // C1 - C1 1.42; - // C2 - C2 1.68; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1.39; - // alphaEps - alphaEps 1.39; - // eta0 - eta0 4.38; - // beta - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } -// Launder-Sharma low Reynolds number k-epsilon model coefficients LaunderSharmaKECoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C3 - C3 -0.33; - // alphah - alphah 1; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } -// Launder-Reece-Rodi RSTM with wall functions model coefficients LRRCoeffs { - // Cmu - Cmu 0.09; - // Clrr1 - Clrr1 1.8; - // Clrr2 - Clrr2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphah - alphah 1; - // alphaEps - alphaEps 0.76923; - // alphaR - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } -// Launder-Gibson RSTM with wall reflection and wall functions model coefficients LaunderGibsonRSTMCoeffs { - // Cmu - Cmu 0.09; - // Clg1 - Clg1 1.8; - // Clg2 - Clg2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C1Ref - C1Ref 0.5; - // C2Ref - C2Ref 0.3; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphah - alphah 1; - // alphaEps - alphaEps 0.76923; - // alphaR - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; - - alphah 1; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; + alphah 1; } -// Wall function coefficients wallFunctionCoeffs { - // kappa - kappa 0.4187; - // E - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties index 0b16fbae765..d02b85fec43 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Thermophysical model thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>; mixture air 1 28.9 1007 0 1.84e-05 0.7; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict index be7feda05dc..c90f2db15f7 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,61 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Foam Application Class - -// Start point of run startFrom startTime; -// Calculation start time startTime 0; -// End point of run stopAt endTime; -// Calculation end time endTime 1; -// Calculation time step deltaT 0.01; -// Type of write output control writeControl runTime; -// Interval with which the results are output writeInterval 0.1; -// Limits number of time directories before overwriting purgeWrite 0; -// Write Format writeFormat ascii; -// Significant figures of written ASCII data writePrecision 6; -// Write Compression writeCompression uncompressed; -// Time directories name format timeFormat general; -// Decimal precision of time directory names timePrecision 6; -// Can parameters be modified during run time? runTimeModifiable yes; -// Automatic adjustment of time step? adjustTimeStep no; -// maxCo maxCo 0.3; -// maxDeltaT maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes index 27cf1a8bee9..ce82f9337bc 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,24 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Time derivative discretisation schemes ddtSchemes { - // Default scheme default Euler; } -// Gradient discretisation schemes gradSchemes { - // Default gradient scheme default Gauss linear; grad(p) Gauss linear; } -// Convection discretisation schemes divSchemes { - // Default scheme default none; div(phi,U) Gauss limitedLinearV 1; div(phid,p) Gauss limitedLinear 1; @@ -48,10 +43,8 @@ divSchemes div((muEff*dev2(grad(U).T()))) Gauss linear; } -// Laplacian discretisation schemes laplacianSchemes { - // Default scheme default none; laplacian(muEff,U) Gauss linear corrected; laplacian(mut,U) Gauss linear corrected; @@ -63,26 +56,21 @@ laplacianSchemes laplacian(alphaEff,h) Gauss linear corrected; } -// Interpolation schemes interpolationSchemes { - // Default scheme default linear; } -// Surface normal gradient schemes snGradSchemes { - // Default scheme default corrected; } -// Calculation of flux fluxRequired { - // Create storage for flux for all solved variables? default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution index d362358b026..2d540c81d3f 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,78 +10,84 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - // Solver for the rho equation - rho PCG + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - // Solver for the U equation - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the p equation - p PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - // Solver for the h equation - h PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the R equation - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the k equation - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the epsilon equation - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - // Solver for the omega equation - omega PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + omega { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO { - // Number of PISO correctors nCorrectors 2; - // Number of non-orthogonal correctors nNonOrthogonalCorrectors 0; - // momentumPredictor? momentumPredictor yes; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict index 691db89a86f..23e7202b524 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ graphFormat raw; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes index 04918127931..5a36eadc4b4 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,80 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes { - default Gauss linear; - // UEqn - grad(U) Gauss linear; - grad(p) Gauss linear; + default Gauss linear; + grad(U) Gauss linear; + grad(p) Gauss linear; } divSchemes { - //- default Gauss upwind; - // UEqn - div(phi,U) Gauss upwind; - div((muEff*dev2(grad(U).T()))) Gauss linear; - // hEqn - div(phi,h) Gauss upwind; - // epsilonEqn - div(phi,epsilon) Gauss upwind; - // kEqn - div(phi,k) Gauss upwind; - - // experimental - div(phid,p) Gauss linear; + div(phi,U) Gauss upwind; + div((muEff*dev2(grad(U).T()))) Gauss linear; + div(phi,h) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(phi,k) Gauss upwind; + div(phid,p) Gauss linear; } laplacianSchemes { - //- default Gauss linear corrected; - // UEqn - laplacian(muEff,U) Gauss linear corrected; - - // hEqn - laplacian(alphaEff,h) Gauss linear corrected; - - // pCorrect + laplacian(muEff,U) Gauss linear corrected; + laplacian(alphaEff,h) Gauss linear corrected; laplacian((rho|A(U)),p) Gauss linear corrected; - - laplacian((rho*rAU),p) Gauss linear corrected; - - // epsilonEqn - laplacian(DepsilonEff,epsilon) Gauss linear corrected; - - // kEqn - laplacian(DkEff,k) Gauss linear corrected; - - // potential - laplacian(1,p) Gauss linear corrected; + laplacian((rho*rAU),p) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } interpolationSchemes { - default linear; - // default upwind phi; - div(U,p) upwind phi; + default linear; + div(U,p) upwind phi; } snGradSchemes { - default corrected; + default corrected; } fluxRequired { - default no; - p; + default no; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution index 83ed3bd9a98..337edfcc986 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,73 +10,76 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0.05; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; cacheAgglomeration off; - nCellsInCoarsestLevel 20; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - U smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-6; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-06; + relTol 0.1; + } - h PBiCG + h { - preconditioner DILU; - tolerance 1e-6; - relTol 0.1; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0.1; + } - k smoothSolver + k { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } - epsilon smoothSolver + epsilon { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } } SIMPLE { - // nUCorrectors 0; - nNonOrthogonalCorrectors 0; - pMin pMin [1 -1 -2 0 0 0 0] 100; + nNonOrthogonalCorrectors 0; + pMin pMin [ 1 -1 -2 0 0 0 0 ] 100; } relaxationFactors { - p 0.3; - rho 0.05; - U 0.7; - k 0.7; - epsilon 0.7; - h 0.5; + p 0.3; + rho 0.05; + U 0.7; + k 0.7; + epsilon 0.7; + h 0.5; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties index 1af73fab267..48bd2ba1179 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/RASProperties @@ -2,23 +2,24 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones index 0570df39482..e5104d4460f 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/porousZones @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object porousZones; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties index c38497facbe..ab0fa0fe3c8 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/thermophysicalProperties @@ -2,27 +2,22 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + thermoType hThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>; -mixture - air 1 28.9 // specieThermo - 1007 0 // hConstThermo -// 1.84766e-05 0.7 // constTransport - 300K -// 2.68477e-05 0.7 // constTransport - 500K -// 3.93094e-05 0.7 // constTransport - 900K - 1.4792e-06 116 // sutherlandTransport (Star-CD) -// 1.4584e-06 110.33 // sutherlandTransport (European Space Agency) -; +mixture air 1 28.9 1007 0 1.4792e-06 116; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict index b354267d9e8..85cf9616b92 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/controlDict @@ -2,19 +2,19 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ graphFormat raw; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes index 1ba8b44722e..d3687aaaf95 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes @@ -2,86 +2,67 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes { - default Gauss linear; - // UEqn - grad(U) Gauss linear; - grad(p) Gauss linear; + default Gauss linear; + grad(U) Gauss linear; + grad(p) Gauss linear; } divSchemes { - //- default Gauss upwind; - // UEqn - div(phi,U) Gauss upwind; - div((muEff*dev2(grad(U).T()))) Gauss linear; - // hEqn - div(phi,h) Gauss upwind; - // epsilonEqn - div(phi,epsilon) Gauss upwind; - // kEqn - div(phi,k) Gauss upwind; - - // experimental - div(phid,p) Gauss linear; + div(phi,U) Gauss upwind; + div((muEff*dev2(grad(U).T()))) Gauss linear; + div(phi,h) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(phi,k) Gauss upwind; + div(phid,p) Gauss linear; } laplacianSchemes { - //- default Gauss linear corrected; - // UEqn - laplacian(muEff,U) Gauss linear corrected; - - // hEqn - laplacian(alphaEff,h) Gauss linear corrected; - - // pCorrect + laplacian(muEff,U) Gauss linear corrected; + laplacian(alphaEff,h) Gauss linear corrected; laplacian((rho*rAU),p) Gauss linear corrected; - - // epsilonEqn - laplacian(DepsilonEff,epsilon) Gauss linear corrected; - - // kEqn - laplacian(DkEff,k) Gauss linear corrected; - - // potential - laplacian(1,p) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } interpolationSchemes { - default linear; - // default upwind phi; - div(U,p) upwind phi; + default linear; + div(U,p) upwind phi; } snGradSchemes { - default corrected; + default corrected; } fluxRequired { - default no; - p; + default no; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution index 4a459767507..fa9e34149b1 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSolution @@ -2,73 +2,76 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0.05; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; cacheAgglomeration off; - nCellsInCoarsestLevel 20; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - h PBiCG + h { - preconditioner DILU; - tolerance 1e-6; - relTol 0.1; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0.1; + } - k smoothSolver + k { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } - epsilon smoothSolver + epsilon { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } } SIMPLE { - nUCorrectors 2; - nNonOrthogonalCorrectors 0; - pMin pMin [1 -1 -2 0 0 0 0] 100; + nUCorrectors 2; + nNonOrthogonalCorrectors 0; + pMin pMin [ 1 -1 -2 0 0 0 0 ] 100; } relaxationFactors { - p 0.3; - rho 1; - U 0.7; - k 0.9; - epsilon 0.9; - h 0.9; + p 0.3; + rho 1; + U 0.7; + k 0.9; + epsilon 0.9; + h 0.9; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties b/tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties index 06d85de3fda..c6bf31c073b 100644 --- a/tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties +++ b/tutorials/compressible/rhoSonicFoam/forwardStep/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 1.78571; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 1.78571; + +R R [ 0 2 -2 -1 0 0 0 ] 0.714286; -R R [0 2 -2 -1 0 0 0] 0.714286; // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict b/tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict index 4a7ac2d5509..11edd652c6c 100644 --- a/tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict +++ b/tutorials/compressible/rhoSonicFoam/forwardStep/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes index 2f67c16f8a4..dce91897e29 100644 --- a/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes +++ b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -53,7 +54,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution index 8275db3d4bd..d0dcdc1851b 100644 --- a/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution +++ b/tutorials/compressible/rhoSonicFoam/forwardStep/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rho PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rho { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoU PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoU { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoE PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoE { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } } PISO @@ -48,4 +56,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties b/tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties index f3770d39708..35229cd9855 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties +++ b/tutorials/compressible/rhoSonicFoam/shockTube/constant/initProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,18 +10,24 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object initProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -x0 0 ; +x0 0; -pL 1.0e+5 ; -TL 348.43206 ; -UL ( 0 0 0 ) ; +pL 100000; + +TL 348.432; + +UL ( 0 0 0 ); + +pR 10000; + +TR 278.746; + +UR ( 0 0 0 ); -pR 1.0e+4 ; -TR 278.74564 ; -UR ( 0 0 0 ) ; // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties b/tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties index 059e9ca5da5..99575bf65f9 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties +++ b/tutorials/compressible/rhoSonicFoam/shockTube/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 717.5; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 717.5; + +R R [ 0 2 -2 -1 0 0 0 ] 287; -R R [0 2 -2 -1 0 0 0] 287; // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict index cf7893b7647..e22c10e25da 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict +++ b/tutorials/compressible/rhoSonicFoam/shockTube/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes index 2f67c16f8a4..dce91897e29 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes +++ b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -53,7 +54,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution index 8275db3d4bd..d0dcdc1851b 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution +++ b/tutorials/compressible/rhoSonicFoam/shockTube/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rho PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rho { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoU PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoU { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoE PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoE { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } } PISO @@ -48,4 +56,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict index 6e6e27cd9e8..9d71da62e2e 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict +++ b/tutorials/compressible/rhoSonicFoam/shockTube/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,35 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -setFormat raw; +setFormat raw; -sets -( - data - { - type uniform; +sets ( data { type uniform ; axis x ; start ( -4.995 0 0 ) ; end ( 4.995 0 0 ) ; nPoints 1000 ; } ); - axis x; - start (-4.995 0 0); - end (4.995 0 0); - nPoints 1000; - } -); +surfaces ( ); -surfaces -(); +fields ( T magU p ); -fields -( - T - magU - p -); // ************************************************************************* // diff --git a/tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict index 83d5d1949f8..2bc20982755 100644 --- a/tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict +++ b/tutorials/compressible/rhoSonicFoam/shockTube/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volVectorFieldValue U (0 0 0) - volScalarFieldValue T 348.43206 - volScalarFieldValue p 1.0e+5 -); +defaultFieldValues ( volVectorFieldValue U ( 0 0 0 ) volScalarFieldValue T 348.432 volScalarFieldValue p 100000 ); -regions -( - boxToCell - { - box (0 -1 -1) (5 1 1); +regions ( boxToCell { box ( 0 -1 -1 ) ( 5 1 1 ) ; fieldValues ( volScalarFieldValue T 278.746 volScalarFieldValue p 10000 ) ; } ); - fieldValues - ( - volScalarFieldValue T 278.74564 - volScalarFieldValue p 1.0e+4 - ); - } -); // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties b/tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties index 059e9ca5da5..99575bf65f9 100644 --- a/tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties +++ b/tutorials/compressible/rhopSonicFoam/shockTube/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 717.5; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 717.5; + +R R [ 0 2 -2 -1 0 0 0 ] 287; -R R [0 2 -2 -1 0 0 0] 287; // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict b/tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict index dae184a1a5d..581f82c6b5a 100644 --- a/tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict +++ b/tutorials/compressible/rhopSonicFoam/shockTube/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,43 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +startFrom startTime; -startFrom startTime; +startTime 0; -startTime 0; +stopAt endTime; -stopAt endTime; +endTime 0.007; -endTime 0.007; +deltaT 2e-05; -deltaT 2e-05; +writeControl runTime; -writeControl runTime; +writeInterval 0.001; -writeInterval 0.001; +purgeWrite 0; -purgeWrite 0; +writeFormat ascii; -writeFormat ascii; - -writePrecision 6; +writePrecision 6; writeCompression uncompressed; -timeFormat general; +timeFormat general; -timePrecision 6; +timePrecision 6; runTimeModifiable yes; -adjustTimeStep no; +adjustTimeStep no; + +maxCo 0.05; -maxCo 0.05; +maxDeltaT 1; -maxDeltaT 1; // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes index d21dcd7c0de..6433c7d1b34 100644 --- a/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes +++ b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -48,7 +49,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution index 945f35d9e35..e9d281212c0 100644 --- a/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution +++ b/tutorials/compressible/rhopSonicFoam/shockTube/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,49 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-15; - relTol 0; - }; - rho PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-15; + relTol 0; + } + + rho { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoU PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoU { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoE PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoE { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoH PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoH { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } } PISO { nOuterCorrectors 3; - nCorrectors 1; - HbyAblend 0.0; + nCorrectors 1; + HbyAblend 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict b/tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict index 83d5d1949f8..2bc20982755 100644 --- a/tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict +++ b/tutorials/compressible/rhopSonicFoam/shockTube/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volVectorFieldValue U (0 0 0) - volScalarFieldValue T 348.43206 - volScalarFieldValue p 1.0e+5 -); +defaultFieldValues ( volVectorFieldValue U ( 0 0 0 ) volScalarFieldValue T 348.432 volScalarFieldValue p 100000 ); -regions -( - boxToCell - { - box (0 -1 -1) (5 1 1); +regions ( boxToCell { box ( 0 -1 -1 ) ( 5 1 1 ) ; fieldValues ( volScalarFieldValue T 278.746 volScalarFieldValue p 10000 ) ; } ); - fieldValues - ( - volScalarFieldValue T 278.74564 - volScalarFieldValue p 1.0e+4 - ); - } -); // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties index 06d85de3fda..c6bf31c073b 100644 --- a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties +++ b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 1.78571; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 1.78571; + +R R [ 0 2 -2 -1 0 0 0 ] 0.714286; -R R [0 2 -2 -1 0 0 0] 0.714286; // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict index 301694b88c4..a65835e8058 100644 --- a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict +++ b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -23,7 +23,7 @@ stopAt endTime; endTime 0.2; -deltaT 1e-04; +deltaT 0.0001; writeControl runTime; @@ -45,8 +45,9 @@ runTimeModifiable yes; adjustTimeStep no; -maxCo 1.0; +maxCo 1; maxDeltaT 1e-06; + // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes index ad2e2bb1e57..e849daf6ed8 100644 --- a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes +++ b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,15 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; -} + default Euler; +} gradSchemes { @@ -32,7 +33,7 @@ divSchemes laplacianSchemes { - default Gauss linear corrected; + default Gauss linear corrected; } interpolationSchemes @@ -48,7 +49,8 @@ snGradSchemes fluxRequired { default yes; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution index c0d4b7c2e77..e3d198e89e9 100644 --- a/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution +++ b/tutorials/compressible/rhopSonicFoam/wedge15Ma5/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,49 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-15; - relTol 0; - }; - rho PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-15; + relTol 0; + } + + rho { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoU PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoU { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoE PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoE { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rhoH PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rhoH { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } } PISO { nOuterCorrectors 2; - nCorrectors 2; - HbyAblend 0.95; + nCorrectors 2; + HbyAblend 0.95; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties index 06d85de3fda..c6bf31c073b 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 1.78571; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 1.78571; + +R R [ 0 2 -2 -1 0 0 0 ] 0.714286; -R R [0 2 -2 -1 0 0 0] 0.714286; // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties index d6a0c72beb7..1e9d5be60c2 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mu mu [1 -1 -1 0 0 0 0] 0; +mu mu [ 1 -1 -1 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict index be42312415b..7bf4401d7dc 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes index 45bb66da3a4..1c36c50aa67 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -55,7 +56,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution index 478fdf91384..bc954e2aa21 100644 --- a/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution +++ b/tutorials/compressible/sonicFoam/laminar/forwardStep/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - e PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + e { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -48,4 +56,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties index 059e9ca5da5..99575bf65f9 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Cv Cv [0 2 -2 -1 0 0 0] 717.5; +Cv Cv [ 0 2 -2 -1 0 0 0 ] 717.5; + +R R [ 0 2 -2 -1 0 0 0 ] 287; -R R [0 2 -2 -1 0 0 0] 287; // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties index d6a0c72beb7..1e9d5be60c2 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mu mu [1 -1 -1 0 0 0 0] 0; +mu mu [ 1 -1 -1 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict index cf7893b7647..e22c10e25da 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes index efcc5c9ab66..deef4abd261 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -55,7 +56,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution index 61c4ec92c40..1e1334a389f 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - U PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-15; - relTol 0; - }; - e PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-15; + relTol 0; + } + + e { - preconditioner DILU; - tolerance 1e-15; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-15; + relTol 0; + } } PISO @@ -48,4 +56,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict index 6e6e27cd9e8..9d71da62e2e 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,35 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -setFormat raw; +setFormat raw; -sets -( - data - { - type uniform; +sets ( data { type uniform ; axis x ; start ( -4.995 0 0 ) ; end ( 4.995 0 0 ) ; nPoints 1000 ; } ); - axis x; - start (-4.995 0 0); - end (4.995 0 0); - nPoints 1000; - } -); +surfaces ( ); -surfaces -(); +fields ( T magU p ); -fields -( - T - magU - p -); // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict index 83d5d1949f8..2bc20982755 100644 --- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict +++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volVectorFieldValue U (0 0 0) - volScalarFieldValue T 348.43206 - volScalarFieldValue p 1.0e+5 -); +defaultFieldValues ( volVectorFieldValue U ( 0 0 0 ) volScalarFieldValue T 348.432 volScalarFieldValue p 100000 ); -regions -( - boxToCell - { - box (0 -1 -1) (5 1 1); +regions ( boxToCell { box ( 0 -1 -1 ) ( 5 1 1 ) ; fieldValues ( volScalarFieldValue T 278.746 volScalarFieldValue p 10000 ) ; } ); - fieldValues - ( - volScalarFieldValue T 278.74564 - volScalarFieldValue p 1.0e+4 - ); - } -); // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties index 2a25f1c02ae..226b420b22c 100644 --- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties +++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/RASProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel LaunderSharmaKE; +RASModel LaunderSharmaKE; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties index 2ac1bd2d596..8e15891e509 100644 --- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,4 +19,5 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1000 2.544e+06 1.8e-05 0.7; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict index 41047af140f..2fe2edf6fac 100644 --- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict +++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,57 +43,7 @@ timePrecision 6; runTimeModifiable yes; -functions -( - //forces - //{ - // type forces; - // functionObjectLibs ("libforces.so"); - // - // // Patches to sample - // patches (WALL10); - // // Name of fields - // pName p; - // UName U; - // // Dump to file - // log true; - // // Density - // rhoInf 1; - // // Centre of rotation - // CofR (0 0 0); - //} - - forces - { - type forceCoeffs; - functionObjectLibs ("libforces.so"); - - // Patches to sample - patches (WALL10); - // Name of fields - pName p; - UName U; - // Dump to file - log true; - // Density - rhoInf 1; - // Centre of rotation - CofR (0 0 0); - - // Direction for lift - liftDir (-0.239733 0.970839 0); - // Direction for drag - dragDir ( 0.970839 0.239733 0); - - // Pitching axis - pitchAxis (0 0 1); - - magUInf 618.022; - - lRef 1.0; - Aref 1.0; - } - -); +functions ( forces { type forceCoeffs ; functionObjectLibs ( "libforces.so" ) ; patches ( WALL10 ) ; pName p ; UName U ; log true ; rhoInf 1 ; CofR ( 0 0 0 ) ; liftDir ( -0.239733 0.970839 0 ) ; dragDir ( 0.970839 0.239733 0 ) ; pitchAxis ( 0 0 1 ) ; magUInf 618.022 ; lRef 1 ; Aref 1 ; } ); + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes index 661348ce32c..0cab17b88ee 100644 --- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -62,7 +63,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution index 53380b09c0c..a1782db6853 100644 --- a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution +++ b/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-12; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-12; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-08; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-08; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -66,4 +80,5 @@ PISO nNonOrthogonalCorrectors 2; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties index 1af73fab267..26216fcde06 100644 --- a/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties +++ b/tutorials/compressible/sonicFoam/ras/prism/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphah 1; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphah 1; + alphaEps 0.76923; + alphaR 1.22; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties index be4fe920727..754163e2a97 100644 --- a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties +++ b/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,4 +19,5 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1300 2.544e+06 1.84e-05 0.7; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/controlDict b/tutorials/compressible/sonicFoam/ras/prism/system/controlDict index 34291293c0e..ebaf12e7593 100644 --- a/tutorials/compressible/sonicFoam/ras/prism/system/controlDict +++ b/tutorials/compressible/sonicFoam/ras/prism/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes b/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes index bc68e899f45..7b3c03466f4 100644 --- a/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes +++ b/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -62,7 +63,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution b/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution index 2e14267da5d..5341a980f47 100644 --- a/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution +++ b/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -66,4 +80,5 @@ PISO nNonOrthogonalCorrectors 2; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties index 95d1ebb145b..bb5efe78970 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/thermodynamicProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -rho0 rho0 [1 -3 0 0 0 0 0] 1000; +rho0 rho0 [ 1 -3 0 0 0 0 0 ] 1000; -p0 p0 [1 -1 -2 0 0 0 0] 100000; +p0 p0 [ 1 -1 -2 0 0 0 0 ] 100000; + +psi psi [ 0 -2 2 0 0 0 0 ] 4.54e-07; -psi psi [0 -2 2 0 0 0 0] 4.54e-07; // ************************************************************************* // diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties index 56a02ffaf9f..21ee6987d63 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/constant/transportProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mu mu [1 -1 -1 0 0 0 0] 0.001; +mu mu [ 1 -1 -1 0 0 0 0 ] 0.001; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict index f2cc0d0177c..8607f0b47ef 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes index 6c385d2d31a..d7aad508a2c 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution index 6a88316a18f..0be50bc833f 100644 --- a/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution +++ b/tutorials/compressible/sonicLiquidFoam/decompressionTank/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,36 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PBiCG + p { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } } PISO @@ -42,4 +48,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties index b6cc58030c0..922738868c4 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/constant/physicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object physicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -epsilon0 epsilon0 [-1 -3 4 0 0 2 0] 8.85419e-12; +epsilon0 epsilon0 [ -1 -3 4 0 0 2 0 ] 8.85419e-12; + +k k [ -1 0 2 0 0 1 0 ] 0.00016; -k k [-1 0 2 0 0 1 0] 0.00016; // ************************************************************************* // diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict index 7c2f3213b79..25b59d0c428 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes index b29cd97b9cb..f1581eecb1c 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -49,7 +50,8 @@ snGradSchemes fluxRequired { default no; - phi; + phi ; } + // ************************************************************************* // diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution index 5bfe4c6c5a4..8200d7d1a1f 100644 --- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution +++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,29 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - phi PCG + phi { - preconditioner DIC; - tolerance 1e-08; - relTol 0.2; - }; - rho PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-08; + relTol 0.2; + } + + rho { - preconditioner DILU; - tolerance 1e-08; - relTol 0.2; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.2; + } } + // ************************************************************************* // diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary b/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary index 0be28ca2082..6b2eb175620 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary +++ b/tutorials/electromagnetics/mhdFoam/hartmann/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev-8cbffd16687e | +| \\ / O peration | Version: 1.5-8cbffd16687e | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties b/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties index 4466758559e..884ea21fed5 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties +++ b/tutorials/electromagnetics/mhdFoam/hartmann/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -rho rho [1 -3 0 0 0 0 0] 1; +rho rho [ 1 -3 0 0 0 0 0 ] 1; -nu nu [0 2 -1 0 0 0 0] 1; +nu nu [ 0 2 -1 0 0 0 0 ] 1; -mu mu [1 1 -2 0 0 -2 0] 1; +mu mu [ 1 1 -2 0 0 -2 0 ] 1; + +sigma sigma [ -1 -3 3 0 0 2 0 ] 1; -sigma sigma [-1 -3 3 0 0 2 0] 1; // ************************************************************************* // diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict index 267187bdbf6..4e7c7961eff 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes index ac40c59658b..7a294b277b6 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -59,8 +60,9 @@ snGradSchemes fluxRequired { default no; - p; - pB; + p ; + pB ; } + // ************************************************************************* // diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution index 89f066f29e7..bf2138f3d4d 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - pB PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + pB { - preconditioner DIC; - tolerance 1e-05; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } } PISO @@ -53,4 +61,5 @@ BPISO nCorrectors 3; } + // ************************************************************************* // diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict b/tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict index e62120c8697..9fa14b49198 100644 --- a/tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict +++ b/tutorials/electromagnetics/mhdFoam/hartmann/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,33 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -setFormat raw; +setFormat raw; -sets -( - line_centreProfile - { - type uniform; +sets ( line_centreProfile { type uniform ; axis distance ; start ( 10.001 -1 0.01 ) ; end ( 10.001 1 0.01 ) ; nPoints 100 ; } ); - axis distance; - start (10.001 -1 0.01); - end (10.001 1 0.01); - nPoints 100; - } -); +surfaces ( ); -surfaces -(); +fields ( Ux ); -fields -( - Ux -); // ************************************************************************* // diff --git a/tutorials/financial/financialFoam/europeanCall/constant/financialProperties b/tutorials/financial/financialFoam/europeanCall/constant/financialProperties index c6ee52d4f36..d8f847422d7 100644 --- a/tutorials/financial/financialFoam/europeanCall/constant/financialProperties +++ b/tutorials/financial/financialFoam/europeanCall/constant/financialProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object financialProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -strike strike [0 1 0 0 0 0 0] 40; +strike strike [ 0 1 0 0 0 0 0 ] 40; -r r [0 0 -1 0 0 0 0] 0.1; +r r [ 0 0 -1 0 0 0 0 ] 0.1; -sigma sigma [0 0 -0.5 0 0 0 0] 0.2; +sigma sigma [ 0 0 -0.5 0 0 0 0 ] 0.2; -s s [0 0 -1 0 0 0 0] 0; +s s [ 0 0 -1 0 0 0 0 ] 0; -xi xi [0 0 -0.5 0 0 0 0] 0.1; +xi xi [ 0 0 -0.5 0 0 0 0 ] 0.1; + +eta eta [ 0 0 0 0 0 0 0 ] 0; -eta eta [0 0 0 0 0 0 0] 0; // ************************************************************************* // diff --git a/tutorials/financial/financialFoam/europeanCall/system/controlDict b/tutorials/financial/financialFoam/europeanCall/system/controlDict index 4cb5448f1de..d24c1823498 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/controlDict +++ b/tutorials/financial/financialFoam/europeanCall/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ runTimeModifiable yes; graphFormat raw; + // ************************************************************************* // diff --git a/tutorials/financial/financialFoam/europeanCall/system/fvSchemes b/tutorials/financial/financialFoam/europeanCall/system/fvSchemes index b0868a0ec48..5617eab9d79 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/fvSchemes +++ b/tutorials/financial/financialFoam/europeanCall/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -47,4 +48,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/financial/financialFoam/europeanCall/system/fvSolution b/tutorials/financial/financialFoam/europeanCall/system/fvSolution index 49b0058c61e..7d17c2314f6 100644 --- a/tutorials/financial/financialFoam/europeanCall/system/fvSolution +++ b/tutorials/financial/financialFoam/europeanCall/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,18 +10,21 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - V PBiCG + V { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties index 5facd481a88..35b5a409f23 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0.85; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0.85; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties index 845c425d42f..f826516c2eb 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,6 +19,7 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1000 0 1.8e-05 0.7; -pRef 1e5; +pRef 100000; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties index 321c08496ae..b70f6702e4e 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//simulationType laminar; -simulationType RASModel; -//simulationType LESModel; +simulationType RASModel; // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict index 513d5d8d857..f413425423b 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes index fb77a2e8897..1006ba6d1fa 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -60,7 +61,8 @@ snGradSchemes fluxRequired { default no; - pd; + pd ; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution index da2b1edf7c2..c7dcb8279da 100644 --- a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,60 +10,76 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - rho PCG + rho { - preconditioner DIC; - tolerance 0; - relTol 0; - }; - pd PCG + solver PCG; + preconditioner DIC; + tolerance 0; + relTol 0; + } + + pd { - preconditioner DIC; - tolerance 1e-06; - relTol 0.1; - }; - pdFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.1; + } + + pdFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -72,4 +88,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat index a413baf8ed5..3bcb9c03b13 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/alphat @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon index 243a852f894..fcda1ad91f0 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old index f39bcff9427..d7f61316978 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/epsilon.old @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k index 1b8a55e1b59..93cd1e0334f 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old index 6289576d782..1130003c3b0 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/k.old @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut index 64a67eea2ad..fca37fcb40b 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/0/mut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties index 5facd481a88..35b5a409f23 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0.85; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0.85; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary index 9590626e73b..d0eb52935f2 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties index 845c425d42f..f826516c2eb 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,6 +19,7 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1000 0 1.8e-05 0.7; -pRef 1e5; +pRef 100000; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict index b29648dddaa..bfc52cf914e 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes index 3430f8f76ef..9dbebd21cbc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -60,7 +61,8 @@ snGradSchemes fluxRequired { default no; - pd; + pd ; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution index fecb215fc68..dfbfd6a27f1 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,60 +10,72 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pd PCG + pd { - preconditioner DIC; - tolerance 1e-08; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-08; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } SIMPLE { nNonOrthogonalCorrectors 0; - pdRefCell 0; - pdRefValue 0; + pdRefCell 0; + pdRefValue 0; } relaxationFactors { - rho 1.0; + rho 1; pd 0.3; U 0.7; h 0.7; @@ -72,4 +84,5 @@ relaxationFactors R 0.7; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties index 5facd481a88..35b5a409f23 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,73 +27,74 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0.85; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0.85; + alphah 1; + alphak 1; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - C3 -0.33; - alphah 1; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + C3 -0.33; + alphah 1; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.33; - alphah 1; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.33; + alphah 1; + alphak 1; + alphaEps 0.76923; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - alphah 1; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaR 1; - alphaEps 0.76923; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + alphah 1; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaR 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties index 9c35d375b1e..639bd90b066 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties index 4ff28e364d3..d8bbfe7f595 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/radiationProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; - object environmentalProperties; + location "constant"; + object radiationProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -radiation on; +radiation on; -radiationModel P1; +radiationModel P1; noRadiation { @@ -30,17 +31,18 @@ absorptionEmissionModel constantAbsorptionEmission; constantAbsorptionEmissionCoeffs { - a a [ 0 -1 0 0 0 0 0] 0.5; - e e [ 0 -1 0 0 0 0 0] 0.5; - E E [ 1 -1 -3 0 0 0 0] 0.0; + a a [ 0 -1 0 0 0 0 0 ] 0.5; + e e [ 0 -1 0 0 0 0 0 ] 0.5; + E E [ 1 -1 -3 0 0 0 0 ] 0; } -scatterModel constantScatter; +scatterModel constantScatter; constantScatterCoeffs { - sigma sigma [ 0 -1 0 0 0 0 0] 0.0; - C C [ 0 0 0 0 0 0 0] 0.0; + sigma sigma [ 0 -1 0 0 0 0 0 ] 0; + C C [ 0 0 0 0 0 0 0 ] 0; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties index 845c425d42f..f826516c2eb 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/constant/thermophysicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermophysicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -18,6 +19,7 @@ thermoType hThermo<pureMixture<constTransport<specieThermo<hConstThermo<per mixture air 1 28.9 1000 0 1.8e-05 0.7; -pRef 1e5; +pRef 100000; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict index b29648dddaa..bfc52cf914e 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes index 248f87defa6..2263c097753 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -61,7 +62,8 @@ snGradSchemes fluxRequired { default no; - pd; + pd ; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution index 7bc226e1319..f6c1f9453a3 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,60 +10,72 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pd PCG + pd { - preconditioner DIC; - tolerance 1e-06; - relTol 0.01; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - h PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + h { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - G PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + G { - preconditioner DIC; - tolerance 1e-05; - relTol 0.1; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0.1; + } } SIMPLE { nNonOrthogonalCorrectors 0; - pdRefCell 0; - pdRefValue 0; + pdRefCell 0; + pdRefValue 0; } relaxationFactors { - rho 1.0; + rho 1; pd 0.3; U 0.7; h 0.7; @@ -72,4 +84,5 @@ relaxationFactors G 0.7; } + // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary index f47b89c7057..69a0952209d 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties index bff96505ebe..e72fde91a8b 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/constant/regionProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object regionProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -fluidRegionNames -( - bottomAir - topAir -); +fluidRegionNames ( bottomAir topAir ); -solidRegionNames -( - heater - leftSolid - rightSolid -); +solidRegionNames ( heater leftSolid rightSolid ); + +pRef 100000; -pRef 100000; // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict index 946dee0084c..2a5d32fc955 100644 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -26,9 +26,8 @@ endTime 180; deltaT 0.001; writeControl adjustableRunTime; + writeInterval 5; -// writeControl timeStep; -// writeInterval 20; purgeWrite 0; @@ -48,4 +47,5 @@ maxCo 0.3; adjustTimeStep yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones index 4ac648890f4..7c8989f567d 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object MRFZones; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties index a8a3fab2bae..36c840062fd 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,166 +27,166 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict index ba8565090f4..c0bac183dec 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,33 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMeshLib "libtopoChangerFvMesh.so"; -dynamicFvMesh mixerFvMesh; +dynamicFvMeshLib "libtopoChangerFvMesh.so"; + +dynamicFvMesh mixerFvMesh; mixerFvMeshCoeffs { coordinateSystem { type cylindrical; - origin (0 0 0); - axis (0 0 1); - direction (1 0 0); + origin ( 0 0 0 ); + axis ( 0 0 1 ); + direction ( 1 0 0 ); } rpm 10; slider { - inside insideSlider; - outside outsideSlider; + inside insideSlider; + outside outsideSlider; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict index 3c56c10e12a..6d1af846e3c 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/cellSetDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,27 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object cellSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Name of set to operate on -name rotor; +name rotor; -// One of clear/new/invert/add/delete|subset/list -action new; +action new; -// Actions to apply to cellSet. These are all the topoSetSource's ending -// in ..ToCell (see the meshTools library). +topoSetSources ( zoneToCell { name rotor ; } ); -topoSetSources -( - // Cells in cell zone - zoneToCell - { - name rotor; // name of cellZone - } - -); // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict index 2afc0afc4f4..5ffeca45c19 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict index 23471a04ad9..5507dbd7294 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object faceSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Name of set to operate on -name rotor; +name rotor; -// One of clear/new/invert/add/delete|subset/list -action delete; +action delete; + +topoSetSources ( boundaryToFace { } ); -// Actions to apply to pointSet. These are all the topoSetSource's ending -// in ..ToFace (see the meshTools library). -topoSetSources -( - // Select boundary faces - boundaryToFace - { - } -); // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces index 23471a04ad9..06272769832 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_noBoundaryFaces @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object faceSetDict; + location "system"; + object faceSetDict_noBoundaryFaces; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Name of set to operate on -name rotor; +name rotor; -// One of clear/new/invert/add/delete|subset/list -action delete; +action delete; + +topoSetSources ( boundaryToFace { } ); -// Actions to apply to pointSet. These are all the topoSetSource's ending -// in ..ToFace (see the meshTools library). -topoSetSources -( - // Select boundary faces - boundaryToFace - { - } -); // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces index d8e4665ba95..5e7917b2fe4 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/faceSetDict_rotorFaces @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object faceSetDict; + location "system"; + object faceSetDict_rotorFaces; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Name of set to operate on -name rotor; +name rotor; -// One of clear/new/invert/add/delete|subset/list -action new; +action new; + +topoSetSources ( cellToFace { set rotor ; option all ; } ); -// Actions to apply to pointSet. These are all the topoSetSource's ending -// in ..ToFace (see the meshTools library). -topoSetSources -( - // Select based on cellSet - cellToFace - { - set rotor; - option all; // All faces of cells - } -); // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes index 2e72f9dd375..1941f8b8d7b 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -58,7 +59,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution index 1a2ddd83a3a..a33d7a62e6a 100644 --- a/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,56 +10,58 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0.05; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; cacheAgglomeration true; - nCellsInCoarsestLevel 20; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - U smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } - k smoothSolver + k { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } - epsilon smoothSolver + epsilon { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-7; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } } SIMPLE { nNonOrthogonalCorrectors 0; - pRefCell 0; - pRefValue 0; + pRefCell 0; + pRefValue 0; } relaxationFactors @@ -70,4 +72,5 @@ relaxationFactors epsilon 0.5; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties index 8bb764255ae..7bffdbfa6bc 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel LaunderSharmaKE; +RASModel LaunderSharmaKE; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -46,17 +47,16 @@ RNGkEpsilonCoeffs kOmegaSSTCoeffs { alphaK1 0.85034; - alphaK2 1.0; + alphaK2 1; alphaOmega1 0.5; alphaOmega2 0.85616; gamma1 0.5532; gamma2 0.4403; - beta1 0.0750; + beta1 0.075; beta2 0.0828; betaStar 0.09; a1 0.31; c1 10; - Cmu 0.09; } @@ -179,7 +179,7 @@ SpalartAllmarasCoeffs Cw2 0.3; Cw3 2; Cv1 7.1; - Cv2 5.0; + Cv2 5; } wallFunctionCoeffs @@ -188,4 +188,5 @@ wallFunctionCoeffs E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties index 2e701364939..c853d571dd4 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Ubar Ubar [0 1 -1 0 0 0 0] (10 0 0); +Ubar Ubar [ 0 1 -1 0 0 0 0 ] ( 10 0 0 ); transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict index db61aae9da3..d3dd7b0ae51 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ runTimeModifiable yes; graphFormat raw; + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes index 82875da8a07..c5174e958c4 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -54,4 +55,5 @@ snGradSchemes default corrected; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution index 7f9f7b1c5e7..73dc214917b 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,42 +10,52 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - U PCG + U { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - k PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } } PISO @@ -63,4 +73,5 @@ relaxationFactors nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties index 6f833da95cd..36c840062fd 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,293 +10,183 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Turbulence model selection -RASModel kEpsilon; +RASModel kEpsilon; -// Do you wish to calculate turbulence? -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; -// Laminar model coefficients laminarCoeffs { } -// Standard k-epsilon model coefficients kEpsilonCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } -// RNG k-epsilon model coefficients RNGkEpsilonCoeffs { - // Cmu - Cmu 0.0845; - // C1 - C1 1.42; - // C2 - C2 1.68; - // alphak - alphak 1.39; - // alphaEps - alphaEps 1.39; - // eta0 - eta0 4.38; - // beta - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } -// k-omega-SST model coefficients kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } -// Shih non-Linear k-epsilon model coefficients NonlinearKEShihCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76932; - // A1 - A1 1.25; - // A2 - A2 1000; - // Ctau1 - Ctau1 -4; - // Ctau2 - Ctau2 13; - // Ctau3 - Ctau3 -2; - // alphaKsi - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } -// Lien non-Linear cubic k-epsilon model coefficients LienCubicKECoeffs { - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; - // A1 - A1 1.25; - // A2 - A2 1000; - // Ctau1 - Ctau1 -4; - // Ctau2 - Ctau2 13; - // Ctau3 - Ctau3 -2; - // alphaKsi - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } -// Gibson's q-zeta low Reynolds number k-epsilon model coefficients QZetaCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphaZeta - alphaZeta 0.76923; - // anisotropic? + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } -// Launder-Sharma low Reynolds number k-epsilon model coefficients LaunderSharmaKECoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } -// Lam-Bremhorst low Reynolds number k-Epsilon model coefficients LamBremhorstKECoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } -// Lien-Leschziner low Reynolds number cubic k-epsilon model coefficients LienCubicKELowReCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; - // A1 - A1 1.25; - // A2 - A2 1000; - // Ctau1 - Ctau1 -4; - // Ctau2 - Ctau2 13; - // Ctau3 - Ctau3 -2; - // alphaKsi - alphaKsi 0.9; - // Am - Am 0.016; - // Aepsilon - Aepsilon 0.263; - // Amu - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } -// Lien-Leschziner low Reynolds number cubic k-epsilon model coefficients LienLeschzinerLowReCoeffs { - // Cmu - Cmu 0.09; - // C1 - C1 1.44; - // C2 - C2 1.92; - // alphak - alphak 1; - // alphaEps - alphaEps 0.76923; - // Am - Am 0.016; - // Aepsilon - Aepsilon 0.263; - // Amu - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } -// Launder-Reece-Rodi RSTM with wall functions model coefficients LRRCoeffs { - // Cmu - Cmu 0.09; - // Clrr1 - Clrr1 1.8; - // Clrr2 - Clrr2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphaEps - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } -// Launder-Gibson RSTM with wall reflection and wall functions model coefficients LaunderGibsonRSTMCoeffs { - // Cmu - Cmu 0.09; - // Clg1 - Clg1 1.8; - // Clg2 - Clg2 0.6; - // C1 - C1 1.44; - // C2 - C2 1.92; - // C1Ref - C1Ref 0.5; - // C2Ref - C2Ref 0.3; - // Cs - Cs 0.25; - // Ceps - Ceps 0.15; - // alphaEps - alphaEps 0.76923; - // alphaR - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } -// Standard Spalart-Allmaras model coefficients SpalartAllmarasCoeffs { - // alphaNut - alphaNut 1.5; - // Cb1 - Cb1 0.1355; - // Cb2 - Cb2 0.622; - // Cw2 - Cw2 0.3; - // Cw3 - Cw3 2; - // Cv1 - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } -// Wall function coefficients wallFunctionCoeffs { - // kappa - kappa 0.4187; - // E - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties index 37d703adcb3..c853d571dd4 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,43 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Ubar -Ubar Ubar [0 1 -1 0 0 0 0] (10 0 0); +Ubar Ubar [ 0 1 -1 0 0 0 0 ] ( 10 0 0 ); -// Laminar incompressible transport model transportModel Newtonian; -// nu -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; -// Coefficients for Cross's Power Law CrossPowerLawCoeffs { - // nu0 - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - // nuInf - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - // m - m m [0 0 1 0 0 0 0] 1; - // n - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } -// Coefficients for Bird-Carreau Law BirdCarreauCoeffs { - // nu0 - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - // nuInf - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - // k - k k [0 0 1 0 0 0 0] 0; - // n - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict index 0ae7a20daf5..d3dd7b0ae51 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,55 +10,40 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Foam Application Class - -// Start point of run startFrom startTime; -// Calculation start time startTime 0; -// End point of run stopAt endTime; -// Calculation end time endTime 1000; -// Calculation time step deltaT 1; -// Type of write output control writeControl timeStep; -// Interval with which the results are output writeInterval 100; -// Limits number of time directories before overwriting purgeWrite 0; -// Write Format writeFormat ascii; -// Significant figures of written ASCII data writePrecision 6; -// Write Compression writeCompression uncompressed; -// Time directories name format timeFormat general; -// Decimal precision of time directory names timePrecision 6; -// Can parameters be modified during run time? runTimeModifiable yes; -// Output format for graphs graphFormat raw; + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes index 3e867f47815..c5174e958c4 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,23 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Time derivative discretisation schemes ddtSchemes { - // Default scheme default steadyState; } -// Gradient discretisation schemes gradSchemes { - // Default gradient scheme default Gauss linear; } -// Convection discretisation schemes divSchemes { - // Default scheme default none; div(phi,k) Gauss linear; div(phi,epsilon) Gauss linear; @@ -40,10 +35,8 @@ divSchemes div((nuEff*dev(grad(U).T()))) Gauss linear; } -// Laplacian discretisation schemes laplacianSchemes { - // Default scheme default none; laplacian(nuEff,U) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; @@ -52,18 +45,15 @@ laplacianSchemes laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; } -// Interpolation schemes interpolationSchemes { - // Default scheme default linear; } -// Surface normal gradient schemes snGradSchemes { - // Default scheme default corrected; } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution index 537858fc333..508336e30cf 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,73 +10,70 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - // Solver for the U equation - U PCG + U { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - // Solver for the k equation - k PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - // Solver for the epsilon equation - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - // Solver for the R equation - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - // Solver for the nuTilda equation - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } } PISO { - // Number of PISO correctors nCorrectors 2; - // Number of non-orthogonal correctors nNonOrthogonalCorrectors 0; - // momentumPredictor? momentumPredictor yes; - // fluxGradp? fluxGradp no; } relaxationFactors { - // U U 0.5; - // k k 0.7; - // epsilon epsilon 0.7; - // R R 0.7; - // nuTilda nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/constant/LESProperties b/tutorials/incompressible/channelFoam/channel395/constant/LESProperties index da3b2d07d56..8c32bfa67ce 100644 --- a/tutorials/incompressible/channelFoam/channel395/constant/LESProperties +++ b/tutorials/incompressible/channelFoam/channel395/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel oneEqEddy; +LESModel oneEqEddy; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; -delta vanDriest; +delta vanDriest; laminarCoeffs { @@ -28,90 +29,90 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -126,6 +127,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -133,9 +135,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -145,6 +149,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -152,10 +157,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -165,14 +172,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/constant/postChannelDict b/tutorials/incompressible/channelFoam/channel395/constant/postChannelDict index d63cd656675..89fcd508096 100644 --- a/tutorials/incompressible/channelFoam/channel395/constant/postChannelDict +++ b/tutorials/incompressible/channelFoam/channel395/constant/postChannelDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,19 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object postChannelDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Seed patches to start layering from -patches (bottomWall); +patches ( bottomWall ); + +component y; -// Direction in which the layers are -component y; +symmetric true; -// Is the mesh symmetric? If so average(symmetric fields) or -// subtract(asymmetric) contributions from both halves -symmetric true; // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/constant/transportProperties b/tutorials/incompressible/channelFoam/channel395/constant/transportProperties index c9bc77911ec..da91d4f4646 100644 --- a/tutorials/incompressible/channelFoam/channel395/constant/transportProperties +++ b/tutorials/incompressible/channelFoam/channel395/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Ubar Ubar [0 1 -1 0 0 0 0] (0.1335 0 0); +Ubar Ubar [ 0 1 -1 0 0 0 0 ] ( 0.1335 0 0 ); transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 2e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/system/controlDict b/tutorials/incompressible/channelFoam/channel395/system/controlDict index 8ac4d8f3592..2ca28c29a11 100644 --- a/tutorials/incompressible/channelFoam/channel395/system/controlDict +++ b/tutorials/incompressible/channelFoam/channel395/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,37 +43,7 @@ timePrecision 6; runTimeModifiable yes; -functions -( - fieldAverage1 - { - // Type of functionObject - type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - - enabled true; - - outputControl outputTime; - - // Fields to be averaged - runTime modifiable - fields - ( - U - { - mean on; - prime2Mean on; - base time; - } - p - { - mean on; - prime2Mean on; - base time; - } - ); - } -); +functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; enabled true ; outputControl outputTime ; fields ( U { mean on ; prime2Mean on ; base time ; } p { mean on ; prime2Mean on ; base time ; } ) ; } ); + // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/system/fvSchemes b/tutorials/incompressible/channelFoam/channel395/system/fvSchemes index d747166f05d..4a4278dda93 100644 --- a/tutorials/incompressible/channelFoam/channel395/system/fvSchemes +++ b/tutorials/incompressible/channelFoam/channel395/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default backward; + default backward; } gradSchemes @@ -61,7 +62,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/channelFoam/channel395/system/fvSolution b/tutorials/incompressible/channelFoam/channel395/system/fvSolution index 80dc8f8ef7c..836e1ef0b2f 100644 --- a/tutorials/incompressible/channelFoam/channel395/system/fvSolution +++ b/tutorials/incompressible/channelFoam/channel395/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; - }; - pFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.05; + } + + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -62,4 +74,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict b/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict index 68afe8d5785..14c08af36e2 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict +++ b/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict @@ -2,31 +2,26 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh dynamicMotionSolverFvMesh; +dynamicFvMesh dynamicMotionSolverFvMesh; -motionSolverLibs ("libfvMotionSolvers.so"); +motionSolverLibs ( "libfvMotionSolvers.so" ); -//solver laplacian; -solver velocityComponentLaplacian x; +solver velocityComponentLaplacian x; + +diffusivity directional ( 1 200 0 ); -// diffusivity uniform; -diffusivity directional (1 200 0); -// diffusivity motionDirectional (1 1000 0); -// diffusivity inverseDistance 1(movingWall); -// diffusivity file motionDiffusivity; -// diffusivity quadratic inverseDistance 1(movingWall); -// diffusivity exponential 2000 inverseDistance 1(movingWall); // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties b/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties index 793572135be..cdd96395a83 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties +++ b/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties @@ -2,18 +2,20 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict b/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict index f6035d845c3..3e9d4d55765 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict +++ b/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict @@ -2,19 +2,19 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,4 +47,5 @@ adjustTimeStep no; maxCo 0.2; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes index 4e8e6a520ca..092fc762b36 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes +++ b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes @@ -2,21 +2,22 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -37,7 +38,6 @@ laplacianSchemes laplacian(nu,U) Gauss linear corrected; laplacian(rAU,pcorr) Gauss linear corrected; laplacian(rAU,p) Gauss linear corrected; - laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; } @@ -55,8 +55,9 @@ snGradSchemes fluxRequired { default no; - pcorr; - p; + pcorr ; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution index a348c8239f6..486f7ad5fb2 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution +++ b/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution @@ -2,54 +2,60 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner DIC; - tolerance 1e-02; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 0.01; + relTol 0; + } - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.05; + } - pFinal PCG + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } - cellMotionUx PCG + cellMotionUx { - preconditioner DIC; - tolerance 1e-08; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-08; + relTol 0; + } } PISO @@ -58,4 +64,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution b/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution index 7d2e64868b1..a953cbea78c 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution +++ b/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution @@ -2,14 +2,15 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object tetFemSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -19,4 +20,5 @@ solvers motionU ICCG 1e-06 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavity/constant/transportProperties b/tutorials/incompressible/icoFoam/cavity/constant/transportProperties index cdba3d7843f..673c8479a26 100644 --- a/tutorials/incompressible/icoFoam/cavity/constant/transportProperties +++ b/tutorials/incompressible/icoFoam/cavity/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 0.01; +nu nu [ 0 2 -1 0 0 0 0 ] 0.01; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavity/system/controlDict b/tutorials/incompressible/icoFoam/cavity/system/controlDict index 17032f75aba..d2d91fe2ec3 100644 --- a/tutorials/incompressible/icoFoam/cavity/system/controlDict +++ b/tutorials/incompressible/icoFoam/cavity/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavity/system/fvSchemes b/tutorials/incompressible/icoFoam/cavity/system/fvSchemes index 712cc1a6039..80e325f2207 100644 --- a/tutorials/incompressible/icoFoam/cavity/system/fvSchemes +++ b/tutorials/incompressible/icoFoam/cavity/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavity/system/fvSolution b/tutorials/incompressible/icoFoam/cavity/system/fvSolution index 07e380a3587..46670343363 100644 --- a/tutorials/incompressible/icoFoam/cavity/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavity/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,25 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -39,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties b/tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties index cdba3d7843f..673c8479a26 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties +++ b/tutorials/incompressible/icoFoam/cavityClipped/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 0.01; +nu nu [ 0 2 -1 0 0 0 0 ] 0.01; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityClipped/system/controlDict b/tutorials/incompressible/icoFoam/cavityClipped/system/controlDict index 5c66b311095..07204830ae4 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/system/controlDict +++ b/tutorials/incompressible/icoFoam/cavityClipped/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0.5; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes index 46492b3d9c0..80e325f2207 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes +++ b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution index c78cc469b78..46670343363 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -38,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict b/tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict index 3a4867ef76b..20b346f8480 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict +++ b/tutorials/incompressible/icoFoam/cavityClipped/system/mapFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,18 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mapFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -patchMap -( - lid movingWall -); +patchMap ( lid movingWall ); + +cuttingPatches ( fixedWalls ); -cuttingPatches -( - fixedWalls -); // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties b/tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties index cdba3d7843f..673c8479a26 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties +++ b/tutorials/incompressible/icoFoam/cavityGrade/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 0.01; +nu nu [ 0 2 -1 0 0 0 0 ] 0.01; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityGrade/system/controlDict b/tutorials/incompressible/icoFoam/cavityGrade/system/controlDict index 266d138f792..db022260482 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/system/controlDict +++ b/tutorials/incompressible/icoFoam/cavityGrade/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0.7; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes index 46492b3d9c0..80e325f2207 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes +++ b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution index c78cc469b78..46670343363 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -38,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict b/tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict index 626289bcc0c..a44b5318865 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict +++ b/tutorials/incompressible/icoFoam/cavityGrade/system/mapFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mapFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -patchMap -( -); +patchMap ( ); + +cuttingPatches ( ); -cuttingPatches -( -); // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/elbow/constant/transportProperties b/tutorials/incompressible/icoFoam/elbow/constant/transportProperties index cdba3d7843f..673c8479a26 100644 --- a/tutorials/incompressible/icoFoam/elbow/constant/transportProperties +++ b/tutorials/incompressible/icoFoam/elbow/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [0 2 -1 0 0 0 0] 0.01; +nu nu [ 0 2 -1 0 0 0 0 ] 0.01; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/elbow/system/controlDict b/tutorials/incompressible/icoFoam/elbow/system/controlDict index 07c621ef186..da4697ad557 100644 --- a/tutorials/incompressible/icoFoam/elbow/system/controlDict +++ b/tutorials/incompressible/icoFoam/elbow/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict b/tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict index 2500971b112..8c862c612a0 100644 --- a/tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict +++ b/tutorials/incompressible/icoFoam/elbow/system/foamDataToFluentDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object foamDataToFluentDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -28,4 +29,5 @@ epsilon 6; gamma 150; + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/elbow/system/fvSchemes b/tutorials/incompressible/icoFoam/elbow/system/fvSchemes index 23fa68cc10a..f7edfb6abf9 100644 --- a/tutorials/incompressible/icoFoam/elbow/system/fvSchemes +++ b/tutorials/incompressible/icoFoam/elbow/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/elbow/system/fvSolution b/tutorials/incompressible/icoFoam/elbow/system/fvSolution index 57e726c13ad..0351e82f817 100644 --- a/tutorials/incompressible/icoFoam/elbow/system/fvSolution +++ b/tutorials/incompressible/icoFoam/elbow/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -36,4 +40,5 @@ PISO nNonOrthogonalCorrectors 2; } + // ************************************************************************* // diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties index a177fd7947a..3be0d60ae2c 100644 --- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties +++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel CrossPowerLaw; -nu nu [0 2 -1 0 0 0 0] 1; +nu nu [ 0 2 -1 0 0 0 0 ] 1; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.01; - nuInf nuInf [0 2 -1 0 0 0 0] 10; - m m [0 0 1 0 0 0 0] 0.4; - n n [0 0 0 0 0 0 0] 3; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.01; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 10; + m m [ 0 0 1 0 0 0 0 ] 0.4; + n n [ 0 0 0 0 0 0 0 ] 3; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict index 4d404e35f6b..55886792bdd 100644 --- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict +++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes index 1decc09a6e6..67dc9336eef 100644 --- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes +++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution index 9ee7a559e4d..5eb4c1f30ec 100644 --- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution +++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -36,4 +40,5 @@ PISO nNonOrthogonalCorrectors 2; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties b/tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties index e46e0a858b1..559c506d111 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties +++ b/tutorials/incompressible/pimpleFoam/t-junction/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,175 +27,175 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary index 4ea7f95a3e9..a6e8b86643c 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary +++ b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties b/tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties +++ b/tutorials/incompressible/pimpleFoam/t-junction/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict b/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict index ca979c4a6b9..e312fcb839f 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict +++ b/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -44,38 +44,10 @@ timePrecision 6; runTimeModifiable yes; adjustTimeStep yes; + maxCo 5; -functions -( - probes - { - // Type of functionObject - type probes; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Name of the directory for the probe data - name probes; - - // Locations to be probed. runTime modifiable! - probeLocations - ( - (1E-6 0 0.01) // at inlet - (0.21 -0.20999 0.01) // at outlet1 - (0.21 0.20999 0.01) // at outlet2 - (0.21 0 0.01) // at central block - ); - - // Fields to be probed. runTime modifiable! - fields - ( - p - U - ); - } -); +functions ( probes { type probes ; functionObjectLibs ( "libsampling.so" ) ; name probes ; probeLocations ( ( 1e-06 0 0.01 ) ( 0.21 -0.20999 0.01 ) ( 0.21 0.20999 0.01 ) ( 0.21 0 0.01 ) ) ; fields ( p U ) ; } ); // ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes index bbe7fab0d2e..2535b6a258d 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes +++ b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -63,7 +64,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution index 995edf623c2..5b237f6dfe4 100644 --- a/tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/t-junction/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,61 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-6; - relTol 0.01; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-06; + relTol 0.01; + smoother GaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - pFinal GAMG - { - tolerance 1e-6; - relTol 0.0; - - smoother GaussSeidel; + agglomerator faceAreaPair; + mergeLevels 1; + } + pFinal + { + solver GAMG; + tolerance 1e-06; + relTol 0; + smoother GaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - UFinal PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + UFinal { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PIMPLE @@ -78,10 +85,9 @@ PIMPLE relaxationFactors { - //p 0.3; - U 1.0; - k 1.0; - epsilon 1.0; + U 1; + k 1; + epsilon 1; } diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties index 336220cfbb4..0d948b7ff1b 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -turbulence on; +turbulence on; -LESModel oneEqEddy; +LESModel oneEqEddy; -delta cubeRootVol; +delta cubeRootVol; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -28,90 +29,90 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -126,6 +127,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -133,9 +135,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -145,6 +149,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -152,10 +157,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -165,14 +172,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary index 313dcceba1a..903f3ef57e0 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties index dcadcf17cd9..2e42797ca95 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType LESModel; + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict index 627a1b2516e..ba9c0f1c408 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,30 +47,22 @@ functions ( probes1 { - // Type of functionObject type probes; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - + functionObjectLibs ( "libsampling.so" ); enabled true; - outputControl timeStep; outputInterval 1; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0.0254 0.0253 0.0) - (0.0508 0.0253 0.0) - (0.0762 0.0253 0.0) - (0.1016 0.0253 0.0) - (0.1270 0.0253 0.0) - (0.1524 0.0253 0.0) - (0.1778 0.0253 0.0) + ( 0.0254 0.0253 0 ) + ( 0.0508 0.0253 0 ) + ( 0.0762 0.0253 0 ) + ( 0.1016 0.0253 0 ) + ( 0.127 0.0253 0 ) + ( 0.1524 0.0253 0 ) + ( 0.1778 0.0253 0 ) ); - // Fields to be probed. runTime modifiable! fields ( p @@ -79,33 +71,28 @@ functions fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled true; - outputControl outputTime; - - // Fields to be averaged - runTime modifiable fields ( U { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } + p { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes index 9c7d6d936d9..5f9d2562590 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default backward; + default backward; } gradSchemes @@ -33,7 +34,6 @@ divSchemes div(phi,k) Gauss limitedLinear 1; div(phi,B) Gauss limitedLinear 1; div(phi,nuTilda) Gauss limitedLinear 1; - div(B) Gauss linear; div((nuEff*dev(grad(U).T()))) Gauss linear; } @@ -62,7 +62,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution index f2a22c6fa4d..486c70a9d67 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; - }; - pFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.05; + } + + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -60,4 +72,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties index 336220cfbb4..0d948b7ff1b 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -turbulence on; +turbulence on; -LESModel oneEqEddy; +LESModel oneEqEddy; -delta cubeRootVol; +delta cubeRootVol; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -28,90 +29,90 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -126,6 +127,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -133,9 +135,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -145,6 +149,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -152,10 +157,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -165,14 +172,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary index 8f75d94824c..0b56bb9f5e8 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties index dcadcf17cd9..2e42797ca95 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType LESModel; + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict index 7ae2253dbf5..9490b843323 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/changeDictionaryDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,24 @@ FoamFile version 2.0; format ascii; class dictionary; - object changePatchTypeDict; + location "system"; + object changeDictionaryDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dictionaryReplacement { - // boundary handled explicitly since not dictionary. boundary { inlet { type directMappedPatch; - offset (0.0495 0 0); + offset ( 0.0495 0 0 ); sampleMode nearestCell; samplePatch none; } } } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict index 627a1b2516e..2f1e1a9074d 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -47,30 +47,21 @@ functions ( probes1 { - // Type of functionObject type probes; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - + functionObjectLibs ( "libsampling.so" ); enabled true; - outputControl timeStep; outputInterval 1; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0.0254 0.0253 0.0) - (0.0508 0.0253 0.0) - (0.0762 0.0253 0.0) - (0.1016 0.0253 0.0) - (0.1270 0.0253 0.0) - (0.1524 0.0253 0.0) - (0.1778 0.0253 0.0) + ( 0.0254 0.0253 0 ) + ( 0.0508 0.0253 0 ) + ( 0.0762 0.0253 0 ) + ( 0.1016 0.0253 0 ) + ( 0.127 0.0253 0 ) + ( 0.1524 0.0253 0 ) + ( 0.1778 0.0253 0 ) ); - - // Fields to be probed. runTime modifiable! fields ( p @@ -79,33 +70,28 @@ functions fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled true; - outputControl outputTime; - - // Fields to be averaged - runTime modifiable fields ( U { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } + p { - mean on; - prime2Mean on; - base time; + mean on; + prime2Mean on; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict index 6f0a26b2e80..d05a60d7eae 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,37 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 8; -//method hierarchical; method metis; simpleCoeffs { - n (2 1 1); + n ( 2 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (2 1 1); + n ( 2 1 1 ); delta 0.001; order xyz; } metisCoeffs { - //processorWeights - //( - // 1 - // 1 - // 1 - // 1 - //); } manualCoeffs @@ -50,8 +43,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes index 759d8e2a91d..4bbb97c52c3 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default backward; + default backward; } gradSchemes @@ -29,13 +30,10 @@ gradSchemes divSchemes { default none; - // rate(0.2) of adding gradient, allow unboundedness(0.) - div(phi,U) Gauss filteredLinear2V 0.2 0.0; - //div(phi,U) Gauss linear; + div(phi,U) Gauss filteredLinear2V 0.2 0; div(phi,k) Gauss limitedLinear 1; div(phi,B) Gauss limitedLinear 1; div(phi,nuTilda) Gauss limitedLinear 1; - div(B) Gauss linear; div((nuEff*dev(grad(U).T()))) Gauss linear; } @@ -64,7 +62,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution index f2a22c6fa4d..486c70a9d67 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyDirectMapped/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; - }; - pFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.05; + } + + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -60,4 +72,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon b/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon index 6b009c939ad..1dcb29b690a 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon +++ b/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/k b/tutorials/incompressible/pisoFoam/ras/cavity/0/k index 5242962b3b2..021fce67634 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/0/k +++ b/tutorials/incompressible/pisoFoam/ras/cavity/0/k @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/nut b/tutorials/incompressible/pisoFoam/ras/cavity/0/nut index dc341e7a1c7..7322181e3b1 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/0/nut +++ b/tutorials/incompressible/pisoFoam/ras/cavity/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties index e46e0a858b1..559c506d111 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties +++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,175 +27,175 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary index 61feadd9740..d68c9a70360 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary +++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties +++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties index 07f85c68df2..b70f6702e4e 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties +++ b/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType RASModel; + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict b/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict index 54904fd3daa..c7ddb43b7da 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict +++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes index bbe7fab0d2e..2535b6a258d 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes +++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -63,7 +64,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution index 0da9f4a3b69..d64a84ecfe9 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.1; - }; - pFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.1; + } + + pFinal { - preconditioner DIC; - tolerance 1e-06; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -68,4 +82,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/0/U b/tutorials/incompressible/simpleFoam/airFoil2D/0/U index b047ad78c70..df71a3d3b35 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/0/U +++ b/tutorials/incompressible/simpleFoam/airFoil2D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda b/tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda index fae6a50d142..883544254c4 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda +++ b/tutorials/incompressible/simpleFoam/airFoil2D/0/nuTilda @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/0/nut b/tutorials/incompressible/simpleFoam/airFoil2D/0/nut index f170fb808fa..739392ea8e3 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/0/nut +++ b/tutorials/incompressible/simpleFoam/airFoil2D/0/nut @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/0/p b/tutorials/incompressible/simpleFoam/airFoil2D/0/p index 9cf68305ea0..3309bb65cb4 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/0/p +++ b/tutorials/incompressible/simpleFoam/airFoil2D/0/p @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties index ee57789589c..ec7ffbd28bd 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/RASProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel SpalartAllmaras; //kEpsilon; +RASModel SpalartAllmaras; turbulence on; @@ -24,150 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - //Next line Modified vorticity factor by Ashford 1996 - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary index d9946a2c683..90a755393f8 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells index 85222fba6bc..25b2e32bff1 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/cells @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces index 4cfd2f9580b..d2b3b06560a 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/faces @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour index eca8a993ad7..f5c77a51ee1 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/neighbour @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner index 0665c5a059a..8f484aa69a7 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/owner @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points index d09b631e686..6cdbde6f823 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/polyMesh/points @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties index 66348678a35..2d0ecd1a70c 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/transportProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -rho rho [1 -3 0 0 0 0 0] 1.0; -nu nu [0 2 -1 0 0 0 0] 1e-05; +rho rho [ 1 -3 0 0 0 0 0 ] 1; + +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties index 5c7e116a09e..871d8e64aa5 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties +++ b/tutorials/incompressible/simpleFoam/airFoil2D/constant/turbulenceProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -turbulenceModel SpalartAllmaras; //kEpsilon; +turbulenceModel SpalartAllmaras; turbulence on; @@ -24,150 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; } RNGkEpsilonCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.0845; - C1 C1 [0 0 0 0 0 0 0] 1.42; - C2 C2 [0 0 0 0 0 0 0] 1.68; - alphak alphaK [0 0 0 0 0 0 0] 1.39; - alphaEps alphaEps [0 0 0 0 0 0 0] 1.39; - eta0 eta0 [0 0 0 0 0 0 0] 4.38; - beta beta [0 0 0 0 0 0 0] 0.012; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.0845; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.42; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.68; + alphak alphaK [ 0 0 0 0 0 0 0 ] 1.39; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 1.39; + eta0 eta0 [ 0 0 0 0 0 0 0 ] 4.38; + beta beta [ 0 0 0 0 0 0 0 ] 0.012; } NonlinearKEShihCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphak alphak [0 0 0 0 0 0 0] 1; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76932; - A1 A1 [0 0 0 0 0 0 0] 1.25; - A2 A2 [0 0 0 0 0 0 0] 1000; - Ctau1 Ctau1 [0 0 0 0 0 0 0] -4; - Ctau2 Ctau2 [0 0 0 0 0 0 0] 13; - Ctau3 Ctau3 [0 0 0 0 0 0 0] -2; - alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76932; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; } LienCubicKECoeffs { - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphak alphak [0 0 0 0 0 0 0] 1; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; - A1 A1 [0 0 0 0 0 0 0] 1.25; - A2 A2 [0 0 0 0 0 0 0] 1000; - Ctau1 Ctau1 [0 0 0 0 0 0 0] -4; - Ctau2 Ctau2 [0 0 0 0 0 0 0] 13; - Ctau3 Ctau3 [0 0 0 0 0 0 0] -2; - alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; } QZetaCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphaZeta alphaZeta [0 0 0 0 0 0 0] 0.76923; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaZeta alphaZeta [ 0 0 0 0 0 0 0 ] 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; } LamBremhorstKECoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; } LienCubicKELowReCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphak alphak [0 0 0 0 0 0 0] 1; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; - A1 A1 [0 0 0 0 0 0 0] 1.25; - A2 A2 [0 0 0 0 0 0 0] 1000; - Ctau1 Ctau1 [0 0 0 0 0 0 0] -4; - Ctau2 Ctau2 [0 0 0 0 0 0 0] 13; - Ctau3 Ctau3 [0 0 0 0 0 0 0] -2; - alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9; - Am Am [0 0 0 0 0 0 0] 0.016; - Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263; - Amu Amu [0 0 0 0 0 0 0] 0.00222; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; + Am Am [ 0 0 0 0 0 0 0 ] 0.016; + Aepsilon Aepsilon [ 0 0 0 0 0 0 0 ] 0.263; + Amu Amu [ 0 0 0 0 0 0 0 ] 0.00222; } LienLeschzinerLowReCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - alphak alphak [0 0 0 0 0 0 0] 1; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; - Am Am [0 0 0 0 0 0 0] 0.016; - Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263; - Amu Amu [0 0 0 0 0 0 0] 0.00222; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + Am Am [ 0 0 0 0 0 0 0 ] 0.016; + Aepsilon Aepsilon [ 0 0 0 0 0 0 0 ] 0.263; + Amu Amu [ 0 0 0 0 0 0 0 ] 0.00222; } LRRCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - Clrr1 Clrr1 [0 0 0 0 0 0 0] 1.8; - Clrr2 Clrr2 [0 0 0 0 0 0 0] 0.6; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - Cs Cs [0 0 0 0 0 0 0] 0.25; - Ceps Ceps [0 0 0 0 0 0 0] 0.15; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + Clrr1 Clrr1 [ 0 0 0 0 0 0 0 ] 1.8; + Clrr2 Clrr2 [ 0 0 0 0 0 0 0 ] 0.6; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + Cs Cs [ 0 0 0 0 0 0 0 ] 0.25; + Ceps Ceps [ 0 0 0 0 0 0 0 ] 0.15; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu Cmu [0 0 0 0 0 0 0] 0.09; - Clg1 Clg1 [0 0 0 0 0 0 0] 1.8; - Clg2 Clg2 [0 0 0 0 0 0 0] 0.6; - C1 C1 [0 0 0 0 0 0 0] 1.44; - C2 C2 [0 0 0 0 0 0 0] 1.92; - C1Ref C1Ref [0 0 0 0 0 0 0] 0.5; - C2Ref C2Ref [0 0 0 0 0 0 0] 0.3; - Cs Cs [0 0 0 0 0 0 0] 0.25; - Ceps Ceps [0 0 0 0 0 0 0] 0.15; - alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923; - alphaR alphaR [0 0 0 0 0 0 0] 1.22; + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + Clg1 Clg1 [ 0 0 0 0 0 0 0 ] 1.8; + Clg2 Clg2 [ 0 0 0 0 0 0 0 ] 0.6; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + C1Ref C1Ref [ 0 0 0 0 0 0 0 ] 0.5; + C2Ref C2Ref [ 0 0 0 0 0 0 0 ] 0.3; + Cs Cs [ 0 0 0 0 0 0 0 ] 0.25; + Ceps Ceps [ 0 0 0 0 0 0 0 ] 0.15; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + alphaR alphaR [ 0 0 0 0 0 0 0 ] 1.22; } SpalartAllmarasCoeffs { - alphaNut alphaNut [0 0 0 0 0 0 0] 1.5; - Cb1 Cb1 [0 0 0 0 0 0 0] 0.1355; - Cb2 Cb2 [0 0 0 0 0 0 0] 0.622; - Cw2 Cw2 [0 0 0 0 0 0 0] 0.3; - Cw3 Cw3 [0 0 0 0 0 0 0] 2; - Cv1 Cv1 [0 0 0 0 0 0 0] 7.1; - //Next line Modified vorticity factor by Ashford 1996 - Cv2 Cv2 [0 0 0 0 0 0 0] 5.0; + alphaNut alphaNut [ 0 0 0 0 0 0 0 ] 1.5; + Cb1 Cb1 [ 0 0 0 0 0 0 0 ] 0.1355; + Cb2 Cb2 [ 0 0 0 0 0 0 0 ] 0.622; + Cw2 Cw2 [ 0 0 0 0 0 0 0 ] 0.3; + Cw3 Cw3 [ 0 0 0 0 0 0 0 ] 2; + Cv1 Cv1 [ 0 0 0 0 0 0 0 ] 7.1; + Cv2 Cv2 [ 0 0 0 0 0 0 0 ] 5; } wallFunctionCoeffs { - kappa kappa [0 0 0 0 0 0 0] 0.4187; - E E [0 0 0 0 0 0 0] 9; + kappa kappa [ 0 0 0 0 0 0 0 ] 0.4187; + E E [ 0 0 0 0 0 0 0 ] 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict b/tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict index 3b6e0b2a477..0b19a7dffe6 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict +++ b/tutorials/incompressible/simpleFoam/airFoil2D/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes index 6b972e1acd5..db79ef84a1a 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes +++ b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -40,8 +41,7 @@ laplacianSchemes laplacian(nuEff,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; - - laplacian(1,p) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } interpolationSchemes @@ -58,7 +58,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution index 7da40edc0a8..6f7dffd99bd 100644 --- a/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/airFoil2D/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,50 +10,51 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-6; - relTol 0.1; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - + solver GAMG; + tolerance 1e-06; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - U smoothSolver + U { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-8; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-08; + relTol 0.1; + } - nuTilda smoothSolver + nuTilda { - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-8; - relTol 0.1; - }; + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-08; + relTol 0.1; + } } SIMPLE { nNonOrthogonalCorrectors 0; - pRefCell 0; - pRefValue 0; + pRefCell 0; + pRefValue 0; } relaxationFactors @@ -63,4 +64,5 @@ relaxationFactors nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties index e46e0a858b1..559c506d111 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties +++ b/tutorials/incompressible/simpleFoam/pitzDaily/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,175 +27,175 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties b/tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties +++ b/tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict index 77e3a65b502..29292679f23 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes index 49767ffb282..0477c57b510 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -63,7 +64,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution index 8a32ba1d6c2..a8d89c42281 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.01; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } } SIMPLE @@ -69,4 +81,5 @@ relaxationFactors nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties index e46e0a858b1..559c506d111 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,175 +27,175 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties index fd5fc94660c..aad34b40df2 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict index 77e3a65b502..29292679f23 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict index 296e5226e11..e6a13cc1905 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,24 +18,23 @@ FoamFile numberOfSubdomains 4; method hierarchical; -//method metis; -//method parMetis; simpleCoeffs { - n (2 1 1); + n ( 2 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; order xyz; } metisCoeffs -{} +{ +} manualCoeffs { @@ -43,8 +43,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes index 49767ffb282..0477c57b510 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -63,7 +64,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution index 8a32ba1d6c2..a8d89c42281 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.01; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + } + + U { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } } SIMPLE @@ -69,4 +81,5 @@ relaxationFactors nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties index 892738ac369..f543226c9b0 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties +++ b/tutorials/incompressible/simpleSRFFoam/mixer/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kOmegaSST; +RASModel kOmegaSST; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,166 +27,166 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties index 97e48082633..e3281ee1e6b 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties +++ b/tutorials/incompressible/simpleSRFFoam/mixer/constant/SRFProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,19 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object SRFProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -SRFModel rpm; +SRFModel rpm; -axis (0 0 1); +axis ( 0 0 1 ); rpmCoeffs { - rpm 5000.0; + rpm 5000; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties b/tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties index db1e716f78f..50b8da0ba57 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties +++ b/tutorials/incompressible/simpleSRFFoam/mixer/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,28 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1.5e-05; +nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-05; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; } BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 0; - n n [0 0 0 0 0 0 0] 1; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict b/tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict index b50c43e4d8e..46e7cd00c33 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict +++ b/tutorials/incompressible/simpleSRFFoam/mixer/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes index 636bf4ad672..f2697595694 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes +++ b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default steadyState; + default steadyState; } gradSchemes @@ -32,7 +33,7 @@ divSchemes div(phi,Urel) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; - div(phi,omega) Gauss upwind; + div(phi,omega) Gauss upwind; div(phi,R) Gauss upwind; div(R) Gauss linear; div(phi,nuTilda) Gauss upwind; @@ -65,7 +66,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution index f16662b3e51..f2fd9ead3d3 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution +++ b/tutorials/incompressible/simpleSRFFoam/mixer/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-06; - relTol 0.01; - }; - Urel PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.01; + } + + Urel { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - omega PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + omega { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + R { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } } SIMPLE @@ -76,4 +90,5 @@ relaxationFactors nuTilda 0.7; } + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict index b2622384dda..ef80311ee11 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -32,7 +31,6 @@ writeInterval 1; purgeWrite 0; -//writeFormat binary; writeFormat ascii; writePrecision 7; @@ -45,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict index 25b7e5c29b7..c0de7923c6e 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,18 +18,16 @@ FoamFile numberOfSubdomains 6; method hierarchical; -//method metis; -//method parMetis; simpleCoeffs { - n (4 1 1); + n ( 4 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (3 2 1); + n ( 3 2 1 ); delta 0.001; order xyz; } @@ -40,8 +39,6 @@ manualCoeffs metisCoeffs { - //n (5 1 1); - //cellWeightsFile "constant/cellWeightsFile"; } diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes index 51ebb81a9da..2fa85964b7e 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,9 +10,9 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes @@ -24,8 +24,6 @@ gradSchemes { default Gauss linear; grad(p) Gauss linear; - - //snGradCorr(cellMotionU) Gauss linear; } divSchemes @@ -39,7 +37,6 @@ laplacianSchemes default none; laplacian(nu,U) Gauss linear corrected; laplacian(1|A(U),p) Gauss linear corrected; - laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; } @@ -57,7 +54,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution index 9e9998642e7..876c8c233f9 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,21 +10,13 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers -{ - // p ICCG 1e-06 0; - p AMG 1e-06 0 10; - U BICCG 1e-05 0; - - // Meshmotion - cellMotionU ICCG 1e-6 0.0; - cellMotionUx ICCG 1e-6 0.0; -} +{} PISO { @@ -34,4 +26,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict index 4b547f7a513..2efe6901aa1 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,321 +10,138 @@ FoamFile version 2.0; format ascii; class dictionary; - object autoHexMeshDict; + location "system"; + object snappyHexMeshDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Which of the steps to run castellatedMesh true; + snap true; -addLayers true; +addLayers true; -// Geometry. Definition of all surfaces. All surfaces are of class -// searchableSurface. -// Surfaces are used -// - to specify refinement for any mesh cell intersecting it -// - to specify refinement for any mesh cell inside/outside/near -// - to 'snap' the mesh boundary to the surface geometry { fridgeA { - type searchableBox; - min (2 2 0); - max (3 3 2); + type searchableBox; + min ( 2 2 0 ); + max ( 3 3 2 ); } fridgeB { - type searchableBox; - min (3.5 3 0); - max (4.3 3.8 1.8); + type searchableBox; + min ( 3.5 3 0 ); + max ( 4.3 3.8 1.8 ); } igloo { - type searchableSphere; - centre (3 3 0); - radius 4; + type searchableSphere; + centre ( 3 3 0 ); + radius 4; } -}; - - +} -// Settings for the castellatedMesh generation. castellatedMeshControls { - - // Refinement parameters - // ~~~~~~~~~~~~~~~~~~~~~ - - // While refining maximum number of cells per processor. This is basically - // the number of cells that fit on a processor. If you choose this too small - // it will do just more refinement iterations to obtain a similar mesh. - maxLocalCells 1000000; - - // Overall cell limit (approximately). Refinement will stop immediately - // upon reaching this number so a refinement level might not complete. - // Note that this is the number of cells before removing the part which - // is not 'visible' from the keepPoint. The final number of cells might - // actually be a lot less. - maxGlobalCells 2000000; - - // The surface refinement loop might spend lots of iterations refining just a - // few cells. This setting will cause refinement to stop if <= minimumRefine - // are selected for refinement. Note: it will at least do one iteration - // (unless the number of cells to refine is 0) + maxLocalCells 1000000; + maxGlobalCells 2000000; minRefinementCells 0; - - // Number of buffer layers between different levels. - // 1 means normal 2:1 refinement restriction, larger means slower - // refinement. nCellsBetweenLevels 1; - - - - // Explicit feature edge refinement - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies a level for any cell intersected by its edges. - // This is a featureEdgeMesh, read from constant/triSurface for now. - features - ( - //{ - // file "someLine.eMesh"; - // level 2; - //} - ); - - - - // Surface based refinement - // ~~~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies two levels for every surface. The first is the minimum level, - // every cell intersecting a surface gets refined up to the minimum level. - // The second level is the maximum level. Cells that 'see' multiple - // intersections where the intersections make an - // angle > resolveFeatureAngle get refined up to the maximum level. - + features ( ); refinementSurfaces { fridgeA { - // Surface-wise min and max refinement level - level (2 2); + level ( 2 2 ); } + fridgeB { - // Surface-wise min and max refinement level - level (2 2); + level ( 2 2 ); } + igloo { - // Surface-wise min and max refinement level - level (1 1); + level ( 1 1 ); } } - // Resolve sharp angles on fridges resolveFeatureAngle 60; - - - // Region-wise refinement - // ~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies refinement level for cells in relation to a surface. One of - // three modes - // - distance. 'levels' specifies per distance to the surface the - // wanted refinement level. The distances need to be specified in - // descending order. - // - inside. 'levels' is only one entry and only the level is used. All - // cells inside the surface get refined up to the level. The surface - // needs to be closed for this to be possible. - // - outside. Same but cells outside. - refinementRegions { } - - // Mesh selection - // ~~~~~~~~~~~~~~ - - // After refinement patches get added for all refinementSurfaces and - // all cells intersecting the surfaces get put into these patches. The - // section reachable from the locationInMesh is kept. - // NOTE: This point should never be on a face, always inside a cell, even - // after refinement. - locationInMesh (3 0.28 0.43); + locationInMesh ( 3 0.28 0.43 ); } - - -// Settings for the snapping. snapControls { - //- Number of patch smoothing iterations before finding correspondence - // to surface - nSmoothPatch 3; - - //- Relative distance for points to be attracted by surface feature point - // or edge. True distance is this factor times local - // maximum edge length. - tolerance 4.0; - - //- Number of mesh displacement relaxation iterations. - nSolveIter 30; - - //- Maximum number of snapping relaxation iterations. Should stop - // before upon reaching a correct mesh. - nRelaxIter 5; + nSmoothPatch 3; + tolerance 4; + nSolveIter 30; + nRelaxIter 5; } - - -// Settings for the layer addition. addLayersControls { - // Per final patch (so not geometry!) the layer information layers { fridgeA_region0 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + fridgeB_region0 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + igloo_region0 { - nSurfaceLayers 1; + nSurfaceLayers 1; } } - // Expansion factor for layer mesh - expansionRatio 1.0; - - //- Wanted thickness of final added cell layer. If multiple layers - // is the - // thickness of the layer furthest away from the wall. - // Relative to undistorted size of cell outside layer. + expansionRatio 1; finalLayerRatio 0.5; - - //- Minimum thickness of cell layer. If for any reason layer - // cannot be above minThickness do not add layer. - // Relative to undistorted size of cell outside layer. - minThickness 0.25; - - //- If points get not extruded do nGrow layers of connected faces that are - // also not grown. This helps convergence of the layer addition process - // close to features. - nGrow 0; - - - // Advanced settings - - //- When not to extrude surface. 0 is flat surface, 90 is when two faces - // make straight angle. - featureAngle 60; - - //- Maximum number of snapping relaxation iterations. Should stop - // before upon reaching a correct mesh. - nRelaxIter 5; - - // Number of smoothing iterations of surface normals + minThickness 0.25; + nGrow 0; + featureAngle 60; + nRelaxIter 5; nSmoothSurfaceNormals 1; - - // Number of smoothing iterations of interior mesh movement direction - nSmoothNormals 3; - - // Smooth layer thickness over surface patches + nSmoothNormals 3; nSmoothThickness 10; - - // Stop layer growth on highly warped cells maxFaceThicknessRatio 0.5; - - // Reduce layer growth where ratio thickness to medial - // distance is large maxThicknessToMedialRatio 0.3; - - // Angle used to pick up medial axis points minMedianAxisAngle 130; - - // Create buffer region for new layer terminations nBufferCellsNoExtrude 0; } - - -// Generic mesh quality settings. At any undoable phase these determine -// where to undo. meshQualityControls { - //- Maximum non-orthogonality allowed. Set to 180 to disable. - maxNonOrtho 65; - - //- Max skewness allowed. Set to <0 to disable. + maxNonOrtho 65; maxBoundarySkewness 20; maxInternalSkewness 4; - - //- Max concaveness allowed. Is angle (in degrees) below which concavity - // is allowed. 0 is straight face, <0 would be convex face. - // Set to 180 to disable. - maxConcave 80; - - //- Minimum projected area v.s. actual area. Set to -1 to disable. - minFlatness 0.5; - - //- Minimum pyramid volume. Is absolute volume of cell pyramid. - // Set to very negative number (e.g. -1E30) to disable. - minVol 1e-13; - - //- Minimum face area. Set to <0 to disable. - minArea -1; - - //- Minimum face twist. Set to <-1 to disable. dot product of face normal - //- and face centre triangles normal - minTwist 0.05; - - //- minimum normalised cell determinant - //- 1 = hex, <= 0 = folded or flattened illegal cell - minDeterminant 0.001; - - //- minFaceWeight (0 -> 0.5) - minFaceWeight 0.05; - - //- minVolRatio (0 -> 1) - minVolRatio 0.01; - - //must be >0 for Fluent compatibility + maxConcave 80; + minFlatness 0.5; + minVol 1e-13; + minArea -1; + minTwist 0.05; + minDeterminant 0.001; + minFaceWeight 0.05; + minVolRatio 0.01; minTriangleTwist -1; - - - // Advanced - - //- Number of error distribution iterations - nSmoothScale 4; - //- amount to scale back displacement at error points - errorReduction 0.75; + nSmoothScale 4; + errorReduction 0.75; } +debug 0; -// Advanced - -// Flags for optional output -// 0 : only write final meshes -// 1 : write intermediate meshes -// 2 : write volScalarField with cellLevel for postprocessing -// 4 : write current intersections as .obj files -debug 0; - +mergeTolerance 1e-06; -// Merge tolerance. Is fraction of overall bounding box of initial mesh. -// Note: the write tolerance needs to be higher than this. -mergeTolerance 1E-6; // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict b/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict index b2622384dda..ef80311ee11 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -32,7 +31,6 @@ writeInterval 1; purgeWrite 0; -//writeFormat binary; writeFormat ascii; writePrecision 7; @@ -45,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict index 25b7e5c29b7..c0de7923c6e 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,18 +18,16 @@ FoamFile numberOfSubdomains 6; method hierarchical; -//method metis; -//method parMetis; simpleCoeffs { - n (4 1 1); + n ( 4 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (3 2 1); + n ( 3 2 1 ); delta 0.001; order xyz; } @@ -40,8 +39,6 @@ manualCoeffs metisCoeffs { - //n (5 1 1); - //cellWeightsFile "constant/cellWeightsFile"; } diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes index 51ebb81a9da..2fa85964b7e 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,9 +10,9 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes @@ -24,8 +24,6 @@ gradSchemes { default Gauss linear; grad(p) Gauss linear; - - //snGradCorr(cellMotionU) Gauss linear; } divSchemes @@ -39,7 +37,6 @@ laplacianSchemes default none; laplacian(nu,U) Gauss linear corrected; laplacian(1|A(U),p) Gauss linear corrected; - laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; } @@ -57,7 +54,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution index 242f5524a28..876c8c233f9 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,21 +10,13 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers -{ - //p ICCG 1e-06 0; - p AMG 1e-06 0 10; - U BICCG 1e-05 0; - - // Meshmotion - cellMotionU ICCG 1e-6 0.0; - cellMotionUx ICCG 1e-6 0.0; -} +{} PISO { diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict index e3d24a69219..fa094e1b03b 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict +++ b/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,568 +10,450 @@ FoamFile version 2.0; format ascii; class dictionary; - object autoHexMeshDict; + location "system"; + object snappyHexMeshDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Which of the steps to run castellatedMesh true; + snap true; -addLayers true; +addLayers true; -// Geometry. Definition of all surfaces. All surfaces are of class -// searchableSurface. -// Surfaces are used -// - to specify refinement for any mesh cell intersecting it -// - to specify refinement for any mesh cell inside/outside/near -// - to 'snap' the mesh boundary to the surface geometry { motorBike.stl { - type triSurfaceMesh; - name motorBike; + type triSurfaceMesh; + name motorBike; } refinementBox { - type searchableBox; - min (-0.3 -0.4 -0.1); - max ( 3.0 0.4 1.4); + type searchableBox; + min ( -0.3 -0.4 -0.1 ); + max ( 3 0.4 1.4 ); } -}; - - +} -// Settings for the castellatedMesh generation. castellatedMeshControls { - - // Refinement parameters - // ~~~~~~~~~~~~~~~~~~~~~ - - // While refining maximum number of cells per processor. This is basically - // the number of cells that fit on a processor. If you choose this too small - // it will do just more refinement iterations to obtain a similar mesh. - maxLocalCells 1000000; - - // Overall cell limit (approximately). Refinement will stop immediately - // upon reaching this number so a refinement level might not complete. - // Note that this is the number of cells before removing the part which - // is not 'visible' from the keepPoint. The final number of cells might - // actually be a lot less. - maxGlobalCells 2000000; - - // The surface refinement loop might spend lots of iterations refining just a - // few cells. This setting will cause refinement to stop if <= minimumRefine - // are selected for refinement. Note: it will at least do one iteration - // (unless the number of cells to refine is 0) + maxLocalCells 1000000; + maxGlobalCells 2000000; minRefinementCells 10; - - // Number of buffer layers between different levels. - // 1 means normal 2:1 refinement restriction, larger means slower - // refinement. nCellsBetweenLevels 2; - - - - // Explicit feature edge refinement - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies a level for any cell intersected by its edges. - // This is a featureEdgeMesh, read from constant/triSurface for now. - features - ( - //{ - // file "someLine.eMesh"; - // level 2; - //} - ); - - - - // Surface based refinement - // ~~~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies two levels for every surface. The first is the minimum level, - // every cell intersecting a surface gets refined up to the minimum level. - // The second level is the maximum level. Cells that 'see' multiple - // intersections where the intersections make an - // angle > resolveFeatureAngle get refined up to the maximum level. - + features ( ); refinementSurfaces { motorBike { - // Surface-wise min and max refinement level - level (5 6); + level ( 5 6 ); } } - // Resolve sharp angles resolveFeatureAngle 30; - - - // Region-wise refinement - // ~~~~~~~~~~~~~~~~~~~~~~ - - // Specifies refinement level for cells in relation to a surface. One of - // three modes - // - distance. 'levels' specifies per distance to the surface the - // wanted refinement level. The distances need to be specified in - // descending order. - // - inside. 'levels' is only one entry and only the level is used. All - // cells inside the surface get refined up to the level. The surface - // needs to be closed for this to be possible. - // - outside. Same but cells outside. - refinementRegions { refinementBox { - mode inside; - levels ((1E15 4)); + mode inside; + levels ( ( 1e+15 4 ) ); } } - - // Mesh selection - // ~~~~~~~~~~~~~~ - - // After refinement patches get added for all refinementSurfaces and - // all cells intersecting the surfaces get put into these patches. The - // section reachable from the locationInMesh is kept. - // NOTE: This point should never be on a face, always inside a cell, even - // after refinement. - locationInMesh (3 3 0.43); + locationInMesh ( 3 3 0.43 ); } - - -// Settings for the snapping. snapControls { - //- Number of patch smoothing iterations before finding correspondence - // to surface - nSmoothPatch 3; - - //- Relative distance for points to be attracted by surface feature point - // or edge. True distance is this factor times local - // maximum edge length. - tolerance 4.0; - - //- Number of mesh displacement relaxation iterations. - nSolveIter 30; - - //- Maximum number of snapping relaxation iterations. Should stop - // before upon reaching a correct mesh. - nRelaxIter 5; + nSmoothPatch 3; + tolerance 4; + nSolveIter 30; + nRelaxIter 5; } - - -// Settings for the layer addition. addLayersControls { - // Per final patch (so not geometry!) the layer information layers { minZ { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frt-fairing:001%1 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_windshield:002%2 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-rim:005%5 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-rim:010%10 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-rim:011%11 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-brake-disk:012%12 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frame:016-shadow%13 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-susp:014%14 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-susp:014-shadow%15 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frame:016%16 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-rim:005-shadow%17 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-chain-hub:022%22 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rearseat%24 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frt-fairing%25 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_windshield%26 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_headlights%27 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_driversseat%28 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-body%29 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fuel-tank%30 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_exhaust%31 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-rim%32 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-mud-guard%33 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-rim%34 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-brake-disk%35 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-brake-caliper%36 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-tyre%37 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_hbars%38 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-forks%39 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_chain%40 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-tyre%41 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_square-dial%42 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_round-dial%43 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_dial-holder%44 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-susp%45 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-brake-lights%46 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-light-bracket%47 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frame%48 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-mud-guard%49 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-susp-spring-damp%50 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fairing-inner-plate%51 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_clutch-housing%52 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_radiator%53 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_water-pipe%54 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_water-pump%55 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_engine%56 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-shock-link%57 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-brake-fluid-pot-bracket%58 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-brake-fluid-pot%59 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_footpeg%60 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-chain-hub%61 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-brake-caliper%62 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rider-helmet%65 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rider-visor%66 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rider-boots%67 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rider-gloves%68 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rider-body%69 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frame:0%70 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_frt-fairing:001-shadow%74 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_windshield-shadow%75 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-mud-guard-shadow%81 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_fr-wh-brake-disk-shadow%83 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-mud-guard-shadow%84 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-susp-spring-damp-shadow%85 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_radiator-shadow%86 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-shock-link-shadow%87 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rear-brake-fluid-pot-bracket-shadow%88 { - nSurfaceLayers 1; + nSurfaceLayers 1; } + motorBike_rr-wh-chain-hub-shadow%89 { - nSurfaceLayers 1; + nSurfaceLayers 1; } } - // Expansion factor for layer mesh - expansionRatio 1.0; - - //- Wanted thickness of final added cell layer. If multiple layers - // is the - // thickness of the layer furthest away from the wall. - // Relative to undistorted size of cell outside layer. + expansionRatio 1; finalLayerRatio 0.3; - - //- Minimum thickness of cell layer. If for any reason layer - // cannot be above minThickness do not add layer. - // Relative to undistorted size of cell outside layer. - minThickness 0.1; - - //- If points get not extruded do nGrow layers of connected faces that are - // also not grown. This helps convergence of the layer addition process - // close to features. - nGrow 1; - - - // Advanced settings - - //- When not to extrude surface. 0 is flat surface, 90 is when two faces - // make straight angle. - featureAngle 30; - - //- Maximum number of snapping relaxation iterations. Should stop - // before upon reaching a correct mesh. - nRelaxIter 3; - - // Number of smoothing iterations of surface normals + minThickness 0.1; + nGrow 1; + featureAngle 30; + nRelaxIter 3; nSmoothSurfaceNormals 1; - - // Number of smoothing iterations of interior mesh movement direction - nSmoothNormals 3; - - // Smooth layer thickness over surface patches + nSmoothNormals 3; nSmoothThickness 10; - - // Stop layer growth on highly warped cells maxFaceThicknessRatio 0.5; - - // Reduce layer growth where ratio thickness to medial - // distance is large maxThicknessToMedialRatio 0.3; - - // Angle used to pick up medial axis points minMedianAxisAngle 130; - - // Create buffer region for new layer terminations nBufferCellsNoExtrude 0; } - - -// Generic mesh quality settings. At any undoable phase these determine -// where to undo. meshQualityControls { - //- Maximum non-orthogonality allowed. Set to 180 to disable. - maxNonOrtho 65; - - //- Max skewness allowed. Set to <0 to disable. + maxNonOrtho 65; maxBoundarySkewness 20; maxInternalSkewness 4; - - //- Max concaveness allowed. Is angle (in degrees) below which concavity - // is allowed. 0 is straight face, <0 would be convex face. - // Set to 180 to disable. - maxConcave 80; - - //- Minimum projected area v.s. actual area. Set to -1 to disable. - minFlatness 0.5; - - //- Minimum pyramid volume. Is absolute volume of cell pyramid. - // Set to very negative number (e.g. -1E30) to disable. - minVol 1e-13; - - //- Minimum face area. Set to <0 to disable. - minArea -1; - - //- Minimum face twist. Set to <-1 to disable. dot product of face normal - //- and face centre triangles normal - minTwist 0.02; - - //- minimum normalised cell determinant - //- 1 = hex, <= 0 = folded or flattened illegal cell - minDeterminant 0.001; - - //- minFaceWeight (0 -> 0.5) - minFaceWeight 0.02; - - //- minVolRatio (0 -> 1) - minVolRatio 0.01; - - //must be >0 for Fluent compatibility + maxConcave 80; + minFlatness 0.5; + minVol 1e-13; + minArea -1; + minTwist 0.02; + minDeterminant 0.001; + minFaceWeight 0.02; + minVolRatio 0.01; minTriangleTwist -1; - - - // Advanced - - //- Number of error distribution iterations - nSmoothScale 4; - //- amount to scale back displacement at error points - errorReduction 0.75; + nSmoothScale 4; + errorReduction 0.75; } +debug 0; -// Advanced - -// Flags for optional output -// 0 : only write final meshes -// 1 : write intermediate meshes -// 2 : write volScalarField with cellLevel for postprocessing -// 4 : write current intersections as .obj files -debug 0; - +mergeTolerance 1e-06; -// Merge tolerance. Is fraction of overall bounding box of initial mesh. -// Note: the write tolerance needs to be higher than this. -mergeTolerance 1E-6; // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary index eaeb38f09e8..e9d933420b7 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict index eb2d79fa78a..c43b52a4489 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,4 +45,5 @@ runTimeModifiable yes; adjustTimeStep no; + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes index 83f984c2ed5..f923afcfacf 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution index ca4069e5ccf..46670343363 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p ICCG 1e-06 0; - U BICCG 1e-05 0; + p + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -28,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution index fa264d59f7f..dfef948901f 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/mdSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mdSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -integrationMethod verletLeapfrog; +integrationMethod verletLeapfrog; -potentialEnergyLimit 5.256e-20; +potentialEnergyLimit 5.256e-20; -// ************************************************************************* // \ No newline at end of file + +// ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict index 9423fb934a5..6bd9f1538e2 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/molConfigDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,57 +10,55 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object molConfigDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Subdictionaries specifying the contents of zones - -// Euler angles, expressed in degrees as phi, theta, psi, see http://mathworld.wolfram.com/EulerAngles.html - bottomWall { - massDensity 1220.0; - temperature 300.0; - velocityDistribution maxwellian; - bulkVelocity (0.0 0.0 0.0); - id Ar; - mass 6.63352033e-26; - latticeStructure FCC; - anchor (1.05e-9 3.18e-9 2.87e-9); - anchorSpecifies molecule; - tethered yes; - orientationAngles (30 0 0); + massDensity 1220; + temperature 300; + velocityDistribution maxwellian; + bulkVelocity ( 0 0 0 ); + id Ar; + mass 6.63352033e-26; + latticeStructure FCC; + anchor ( 1.05e-09 3.18e-09 2.87e-09 ); + anchorSpecifies molecule; + tethered yes; + orientationAngles ( 30 0 0 ); } liquid { - massDensity 1100.0; - temperature 250.0; - velocityDistribution maxwellian; - bulkVelocity (245.0 0.0 0.0); - id Ne; - mass 3.350996347e-26; - latticeStructure SC; - anchor (1.05e-9 3.18e-9 2.87e-9); - anchorSpecifies molecule; - tethered no; - orientationAngles (45 0 0); + massDensity 1100; + temperature 250; + velocityDistribution maxwellian; + bulkVelocity ( 245 0 0 ); + id Ne; + mass 3.350996347e-26; + latticeStructure SC; + anchor ( 1.05e-09 3.18e-09 2.87e-09 ); + anchorSpecifies molecule; + tethered no; + orientationAngles ( 45 0 0 ); } topWall { - massDensity 1220.0; - temperature 200.0; - velocityDistribution maxwellian; - bulkVelocity (0.0 0.0 0.0); - id Ar; - mass 6.63352033e-26; - latticeStructure BCC; - anchor (1.05e-9 3.18e-9 2.87e-9); - anchorSpecifies corner; - tethered yes; - orientationAngles (0 0 0); + massDensity 1220; + temperature 200; + velocityDistribution maxwellian; + bulkVelocity ( 0 0 0 ); + id Ar; + mass 6.63352033e-26; + latticeStructure BCC; + anchor ( 1.05e-09 3.18e-09 2.87e-09 ); + anchorSpecifies corner; + tethered yes; + orientationAngles ( 0 0 0 ); } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict index 7f9346077fc..56a7bbee713 100644 --- a/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict +++ b/tutorials/molecularDynamics/gnemdFoam/constrictedChannel/system/potentialDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,100 +10,78 @@ FoamFile version 2.0; format ascii; class dictionary; - object potentials; + location "system"; + object potentialDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Subdictionaries specifying types of intermolecular potential. -// Sub-sub dictionaries specify the potentials themselves. - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Removal order - -// This is the order in which to remove overlapping pairs if more than one -// type of molecule is present. The most valuable molecule type is at the -// right hand end, the molecule that will be removed 1st is 1st on the list. -// Not all types need to be present, a molecule that is not present is -// automatically less valuable than any on the list. For molecules of the -// same type there is no control over which is removed. - -removalOrder 2 (Ne Ar); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Pair potentials - -// If there are r different type of molecules, and a pair force is required -// between all combinations, then there are C = r(r+1)/2 combinations, -// i.e. for r = {1,2,3,4}, C = {1,3,6,10} (sum of triangular numbers). - -// Pair potentials are specified by the combinaition of their ids, -// for MOLA and MOLB, "MOLA-MOLB" OR "MOLB-MOLA" is acceptable -// (strictly OR, both or neither will thrown an error) +removalOrder 2 ( Ne Ar ); pair { Ar-Ar { pairPotential maitlandSmith; - rCut 1.0e-9; - rMin 0.15e-9; + rCut 1e-09; + rMin 1.5e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; - gamma 7.5; - rm 0.3756e-9; - epsilon 1.990108438e-21; + m 13; + gamma 7.5; + rm 3.756e-10; + epsilon 1.990108438e-21; } - energyScalingFunction doubleSigmoid; + + energyScalingFunction doubleSigmoid; doubleSigmoidCoeffs { - shift1 0.9e-9; - scale1 0.3e11; - shift2 0.97e-9; - scale2 1.2e11; + shift1 9e-10; + scale1 -64771072; + shift2 9.7e-10; + scale2 -259084288; } + writeTables yes; } Ar-Ne { pairPotential maitlandSmith; - rCut 0.9e-9; - rMin 0.1e-9; + rCut 9e-10; + rMin 1e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; + m 13; gamma 4; - rm 0.348e-9; + rm 3.48e-10; epsilon 8.765026657e-22; } - energyScalingFunction shiftedForce; + + energyScalingFunction shiftedForce; writeTables yes; } Ne-Ne { pairPotential maitlandSmith; - rCut 0.8e-9; - rMin 0.1e-9; + rCut 8e-10; + rMin 1e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; + m 13; gamma 5; - rm 0.30739e-9; + rm 3.0739e-10; epsilon 5.813260729e-22; } - energyScalingFunction shiftedForce; + + energyScalingFunction shiftedForce; writeTables yes; } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Tethering Potentials - tether { Ar @@ -112,20 +90,15 @@ tether restrainedHarmonicSpringCoeffs { springConstant 0.1; - rR 1.2e-9; + rR 1.2e-09; } } } -// ************************************************************************* // - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// External Forces - -// Bulk external forces (namely gravity) will be specified as forces rather -// than potentials to allow their direction to be controlled. - external { - gravity (0 0 0); + gravity ( 0 0 0 ); } + + +// ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary index b94dd10f195..a58d17ed7f5 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict index d28aa588409..46436871638 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,4 +45,5 @@ runTimeModifiable yes; adjustTimeStep no; + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict index 69e7126628c..2b1855ea463 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 4; -method metis; +method metis; simpleCoeffs { - n (4 1 1); + n ( 4 1 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes index 83f984c2ed5..f923afcfacf 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution index ca4069e5ccf..46670343363 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p ICCG 1e-06 0; - U BICCG 1e-05 0; + p + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -28,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution index fa264d59f7f..dfef948901f 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/mdSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mdSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -integrationMethod verletLeapfrog; +integrationMethod verletLeapfrog; -potentialEnergyLimit 5.256e-20; +potentialEnergyLimit 5.256e-20; -// ************************************************************************* // \ No newline at end of file + +// ************************************************************************* // diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict index 63d337e5dcb..937130f4ac3 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/molConfigDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,58 +10,55 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object molConfigDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Subdictionaries specifying the contents of zones - for the moment have a single species in each block - move to mixed - -// Euler angles, expressed in degrees as phi, theta, psi, see http://mathworld.wolfram.com/EulerAngles.html - sectionA { - massDensity 1220.0; - temperature 300.0; - velocityDistribution maxwellian; - bulkVelocity (-250.0 0.0 0.0); - id Ar; - mass 6.63352033e-26; - latticeStructure SC; - anchor (0.0 0.0 0.0); - anchorSpecifies molecule; - tethered no; - orientationAngles (0 0 0); + massDensity 1220; + temperature 300; + velocityDistribution maxwellian; + bulkVelocity ( -250 0 0 ); + id Ar; + mass 6.63352033e-26; + latticeStructure SC; + anchor ( 0 0 0 ); + anchorSpecifies molecule; + tethered no; + orientationAngles ( 0 0 0 ); } sectionB { - massDensity 1220.0; - temperature 300.0; - velocityDistribution maxwellian; - bulkVelocity (-250.0 0.0 0.0); - id Ne; - mass 3.350917e-26; - latticeStructure SC; - anchor (0.0 0.0 0.0); - anchorSpecifies molecule; - tethered no; - orientationAngles (0 0 0); + massDensity 1220; + temperature 300; + velocityDistribution maxwellian; + bulkVelocity ( -250 0 0 ); + id Ne; + mass 3.350917e-26; + latticeStructure SC; + anchor ( 0 0 0 ); + anchorSpecifies molecule; + tethered no; + orientationAngles ( 0 0 0 ); } sectionC { - massDensity 1220.0; - temperature 300.0; - velocityDistribution maxwellian; - bulkVelocity (-250.0 0.0 0.0); - id Ar; - mass 6.63352033e-26; - latticeStructure SC; - anchor (0.0 0.0 0.0); - anchorSpecifies molecule; - tethered no; - orientationAngles (0 0 0); + massDensity 1220; + temperature 300; + velocityDistribution maxwellian; + bulkVelocity ( -250 0 0 ); + id Ar; + mass 6.63352033e-26; + latticeStructure SC; + anchor ( 0 0 0 ); + anchorSpecifies molecule; + tethered no; + orientationAngles ( 0 0 0 ); } + // ************************************************************************* // - \ No newline at end of file diff --git a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict index 77897666207..0386a6994e0 100644 --- a/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict +++ b/tutorials/molecularDynamics/gnemdFoam/nanoNozzle/system/potentialDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,95 +10,77 @@ FoamFile version 2.0; format ascii; class dictionary; - object potentials; + location "system"; + object potentialDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Subdictionaries specifying types of intermolecular potential. -// Sub-sub dictionaries specify the potentials themselves. - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Removal order - -// This is the order in which to remove overlapping pairs if more than one -// type of molecule is present. The most valuable molecule type is at the -// right hand end, the molecule that will be removed 1st is 1st on the list. -// Not all types need to be present, a molecule that is not present is -// automatically less valuable than any on the list. For molecules of the -// same type there is no control over which is removed. - -removalOrder 1 (Ar); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Pair potentials - -// If there are r different type of molecules, and a pair force is required -// between all combinations, then there are C = r(r+1)/2 combinations, -// i.e. for r = {1,2,3,4}, C = {1,3,6,10} (sum of triangular numbers). - -// Pair potentials are specified by the combinaition of their ids, -// for MOLA and MOLB, "MOLA-MOLB" OR "MOLB-MOLA" is acceptable -// (strictly OR, both or neither will thrown an error) +removalOrder 1 ( Ar ); pair { Ar-Ar { pairPotential maitlandSmith; - rCut 1.0e-9; - rMin 0.15e-9; + rCut 1e-09; + rMin 1.5e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; - gamma 7.5; - rm 0.3756e-9; - epsilon 1.990108438e-21; + m 13; + gamma 7.5; + rm 3.756e-10; + epsilon 1.990108438e-21; } - energyScalingFunction doubleSigmoid; + + energyScalingFunction doubleSigmoid; doubleSigmoidCoeffs { - shift1 0.9e-9; - scale1 0.3e11; - shift2 0.97e-9; - scale2 1.2e11; + shift1 9e-10; + scale1 -64771072; + shift2 9.7e-10; + scale2 -259084288; } + writeTables no; } Ar-Ne { pairPotential maitlandSmith; - rCut 0.9e-9; - rMin 0.1e-9; + rCut 9e-10; + rMin 1e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; + m 13; gamma 4; - rm 0.348e-9; + rm 3.48e-10; epsilon 8.765026657e-22; } - energyScalingFunction shiftedForce; + + energyScalingFunction shiftedForce; writeTables no; } Ne-Ne { pairPotential maitlandSmith; - rCut 0.8e-9; - rMin 0.1e-9; + rCut 8e-10; + rMin 1e-10; dr 5e-14; maitlandSmithCoeffs { - m 13.0; + m 13; gamma 5; - rm 0.30739e-9; + rm 3.0739e-10; epsilon 5.813260729e-22; } - energyScalingFunction shiftedForce; + + energyScalingFunction shiftedForce; writeTables no; } } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary index 54dbb7ef4a6..b3548de91cf 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict index 76f7ed8a7ee..f1052a4864f 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,4 +45,5 @@ runTimeModifiable yes; adjustTimeStep no; + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes index 83f984c2ed5..f923afcfacf 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +53,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution index ca4069e5ccf..46670343363 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p ICCG 1e-06 0; - U BICCG 1e-05 0; + p + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -28,4 +42,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict index e044b837854..2dd296045bb 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdEquilibrationDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mdEquilibrationDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -equilibrationTargetTemperature 300.0; +equilibrationTargetTemperature 300; -// ************************************************************************* // \ No newline at end of file + +// ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution index fa264d59f7f..dfef948901f 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/mdSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object mdSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -integrationMethod verletLeapfrog; +integrationMethod verletLeapfrog; -potentialEnergyLimit 5.256e-20; +potentialEnergyLimit 5.256e-20; -// ************************************************************************* // \ No newline at end of file + +// ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict index 9ae05138695..6f48e375e8c 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/molConfigDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,25 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object molConfigDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Euler angles, expressed in degrees as phi, theta, psi, -// see http://mathworld.wolfram.com/EulerAngles.html - liquid { - massDensity 1220.0; - temperature 300.0; - velocityDistribution maxwellian; - bulkVelocity (0.0 0.0 0.0); - id Ar; - mass 6.63352033e-26; - latticeStructure SC; - anchor (0.0 0.0 0.0); - anchorSpecifies molecule; - tethered no; - orientationAngles (0 0 0); + massDensity 1220; + temperature 300; + velocityDistribution maxwellian; + bulkVelocity ( 0 0 0 ); + id Ar; + mass 6.63352033e-26; + latticeStructure SC; + anchor ( 0 0 0 ); + anchorSpecifies molecule; + tethered no; + orientationAngles ( 0 0 0 ); } + // ************************************************************************* // diff --git a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict index 15af6ed181a..1abf7b0e569 100644 --- a/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict +++ b/tutorials/molecularDynamics/mdEquilibrationFoam/periodicCube/system/potentialDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,64 +10,39 @@ FoamFile version 2.0; format ascii; class dictionary; - object potentials; + location "system"; + object potentialDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Subdictionaries specifying types of intermolecular potential. -// Sub-sub dictionaries specify the potentials themselves. - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Removal order - -// This is the order in which to remove overlapping pairs if more than one -// type of molecule is present. The most valuable molecule type is at the -// right hand end, the molecule that will be removed 1st is 1st on the list. -// Not all types need to be present, a molecule that is not present is -// automatically less valuable than any on the list. For molecules of the -// same type there is no control over which is removed. - -removalOrder 1 (Ar); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Pair potentials - -// If there are r different type of molecules, and a pair force is required -// between all combinations, then there are C = r(r+1)/2 combinations, -// i.e. for r = {1,2,3,4}, C = {1,3,6,10} (sum of triangular numbers). - -// Pair potentials are specified by the combinaition of their ids, -// for MOLA and MOLB, "MOLA-MOLB" OR "MOLB-MOLA" is acceptable -// (strictly OR, both or neither will thrown an error) +removalOrder 1 ( Ar ); pair { Ar-Ar { pairPotential azizChen; - rCut 1.2e-9; - rMin 0.15e-9; + rCut 1.2e-09; + rMin 1.5e-10; dr 2e-14; azizChenCoeffs { - epsilon 1.97742255e-21; - rm 3.759e-10; - A 0.9502720e7; - alpha 16.345655; - C6 1.0914254; - C8 0.6002595; - C10 0.3700113; - D 1.4; - gamma 2.0; + epsilon 1.97742255e-21; + rm 3.759e-10; + A 9502720; + alpha 16.345655; + C6 1.0914254; + C8 0.6002595; + C10 0.3700113; + D 1.4; + gamma 2; } - energyScalingFunction noScaling; + + energyScalingFunction noScaling; writeTables yes; } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Tethering Potentials - tether { Ar @@ -76,20 +51,15 @@ tether restrainedHarmonicSpringCoeffs { springConstant 0.0277; - rR 1.2e-9; + rR 1.2e-09; } } } -// ************************************************************************* // - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// External Forces - -// Bulk external forces (namely gravity) will be specified as forces rather -// than potentials to allow their direction to be controlled. - external { - gravity (0 0 0); + gravity ( 0 0 0 ); } + + +// ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties index 3bb698673a1..3569e78dc35 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel laminar; +RASModel laminar; -turbulence off; +turbulence off; -printCoeffs off; +printCoeffs off; laminarCoeffs { @@ -26,17 +27,18 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties index 11155a19232..cfdcc78cc78 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -rhoa rhoa [1 -3 0 0 0 0 0] 1; +rhoa rhoa [ 1 -3 0 0 0 0 0 ] 1; -rhob rhob [1 -3 0 0 0 0 0] 1000; +rhob rhob [ 1 -3 0 0 0 0 0 ] 1000; -nua nua [0 2 -1 0 0 0 0] 1.6e-05; +nua nua [ 0 2 -1 0 0 0 0 ] 1.6e-05; -nub nub [0 2 -1 0 0 0 0] 1e-06; +nub nub [ 0 2 -1 0 0 0 0 ] 1e-06; -da da [0 1 0 0 0 0 0] 0.003; +da da [ 0 1 0 0 0 0 0 ] 0.003; -db db [0 1 0 0 0 0 0] 0.0001; +db db [ 0 1 0 0 0 0 0 ] 0.0001; -Cvm Cvm [0 0 0 0 0 0 0] 0.5; +Cvm Cvm [ 0 0 0 0 0 0 0 ] 0.5; -Cl Cl [0 0 0 0 0 0 0] 0; +Cl Cl [ 0 0 0 0 0 0 0 ] 0; + +Ct Ct [ 0 0 0 0 0 0 0 ] 1; -Ct Ct [0 0 0 0 0 0 0] 1; // ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict index aad7cb2e754..3691a7b810a 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes index 8a016bd1c44..9817f519540 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -29,7 +30,7 @@ divSchemes default none; div(phia,Ua) Gauss limitedLinearV 1; div(phib,Ub) Gauss limitedLinearV 1; - div(phib,k) Gauss limitedLinear 1; + div(phib,k) Gauss limitedLinear 1; div(phib,epsilon) Gauss limitedLinear 1; div(phi,alpha) Gauss limitedLinear01 1; div((-nuEffa*grad(Ua).T())) Gauss linear; @@ -57,7 +58,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution index 8ca429638cb..e987a2da9fd 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,68 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-10; - relTol 0; - }; - Ua PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-10; + relTol 0; + } + + Ua { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Ub PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Ub { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - alpha PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + alpha { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - beta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + beta { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -70,4 +84,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties index 86f1040611b..ef3e3809daa 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties @@ -1,15 +1,16 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -24,96 +25,96 @@ laminarCoeffs devOneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -128,6 +129,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -135,9 +137,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -147,6 +151,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -154,10 +159,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -167,14 +174,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary index f7d75820c37..b2c07faf585 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties index 39d5cf170cf..806b177923e 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties @@ -1,29 +1,31 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -barotropicCompressibilityModel linear; //Chung; +barotropicCompressibilityModel linear; -psiv psiv [0 -2 2 0 0] 2.5e-06; +psiv psiv [ 0 -2 2 0 0 ] 2.5e-06; -rholSat rholSat [1 -3 0 0 0] 830; +rholSat rholSat [ 1 -3 0 0 0 ] 830; -psil psil [0 -2 2 0 0] 5e-07; +psil psil [ 0 -2 2 0 0 ] 5e-07; -pSat pSat [1 -1 -2 0 0] 4500; +pSat pSat [ 1 -1 -2 0 0 ] 4500; + +rhoMin rhoMin [ 1 -3 0 0 0 ] 0.001; -rhoMin rhoMin [1 -3 0 0 0] 0.001; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties index dcf82123d28..7d254ddcf23 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties @@ -1,21 +1,23 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mul mul [1 -1 -1 0 0] 6.500e-03; -muv muv [1 -1 -1 0 0] 5.953e-06; +mul mul [ 1 -1 -1 0 0 ] 0.0065; + +muv muv [ 1 -1 -1 0 0 ] 5.953e-06; twoPhase { @@ -27,43 +29,46 @@ twoPhase phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 7.831e-06; - rho rho [1 -3 0 0 0 0 0] 830; + nu nu [ 0 2 -1 0 0 0 0 ] 7.831e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 830; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 4.252e-05; - rho rho [1 -3 0 0 0 0 0] 0.14; + nu nu [ 0 2 -1 0 0 0 0 ] 4.252e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 0.14; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties index dcadcf17cd9..9ddab1bfcd2 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties @@ -1,19 +1,21 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType LESModel; + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 index 9dc65721573..a7c7e625e54 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.1 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.004 -0.001 -1 ) ( 0.012 0.001 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4e-03 -1e-03 -1) (12e-3 1e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 index 0eb66c8739b..470258895d1 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.2 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.2; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.0045 -0.00075 -1 ) ( 0.0095 0.00075 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 index c1833b014ea..530c710e1f0 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/cellSetDict.3 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.3; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.00475 -0.000375 -1 ) ( 0.009 0.000375 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict index 8c40820a165..073ada6caa4 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict @@ -1,88 +1,85 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -startFrom latestTime; +startFrom latestTime; -startTime 0; +startTime 0; -stopAt endTime; +stopAt endTime; -endTime 2e-4; +endTime 0.0002; -deltaT 1e-8; +deltaT 1e-08; -writeControl adjustableRunTime; +writeControl adjustableRunTime; -writeInterval 2e-5; +writeInterval 2e-05; -purgeWrite 0; +purgeWrite 0; -writeFormat binary; +writeFormat binary; -writePrecision 6; +writePrecision 6; -writeCompression compressed; +writeCompression compressed; -timeFormat general; +timeFormat general; -runTimeModifiable yes; +runTimeModifiable yes; -adjustTimeStep on; +adjustTimeStep on; -maxCo 0.5; +maxCo 0.5; -maxAcousticCo 50.0; +maxAcousticCo 50; functions ( fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled false; - outputControl outputTime; - - // Fields to be probed. runTime modifiable! fields ( U { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time; } + p { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time; } + gamma { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes index 69156453d7f..957a4953528 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes @@ -1,57 +1,52 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } interpolationSchemes { - default linear; + default linear; } divSchemes { - default none; -// div(phiv,rho) Gauss upwind; -// div(phi,U) Gauss upwind; -// div(phiv,k) Gauss upwind; - - div(phiv,rho) Gauss limitedLinear 0.2; - div(phi,U) Gauss filteredLinear2V 0.2 0; - div(phiv,k) Gauss filteredLinear2 0.2 0; + default none; + div(phiv,rho) Gauss limitedLinear 0.2; + div(phi,U) Gauss filteredLinear2V 0.2 0; + div(phiv,k) Gauss filteredLinear2 0.2 0; } gradSchemes { - default Gauss linear; + default Gauss linear; } laplacianSchemes { - default none; - - laplacian(nuf,rhoU) Gauss linear corrected; - laplacian(muEff,U) Gauss linear corrected; + default none; + laplacian(nuf,rhoU) Gauss linear corrected; + laplacian(muEff,U) Gauss linear corrected; laplacian(rrhoUAf,p) Gauss linear corrected; - laplacian(rUAf,p) Gauss linear corrected; - laplacian(DkEff,k) Gauss linear corrected; - - laplacian(1,p) Gauss linear corrected; + laplacian(rUAf,p) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } snGradSchemes @@ -62,9 +57,10 @@ snGradSchemes fluxRequired { - default none; - p; - rho; + default none; + p ; + rho ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution index f5b778ec9cf..7aa0a3d54c1 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution @@ -1,77 +1,78 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - omega PBiCG + omega { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - k PBiCG + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - rho PBiCG + rho { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } } PISO { - nCorrectors 3; - nNonOrthogonalCorrectors 0; - -// removeSwirl 2; + nCorrectors 3; + nNonOrthogonalCorrectors 0; } SIMPLE { - } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict index 12b021090d6..1cc48dd0cc7 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict @@ -1,39 +1,37 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object refineMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -set c0; +set c0; coordinateSystem global; globalCoeffs { - tan1 (1 0 0); - tan2 (0 1 0); + tan1 ( 1 0 0 ); + tan2 ( 0 1 0 ); } -directions -( - tan1 - tan2 -); +directions ( tan1 tan2 ); -useHexTopology yes; +useHexTopology yes; -geometricCut no; +geometricCut no; + +writeMesh no; -writeMesh no; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties index 86f1040611b..ef3e3809daa 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties @@ -1,15 +1,16 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -24,96 +25,96 @@ laminarCoeffs devOneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -128,6 +129,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -135,9 +137,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -147,6 +151,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -154,10 +159,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -167,14 +174,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary index 30c545703a2..adffe02dd45 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties index 39d5cf170cf..806b177923e 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties @@ -1,29 +1,31 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -barotropicCompressibilityModel linear; //Chung; +barotropicCompressibilityModel linear; -psiv psiv [0 -2 2 0 0] 2.5e-06; +psiv psiv [ 0 -2 2 0 0 ] 2.5e-06; -rholSat rholSat [1 -3 0 0 0] 830; +rholSat rholSat [ 1 -3 0 0 0 ] 830; -psil psil [0 -2 2 0 0] 5e-07; +psil psil [ 0 -2 2 0 0 ] 5e-07; -pSat pSat [1 -1 -2 0 0] 4500; +pSat pSat [ 1 -1 -2 0 0 ] 4500; + +rhoMin rhoMin [ 1 -3 0 0 0 ] 0.001; -rhoMin rhoMin [1 -3 0 0 0] 0.001; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties index dcf82123d28..7d254ddcf23 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties @@ -1,21 +1,23 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mul mul [1 -1 -1 0 0] 6.500e-03; -muv muv [1 -1 -1 0 0] 5.953e-06; +mul mul [ 1 -1 -1 0 0 ] 0.0065; + +muv muv [ 1 -1 -1 0 0 ] 5.953e-06; twoPhase { @@ -27,43 +29,46 @@ twoPhase phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 7.831e-06; - rho rho [1 -3 0 0 0 0 0] 830; + nu nu [ 0 2 -1 0 0 0 0 ] 7.831e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 830; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 4.252e-05; - rho rho [1 -3 0 0 0 0 0] 0.14; + nu nu [ 0 2 -1 0 0 0 0 ] 4.252e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 0.14; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 index 9dc65721573..a7c7e625e54 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.1 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.004 -0.001 -1 ) ( 0.012 0.001 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4e-03 -1e-03 -1) (12e-3 1e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 index 0eb66c8739b..470258895d1 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.2 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.2; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.0045 -0.00075 -1 ) ( 0.0095 0.00075 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 index c1833b014ea..530c710e1f0 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/cellSetDict.3 @@ -1,29 +1,25 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.3; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.00475 -0.000375 -1 ) ( 0.009 0.000375 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict index 903c0569a51..0b3c8764867 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict @@ -1,88 +1,85 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -startFrom latestTime; +startFrom latestTime; -startTime 0; +startTime 0; -stopAt endTime; +stopAt endTime; -endTime 1e-4; +endTime 0.0001; -deltaT 1e-8; +deltaT 1e-08; -writeControl adjustableRunTime; +writeControl adjustableRunTime; -writeInterval 5e-6; +writeInterval 5e-06; -purgeWrite 0; +purgeWrite 0; -writeFormat binary; +writeFormat binary; -writePrecision 6; +writePrecision 6; -writeCompression compressed; +writeCompression compressed; -timeFormat general; +timeFormat general; -runTimeModifiable yes; +runTimeModifiable yes; -adjustTimeStep on; +adjustTimeStep on; -maxCo 0.5; +maxCo 0.5; -maxAcousticCo 50.0; +maxAcousticCo 50; functions ( fieldAverage1 { - // Type of functionObject type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - + functionObjectLibs ( "libfieldFunctionObjects.so" ); enabled false; - outputControl outputTime; - - // Fields to be probed. runTime modifiable! fields ( U { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time; } + p { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time ; } + gamma { - mean on; - prime2Mean off; - base time; + mean on; + prime2Mean off; + base time; } ); } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict index 30bfe19d724..14efcafd72e 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict @@ -1,15 +1,16 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method simple; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes index 69156453d7f..957a4953528 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes @@ -1,57 +1,52 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } interpolationSchemes { - default linear; + default linear; } divSchemes { - default none; -// div(phiv,rho) Gauss upwind; -// div(phi,U) Gauss upwind; -// div(phiv,k) Gauss upwind; - - div(phiv,rho) Gauss limitedLinear 0.2; - div(phi,U) Gauss filteredLinear2V 0.2 0; - div(phiv,k) Gauss filteredLinear2 0.2 0; + default none; + div(phiv,rho) Gauss limitedLinear 0.2; + div(phi,U) Gauss filteredLinear2V 0.2 0; + div(phiv,k) Gauss filteredLinear2 0.2 0; } gradSchemes { - default Gauss linear; + default Gauss linear; } laplacianSchemes { - default none; - - laplacian(nuf,rhoU) Gauss linear corrected; - laplacian(muEff,U) Gauss linear corrected; + default none; + laplacian(nuf,rhoU) Gauss linear corrected; + laplacian(muEff,U) Gauss linear corrected; laplacian(rrhoUAf,p) Gauss linear corrected; - laplacian(rUAf,p) Gauss linear corrected; - laplacian(DkEff,k) Gauss linear corrected; - - laplacian(1,p) Gauss linear corrected; + laplacian(rUAf,p) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } snGradSchemes @@ -62,9 +57,10 @@ snGradSchemes fluxRequired { - default none; - p; - rho; + default none; + p ; + rho ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution index f5b778ec9cf..7aa0a3d54c1 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution @@ -1,77 +1,78 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - omega PBiCG + omega { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - k PBiCG + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - rho PBiCG + rho { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } } PISO { - nCorrectors 3; - nNonOrthogonalCorrectors 0; - -// removeSwirl 2; + nCorrectors 3; + nNonOrthogonalCorrectors 0; } SIMPLE { - } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict index bc87cbc6a4d..f162b0b3abe 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict @@ -1,25 +1,23 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object mapFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -patchMap -( -); +patchMap ( ); + +cuttingPatches ( ); -cuttingPatches -( -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict index 91dd88b58aa..b2ee8aaba8b 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict @@ -1,41 +1,38 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object refineMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -set c0; +set c0; coordinateSystem global; globalCoeffs { - tan1 (1 0 0); - tan2 (0 1 0); - tan3 (0 0 1); + tan1 ( 1 0 0 ); + tan2 ( 0 1 0 ); + tan3 ( 0 0 1 ); } -directions -( - tan1 - tan2 - tan3 -); +directions ( tan1 tan2 tan3 ); -useHexTopology yes; +useHexTopology yes; -geometricCut no; +geometricCut no; + +writeMesh no; -writeMesh no; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties index ee5f9ee5d74..461a7c61ff5 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kOmegaSST; +RASModel kOmegaSST; turbulence on; @@ -24,175 +25,175 @@ laminarCoeffs kOmegaSSTCoeffs { - alphaK1 0.85034; - alphaK2 1.0; - alphaOmega1 0.5; - alphaOmega2 0.85616; - gamma1 0.5532; - gamma2 0.4403; - beta1 0.0750; - beta2 0.0828; - betaStar 0.09; - a1 0.31; - c1 10; - - Cmu 0.09; + alphaK1 0.85034; + alphaK2 1; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.075; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + Cmu 0.09; } kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary index 716ff9df05e..59f24d80d0f 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties index 39d5cf170cf..8e37778cf1a 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermodynamicProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -barotropicCompressibilityModel linear; //Chung; +barotropicCompressibilityModel linear; -psiv psiv [0 -2 2 0 0] 2.5e-06; +psiv psiv [ 0 -2 2 0 0 ] 2.5e-06; -rholSat rholSat [1 -3 0 0 0] 830; +rholSat rholSat [ 1 -3 0 0 0 ] 830; -psil psil [0 -2 2 0 0] 5e-07; +psil psil [ 0 -2 2 0 0 ] 5e-07; -pSat pSat [1 -1 -2 0 0] 4500; +pSat pSat [ 1 -1 -2 0 0 ] 4500; + +rhoMin rhoMin [ 1 -3 0 0 0 ] 0.001; -rhoMin rhoMin [1 -3 0 0 0] 0.001; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties index dcf82123d28..d87d3805cad 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -mul mul [1 -1 -1 0 0] 6.500e-03; -muv muv [1 -1 -1 0 0] 5.953e-06; +mul mul [ 1 -1 -1 0 0 ] 0.0065; + +muv muv [ 1 -1 -1 0 0 ] 5.953e-06; twoPhase { @@ -27,43 +29,46 @@ twoPhase phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 7.831e-06; - rho rho [1 -3 0 0 0 0 0] 830; + nu nu [ 0 2 -1 0 0 0 0 ] 7.831e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 830; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 4.252e-05; - rho rho [1 -3 0 0 0 0 0] 0.14; + nu nu [ 0 2 -1 0 0 0 0 ] 4.252e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 0.14; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - m m [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + m m [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] -999; - nuInf nuInf [0 2 -1 0 0 0 0] -999; - k k [0 0 1 0 0 0 0] -999; - n n [0 0 0 0 0 0 0] -999; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] -999; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] -999; + k k [ 0 0 1 0 0 0 0 ] -999; + n n [ 0 0 0 0 0 0 0 ] -999; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties index 07f85c68df2..b70f6702e4e 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType RASModel; + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 index 9dc65721573..b693a8e2658 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.1 @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.004 -0.001 -1 ) ( 0.012 0.001 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4e-03 -1e-03 -1) (12e-3 1e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 index 0eb66c8739b..bb0f5cec255 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.2 @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.2; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.0045 -0.00075 -1 ) ( 0.0095 0.00075 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 index c1833b014ea..91081374022 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/cellSetDict.3 @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.3; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0.00475 -0.000375 -1 ) ( 0.009 0.000375 1 ) ; } ); -topoSetSources -( - boxToCell - { - box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict index 04b11dbad0d..d541a7c7ef3 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,40 +10,42 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -startFrom latestTime; +startFrom latestTime; -startTime 0; +startTime 0; -stopAt endTime; +stopAt endTime; -endTime 2e-3; +endTime 0.002; -deltaT 1e-8; +deltaT 1e-08; -writeControl adjustableRunTime; +writeControl adjustableRunTime; -writeInterval 1e-4; +writeInterval 0.0001; -purgeWrite 0; +purgeWrite 0; -writeFormat ascii; +writeFormat ascii; -writePrecision 6; +writePrecision 6; -writeCompression uncompressed; +writeCompression uncompressed; -timeFormat general; +timeFormat general; -runTimeModifiable yes; +runTimeModifiable yes; -adjustTimeStep on; +adjustTimeStep on; -maxCo 0.5; +maxCo 0.5; + +maxAcousticCo 50; -maxAcousticCo 50.0; // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes index fc43eb63b87..28237bd21c5 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,45 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } interpolationSchemes { - default linear; + default linear; } divSchemes { - default none; - div(phiv,rho) Gauss limitedLinear 0.2; - div(phi,U) Gauss limitedLinearV 0.2; - div(phiv,omega) Gauss limitedLinear 0.2; - div(phiv,k) Gauss limitedLinear 0.2; + default none; + div(phiv,rho) Gauss limitedLinear 0.2; + div(phi,U) Gauss limitedLinearV 0.2; + div(phiv,omega) Gauss limitedLinear 0.2; + div(phiv,k) Gauss limitedLinear 0.2; } gradSchemes { - default Gauss linear; + default Gauss linear; } laplacianSchemes { - default none; - - laplacian(nuf,rhoU) Gauss linear corrected; - laplacian(muEff,U) Gauss linear corrected; + default none; + laplacian(nuf,rhoU) Gauss linear corrected; + laplacian(muEff,U) Gauss linear corrected; laplacian(rrhoUAf,p) Gauss linear corrected; - laplacian(rUAf,p) Gauss linear corrected; + laplacian(rUAf,p) Gauss linear corrected; laplacian(DomegaEff,omega) Gauss linear corrected; - laplacian(DkEff,k) Gauss linear corrected; - - laplacian(1,p) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; } snGradSchemes @@ -60,9 +59,10 @@ snGradSchemes fluxRequired { - default none; - p; - rho; + default none; + p ; + rho ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution index f6bad1ada0b..4f413e7ef14 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,66 +10,69 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - omega PBiCG + omega { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - k PBiCG + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - rho PBiCG + rho { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - U PBiCG + U { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } } PISO { - nCorrectors 2; - nNonOrthogonalCorrectors 1; - -// removeSwirl 2; + nCorrectors 2; + nNonOrthogonalCorrectors 1; } SIMPLE -{} +{ +} + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict index 12b021090d6..0a46e4d6670 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,28 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object refineMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -set c0; +set c0; coordinateSystem global; globalCoeffs { - tan1 (1 0 0); - tan2 (0 1 0); + tan1 ( 1 0 0 ); + tan2 ( 0 1 0 ); } -directions -( - tan1 - tan2 -); +directions ( tan1 tan2 ); -useHexTopology yes; +useHexTopology yes; -geometricCut no; +geometricCut no; + +writeMesh no; -writeMesh no; // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U index 367007d0c0a..5b7a093a4f1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org index f0a978580ee..355df071cbc 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/alpha1.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org index dd6d6631cad..5f5f977f431 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/0/pd.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties index bb84772ba51..dd76a64b432 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -26,89 +27,89 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -123,6 +124,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -130,9 +132,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -142,6 +146,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -149,10 +154,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -162,14 +169,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties index c65ebf7f14b..938322374a1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict index 56d39f67b2f..0231b385dfc 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary index a6a3281fd72..52529b0c3d5 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev-09ca1eb6b56f | +| \\ / O peration | Version: 1.5-09ca1eb6b56f | | \\ / A nd | | | \\/ M anipulation | www.OpenFOAM.org | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties index 201e3b4946c..67e66cd27d1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -phase1 //water +phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 1000; - rho0 rho0 [1 -3 0 0 0 0 0] 1000; - psi psi [0 -2 2 0 0] 1e-5; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; + rho0 rho0 [ 1 -3 0 0 0 0 0 ] 1000; + psi psi [ 0 -2 2 0 0 ] 1e-05; } -phase2 //air +phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.589e-5; - rho rho [1 -3 0 0 0 0 0] 1; - rho0 rho0 [1 -3 0 0 0 0 0] 0; - psi psi [0 -2 2 0 0] 1e-5; + nu nu [ 0 2 -1 0 0 0 0 ] 1.589e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; + rho0 rho0 [ 1 -3 0 0 0 0 0 ] 0; + psi psi [ 0 -2 2 0 0 ] 1e-05; } -pMin pMin [1 -1 -2 0 0 0 0] 1e4; +pMin pMin [ 1 -1 -2 0 0 0 0 ] 10000; + +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07; -sigma sigma [1 0 -2 0 0 0 0] 0.07; // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties index d3f32ecb06e..a925d3cc2b2 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/constant/turbulenceProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//simulationType laminar; -//simulationType RASModel; -simulationType LESModel; +simulationType LESModel; // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict index 03f0c207d6f..53a30129f4a 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -23,11 +23,11 @@ stopAt endTime; endTime 0.5; -deltaT 1e-04; +deltaT 0.0001; writeControl adjustableRunTime; -writeInterval 5e-03; +writeInterval 0.005; purgeWrite 0; @@ -49,4 +49,5 @@ maxCo 0.25; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes index ee05b3ed1d2..373e1ca67d9 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -26,15 +27,11 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; //linear; - + div(rho*phi,U) Gauss upwind; div(phi,alpha) Gauss vanLeer; - div(phirb,alpha) Gauss interfaceCompression 1.0; - - div(phi,pd) Gauss upwind; //vanLeer; //linear; - + div(phirb,alpha) Gauss interfaceCompression 1; + div(phi,pd) Gauss upwind; div(phi,k) Gauss vanLeer; - div((nuEff*dev(grad(U).T()))) Gauss linear; } @@ -45,7 +42,7 @@ laplacianSchemes interpolationSchemes { - default linear; + default linear; } snGradSchemes @@ -56,9 +53,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution index 86825247397..3416674d078 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,105 +10,112 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - rho diagonal - {}; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + rho { - tolerance 1e-7; - relTol 0.01; - - smoother DIC; //GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; + solver diagonal; + } + pd + { + solver GAMG; + tolerance 1e-07; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-7; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-7; - relTol 0; - maxIter 20; - }; + tolerance 1e-07; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; - - k PBiCG + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -123,4 +130,5 @@ PISO cAlpha 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict index 510871c44b3..d1992643325 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge2D/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,39 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue alpha1 1 - volScalarFieldValue pd 1e5 -); +defaultFieldValues ( volScalarFieldValue alpha1 1 volScalarFieldValue pd 100000 ); -regions -( - sphereToCell - { - centre (0.5 0.5 0); - radius 0.1; +regions ( sphereToCell { centre ( 0.5 0.5 0 ) ; radius 0.1 ; fieldValues ( volScalarFieldValue alpha1 0 volScalarFieldValue pd 1000000 ) ; } boxToCell { box ( -10 1 -1 ) ( 10 10 1 ) ; fieldValues ( volScalarFieldValue alpha1 0 ) ; } ); - fieldValues - ( - volScalarFieldValue alpha1 0 - volScalarFieldValue pd 10e5 - ); - } - - boxToCell - { - box (-10 1 -1) (10 10 1); - - fieldValues - ( - volScalarFieldValue alpha1 0 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U index 6840d0129ff..06fac63442a 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org index cf3931804ff..38175b056ae 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/alpha1.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org index 57bee34347b..efe6f4ca9c5 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/0/pd.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties index bb84772ba51..dd76a64b432 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -26,89 +27,89 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -123,6 +124,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -130,9 +132,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -142,6 +146,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -149,10 +154,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -162,14 +169,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties index c65ebf7f14b..938322374a1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict index 6a0e1ca9ce7..c93921851e1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary index 3517ca55be1..f3c84ef8fbd 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev-09ca1eb6b56f | +| \\ / O peration | Version: 1.5-09ca1eb6b56f | | \\ / A nd | | | \\/ M anipulation | www.OpenFOAM.org | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties index 201e3b4946c..67e66cd27d1 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -phase1 //water +phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 1000; - rho0 rho0 [1 -3 0 0 0 0 0] 1000; - psi psi [0 -2 2 0 0] 1e-5; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; + rho0 rho0 [ 1 -3 0 0 0 0 0 ] 1000; + psi psi [ 0 -2 2 0 0 ] 1e-05; } -phase2 //air +phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.589e-5; - rho rho [1 -3 0 0 0 0 0] 1; - rho0 rho0 [1 -3 0 0 0 0 0] 0; - psi psi [0 -2 2 0 0] 1e-5; + nu nu [ 0 2 -1 0 0 0 0 ] 1.589e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; + rho0 rho0 [ 1 -3 0 0 0 0 0 ] 0; + psi psi [ 0 -2 2 0 0 ] 1e-05; } -pMin pMin [1 -1 -2 0 0 0 0] 1e4; +pMin pMin [ 1 -1 -2 0 0 0 0 ] 10000; + +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07; -sigma sigma [1 0 -2 0 0 0 0] 0.07; // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties index fe67e8fecae..a925d3cc2b2 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/constant/turbulenceProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -//simulationType laminar; -//simulationType RASModel; -simulationType LESModel; +simulationType LESModel; // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict index 03f0c207d6f..53a30129f4a 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -23,11 +23,11 @@ stopAt endTime; endTime 0.5; -deltaT 1e-04; +deltaT 0.0001; writeControl adjustableRunTime; -writeInterval 5e-03; +writeInterval 0.005; purgeWrite 0; @@ -49,4 +49,5 @@ maxCo 0.25; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict index fd4a8832416..59ad3aca886 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,24 +18,23 @@ FoamFile numberOfSubdomains 4; method hierarchical; -//method metis; -//method parMetis; simpleCoeffs { - n (1 4 1); + n ( 1 4 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 4 1); + n ( 1 4 1 ); delta 0.001; order xyz; } metisCoeffs -{} +{ +} manualCoeffs { @@ -43,8 +43,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes index ee05b3ed1d2..373e1ca67d9 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -26,15 +27,11 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; //linear; - + div(rho*phi,U) Gauss upwind; div(phi,alpha) Gauss vanLeer; - div(phirb,alpha) Gauss interfaceCompression 1.0; - - div(phi,pd) Gauss upwind; //vanLeer; //linear; - + div(phirb,alpha) Gauss interfaceCompression 1; + div(phi,pd) Gauss upwind; div(phi,k) Gauss vanLeer; - div((nuEff*dev(grad(U).T()))) Gauss linear; } @@ -45,7 +42,7 @@ laplacianSchemes interpolationSchemes { - default linear; + default linear; } snGradSchemes @@ -56,9 +53,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution index 86825247397..3416674d078 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,105 +10,112 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - rho diagonal - {}; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + rho { - tolerance 1e-7; - relTol 0.01; - - smoother DIC; //GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; + solver diagonal; + } + pd + { + solver GAMG; + tolerance 1e-07; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-7; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-7; - relTol 0; - maxIter 20; - }; + tolerance 1e-07; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; - - k PBiCG + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -123,4 +130,5 @@ PISO cAlpha 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict index d0e43503721..fb686e791c2 100644 --- a/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict +++ b/tutorials/multiphase/compressibleInterFoam/depthCharge3D/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,39 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue alpha1 1 - volScalarFieldValue pd 1e5 -); +defaultFieldValues ( volScalarFieldValue alpha1 1 volScalarFieldValue pd 100000 ); -regions -( - sphereToCell - { - centre (0.5 0.5 0.5); - radius 0.1; +regions ( sphereToCell { centre ( 0.5 0.5 0.5 ) ; radius 0.1 ; fieldValues ( volScalarFieldValue alpha1 0 volScalarFieldValue pd 1000000 ) ; } boxToCell { box ( -10 1 -1 ) ( 10 10 1 ) ; fieldValues ( volScalarFieldValue alpha1 0 ) ; } ); - fieldValues - ( - volScalarFieldValue alpha1 0 - volScalarFieldValue pd 10e5 - ); - } - - boxToCell - { - box (-10 1 -1) (10 10 1); - - fieldValues - ( - volScalarFieldValue alpha1 0 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U index be74aea5a1a..f37e2e0d0f3 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma index e7dd5fba736..2e2bf16c3cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org index e7dd5fba736..2e2bf16c3cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd index bf55dd55f31..f5801776cf3 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U index 92dbcc46724..e791ef363f6 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma index f933566bb48..7602a0953b9 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org index e7dd5fba736..2e2bf16c3cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd index bf55dd55f31..f5801776cf3 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties index 919d435ff36..035a4678811 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/RASProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; -turbulence on; +turbulence on; -printCoeffs off; +printCoeffs off; laminarCoeffs { @@ -27,149 +27,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict index 56b10abaf93..3ff397dfee0 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,54 +10,26 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh dynamicRefineFvMesh; +dynamicFvMesh dynamicRefineFvMesh; -// Refinement dynamicRefineFvMeshCoeffs { - // Refine every refineInterval timesteps - refineInterval 1; - - // volScalarField to base refinement on - field gamma; - - // - // 1. interpolate field - // 2. mark any cell - // - using a point value >minLevel <maxLevel - // - level < maxRefinement - // - unprotected - // 3. if too many cells determine cost function: - // - lowest level wins - // - cell closest to (0.5*minLevel + 0.5*maxLevel) wins - - // Which cells to un/refine: based on point values (simple averaging). - // - refine pointCells of point value > refineLevel - // - unrefine pointCells of point value < unrefineLevel and that - // are not within nBufferLayers of points marked for refinement. - - // All cells (neighbouring a cell with) gamma get refined + refineInterval 1; + field gamma; lowerRefineLevel 0.001; upperRefineLevel 0.999; - // All points are candidates for unrefining (gamma always <1) - unrefineLevel 10; - nBufferLayers 1; - - // Maximum refinement level (starts from 0) - maxRefinement 2; - - // Maximum cell limit (approximate) - maxCells 200000; - - // Fluxes to correct and variable they can be interpolated from - correctFluxes ((phi U)); - - // Write cellLevel? - dumpLevel true; + unrefineLevel 10; + nBufferLayers 1; + maxRefinement 2; + maxCells 200000; + correctFluxes ( ( phi U ) ); + dumpLevel true; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties index 40232c0c406..639bd90b066 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/environmentalProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict index 09be8b82ff7..b31c6697971 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary index 1300f15c762..924d99d9373 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 index 3ffad18a1e1..2f7f7412e51 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old index b39c920d130..e28610eeda9 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/polyMesh/sets/c0_old @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties index 3460aba08f9..b8f03496c14 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/transportProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,45 +18,48 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 1000; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } -sigma sigma [1 0 -2 0 0 0 0] 0.07; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict index f560d7c85b5..4790e5fc3f0 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -25,9 +25,9 @@ endTime 2; deltaT 0.001; -writeControl adjustableRunTime; //timeStep; //adjustableRunTime; +writeControl adjustableRunTime; -writeInterval 0.02; //10; //0.02; +writeInterval 0.02; purgeWrite 0; @@ -49,4 +49,5 @@ maxCo 0.1; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict index b7f14f71546..d4601d33a25 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/decomposeParDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,23 +18,23 @@ FoamFile numberOfSubdomains 6; method metis; -//method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; order xyz; } metisCoeffs -{} +{ +} manualCoeffs { @@ -42,8 +43,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes index a03b85207dd..f08b9b1ac23 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -28,7 +29,7 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; //limitedLinearV 1; + div(rho*phi,U) Gauss upwind; div(phi,gamma) Gauss vanLeer; div(phirb,gamma) Gauss interfaceCompression; } @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution index ecb3469be21..e33d8a03f00 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,102 +10,107 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-3; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 0.001; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-4; - relTol 0; - maxIter 100; - }; + tolerance 0.0001; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.05; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-8; - relTol 0; - - nVcycles 2; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-08; + relTol 0; + nVcycles 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-8; - relTol 0; - maxIter 20; - }; + tolerance 1e-08; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; - - k PBiCG + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -120,9 +125,10 @@ PISO pdRefValue 0; pRefProbe { - fields (pd); - probeLocations ((0.51 0.51 0.51)); - }; + fields ( pd ); + probeLocations ( ( 0.51 0.51 0.51 ) ); + } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict index 708c1cacd69..892a12e4429 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,27 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 - volVectorFieldValue U (0 0 0) -); +defaultFieldValues ( volScalarFieldValue gamma 0 volVectorFieldValue U ( 0 0 0 ) ); -regions -( - boxToCell - { - box (0 0 0) (0.60 0.1875 0.75); +regions ( boxToCell { box ( 0 0 0 ) ( 0.6 0.1875 0.75 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U index ae062bdf0d1..bf28b4a48e8 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org index 27115630031..e7fbe1d0824 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd index cefcbb7d442..020ff7cc00a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties index ac1efb34c5d..ac647d46427 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; turbulence off; @@ -25,149 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict index e7a0ec06d66..f8a9a9bd8b3 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh solidBodyMotionFvMesh; +dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SDA; - SDACoeffs { - // Centre of gravity - CofG (0 0 0); - - // Model scale ratio - lamda 50; - - // Max roll amplitude [rad] - rollAmax 0.22654; - - // Min roll amplitude [rad] - rollAmin 0.10472; - - // Heave amplitude [m] - heaveA 3.79; - - // Sway amplitude [m] - swayA 2.34; - - // Damping Coefficient [-] - Q 2.00; - - // Time Period for liquid [sec] - Tp 13.93; - - // Natural Period of Ship [sec] - Tpn 11.93; - - // Reference time step [sec] - dTi 0.059; - - // Incr. in Tp/unit 'dTi'[-] - dTp -0.001; + CofG ( 0 0 0 ); + lamda 50; + rollAmax 0.22654; + rollAmin 0.10472; + heaveA 3.79; + swayA 2.34; + Q 2; + Tp 13.93; + Tpn 11.93; + dTi 0.059; + dTp -0.001; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties index 40232c0c406..9fd11e4ef26 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict index 3c52247aa29..c7d3ee2dcd5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 index b6c1cdd4ad9..b56cbe43425 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary index 57267e87f7e..53b37c41f6d 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties index c20854a9031..02287f422b5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,17 +18,18 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 998.2; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.2; } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; } -sigma sigma [1 0 -2 0 0 0 0] 0.0; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict index a4d077ea191..f533a54408a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -53,24 +53,15 @@ functions ( probes { - // Type of functionObject type probes; - - // Output every outputControl timeStep; outputInterval 1; - - // Name of the directory for the probe data name probes; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0 9.95 19.77) - (0 -9.95 19.77) + ( 0 9.95 19.77 ) + ( 0 -9.95 19.77 ) ); - - // Fields to be probed. runTime modifiable! fields ( p @@ -79,18 +70,11 @@ functions wallPressure { - // Type of functionObject type surfaces; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Output every + functionObjectLibs ( "libsampling.so" ); outputControl timeStep; outputInterval 10; - surfaceFormat raw; - fields ( p @@ -100,12 +84,13 @@ functions ( walls { - type patch; - patchName walls; - triangulate false; + type patch; + patchName walls; + triangulate false; } ); } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict index d4594e09475..fa967d3199a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (4 2 2); + n ( 4 2 2 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes index f089e4e5e6a..a6a73ef77f2 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution index 3aaca523758..a4dc358cdac 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.01; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 2e-9; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 2e-09; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 2e-9; - relTol 0; - maxIter 20; - }; + tolerance 2e-09; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } } PISO @@ -98,26 +98,19 @@ PISO nGammaSubCycles 3; cGamma 1.5; correctPhi no; - pRefProbe { - fields - ( - p - ); - - probeLocations - ( - (0 0 0.15) - ); + fields ( p ); + probeLocations ( ( 0 0 0.15 ) ); } - pRefValue 1e5; + pRefValue 100000; } relaxationFactors { - U 1.0; + U 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict index 2c881a7ba48..7c6f1065041 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 -); +defaultFieldValues ( volScalarFieldValue gamma 0 ); -regions -( - boxToCell - { - box (-100 -100 -100) (100 100 0); +regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U index ae062bdf0d1..bf28b4a48e8 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org index 27115630031..e7fbe1d0824 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd index cefcbb7d442..020ff7cc00a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties index ac1efb34c5d..ac647d46427 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; turbulence off; @@ -25,149 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict index 2b9f0bed119..e9ca15c3386 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh solidBodyMotionFvMesh; +dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SDA; - SDACoeffs { - // Centre of gravity - CofG (0 0 0); - - // Model scale ratio - lamda 50; - - // Max roll amplitude [rad] - rollAmax 0.2; - - // Min roll amplitude [rad] - rollAmin 0.1; - - // Heave amplitude [m] - heaveA 4; - - // Sway amplitude [m] - swayA 2.4; - - // Damping Coefficient [-] - Q 2; - - // Time Period for liquid [sec] - Tp 14; - - // Natural Period of Ship [sec] - Tpn 12; - - // Reference time step [sec] - dTi 0.06; - - // Incr. in Tp/unit 'dTi'[-] - dTp -0.001; + CofG ( 0 0 0 ); + lamda 50; + rollAmax 0.2; + rollAmin 0.1; + heaveA 4; + swayA 2.4; + Q 2; + Tp 14; + Tpn 12; + dTi 0.06; + dTp -0.001; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties index 40232c0c406..9fd11e4ef26 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict index 3c52247aa29..c7d3ee2dcd5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 index b6c1cdd4ad9..b56cbe43425 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary index 57267e87f7e..53b37c41f6d 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties index c20854a9031..02287f422b5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,17 +18,18 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 998.2; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.2; } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; } -sigma sigma [1 0 -2 0 0 0 0] 0.0; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict index 0bacce4c995..a4e44f2de31 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -53,24 +53,15 @@ functions ( probes { - // Type of functionObject type probes; - - // Output every 10th time step outputControl timeStep; outputInterval 10; - - // Name of the directory for the probe data name probes; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0 9.95 19.77) - (0 -9.95 19.77) + ( 0 9.95 19.77 ) + ( 0 -9.95 19.77 ) ); - - // Fields to be probed. runTime modifiable! fields ( p @@ -79,33 +70,26 @@ functions wallPressure { - // Type of functionObject type surfaces; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Output every 10th time step + functionObjectLibs ( "libsampling.so" ); outputControl timeStep; outputInterval 10; - surfaceFormat raw; - fields ( p ); - surfaces ( walls { - type patch; - patchName walls; - triangulate false; + type patch; + patchName walls; + triangulate false; } ); } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict index d4594e09475..fa967d3199a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (4 2 2); + n ( 4 2 2 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes index f089e4e5e6a..a6a73ef77f2 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution index 3aaca523758..a4dc358cdac 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.01; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 2e-9; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 2e-09; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 2e-9; - relTol 0; - maxIter 20; - }; + tolerance 2e-09; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } } PISO @@ -98,26 +98,19 @@ PISO nGammaSubCycles 3; cGamma 1.5; correctPhi no; - pRefProbe { - fields - ( - p - ); - - probeLocations - ( - (0 0 0.15) - ); + fields ( p ); + probeLocations ( ( 0 0 0.15 ) ); } - pRefValue 1e5; + pRefValue 100000; } relaxationFactors { - U 1.0; + U 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict index 2c881a7ba48..7c6f1065041 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 -); +defaultFieldValues ( volScalarFieldValue gamma 0 ); -regions -( - boxToCell - { - box (-100 -100 -100) (100 100 0); +regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U index df1f4c5a6ca..da644fd824c 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org index 85902dcba56..f1c22f97410 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd index 25379b239c0..ac7e49da81a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties index ac1efb34c5d..ac647d46427 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; turbulence off; @@ -25,149 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict index e7a0ec06d66..f8a9a9bd8b3 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh solidBodyMotionFvMesh; +dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SDA; - SDACoeffs { - // Centre of gravity - CofG (0 0 0); - - // Model scale ratio - lamda 50; - - // Max roll amplitude [rad] - rollAmax 0.22654; - - // Min roll amplitude [rad] - rollAmin 0.10472; - - // Heave amplitude [m] - heaveA 3.79; - - // Sway amplitude [m] - swayA 2.34; - - // Damping Coefficient [-] - Q 2.00; - - // Time Period for liquid [sec] - Tp 13.93; - - // Natural Period of Ship [sec] - Tpn 11.93; - - // Reference time step [sec] - dTi 0.059; - - // Incr. in Tp/unit 'dTi'[-] - dTp -0.001; + CofG ( 0 0 0 ); + lamda 50; + rollAmax 0.22654; + rollAmin 0.10472; + heaveA 3.79; + swayA 2.34; + Q 2; + Tp 13.93; + Tpn 11.93; + dTi 0.059; + dTp -0.001; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties index 40232c0c406..9fd11e4ef26 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict index 0d21d111481..98820d1a006 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 index f97859e6bff..4d323b9c970 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary index 28068f37d47..31c74e19c2e 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties index c20854a9031..02287f422b5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,17 +18,18 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 998.2; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.2; } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; } -sigma sigma [1 0 -2 0 0 0 0] 0.0; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict index 959e229e953..1b122632d3a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -53,61 +53,21 @@ functions ( probes { - // Type of functionObject type probes; - - // Output every outputControl timeStep; outputInterval 1; - - // Name of the directory for the probe data name probes; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0 9.95 19.77) - (0 -9.95 19.77) + ( 0 9.95 19.77 ) + ( 0 -9.95 19.77 ) ); - - // Fields to be probed. runTime modifiable! fields ( p ); } - - /* - wallPressure - { - // Type of functionObject - type surfaces; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Output every 10th time step - outputControl timeStep; - outputInterval 10; - - surfaceFormat raw; - - fields - ( - p - ); - - surfaces - ( - walls - { - type patch; - patchName walls; - triangulate false; - } - ); - } - */ ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict index d4594e09475..fa967d3199a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (4 2 2); + n ( 4 2 2 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes index f089e4e5e6a..a6a73ef77f2 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution index 3aaca523758..a4dc358cdac 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.01; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 2e-9; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 2e-09; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 2e-9; - relTol 0; - maxIter 20; - }; + tolerance 2e-09; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } } PISO @@ -98,26 +98,19 @@ PISO nGammaSubCycles 3; cGamma 1.5; correctPhi no; - pRefProbe { - fields - ( - p - ); - - probeLocations - ( - (0 0 0.15) - ); + fields ( p ); + probeLocations ( ( 0 0 0.15 ) ); } - pRefValue 1e5; + pRefValue 100000; } relaxationFactors { - U 1.0; + U 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict index 2c881a7ba48..7c6f1065041 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 -); +defaultFieldValues ( volScalarFieldValue gamma 0 ); -regions -( - boxToCell - { - box (-100 -100 -100) (100 100 0); +regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U index df1f4c5a6ca..da644fd824c 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org index 85902dcba56..f1c22f97410 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd index 25379b239c0..ac7e49da81a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties index ac1efb34c5d..ac647d46427 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; turbulence off; @@ -25,149 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict index 2b9f0bed119..e9ca15c3386 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh solidBodyMotionFvMesh; +dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SDA; - SDACoeffs { - // Centre of gravity - CofG (0 0 0); - - // Model scale ratio - lamda 50; - - // Max roll amplitude [rad] - rollAmax 0.2; - - // Min roll amplitude [rad] - rollAmin 0.1; - - // Heave amplitude [m] - heaveA 4; - - // Sway amplitude [m] - swayA 2.4; - - // Damping Coefficient [-] - Q 2; - - // Time Period for liquid [sec] - Tp 14; - - // Natural Period of Ship [sec] - Tpn 12; - - // Reference time step [sec] - dTi 0.06; - - // Incr. in Tp/unit 'dTi'[-] - dTp -0.001; + CofG ( 0 0 0 ); + lamda 50; + rollAmax 0.2; + rollAmin 0.1; + heaveA 4; + swayA 2.4; + Q 2; + Tp 14; + Tpn 12; + dTi 0.06; + dTp -0.001; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties index 40232c0c406..9fd11e4ef26 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict index 0d21d111481..98820d1a006 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 index f97859e6bff..4d323b9c970 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary index 28068f37d47..31c74e19c2e 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties index c20854a9031..02287f422b5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,17 +18,18 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 998.2; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.2; } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; } -sigma sigma [1 0 -2 0 0 0 0] 0.0; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict index 959e229e953..1b122632d3a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -53,61 +53,21 @@ functions ( probes { - // Type of functionObject type probes; - - // Output every outputControl timeStep; outputInterval 1; - - // Name of the directory for the probe data name probes; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0 9.95 19.77) - (0 -9.95 19.77) + ( 0 9.95 19.77 ) + ( 0 -9.95 19.77 ) ); - - // Fields to be probed. runTime modifiable! fields ( p ); } - - /* - wallPressure - { - // Type of functionObject - type surfaces; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Output every 10th time step - outputControl timeStep; - outputInterval 10; - - surfaceFormat raw; - - fields - ( - p - ); - - surfaces - ( - walls - { - type patch; - patchName walls; - triangulate false; - } - ); - } - */ ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict index d4594e09475..fa967d3199a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (4 2 2); + n ( 4 2 2 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes index f089e4e5e6a..a6a73ef77f2 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution index 3aaca523758..a4dc358cdac 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.01; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 2e-9; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 2e-09; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 2e-9; - relTol 0; - maxIter 20; - }; + tolerance 2e-09; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } } PISO @@ -98,26 +98,19 @@ PISO nGammaSubCycles 3; cGamma 1.5; correctPhi no; - pRefProbe { - fields - ( - p - ); - - probeLocations - ( - (0 0 0.15) - ); + fields ( p ); + probeLocations ( ( 0 0 0.15 ) ); } - pRefValue 1e5; + pRefValue 100000; } relaxationFactors { - U 1.0; + U 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict index 2c881a7ba48..7c6f1065041 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 -); +defaultFieldValues ( volScalarFieldValue gamma 0 ); -regions -( - boxToCell - { - box (-100 -100 -100) (100 100 0); +regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U index df1f4c5a6ca..da644fd824c 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org index 85902dcba56..f1c22f97410 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd index 25379b239c0..ac7e49da81a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/pd @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties index ac1efb34c5d..ac647d46427 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,12 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// RASModel kEpsilon; -RASModel laminar; +RASModel laminar; turbulence off; @@ -25,149 +25,150 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict index 639bcd053b7..caba842ea56 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,24 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh solidBodyMotionFvMesh; +dynamicFvMesh solidBodyMotionFvMesh; solidBodyMotionFvMeshCoeffs { solidBodyMotionFunction SKA; - SKACoeffs { - // Centre of gravity - CofG (0 0 0); - - // Time data file name + CofG ( 0 0 0 ); timeDataFileName "constant/6DoF.dat"; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties index 40232c0c406..9fd11e4ef26 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict index 0d21d111481..98820d1a006 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 index f97859e6bff..4d323b9c970 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/blockMeshDict.m4 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary index 28068f37d47..31c74e19c2e 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties index c20854a9031..02287f422b5 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,17 +18,18 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-6; - rho rho [1 -3 0 0 0 0 0] 998.2; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 998.2; } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; } -sigma sigma [1 0 -2 0 0 0 0] 0.0; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict index 959e229e953..1b122632d3a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -53,61 +53,21 @@ functions ( probes { - // Type of functionObject type probes; - - // Output every outputControl timeStep; outputInterval 1; - - // Name of the directory for the probe data name probes; - - // Locations to be probed. runTime modifiable! probeLocations ( - (0 9.95 19.77) - (0 -9.95 19.77) + ( 0 9.95 19.77 ) + ( 0 -9.95 19.77 ) ); - - // Fields to be probed. runTime modifiable! fields ( p ); } - - /* - wallPressure - { - // Type of functionObject - type surfaces; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libsampling.so"); - - // Output every 10th time step - outputControl timeStep; - outputInterval 10; - - surfaceFormat raw; - - fields - ( - p - ); - - surfaces - ( - walls - { - type patch; - patchName walls; - triangulate false; - } - ); - } - */ ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict index d4594e09475..fa967d3199a 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method hierarchical; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (4 2 2); + n ( 4 2 2 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes index f089e4e5e6a..a6a73ef77f2 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution index 3aaca523758..a4dc358cdac 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-8; - relTol 0.01; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 2e-9; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 2e-09; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 2e-9; - relTol 0; - maxIter 20; - }; + tolerance 2e-09; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } } PISO @@ -98,26 +98,19 @@ PISO nGammaSubCycles 3; cGamma 1.5; correctPhi no; - pRefProbe { - fields - ( - p - ); - - probeLocations - ( - (0 0 0.15) - ); + fields ( p ); + probeLocations ( ( 0 0 0.15 ) ); } - pRefValue 1e5; + pRefValue 100000; } relaxationFactors { - U 1.0; + U 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict index 2c881a7ba48..7c6f1065041 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 -); +defaultFieldValues ( volScalarFieldValue gamma 0 ); -regions -( - boxToCell - { - box (-100 -100 -100) (100 100 0); +regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/0/U b/tutorials/multiphase/interFoam/laminar/damBreak/0/U index 9dcf5eae9a4..dca001ffb0c 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/0/U +++ b/tutorials/multiphase/interFoam/laminar/damBreak/0/U @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict b/tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict index c87164cda22..cea5c19ae6a 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict +++ b/tutorials/multiphase/interFoam/laminar/damBreak/constant/dynamicMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; - object motionProperties; + location "constant"; + object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dynamicFvMesh staticFvMesh; +dynamicFvMesh staticFvMesh; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties +++ b/tutorials/multiphase/interFoam/laminar/damBreak/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary index eb22ec5273f..3a6342293a6 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary +++ b/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties index 117a1c91691..b8f03496c14 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties +++ b/tutorials/multiphase/interFoam/laminar/damBreak/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -17,45 +18,48 @@ FoamFile phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 1000; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } -sigma sigma [1 0 -2 0 0 0 0] 0.07; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties b/tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties index 0efb448180f..886d34bdef1 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties +++ b/tutorials/multiphase/interFoam/laminar/damBreak/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType laminar; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict index 8415c7bc849..5546d05292b 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -49,4 +49,5 @@ maxCo 0.5; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict index cf0067afd3c..bf8dffb737c 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method simple; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes index 6b8e4385b40..d242b76b754 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -51,9 +52,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - alpha1; + pd ; + pcorr ; + alpha1 ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution index 57f82927779..b1b00223fcd 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,36 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner DIC; - tolerance 1e-10; - relTol 0; - }; - pd PCG + solver PCG; + preconditioner DIC; + tolerance 1e-10; + relTol 0; + } + + pd { - preconditioner DIC; - tolerance 1e-7; - relTol 0.05; - }; - pdFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0.05; + } + + pdFinal { - preconditioner DIC; - tolerance 1e-7; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } } PISO @@ -52,4 +60,5 @@ PISO cAlpha 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict b/tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict index 8e031272ac3..21e4416d798 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,27 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue alpha1 0 - volVectorFieldValue U (0 0 0) -); +defaultFieldValues ( volScalarFieldValue alpha1 0 volVectorFieldValue U ( 0 0 0 ) ); -regions -( - boxToCell - { - box (0 0 -1) (0.1461 0.292 1); +regions ( boxToCell { box ( 0 0 -1 ) ( 0.1461 0.292 1 ) ; fieldValues ( volScalarFieldValue alpha1 1 ) ; } ); - fieldValues - ( - volScalarFieldValue alpha1 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties index 568799d2231..1d34e2477f4 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/LESProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object LESProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel oneEqEddy; +LESModel oneEqEddy; -turbulence on; +turbulence on; -delta smooth; +delta smooth; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -28,90 +29,90 @@ laminarCoeffs oneEqEddyCoeffs { - ck 0.07; - ce 1.05; + ck 0.07; + ce 1.05; } dynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } locDynOneEqEddyCoeffs { - ce 1.05; + ce 1.05; filter simple; } SmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; } Smagorinsky2Coeffs { - ce 1.05; - ck 0.07; - cD2 0.02; + ce 1.05; + ck 0.07; + cD2 0.02; } spectEddyViscCoeffs { - ce 1.05; - cB 8.22; - cK1 0.83; - cK2 1.03; - cK3 4.75; - cK4 2.55; + ce 1.05; + cB 8.22; + cK1 0.83; + cK2 1.03; + cK3 4.75; + cK4 2.55; } dynSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } mixedSmagorinskyCoeffs { - ce 1.05; - ck 0.07; + ce 1.05; + ck 0.07; filter simple; } dynMixedSmagorinskyCoeffs { - ce 1.05; + ce 1.05; filter simple; } LRRDiffStressCoeffs { - ce 1.05; - ck 0.09; - c1 1.8; - c2 0.6; + ce 1.05; + ck 0.09; + c1 1.8; + c2 0.6; } DeardorffDiffStressCoeffs { - ce 1.05; - ck 0.09; - cm 4.13; + ce 1.05; + ck 0.09; + cm 4.13; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; - CDES 0.65; - ck 0.07; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; + CDES 0.65; + ck 0.07; } cubeRootVolCoeffs @@ -126,6 +127,7 @@ PrandtlCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -133,9 +135,11 @@ PrandtlCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Cdelta 0.158; + + Cdelta 0.158; } vanDriestCoeffs @@ -145,6 +149,7 @@ vanDriestCoeffs { deltaCoeff 1; } + smoothCoeffs { delta cubeRootVol; @@ -152,10 +157,12 @@ vanDriestCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } - Aplus 26; - Cdelta 0.158; + + Aplus 26; + Cdelta 0.158; } smoothCoeffs @@ -165,14 +172,16 @@ smoothCoeffs { deltaCoeff 1; } + maxDeltaRatio 1.1; } -kappa 0.4187; +kappa 0.4187; wallFunctionCoeffs { - E 9; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties index ca80af21ee6..645c9af0992 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 0 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 0 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 index e2320b01cff..04d478574ab 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0 @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old index 250a0c6d531..5fbe1c4c4b1 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/c0_old @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells index 383d411db8a..276e2ccb5f5 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/polyMesh/sets/refinedCells @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties index ef321fd883b..295d67f6441 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -24,45 +25,48 @@ twoPhase phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 5.952e-06; - rho rho [1 -3 0 0 0 0 0] 840; + nu nu [ 0 2 -1 0 0 0 0 ] 5.952e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 840; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 8.5e-07; - rho rho [1 -3 0 0 0 0 0] 20; + nu nu [ 0 2 -1 0 0 0 0 ] 8.5e-07; + rho rho [ 1 -3 0 0 0 0 0 ] 20; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } -sigma sigma [1 0 -2 0 0 0 0] 0.0261; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.0261; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties index dcadcf17cd9..2e42797ca95 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType LESModel; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict index d56de07c7ff..cc4838bb425 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object cellSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0 0 -2e-05 ) ( 0.0036 0.0003 2e-05 ) ; } ); -topoSetSources -( - boxToCell - { - box (0 0 -20e-06) (3600e-6 300e-06 20e-06); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 index ae151cca9d7..b2294190d0a 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.1 @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0 0 -2e-05 ) ( 0.0036 0.0008 4e-05 ) ; } ); -topoSetSources -( - boxToCell - { - box (0 0 -20e-06) (3600e-6 800e-06 40e-06); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 index d56de07c7ff..e5e1a3c5c9d 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/cellSetDict.2 @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,20 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; - object cellSetDict; + location "system"; + object cellSetDict.2; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -name c0; +name c0; -action new; +action new; + +topoSetSources ( boxToCell { box ( 0 0 -2e-05 ) ( 0.0036 0.0003 2e-05 ) ; } ); -topoSetSources -( - boxToCell - { - box (0 0 -20e-06) (3600e-6 300e-06 20e-06); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict index e7a4ac1b84c..58243b4b8d0 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -49,4 +49,5 @@ maxCo 0.5; maxDeltaT 1e-08; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes index 2d28e02de03..2a273c5e51c 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -55,9 +56,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - alpha1; + pd ; + pcorr ; + alpha1 ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution index 8d5181515e9..660482ad377 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,102 +10,107 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother DICGaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-7; - relTol 0.01; - - smoother DIC; //GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-07; + relTol 0.01; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-7; - relTol 0; - - nVcycles 2; - - smoother DICGaussSeidel; - nPreSweeps 2; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother DICGaussSeidel; + nPreSweeps 2; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-7; - relTol 0; - maxIter 20; - }; + tolerance 1e-07; + relTol 0; + maxIter 20; + } - U smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-6; - relTol 0; - nSweeps 1; - }; - - k PBiCG + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-06; + relTol 0; + nSweeps 1; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - B PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + B { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -118,4 +123,5 @@ PISO cAlpha 2; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict index 170cf1ffab6..d4922505f77 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,35 +10,34 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object refineMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -set c0; +set c0; coordinateSystem global; globalCoeffs { - tan1 (1 0 0); - tan2 (0 1 0); + tan1 ( 1 0 0 ); + tan2 ( 0 1 0 ); } patchLocalCoeffs { - patch outside; - tan1 (1 0 0); + patch outside; + tan1 ( 1 0 0 ); } -directions -( - tan1 -); +directions ( tan1 ); -useHexTopology no; +useHexTopology no; -geometricCut yes; +geometricCut yes; + +writeMesh no; -writeMesh no; // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties index 8bf244a6058..ce5406cd7aa 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties +++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,158 +27,159 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } RNGkEpsilonCoeffs { - Cmu 0.0845; - C1 1.42; - C2 1.68; - alphak 1.39; - alphaEps 1.39; - eta0 4.38; - beta 0.012; + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; } realizableKECoeffs { - Cmu 0.09; - A0 4.0; - C2 1.9; - alphak 1; - alphaEps 0.833333; + Cmu 0.09; + A0 4; + C2 1.9; + alphak 1; + alphaEps 0.833333; } NonlinearKEShihCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76932; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } LienCubicKECoeffs { - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; } QZetaCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaZeta 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; anisotropic no; } LaunderSharmaKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LamBremhorstKECoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; } LienCubicKELowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - A1 1.25; - A2 1000; - Ctau1 -4; - Ctau2 13; - Ctau3 -2; - alphaKsi 0.9; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LienLeschzinerLowReCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; - Am 0.016; - Aepsilon 0.263; - Amu 0.00222; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; } LRRCoeffs { - Cmu 0.09; - Clrr1 1.8; - Clrr2 0.6; - C1 1.44; - C2 1.92; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; } LaunderGibsonRSTMCoeffs { - Cmu 0.09; - Clg1 1.8; - Clg2 0.6; - C1 1.44; - C2 1.92; - C1Ref 0.5; - C2Ref 0.3; - Cs 0.25; - Ceps 0.15; - alphaEps 0.76923; - alphaR 1.22; + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; } SpalartAllmarasCoeffs { - alphaNut 1.5; - Cb1 0.1355; - Cb2 0.622; - Cw2 0.3; - Cw3 2; - Cv1 7.1; - Cv2 5.0; + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties +++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties index f2b23a57f19..79161dad1bf 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties +++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -24,45 +25,48 @@ twoPhase phase1 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 1000; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } phase2 { transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; + nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; CrossPowerLawCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 1e-06; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - m m [0 0 1 0 0 0 0] 1; - n n [0 0 0 0 0 0 0] 0; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 0; } + BirdCarreauCoeffs { - nu0 nu0 [0 2 -1 0 0 0 0] 0.0142515; - nuInf nuInf [0 2 -1 0 0 0 0] 1e-06; - k k [0 0 1 0 0 0 0] 99.6; - n n [0 0 0 0 0 0 0] 0.1003; + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 99.6; + n n [ 0 0 0 0 0 0 0 ] 0.1003; } } -sigma sigma [1 0 -2 0 0 0 0] 0.07; +sigma sigma [ 1 0 -2 0 0 0 0 ] 0.07; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties b/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties index 07f85c68df2..b70f6702e4e 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties +++ b/tutorials/multiphase/interFoam/ras/damBreak/constant/turbulenceProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType RASModel; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/controlDict b/tutorials/multiphase/interFoam/ras/damBreak/system/controlDict index 92227befc18..e2b799e52f4 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/controlDict +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -49,4 +49,5 @@ maxCo 0.2; maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict b/tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict index cf0067afd3c..bf8dffb737c 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method simple; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes index fd4e9a35197..499ad01e5c6 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -34,7 +35,6 @@ divSchemes div(phi,R) Gauss upwind; div(R) Gauss linear; div(phi,nuTilda) Gauss upwind; - div((nuEff*dev(grad(U).T()))) Gauss linear; } @@ -57,9 +57,10 @@ snGradSchemes fluxRequired { default no; - pd; - pcorr; - gamma; + pd ; + pcorr ; + gamma ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution index edb52854d05..ea7bd97c27c 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,60 +10,76 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner DIC; - tolerance 1e-10; - relTol 0; - }; - pd PCG + solver PCG; + preconditioner DIC; + tolerance 1e-10; + relTol 0; + } + + pd { - preconditioner DIC; - tolerance 1e-7; - relTol 0.05; - }; - pdFinal PCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0.05; + } + + pdFinal { - preconditioner DIC; - tolerance 1e-7; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-06; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - R PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + R { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - nuTilda PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + nuTilda { - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } PISO @@ -76,4 +92,5 @@ PISO cGamma 2; } + // ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict b/tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict index e7666438bbe..bafb3a32c09 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,27 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue gamma 0 - volVectorFieldValue U (0 0 0) -); +defaultFieldValues ( volScalarFieldValue gamma 0 volVectorFieldValue U ( 0 0 0 ) ); -regions -( - boxToCell - { - box (0 0 -1) (0.1461 0.292 1); +regions ( boxToCell { box ( 0 0 -1 ) ( 0.1461 0.292 1 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); - fieldValues - ( - volScalarFieldValue gamma 1 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/constant/RASProperties b/tutorials/multiphase/settlingFoam/dahl/constant/RASProperties index 808b6f2aea1..7d55e238e45 100644 --- a/tutorials/multiphase/settlingFoam/dahl/constant/RASProperties +++ b/tutorials/multiphase/settlingFoam/dahl/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,18 +27,19 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0.85; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0.85; + alphak 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties b/tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties +++ b/tutorials/multiphase/settlingFoam/dahl/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/constant/transportProperties b/tutorials/multiphase/settlingFoam/dahl/constant/transportProperties index 9614962b90f..db12081a215 100644 --- a/tutorials/multiphase/settlingFoam/dahl/constant/transportProperties +++ b/tutorials/multiphase/settlingFoam/dahl/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,44 +10,46 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -muc muc [1 -1 -1 0 0 0 0] 0.00178; +muc muc [ 1 -1 -1 0 0 0 0 ] 0.00178; -plasticViscosityCoeff plasticViscosityCoeff [1 -1 -1 0 0 0 0] 0.00023143; +plasticViscosityCoeff plasticViscosityCoeff [ 1 -1 -1 0 0 0 0 ] 0.00023143; -plasticViscosityExponent plasticViscosityExponent [0 0 0 0 0 0 0] 179.26; +plasticViscosityExponent plasticViscosityExponent [ 0 0 0 0 0 0 0 ] 179.26; BinghamPlastic on; -yieldStressCoeff yieldStressCoeff [1 -1 -2 0 0 0 0] 0.00042189; +yieldStressCoeff yieldStressCoeff [ 1 -1 -2 0 0 0 0 ] 0.00042189; -yieldStressExponent yieldStressExponent [0 0 0 0 0 0 0] 1050.8; +yieldStressExponent yieldStressExponent [ 0 0 0 0 0 0 0 ] 1050.8; -yieldStressOffset yieldStressOffset [0 0 0 0 0 0 0] 0; +yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0; -rhoc rhoc [1 -3 0 0 0 0 0] 996; +rhoc rhoc [ 1 -3 0 0 0 0 0 ] 996; -rhod rhod [1 -3 0 0 0 0 0] 1996; +rhod rhod [ 1 -3 0 0 0 0 0 ] 1996; VdjModel simple; simpleCoeffs { - V0 V0 [0 1 -1 0 0 0 0] (0 -0.002198 0); - a a [0 0 0 0 0 0 0] 285.84; - a1 a1 [0 0 0 0 0 0 0] 0; - alphaMin alphaMin [0 0 0 0 0 0 0] 0; + V0 V0 [ 0 1 -1 0 0 0 0 ] ( 0 -0.002198 0 ); + a a [ 0 0 0 0 0 0 0 ] 285.84; + a1 a1 [ 0 0 0 0 0 0 0 ] 0; + alphaMin alphaMin [ 0 0 0 0 0 0 0 ] 0; } generalCoeffs { - V0 V0 [0 1 -1 0 0 0 0] (0 -0.0018 0); - a a [0 0 0 0 0 0 0] 1e-05; - a1 a1 [0 0 0 0 0 0 0] 0.1; - alphaMin alphaMin [0 0 0 0 0 0 0] 2e-05; + V0 V0 [ 0 1 -1 0 0 0 0 ] ( 0 -0.0018 0 ); + a a [ 0 0 0 0 0 0 0 ] 1e-05; + a1 a1 [ 0 0 0 0 0 0 0 ] 0.1; + alphaMin alphaMin [ 0 0 0 0 0 0 0 ] 2e-05; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/system/controlDict b/tutorials/multiphase/settlingFoam/dahl/system/controlDict index 7b2093120b8..e4ca7a80493 100644 --- a/tutorials/multiphase/settlingFoam/dahl/system/controlDict +++ b/tutorials/multiphase/settlingFoam/dahl/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/system/fvSchemes b/tutorials/multiphase/settlingFoam/dahl/system/fvSchemes index 0eb0bf6badc..bf1fbc9a82c 100644 --- a/tutorials/multiphase/settlingFoam/dahl/system/fvSchemes +++ b/tutorials/multiphase/settlingFoam/dahl/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -57,7 +58,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/dahl/system/fvSolution b/tutorials/multiphase/settlingFoam/dahl/system/fvSolution index 994dcde6c91..04bab7f93fd 100644 --- a/tutorials/multiphase/settlingFoam/dahl/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/dahl/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-07; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-07; - relTol 0; - }; - Alpha PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + Alpha { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } } PISO @@ -60,4 +72,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties index 808b6f2aea1..a19f0292e20 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties +++ b/tutorials/multiphase/settlingFoam/tank3D/constant/RASProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,15 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence on; +turbulence on; -printCoeffs on; +printCoeffs on; laminarCoeffs { @@ -26,18 +27,19 @@ laminarCoeffs kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 0.85; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 0.85; + alphak 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties index 03e0adce892..938322374a1 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties +++ b/tutorials/multiphase/settlingFoam/tank3D/constant/environmentalProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties b/tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties index 1d92419af46..559067579f0 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties +++ b/tutorials/multiphase/settlingFoam/tank3D/constant/transportProperties @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,44 +10,46 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -muc muc [1 -1 -1 0 0 0 0] 0.00178; +muc muc [ 1 -1 -1 0 0 0 0 ] 0.00178; -plasticViscosityCoeff plasticViscosityCoeff [1 -1 -1 0 0 0 0] 0.00023143; +plasticViscosityCoeff plasticViscosityCoeff [ 1 -1 -1 0 0 0 0 ] 0.00023143; -plasticViscosityExponent plasticViscosityExponent [0 0 0 0 0 0 0] 0.17926; +plasticViscosityExponent plasticViscosityExponent [ 0 0 0 0 0 0 0 ] 0.17926; BinghamPlastic on; -yieldStressCoeff yieldStressCoeff [1 -1 -2 0 0 0 0] 5.5469e-07; +yieldStressCoeff yieldStressCoeff [ 1 -1 -2 0 0 0 0 ] 5.5469e-07; -yieldStressExponent yieldStressExponent [0 0 0 0 0 0 0] 95.25; +yieldStressExponent yieldStressExponent [ 0 0 0 0 0 0 0 ] 95.25; -yieldStressOffset yieldStressOffset [0 0 0 0 0 0 0] 0; +yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0; -rhoc rhoc [1 -3 0 0 0 0 0] 1000; +rhoc rhoc [ 1 -3 0 0 0 0 0 ] 1000; -rhod rhod [1 -3 0 0 0 0 0] 1042; +rhod rhod [ 1 -3 0 0 0 0 0 ] 1042; VdjModel simple; simpleCoeffs { - V0 V0 [0 1 -1 0 0 0 0] (0 -0.002198 0); - a a [0 0 0 0 0 0 0] 8.84; - a1 a1 [0 0 0 0 0 0 0] 0; - alphaMin alphaMin [0 0 0 0 0 0 0] 0; + V0 V0 [ 0 1 -1 0 0 0 0 ] ( 0 -0.002198 0 ); + a a [ 0 0 0 0 0 0 0 ] 8.84; + a1 a1 [ 0 0 0 0 0 0 0 ] 0; + alphaMin alphaMin [ 0 0 0 0 0 0 0 ] 0; } generalCoeffs { - V0 V0 [0 1 -1 0 0 0 0] (0 -0.0018 0); - a a [0 0 0 0 0 0 0] 1e-05; - a1 a1 [0 0 0 0 0 0 0] 0.1; - alphaMin alphaMin [0 0 0 0 0 0 0] 2e-05; + V0 V0 [ 0 1 -1 0 0 0 0 ] ( 0 -0.0018 0 ); + a a [ 0 0 0 0 0 0 0 ] 1e-05; + a1 a1 [ 0 0 0 0 0 0 0 ] 0.1; + alphaMin alphaMin [ 0 0 0 0 0 0 0 ] 2e-05; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/system/controlDict b/tutorials/multiphase/settlingFoam/tank3D/system/controlDict index f7c7ecd1d65..1adf79151c0 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/system/controlDict +++ b/tutorials/multiphase/settlingFoam/tank3D/system/controlDict @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,4 +43,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes b/tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes index 0eb0bf6badc..5b0849d52ba 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes +++ b/tutorials/multiphase/settlingFoam/tank3D/system/fvSchemes @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -57,7 +58,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/settlingFoam/tank3D/system/fvSolution b/tutorials/multiphase/settlingFoam/tank3D/system/fvSolution index 994dcde6c91..8c14a9fae9f 100644 --- a/tutorials/multiphase/settlingFoam/tank3D/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/tank3D/system/fvSolution @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,60 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p PCG + p { - preconditioner DIC; - tolerance 1e-07; - relTol 0; - }; - U PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + U { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - rho PCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } + + rho { - preconditioner DIC; - tolerance 1e-07; - relTol 0; - }; - Alpha PBiCG + solver PCG; + preconditioner DIC; + tolerance 1e-07; + relTol 0; + } + + Alpha { - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-07; + relTol 0; + } } PISO @@ -60,4 +72,5 @@ PISO nNonOrthogonalCorrectors 0; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties index 9a6e83d8dee..53065945650 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/RASProperties @@ -2,45 +2,38 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Switch turbulence model on or off +turbulence on; -turbulence on; - -printCoeffs on; - -// Standard k-epsilon model coefficients -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +printCoeffs on; kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.375; - - alphak 1.0; - alphaEps 0.82142; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.375; + alphak 1; + alphaEps 0.82142; } -// Wall function coefficients -// ~~~~~~~~~~~~~~~~~~~~~~~~~~ - wallFunctionCoeffs { - kappa 0.4187; - E 9.0; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties index bf423d1c51d..d1abb1921fc 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/environmentalProperties @@ -2,18 +2,20 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0] (0 0 -9.81); +g g [ 0 1 -2 0 0 ] ( 0 0 -9.81 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties index 79c0a96d714..2c236c7d44f 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/filterProperties @@ -2,25 +2,26 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object filterProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -filter off; +filter off; -// filterNormal has to be in the direction of trapped particles -filterNormal (0 0 1); +filterNormal ( 0 0 1 ); -filterPosition filterPosition [0 1 0 0 0] (0 0 0.02); +filterPosition filterPosition [ 0 1 0 0 0 ] ( 0 0 0.02 ); + +filterThickness filterThickness [ 0 1 0 0 0 ] 1e-06; -filterThickness filterThickness [0 1 0 0 0] 1.0e-6; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties index c7f7b93365c..800dbd9adc9 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/interfacialProperties @@ -2,21 +2,24 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object interfacialProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dragModela GidaspowSchillerNaumann; -dragModelb GidaspowSchillerNaumann; +dragModela GidaspowSchillerNaumann; + +dragModelb GidaspowSchillerNaumann; + +dragPhase a; -dragPhase a; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties index 54773983962..ba6ef530f14 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/kineticTheoryProperties @@ -2,49 +2,51 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object kineticTheoryProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -kineticTheory off; +kineticTheory off; -equilibrium on; +equilibrium on; -e e [ 0 0 0 0 0 0 0 ] 0.9 ; +e e [ 0 0 0 0 0 0 0 ] 0.9; -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6 ; +alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6; -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5 ; +alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5; -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05 ; +Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; -eta eta [ 0 0 0 0 0 0 0 ] 2.0 ; +eta eta [ 0 0 0 0 0 0 0 ] 2; -p p [ 0 0 0 0 0 0 0 ] 5.0 ; +p p [ 0 0 0 0 0 0 0 ] 5; -phi phi [ 0 0 0 0 0 0 0 ] 25.0 ; +phi phi [ 0 0 0 0 0 0 0 ] 25; -viscosityModel Syamlal; +viscosityModel Syamlal; -conductivityModel HrenyaSinclair; +conductivityModel HrenyaSinclair; -granularPressureModel Lun; +granularPressureModel Lun; -frictionalStressModel JohnsonJackson; +frictionalStressModel JohnsonJackson; -radialModel Gidaspow; +radialModel Gidaspow; HrenyaSinclairCoeffs { - L L [ 0 1 0 0 0 0 0 ] 5.0e-4 ; + L L [ 0 1 0 0 0 0 0 ] 0.0005; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties index 67edcc1047c..73ff7f8d092 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/ppProperties @@ -2,26 +2,28 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object ppProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -preAlphaExp 500; +preAlphaExp 500; -expMax 1.0e+3; +expMax 1000; -alphaMax 0.6; +alphaMax 0.6; -g0 g0 [1 -1 -2 0 0 0 0 ] 1000 ; +g0 g0 [ 1 -1 -2 0 0 0 0 ] 1000; + +packingLimiter no; -packingLimiter no; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties index 657b38074ed..9a08405bdb3 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/constant/transportProperties @@ -2,40 +2,40 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// a is the discrete phase and -// b is the continuous phase - -// sand phasea { - rho rho [1 -3 0 0 0] 2640; - nu nu [0 2 -1 0 0] 1.0e-6; - d d [0 1 0 0 0 0 0] 480.0e-6; + rho rho [ 1 -3 0 0 0 ] 2640; + nu nu [ 0 2 -1 0 0 ] 1e-06; + d d [ 0 1 0 0 0 0 0 ] 0.00048; } -// air phaseb { - rho rho [1 -3 0 0 0] 1.28; - nu nu [0 2 -1 0 0] 1.328e-5; - d d [0 1 0 0 0 0 0] 1.0; + rho rho [ 1 -3 0 0 0 ] 1.28; + nu nu [ 0 2 -1 0 0 ] 1.328e-05; + d d [ 0 1 0 0 0 0 0 ] 1; } -Cvm Cvm [0 0 0 0 0] 0.0; -Cl Cl [0 0 0 0 0] 0.0; -Ct Ct [0 0 0 0 0] 0.0; -alphaAlpha alphaAlpha [0 0 0 0 0] 0.0; +Cvm Cvm [ 0 0 0 0 0 ] 0; + +Cl Cl [ 0 0 0 0 0 ] 0; + +Ct Ct [ 0 0 0 0 0 ] 0; + +alphaAlpha alphaAlpha [ 0 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict index 026a5ed2a4e..8b29ef416eb 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict @@ -2,19 +2,19 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -23,7 +23,7 @@ stopAt endTime; endTime 10; -deltaT 1e-3; +deltaT 0.001; writeControl adjustableRunTime; @@ -41,53 +41,15 @@ timeFormat general; timePrecision 6; -runTimeModifiable on; +runTimeModifiable on; adjustTimeStep yes; maxCo 0.5; -maxDeltaT 1; - -functions -( - fieldAverage1 - { - // Type of functionObject - type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - - // Fields to be averaged - runTime modifiable - fields - ( - Ua - { - mean on; - prime2Mean off; - base time; - } - Ub - { - mean on; - prime2Mean off; - base time; - } - alpha - { - mean on; - prime2Mean off; - base time; - } - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -); +maxDeltaT 1; + +functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes index e9a33d28eea..1e881ca7e56 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSchemes @@ -2,14 +2,15 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -62,7 +63,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution index 2cd36751bdc..7b4017d70c8 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution @@ -2,77 +2,91 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; - format ascii; + format binary; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother DIC; //GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - Ua PBiCG + agglomerator faceAreaPair; + mergeLevels 1; + } + + Ua { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Ub PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Ub { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - alpha PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + alpha { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - beta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + beta { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - Theta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + Theta { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -85,4 +99,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties index 9a6e83d8dee..803255b5a01 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,37 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Switch turbulence model on or off +turbulence on; -turbulence on; - -printCoeffs on; - -// Standard k-epsilon model coefficients -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +printCoeffs on; kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - C3 -0.375; - - alphak 1.0; - alphaEps 0.82142; + Cmu 0.09; + C1 1.44; + C2 1.92; + C3 -0.375; + alphak 1; + alphaEps 0.82142; } -// Wall function coefficients -// ~~~~~~~~~~~~~~~~~~~~~~~~~~ - wallFunctionCoeffs { - kappa 0.4187; - E 9.0; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties index d7a56e9b2f6..6a8eb74fb89 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties index 79c0a96d714..2ab1a87e808 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/filterProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,17 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object filterProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -filter off; +filter off; -// filterNormal has to be in the direction of trapped particles -filterNormal (0 0 1); +filterNormal ( 0 0 1 ); -filterPosition filterPosition [0 1 0 0 0] (0 0 0.02); +filterPosition filterPosition [ 0 1 0 0 0 ] ( 0 0 0.02 ); + +filterThickness filterThickness [ 0 1 0 0 0 ] 1e-06; -filterThickness filterThickness [0 1 0 0 0] 1.0e-6; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties index e321ce4023d..8b6c5044c94 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/interfacialProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object interfacialProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dragModela GidaspowErgunWenYu; + dragModelb GidaspowErgunWenYu; dragPhase a; + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties index 88224645ce0..cd52e8b208e 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/kineticTheoryProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,41 +10,43 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object kineticTheoryProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -kineticTheory on; +kineticTheory on; -equilibrium on; +equilibrium on; -e e [ 0 0 0 0 0 0 0 ] 0.8 ; +e e [ 0 0 0 0 0 0 0 ] 0.8; -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.62 ; +alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.62; -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.65 ; +alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.65; -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05 ; +Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; -eta eta [ 0 0 0 0 0 0 0 ] 2.0 ; +eta eta [ 0 0 0 0 0 0 0 ] 2; -p p [ 0 0 0 0 0 0 0 ] 5.0 ; +p p [ 0 0 0 0 0 0 0 ] 5; -phi phi [ 0 0 0 0 0 0 0 ] 0.0 ; +phi phi [ 0 0 0 0 0 0 0 ] 0; -viscosityModel Gidaspow; +viscosityModel Gidaspow; -conductivityModel Gidaspow; +conductivityModel Gidaspow; -granularPressureModel Lun; +granularPressureModel Lun; -frictionalStressModel JohnsonJackson; +frictionalStressModel JohnsonJackson; -radialModel Gidaspow; +radialModel Gidaspow; HrenyaSinclairCoeffs { - L L [ 0 1 0 0 0 0 0 ] 5.0e-4 ; + L L [ 0 1 0 0 0 0 0 ] 0.0005; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary index e2e0e3a9f23..a861e9875c9 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev-8cbffd16687e | +| \\ / O peration | Version: 1.5-8cbffd16687e | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties index 1a484d0b9ce..cb6ac970f0f 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/ppProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,18 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object ppProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -preAlphaExp 500; +preAlphaExp 500; -expMax 1.0e+3; +expMax 1000; -alphaMax 0.62; +alphaMax 0.62; -g0 g0 [ 1 -1 -2 0 0 0 0 ] 0 ; +g0 g0 [ 1 -1 -2 0 0 0 0 ] 0; + +packingLimiter no; -packingLimiter no; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties index 02e67fa12aa..c58d767175b 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,32 +10,32 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// a is the discrete phase and -// b is the continuous phase - -// sand phasea { - rho rho [1 -3 0 0 0] 2500; - nu nu [0 2 -1 0 0] 1.0e-6; - d d [0 1 0 0 0 0 0] 300.0e-6; + rho rho [ 1 -3 0 0 0 ] 2500; + nu nu [ 0 2 -1 0 0 ] 1e-06; + d d [ 0 1 0 0 0 0 0 ] 0.0003; } -// air phaseb { - rho rho [1 -3 0 0 0] 1.2; - nu nu [0 2 -1 0 0] 1.5e-5; - d d [0 1 0 0 0 0 0] 1.0; + rho rho [ 1 -3 0 0 0 ] 1.2; + nu nu [ 0 2 -1 0 0 ] 1.5e-05; + d d [ 0 1 0 0 0 0 0 ] 1; } -Cvm Cvm [0 0 0 0 0] 0.0; -Cl Cl [0 0 0 0 0] 0.0; -Ct Ct [0 0 0 0 0] 0.0; -alphaAlpha alphaAlpha [0 0 0 0 0] 0.0; +Cvm Cvm [ 0 0 0 0 0 ] 0; + +Cl Cl [ 0 0 0 0 0 ] 0; + +Ct Ct [ 0 0 0 0 0 ] 0; + +alphaAlpha alphaAlpha [ 0 0 0 0 0 ] 0; + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict index df4a5a205e8..2a969d4d7ab 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -23,7 +23,7 @@ stopAt endTime; endTime 2; -deltaT 5e-4; +deltaT 0.0005; writeControl adjustableRunTime; @@ -47,50 +47,9 @@ adjustTimeStep no; maxCo 0.9; -maxDeltaT 1e-5; - -functions -( - fieldAverage1 - { - // Type of functionObject - type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - - outputControl outputTime; - - // Fields to be averaged - runTime modifiable - fields - ( - Ua - { - mean on; - prime2Mean off; - base time; - } - Ub - { - mean on; - prime2Mean off; - base time; - } - alpha - { - mean on; - prime2Mean off; - base time; - } - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -); +maxDeltaT 1e-05; + +functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; outputControl outputTime ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes index e175e1530e1..d007d55f784 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -29,13 +30,13 @@ divSchemes default none; div(phia,Ua) Gauss limitedLinearV 1; div(phib,Ub) Gauss limitedLinearV 1; - div(phib,k) Gauss limitedLinear 1; + div(phib,k) Gauss limitedLinear 1; div(phib,epsilon) Gauss limitedLinear 1; div(phi,alpha) Gauss limitedLinear01 1; div(phir,alpha) Gauss limitedLinear01 1; - div(phi,Theta) Gauss limitedLinear 1; - div(Rca) Gauss linear; - div(Rcb) Gauss linear; + div(phi,Theta) Gauss limitedLinear 1; + div(Rca) Gauss linear; + div(Rcb) Gauss linear; } laplacianSchemes @@ -64,7 +65,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution index 9fb3867d934..3c5f789ef59 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,69 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother DIC; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - Ua PBiCG + agglomerator faceAreaPair; + mergeLevels 1; + } + + Ua { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Ub PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Ub { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - alpha PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + alpha { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - beta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + beta { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - Theta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + Theta { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -96,4 +110,5 @@ relaxationFactors epsilon 1; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict index 6ea881e1f61..a25df870f69 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,26 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues -( - volScalarFieldValue alpha 0.0 -); +defaultFieldValues ( volScalarFieldValue alpha 0 ); -regions -( - boxToCell - { - box (0 0 -0.1) (0.15 0.5 0.1); +regions ( boxToCell { box ( 0 0 -0.1 ) ( 0.15 0.5 0.1 ) ; fieldValues ( volScalarFieldValue alpha 0.55 ) ; } ); - fieldValues - ( - volScalarFieldValue alpha 0.55 - ); - } -); // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties index 63f3e2fac11..b84915eafc5 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/RASProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,29 +10,31 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -RASModel kEpsilon; +RASModel kEpsilon; -turbulence off; +turbulence off; -printCoeffs off; +printCoeffs off; kEpsilonCoeffs { - Cmu 0.09; - C1 1.44; - C2 1.92; - alphak 1; - alphaEps 0.76923; + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; } wallFunctionCoeffs { - kappa 0.4187; - E 9; + kappa 0.4187; + E 9; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties index 03e0adce892..a866ff549fd 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/environmentalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,10 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -g g [0 1 -2 0 0 0 0] (0 -9.81 0); +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties index 9c1430c9f1f..28e9538668f 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/interfacialProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object interfacialProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dragModela SchillerNaumann; -dragModelb SchillerNaumann; +dragModela SchillerNaumann; + +dragModelb SchillerNaumann; + +dragPhase blended; -dragPhase blended; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties index 54773983962..3ac1fd2b304 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/kineticTheoryProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,41 +10,43 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object kineticTheoryProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -kineticTheory off; +kineticTheory off; -equilibrium on; +equilibrium on; -e e [ 0 0 0 0 0 0 0 ] 0.9 ; +e e [ 0 0 0 0 0 0 0 ] 0.9; -alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6 ; +alphaMax alphaMax [ 0 0 0 0 0 0 0 ] 0.6; -alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5 ; +alphaMinFriction alphaMinFriction [ 0 0 0 0 0 0 0 ] 0.5; -Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05 ; +Fr Fr [ 1 -1 -2 0 0 0 0 ] 0.05; -eta eta [ 0 0 0 0 0 0 0 ] 2.0 ; +eta eta [ 0 0 0 0 0 0 0 ] 2; -p p [ 0 0 0 0 0 0 0 ] 5.0 ; +p p [ 0 0 0 0 0 0 0 ] 5; -phi phi [ 0 0 0 0 0 0 0 ] 25.0 ; +phi phi [ 0 0 0 0 0 0 0 ] 25; -viscosityModel Syamlal; +viscosityModel Syamlal; -conductivityModel HrenyaSinclair; +conductivityModel HrenyaSinclair; -granularPressureModel Lun; +granularPressureModel Lun; -frictionalStressModel JohnsonJackson; +frictionalStressModel JohnsonJackson; -radialModel Gidaspow; +radialModel Gidaspow; HrenyaSinclairCoeffs { - L L [ 0 1 0 0 0 0 0 ] 5.0e-4 ; + L L [ 0 1 0 0 0 0 0 ] 0.0005; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties index 9829a5d8d02..30e82b6435c 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/ppProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,18 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object ppProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -preAlphaExp 300; +preAlphaExp 300; -expMax 10.0; +expMax 10; -alphaMax 0.6; +alphaMax 0.6; -g0 g0 [ 1 -1 -2 0 0 0 0 ] 0 ; +g0 g0 [ 1 -1 -2 0 0 0 0 ] 0; + +packingLimiter off; -packingLimiter off; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties index a8b0138b70e..fbea88e1442 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,30 +10,30 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// water phaseb { - nu nu [0 2 -1 0 0 0 0] 1.0e-06; - rho rho [1 -3 0 0 0 0 0] 1000.0; - d d [0 1 0 0 0 0 0] 0.0001; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; + d d [ 0 1 0 0 0 0 0 ] 0.0001; } -// air phasea { - nu nu [0 2 -1 0 0 0 0] 1.6e-05; - rho rho [1 -3 0 0 0 0 0] 1.0; - d d [0 1 0 0 0 0 0] 0.003; + nu nu [ 0 2 -1 0 0 0 0 ] 1.6e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; + d d [ 0 1 0 0 0 0 0 ] 0.003; } -Cvm Cvm [0 0 0 0 0 0 0] 0.5; +Cvm Cvm [ 0 0 0 0 0 0 0 ] 0.5; -Cl Cl [0 0 0 0 0 0 0] 0; +Cl Cl [ 0 0 0 0 0 0 0 ] 0; + +Ct Ct [ 0 0 0 0 0 0 0 ] 1; -Ct Ct [0 0 0 0 0 0 0] 1.0; // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict index c2e280e5dc8..342ea403e6d 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -43,52 +43,13 @@ timePrecision 6; runTimeModifiable yes; -adjustTimeStep no; - -maxCo 0.5; - -maxDeltaT 1; - -functions -( - fieldAverage1 - { - // Type of functionObject - type fieldAverage; - - // Where to load it from (if not already in solver) - functionObjectLibs ("libfieldFunctionObjects.so"); - - // Fields to be averaged - runTime modifiable - fields - ( - Ua - { - mean on; - prime2Mean off; - base time; - } - Ub - { - mean on; - prime2Mean off; - base time; - } - alpha - { - mean on; - prime2Mean off; - base time; - } - p - { - mean on; - prime2Mean off; - base time; - } - ); - } -); +adjustTimeStep no; + +maxCo 0.5; + +maxDeltaT 1; + +functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes index 520b6d769f8..ab97d5edfd6 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -29,7 +30,7 @@ divSchemes default none; div(phia,Ua) Gauss limitedLinearV 1; div(phib,Ub) Gauss limitedLinearV 1; - div(phib,k) Gauss limitedLinear 1; + div(phib,k) Gauss limitedLinear 1; div(phib,epsilon) Gauss limitedLinear 1; div(phi,alpha) Gauss limitedLinear01 1; div(phir,alpha) Gauss limitedLinear01 1; @@ -62,7 +63,8 @@ snGradSchemes fluxRequired { default no; - p; + p ; } + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution index 9e338073203..2bc97a6bde2 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,69 +10,83 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - p GAMG + p { - tolerance 1e-8; - relTol 0; - - smoother DIC; //GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-08; + relTol 0; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; - Ua PBiCG + agglomerator faceAreaPair; + mergeLevels 1; + } + + Ua { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - Ub PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + Ub { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - alpha PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + alpha { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - beta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + beta { - preconditioner DILU; - tolerance 1e-10; - relTol 0; - }; - Theta PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-10; + relTol 0; + } + + Theta { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - k PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + k { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; - epsilon PBiCG + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + epsilon { - preconditioner DILU; - tolerance 1e-05; - relTol 0; - }; + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } } PISO @@ -85,4 +99,5 @@ PISO pRefValue 0; } + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties index e3320fa73f7..3cfd7ac9ea8 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/mechanicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object mechanicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -rho rho [1 -3 0 0 0 0 0] 7854; +rho rho [ 1 -3 0 0 0 0 0 ] 7854; -nu nu [0 0 0 0 0 0 0] 0.3; +nu nu [ 0 0 0 0 0 0 0 ] 0.3; -E E [1 -1 -2 0 0 0 0] 2e+11; +E E [ 1 -1 -2 0 0 0 0 ] 2e+11; planeStress yes; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties index 69765384456..cc2766f73fc 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/thermalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -C C [0 2 -2 -1 0 0 0] 434; +C C [ 0 2 -2 -1 0 0 0 ] 434; -k k [1 1 -3 -1 0 0 0] 60.5; +k k [ 1 1 -3 -1 0 0 0 ] 60.5; -alpha alpha [0 0 0 -1 0 0 0] 1.1e-05; +alpha alpha [ 0 0 0 -1 0 0 0 ] 1.1e-05; thermalStress no; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict index 14218ed2cf9..a6c2f2ec34b 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom startTime; startTime 0; @@ -45,4 +45,5 @@ graphFormat raw; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes index 80a280328fb..04aadf32447 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // d2dt2Schemes { - default steadyState; + default steadyState; } gradSchemes @@ -56,4 +57,5 @@ fluxRequired T no; } + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution index 322eae25597..e940f183e12 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,41 +10,36 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - D GAMG + D { - tolerance 1e-06; - relTol 0.9; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-06; + relTol 0.9; + smoother GaussSeidel; cacheAgglomeration true; - nCellsInCoarsestLevel 20; + agglomerator faceAreaPair; + mergeLevels 1; + } - agglomerator faceAreaPair; - mergeLevels 1; - }; - - T GAMG + T { - tolerance 1e-06; - relTol 0.9; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-06; + relTol 0.9; + smoother GaussSeidel; cacheAgglomeration true; - nCellsInCoarsestLevel 20; - - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } } stressAnalysis @@ -54,4 +49,5 @@ stressAnalysis D 1e-06; } + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict index 3fa6bffca47..db2a9715f29 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,32 +10,20 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object sampleDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -setFormat raw; +setFormat raw; -sets -( - leftPatch - { - type uniform; - axis y; - start (0 0.5 0.25); - end (0 2 0.25); - nPoints 100; - } -); +sets ( leftPatch { type uniform ; axis y ; start ( 0 0.5 0.25 ) ; end ( 0 2 0.25 ) ; nPoints 100 ; } ); -surfaces -(); +surfaces ( ); + +fields ( sigmaxx ); -fields -( - sigmaxx -); // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict index 48cc2fbe89c..71e26c18379 100644 --- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict +++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/sampleSurfaceDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,27 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; - object sampleDict; + location "system"; + object sampleSurfaceDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationScheme cellPoint; -surfaceFormat dx; +surfaceFormat dx; -surfaces -( - constantPlane - { - name plate; - basePoint (0 0 0.25); - normalVector (0 0 1); - } -); +surfaces ( constantPlane { name plate ; basePoint ( 0 0 0.25 ) ; normalVector ( 0 0 1 ) ; } ); + +fields ( sigmaxx ); -fields -( - sigmaxx -); // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties index 247cf4f822e..fa331e2c1d0 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/mechanicalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,14 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object mechanicalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -rho rho [1 -3 0 0 0 0 0] 7854; -E E [1 -1 -2 0 0 0 0] 2e+11; -nu nu [0 0 0 0 0 0 0] 0.0; -planeStress yes; +rho rho [ 1 -3 0 0 0 0 0 ] 7854; -// ************************************************************************* // +E E [ 1 -1 -2 0 0 0 0 ] 2e+11; + +nu nu [ 0 0 0 0 0 0 0 ] 0; + +planeStress yes; + +// ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties index 69765384456..cc2766f73fc 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/thermalProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,16 +10,18 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object thermalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -C C [0 2 -2 -1 0 0 0] 434; +C C [ 0 2 -2 -1 0 0 0 ] 434; -k k [1 1 -3 -1 0 0 0] 60.5; +k k [ 1 1 -3 -1 0 0 0 ] 60.5; -alpha alpha [0 0 0 -1 0 0 0] 1.1e-05; +alpha alpha [ 0 0 0 -1 0 0 0 ] 1.1e-05; thermalStress no; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict index a4cb735f882..70865b72da7 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -40,4 +41,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org index 40023235e70..4118e538da1 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/controlDict.org @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,7 +10,8 @@ FoamFile version 2.0; format ascii; class dictionary; - object controlDict; + location "system"; + object controlDict.org; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -26,7 +27,7 @@ deltaT 2e-05; writeControl runTime; -writeInterval 2.5e-02; +writeInterval 0.025; purgeWrite 0; @@ -40,4 +41,5 @@ timePrecision 6; runTimeModifiable yes; + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes index 46da299431b..8a9bcb77cfd 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,23 +10,24 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // d2dt2Schemes { - default steadyState; + default steadyState; } gradSchemes { - default Gauss cubic; //fourth; //Gauss linear; + default Gauss cubic; } divSchemes { - default Gauss cubic; //Gauss linear; + default Gauss cubic; } laplacianSchemes @@ -47,7 +48,8 @@ snGradSchemes fluxRequired { default no; - D; + D ; } + // ************************************************************************* // diff --git a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution index 1263539c228..eef2e5a2dbf 100644 --- a/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution +++ b/tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,48 +10,44 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - D GAMG + D { - tolerance 1e-06; - relTol 0.99; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-06; + relTol 0.99; + smoother GaussSeidel; cacheAgglomeration true; - nCellsInCoarsestLevel 6; + agglomerator faceAreaPair; + mergeLevels 1; + } - agglomerator faceAreaPair; - mergeLevels 1; - }; - - Dcorr GAMG + Dcorr { - tolerance 1e-06; - relTol 0.99; - - smoother GaussSeidel; - + solver GAMG; + tolerance 1e-06; + relTol 0.99; + smoother GaussSeidel; cacheAgglomeration true; - nCellsInCoarsestLevel 6; - - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } } stressAnalysis { - nCorrectors 1; - D 1e-10; + nCorrectors 1; + D 1e-10; accelerationFactor 2; } + // ************************************************************************* // -- GitLab From ab4d2e0f3ed2845a6b2c60ea4677b8e17d67fa1d Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 15:20:28 +0000 Subject: [PATCH 07/21] updated --- .../rhoPisoTwinParcelFoam/Make/files | 3 ++ .../rhoPisoTwinParcelFoam}/Make/options | 0 .../rhoPisoTwinParcelFoam}/UEqn.H | 0 .../rhoPisoTwinParcelFoam/createClouds.H | 20 +++++++++ .../rhoPisoTwinParcelFoam}/createFields.H | 30 ++++---------- .../rhoPisoTwinParcelFoam}/hEqn.H | 0 .../rhoPisoTwinParcelFoam}/pEqn.H | 0 .../rhoPisoTwinParcelFoam.C} | 3 +- .../simplifiedSiwek/0/G | 0 .../simplifiedSiwek/0/T | 0 .../simplifiedSiwek/0/U | 0 .../simplifiedSiwek/0/epsilon | 0 .../simplifiedSiwek/0/k | 0 .../simplifiedSiwek/0/p | 0 .../simplifiedSiwek/constant/RASProperties | 0 .../constant/environmentalProperties | 0 .../constant/kinematicCloud1Positions | 0 .../constant/kinematicCloud1Properties | 0 .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/thermoCloud1Positions | 0 .../constant/thermoCloud1Properties | 0 .../constant/thermophysicalProperties | 0 .../simplifiedSiwek/system/controlDict | 0 .../simplifiedSiwek/system/decomposeParDict | 0 .../simplifiedSiwek/system/fvSchemes | 0 .../simplifiedSiwek/system/fvSolution | 0 .../rhoTurbTwinParcelFoam/Make/files | 3 -- .../angledDuct/constant/turbulenceProperties | 21 ++++++++++ .../pitzDaily/constant/turbulenceProperties | 21 ++++++++++ .../rhoPisoFoam/ras/cavity/0/alphat | 41 +++++++++++++++++++ .../compressible/rhoPisoFoam/ras/cavity/0/k | 20 +++++---- .../compressible/rhoPisoFoam/ras/cavity/0/mut | 41 +++++++++++++++++++ .../rhoPisoFoam/ras/cavity/0/omega | 22 +++++----- .../ras/cavity/constant/turbulenceProperties | 21 ++++++++++ 35 files changed, 201 insertions(+), 45 deletions(-) create mode 100644 tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/files rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam}/Make/options (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam}/UEqn.H (100%) create mode 100644 tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createClouds.H rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam}/createFields.H (71%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam}/hEqn.H (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam}/pEqn.H (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C => rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C} (98%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/G (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/T (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/U (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/epsilon (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/k (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/0/p (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/RASProperties (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/environmentalProperties (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/kinematicCloud1Positions (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/kinematicCloud1Properties (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/polyMesh/blockMeshDict (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/polyMesh/boundary (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/thermoCloud1Positions (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/thermoCloud1Properties (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/constant/thermophysicalProperties (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/system/controlDict (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/system/decomposeParDict (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/system/fvSchemes (100%) rename tutorials/Lagrangian/{rhoTurbTwinParcelFoam => rhoPisoTwinParcelFoam}/simplifiedSiwek/system/fvSolution (100%) delete mode 100644 tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files create mode 100644 tutorials/compressible/rhoPimpleFoam/angledDuct/constant/turbulenceProperties create mode 100644 tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/turbulenceProperties create mode 100644 tutorials/compressible/rhoPisoFoam/ras/cavity/0/alphat create mode 100644 tutorials/compressible/rhoPisoFoam/ras/cavity/0/mut create mode 100644 tutorials/compressible/rhoPisoFoam/ras/cavity/constant/turbulenceProperties diff --git a/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/files b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/files new file mode 100644 index 00000000000..26c96aaa900 --- /dev/null +++ b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/files @@ -0,0 +1,3 @@ +rhoPisoTwinParcelFoam.C + +EXE = $(FOAM_USER_APPBIN)/rhoPisoTwinParcelFoam diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/options similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/options rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/Make/options diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/UEqn.H similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/UEqn.H rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/UEqn.H diff --git a/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createClouds.H b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createClouds.H new file mode 100644 index 00000000000..bdf17e19efc --- /dev/null +++ b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createClouds.H @@ -0,0 +1,20 @@ + Info<< "Constructing thermoCloud1" << endl; + basicThermoCloud thermoCloud1 + ( + "thermoCloud1", + rho, + U, + g, + thermo() + ); + + Info<< "Constructing kinematicCloud1" << endl; + basicKinematicCloud kinematicCloud1 + ( + "kinematicCloud1", + rho, + U, + thermo().mu(), + g + ); + diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createFields.H similarity index 71% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createFields.H index c22eeb8cc35..b07398a0314 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/createFields.H +++ b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/createFields.H @@ -43,30 +43,16 @@ Info<< "Creating turbulence model\n" << endl; autoPtr<compressible::turbulenceModel> turbulence ( - compressible::turbulenceModel::New(rho, U, phi, thermo()) + compressible::turbulenceModel::New + ( + rho, + U, + phi, + thermo() + ) ); + Info<< "Creating field DpDt\n" << endl; volScalarField DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p); - - Info<< "Constructing thermoCloud1" << endl; - basicThermoCloud thermoCloud1 - ( - "thermoCloud1", - rho, - U, - g, - thermo() - ); - - Info<< "Constructing kinematicCloud1" << endl; - basicKinematicCloud kinematicCloud1 - ( - "kinematicCloud1", - rho, - U, - thermo().mu(), - g - ); - diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/hEqn.H similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/hEqn.H rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/hEqn.H diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/pEqn.H similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/pEqn.H rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/pEqn.H diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C similarity index 98% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C index e7f53341abd..0028a30b5be 100644 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam.C +++ b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C @@ -23,7 +23,7 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - rhoTurbFoam + rhoPisoTwinParcelFoam Description Transient solver for compressible, turbulent flow with two thermo-clouds. @@ -48,6 +48,7 @@ int main(int argc, char *argv[]) # include "createMesh.H" # include "readEnvironmentalProperties.H" # include "createFields.H" +# include "createClouds.H" # include "readPISOControls.H" # include "initContinuityErrs.H" # include "readTimeControls.H" diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/G similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/G rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/G diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/T similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/T rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/T diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/U similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/U rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/U diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/epsilon similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/epsilon rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/epsilon diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/k similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/k rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/k diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/p similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/0/p rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/0/p diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/RASProperties similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/RASProperties rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/RASProperties diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/environmentalProperties diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Positions diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/kinematicCloud1Properties diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/polyMesh/blockMeshDict diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/polyMesh/boundary diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Positions diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermoCloud1Properties diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/constant/thermophysicalProperties diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/controlDict similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/controlDict rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/controlDict diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/decomposeParDict similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/decomposeParDict rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/decomposeParDict diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/fvSchemes similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSchemes rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/fvSchemes diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution b/tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/fvSolution similarity index 100% rename from tutorials/Lagrangian/rhoTurbTwinParcelFoam/simplifiedSiwek/system/fvSolution rename to tutorials/Lagrangian/rhoPisoTwinParcelFoam/simplifiedSiwek/system/fvSolution diff --git a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files b/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files deleted file mode 100644 index b11cae03a93..00000000000 --- a/tutorials/Lagrangian/rhoTurbTwinParcelFoam/rhoTurbTwinParcelFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -rhoTurbTwinParcelFoam.C - -EXE = $(FOAM_USER_APPBIN)/rhoTurbTwinParcelFoam diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/turbulenceProperties new file mode 100644 index 00000000000..b70f6702e4e --- /dev/null +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / 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/les/pitzDaily/constant/turbulenceProperties b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/turbulenceProperties new file mode 100644 index 00000000000..2e42797ca95 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/les/pitzDaily/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LESModel; + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/alphat b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/alphat new file mode 100644 index 00000000000..0545c858d46 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/alphat @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ 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 +{ + movingWall + { + type alphatWallFunction; + value uniform 0; + } + fixedWalls + { + type alphatWallFunction; + value uniform 0; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/k b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/k index 7cbb3473bab..5242962b3b2 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/k +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,20 +21,21 @@ internalField uniform 0.00325; boundaryField { - movingWall + movingWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.00325; } - - fixedWalls + fixedWalls { - type zeroGradient; + type kQRWallFunction; + value uniform 0.00325; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/mut b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/mut new file mode 100644 index 00000000000..a0f4c473102 --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/mut @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ 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 +{ + movingWall + { + type mutWallFunction; + value uniform 0; + } + fixedWalls + { + type mutWallFunction; + value uniform 0; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega index ff76e682e34..b825b4913ae 100644 --- a/tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/0/omega @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,7 +10,8 @@ FoamFile version 2.0; format ascii; class volScalarField; - object epsilon; + location "0"; + object omega; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,20 +21,21 @@ internalField uniform 2.6; boundaryField { - movingWall + movingWall { - type zeroGradient; + type omegaWallFunction; + value uniform 2.6; } - - fixedWalls + fixedWalls { - type zeroGradient; + type omegaWallFunction; + value uniform 2.6; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/turbulenceProperties b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/turbulenceProperties new file mode 100644 index 00000000000..b70f6702e4e --- /dev/null +++ b/tutorials/compressible/rhoPisoFoam/ras/cavity/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RASModel; + + +// ************************************************************************* // -- GitLab From 68f1ba6a6d6a567a1f9d29e04f9b9ca4e64d2db8 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs@hunt.opencfd.co.uk> Date: Fri, 13 Feb 2009 15:33:04 +0000 Subject: [PATCH 08/21] extraneous files --- .../dataConversion/hashSetUnion.H | 53 ------------------- .../dataConversion/hashTableUnion.H | 53 ------------------- 2 files changed, 106 deletions(-) delete mode 100644 applications/utilities/postProcessing/dataConversion/hashSetUnion.H delete mode 100644 applications/utilities/postProcessing/dataConversion/hashTableUnion.H diff --git a/applications/utilities/postProcessing/dataConversion/hashSetUnion.H b/applications/utilities/postProcessing/dataConversion/hashSetUnion.H deleted file mode 100644 index 0651431f128..00000000000 --- a/applications/utilities/postProcessing/dataConversion/hashSetUnion.H +++ /dev/null @@ -1,53 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ 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::hashSetUnionEqOp - -Description - Union operation to combine hash sets - Usage: combineReduce(myWordHashSet, unionEqOp<word>()); - -\*---------------------------------------------------------------------------*/ - -namespace Foam -{ - template<class Type> - class hashSetUnionEqOp - { - public: - void operator()(HashSet<Type>& x, const HashSet<Type>& y) const - { - forAllConstIter(typename HashSet<Type>, y, iter) - { - x.insert(iter.key()); - } - } - }; - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/postProcessing/dataConversion/hashTableUnion.H b/applications/utilities/postProcessing/dataConversion/hashTableUnion.H deleted file mode 100644 index a8aa3be587f..00000000000 --- a/applications/utilities/postProcessing/dataConversion/hashTableUnion.H +++ /dev/null @@ -1,53 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ 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::hashTableUnionEqOp - -Description - Union operation to combine hash sets - Usage: combineReduce(myWordHashSet, unionEqOp<word>()); - -\*---------------------------------------------------------------------------*/ - -namespace Foam -{ - template<class Type> - class hashTableUnionEqOp - { - public: - void operator()(HashTable<Type>& x, const HashTable<Type>& y) const - { - forAllConstIter(typename HashTable<Type>, y, iter) - { - x.insert(iter.key(), iter()); - } - } - }; - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -- GitLab From ef874be0b9b30e219b868ef946b759f91c47577c Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 16:14:44 +0000 Subject: [PATCH 09/21] updates --- .../pitzDaily/constant/turbulenceProperties | 21 ++ .../XiFoam/les/pitzDaily/system/controlDict | 4 + .../pitzDaily3D/constant/turbulenceProperties | 21 ++ .../XiFoam/les/pitzDaily3D/system/controlDict | 4 + .../constant/turbulenceProperties | 21 ++ .../engineFoam/kivaTest/-180/alphat | 42 ++++ .../engineFoam/kivaTest/-180/epsilon | 42 ++++ .../engineFoam/kivaTest/-180/epsilon.gz | Bin 400 -> 0 bytes .../combustion/engineFoam/kivaTest/-180/k | 42 ++++ .../combustion/engineFoam/kivaTest/-180/k.gz | Bin 389 -> 0 bytes .../combustion/engineFoam/kivaTest/-180/mut | 42 ++++ .../kivaTest/constant/turbulenceProperties | 21 ++ .../rhoPimpleFoam/angledDuct/0/alphat | 57 ++++++ .../rhoPimpleFoam/angledDuct/0/epsilon | 30 +-- .../compressible/rhoPimpleFoam/angledDuct/0/k | 30 +-- .../rhoPimpleFoam/angledDuct/0/mut | 57 ++++++ .../boundaryWallFunctions/0/epsilon | 22 ++- .../boundaryFoam/boundaryWallFunctions/0/k | 186 +++++++++++++++++- .../boundaryFoam/boundaryWallFunctions/0/nut | 46 +++++ .../incompressible/icoFoam/resetFixedWallsScr | 8 - .../simpleFoam/pitzDaily/0/epsilon | 26 +-- .../incompressible/simpleFoam/pitzDaily/0/k | 26 +-- .../incompressible/simpleFoam/pitzDaily/0/nut | 51 +++++ .../simpleFoam/pitzDailyExptInlet/0/epsilon | 63 ++++-- .../simpleFoam/pitzDailyExptInlet/0/k | 63 ++++-- .../simpleFoam/pitzDailyExptInlet/0/nut | 51 +++++ 26 files changed, 868 insertions(+), 108 deletions(-) create mode 100644 tutorials/combustion/XiFoam/les/pitzDaily/constant/turbulenceProperties create mode 100644 tutorials/combustion/XiFoam/les/pitzDaily3D/constant/turbulenceProperties create mode 100644 tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties create mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/alphat create mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/epsilon delete mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/epsilon.gz create mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/k delete mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/k.gz create mode 100644 tutorials/combustion/engineFoam/kivaTest/-180/mut create mode 100644 tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties create mode 100644 tutorials/compressible/rhoPimpleFoam/angledDuct/0/alphat create mode 100644 tutorials/compressible/rhoPimpleFoam/angledDuct/0/mut create mode 100644 tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nut delete mode 100644 tutorials/incompressible/icoFoam/resetFixedWallsScr create mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/0/nut create mode 100644 tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nut diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/combustion/XiFoam/les/pitzDaily/constant/turbulenceProperties new file mode 100644 index 00000000000..2e42797ca95 --- /dev/null +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LESModel; + + +// ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict index 3aefd793e1a..0d13ac7ba5c 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict +++ b/tutorials/combustion/XiFoam/les/pitzDaily/system/controlDict @@ -43,6 +43,10 @@ timePrecision 6; runTimeModifiable yes; +adjustTimeStep yes; + +maxCo 0.5; + functions ( fieldAverage1 diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/turbulenceProperties b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/turbulenceProperties new file mode 100644 index 00000000000..2e42797ca95 --- /dev/null +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LESModel; + + +// ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict index d79aed22c6d..693d3e125f6 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/controlDict @@ -43,6 +43,10 @@ timePrecision 6; runTimeModifiable yes; +adjustTimeStep yes; + +maxCo 0.5; + functions ( fieldAverage1 diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties new file mode 100644 index 00000000000..b70f6702e4e --- /dev/null +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / 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/combustion/engineFoam/kivaTest/-180/alphat b/tutorials/combustion/engineFoam/kivaTest/-180/alphat new file mode 100644 index 00000000000..adf870f24a4 --- /dev/null +++ b/tutorials/combustion/engineFoam/kivaTest/-180/alphat @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "-180"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + piston + { + type alphatWallFunction; + value uniform 0; + } + liner + { + type alphatWallFunction; + value uniform 0; + } + cylinderHead + { + type alphatWallFunction; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon new file mode 100644 index 00000000000..a686c359553 --- /dev/null +++ b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "-180"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 450; + +boundaryField +{ + piston + { + type epsilonWallFunction; + value uniform 450; + } + liner + { + type epsilonWallFunction; + value uniform 450; + } + cylinderHead + { + type epsilonWallFunction; + value uniform 450; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon.gz b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon.gz deleted file mode 100644 index 0ff7bad2641702a8c79a275b75753ebffd0e99f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM{viwFof67fL*17&b?X>4z90IiZSPs1<}g?Imo6Jw<&p}>-gp#lY#szWOn zD1(z+sgdi89H*tw{&$=>KnRsUCFjMyXMcWrw%_Y_SG_sg!R1FmyLLZ1ztzt2=5sgq z0U{76(*|#np^7G>aR{>|Rx6lNp%a9w=o)53GNzXnuLfEiOdvzejUZL??oj7;6#|@k z!5{rOV2OhfsI;lVJ;tG%FOA7U-`{LD9$A|U;wz8z(?OmERyY^~S0XE9ZSk1==AFK; z&sb!gM?xZdW91ENm)Pfx11}g>!h-aQn=dOoPlOn<O4CH9Y4ha7ok@6(hx$V0hN}eI zeMt$It^E!pd7d|fHOZ;n%5_wJAa|JJXG|J4Fw2D`HDr6nd>?w94d155Qn5l+CRN*d z2w(vHGYH&xw8n)ps1=t{{mBa@$`IlF!bZwsDpbn#wo>cxGm)D{_E0sQRF>Ih-{O2l uO*fjS0+n$Y>|I<^DAe$OPO`P66!k6g^hk~+Rq1zCW%}=UUcmz71ONaKguNvI diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/k b/tutorials/combustion/engineFoam/kivaTest/-180/k new file mode 100644 index 00000000000..e643a368e6a --- /dev/null +++ b/tutorials/combustion/engineFoam/kivaTest/-180/k @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "-180"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 4; + +boundaryField +{ + piston + { + type kQRWallFunction; + value uniform 4; + } + liner + { + type kQRWallFunction; + value uniform 4; + } + cylinderHead + { + type kQRWallFunction; + value uniform 4; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/k.gz b/tutorials/combustion/engineFoam/kivaTest/-180/k.gz deleted file mode 100644 index 933ad7a5fa2db1f0c42a248ffea2b9abcac04261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmV;00eb!)iwFof67fL*18V@SlEF{HFcik`{VQHLlCVwUX~YB3OfQ53L=VnG*&b3Y zeM{GYDE#ks>(n_(G`QDG`@Z(qZ{O<o2i;XaW_!5!C}`LIN9VWNTV5QyxepM5K$$jp z(+pKK9Zy1-udrIdj0&9~Tt-(gCz1<#Y4K{H#laLZ)Z7SCHSZR6ZdW0|nHT)gp97XS z7=uciD%{~Bbn}%lS?K%Q?bah}b4h&dk$ybNv%m@m6W~f@g{&=}l3(2E|MeM*tn)}n zWN)mzVdE0}ym9CSqe@tkUUTzhh3AP7BUWje$TV&CdhSfZb3E1;DmPpu*zQY8xNPlr zAj$K*A#6y_>{hO$@&UQSw0Od#VdHtk4vhIe^gA2A&5NaCjjGJ3Hgq4r5C%gC+<35- zg)*oWmr?z^3nj|<;M{5pDpbn#uF~qzGm)D{=1?`ARF>Ig-(q}4P1l;I0+n&!esD2K jp-{vBImynFQq(ud(-S$CRAt{)mD#@oYq{a_+ynps>7>Jo diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/mut b/tutorials/combustion/engineFoam/kivaTest/-180/mut new file mode 100644 index 00000000000..34a502ef779 --- /dev/null +++ b/tutorials/combustion/engineFoam/kivaTest/-180/mut @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "-180"; + object mut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + piston + { + type mutWallFunction; + value uniform 0; + } + liner + { + type mutWallFunction; + value uniform 0; + } + cylinderHead + { + type mutWallFunction; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties b/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties new file mode 100644 index 00000000000..b70f6702e4e --- /dev/null +++ b/tutorials/combustion/engineFoam/kivaTest/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / 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/rhoPimpleFoam/angledDuct/0/alphat b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/alphat new file mode 100644 index 00000000000..f609fa6c14c --- /dev/null +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/alphat @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ 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 +{ + front + { + type alphatWallFunction; + value uniform 0; + } + back + { + type alphatWallFunction; + value uniform 0; + } + wall + { + type alphatWallFunction; + value uniform 0; + } + porosityWall + { + type alphatWallFunction; + value uniform 0; + } + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon index ca6ec2ff0d7..502e0489570 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/epsilon @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,50 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + dimensions [0 2 -3 0 0 0 0]; internalField uniform 200; boundaryField { - front { - type zeroGradient; + type epsilonWallFunction; + value uniform 200; } back { - type zeroGradient; + type epsilonWallFunction; + value uniform 200; } wall { - type zeroGradient; + type epsilonWallFunction; + value uniform 200; } porosityWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 200; } - inlet { type turbulentMixingLengthDissipationRateInlet; mixingLength 0.005; - value $internalField; + value uniform 200; } - outlet { type inletOutlet; - inletValue $internalField; - value $internalField; + inletValue uniform 200; + value uniform 200; } - } + + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/0/k b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/k index c1cf0e833d5..6171b9506b8 100644 --- a/tutorials/compressible/rhoPimpleFoam/angledDuct/0/k +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,50 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + dimensions [0 2 -2 0 0 0 0]; internalField uniform 1; boundaryField { - front { - type zeroGradient; + type kQRWallFunction; + value uniform 1; } back { - type zeroGradient; + type kQRWallFunction; + value uniform 1; } wall { - type zeroGradient; + type kQRWallFunction; + value uniform 1; } porosityWall { - type zeroGradient; + type kQRWallFunction; + value uniform 1; } - inlet { type turbulentIntensityKineticEnergyInlet; intensity 0.05; - value $internalField; + value uniform 1; } - outlet { type inletOutlet; - inletValue $internalField; - value $internalField; + inletValue uniform 1; + value uniform 1; } - } + + // ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/angledDuct/0/mut b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/mut new file mode 100644 index 00000000000..9fab05e162a --- /dev/null +++ b/tutorials/compressible/rhoPimpleFoam/angledDuct/0/mut @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ 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 +{ + front + { + type mutWallFunction; + value uniform 0; + } + back + { + type mutWallFunction; + value uniform 0; + } + wall + { + type mutWallFunction; + value uniform 0; + } + porosityWall + { + type mutWallFunction; + value uniform 0; + } + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon index f55c6401b2f..0a998ced67d 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/epsilon @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,25 +21,26 @@ internalField uniform 1e-08; boundaryField { - lowerWall + lowerWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 1e-08; } - - upperWall + upperWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 1e-08; } - frontBack { type cyclic; + value uniform 1e-08; } - - defaultFaces + defaultFaces { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k index 82694066471..007ca488434 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,25 +21,190 @@ internalField uniform 1e-10; boundaryField { - lowerWall + lowerWall { - type zeroGradient; + type kQRWallFunction; + value uniform 1e-10; } - - upperWall + upperWall { - type zeroGradient; + type kQRWallFunction; + value uniform 1e-10; } - frontBack { type cyclic; + value nonuniform List<scalar> +160 +( +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +1e-10 +) +; } - - defaultFaces + defaultFaces { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nut b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nut new file mode 100644 index 00000000000..0f7bcf36a77 --- /dev/null +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/0/nut @@ -0,0 +1,46 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + lowerWall + { + type nutWallFunction; + value uniform 0; + } + upperWall + { + type nutWallFunction; + value uniform 0; + } + frontBack + { + type cyclic; + value uniform 0; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/icoFoam/resetFixedWallsScr b/tutorials/incompressible/icoFoam/resetFixedWallsScr deleted file mode 100644 index 5a8d98ce462..00000000000 --- a/tutorials/incompressible/icoFoam/resetFixedWallsScr +++ /dev/null @@ -1,8 +0,0 @@ -/fixedWalls/,/}/{ -/fixedWalls/p -/{/p -/type fixedValue;/p -s/value[ \t]*nonuniform[ \t]*List<vector>[ \t]*/value uniform (0 0 0);/p -/}/p -d -} diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon b/tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon index 1241e472d9f..d82c45e6290 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon +++ b/tutorials/incompressible/simpleFoam/pitzDaily/0/epsilon @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,31 +21,30 @@ internalField uniform 14.855; boundaryField { - inlet + inlet { type fixedValue; value uniform 14.855; } - - outlet + outlet { type zeroGradient; } - - upperWall + upperWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 14.855; } - - lowerWall + lowerWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 14.855; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/k b/tutorials/incompressible/simpleFoam/pitzDaily/0/k index 329176cef2e..41e4f133aa7 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/0/k +++ b/tutorials/incompressible/simpleFoam/pitzDaily/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,31 +21,30 @@ internalField uniform 0.375; boundaryField { - inlet + inlet { type fixedValue; value uniform 0.375; } - - outlet + outlet { type zeroGradient; } - - upperWall + upperWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - - lowerWall + lowerWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/0/nut b/tutorials/incompressible/simpleFoam/pitzDaily/0/nut new file mode 100644 index 00000000000..7ac85d8a18b --- /dev/null +++ b/tutorials/incompressible/simpleFoam/pitzDaily/0/nut @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } + upperWall + { + type nutWallFunction; + value uniform 0; + } + lowerWall + { + type nutWallFunction; + value uniform 0; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon index 68d55b1cbda..2004b9a0252 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/epsilon @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,31 +21,65 @@ internalField uniform 14.855; boundaryField { - inlet + inlet { type timeVaryingMappedFixedValue; - setAverage off; + setAverage 0; + value nonuniform List<scalar> +30 +( +9813.84 +8665.24 +1866.31 +755.118 +205.654 +76.6694 +28.4518 +16.0868 +15.9867 +11.0187 +7.95753 +5.26064 +3.44136 +2.55317 +2.27183 +2.33608 +2.9115 +3.59492 +3.0497 +2.716 +2.9325 +3.88456 +6.91821 +14.9754 +37.5461 +217.022 +2043.58 +4864.22 +6244 +6334.7 +) +; } - - outlet + outlet { type zeroGradient; } - - upperWall + upperWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 14.855; } - - lowerWall + lowerWall { - type zeroGradient; + type epsilonWallFunction; + value uniform 14.855; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k index c8418e6e43e..d33d92f39f6 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,31 +21,65 @@ internalField uniform 0.375; boundaryField { - inlet + inlet { type timeVaryingMappedFixedValue; - setAverage off; + setAverage 0; + value nonuniform List<scalar> +30 +( +2.95219 +2.54219 +0.725449 +0.486465 +0.353566 +0.240375 +0.172984 +0.147052 +0.146827 +0.135658 +0.12147 +0.0942189 +0.0833465 +0.0828453 +0.0955983 +0.0920838 +0.0967682 +0.0990811 +0.100866 +0.101556 +0.0967155 +0.0841739 +0.0904567 +0.130411 +0.194046 +0.219327 +0.975528 +2.22578 +3.12421 +2.28104 +) +; } - - outlet + outlet { type zeroGradient; } - - upperWall + upperWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - - lowerWall + lowerWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - - frontAndBack + frontAndBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nut b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nut new file mode 100644 index 00000000000..7ac85d8a18b --- /dev/null +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/0/nut @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } + upperWall + { + type nutWallFunction; + value uniform 0; + } + lowerWall + { + type nutWallFunction; + value uniform 0; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // -- GitLab From 4b81f443781b3384ca6827dfe07bed61a3a6bec4 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 17:03:05 +0000 Subject: [PATCH 10/21] more updates... --- .../movingCone/0/U | 0 .../movingCone/0/cellMotionUx | 0 .../movingCone/0/p | 0 .../movingCone/0/pointMotionUx | 0 .../movingCone/constant/dynamicMeshDict | 0 .../constant/polyMesh/blockMeshDict | 0 .../movingCone/constant/polyMesh/boundary | 5 +- .../movingCone/constant/transportProperties | 39 ++++++++++++++ .../movingCone/constant/turbulenceProperties} | 6 +-- .../movingCone/system/controlDict | 0 .../movingCone/system/fvSchemes | 2 + .../movingCone/system/fvSolution | 0 .../movingCone/system/tetFemSolution | 0 .../simpleSRFFoam/mixer/0/epsilon | 8 ++- .../incompressible/simpleSRFFoam/mixer/0/k | 17 +++--- .../incompressible/simpleSRFFoam/mixer/0/nut | 54 +++++++++++++++++++ .../simpleSRFFoam/mixer/0/omega | 19 ++++--- .../simpleSRFFoam/simpleSRFFoam/Make/options | 6 ++- .../simpleSRFFoam/simpleSRFFoam/UEqn.H | 16 ++++++ .../simpleSRFFoam/convergenceCheck.H | 9 ++++ .../simpleSRFFoam/initConvergenceCheck.H | 7 +++ .../simpleSRFFoam/simpleSRFFoam/pEqn.H | 34 ++++++++++++ .../simpleSRFFoam/simpleSRFFoam.C | 54 +++---------------- 23 files changed, 204 insertions(+), 72 deletions(-) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/0/U (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/0/cellMotionUx (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/0/p (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/0/pointMotionUx (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/constant/dynamicMeshDict (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/constant/polyMesh/blockMeshDict (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/constant/polyMesh/boundary (90%) create mode 100644 tutorials/incompressible/pimpleDyMFoam/movingCone/constant/transportProperties rename tutorials/incompressible/{icoDyMFoam/movingCone/constant/transportProperties => pimpleDyMFoam/movingCone/constant/turbulenceProperties} (88%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/system/controlDict (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/system/fvSchemes (94%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/system/fvSolution (100%) rename tutorials/incompressible/{icoDyMFoam => pimpleDyMFoam}/movingCone/system/tetFemSolution (100%) create mode 100644 tutorials/incompressible/simpleSRFFoam/mixer/0/nut create mode 100644 tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UEqn.H create mode 100644 tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/convergenceCheck.H create mode 100644 tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/initConvergenceCheck.H create mode 100644 tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/0/U b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/U similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/0/U rename to tutorials/incompressible/pimpleDyMFoam/movingCone/0/U diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/0/cellMotionUx b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/cellMotionUx similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/0/cellMotionUx rename to tutorials/incompressible/pimpleDyMFoam/movingCone/0/cellMotionUx diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/0/p b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/p similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/0/p rename to tutorials/incompressible/pimpleDyMFoam/movingCone/0/p diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/0/pointMotionUx b/tutorials/incompressible/pimpleDyMFoam/movingCone/0/pointMotionUx similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/0/pointMotionUx rename to tutorials/incompressible/pimpleDyMFoam/movingCone/0/pointMotionUx diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/dynamicMeshDict similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/constant/dynamicMeshDict rename to tutorials/incompressible/pimpleDyMFoam/movingCone/constant/dynamicMeshDict diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/pimpleDyMFoam/movingCone/constant/polyMesh/blockMeshDict diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/boundary b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/polyMesh/boundary similarity index 90% rename from tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/boundary rename to tutorials/incompressible/pimpleDyMFoam/movingCone/constant/polyMesh/boundary index f272243696f..bf656b10e37 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/constant/polyMesh/boundary +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format binary; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/transportProperties b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/transportProperties new file mode 100644 index 00000000000..aad34b40df2 --- /dev/null +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/transportProperties @@ -0,0 +1,39 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; + +CrossPowerLawCoeffs +{ + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + m m [ 0 0 1 0 0 0 0 ] 1; + n n [ 0 0 0 0 0 0 0 ] 1; +} + +BirdCarreauCoeffs +{ + nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06; + nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06; + k k [ 0 0 1 0 0 0 0 ] 0; + n n [ 0 0 0 0 0 0 0 ] 1; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/turbulenceProperties similarity index 88% rename from tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties rename to tutorials/incompressible/pimpleDyMFoam/movingCone/constant/turbulenceProperties index cdd96395a83..886d34bdef1 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/constant/transportProperties +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/constant/turbulenceProperties @@ -8,14 +8,14 @@ FoamFile { version 2.0; - format binary; + format ascii; class dictionary; location "constant"; - object transportProperties; + object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; +simulationType laminar; // ************************************************************************* // diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/controlDict similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/system/controlDict rename to tutorials/incompressible/pimpleDyMFoam/movingCone/system/controlDict diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes similarity index 94% rename from tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes rename to tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes index 092fc762b36..c7c76eb965b 100644 --- a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSchemes +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSchemes @@ -30,6 +30,7 @@ divSchemes { default none; div(phi,U) Gauss linear; + div((nuEff*dev(grad(U).T()))) Gauss linear; } laplacianSchemes @@ -39,6 +40,7 @@ laplacianSchemes laplacian(rAU,pcorr) Gauss linear corrected; laplacian(rAU,p) Gauss linear corrected; laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; + laplacian(nuEff,U) Gauss linear uncorrected; } interpolationSchemes diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/system/fvSolution rename to tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution diff --git a/tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/tetFemSolution similarity index 100% rename from tutorials/incompressible/icoDyMFoam/movingCone/system/tetFemSolution rename to tutorials/incompressible/pimpleDyMFoam/movingCone/system/tetFemSolution diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon b/tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon index b2de5276310..680983af0a0 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon +++ b/tutorials/incompressible/simpleSRFFoam/mixer/0/epsilon @@ -33,12 +33,16 @@ boundaryField innerWall { - type zeroGradient; + type epsilonWallFunction; + U Urel; + value uniform 14.855; } outerWall { - type zeroGradient; + type epsilonWallFunction; + U Urel; + value uniform 14.855; } cyclic diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/0/k b/tutorials/incompressible/simpleSRFFoam/mixer/0/k index 0b8345b26ef..59c1b73fc34 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/0/k +++ b/tutorials/incompressible/simpleSRFFoam/mixer/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -25,26 +26,26 @@ boundaryField type fixedValue; value uniform 0.375; } - outlet { type zeroGradient; } - innerWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - outerWall { - type zeroGradient; + type kQRWallFunction; + value uniform 0.375; } - cyclic { type cyclic; + value uniform 0.375; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/0/nut b/tutorials/incompressible/simpleSRFFoam/mixer/0/nut new file mode 100644 index 00000000000..3bc0c6bc016 --- /dev/null +++ b/tutorials/incompressible/simpleSRFFoam/mixer/0/nut @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } + innerWall + { + type nutWallFunction; + U Urel; + value uniform 0; + } + outerWall + { + type nutWallFunction; + U Urel; + value uniform 0; + } + cyclic + { + type cyclic; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/mixer/0/omega b/tutorials/incompressible/simpleSRFFoam/mixer/0/omega index c5c54bbe2d5..ac3556f3d24 100644 --- a/tutorials/incompressible/simpleSRFFoam/mixer/0/omega +++ b/tutorials/incompressible/simpleSRFFoam/mixer/0/omega @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object omega; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -25,26 +26,28 @@ boundaryField type fixedValue; value uniform 3.5; } - outlet { type zeroGradient; } - innerWall { - type zeroGradient; + type omegaWallFunction; + U Urel; + value uniform 3.5; } - outerWall { - type zeroGradient; + type omegaWallFunction; + U Urel; + value uniform 3.5; } - cyclic { type cyclic; + value uniform 3.5; } } + // ************************************************************************* // diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options index 8a31f7e5abb..cc3cd5e731e 100644 --- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options @@ -1,7 +1,9 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/turbulenceModels/RAS \ - -I$(LIB_SRC)/transportModels + -I$(LIB_SRC)/turbulenceModels \ + -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ + -I$(LIB_SRC)/transportModels \ + -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel EXE_LIBS = \ -lincompressibleRASModels \ diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UEqn.H b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UEqn.H new file mode 100644 index 00000000000..72f3ea65439 --- /dev/null +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UEqn.H @@ -0,0 +1,16 @@ + // Momentum predictor + tmp<fvVectorMatrix> UrelEqn + ( + fvm::div(phi, Urel) + + turbulence->divDevReff(Urel) + + SRF->Su() + ); + + UrelEqn().relax(); + + eqnResidual = solve + ( + UrelEqn() == -fvc::grad(p) + ).initialResidual(); + + maxResidual = max(eqnResidual, maxResidual); diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/convergenceCheck.H b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/convergenceCheck.H new file mode 100644 index 00000000000..8958063193a --- /dev/null +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/convergenceCheck.H @@ -0,0 +1,9 @@ +// check convergence + +if (maxResidual < convergenceCriterion) +{ + Info<< "reached convergence criterion: " << convergenceCriterion << endl; + runTime.writeAndEnd(); + Info<< "latestTime = " << runTime.timeName() << endl; +} + diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/initConvergenceCheck.H b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/initConvergenceCheck.H new file mode 100644 index 00000000000..b56197f22a5 --- /dev/null +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/initConvergenceCheck.H @@ -0,0 +1,7 @@ +// initialize values for convergence checks + + scalar eqnResidual = 1, maxResidual = 0; + scalar convergenceCriterion = 0; + + simple.readIfPresent("convergence", convergenceCriterion); + diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H new file mode 100644 index 00000000000..b2bc37fd5db --- /dev/null +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H @@ -0,0 +1,34 @@ +{ + p.boundaryField().updateCoeffs(); + volScalarField AUrel = UrelEqn().A(); + Urel = UrelEqn().H()/AUrel; + UrelEqn.clear(); + phi = fvc::interpolate(Urel) & mesh.Sf(); + adjustPhi(phi, Urel, p); + + // Non-orthogonal pressure corrector loop + for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) + { + fvScalarMatrix pEqn + ( + fvm::laplacian(1.0/AUrel, p) == fvc::div(phi) + ); + + pEqn.setReference(pRefCell, pRefValue); + pEqn.solve(); + + if (nonOrth == nNonOrthCorr) + { + phi -= pEqn.flux(); + } + } + +# include "continuityErrs.H" + + // Explicitly relax pressure for momentum corrector + p.relax(); + + // Momentum corrector + Urel -= fvc::grad(p)/AUrel; + Urel.correctBoundaryConditions(); +} diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C index 9098e63bc59..f0ce70e6935 100644 --- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C +++ b/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C @@ -32,8 +32,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" -#include "incompressible/RASModel/RASModel.H" +#include "singlePhaseTransportModel.H" +#include "RASModel.H" #include "SRFModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -42,7 +42,6 @@ int main(int argc, char *argv[]) { # include "setRootCase.H" - # include "createTime.H" # include "createMesh.H" # include "createFields.H" @@ -59,55 +58,14 @@ int main(int argc, char *argv[]) Info<< "Time = " << runTime.timeName() << nl << endl; # include "readSIMPLEControls.H" +# include "initConvergenceCheck.H" p.storePrevIter(); // Pressure-velocity SIMPLE corrector { - // Momentum predictor - tmp<fvVectorMatrix> UrelEqn - ( - fvm::div(phi, Urel) - + turbulence->divDevReff(Urel) - + SRF->Su() - ); - - UrelEqn().relax(); - - solve(UrelEqn() == -fvc::grad(p)); - - p.boundaryField().updateCoeffs(); - volScalarField AUrel = UrelEqn().A(); - Urel = UrelEqn().H()/AUrel; - UrelEqn.clear(); - phi = fvc::interpolate(Urel) & mesh.Sf(); - adjustPhi(phi, Urel, p); - - // Non-orthogonal pressure corrector loop - for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) - { - fvScalarMatrix pEqn - ( - fvm::laplacian(1.0/AUrel, p) == fvc::div(phi) - ); - - pEqn.setReference(pRefCell, pRefValue); - pEqn.solve(); - - if (nonOrth == nNonOrthCorr) - { - phi -= pEqn.flux(); - } - } - -# include "continuityErrs.H" - - // Explicitly relax pressure for momentum corrector - p.relax(); - - // Momentum corrector - Urel -= fvc::grad(p)/AUrel; - Urel.correctBoundaryConditions(); +# include "UEqn.H" +# include "pEqn.H" } turbulence->correct(); @@ -134,6 +92,8 @@ int main(int argc, char *argv[]) Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; + +# include "convergenceCheck.H" } Info<< "End\n" << endl; -- GitLab From a5b039b4ca91c99ae9a87c4902b8dd2c61626439 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 17:28:21 +0000 Subject: [PATCH 11/21] updates --- .../les/throttle/constant/LESProperties | 6 ++- .../les/throttle/system/fvSolution | 14 ++++++ .../les/throttle3D/constant/LESProperties | 6 ++- .../throttle3D/constant/turbulenceProperties | 21 ++++++++ .../les/throttle3D/system/fvSolution | 14 ++++++ .../cavitatingFoam/ras/throttle/0/k | 16 +++--- .../cavitatingFoam/ras/throttle/0/nut | 46 ++++++++++++++++++ .../cavitatingFoam/ras/throttle/0/omega | 16 +++--- .../ras/throttle/system/fvSolution | 14 ++++++ .../0-orig/{gamma => alpah1.org} | 0 .../0-orig/{gamma.org => alpha1} | 0 .../interDyMFoam/damBreakWithObstacle/0/U | 7 +-- .../damBreakWithObstacle/0/{gamma => alpha1} | 6 ++- .../0/{gamma.org => alpha1.org} | 0 .../constant/dynamicMeshDict | 10 +++- .../constant/turbulenceProperties | 21 ++++++++ .../damBreakWithObstacle/system/fvSchemes | 6 +-- .../damBreakWithObstacle/system/fvSolution | 6 +-- .../damBreakWithObstacle/system/setFieldsDict | 18 ++++++- .../multiphaseInterFoam/damBreak4phase/0/U | 0 .../damBreak4phase/0/alphaair | 0 .../damBreak4phase/0/alphamercury | 0 .../damBreak4phase/0/alphaoil | 0 .../damBreak4phase/0/alphas | 0 .../damBreak4phase/0/alphawater | 0 .../multiphaseInterFoam/damBreak4phase/0/pd | 0 .../constant/environmentalProperties.gz | Bin .../constant/motionProperties.gz | Bin .../constant/polyMesh/blockMeshDict | 0 .../damBreak4phase/constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../damBreak4phase/system/controlDict | 0 .../damBreak4phase/system/decomposeParDict | 0 .../damBreak4phase/system/fvSchemes | 0 .../damBreak4phase/system/fvSolution | 0 .../damBreak4phase/system/setFieldsDict | 0 .../damBreak4phaseFine/0/U | 0 .../damBreak4phaseFine/0/alphaair | 0 .../damBreak4phaseFine/0/alphamercury | 0 .../damBreak4phaseFine/0/alphaoil | 0 .../damBreak4phaseFine/0/alphas | 0 .../damBreak4phaseFine/0/alphawater | 0 .../damBreak4phaseFine/0/pd | 0 .../constant/environmentalProperties.gz | Bin .../constant/motionProperties.gz | Bin .../constant/polyMesh/blockMeshDict | 0 .../constant/polyMesh/boundary | 0 .../constant/transportProperties | 0 .../damBreak4phaseFine/system/controlDict | 0 .../system/decomposeParDict | 0 .../damBreak4phaseFine/system/fvSchemes | 0 .../damBreak4phaseFine/system/fvSolution | 0 .../damBreak4phaseFine/system/fvSolution.par | 0 .../damBreak4phaseFine/system/setFieldsDict | 0 54 files changed, 192 insertions(+), 35 deletions(-) create mode 100644 tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties create mode 100644 tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut rename tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/{gamma => alpah1.org} (100%) rename tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/{gamma.org => alpha1} (100%) rename tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/{gamma => alpha1} (99%) rename tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/{gamma.org => alpha1.org} (100%) create mode 100644 tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/turbulenceProperties rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/U (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/alphaair (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/alphamercury (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/alphaoil (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/alphas (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/alphawater (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/0/pd (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/constant/transportProperties (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/system/controlDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/system/fvSchemes (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/system/fvSolution (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phase/system/setFieldsDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/U (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/alphaair (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/alphamercury (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/alphaoil (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/alphas (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/alphawater (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/0/pd (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/blockMeshDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/controlDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par (100%) rename tutorials/{ => multiphase}/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict (100%) diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties index ef3e3809daa..b16fea4ab2f 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/constant/LESProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,7 +15,9 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel devOneEqEddy; +LESModel oneEqEddy; + +turbulence on; delta smooth; diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution index 7aa0a3d54c1..b0f2c1c7719 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution @@ -50,6 +50,20 @@ solvers } p + { + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + pFinal { solver GAMG; tolerance 1e-08; diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties index ef3e3809daa..b16fea4ab2f 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/LESProperties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: 1.5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -15,7 +15,9 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -LESModel devOneEqEddy; +LESModel oneEqEddy; + +turbulence on; delta smooth; diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties new file mode 100644 index 00000000000..9ddab1bfcd2 --- /dev/null +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LESModel; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution index 7aa0a3d54c1..b0f2c1c7719 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution @@ -50,6 +50,20 @@ solvers } p + { + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + pFinal { solver GAMG; tolerance 1e-08; diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k index 835c3a99928..732cdd4d128 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dimensions [0 2 -2 0 0]; +dimensions [0 2 -2 0 0 0 0]; -internalField uniform 10.0; +internalField uniform 10; boundaryField { @@ -26,21 +27,20 @@ boundaryField intensity 0.05; value uniform 0.05; } - outlet { type zeroGradient; } - walls { - type zeroGradient; + type kQRWallFunction; + value uniform 10; } - frontBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut new file mode 100644 index 00000000000..933ce47778c --- /dev/null +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut @@ -0,0 +1,46 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0; + } + outlet + { + type calculated; + value uniform 0; + } + walls + { + type nutWallFunction; + value uniform 0; + } + frontBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega index 330a29d8c18..17b398f9c3e 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,12 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object omega; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -dimensions [0 0 -1 0 0]; +dimensions [0 0 -1 0 0 0 0]; internalField uniform 77200; @@ -23,25 +24,24 @@ boundaryField inlet { type turbulentMixingLengthFrequencyInlet; - mixingLength 0.5e-03; + mixingLength 0.0005; k k; value uniform 77200; } - outlet { type zeroGradient; } - walls { - type zeroGradient; + type omegaWallFunction; + value uniform 77200; } - frontBack { type empty; } } + // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution index 4f413e7ef14..f139c3dde47 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution @@ -50,6 +50,20 @@ solvers } p + { + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + pFinal { solver GAMG; tolerance 1e-08; diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpah1.org similarity index 100% rename from tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpah1.org diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 similarity index 100% rename from tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/gamma.org rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U index e791ef363f6..6d3ce2531bf 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/U @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; + location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -23,7 +24,6 @@ boundaryField atmosphere { type pressureInletOutletVelocity; - phi phi; value uniform (0 0 0); } walls @@ -33,4 +33,5 @@ boundaryField } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 similarity index 99% rename from tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 index 7602a0953b9..678ced5d4e7 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object gamma; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -32804,4 +32805,5 @@ boundaryField } } + // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org similarity index 100% rename from tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/gamma.org rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict index 3ff397dfee0..0560899a729 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/dynamicMeshDict @@ -20,14 +20,20 @@ dynamicFvMesh dynamicRefineFvMesh; dynamicRefineFvMeshCoeffs { refineInterval 1; - field gamma; + field alpha1; lowerRefineLevel 0.001; upperRefineLevel 0.999; unrefineLevel 10; nBufferLayers 1; maxRefinement 2; maxCells 200000; - correctFluxes ( ( phi U ) ); + correctFluxes + ( + ( + phi + U + ) + ); dumpLevel true; } diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes index f08b9b1ac23..ffc5cd12c4f 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes @@ -30,8 +30,8 @@ gradSchemes divSchemes { div(rho*phi,U) Gauss upwind; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss interfaceCompression; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss interfaceCompression; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution index e33d8a03f00..36d56bb9471 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSolution @@ -118,9 +118,9 @@ PISO momentumPredictor no; nCorrectors 3; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1; pdRefCell 0; pdRefValue 0; pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict index 892a12e4429..21ee9f3f580 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict @@ -15,9 +15,23 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 volVectorFieldValue U ( 0 0 0 ) ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 + volVectorFieldValue U ( 0 0 0 ) +); -regions ( boxToCell { box ( 0 0 0 ) ( 0.6 0.1875 0.75 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( 0 0 0 ) ( 0.6 0.1875 0.75 ); + fieldValues + ( + volScalarFieldValue gamma 1 + ); + } + ); // ************************************************************************* // diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/U b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/U similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/U rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/U diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/alphaair b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphaair similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/alphaair rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphaair diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/alphamercury b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphamercury similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/alphamercury rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphamercury diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/alphaoil b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphaoil similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/alphaoil rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphaoil diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/alphas b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/alphas rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/alphawater b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphawater similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/alphawater rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphawater diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/0/pd b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/pd similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/0/pd rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/pd diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/constant/polyMesh/blockMeshDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/constant/polyMesh/boundary rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/polyMesh/boundary diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/constant/transportProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/constant/transportProperties rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/system/controlDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/system/controlDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/system/decomposeParDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/system/decomposeParDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/system/fvSchemes rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/system/fvSolution rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution diff --git a/tutorials/multiphaseInterFoam/damBreak4phase/system/setFieldsDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phase/system/setFieldsDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/U b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/U similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/U rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/U diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphaair b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphaair similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphaair rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphaair diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphamercury b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphamercury similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphamercury rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphamercury diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphaoil b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphaoil similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphaoil rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphaoil diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphas b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphas rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphawater b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphawater similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/alphawater rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphawater diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/0/pd b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/pd similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/0/pd rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/pd diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/blockMeshDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/blockMeshDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/blockMeshDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/controlDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/controlDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par diff --git a/tutorials/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict similarity index 100% rename from tutorials/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict rename to tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict -- GitLab From 00fbaf627a860d1130786ab8e8ac01cf296bdde3 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Fri, 13 Feb 2009 18:31:15 +0000 Subject: [PATCH 12/21] more updates... --- .../damBreakWithObstacle/0-orig/alpha1 | 2 +- .../0-orig/{alpah1.org => alpha1.org} | 2 +- .../damBreakWithObstacle/0/alpha1 | 2 +- .../damBreakWithObstacle/0/alpha1.org | 2 +- .../damBreakWithObstacle/system/fvSchemes | 2 +- .../damBreakWithObstacle/system/setFieldsDict | 2 +- .../sloshingTank2D/0/{gamma.org => alpha1} | 2 +- .../gamma.org => sloshingTank2D/0/alpha1.org} | 2 +- .../interDyMFoam/sloshingTank2D/Allclean | 2 +- .../interDyMFoam/sloshingTank2D/Allrun | 2 +- .../constant/turbulenceProperties | 21 +++ .../sloshingTank2D/system/fvSchemes | 8 +- .../sloshingTank2D/system/fvSolution | 16 ++- .../sloshingTank2D/system/setFieldsDict | 14 +- .../interDyMFoam/sloshingTank2D3DoF/0/alpha1 | 37 ++++++ .../sloshingTank2D3DoF/0/alpha1.org | 37 ++++++ .../interDyMFoam/sloshingTank2D3DoF/Allclean | 2 +- .../interDyMFoam/sloshingTank2D3DoF/Allrun | 2 +- .../constant/turbulenceProperties | 21 +++ .../sloshingTank2D3DoF/system/fvSchemes | 8 +- .../sloshingTank2D3DoF/system/fvSolution | 16 ++- .../sloshingTank2D3DoF/system/setFieldsDict | 14 +- .../gamma.org => sloshingTank3D/0/alpha1.org} | 2 +- .../interDyMFoam/sloshingTank3D/Allclean | 2 +- .../interDyMFoam/sloshingTank3D/Allrun | 2 +- .../constant/turbulenceProperties | 21 +++ .../sloshingTank3D/system/fvSchemes | 8 +- .../sloshingTank3D/system/fvSolution | 16 ++- .../sloshingTank3D/system/setFieldsDict | 14 +- .../0/alpha1.org} | 2 +- .../interDyMFoam/sloshingTank3D3DoF/Allclean | 2 +- .../interDyMFoam/sloshingTank3D3DoF/Allrun | 2 +- .../constant/turbulenceProperties | 21 +++ .../sloshingTank3D3DoF/system/fvSchemes | 8 +- .../sloshingTank3D3DoF/system/fvSolution | 16 ++- .../sloshingTank3D3DoF/system/setFieldsDict | 14 +- .../0/alpha1.org} | 2 +- .../interDyMFoam/sloshingTank3D6DoF/Allclean | 2 +- .../interDyMFoam/sloshingTank3D6DoF/Allrun | 2 +- .../constant/turbulenceProperties | 21 +++ .../sloshingTank3D6DoF/system/fvSchemes | 8 +- .../sloshingTank3D6DoF/system/fvSolution | 16 ++- .../sloshingTank3D6DoF/system/setFieldsDict | 14 +- .../damBreak4phase/0/alphas | 4 +- .../constant/environmentalProperties | 21 +++ .../constant/environmentalProperties.gz | Bin 453 -> 0 bytes .../damBreak4phase/constant/motionProperties | 21 +++ .../constant/motionProperties.gz | Bin 424 -> 0 bytes .../constant/transportProperties | 45 +------ .../constant/turbulenceProperties | 21 +++ .../damBreak4phase/system/controlDict | 7 +- .../damBreak4phase/system/decomposeParDict | 20 +-- .../damBreak4phase/system/fvSchemes | 10 +- .../damBreak4phase/system/fvSolution | 120 ++++++++++-------- .../damBreak4phase/system/setFieldsDict | 17 +-- .../damBreak4phaseFine/0/alphas | 4 +- .../constant/environmentalProperties | 21 +++ .../constant/environmentalProperties.gz | Bin 453 -> 0 bytes .../constant/motionProperties | 21 +++ .../constant/motionProperties.gz | Bin 424 -> 0 bytes .../constant/polyMesh/boundary | 69 +++++----- .../constant/transportProperties | 45 +------ .../constant/turbulenceProperties | 21 +++ .../damBreak4phaseFine/system/controlDict | 7 +- .../system/decomposeParDict | 20 +-- .../damBreak4phaseFine/system/fvSchemes | 10 +- .../damBreak4phaseFine/system/fvSolution | 120 ++++++++++-------- .../damBreak4phaseFine/system/fvSolution.par | 75 ----------- .../damBreak4phaseFine/system/setFieldsDict | 19 ++- .../twoPhaseEulerFoam/bed/system/controlDict | 37 +++++- .../twoPhaseEulerFoam/bed2/system/controlDict | 37 +++++- .../bubbleColumn/system/controlDict | 37 +++++- 72 files changed, 797 insertions(+), 443 deletions(-) rename tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/{alpah1.org => alpha1.org} (97%) rename tutorials/multiphase/interDyMFoam/sloshingTank2D/0/{gamma.org => alpha1} (97%) rename tutorials/multiphase/interDyMFoam/{sloshingTank2D3DoF/0/gamma.org => sloshingTank2D/0/alpha1.org} (97%) create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/turbulenceProperties create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1 create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1.org create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/turbulenceProperties rename tutorials/multiphase/interDyMFoam/{sloshingTank3D3DoF/0/gamma.org => sloshingTank3D/0/alpha1.org} (97%) create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/turbulenceProperties rename tutorials/multiphase/interDyMFoam/{sloshingTank3D6DoF/0/gamma.org => sloshingTank3D3DoF/0/alpha1.org} (97%) create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/turbulenceProperties rename tutorials/multiphase/interDyMFoam/{sloshingTank3D/0/gamma.org => sloshingTank3D6DoF/0/alpha1.org} (97%) create mode 100644 tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/turbulenceProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/turbulenceProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz create mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/turbulenceProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 index 2e2bf16c3cc..07881e9c0cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpah1.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1.org similarity index 97% rename from tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpah1.org rename to tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1.org index 2e2bf16c3cc..07881e9c0cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpah1.org +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0-orig/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 index 678ced5d4e7..c6e0907e272 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1 @@ -11,7 +11,7 @@ FoamFile format ascii; class volScalarField; location "0"; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org index 2e2bf16c3cc..07881e9c0cc 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/0/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes index ffc5cd12c4f..c563a4cd8fe 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/fvSchemes @@ -24,7 +24,7 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha) Gauss linear; } divSchemes diff --git a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict index 21ee9f3f580..52522fe9a99 100644 --- a/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/damBreakWithObstacle/system/setFieldsDict @@ -28,7 +28,7 @@ regions box ( 0 0 0 ) ( 0.6 0.1875 0.75 ); fieldValues ( - volScalarFieldValue gamma 1 + volScalarFieldValue alpha1 1 ); } ); diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1 similarity index 97% rename from tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1 index e7fbe1d0824..8e28c332b7e 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1.org similarity index 97% rename from tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1.org index e7fbe1d0824..8e28c332b7e 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/0/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean index 2ffbd01addc..20c2a63671c 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allclean @@ -1,4 +1,4 @@ #!/bin/sh foamCleanTutorials cases -rm -rf 0/gamma.gz probes wallPressure pRefProbe +rm -rf 0/alpha1.gz probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun index df799d77321..0d2a8c82229 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/Allrun @@ -4,6 +4,6 @@ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict runApplication blockMesh -cp 0/gamma.org 0/gamma +cp 0/alpha1.org 0/alpha1 runApplication setFields runApplication interDyMFoam diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes index a6a73ef77f2..3a940dbe405 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSchemes @@ -24,14 +24,14 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha1) Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss vanLeer; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss vanLeer; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution index a4dc358cdac..2688ec1f985 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/fvSolution @@ -94,14 +94,20 @@ PISO momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1.5; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; correctPhi no; pRefProbe { - fields ( p ); - probeLocations ( ( 0 0 0.15 ) ); + fields + ( + p + ); + probeLocations + ( + ( 0 0 0.15 ) + ); } pRefValue 100000; diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict index 7c6f1065041..7ff571c6d13 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D/system/setFieldsDict @@ -15,9 +15,19 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 +); -regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( -100 -100 -100 ) ( 100 100 0 ); + fieldValues ( volScalarFieldValue alpha1 1 ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1 b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1 new file mode 100644 index 00000000000..8e28c332b7e --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1 @@ -0,0 +1,37 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha1; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + front + { + type empty; + } + back + { + type empty; + } + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1.org b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1.org new file mode 100644 index 00000000000..8e28c332b7e --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/0/alpha1.org @@ -0,0 +1,37 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alpha1; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + front + { + type empty; + } + back + { + type empty; + } + walls + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean index 2ffbd01addc..20c2a63671c 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allclean @@ -1,4 +1,4 @@ #!/bin/sh foamCleanTutorials cases -rm -rf 0/gamma.gz probes wallPressure pRefProbe +rm -rf 0/alpha1.gz probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun index df799d77321..0d2a8c82229 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/Allrun @@ -4,6 +4,6 @@ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict runApplication blockMesh -cp 0/gamma.org 0/gamma +cp 0/alpha1.org 0/alpha1 runApplication setFields runApplication interDyMFoam diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes index a6a73ef77f2..d4eb5a19662 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSchemes @@ -24,14 +24,14 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha) Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss vanLeer; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss vanLeer; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution index a4dc358cdac..ce22769b821 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/fvSolution @@ -94,14 +94,20 @@ PISO momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1.5; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; correctPhi no; pRefProbe { - fields ( p ); - probeLocations ( ( 0 0 0.15 ) ); + fields + ( + p + ); + probeLocations + ( + ( 0 0 0.15 ) + ); } pRefValue 100000; diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict index 7c6f1065041..7ff571c6d13 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank2D3DoF/system/setFieldsDict @@ -15,9 +15,19 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 +); -regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( -100 -100 -100 ) ( 100 100 0 ); + fieldValues ( volScalarFieldValue alpha1 1 ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/alpha1.org similarity index 97% rename from tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D/0/alpha1.org index f1c22f97410..4bf9e5b1712 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean index 2ffbd01addc..20c2a63671c 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allclean @@ -1,4 +1,4 @@ #!/bin/sh foamCleanTutorials cases -rm -rf 0/gamma.gz probes wallPressure pRefProbe +rm -rf 0/alpha1.gz probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun index df799d77321..0d2a8c82229 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/Allrun @@ -4,6 +4,6 @@ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict runApplication blockMesh -cp 0/gamma.org 0/gamma +cp 0/alpha1.org 0/alpha1 runApplication setFields runApplication interDyMFoam diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes index a6a73ef77f2..d4eb5a19662 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSchemes @@ -24,14 +24,14 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha) Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss vanLeer; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss vanLeer; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution index a4dc358cdac..ce22769b821 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/fvSolution @@ -94,14 +94,20 @@ PISO momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1.5; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; correctPhi no; pRefProbe { - fields ( p ); - probeLocations ( ( 0 0 0.15 ) ); + fields + ( + p + ); + probeLocations + ( + ( 0 0 0.15 ) + ); } pRefValue 100000; diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict index 7c6f1065041..2f947e62416 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D/system/setFieldsDict @@ -15,9 +15,19 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 +); -regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( -100 -100 -100 ) ( 100 100 0 ); + fieldValues ( volScalarFieldValue alpha1 1 ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/alpha1.org similarity index 97% rename from tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/alpha1.org index f1c22f97410..4bf9e5b1712 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/0/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean index 2ffbd01addc..20c2a63671c 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allclean @@ -1,4 +1,4 @@ #!/bin/sh foamCleanTutorials cases -rm -rf 0/gamma.gz probes wallPressure pRefProbe +rm -rf 0/alpha1.gz probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun index df799d77321..0d2a8c82229 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/Allrun @@ -4,6 +4,6 @@ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict runApplication blockMesh -cp 0/gamma.org 0/gamma +cp 0/alpha1.org 0/alpha1 runApplication setFields runApplication interDyMFoam diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes index a6a73ef77f2..d4eb5a19662 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSchemes @@ -24,14 +24,14 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha) Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss vanLeer; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss vanLeer; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution index a4dc358cdac..ce22769b821 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/fvSolution @@ -94,14 +94,20 @@ PISO momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1.5; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; correctPhi no; pRefProbe { - fields ( p ); - probeLocations ( ( 0 0 0.15 ) ); + fields + ( + p + ); + probeLocations + ( + ( 0 0 0.15 ) + ); } pRefValue 100000; diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict index 7c6f1065041..7ff571c6d13 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D3DoF/system/setFieldsDict @@ -15,9 +15,19 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 +); -regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( -100 -100 -100 ) ( 100 100 0 ); + fieldValues ( volScalarFieldValue alpha1 1 ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/alpha1.org similarity index 97% rename from tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org rename to tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/alpha1.org index f1c22f97410..4bf9e5b1712 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D/0/gamma.org +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/0/alpha1.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object gamma; + object alpha1; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean index 2ffbd01addc..20c2a63671c 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allclean @@ -1,4 +1,4 @@ #!/bin/sh foamCleanTutorials cases -rm -rf 0/gamma.gz probes wallPressure pRefProbe +rm -rf 0/alpha1.gz probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun index df799d77321..0d2a8c82229 100755 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/Allrun @@ -4,6 +4,6 @@ m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict runApplication blockMesh -cp 0/gamma.org 0/gamma +cp 0/alpha1.org 0/alpha1 runApplication setFields runApplication interDyMFoam diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes index a6a73ef77f2..d4eb5a19662 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSchemes @@ -24,14 +24,14 @@ gradSchemes { default Gauss linear; grad(U) Gauss linear; - grad(gamma) Gauss linear; + grad(alpha) Gauss linear; } divSchemes { div(rho*phi,U) Gauss vanLeerV; - div(phi,gamma) Gauss vanLeer; - div(phirb,gamma) Gauss vanLeer; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss vanLeer; } laplacianSchemes @@ -54,7 +54,7 @@ fluxRequired default no; pd ; pcorr ; - gamma ; + alpha ; } diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution index a4dc358cdac..ce22769b821 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/fvSolution @@ -94,14 +94,20 @@ PISO momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nGammaCorr 1; - nGammaSubCycles 3; - cGamma 1.5; + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; correctPhi no; pRefProbe { - fields ( p ); - probeLocations ( ( 0 0 0.15 ) ); + fields + ( + p + ); + probeLocations + ( + ( 0 0 0.15 ) + ); } pRefValue 100000; diff --git a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict index 7c6f1065041..7ff571c6d13 100644 --- a/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict +++ b/tutorials/multiphase/interDyMFoam/sloshingTank3D6DoF/system/setFieldsDict @@ -15,9 +15,19 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -defaultFieldValues ( volScalarFieldValue gamma 0 ); +defaultFieldValues +( + volScalarFieldValue alpha1 0 +); -regions ( boxToCell { box ( -100 -100 -100 ) ( 100 100 0 ) ; fieldValues ( volScalarFieldValue gamma 1 ) ; } ); +regions +( + boxToCell + { + box ( -100 -100 -100 ) ( 100 100 0 ); + fieldValues ( volScalarFieldValue alpha1 1 ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas index cf02a7c7467..4d7076770a7 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/0/alphas @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object alphas; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -2314,4 +2315,5 @@ boundaryField } } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties new file mode 100644 index 00000000000..a866ff549fd --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object environmentalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/environmentalProperties.gz deleted file mode 100644 index 31adad952e844b111b333a99dde33c8526515d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmV;$0XqI4iwFom=F36=17&V@X>xCFZDnqBVQf%xZ*XODbZKRC0IgF^Z`3dlz57=@ z?Fm-eI9)EVD<lduCrUYRK%yL`j<aj(*u{1#Rh0kEI8JwiP;WcFMDym&y!nWf_`26< zuFfy<CHS9OB}j?JSiOOE_a=DPYnR9}dZ$A&ItsZItJ9jm+b6@5J)$)#8Sf}O2wYzm zubklmll$mo?`P^+JDydK!kTfI)KG8i!v>9~{u`8co!Je6a(Q$-jLc%%oKyq=4UD$! zJXap(y$+Gd8?38WW7ri~KuK7_SW-LixP8ZxZ!F<cYO68y9OT;n>Rhtd+zoch@ra9_ zjNRbE{TfW*&fbk_D&?!;_T&p%N|Enk9M1=e8XphKsf5V>d^6(rD0OQ7(80Q@w<FN` z&{I0LMo}5F6(bhBpCQ0P?tQOiOw5sLA54@Tmnok-RT%~+)4;GH8>Mkchpb~!N~tVz zp01_-eb96};l{;8P90(vy!7lz6K=gCJLfMZoyt;-GvIioh3Id_zvy7k+~HRI5qYG` vlRYVg*x_H>;d_lUtk$T@`+*lVR&T1;XQ*FtN27#OS(fk@-4#xXQUm}1A-m#C diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties new file mode 100644 index 00000000000..f1a454040c4 --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object motionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +movingFvMesh staticFvMesh; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/motionProperties.gz deleted file mode 100644 index 9a00803de5076734e3004994938dd844e9e67365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayMXiwFom=F36=18r|~X>V>&a&K^Da&&2Ba{#SVJx{|h5Z(PNP8}-|BiLFY z@tKJN0|Nug;W+fbA7DF`5b)nQ+o6qM?PW>c-Mjbh>_`dsYYpw~*$VE0f6*#|l+cpV z3$Q+scMQMjkVr=%=i*?$A>iaU;5WXYBbAjgd<b}atf-vi1&r_xWb_6tn}+|kp_WgI zxw=J5=3@b^NBaQEyPlqhfSC$CkDpmgo06(BKntWzH|>?zx6vUoc>zbwaVfh6Hc%VZ zGPcwWykOt6*C&H;ow}x!o&mb<pU#R=dK=8x;|s1Vl3Bo&dmkw9WT&M~qkJ>G?)_xu zQskRZ)^mYT!{zo=8X+>CZ;ALUR>$GD6C5>%%aZ7Qu$XqEVN^s*QF6iiNd{mh*WPLw z6LX|m2a2+1nfl6Gm0@r)4V)%4QIbnKWFNCCrLxIsyAJJn(D*v$$;E_DZEI$H=ov|4 z-gt#(%AbusmBAP%iQV<AME_L&n{E8PfJ^Z$@-F9ld!!V?`VG0~cC*rPomF|1M5=zX S@glgd$bvt{5swio1ONcmanfx7 diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties index a9fcefae0da..99ccf063b95 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -phases -( - water - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 1000; - } +phases ( water { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06 ; rho rho [ 1 -3 0 0 0 0 0 ] 1000 ; } oil { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06 ; rho rho [ 1 -3 0 0 0 0 0 ] 500 ; } mercury { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1.125e-07 ; rho rho [ 1 -3 0 0 0 0 0 ] 13529 ; } air { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05 ; rho rho [ 1 -3 0 0 0 0 0 ] 1 ; } ); - oil - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 500; - } +refPhase air; - mercury - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 0.1125e-06; - rho rho [1 -3 0 0 0 0 0] 13529; - } +sigmas ( ( air water ) 0.07 ( air oil ) 0.07 ( air mercury ) 0.07 ( water oil ) 0.07 ( water mercury ) 0.07 ( oil mercury ) 0.07 ); - air - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; - } -); - -refPhase air; - -sigmas -( - (air water) 0.07 - (air oil) 0.07 - (air mercury) 0.07 - (water oil) 0.07 - (water mercury) 0.07 - (oil mercury) 0.07 -); // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/turbulenceProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict index 03b8dd3beff..7a68f62840f 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -47,6 +47,7 @@ adjustTimeStep yes; maxCo 0.5; -maxDeltaT 1.0; +maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict index cf0067afd3c..bf8dffb737c 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method simple; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes index 8f44bf9fcd5..6443d5f3d91 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -29,8 +30,8 @@ gradSchemes divSchemes { div(rho*phi,U) Gauss upwind; - div(phi,alpha) Gauss limitedLimitedLinear 1.0 -0.00001 1.00001; - div(phic,alpha) Gauss interfaceCompression; //upwind; + div(phi,alpha) Gauss limitedLimitedLinear 1 -1e-05 1.00001; + div(phic,alpha) Gauss interfaceCompression; } laplacianSchemes @@ -53,4 +54,5 @@ fluxRequired default yes; } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution index 78c0ce45be4..8c303f95402 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,92 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration off; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 2; - }; + agglomerator faceAreaPair; + mergeLevels 2; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-7; - relTol 0.05; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-07; + relTol 0.05; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration on; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-7; - relTol 0; - - nVcycles 2; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration on; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-7; - relTol 0; - maxIter 20; - }; + tolerance 1e-07; + relTol 0; + maxIter 20; + } - alpha smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-8; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0; + nSweeps 1; + } + + alpha + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0; + nSweeps 1; + } } PISO @@ -99,4 +108,5 @@ PISO cAlpha 4; } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict index 664126f092c..45ec79a508c 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phase/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,15 +21,14 @@ defaultFieldValues volScalarFieldValue alphaWater 0 volScalarFieldValue alphaOil 0 volScalarFieldValue alphaMercury 0 - volVectorFieldValue U (0 0 0) + volVectorFieldValue U ( 0 0 0 ) ); regions ( boxToCell { - box (0 0 -1) (0.1461 0.292 1); - + box ( 0 0 -1 ) ( 0.1461 0.292 1 ); fieldValues ( volScalarFieldValue alphaWater 1 @@ -37,11 +37,9 @@ regions volScalarFieldValue alphaAir 0 ); } - boxToCell { - box (0.1461 0 -1) (0.2922 0.292 1); - + box ( 0.1461 0 -1 ) ( 0.2922 0.292 1 ); fieldValues ( volScalarFieldValue alphaWater 0 @@ -50,11 +48,9 @@ regions volScalarFieldValue alphaAir 0 ); } - boxToCell { - box (0 0 -1) (0.1461 0.1 1); - + box ( 0 0 -1 ) ( 0.1461 0.1 1 ); fieldValues ( volScalarFieldValue alphaWater 0 @@ -65,4 +61,5 @@ regions } ); + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas index 2e89a3f6143..99b42c75e49 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/0/alphas @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object alphas; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -34246,4 +34247,5 @@ boundaryField } } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties new file mode 100644 index 00000000000..a866ff549fd --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object environmentalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +g g [ 0 1 -2 0 0 0 0 ] ( 0 -9.81 0 ); + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/environmentalProperties.gz deleted file mode 100644 index 6453a0d982a113f7bc9d762741d6959824aae3bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmV;$0XqI4iwFpkh0;O*17&V@X>xCFZDnqBVQf%xZ*XODbZKRC0IgF^Z`3dlz57=@ z?Fm-eI9)EVD<lduCrUYRK%yL`j<aj(*u{1#Rh0kEI8JwiP;WcFMDym&y!nWf_`26< zuFfy<CHS9OB}j?JSiOOE_a=DPYnR9}dZ$A&ItsZItJ9jm+b6@5J)$)#8Sf}O2wYzm zubklmll$mo?`P^+JDydK!kTfI)KG8i!v>9~{u`8co!Je6a(Q$-jLc%%oKyq=4UD$! zJXap(y$+Gd8?38WW7ri~KuK7_SW-LixP8ZxZ!F<cYO68y9OT;n>Rhtd+zoch@ra9_ zjNRbE{TfW*&fbk_D&?!;_T&p%N|Enk9M1=e8XphKsf5V>d^6(rD0OQ7(80Q@w<FN` z&{I0LMo}5F6(bhBpCQ0P?tQOiOw5sLA54@Tmnok-RT%~+)4;GH8>Mkchpb~!N~tVz zp01_-eb96};l{;8P90(vy!7lz6K=gCJLfMZoyt;-GvIioh3Id_zvy7k+~HRI5qYG` vlRYVg*x_H>;d_lUtk$T@`+*lVR&T1;XQ*FtN27#OS(fk@-4#xXQUm}1702R5 diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties new file mode 100644 index 00000000000..f1a454040c4 --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object motionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +movingFvMesh staticFvMesh; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/motionProperties.gz deleted file mode 100644 index 32e8c0015a4e4735b3242dd2249e4ade10ce2207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayMXiwFpkh0;O*18r|~X>V>&a&K^Da&&2Ba{#SVJx{|h5Z(PNP8}-|BiLFY z@tKJN0|Nug;W+fbA7DF`5b)nQ+o6qM?PW>c-Mjbh>_`dsYYpw~*$VE0f6*#|l+cpV z3$Q+scMQMjkVr=%=i*?$A>iaU;5WXYBbAjgd<b}atf-vi1&r_xWb_6tn}+|kp_WgI zxw=J5=3@b^NBaQEyPlqhfSC$CkDpmgo06(BKntWzH|>?zx6vUoc>zbwaVfh6Hc%VZ zGPcwWykOt6*C&H;ow}x!o&mb<pU#R=dK=8x;|s1Vl3Bo&dmkw9WT&M~qkJ>G?)_xu zQskRZ)^mYT!{zo=8X+>CZ;ALUR>$GD6C5>%%aZ7Qu$XqEVN^s*QF6iiNd{mh*WPLw z6LX|m2a2+1nfl6Gm0@r)4V)%4QIbnKWFNCCrLxIsyAJJn(D*v$$;E_DZEI$H=ov|4 z-gt#(%AbusmBAP%iQV<AME_L&n{E8PfJ^Z$@-F9ld!!V?`VG0~cC*rPomF|1M5=zX S@glgd$bvt{5swio1ONcbNYZ8i diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary index aed2dc20552..04429b16df5 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,43 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 5 ( -leftWall -{ - type wall; - nFaces 195; - startFace 68014; -} - -rightWall -{ - type wall; - nFaces 195; - startFace 68209; -} - -lowerWall -{ - type wall; - nFaces 206; - startFace 68404; -} - -atmosphere -{ - type patch; - nFaces 176; - startFace 68610; -} - -defaultFaces -{ - type empty; - nFaces 68400; - startFace 68786; -} + leftWall + { + type wall; + nFaces 195; + startFace 68014; + } + rightWall + { + type wall; + nFaces 195; + startFace 68209; + } + lowerWall + { + type wall; + nFaces 206; + startFace 68404; + } + atmosphere + { + type patch; + nFaces 176; + startFace 68610; + } + defaultFaces + { + type empty; + nFaces 68400; + startFace 68786; + } ) // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties index a9fcefae0da..99ccf063b95 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,51 +10,16 @@ FoamFile version 2.0; format ascii; class dictionary; + location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -phases -( - water - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 1000; - } +phases ( water { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06 ; rho rho [ 1 -3 0 0 0 0 0 ] 1000 ; } oil { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06 ; rho rho [ 1 -3 0 0 0 0 0 ] 500 ; } mercury { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1.125e-07 ; rho rho [ 1 -3 0 0 0 0 0 ] 13529 ; } air { transportModel Newtonian ; nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05 ; rho rho [ 1 -3 0 0 0 0 0 ] 1 ; } ); - oil - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1e-06; - rho rho [1 -3 0 0 0 0 0] 500; - } +refPhase air; - mercury - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 0.1125e-06; - rho rho [1 -3 0 0 0 0 0] 13529; - } +sigmas ( ( air water ) 0.07 ( air oil ) 0.07 ( air mercury ) 0.07 ( water oil ) 0.07 ( water mercury ) 0.07 ( oil mercury ) 0.07 ); - air - { - transportModel Newtonian; - nu nu [0 2 -1 0 0 0 0] 1.48e-05; - rho rho [1 -3 0 0 0 0 0] 1; - } -); - -refPhase air; - -sigmas -( - (air water) 0.07 - (air oil) 0.07 - (air mercury) 0.07 - (water oil) 0.07 - (water mercury) 0.07 - (oil mercury) 0.07 -); // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/turbulenceProperties b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/turbulenceProperties new file mode 100644 index 00000000000..886d34bdef1 --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict index 03b8dd3beff..7a68f62840f 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,11 +10,11 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - startFrom latestTime; startTime 0; @@ -47,6 +47,7 @@ adjustTimeStep yes; maxCo 0.5; -maxDeltaT 1.0; +maxDeltaT 1; + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict index cf0067afd3c..bf8dffb737c 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/decomposeParDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,26 +21,20 @@ method simple; simpleCoeffs { - n (2 2 1); + n ( 2 2 1 ); delta 0.001; } hierarchicalCoeffs { - n (1 1 1); + n ( 1 1 1 ); delta 0.001; order xyz; } metisCoeffs { - processorWeights - ( - 1 - 1 - 1 - 1 - ); + processorWeights ( 1 1 1 1 ); } manualCoeffs @@ -49,8 +44,7 @@ manualCoeffs distributed no; -roots -( -); +roots ( ); + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes index ace8adce3fe..6443d5f3d91 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,13 +10,14 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default Euler; } gradSchemes @@ -28,8 +29,8 @@ gradSchemes divSchemes { - div(rho*phi,U) Gauss upwind; //limitedLinearV 1.0; - div(phi,alpha) Gauss limitedLimitedLinear 1.0 -0.00001 1.00001; + div(rho*phi,U) Gauss upwind; + div(phi,alpha) Gauss limitedLimitedLinear 1 -1e-05 1.00001; div(phic,alpha) Gauss interfaceCompression; } @@ -53,4 +54,5 @@ fluxRequired default yes; } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution index 78c0ce45be4..8c303f95402 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,83 +10,92 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { - pcorr PCG + pcorr { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-5; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nBottomSweeps 2; cacheAgglomeration off; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 2; - }; + agglomerator faceAreaPair; + mergeLevels 2; + } - tolerance 1e-5; - relTol 0; - maxIter 100; - }; + tolerance 1e-05; + relTol 0; + maxIter 100; + } - pd GAMG + pd { - tolerance 1e-7; - relTol 0.05; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + solver GAMG; + tolerance 1e-07; + relTol 0.05; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration on; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - pdFinal PCG + pdFinal { - preconditioner GAMG + solver PCG; + preconditioner { - tolerance 1e-7; - relTol 0; - - nVcycles 2; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nFinestSweeps 2; - + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; cacheAgglomeration on; nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - }; + agglomerator faceAreaPair; + mergeLevels 1; + } - tolerance 1e-7; - relTol 0; - maxIter 20; - }; + tolerance 1e-07; + relTol 0; + maxIter 20; + } - alpha smoothSolver + U { - smoother GaussSeidel; - tolerance 1e-8; - relTol 0; - nSweeps 1; - }; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0; + nSweeps 1; + } + + alpha + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0; + nSweeps 1; + } } PISO @@ -99,4 +108,5 @@ PISO cAlpha 4; } + // ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par deleted file mode 100644 index 2e036f4cadc..00000000000 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/fvSolution.par +++ /dev/null @@ -1,75 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - object fvSolution; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -solvers -{ - pcorr PCG - { - preconditioner GAMG - { - tolerance 1e-5; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - nBottomSweeps 2; - - cacheAgglomeration off; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 2; - }; - - tolerance 1e-5; - relTol 0; - maxIter 100; - }; - - pd PCG - { - preconditioner DIC; - tolerance 1e-7; - relTol 0.05; - }; - - pdFinal PCG - { - preconditioner DIC; - tolerance 1e-7; - relTol 0; - }; - - alpha smoothSolver - { - smoother GaussSeidel; - tolerance 1e-8; - relTol 0; - nSweeps 1; - }; -} - -PISO -{ - nCorrectors 4; - nNonOrthogonalCorrectors 0; - nAlphaCorr 4; - nAlphaSubCycles 4; - cycleAlpha yes; - cAlpha 4; -} - -// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict index 664126f092c..94f35f9d934 100644 --- a/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict +++ b/tutorials/multiphase/multiphaseInterFoam/damBreak4phaseFine/system/setFieldsDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; + location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -20,15 +21,14 @@ defaultFieldValues volScalarFieldValue alphaWater 0 volScalarFieldValue alphaOil 0 volScalarFieldValue alphaMercury 0 - volVectorFieldValue U (0 0 0) + volVectorFieldValue U ( 0 0 0 ) ); regions ( boxToCell { - box (0 0 -1) (0.1461 0.292 1); - + box ( 0 0 -1 ) ( 0.1461 0.292 1 ); fieldValues ( volScalarFieldValue alphaWater 1 @@ -37,11 +37,9 @@ regions volScalarFieldValue alphaAir 0 ); } - boxToCell { - box (0.1461 0 -1) (0.2922 0.292 1); - + box ( 0.1461 0 -1 ) ( 0.2922 0.292 1 ); fieldValues ( volScalarFieldValue alphaWater 0 @@ -50,11 +48,9 @@ regions volScalarFieldValue alphaAir 0 ); } - boxToCell { - box (0 0 -1) (0.1461 0.1 1); - + box ( 0 0 -1 ) ( 0.1461 0.1 1 ); fieldValues ( volScalarFieldValue alphaWater 0 @@ -63,6 +59,7 @@ regions volScalarFieldValue alphaAir 0 ); } -); + ); + // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict index 8b29ef416eb..766cb875959 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/controlDict @@ -49,7 +49,42 @@ maxCo 0.5; maxDeltaT 1; -functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); +functions +( + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + fields + ( + Ua + { + mean on; + prime2Mean off; + base time; + } + Ub + { + mean on; + prime2Mean off; + base time; + } + alpha + { + mean on; + prime2Mean off; + base time; + } + p + { + mean on; + prime2Mean off; + base time; + } + ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict index 2a969d4d7ab..e4d35359ada 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/controlDict @@ -49,7 +49,42 @@ maxCo 0.9; maxDeltaT 1e-05; -functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; outputControl outputTime ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); +functions +( + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + fields + ( + Ua + { + mean on; + prime2Mean off; + base time; + } + Ub + { + mean on; + prime2Mean off; + base time; + } + alpha + { + mean on; + prime2Mean off; + base time; + } + p + { + mean on; + prime2Mean off; + base time; + } + ); + } +); // ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict index 342ea403e6d..d0f78bb5059 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/controlDict @@ -49,7 +49,42 @@ maxCo 0.5; maxDeltaT 1; -functions ( fieldAverage1 { type fieldAverage ; functionObjectLibs ( "libfieldFunctionObjects.so" ) ; fields ( Ua { mean on ; prime2Mean off ; base time ; } Ub { mean on ; prime2Mean off ; base time ; } alpha { mean on ; prime2Mean off ; base time ; } p { mean on ; prime2Mean off ; base time ; } ) ; } ); +functions +( + fieldAverage1 + { + type fieldAverage; + functionObjectLibs ( "libfieldFunctionObjects.so" ); + outputControl outputTime; + fields + ( + Ua + { + mean on; + prime2Mean off; + base time; + } + Ub + { + mean on; + prime2Mean off; + base time; + } + alpha + { + mean on; + prime2Mean off; + base time; + } + p + { + mean on; + prime2Mean off; + base time; + } + ); + } +); // ************************************************************************* // -- GitLab From c063d04a3d473ec5d58efe9f037f58ac170969f1 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 15 Feb 2009 21:37:29 +0000 Subject: [PATCH 13/21] Small cleanup. --- src/OpenFOAM/db/Time/Time.C | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index f2096b79688..26d2182e95f 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -610,20 +610,6 @@ Foam::Time& Foam::Time::operator+=(const dimensionedScalar& deltaT) Foam::Time& Foam::Time::operator+=(const scalar deltaT) { - readModifiedObjects(); - - if (!subCycling_) - { - if (timeIndex_ == startTimeIndex_) - { - functionObjects_.start(); - } - else - { - functionObjects_.execute(); - } - } - setDeltaT(deltaT); operator++(); -- GitLab From f266f17adfac0bd2d473fbc3397ed2d25f73926e Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 15 Feb 2009 21:39:20 +0000 Subject: [PATCH 14/21] Updates from Niklas: Better properties for CH4N2O Limiting the temperature to the boiling-point in parcel --- src/lagrangian/dieselSpray/parcel/parcel.C | 52 ++++++++++++++++++- .../liquids/CH4N2O/CH4N2O.H | 10 +--- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/lagrangian/dieselSpray/parcel/parcel.C b/src/lagrangian/dieselSpray/parcel/parcel.C index 0e71e1e4d75..1af26992010 100644 --- a/src/lagrangian/dieselSpray/parcel/parcel.C +++ b/src/lagrangian/dieselSpray/parcel/parcel.C @@ -297,7 +297,7 @@ bool Foam::parcel::move(spray& sDB) ms() -= ms()*(oTotMass-m())/oTotMass; // remove parcel if it is 'small' - if (m() < 1.0e-20) + if (m() < 1.0e-12) { keepParcel = false; @@ -574,6 +574,56 @@ void Foam::parcel::updateParcelProperties // Prevent droplet temperature to go too low // Mainly a numerical stability issue Tnew = max(200.0, Tnew); + scalar Td = Tnew; + + scalar pAtSurface = fuels.pv(pg, Td, X()); + scalar pCompare = 0.999*pg; + scalar boiling = pAtSurface >= pCompare; + if (boiling) + { + // can not go above boiling temperature + scalar Terr = 1.0e-3; + label n=0; + scalar dT = 1.0; + scalar pOld = pAtSurface; + while (dT > Terr) + { + n++; + pAtSurface = fuels.pv(pg, Td, X()); + if ((pAtSurface < pCompare) && (pOld < pCompare)) + { + Td += dT; + } + else + { + if ((pAtSurface > pCompare) && (pOld > pCompare)) + { + Td -= dT; + } + else + { + dT *= 0.5; + if ((pAtSurface > pCompare) && (pOld < pCompare)) + { + Td -= dT; + } + else + { + Td += dT; + } + } + } + pOld = pAtSurface; + if (debug) + { + if (n>100) + { + Info << "n = " << n << ", T = " << Td << ", pv = " << pAtSurface << endl; + } + } + } + Tnew = Td; + } } // Evaporate droplet! diff --git a/src/thermophysicalModels/liquids/CH4N2O/CH4N2O.H b/src/thermophysicalModels/liquids/CH4N2O/CH4N2O.H index e92eacbbd7a..2b5b4f4ae52 100644 --- a/src/thermophysicalModels/liquids/CH4N2O/CH4N2O.H +++ b/src/thermophysicalModels/liquids/CH4N2O/CH4N2O.H @@ -90,16 +90,10 @@ public: : liquid(60.056, 705.0, 9.050e+6, 0.218, 0.337, 405.85, 9.3131e+1, 465.0, 1.52e-29, 0.3449, 4.7813e+4), rho_(1230.006936, 0, 0, 0, 0, 0), - pv_(12.06, -3992.0, 0, 0, 0), -// hl_(1463034.50113228, 0, 0, 0, 0, 0), -// NN. we cant use constant heat of vapourisation, the below value is linear (sqrt) interpolation to critical temp + pv_(3015.15611544, -185497.059684, -430.223621983, 0.00017405122622, 2.0), hl_(705.0, 2534249.0, 0.5, 0.0, 0.0, 0.0), cp_(2006.46063673904, 0, 0, 0, 0, 0), - // NN: enthalpy, h_, is not used in the sprayModel. - // For consistency, the enthalpy is derived from hlat and hl. - // It is, however, convenient to have it available. h_(-6154107.41641135, 2006.46063673904, 0, 0, 0, 0), - cpg_(811.875582789397, 2099.04089516451, 1627.3, 1603.63660583455, 724.41), B_(-0.000383641934194752, 0.447249234048222, -469062.208605302, 5.5628080458239e+18, -2.3040162514986e+21), mu_(-51.964, 3670.6, 5.7331, -5.3495e-29, 10), @@ -107,7 +101,7 @@ public: K_(-0.4267, 0.0056903, -8.0065e-06, 1.815e-09, 0, 0), Kg_(6.977e-05, 1.1243, 844.9, -148850), sigma_(705.0, 1.0, 0.0, 0.0, 0.0, 0), // set to constant - D_(147.18, 20.1, 60.056, 28) // NN: Same as nHeptane + D_(147.18, 20.1, 60.056, 28) // Same as nHeptane {} CH4N2O ( -- GitLab From 6206a2e1a54fc0fc0fe3a54c54979f26c206672e Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 15 Feb 2009 21:43:06 +0000 Subject: [PATCH 15/21] Stabilised the models by forcing the production of k and epsilon to be positive even when the dot-product of the Reynolds stress and the gradient of velocity is negative. Currently this is done by taking the magnitude, another alternative would be to take only the positive part. --- src/turbulenceModels/compressible/RAS/LRR/LRR.C | 4 ++-- .../compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 4 ++-- src/turbulenceModels/incompressible/RAS/LRR/LRR.C | 6 ++++-- .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 6 ++++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/turbulenceModels/compressible/RAS/LRR/LRR.C b/src/turbulenceModels/compressible/RAS/LRR/LRR.C index e0e7c1cccd4..6521d8130c4 100644 --- a/src/turbulenceModels/compressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/compressible/RAS/LRR/LRR.C @@ -337,7 +337,7 @@ void LRR::correct() RASModel::correct(); volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_)); - volScalarField G("G", 0.5*tr(P)); + volScalarField G("G", 0.5*mag(tr(P))); // Update espsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); @@ -376,7 +376,7 @@ void LRR::correct() { label faceCelli = curPatch.faceCells()[facei]; P[faceCelli] - *= min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 100.0); + *= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0); } } } diff --git a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index 7f7b91a91af..4a9987131f2 100644 --- a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -367,7 +367,7 @@ void LaunderGibsonRSTM::correct() } volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_)); - volScalarField G("G", 0.5*tr(P)); + volScalarField G("G", 0.5*mag(tr(P))); // Update espsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); @@ -406,7 +406,7 @@ void LaunderGibsonRSTM::correct() { label faceCelli = curPatch.faceCells()[facei]; P[faceCelli] *= - min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 100.0); + min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0); } } } diff --git a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C index a0fd4c9ebf0..f720a0312d9 100644 --- a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C @@ -297,7 +297,7 @@ void LRR::correct() } volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_)); - volScalarField G("G", 0.5*tr(P)); + volScalarField G("G", 0.5*mag(tr(P))); // Update espsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); @@ -307,6 +307,7 @@ void LRR::correct() ( fvm::ddt(epsilon_) + fvm::div(phi_, epsilon_) + - fvm::Sp(fvc::div(phi_), epsilon_) //- fvm::laplacian(Ceps*(K/epsilon_)*R, epsilon_) - fvm::laplacian(DepsilonEff(), epsilon_) == @@ -336,7 +337,7 @@ void LRR::correct() { label faceCelli = curPatch.faceCells()[facei]; P[faceCelli] - *= min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 1.0); + *= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0); } } } @@ -346,6 +347,7 @@ void LRR::correct() ( fvm::ddt(R_) + fvm::div(phi_, R_) + - fvm::Sp(fvc::div(phi_), R_) //- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_) - fvm::laplacian(DREff(), R_) + fvm::Sp(Clrr1_*epsilon_/k_, R_) diff --git a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index 48f4c5ab7ca..6f130f2a312 100644 --- a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -329,7 +329,7 @@ void LaunderGibsonRSTM::correct() } volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_)); - volScalarField G("G", 0.5*tr(P)); + volScalarField G("G", 0.5*mag(tr(P))); // Update espsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); @@ -339,6 +339,7 @@ void LaunderGibsonRSTM::correct() ( fvm::ddt(epsilon_) + fvm::div(phi_, epsilon_) + - fvm::Sp(fvc::div(phi_), epsilon_) //- fvm::laplacian(Ceps*(k_/epsilon_)*R_, epsilon_) - fvm::laplacian(DepsilonEff(), epsilon_) == @@ -368,7 +369,7 @@ void LaunderGibsonRSTM::correct() { label faceCelli = curPatch.faceCells()[facei]; P[faceCelli] *= - min(G[faceCelli]/(0.5*tr(P[faceCelli]) + SMALL), 1.0); + min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0); } } } @@ -379,6 +380,7 @@ void LaunderGibsonRSTM::correct() ( fvm::ddt(R_) + fvm::div(phi_, R_) + - fvm::Sp(fvc::div(phi_), R_) //- fvm::laplacian(Cs*(k_/epsilon_)*R_, R_) - fvm::laplacian(DREff(), R_) + fvm::Sp(Clg1_*epsilon_/k_, R_) -- GitLab From 8a474e2de13ee17210253b21632b3a961abf0f67 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 15 Feb 2009 21:44:44 +0000 Subject: [PATCH 16/21] Corrected typo. --- .../incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C index d1fa78134ad..c69d4035757 100644 --- a/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/turbulenceModels/incompressible/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -249,7 +249,7 @@ tmp<volScalarField> SpalartAllmaras::epsilon() const ( IOobject ( - "epslion", + "epsilon", runTime_.timeName(), mesh_ ), -- GitLab From c64902ea743441516f8994ee3d1bfeb835fd5048 Mon Sep 17 00:00:00 2001 From: henry <Henry Weller h.weller@opencfd.co.uk> Date: Sun, 15 Feb 2009 21:45:13 +0000 Subject: [PATCH 17/21] Use gSum rather than sum for parallel running. --- .../pressureInletUniformVelocityFvPatchVectorField.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.C index 3e9ec64a878..12db67822b3 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletUniformVelocity/pressureInletUniformVelocityFvPatchVectorField.C @@ -104,7 +104,7 @@ void pressureInletUniformVelocityFvPatchVectorField::updateCoeffs() pressureInletVelocityFvPatchVectorField::updateCoeffs(); - operator==(patch().nf()*sum(patch().Sf() & *this)/sum(patch().magSf())); + operator==(patch().nf()*gSum(patch().Sf() & *this)/gSum(patch().magSf())); } @@ -115,7 +115,7 @@ void pressureInletUniformVelocityFvPatchVectorField::operator= const fvPatchField<vector>& pvf ) { - operator==(patch().nf()*sum(patch().Sf() & pvf)/sum(patch().magSf())); + operator==(patch().nf()*gSum(patch().Sf() & pvf)/gSum(patch().magSf())); } -- GitLab From 2002e46bb66dff26c5d62d23a9afafa635c4107d Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Mon, 16 Feb 2009 11:32:34 +0000 Subject: [PATCH 18/21] housekeeping --- tutorials/{ => incompressible}/simpleFoam/airFoil2D/Allrun | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tutorials/{ => incompressible}/simpleFoam/airFoil2D/Allrun (100%) diff --git a/tutorials/simpleFoam/airFoil2D/Allrun b/tutorials/incompressible/simpleFoam/airFoil2D/Allrun similarity index 100% rename from tutorials/simpleFoam/airFoil2D/Allrun rename to tutorials/incompressible/simpleFoam/airFoil2D/Allrun -- GitLab From 5e34369a32dcfed5f90bc4f2ebe22547301a5b51 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Mon, 16 Feb 2009 18:55:28 +0000 Subject: [PATCH 19/21] using IOobjects for reading --- .../fieldAverage/fieldAverage/fieldAverage.C | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C index b9c4023401a..ed07969e0bb 100644 --- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C +++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C @@ -26,10 +26,7 @@ License #include "fieldAverage.H" #include "volFields.H" -#include "dictionary.H" #include "Time.H" -#include "IFstream.H" -#include "OFstream.H" #include "fieldAverageItem.H" @@ -354,20 +351,25 @@ void Foam::fieldAverage::readAveragingProperties() } else { - IFstream propsFile + IOobject propsDictHeader ( - obr_.time().path()/obr_.time().timeName() - /"uniform"/"fieldAveragingProperties" + "fieldAveragingProperties", + obr_.time().timeName(), + "uniform", + obr_, + IOobject::NO_READ, + IOobject::NO_WRITE, + false ); - if (!propsFile.good()) + if (!propsDictHeader.headerOk()) { Info<< "fieldAverage: starting averaging at time " << obr_.time().timeName() << nl << endl; return; } - dictionary propsDict(dictionary::null, propsFile); + IOdictionary propsDict(propsDictHeader); Info<< "fieldAverage: restarting averaging for fields:" << endl; forAll(faItems_, i) -- GitLab From a5ab4126d806b97c4362fdd9b2f49688e3f5e451 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Tue, 17 Feb 2009 12:09:27 +0000 Subject: [PATCH 20/21] renamed to be consistent with new solver naming convention --- .../solvers/heatTransfer/buoyantBoussinesqFoam/Make/files | 3 --- .../solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/files | 3 +++ .../Make/options | 0 .../TEqn.H | 0 .../UEqn.H | 0 .../buoyantBoussinesqPisoFoam.C} | 4 ++-- .../createFields.H | 0 .../pdEqn.H | 0 .../readTransportProperties.H | 0 .../writeAdditionalFields.H | 0 10 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/files create mode 100644 applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/files rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/Make/options (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/TEqn.H (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/UEqn.H (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam/buoyantBoussinesqFoam.C => buoyantBoussinesqPisoFoam/buoyantBoussinesqPisoFoam.C} (96%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/createFields.H (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/pdEqn.H (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/readTransportProperties.H (100%) rename applications/solvers/heatTransfer/{buoyantBoussinesqFoam => buoyantBoussinesqPisoFoam}/writeAdditionalFields.H (100%) diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/files b/applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/files deleted file mode 100644 index d6a7819c0e0..00000000000 --- a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -buoyantBoussinesqFoam.C - -EXE = $(FOAM_APPBIN)/buoyantBoussinesqFoam diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/files b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/files new file mode 100644 index 00000000000..d7b85221d8c --- /dev/null +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/files @@ -0,0 +1,3 @@ +buoyantBoussinesqPisoFoam.C + +EXE = $(FOAM_APPBIN)/buoyantBoussinesqPisoFoam diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/options similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/Make/options rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/Make/options diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/TEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/TEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/TEqn.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/TEqn.H diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/UEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/UEqn.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/UEqn.H diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/buoyantBoussinesqPisoFoam.C similarity index 96% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/buoyantBoussinesqPisoFoam.C index 72aab39ac04..6a4381efbfb 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/buoyantBoussinesqPisoFoam.C @@ -23,10 +23,10 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - buoyantBoussinesqSimpleFoam + buoyantBoussinesqPisoFoam Description - Steady-state solver for buoyant, turbulent flow of incompressible fluids + Transient solver for buoyant, turbulent flow of incompressible fluids Uses the Boussinesq approximation: \f[ diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/createFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/createFields.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/createFields.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/createFields.H diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/pdEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/pdEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/pdEqn.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/pdEqn.H diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/readTransportProperties.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/readTransportProperties.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/readTransportProperties.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/readTransportProperties.H diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/writeAdditionalFields.H b/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/writeAdditionalFields.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantBoussinesqFoam/writeAdditionalFields.H rename to applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam/writeAdditionalFields.H -- GitLab From c799fb001437eb7c0087d6b76d13bcd070cb1f59 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Tue, 17 Feb 2009 12:27:38 +0000 Subject: [PATCH 21/21] renamed to be consistent with new solver naming convention --- applications/solvers/heatTransfer/buoyantFoam/Make/files | 3 --- applications/solvers/heatTransfer/buoyantPisoFoam/Make/files | 3 +++ .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/Make/options | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/UEqn.H | 0 .../buoyantFoam.C => buoyantPisoFoam/buoyantPisoFoam.C} | 2 +- .../{buoyantFoam => buoyantPisoFoam}/createFields.H | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hEqn.H | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/pEqn.H | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/T | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/0/T.org | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/U | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/0/epsilon | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/k | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/p | 0 .../heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/pd | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/Allclean | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/Allrun | 0 .../hotRoom/constant/RASProperties | 0 .../hotRoom/constant/environmentalProperties | 0 .../hotRoom/constant/polyMesh/blockMeshDict | 0 .../hotRoom/constant/polyMesh/boundary | 0 .../hotRoom/constant/thermophysicalProperties | 0 .../hotRoom/constant/turbulenceProperties | 0 .../hotRoom/setHotRoom/Make/files | 0 .../hotRoom/setHotRoom/Make/options | 0 .../hotRoom/setHotRoom/createFields.H | 0 .../hotRoom/setHotRoom/setHotRoom.C | 0 .../hotRoom/system/controlDict | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/system/fvSchemes | 0 .../{buoyantFoam => buoyantPisoFoam}/hotRoom/system/fvSolution | 0 30 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 applications/solvers/heatTransfer/buoyantFoam/Make/files create mode 100644 applications/solvers/heatTransfer/buoyantPisoFoam/Make/files rename applications/solvers/heatTransfer/{buoyantFoam => buoyantPisoFoam}/Make/options (100%) rename applications/solvers/heatTransfer/{buoyantFoam => buoyantPisoFoam}/UEqn.H (100%) rename applications/solvers/heatTransfer/{buoyantFoam/buoyantFoam.C => buoyantPisoFoam/buoyantPisoFoam.C} (99%) rename applications/solvers/heatTransfer/{buoyantFoam => buoyantPisoFoam}/createFields.H (100%) rename applications/solvers/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hEqn.H (100%) rename applications/solvers/heatTransfer/{buoyantFoam => buoyantPisoFoam}/pEqn.H (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/T (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/T.org (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/U (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/epsilon (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/k (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/p (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/0/pd (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/Allclean (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/Allrun (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/RASProperties (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/environmentalProperties (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/polyMesh/blockMeshDict (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/polyMesh/boundary (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/thermophysicalProperties (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/constant/turbulenceProperties (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/setHotRoom/Make/files (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/setHotRoom/Make/options (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/setHotRoom/createFields.H (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/setHotRoom/setHotRoom.C (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/system/controlDict (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/system/fvSchemes (100%) rename tutorials/heatTransfer/{buoyantFoam => buoyantPisoFoam}/hotRoom/system/fvSolution (100%) diff --git a/applications/solvers/heatTransfer/buoyantFoam/Make/files b/applications/solvers/heatTransfer/buoyantFoam/Make/files deleted file mode 100644 index fccde862b26..00000000000 --- a/applications/solvers/heatTransfer/buoyantFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -buoyantFoam.C - -EXE = $(FOAM_APPBIN)/buoyantFoam diff --git a/applications/solvers/heatTransfer/buoyantPisoFoam/Make/files b/applications/solvers/heatTransfer/buoyantPisoFoam/Make/files new file mode 100644 index 00000000000..65e5d523058 --- /dev/null +++ b/applications/solvers/heatTransfer/buoyantPisoFoam/Make/files @@ -0,0 +1,3 @@ +buoyantPisoFoam.C + +EXE = $(FOAM_APPBIN)/buoyantPisoFoam diff --git a/applications/solvers/heatTransfer/buoyantFoam/Make/options b/applications/solvers/heatTransfer/buoyantPisoFoam/Make/options similarity index 100% rename from applications/solvers/heatTransfer/buoyantFoam/Make/options rename to applications/solvers/heatTransfer/buoyantPisoFoam/Make/options diff --git a/applications/solvers/heatTransfer/buoyantFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantPisoFoam/UEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantFoam/UEqn.H rename to applications/solvers/heatTransfer/buoyantPisoFoam/UEqn.H diff --git a/applications/solvers/heatTransfer/buoyantFoam/buoyantFoam.C b/applications/solvers/heatTransfer/buoyantPisoFoam/buoyantPisoFoam.C similarity index 99% rename from applications/solvers/heatTransfer/buoyantFoam/buoyantFoam.C rename to applications/solvers/heatTransfer/buoyantPisoFoam/buoyantPisoFoam.C index 75eb401d3db..18dadabf8ba 100644 --- a/applications/solvers/heatTransfer/buoyantFoam/buoyantFoam.C +++ b/applications/solvers/heatTransfer/buoyantPisoFoam/buoyantPisoFoam.C @@ -23,7 +23,7 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - buoyantFoam + buoyantPisoFoam Description Transient Solver for buoyant, turbulent flow of compressible fluids for diff --git a/applications/solvers/heatTransfer/buoyantFoam/createFields.H b/applications/solvers/heatTransfer/buoyantPisoFoam/createFields.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantFoam/createFields.H rename to applications/solvers/heatTransfer/buoyantPisoFoam/createFields.H diff --git a/applications/solvers/heatTransfer/buoyantFoam/hEqn.H b/applications/solvers/heatTransfer/buoyantPisoFoam/hEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantFoam/hEqn.H rename to applications/solvers/heatTransfer/buoyantPisoFoam/hEqn.H diff --git a/applications/solvers/heatTransfer/buoyantFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantPisoFoam/pEqn.H similarity index 100% rename from applications/solvers/heatTransfer/buoyantFoam/pEqn.H rename to applications/solvers/heatTransfer/buoyantPisoFoam/pEqn.H diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/T b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/T similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/T rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/T diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/T.org b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/T.org similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/T.org rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/T.org diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/U b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/U similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/U rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/U diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/epsilon b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/epsilon similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/epsilon rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/epsilon diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/k b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/k similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/k rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/k diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/p b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/p similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/p rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/p diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/0/pd b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/pd similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/0/pd rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/0/pd diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/Allclean b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/Allclean similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/Allclean rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/Allclean diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/Allrun b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/Allrun similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/Allrun rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/Allrun diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/RASProperties similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/RASProperties rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/RASProperties diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/environmentalProperties similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/environmentalProperties rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/environmentalProperties diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/polyMesh/blockMeshDict diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/boundary b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/polyMesh/boundary similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/polyMesh/boundary rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/polyMesh/boundary diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/thermophysicalProperties similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/thermophysicalProperties rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/thermophysicalProperties diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/turbulenceProperties similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/constant/turbulenceProperties rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/constant/turbulenceProperties diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/files b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/Make/files similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/files rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/Make/files diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/options b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/Make/options similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/Make/options rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/Make/options diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/createFields.H b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/createFields.H similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/createFields.H rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/createFields.H diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/setHotRoom.C similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/setHotRoom/setHotRoom.C rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/setHotRoom/setHotRoom.C diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/controlDict similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/system/controlDict rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/controlDict diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/fvSchemes similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSchemes rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/fvSchemes diff --git a/tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/fvSolution similarity index 100% rename from tutorials/heatTransfer/buoyantFoam/hotRoom/system/fvSolution rename to tutorials/heatTransfer/buoyantPisoFoam/hotRoom/system/fvSolution -- GitLab