diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C index d583a551c1729a89c0864e66f562ad8b16d32b51..fa37b022edb490dd171ad715ac4b43ca7c7f7fb3 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C @@ -30,6 +30,14 @@ Description // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template<class CloudType> +Foam::DispersionModel<CloudType>::DispersionModel(CloudType& owner) +: + dict_(dictionary::null), + owner_(owner) +{} + + template<class CloudType> Foam::DispersionModel<CloudType>::DispersionModel ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 5cd9eaab2f92bf7683d41541b73c32b3f462f13e..085ff97b8adc42655f7993c64c60adeeebf0cf81 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -81,6 +81,9 @@ public: // Constructors + //- Construct null from owner + DispersionModel(CloudType& owner); + //- Construct from components DispersionModel ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C index 5a41d3f39ea3ea186fc2e19732c569e0cd018717..221eb2b229cb920742b4d2df4255804f50a5a4bd 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C @@ -33,11 +33,11 @@ Description template<class CloudType> Foam::NoDispersion<CloudType>::NoDispersion ( - const dictionary& dict, + const dictionary&, CloudType& owner ) : - DispersionModel<CloudType>(dict, owner) + DispersionModel<CloudType>(owner) {} diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H index 48af46260e3adf3e35ae0c7ecb77028b0dec3ec5..48e938cc03e767e2e1ad4966457074f849f5ca60 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H @@ -26,7 +26,7 @@ Class Foam::NoDispersion Description - No turbulent dispersion of the parcels + Place holder for 'none' option \*---------------------------------------------------------------------------*/ @@ -41,7 +41,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class NoDispersion Declaration + Class NoDispersion Declaration \*---------------------------------------------------------------------------*/ template<class CloudType> @@ -52,7 +52,7 @@ class NoDispersion public: //- Runtime type information - TypeName("NoDispersion"); + TypeName("none"); // Constructors diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C index a9f6e5738a3d406ba5853ac3254fb8daf82dd7e8..d0afb84cb0f2ce89ea90b266cd2eb7872e739a95 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C @@ -81,7 +81,7 @@ Foam::LiquidEvaporation<CloudType>::LiquidEvaporation ) ), activeLiquids_(this->coeffDict().lookup("activeLiquids")), - liqToGasMap_(activeLiquids_.size(), -1), + liqToCarrierMap_(activeLiquids_.size(), -1), liqToLiqMap_(activeLiquids_.size(), -1) { if (activeLiquids_.size() == 0) @@ -98,14 +98,14 @@ Foam::LiquidEvaporation<CloudType>::LiquidEvaporation } // Determine mapping between liquid and carrier phase species - label idLiquid = owner.composition().idLiquid(); forAll(activeLiquids_, i) { - liqToGasMap_[i] = - owner.composition().globalId(idLiquid, activeLiquids_[i]); + liqToCarrierMap_[i] = + owner.composition().globalCarrierId(activeLiquids_[i]); } // Determine mapping between local and global liquids + label idLiquid = owner.composition().idLiquid(); forAll(activeLiquids_, i) { liqToLiqMap_[i] = @@ -159,7 +159,7 @@ void Foam::LiquidEvaporation<CloudType>::calculate // calculate mass transfer of each specie in liquid forAll(activeLiquids_, i) { - label gid = liqToGasMap_[i]; + label gid = liqToCarrierMap_[i]; label lid = liqToLiqMap_[i]; // vapour diffusivity [m2/s] diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H index d2a1f903dae3f6cd2f124d5080e6b9a89e626793..9c650f1c2efa4ac1b2e3c60dc8ab47b907b43a57 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H @@ -60,8 +60,8 @@ protected: //- List of active liquid names List<word> activeLiquids_; - //- Mapping between liquid and carrier gas species - List<label> liqToGasMap_; + //- Mapping between liquid and carrier species + List<label> liqToCarrierMap_; //- Mapping between local and global liquid species List<label> liqToLiqMap_; diff --git a/src/postProcessing/functionObjects/Allwmake b/src/postProcessing/functionObjects/Allwmake index 051f73227f574ad9d0be87941e07f54dd0c49337..6c642dfe7b6333d4e71ab8c22f4458da73294503 100755 --- a/src/postProcessing/functionObjects/Allwmake +++ b/src/postProcessing/functionObjects/Allwmake @@ -4,6 +4,7 @@ set -x wmake libso field wmake libso forces +wmake libso IO wmake libso utilities wmake libso systemCall diff --git a/src/postProcessing/functionObjects/IO/Make/files b/src/postProcessing/functionObjects/IO/Make/files new file mode 100644 index 0000000000000000000000000000000000000000..a3517e560f1e3a3349b3dee8930ec12a8e420086 --- /dev/null +++ b/src/postProcessing/functionObjects/IO/Make/files @@ -0,0 +1,4 @@ +writeRegisteredObject/writeRegisteredObject.C +writeRegisteredObject/writeRegisteredObjectFunctionObject.C + +LIB = $(FOAM_LIBBIN)/libIOFunctionObjects diff --git a/src/postProcessing/functionObjects/IO/Make/options b/src/postProcessing/functionObjects/IO/Make/options new file mode 100644 index 0000000000000000000000000000000000000000..5166bcc9e32f547f48a5f87c9c60d7210409967f --- /dev/null +++ b/src/postProcessing/functionObjects/IO/Make/options @@ -0,0 +1,9 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude + +LIB_LIBS = \ + -lfiniteVolume \ + -lmeshTools \ + -lsampling diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/IOwriteRegisteredObject.H b/src/postProcessing/functionObjects/IO/writeRegisteredObject/IOwriteRegisteredObject.H new file mode 100644 index 0000000000000000000000000000000000000000..cb014395c95ecb15909e1c26aae0b9b0bf8f9e91 --- /dev/null +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/IOwriteRegisteredObject.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +Typedef + Foam::IOwriteRegisteredObject + +Description + Instance of the generic IOOutputFilter for writeRegisteredObject. + +\*---------------------------------------------------------------------------*/ + +#ifndef IOwriteRegisteredObject_H +#define IOwriteRegisteredObject_H + +#include "writeRegisteredObject.H" +#include "IOOutputFilter.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + typedef IOOutputFilter<writeRegisteredObject> IOwriteRegisteredObject; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C new file mode 100644 index 0000000000000000000000000000000000000000..b5ad785ab164d7fb424ea8310066d415c372cf0f --- /dev/null +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.C @@ -0,0 +1,123 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 "writeRegisteredObject.H" +#include "dictionary.H" +#include "Time.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(writeRegisteredObject, 0); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::writeRegisteredObject::writeRegisteredObject +( + const word& name, + const objectRegistry& obr, + const dictionary& dict, + const bool loadFromFiles +) +: + name_(name), + obr_(obr), + active_(true), + objectNames_() +{ + read(dict); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::writeRegisteredObject::~writeRegisteredObject() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::writeRegisteredObject::read(const dictionary& dict) +{ + if (active_) + { + dict.lookup("objectNames") >> objectNames_; + + forAll(objectNames_, i) + { + if (obr_.foundObject<regIOobject>(objectNames_[i])) + { + regIOobject& obj = + const_cast<regIOobject&> + ( + obr_.lookupObject<regIOobject>(objectNames_[i]) + ); + obj.writeOpt() = IOobject::NO_WRITE; + } + else + { + FatalErrorIn + ( + "Foam::writeRegisteredObject::read(const dictionary&)" + ) << "Object " << objectNames_[i] << " not found in " + << "database. Available objects are:" << nl << obr_.toc() + << nl << exit(FatalError); + } + } + } +} + + +void Foam::writeRegisteredObject::execute() +{ + // Do nothing - only valid on write +} + + +void Foam::writeRegisteredObject::end() +{ + // Do nothing - only valid on write +} + + +void Foam::writeRegisteredObject::write() +{ + if (active_) + { + forAll(objectNames_, i) + { + const regIOobject& obj = + obr_.lookupObject<regIOobject>(objectNames_[i]); + obj.write(); + } + } +} + + +// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H new file mode 100644 index 0000000000000000000000000000000000000000..6cfeaa5e0b88de7c7690cd1724f28a43f6bad72b --- /dev/null +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObject.H @@ -0,0 +1,150 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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::writeRegisteredObject + +Description + Takes over the writing of registered IO objects + +SourceFiles + writeRegisteredObject.C + IOwriteRegisteredObject.H + +\*---------------------------------------------------------------------------*/ + +#ifndef writeRegisteredObject_H +#define writeRegisteredObject_H + +#include "pointFieldFwd.H" +#include "wordList.H" +#include "runTimeSelectionTables.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of classes +class objectRegistry; +class dictionary; +class mapPolyMesh; + +/*---------------------------------------------------------------------------*\ + Class writeRegisteredObject Declaration +\*---------------------------------------------------------------------------*/ + +class writeRegisteredObject +{ +protected: + + // Private data + + //- Name of this set of writeRegisteredObject + word name_; + + const objectRegistry& obr_; + + //- On/off switch + bool active_; + + + // Read from dictionary + + //- Names of objects to control + wordList objectNames_; + + + // Private Member Functions + + + //- Disallow default bitwise copy construct + writeRegisteredObject(const writeRegisteredObject&); + + //- Disallow default bitwise assignment + void operator=(const writeRegisteredObject&); + + +public: + + //- Runtime type information + TypeName("writeRegisteredObject"); + + + // Constructors + + //- Construct for given objectRegistry and dictionary. + // Allow the possibility to load fields from files + writeRegisteredObject + ( + const word& name, + const objectRegistry&, + const dictionary&, + const bool loadFromFiles = false + ); + + + //- Destructor + virtual ~writeRegisteredObject(); + + + // Member Functions + + //- Return name of the writeRegisteredObject + virtual const word& name() const + { + return name_; + } + + //- Read the writeRegisteredObject data + virtual void read(const dictionary&); + + //- Execute, currently does nothing + virtual void execute(); + + //- Execute at the final time-loop, currently does nothing + virtual void end(); + + //- Write the writeRegisteredObject + virtual void write(); + + //- Update for changes of mesh + virtual void updateMesh(const mapPolyMesh&) + {} + + //- Update for changes of mesh + virtual void movePoints(const pointField&) + {} +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.C b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.C new file mode 100644 index 0000000000000000000000000000000000000000..9b4c324c9d08ae1d1a5d0da5df32bed853d543a0 --- /dev/null +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.C @@ -0,0 +1,47 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 "writeRegisteredObjectFunctionObject.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineNamedTemplateTypeNameAndDebug + ( + writeRegisteredObjectFunctionObject, + 0 + ); + + addToRunTimeSelectionTable + ( + functionObject, + writeRegisteredObjectFunctionObject, + dictionary + ); +} + +// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.H b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.H new file mode 100644 index 0000000000000000000000000000000000000000..284aa6c17a77ad26a05c9af0c06d6117f6520fe4 --- /dev/null +++ b/src/postProcessing/functionObjects/IO/writeRegisteredObject/writeRegisteredObjectFunctionObject.H @@ -0,0 +1,55 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +Typedef + Foam::writeRegisteredObjectFunctionObject + +Description + FunctionObject wrapper around writeRegisteredObject to allow them to be + created via the functions list within controlDict. + +SourceFiles + writeRegisteredObjectFunctionObject.C + +\*---------------------------------------------------------------------------*/ + +#ifndef writeRegisteredObjectFunctionObject_H +#define writeRegisteredObjectFunctionObject_H + +#include "writeRegisteredObject.H" +#include "OutputFilterFunctionObject.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + typedef OutputFilterFunctionObject<writeRegisteredObject> + writeRegisteredObjectFunctionObject; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/G b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/G new file mode 100644 index 0000000000000000000000000000000000000000..fa160e6bb38aee4a10d101cb0dfe2a75b7f5693a --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/G @@ -0,0 +1,37 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object G; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type MarshakRadiation; + T T; + emissivity 1.0; + value uniform 0; + } + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/H2O b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/H2O new file mode 100644 index 0000000000000000000000000000000000000000..a5001202eaca379918e2ebd0908ea999240d9948 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/H2O @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object H2O; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.0; + +boundaryField +{ + walls + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/N2 b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/N2 new file mode 100644 index 0000000000000000000000000000000000000000..61a0a0cd9dbcc3734588bd1bc951f94d506d2c13 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/N2 @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object N2; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.79; + +boundaryField +{ + walls + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/O2 b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/O2 new file mode 100644 index 0000000000000000000000000000000000000000..3927d8183c89e4e1d0f46210e2f16249c2a27f33 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/O2 @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object O2; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.21; + +boundaryField +{ + walls + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/T b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/T new file mode 100644 index 0000000000000000000000000000000000000000..4a49016ccd8379e5d47f5178f6a15f918e9b816f --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/T @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + location "0"; + class volScalarField; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 400; + +boundaryField +{ + walls + { + type fixedValue; + value uniform 400; + } + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/U b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/U new file mode 100644 index 0000000000000000000000000000000000000000..2b02dd199a657910b74a6c5b6368595cfe4103f9 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/U @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + location "0"; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + walls + { + type fixedValue; + value uniform (0 0 0); + } + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/epsilon b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/epsilon new file mode 100644 index 0000000000000000000000000000000000000000..50b54646b3d3d5ab88f13d0619c6e4afbcdba413 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/epsilon @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 5390.5; + +boundaryField +{ + walls + { + type compressible::epsilonWallFunction; + value uniform 5390.5; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/k b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/k new file mode 100644 index 0000000000000000000000000000000000000000..26fcff0babb808a41223f7d9d5732248b4ea2aec --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/k @@ -0,0 +1,36 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 37.5; + +boundaryField +{ + walls + { + type compressible::kQRWallFunction; + value uniform 37.5; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/p b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/p new file mode 100644 index 0000000000000000000000000000000000000000..9563def1f1e547eb01ecf34203eeea0580b46f2e --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/0/p @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000; + +boundaryField +{ + walls + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/chem.inp b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/chem.inp new file mode 100644 index 0000000000000000000000000000000000000000..e1c66808259097c7678e10a52072760041181bec --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/chem.inp @@ -0,0 +1,6 @@ +ELEMENTS +O H N +END +SPECIES +N2 O2 H2O +END diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.dat b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.dat new file mode 100644 index 0000000000000000000000000000000000000000..36ef32431218784d9c10aa1609870debbbbb5924 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.dat @@ -0,0 +1,17 @@ +( +O2 O2 1 31.9988 + 200 5000 1000 + 3.69758 0.00061352 -1.25884e-07 1.77528e-11 -1.13644e-15 -1233.93 3.18917 + 3.21294 0.00112749 -5.75615e-07 1.31388e-09 -8.76855e-13 -1005.25 6.03474 + 1.67212e-06 170.672 +H2O H2O 1 18.0153 + 200 5000 1000 + 2.67215 0.00305629 -8.73026e-07 1.201e-10 -6.39162e-15 -29899.2 6.86282 + 3.38684 0.00347498 -6.3547e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 + 1.67212e-06 170.672 +N2 N2 1 28.0134 + 200 5000 1000 + 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 + 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44486e-12 -1020.9 3.95037 + 1.67212e-06 170.672 +) diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.inp b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.inp new file mode 100644 index 0000000000000000000000000000000000000000..80d66f62c04dbc0e5638ad8912f02619e526e7be --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/foam.inp @@ -0,0 +1,11 @@ +species +( + O2 + H2O + N2 +) +; + +reactions +( +); diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/therm.dat b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/therm.dat new file mode 100644 index 0000000000000000000000000000000000000000..2a896be3987daf9b20db6bff6b4f7c67b8c6e4c8 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/chemkin/therm.dat @@ -0,0 +1,15 @@ +THERMO ALL + 200.000 1000.000 5000.000 +H2O 20387H 2O 1 G 0200.00 5000.00 1000.00 1 + 0.02672146E+02 0.03056293E-01-0.08730260E-05 0.01200996E-08-0.06391618E-13 2 +-0.02989921E+06 0.06862817E+02 0.03386842E+02 0.03474982E-01-0.06354696E-04 3 + 0.06968581E-07-0.02506588E-10-0.03020811E+06 0.02590233E+02 4 +N2 121286N 2 G 0200.00 5000.00 1000.00 1 + 0.02926640E+02 0.01487977E-01-0.05684761E-05 0.01009704E-08-0.06753351E-13 2 +-0.09227977E+04 0.05980528E+02 0.03298677E+02 0.01408240E-01-0.03963222E-04 3 + 0.05641515E-07-0.02444855E-10-0.01020900E+05 0.03950372E+02 4 +O2 121386O 2 G 0200.00 5000.00 1000.00 1 + 0.03697578E+02 0.06135197E-02-0.01258842E-05 0.01775281E-09-0.01136435E-13 2 +-0.01233930E+05 0.03189166E+02 0.03212936E+02 0.01127486E-01-0.05756150E-05 3 + 0.01313877E-07-0.08768554E-11-0.01005249E+05 0.06034738E+02 4 +END diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/chemistryProperties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/chemistryProperties new file mode 100644 index 0000000000000000000000000000000000000000..53a5860d33ad658f415a68c944c3a89007fe22d3 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/chemistryProperties @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object chemistryProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistry off; + +turbulentReaction off; + +chemistrySolver ODE; + +initialChemicalTimeStep 1e-07; + +sequentialCoeffs +{ + cTauChem 0.001; +} + +EulerImplicitCoeffs +{ + cTauChem 0.05; + equilibriumRateLimiter off; +} + +ODECoeffs +{ + ODESolver RK; + eps 0.05; + scale 1; +} + +Cmix Cmix [ 0 0 0 0 0 0 0 ] 1; + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/environmentalProperties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/environmentalProperties new file mode 100644 index 0000000000000000000000000000000000000000..e5124f24528a9aefc741713cd06a11917107de2a --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/environmentalProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / 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 0 0 ); + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/polyMesh/blockMeshDict b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..68e44fead41bca4eccc385d092ad5a424c0b37f9 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/polyMesh/blockMeshDict @@ -0,0 +1,61 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/polyMesh"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.001; + +vertices +( + ( 0 0 0) + (12 0 0) + (12 12 0) + ( 0 12 0) + ( 0 0 1) + (12 0 1) + (12 12 1) + ( 0 12 1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall walls + ( + (3 7 6 2) + (0 4 7 3) + (2 6 5 1) + (1 5 4 0) + ) + empty frontAndBack + ( + (0 3 2 1) + (4 5 6 7) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/radiationProperties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/radiationProperties new file mode 100644 index 0000000000000000000000000000000000000000..59468cd924256aa242b4f679efcef467ddf95b20 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/radiationProperties @@ -0,0 +1,65 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object radiationProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +radiation off; + +radiationModel P1; + +solverFreq 10; + +noRadiation +{ +} + +P1Coeffs +{ + C C [ 0 0 0 0 0 0 0 ] 0; +} + +absorptionEmissionModel binaryAbsorptionEmission; + +binaryAbsorptionEmissionCoeffs +{ + model1 + { + 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; + } + } + model2 + { + absorptionEmissionModel cloudAbsorptionEmission; + cloudAbsorptionEmissionCoeffs + { + cloudNames ( coalCloud1 limestoneCloud1 ); + } + } +} + +scatterModel cloudScatter; + +cloudScatterCoeffs +{ + cloudNames ( coalCloud1 limestoneCloud1 ); +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Positions b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Positions new file mode 100644 index 0000000000000000000000000000000000000000..6d19cbc19bad9ca1c5c8ba0b7c51cd24b0778b37 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Positions @@ -0,0 +1,44 @@ +/*--------------------------------*- 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 vectorField; + location "constant"; + object reactingCloud1Positions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +( +(0.002 0.002 0.00005) +(0.004 0.002 0.00005) +(0.006 0.002 0.00005) +(0.008 0.002 0.00005) +(0.010 0.002 0.00005) +(0.002 0.004 0.00005) +(0.004 0.004 0.00005) +(0.006 0.004 0.00005) +(0.008 0.004 0.00005) +(0.010 0.004 0.00005) +(0.002 0.006 0.00005) +(0.004 0.006 0.00005) +(0.006 0.006 0.00005) +(0.008 0.006 0.00005) +(0.010 0.006 0.00005) +(0.002 0.008 0.00005) +(0.004 0.008 0.00005) +(0.006 0.008 0.00005) +(0.008 0.008 0.00005) +(0.010 0.008 0.00005) +(0.002 0.010 0.00005) +(0.004 0.010 0.00005) +(0.006 0.010 0.00005) +(0.008 0.010 0.00005) +(0.010 0.010 0.00005) +) +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties new file mode 100644 index 0000000000000000000000000000000000000000..470165c7f2280f7e6f6ed277e687a27f33dd55c2 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/reactingCloud1Properties @@ -0,0 +1,129 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object reactingCloud1Properties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +InjectionModel ManualInjection; + +DragModel SphereDrag; + +DispersionModel none; + +WallInteractionModel StandardWallInteraction; + +HeatTransferModel RanzMarshall; + +CompositionModel SinglePhaseMixture; + +PhaseChangeModel LiquidEvaporation; + +radiation off; + +coupled true; + +cellValueSourceCorrection on; + +parcelTypeId 1; + +constantProperties +{ + rhoMin rhoMin [ 1 -3 0 0 0 ] 1e-15; + TMin TMin [ 0 0 0 1 0 ] 200; + pMin pMin [ 1 -1 2 0 0 ] 1000; + rho0 rho0 [ 1 -3 0 0 0 ] 1000; + minParticleMass minParticleMass [ 1 0 0 0 0 ] 1e-15; + T0 T0 [ 0 0 0 1 0 ] 300; + cp0 cp0 [ 0 2 -2 -1 0 ] 4187; + epsilon0 epsilon0 [ 0 0 0 0 0 ] 1; + f0 f0 [ 0 0 0 0 0 ] 0.5; + Tbp Tbp [ 0 0 0 1 0 ] 393; + Tvap Tvap [ 0 0 0 1 0 ] 273; + constantVolume false; +} + +interpolationSchemes +{ + rho cell; + U cellPointFace; + mu cell; + T cell; + Cp cell; + p cell; +} + +integrationSchemes +{ + U Euler; + T Analytical; +} + +particleForces +{ + gravity on; + virtualMass off; + Cvm 0.5; + pressureGradient off; + gradU gradU; +} + +ManualInjectionCoeffs +{ + massTotal massTotal [ 1 0 0 0 0 ] 1e-7; + parcelBasisType mass; + SOI 0; + positionsFile "reactingCloud1Positions"; + U0 ( 0 0 0 ); + parcelPDF + { + pdfType uniform; + uniformPDF + { + minValue 1e-04; + maxValue 1e-04; + } + } +} + +StandardWallInteractionCoeffs +{ + 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; +} + +SinglePhaseMixtureCoeffs +{ + phases + ( + liquid + { + H2O 1; + } + ); +} + +LiquidEvaporationCoeffs +{ + activeLiquids + ( + H2O + ); +} + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties new file mode 100644 index 0000000000000000000000000000000000000000..04b13b12cf071d823be29a6c41dc37ec5ab58875 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType hMixtureThermo<reactingMixture>; + +chemistryReader foamChemistryReader; + +foamChemistryFile "$FOAM_CASE/chemkin/foam.inp"; + +foamChemistryThermoFile "$FOAM_CASE/chemkin/foam.dat"; + +liquidComponents ( H2O ); + +solidFuelComponents ( ); + +inertSpecie N2; + +H2O H2O defaultCoeffs; + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/turbulenceProperties b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/turbulenceProperties new file mode 100644 index 0000000000000000000000000000000000000000..974e568fa84afa295d535b90a50fdb79826892b7 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / 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/Lagrangian/reactingParcelFoam/evaporationTest/system/controlDict b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..fb4a4c45a761f802494c7437a226768a67cce452 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/controlDict @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 1; + +deltaT 0.001; + +writeControl adjustableRunTime; + +writeInterval 0.1; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 10; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 0.3; + +maxDeltaT 1e-3; + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/decomposeParDict b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/decomposeParDict new file mode 100644 index 0000000000000000000000000000000000000000..e9784a98d78f4c2d7f0435a759a78ad3f30a0226 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/decomposeParDict @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method metis; + +simpleCoeffs +{ + n ( 2 2 1 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + processorWeights ( 1 1 1 1 ); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSchemes b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..99267208eae1f5130781bee35206d73e203fc64a --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSchemes @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(p) Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss upwind; + div(phid,p) Gauss upwind; + div(phiU,p) Gauss linear; + div(phi,h) Gauss upwind; + div(phi,k) Gauss upwind; + div(phi,epsilon) Gauss upwind; + div(U) Gauss linear; + div((muEff*dev2(grad(U).T()))) Gauss linear; + div(phi,Yi_h) Gauss upwind; +} + +laplacianSchemes +{ + default Gauss linear corrected; + laplacian(muEff,U) Gauss linear corrected; + laplacian(mut,U) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DREff,R) Gauss linear corrected; + laplacian((rho*(1|A(U))),p) Gauss linear corrected; + laplacian(alphaEff,h) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSolution b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..294428ed7bf29edbbb1b08f5ae8ceba909903285 --- /dev/null +++ b/tutorials/Lagrangian/reactingParcelFoam/evaporationTest/system/fvSolution @@ -0,0 +1,143 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + 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 yes; + nCorrectors 2; + nNonOrthogonalCorrectors 0; + momentumPredictor yes; +} + + +// ************************************************************************* //