diff --git a/src/TurbulenceModels/compressible/Make/files b/src/TurbulenceModels/compressible/Make/files index 2c2366c37dcfa6a8f31b1ba7c3c385eecc664898..da115013cc1a0d9df08b649619a76080c977d965 100644 --- a/src/TurbulenceModels/compressible/Make/files +++ b/src/TurbulenceModels/compressible/Make/files @@ -11,6 +11,7 @@ $(BCs)/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFv $(BCs)/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C $(BCs)/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C $(BCs)/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C +$(BCs)/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options index 4a6578d628571d492b84de2023e9bc1995fae803..f7ebff8f5ce8e80f64867e24e8ee3b3a373031f1 100644 --- a/src/TurbulenceModels/compressible/Make/options +++ b/src/TurbulenceModels/compressible/Make/options @@ -2,6 +2,7 @@ EXE_INC = \ -I../turbulenceModels/lnInclude \ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \ @@ -10,6 +11,7 @@ EXE_INC = \ LIB_LIBS = \ -lcompressibleTransportModels \ + -lradiationModels \ -lfluidThermophysicalModels \ -lsolidThermo \ -lsolidSpecie \ diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C new file mode 100644 index 0000000000000000000000000000000000000000..ea5e4d8232c5a937dac9aeb1690a36f75d3939b6 --- /dev/null +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C @@ -0,0 +1,219 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 "fixedIncidentRadiationFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "constants.H" +#include "radiationModel.H" +#include "absorptionEmissionModel.H" + +using namespace Foam::constant; + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::radiation::fixedIncidentRadiationFvPatchScalarField:: +fixedIncidentRadiationFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(p, iF), + temperatureCoupledBase(patch(), "undefined", "undefined", "undefined-K"), + QrIncident_(p.size(), 0.0) +{} + + +Foam::radiation::fixedIncidentRadiationFvPatchScalarField:: +fixedIncidentRadiationFvPatchScalarField +( + const fixedIncidentRadiationFvPatchScalarField& psf, + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + fixedGradientFvPatchScalarField(psf, p, iF, mapper), + temperatureCoupledBase(patch(), psf), + QrIncident_(psf.QrIncident_) +{} + + +Foam::radiation::fixedIncidentRadiationFvPatchScalarField:: +fixedIncidentRadiationFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const dictionary& dict +) +: + fixedGradientFvPatchScalarField(p, iF), + temperatureCoupledBase(patch(), dict), + QrIncident_("QrIncident", dict, p.size()) +{ + if (dict.found("value") && dict.found("gradient")) + { + fvPatchField<scalar>::operator=(Field<scalar>("value", dict, p.size())); + gradient() = Field<scalar>("gradient", dict, p.size()); + } + else + { + // Still reading so cannot yet evaluate. Make up a value. + fvPatchField<scalar>::operator=(patchInternalField()); + gradient() = 0.0; + } +} + + +Foam::radiation::fixedIncidentRadiationFvPatchScalarField:: +fixedIncidentRadiationFvPatchScalarField +( + const fixedIncidentRadiationFvPatchScalarField& psf, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(psf, iF), + temperatureCoupledBase(patch(), psf), + QrIncident_(psf.QrIncident_) +{} + + +Foam::radiation::fixedIncidentRadiationFvPatchScalarField:: +fixedIncidentRadiationFvPatchScalarField +( + const fixedIncidentRadiationFvPatchScalarField& ptf +) +: + fixedGradientFvPatchScalarField(ptf), + temperatureCoupledBase(patch(), ptf), + QrIncident_(ptf.QrIncident_) +{} + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + + +void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + fixedGradientFvPatchScalarField::autoMap(m); + QrIncident_.autoMap(m); +} + + +void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::rmap +( + const fvPatchScalarField& psf, + const labelList& addr +) +{ + fixedGradientFvPatchScalarField::rmap(psf, addr); + + const fixedIncidentRadiationFvPatchScalarField& thftpsf = + refCast<const fixedIncidentRadiationFvPatchScalarField> + ( + psf + ); + + QrIncident_.rmap(thftpsf.QrIncident_, addr); +} + + +void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + scalarField intFld(patchInternalField()); + + const radiation::radiationModel& radiation = + db().lookupObject<radiation::radiationModel>("radiationProperties"); + + scalarField emissivity + ( + radiation.absorptionEmission().e()().boundaryField() + [ + patch().index() + ] + ); + + gradient() = + emissivity* + ( + QrIncident_ + - physicoChemical::sigma.value()*pow4(*this) + )/kappa(*this); + + fixedGradientFvPatchScalarField::updateCoeffs(); + + if (debug) + { + scalar Qr = gSum(kappa(*this)*gradient()*patch().magSf()); + Info<< patch().boundaryMesh().mesh().name() << ':' + << patch().name() << ':' + << this->dimensionedInternalField().name() << " -> " + << " radiativeFlux:" << Qr + << " walltemperature " + << " min:" << gMin(*this) + << " max:" << gMax(*this) + << " avg:" << gAverage(*this) + << endl; + } +} + + +void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::write +( + Ostream& os +) const +{ + fixedGradientFvPatchScalarField::write(os); + temperatureCoupledBase::write(os); + QrIncident_.writeEntry("QrIncident", os); + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace radiation +{ + makePatchTypeField + ( + fvPatchScalarField, + fixedIncidentRadiationFvPatchScalarField + ); +} +} + +// ************************************************************************* // diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H new file mode 100644 index 0000000000000000000000000000000000000000..79b48191fe3d97b582b2e303b4dd278884a65d4a --- /dev/null +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H @@ -0,0 +1,205 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::radiation::fixedIncidentRadiationFvPatchScalarField + +Group + grpThermoBoundaryConditions + +Description + Boundary condition for thermal coupling for solid regions. + Used to emulate a fixed incident radiative heat flux on a wall. + + the gradient heat flux is calculated as : + + Qr = emissivity*(QrIncident - sigma_*T^4) + + where: + + emissivity is the emissivity of the solid. + QrIncident is the specified fixed incident radiation. + + Example usage: + + wall + { + type fixedIncidentRadiation; + QrIncident uniform 500; + kappa solidThermo; + KappaName none; + } + + kappa: + - 'lookup' : lookup volScalarField (or volSymmTensorField) with name + - 'solidThermo' : use solidThermo kappa() + + emissivity: + - 'lookup' : lookup volScalarField emissivity + - 'localSolidRadiation': Look up for local solidRadiation + + +SourceFiles + fixedIncidentRadiationFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef fixedIncidentRadiationFvPatchScalarField_H +#define fixedIncidentRadiationFvPatchScalarField_H + +#include "fixedGradientFvPatchFields.H" +#include "temperatureCoupledBase.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace radiation +{ +/*---------------------------------------------------------------------------*\ + Class fixedIncidentRadiationFvPatchScalarField declaration +\*---------------------------------------------------------------------------*/ + +class fixedIncidentRadiationFvPatchScalarField +: + public fixedGradientFvPatchScalarField, + public temperatureCoupledBase +{ + // Private data + + //- Incident radiative heat flux + scalarField QrIncident_; + + +public: + + //- Runtime type information + TypeName("fixedIncidentRadiation"); + + + // Constructors + + //- Construct from patch and internal field + fixedIncidentRadiationFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>& + ); + + //- Construct from patch, internal field and dictionary + fixedIncidentRadiationFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const dictionary& + ); + + //- Construct by mapping given + // turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a + // new patch + fixedIncidentRadiationFvPatchScalarField + ( + const + fixedIncidentRadiationFvPatchScalarField&, + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + fixedIncidentRadiationFvPatchScalarField + ( + const fixedIncidentRadiationFvPatchScalarField& + ); + + + //- Construct and return a clone + virtual tmp<fvPatchScalarField> clone() const + { + return tmp<fvPatchScalarField> + ( + new fixedIncidentRadiationFvPatchScalarField + ( + *this + ) + ); + } + + //- Construct as copy setting internal field reference + fixedIncidentRadiationFvPatchScalarField + ( + const fixedIncidentRadiationFvPatchScalarField&, + 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 fixedIncidentRadiationFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + virtual void autoMap(const fvPatchFieldMapper&); + + //- Reverse map the given fvPatchField onto this fvPatchField + virtual void rmap + ( + const fvPatchScalarField&, + const labelList& + ); + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam +} // End namespace radiation + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C index 41845e6488c89e7204bbbf1e40549a46772144e9..7c40998b004dab979f0d56d86926e8e5b23e1e94 100644 --- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C +++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C @@ -60,8 +60,10 @@ void reactingOneDim::readReactingOneDimControls() coeffs().lookup("minimumDelta") >> minimumDelta_; - coeffs().lookup("gasHSource") >> gasHSource_; + gasHSource_ = coeffs().lookupOrDefault<bool>("gasHSource", false); + coeffs().lookup("QrHSource") >> QrHSource_; + useChemistrySolvers_ = coeffs().lookupOrDefault<bool>("useChemistrySolvers", true); @@ -209,7 +211,8 @@ void reactingOneDim::updateFields() updateQr(); } - updatePhiGas(); + //SAF: Commented out as the sensible gas enrgy is included in energy eq. + //updatePhiGas(); } @@ -250,11 +253,10 @@ void reactingOneDim::solveContinuity() rhoEqn.solve(); } - - if (moveMesh_) + else { const scalarField deltaV = - -solidChemistry_->RRg()*regionMesh().V()/rho_; + -solidChemistry_->RRg()*regionMesh().V()*time_.deltaT()/rho_; updateMesh(deltaV); } @@ -319,13 +321,16 @@ void reactingOneDim::solveEnergy() - fvc::laplacian(kappa(), T()) == chemistrySh_ + + solidChemistry_->RRsHs() ); +/* NOTE: gas Hs is included in hEqn if (gasHSource_) { const surfaceScalarField phiGas(fvc::interpolate(phiHsGas_)); hEqn += fvc::div(phiGas); } +*/ if (QrHSource_) { @@ -350,12 +355,14 @@ void reactingOneDim::solveEnergy() void reactingOneDim::calculateMassTransfer() { + /* totalGasMassFlux_ = 0; forAll(intCoupledPatchIDs_, i) { const label patchI = intCoupledPatchIDs_[i]; totalGasMassFlux_ += gSum(phiGas_.boundaryField()[patchI]); } + */ if (infoOutput_) { @@ -453,8 +460,6 @@ reactingOneDim::reactingOneDim IOobject::AUTO_WRITE ), regionMesh() - //dimensionedScalar("zero", dimEnergy/dimArea/dimTime, 0.0), - //zeroGradientFvPatchVectorField::typeName ), lostSolidMass_(dimensionedScalar("zero", dimMass, 0.0)), @@ -720,8 +725,8 @@ void reactingOneDim::info() << addedGasMass_.value() << nl << indent << "Total solid mass lost [kg] = " << lostSolidMass_.value() << nl - << indent << "Total pyrolysis gases [kg/s] = " - << totalGasMassFlux_ << nl + //<< indent << "Total pyrolysis gases [kg/s] = " + //<< totalGasMassFlux_ << nl << indent << "Total heat release rate [J/s] = " << totalHeatRR_.value() << nl; } diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H index 7ee840c4412586045a07746bd99eca9f21daf8f0..d6b778315e337e71a3bb7ccb84a259e33b96821f 100644 --- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H +++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H @@ -152,6 +152,9 @@ public: const label i ) const = 0; + //- Return net solid sensible enthalpy [J/Kg] + virtual tmp<DimensionedField<scalar, volMesh> > RRsHs() const = 0; + //- Return specie Table for gases virtual const speciesTable& gasTable() const = 0; diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H index 17bde2bfbb19546b7897094c8d7bb9aa2dfccad3..b9d9cbbc0d3fa91caf47e3928a31072938998624 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -187,6 +187,9 @@ public: //- Return total solid source term inline tmp<DimensionedField<scalar, volMesh> > RRs() const; + //- Return net solid sensible enthalpy + inline tmp<DimensionedField<scalar, volMesh> > RRsHs() const; + //- Solve the reaction system for the given time step // and return the characteristic time virtual scalar solve(const scalar deltaT) = 0; diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H index f2d0dad79ab58e027031889248da0c99f4704f09..b956c8cd04b31ed6bb21ba865b4da2abecb8a84e 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -95,4 +95,43 @@ Foam::solidChemistryModel<CompType, SolidThermo>::RRs() const } +template<class CompType, class SolidThermo> +inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> > +Foam::solidChemistryModel<CompType, SolidThermo>::RRsHs() const +{ + tmp<DimensionedField<scalar, volMesh> > tRRsHs + ( + new DimensionedField<scalar, volMesh> + ( + IOobject + ( + "RRsHs", + this->time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimEnergy/dimVolume/dimTime, 0.0) + ) + ); + + if (this->chemistry_) + { + DimensionedField<scalar, volMesh>& RRs = tRRsHs(); + + const volScalarField& T = this->solidThermo().T(); + const volScalarField& p = this->solidThermo().p(); + + for (label i=0; i < nSolids_; i++) + { + forAll (RRs, cellI) + { + RRs[cellI] += + RRs_[i][cellI]*solidThermo_[i].Hs(p[cellI], T[cellI]); + } + } + } + return tRRsHs; +} // ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp b/tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp new file mode 100644 index 0000000000000000000000000000000000000000..afd9da2f00bb1d50de535330661daced69d525c1 Binary files /dev/null and b/tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp differ diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4 new file mode 100644 index 0000000000000000000000000000000000000000..d53b24658aca85a6f99d45bc92d5622ab277e469 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object CH4; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type zeroGradient; + } + + side + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type totalFlowRateAdvectiveDiffusive; + massFluxFraction 1; + phi phi; + rho rho; + value uniform 1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G new file mode 100644 index 0000000000000000000000000000000000000000..afe48d7aa32aff0766f9bc817f1c4b4ddb168b10 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ 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 +{ + ".*" + { + type MarshakRadiation; + T T; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2 new file mode 100644 index 0000000000000000000000000000000000000000..f6e0a5bebca1ffaecee81dd85a570d7751fcec1f --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2 @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ 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.76699; + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type zeroGradient; + } + + side + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2 new file mode 100644 index 0000000000000000000000000000000000000000..f67a7d6fe4ab7ea3d279da77e40b319b3cb59424 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2 @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ 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.23301; + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type zeroGradient; + } + + side + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T new file mode 100644 index 0000000000000000000000000000000000000000..fd1a0c7221e4751ca38ca3727d36c7844433f4f5 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object T; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 298.15; + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type zeroGradient; + } + + side + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U new file mode 100644 index 0000000000000000000000000000000000000000..0191cc698ec4b33b04cb8c9650ff05824b20d2e2 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type fixedValue; + value $internalField; + } + + side + { + type pressureInletOutletVelocity; + phi phi; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault new file mode 100644 index 0000000000000000000000000000000000000000..3b85d62f39bcf3d3595762b0472e36ac02f65d16 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Ydefault; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.; + +boundaryField +{ + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + ground + { + type zeroGradient; + } + + side + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat new file mode 100644 index 0000000000000000000000000000000000000000..b0b7cdaace941cb02a87687f5a7573ad462901e6 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ 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 +{ + outlet + { + type zeroGradient; + } + ground + { + type zeroGradient; + } + frontAndBack + { + type empty; + } + side + { + type zeroGradient; + } + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k new file mode 100644 index 0000000000000000000000000000000000000000..eef8433f2e2ca812dbb76ede0ff9c89a9da38c4c --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1e-5; + +boundaryField +{ + ".*" + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut new file mode 100644 index 0000000000000000000000000000000000000000..df7712b2f2f747c13a11a51186bd1ab90d911b5e --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ 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 +{ + ".*" + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p new file mode 100644 index 0000000000000000000000000000000000000000..ad24b0f0d421aecf4a09144ddd4e23aa01f435e9 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 101325; + +boundaryField +{ + outlet + { + type calculated; + value $internalField; + } + + ground + { + type calculated; + value $internalField; + } + + side + { + type calculated; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type calculated; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh new file mode 100644 index 0000000000000000000000000000000000000000..6994c4afbddbb12d572051ce7aabb4cf344a1138 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh @@ -0,0 +1,61 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p_rgh; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 101325; + +boundaryField +{ + outlet + { + type fixedFluxPressure; + } + + ground + { + type fixedFluxPressure; + } + + side + { + type totalPressure; + U U; + phi phi; + rho rho; + psi none; + gamma 1.4; + p0 $internalField; + value $internalField; + } + + frontAndBack + { + type empty; + } + + region0_to_panelRegion_panel + { + type fixedFluxPressure; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA new file mode 100644 index 0000000000000000000000000000000000000000..8db8bc4c5bf56ca540b30644f0780902283bbbc6 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object PMMA; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + panel_top + { + type zeroGradient; + } + region0_to_panelRegion_panel + { + type zeroGradient; + } + panel_side + { + type empty; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr new file mode 100644 index 0000000000000000000000000000000000000000..654cb3ae748ca6c766c59281d32618d2c859c3c7 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Qr; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 0 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + panel_top + { + type zeroGradient; + } + + panel_side + { + type empty; + } + + region0_to_panelRegion_panel + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T new file mode 100644 index 0000000000000000000000000000000000000000..d06404e17fd1b56355b0b7354d8ee0784c8675f9 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 298.15; + +boundaryField +{ + panel_top + { + type fixedValue; + value uniform 298.15; + } + panel_side + { + type empty; + } + + region0_to_panelRegion_panel + { + + + type fixedIncidentRadiation; + kappa solidThermo; + kappaName none; + QrIncident uniform 60000.0; //W + value uniform 298.15; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default new file mode 100644 index 0000000000000000000000000000000000000000..82adc15685632e76915f4edf354ad5d8c1d8cf1a --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0/pyrolysisRegion"; + object Ydefault; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + panel_top + { + type zeroGradient; + } + region0_to_panelRegion_panel + { + type zeroGradient; + } + panel_side + { + type empty; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p new file mode 100644 index 0000000000000000000000000000000000000000..35f1796d4976bc4e21f222277fe037f4ac013d2c --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + ".*" + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..be64e41b64f5511c0d92b81cf342e70ce9b6b5a7 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +rm -rf constant/panelRegion/polyMesh + +# ----------------------------------------------------------------------------- diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..241ab1b9765f298392714e06ce7430b53ffe8fe8 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun @@ -0,0 +1,18 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh + +runApplication topoSet + +runApplication extrudeToRegionMesh -overwrite + +# Run +runApplication `getApplication` + +paraFoam -touchAll + +# ----------------------------------------------------------------------------- diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls new file mode 100644 index 0000000000000000000000000000000000000000..68427639255338782114e7d82384b874f61b0c21 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object additionalControls; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvePrimaryRegion false; + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties new file mode 100644 index 0000000000000000000000000000000000000000..20a028ae6676de7a583a1dbbb6b08b886a68e9c1 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object boundaryRadiationProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + ".*" + { + type boundaryRadiation; + mode lookup; + emissivity uniform 1.0; + absorptivity uniform 0.0; + value uniform 0.0; + } +} + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties new file mode 100644 index 0000000000000000000000000000000000000000..d411b52d1d365fc3974b02c3a66124a1d7b10b20 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object combustionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +combustionModel infinitelyFastChemistry<psiThermoCombustion,gasHThermoPhysics>; + +active false; + +infinitelyFastChemistryCoeffs +{ + semiImplicit no; + C 10; +} diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g new file mode 100644 index 0000000000000000000000000000000000000000..a2685678eee26226e77584f28270f2814b1b98f0 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 0 -9.80665); + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties new file mode 100644 index 0000000000000000000000000000000000000000..f5b002f478da7400893bebf6ef3002a1688438a1 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object chemistryProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistryType +{ + chemistrySolver ode; + chemistryThermo pyrolysis; +} + +chemistry on; + +initialChemicalTimeStep 1e-07; + +odeCoeffs +{ + solver SIBS; + eps 0.05; +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties new file mode 100644 index 0000000000000000000000000000000000000000..f73d5441db6525e80bcefde035b6074843b54d77 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object radiationProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +radiationModel opaqueSolid; + +absorptionEmissionModel greyMeanSolidAbsorptionEmission; + +greyMeanSolidAbsorptionEmissionCoeffs +{ + PMMA + { + absorptivity 0.17; + emissivity 0.17; + } +} + +scatterModel none; +transmissivityModel none; + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions new file mode 100644 index 0000000000000000000000000000000000000000..cff71055269af83d9cbe8dd409c3c6c231e3f465 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions @@ -0,0 +1,21 @@ +species +( + PMMA +); + +gaseousSpecies +( + gas +); + +reactions +{ + charReaction + { + type irreversibleArrheniusSolidReaction; + reaction "PMMA = gas"; + A 1.2e6; + Ta 11300.57; + Tcrit 400; + } +} diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid new file mode 100644 index 0000000000000000000000000000000000000000..5b483941d1e73df337cad99c7c63dabdfc6f25b0 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object thermo.solid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +PMMA +{ + specie + { + nMoles 1; + molWeight 100; + } + transport + { + kappa 0.135; + } + thermodynamics + { + Cp 1462; + Hf -8.22e5; + } + equationOfState + { + rho 1114.7; + } +}; + +// ************************************************************************* // + diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties new file mode 100644 index 0000000000000000000000000000000000000000..d5c9a3191bfd99eebf9320a0779e7c4a03f8e97c --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heSolidThermo; + mixture reactingMixture; + transport constIso; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + + +chemistryReader foamChemistryReader; + +foamChemistryFile "$FOAM_CASE/constant/panelRegion/reactions"; + +foamChemistryThermoFile "$FOAM_CASE/constant/panelRegion/thermo.solid"; + +gasThermoType +{ + transport sutherland; + thermo janaf; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + + +gas +{ + specie + { + nMoles 1; + molWeight 18.0153; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 2.67215 0.00305629 -8.73026e-07 1.20100e-10 -6.39162e-15 -29899.2 6.86282 ); + lowCpCoeffs ( 3.38684 0.00347498 -6.35470e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..a98922be864ff3ac7929a9aef8db3a9b9d587792 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) + (1 0 0) + (1 1 0) + (0 1 0) + (0 0 1) + (1 0 1) + (1 1 1) + (0 1 1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (1 10 10) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall coupledPatch + ( + (0 4 7 3) + ) + + patch side + ( + (1 2 6 5) + ) + + empty frontAndBack + ( + (0 1 5 4) + (7 6 2 3) + ) + + patch outlet + ( + (4 5 6 7) + ) + + wall ground + ( + (0 3 2 1) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones new file mode 100644 index 0000000000000000000000000000000000000000..4074c3e862c3b603674372d333eeafd50589947b --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object pyrolysisZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + pyrolysis + { + active true; + + pyrolysisModel reactingOneDim; + + regionName panelRegion; + + reactingOneDimCoeffs + { + QrHSource no; //Energy source term due in depht radiation + + filmCoupled false; + + radFluxName Qr; + + minimumDelta 1e-6; + + moveMesh true; + + useChemistrySolvers false; + } + + infoOutput true; + } + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties new file mode 100644 index 0000000000000000000000000000000000000000..a952e887a46d4fb3229374a9e080237e7c7e9dff --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties @@ -0,0 +1,35 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object radiationProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +radiation off; + +radiationModel P1; + +noRadiation +{ +} + +P1Coeffs +{ +} + +scatterModel none; + +transmissivityModel none; + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions new file mode 100644 index 0000000000000000000000000000000000000000..cefd1f7b2a4c03170fe41ec9c3f2292a9dac91d0 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class vectorField; + location "constant"; + object reactingCloud1Positions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +( + (0.0 0.0 0.0) +) +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties new file mode 100644 index 0000000000000000000000000000000000000000..da4afd4132f5d2ccafa207bcaa2024563bf6e017 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties @@ -0,0 +1,148 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object reactingCloud1Properties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solution +{ + active false; + coupled yes; + transient yes; + cellValueSourceCorrection yes; + + sourceTerms + { + schemes + { + rho explicit 1; + U explicit 1; + Yi explicit 1; + hs explicit 1; + } + } + + interpolationSchemes + { + rho cell; + U cellPoint; + mu cell; + T cell; + Cp cell; + p cell; + } + + integrationSchemes + { + U Euler; + T analytical; + } +} + +constantProperties +{ + parcelTypeId 1; + + rhoMin 1e-15; + TMin 200; + pMin 1000; + minParticleMass 1e-15; + + rho0 1000; + T0 300; + Cp0 4187; + + youngsModulus 1e9; + poissonsRatio 0.35; + + epsilon0 1; + f0 0.5; + Pr 0.7; + Tvap 273; + Tbp 373; + + constantVolume false; +} + +subModels +{ + particleForces + { + sphereDrag; + gravity; + } + injectionModel reactingLookupTableInjection; + + dragModel sphereDrag; + + dispersionModel none; + + patchInteractionModel standardWallInteraction; + + heatTransferModel none; + + compositionModel singlePhaseMixture; + + phaseChangeModel none; + + stochasticCollisionModel none; + + postProcessingModel none; + + surfaceFilmModel thermoSurfaceFilm; + + radiation off; + + reactingLookupTableInjectionCoeffs + { + massTotal 1e-1; + parcelBasisType mass; + SOI 0.001; + inputFile "parcelInjectionProperties"; + duration 20.0; + parcelsPerSecond 200; + } + + standardWallInteractionCoeffs + { + type rebound; + } + + singlePhaseMixtureCoeffs + { + phases + ( + liquid + { + H2O 1; + } + ); + } + + thermoSurfaceFilmCoeffs + { + interactionType splashBai; + deltaWet 0.0005; + Adry 2630; + Awet 1320; + Cf 0.6; + } +} + + +cloudFunctions +{} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions new file mode 100644 index 0000000000000000000000000000000000000000..a8f49e45e4408d8b1a8b787123f6881c475aeb44 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions @@ -0,0 +1,17 @@ +species +( + O2 + H2O + CH4 + CO2 + N2 +); + +reactions +{ + methaneReaction + { + type irreversibleinfiniteReaction; + reaction "CH4 + 2O2 + 7.52N2 = CO2 + 2H2O + 7.52N2"; + } +} diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties new file mode 100644 index 0000000000000000000000000000000000000000..5d869e9a24ba1cbae88bc26e34362d77584dd5cc --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object SurfaceFilmProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +active false; + +surfaceFilmModel none; + +regionName none; + diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas new file mode 100644 index 0000000000000000000000000000000000000000..6fa14f2df8f96569663069e88bbac34687fefa49 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas @@ -0,0 +1,193 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermo.compressibleGas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +O2 +{ + specie + { + nMoles 1; + molWeight 31.9988; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 3.69758 0.00061352 -1.25884e-07 1.77528e-11 -1.13644e-15 -1233.93 3.18917 ); + lowCpCoeffs ( 3.21294 0.00112749 -5.75615e-07 1.31388e-09 -8.76855e-13 -1005.25 6.03474 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +H2O +{ + specie + { + nMoles 1; + molWeight 18.0153; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 2.67215 0.00305629 -8.73026e-07 1.201e-10 -6.39162e-15 -29899.2 6.86282 ); + lowCpCoeffs ( 3.38684 0.00347498 -6.3547e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +CH4 +{ + specie + { + nMoles 1; + molWeight 16.0428; + } + thermodynamics + { + Tlow 200; + Thigh 6000; + Tcommon 1000; + highCpCoeffs ( 1.63543 0.0100844 -3.36924e-06 5.34973e-10 -3.15528e-14 -10005.6 9.9937 ); + lowCpCoeffs ( 5.14988 -0.013671 4.91801e-05 -4.84744e-08 1.66694e-11 -10246.6 -4.64132 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +CO2 +{ + specie + { + nMoles 1; + molWeight 44.01; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 4.45362 0.00314017 -1.27841e-06 2.394e-10 -1.66903e-14 -48967 -0.955396 ); + lowCpCoeffs ( 2.27572 0.00992207 -1.04091e-05 6.86669e-09 -2.11728e-12 -48373.1 10.1885 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +N2 +{ + specie + { + nMoles 1; + molWeight 28.0134; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 ); + lowCpCoeffs ( 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44486e-12 -1020.9 3.95037 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +C3H8 +{ + specie + { + nMoles 1; + molWeight 44.0962; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 7.5341368 0.018872239 -6.2718491e-06 9.1475649e-10 -4.7838069e-14 -16467.516 -17.892349 ); + lowCpCoeffs ( 0.93355381 0.026424579 6.1059727e-06 -2.1977499e-08 9.5149253e-12 -13958.52 19.201691 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +CORRUGATED +{ + specie + { + nMoles 1; + molWeight 115.82; + } + thermodynamics + { + Tlow 200; + Thigh 5000; + Tcommon 1000; + highCpCoeffs ( 7.5341368 0.018872239 -6.2718491e-06 9.1475649e-10 -4.7838069e-14 -16467.516 -17.892349 ); + lowCpCoeffs ( 0.93355381 0.026424579 6.1059727e-06 -2.1977499e-08 9.5149253e-12 -13958.52 19.201691 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + +CH2O +{ + specie + { + nMoles 1; + molWeight 30.02628; + } + thermodynamics + { + Tlow 200; + Thigh 6000; + Tcommon 1000; + highCpCoeffs ( 3.1694807 0.0061932742 -2.2505981e-06 3.6598245e-10 -2.201541e-14 -14478.425 6.0423533 ); + lowCpCoeffs ( 4.7937036 -0.0099081518 3.7321459e-05 -3.7927902e-08 1.3177015e-11 -14308.955 0.60288702 ); + } + transport + { + As 1.67212e-06; + Ts 170.672; + } +} + diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties new file mode 100644 index 0000000000000000000000000000000000000000..f67fb01b786c2d2847dca08b2750019e4a73ffbd --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type hePsiThermo; + mixture singleStepReactingMixture; + transport sutherland; + thermo janaf; + energy sensibleEnthalpy; + equationOfState perfectGas; + specie specie; +} + + +inertSpecie N2; +fuel CH4; + +chemistryReader foamChemistryReader; + +foamChemistryFile "$FOAM_CASE/constant/reactions"; + +foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties new file mode 100644 index 0000000000000000000000000000000000000000..88dfee07931e82e7f508f1679c9630ab8e9c0252 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties @@ -0,0 +1,99 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel kEqn; + + delta cubeRootVol; + + turbulence on; + + printCoeffs on; + + kEqnCoeffs + { + Prt 1; + } + + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + PrandtlCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + smoothCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + maxDeltaRatio 1.1; + } + + Cdelta 0.158; + } + + vanDriestCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + smoothCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + maxDeltaRatio 1.1; + } + + Aplus 26; + Cdelta 0.158; + } + + smoothCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 1; + } + + maxDeltaRatio 1.1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..dbe28ded588c72ef946835da3d5ddf940f28b0c9 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application fireFoam; + +startFrom startTime; + +startTime 0.; + +stopAt endTime; + +endTime 3000; + +deltaT 1; + +writeControl adjustableRunTime; + +writeInterval 200; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +graphFormat raw; + +runTimeModifiable yes; + +adjustTimeStep no; + +maxCo 1.0; + +maxDi 0.5; + +maxDeltaT 1; + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..6b65cc6071c3a3b7537a5b99b8535880fbf07165 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object extrudeToRegionMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +region panelRegion; + +faceZones (panel); + +oneD true; + +sampleMode nearestPatchFace; + +extrudeModel linearNormal; + +oneDPolyPatchType empty; + +nLayers 8; + +expansionRatio 1; + +adaptMesh true; + +linearNormalCoeffs +{ + thickness 0.0234; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..7167da8dd4d05558dcea608db50a85af0843018a --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss linear; + div(phi,k) Gauss limitedLinear 1; + div(phi,Yi_hs) Gauss multivariateSelection + { + O2 limitedLinear01 1; + N2 limitedLinear01 1; + CH4 limitedLinear01 1; + H2O limitedLinear01 1; + CO2 limitedLinear01 1; + h limitedLinear 1; + }; + + div((muEff*dev2(T(grad(U))))) Gauss linear; + div(phiU,p) Gauss linear; + div(Ji,Ii_h) Gauss upwind grad(Ii_h); +} + +laplacianSchemes +{ + + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p_rgh; +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..65488fd24ff727ab187384a5619b4a45f4f932f6 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution @@ -0,0 +1,132 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + rho + { + solver PCG; + preconditioner DIC; + tolerance 0; + relTol 0; + }; + + p_rgh + { + solver GAMG; + tolerance 1e-5; + relTol 0.01; + smoother GaussSeidel; + cacheAgglomeration true; + //nCellsInCoarsestLevel 10; + nCellsInCoarsestLevel 1; + agglomerator faceAreaPair; + mergeLevels 1; + }; + + p_rghFinal + { + solver GAMG; + tolerance 1e-6; + relTol 0; + smoother GaussSeidel; + cacheAgglomeration true; + //nCellsInCoarsestLevel 10; + nCellsInCoarsestLevel 1; + agglomerator faceAreaPair; + mergeLevels 1; + }; + + Yi + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + }; + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0.0; + }; + + UFinal + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-7; + relTol 0; + }; + + k + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + }; + + //hs + h + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + }; + + Ii + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + } + + G + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + +} + +PIMPLE +{ + momentumPredictor yes; + nOuterCorrectors 1; + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + equations + { + "(U|k).*" 1; + "(C3H8|O2|H2O|CO2|h).*" 1; + } +} + + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet new file mode 100644 index 0000000000000000000000000000000000000000..61670b92bccbb33c9401ed7e0a6baf709190af02 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet @@ -0,0 +1,3 @@ +faceSet coupledPatch new patchToFace coupledPatch +faceZoneSet panel new setToFaceZone coupledPatch + diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..1847ceeebc5e588654fcfbc13b822123bbfebfb0 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system/pyrolysisRegion"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; + laplacian(kappa,T) Gauss harmonic uncorrected; + laplacian(thermo:alpha,h) Gauss harmonic uncorrected; + laplacian(kappa,T) Gauss harmonic uncorrected; +} + +interpolationSchemes +{ + default linear; + interpolate(K) harmonic; +} + +snGradSchemes +{ + default uncorrected; +} + +fluxRequired +{ + default no; +} + +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..e74dfcec0783f3c5fb14f6e276d088678fbd781e --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + h + { + solver PCG; + preconditioner DIC; + //tolerance 1e-6; + tolerance 1e-12; + relTol 0; + } + + "Yi" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + "rho|rhot" + { + solver PCG; + preconditioner DIC; + tolerance 0; + relTol 0; + }; + + thermo:rho + { + solver PCG; + preconditioner DIC; + tolerance 0; + relTol 0; + }; + +} + +SIMPLE +{ + nNonOrthCorr 0; +} + +relaxationFactors +{ + equations + { + h 1; + } +} +// ************************************************************************* // diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict new file mode 100644 index 0000000000000000000000000000000000000000..02fd6c63c4d379efc2e77837e06f7970f31b92e6 --- /dev/null +++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + { + name coupledPatch; + type faceSet; + action new; + source patchToFace; + sourceInfo + { + name coupledPatch; + } + } + + { + name panel; + type faceZoneSet; + action new; + source setToFaceZone; + sourceInfo + { + faceSet coupledPatch; + } + } +); + +// ************************************************************************* //