diff --git a/src/combustionModels/Make/files b/src/combustionModels/Make/files index 3bb286c7d6bb55525cdd676413d9b87ff6c3c7ec..325fa1dde13c4e5e97fc6c15bac7da772c661b0a 100644 --- a/src/combustionModels/Make/files +++ b/src/combustionModels/Make/files @@ -23,5 +23,7 @@ FSD/reactionRateFlameAreaModels/relaxation/relaxation.C FSD/FSDs.C +noCombustion/noCombustions.C + LIB = $(FOAM_LIBBIN)/libcombustionModels diff --git a/src/combustionModels/noCombustion/noCombustion.C b/src/combustionModels/noCombustion/noCombustion.C new file mode 100644 index 0000000000000000000000000000000000000000..3abdedaf29757a6c8d8ce388d6f35cde970b2918 --- /dev/null +++ b/src/combustionModels/noCombustion/noCombustion.C @@ -0,0 +1,142 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + + 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 3 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, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "noCombustion.H" +#include "fvmSup.H" + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class CombThermoType> +Foam::combustionModels::noCombustion<CombThermoType>::noCombustion +( + const word& modelType, + const fvMesh& mesh +) +: + CombThermoType(modelType, mesh) +{} + + +// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * // + +template<class CombThermoType> +Foam::combustionModels::noCombustion<CombThermoType>::~noCombustion() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +template<class CombThermoType> +void Foam::combustionModels::noCombustion<CombThermoType>::correct() +{ +// Do Nothing +} + + +template<class CombThermoType> +Foam::tmp<Foam::fvScalarMatrix> +Foam::combustionModels::noCombustion<CombThermoType>::R +( + const volScalarField& Y +) const +{ + tmp<fvScalarMatrix> tSu + ( + new fvScalarMatrix(Y, dimMass/dimTime) + ); + + return tSu; +} + + +template<class CombThermoType> +Foam::tmp<Foam::volScalarField> +Foam::combustionModels::noCombustion<CombThermoType>::dQ() const +{ + tmp<volScalarField> tdQ + ( + new volScalarField + ( + IOobject + ( + "dQ", + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh(), + dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), + zeroGradientFvPatchScalarField::typeName + ) + ); + + return tdQ; +} + + +template<class CombThermoType> +Foam::tmp<Foam::volScalarField> +Foam::combustionModels::noCombustion<CombThermoType>::Sh() const +{ + tmp<volScalarField> tSh + ( + new volScalarField + ( + IOobject + ( + "Sh", + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh(), + dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0), + zeroGradientFvPatchScalarField::typeName + ) + ); + + return tSh; +} + + +template<class CombThermoType> +bool Foam::combustionModels::noCombustion<CombThermoType>::read() +{ + if (CombThermoType::read()) + { + return true; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/src/combustionModels/noCombustion/noCombustion.H b/src/combustionModels/noCombustion/noCombustion.H new file mode 100644 index 0000000000000000000000000000000000000000..8e845d43f140b179f62efbf28a5b796aded5a360 --- /dev/null +++ b/src/combustionModels/noCombustion/noCombustion.H @@ -0,0 +1,118 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + + 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 3 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, see <http://www.gnu.org/licenses/>. + +Class + Foam::combustionModels::noCombustion + +Description + +SourceFiles + noCombustion.C + +\*---------------------------------------------------------------------------*/ + +#ifndef noCombustion_H +#define noCombustion_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace combustionModels +{ + +/*---------------------------------------------------------------------------*\ + Class noCombustion Declaration +\*---------------------------------------------------------------------------*/ + +template<class CombThermoType> +class noCombustion +: + public CombThermoType +{ + + //- Disallow copy construct + noCombustion(const noCombustion&); + + //- Disallow default bitwise assignment + void operator=(const noCombustion&); + + +public: + + //- Runtime type information + TypeName("noCombustion"); + + + // Constructors + + //- Construct from components + noCombustion + ( + const word& modelType, + const fvMesh& mesh + ); + + + //- Destructor + virtual ~noCombustion(); + + + // Member Functions + + // Evolution + + //- Correct combustion rate + virtual void correct(); + + //- Fuel consumption rate matrix. + virtual tmp<fvScalarMatrix> R(const volScalarField& Y) const; + + //- Heat release rate calculated from fuel consumption rate matrix + virtual tmp<volScalarField> dQ() const; + + //- Return source for enthalpy equation [kg/m/s3] + virtual tmp<volScalarField> Sh() const; + + // I-O + + //- Update properties from given dictionary + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace combustionModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "noCombustion.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/combustionModels/noCombustion/noCombustions.C b/src/combustionModels/noCombustion/noCombustions.C new file mode 100644 index 0000000000000000000000000000000000000000..dba5597f1e46847fa52d3291fb70742223d384ef --- /dev/null +++ b/src/combustionModels/noCombustion/noCombustions.C @@ -0,0 +1,53 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ 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 3 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, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "makeCombustionTypes.H" + +#include "psiCombustionModel.H" +#include "rhoCombustionModel.H" +#include "noCombustion.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace combustionModels +{ + makeCombustionTypes + ( + noCombustion, + psiCombustionModel + ); + + makeCombustionTypes + ( + noCombustion, + rhoCombustionModel + ); +} +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties index 619c448058ca64e0f31fca477c9838a6395c8fdf..ae740ee671628904d6f4bd036b687c875c447197 100644 --- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties +++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties @@ -15,6 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +//combustionModel noCombustion<psiCombustionModel>; combustionModel infinitelyFastChemistry<psiCombustionModel,gasThermoPhysics>; //combustionModel FSD<psiCombustionModel,gasThermoPhysics>;