diff --git a/Allwmake b/Allwmake index 923b8ec4..0e091365 100755 --- a/Allwmake +++ b/Allwmake @@ -6,10 +6,12 @@ cd ${0%/*} || exit 1 # Run from this directory wmake src/thermophysicalModels/thermophysicalProperties wmake src/thermophysicalModels/basic +wmake src/functionObjects/field wmake src/CanteraMixture wmake src/thermophysicalModels/SLGThermo wmake src/dfChemistryModel wmake src/TurbulenceModels/compressible +wmake src/TurbulenceModels/turbulenceModels wmake src/regionModels/surfaceFilmModels src/lagrangian/Allwmake $targetType $* diff --git a/examples/dfHighSpeedFoam/det_1D_H2_01mm/system/controlDict b/examples/dfHighSpeedFoam/det_1D_H2_01mm/system/controlDict index 57ed5645..d4df3cef 100755 --- a/examples/dfHighSpeedFoam/det_1D_H2_01mm/system/controlDict +++ b/examples/dfHighSpeedFoam/det_1D_H2_01mm/system/controlDict @@ -14,7 +14,6 @@ FoamFile object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -libs ("libfieldFunctionObjects.so"); application dfHighSpeedFoam; @@ -57,7 +56,7 @@ functions minMax { type fieldMinMax; - libs ("libfieldFunctionObjects.so"); + libs ("libdfFieldFunctionObjects.so"); writeControl timeStep; //writeTime; fields (p); } diff --git a/install.sh b/install.sh index 5b216cfe..fb283220 100755 --- a/install.sh +++ b/install.sh @@ -27,12 +27,14 @@ else mkdir -p src_orig/thermophysicalModels mkdir -p src_orig/lagrangian mkdir -p src_orig/regionModels + mkdir -p src_orig/functionObjects cp -r $FOAM_SRC/TurbulenceModels/compressible src_orig/TurbulenceModels cp -r $FOAM_SRC/thermophysicalModels/basic src_orig/thermophysicalModels cp -r $FOAM_SRC/thermophysicalModels/thermophysicalProperties src_orig/thermophysicalModels cp -r $FOAM_SRC/lagrangian/intermediate src_orig/lagrangian cp -r $FOAM_SRC/lagrangian/turbulence src_orig/lagrangian cp -r $FOAM_SRC/regionModels/surfaceFilmModels src_orig/regionModels + cp -r $FOAM_SRC/functionObjects/field src_orig/functionObjects fi diff --git a/src/TurbulenceModels/turbulenceModels/Make/files b/src/TurbulenceModels/turbulenceModels/Make/files new file mode 100644 index 00000000..d07aef6b --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Make/files @@ -0,0 +1,3 @@ +makeTurbulentFluidThermoModels.C + +LIB = $(FOAM_USER_LIBBIN)/libdfTurbulenceModels diff --git a/src/TurbulenceModels/turbulenceModels/Make/options b/src/TurbulenceModels/turbulenceModels/Make/options new file mode 100755 index 00000000..9dabad9e --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Make/options @@ -0,0 +1,16 @@ +EXE_INC = \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + +LIB_LIBS = \ + -lcompressibleTransportModels \ + -lturbulenceModels \ + -lfiniteVolume \ + -lmeshTools \ + -L$(FOAM_USER_LIBBIN) \ + -ldfCompressibleTurbulenceModels \ + -ldfFluidThermophysicalModels diff --git a/src/TurbulenceModels/turbulenceModels/README.md b/src/TurbulenceModels/turbulenceModels/README.md new file mode 100644 index 00000000..e115a136 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/README.md @@ -0,0 +1,19 @@ +# TurbulenceModels + +## Using + +- Add the following line into your 'controlDict': + + `libs ( "libdfTurbulenceModels.so" )` + +- In 'constant/turbulenceProperties', e.g. for Sigma model, set: + + ```c++ + simulationType LES; + + LES + { + LESModel Sigma; + filter simple; + } + ``` diff --git a/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.C b/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.C new file mode 100644 index 00000000..4f1ee33b --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.C @@ -0,0 +1,186 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2019 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 . + +\*---------------------------------------------------------------------------*/ + +#include "Sigma.H" +#include "fvOptions.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +void Sigma::correctNut() +{ + tmp tgradU(fvc::grad(this->U_)); + tensorField& gradU = tgradU.ref().primitiveFieldRef(); + volScalarField Dsg(mag(fvc::grad(this->U_))); + scalarField& DsgCells = Dsg.primitiveFieldRef(); + const cellList& cells = this->mesh().cells(); + Switch zeroSigma = false; + + forAll(cells,celli) + { + RectangularMatrix gradUMatrix(3,3); + for (label ii = 0; ii<3; ii++) + { + for (label jj = 0; jj<3; jj++) + { + gradUMatrix[ii][jj] = gradU[celli].component(ii*3+jj); + } + } + + DiagonalMatrix sigmas(SVD(gradUMatrix).S()); + scalar sigma_1(max(sigmas)); + scalar sigma_2(sigma_1); + scalar sigma_3(min(sigmas)); + + for (label ii = 0; ii<3; ii++) + { + if(sigmas[ii]>=sigma_3 && sigmas[ii]<=sigma_1) sigma_2 = sigmas[ii]; + + if(sigmas[ii]<0) + { + WarningInFunction + << "Negative sigular values!!! sigmas = \n" + << sigmas <nut_ = sqr(Csg_*this->delta())*Dsg; + this->nut_.correctBoundaryConditions(); + fv::options::New(this->mesh_).correct(this->nut_); + + BasicTurbulenceModel::correctNut(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Sigma::Sigma +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + LESeddyViscosity + ( + type, + alpha, + rho, + U, + alphaRhoPhi, + phi, + transport, + propertiesName + ), + Csg_ + ( + dimensioned::lookupOrAddToDict + ( + "Csg", + this->coeffDict_, + 1.5 + ) + ), + k_ + ( + IOobject + ( + IOobject::groupName("k", this->U_.group()), + this->runTime_.timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh_, + dimensionedScalar ("k", dimensionSet(0,2,-2,0,0,0,0),SMALL) + ), + simpleFilter_(U.mesh()), + filterPtr_(LESfilter::New(U.mesh(), this->coeffDict())), + filter_(filterPtr_()) +{ + if (type == typeName) + { + this->printCoeffs(type); + } +} + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool Sigma::read() +{ + if (LESeddyViscosity::read()) + { + Csg_.read(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +void Sigma::correct() +{ + if (!this->turbulence_) + { + return; + } + + LESeddyViscosity::correct(); + correctNut(); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.H b/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.H new file mode 100644 index 00000000..ac9325a9 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/Sigma/Sigma.H @@ -0,0 +1,170 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2019 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 . + +Class + Foam::LESModels::Sigma + +Description + Sigma is an eddy-viscosity SGS model, not only adapting to wall conditions + but also to laminar flows where nut should also vanish. + + Reference: + \verbatim + F. Nicoud, H.B. Toda, O. Cabrit, S. Bose and J. Lee (2011). + Using singular values to build a subgrid-scale model + for large eddy simulations + Physics of Fluids, 23 (8), p. 085106. + \endverbatim + + The default model coefficients are + \verbatim + SigmaCoeffs + { + filter simple; + Csg 1.5; + } + \endverbatim + +SourceFiles + Sigma.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Sigma_H +#define Sigma_H +#include "SVD.H" + +#include "LESeddyViscosity.H" +#include "simpleFilter.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class Sigma Declaration +\*---------------------------------------------------------------------------*/ + +template +class Sigma +: + public LESeddyViscosity +{ + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + Sigma(const Sigma&); + void operator=(const Sigma&); + + +protected: + + // Protected data + + dimensionedScalar Csg_; + volScalarField k_; + + simpleFilter simpleFilter_; + autoPtr filterPtr_; + LESfilter& filter_; + + // Protected Member Functions + + virtual void correctNut(); + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + //- Runtime type information + TypeName("Sigma"); + + + // Constructors + + //- Construct from components + Sigma + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~Sigma() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); + + //- Return SGS kinetic energy + virtual tmp k() const + { + return k_; + } + + //- Return the effective diffusivity for k + tmp DkEff() const + { + return tmp + ( + new volScalarField("DkEff", this->nut_ + this->nu()) + ); + } + + //- Correct Eddy-Viscosity and related properties + virtual void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "Sigma.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.C b/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.C new file mode 100644 index 00000000..4ce9541a --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.C @@ -0,0 +1,207 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2019 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 . + +\*---------------------------------------------------------------------------*/ + +#include "dynamicSmagorinsky.H" +#include "fvOptions.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +template +void dynamicSmagorinsky::correctNut +( + const tmp& gradU +) +{ + this->nut_ = max(Cs_*sqr(this->delta())*mag(dev(symm(gradU))),-1.0*this->nu()); + this->nut_.correctBoundaryConditions(); + fv::options::New(this->mesh_).correct(this->nut_); + + BasicTurbulenceModel::correctNut(); +} + + +template +void dynamicSmagorinsky::correctNut() +{ + correctNut(fvc::grad(this->U_)); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +dynamicSmagorinsky::dynamicSmagorinsky +( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName, + const word& type +) +: + LESeddyViscosity + ( + type, + alpha, + rho, + U, + alphaRhoPhi, + phi, + transport, + propertiesName + ), + Cs_ + ( + IOobject + ( + IOobject::groupName("Cs", this->U_.group()), + this->runTime_.timeName(), + this->mesh_, + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE + ), + this->mesh_, + dimensionedScalar ("Cs", dimless,SMALL) + ), + k_ + ( + IOobject + ( + IOobject::groupName("k", this->U_.group()), + this->runTime_.timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh_, + dimensionedScalar ("k", dimensionSet(0,2,-2,0,0,0,0),SMALL) + ), + simpleFilter_(U.mesh()), + filterPtr_(LESfilter::New(U.mesh(), this->coeffDict())), + filter_(filterPtr_()) +{ +// bound(k_, this->kMin_); Not commented out by J.C. Massey + + if (type == typeName) + { + this->printCoeffs(type); + } +} + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool dynamicSmagorinsky::read() +{ + if (LESeddyViscosity::read()) + { + filter_.read(this->coeffDict()); + + return true; + } + else + { + return false; + } +} + + +template +void dynamicSmagorinsky::correct() +{ + if (!this->turbulence_) + { + return; + } + + // Local references + const volVectorField& U = this->U_; + + LESeddyViscosity::correct(); + + tmp tgradU(fvc::grad(U)); + const volTensorField& gradU = tgradU(); + + volSymmTensorField S(dev(symm(gradU))); + volScalarField magS(mag(S)); + + volVectorField Uf(filter_(U)); + + volSymmTensorField Sf(filter_(S)); +// volSymmTensorField Sf(dev(symm(fvc::grad(Uf)))); Not commented out by J.C. Massey + + volScalarField magSf(mag(Sf)); + + + volSymmTensorField LL = + (dev(filter_(sqr(U)) - (sqr(filter_(U))))); + + volSymmTensorField MM + ( + sqr(this->delta())*(filter_(magS*S) - 4.0*magSf*Sf) // J.C. Massey - 4 comes from test filter size + ); + + volScalarField MMMM = fvc::average(magSqr(MM)); + MMMM.max(VSMALL); + +// J.C. Massey - computed Cs here is the Smagorinsky constant squared to allow for backscatter + Cs_= 0.5* fvc::average(LL && MM)/MMMM; + + +// J.C. Massey - Below is removed for calculation of k +// volScalarField KK = +// 0.5*(filter_(magSqr(U)) - magSqr(filter_(U))); + +// volScalarField mm +// ( +// sqr(this->delta())*(4.0*sqr(mag(Sf)) - filter_(sqr(magS))) +// +// ); + +// volScalarField mmmm = fvc::average(magSqr(mm)); +// mmmm.max(VSMALL); + +// k_ = fvc::average(KK*mm)/mmmm * sqr(this->delta())*magSqr(S); + + correctNut(gradU); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.H b/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.H new file mode 100644 index 00000000..a7f954a8 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/dynamicSmagorinsky/dynamicSmagorinsky.H @@ -0,0 +1,164 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2019 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 . + +Class + Foam::LESModels::dynamicSmagorinsky + +Description + Dynamic SGS model with local averaging, based on Germano and Lilly works. + + The default model coefficients are + \verbatim + dynamicSmagorinskyCoeffs + { + filter simple; + } + \endverbatim + +SourceFiles + dynamicSmagorinsky.C + +\*---------------------------------------------------------------------------*/ + +#ifndef dynamicSmagorinsky_H +#define dynamicSmagorinsky_H + +#include "LESeddyViscosity.H" +#include "simpleFilter.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace LESModels +{ + +/*---------------------------------------------------------------------------*\ + Class dynamicSmagorinsky Declaration +\*---------------------------------------------------------------------------*/ + +template +class dynamicSmagorinsky +: + public LESeddyViscosity +{ + // Private Member Functions + + // Disallow default bitwise copy construct and assignment + dynamicSmagorinsky(const dynamicSmagorinsky&); + void operator=(const dynamicSmagorinsky&); + + +protected: + + // Protected data + + volScalarField Cs_; + volScalarField k_; +// volScalarField beta_; + + simpleFilter simpleFilter_; + autoPtr filterPtr_; + LESfilter& filter_; + + + // Protected Member Functions + + //- Update sub-grid eddy-viscosity + void correctNut(const tmp& gradU); + + virtual void correctNut(); + + +public: + + typedef typename BasicTurbulenceModel::alphaField alphaField; + typedef typename BasicTurbulenceModel::rhoField rhoField; + typedef typename BasicTurbulenceModel::transportModel transportModel; + + //- Runtime type information + TypeName("dynamicSmagorinsky"); + + + // Constructors + + //- Construct from components + dynamicSmagorinsky + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName = turbulenceModel::propertiesName, + const word& type = typeName + ); + + + //- Destructor + virtual ~dynamicSmagorinsky() + {} + + + // Member Functions + + //- Read model coefficients if they have changed + virtual bool read(); + + //- Return SGS kinetic energy + virtual tmp k() const + { + return k_; + } + + //- Return the effective diffusivity for k + tmp DkEff() const + { + return tmp + ( + new volScalarField("DkEff", this->nut_ + this->nu()) + ); + } + + //- Correct Eddy-Viscosity and related properties + virtual void correct(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace LESModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "dynamicSmagorinsky.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/TurbulenceModels/turbulenceModels/makeTurbulentFluidThermoModels.C b/src/TurbulenceModels/turbulenceModels/makeTurbulentFluidThermoModels.C new file mode 100644 index 00000000..1aaf1177 --- /dev/null +++ b/src/TurbulenceModels/turbulenceModels/makeTurbulentFluidThermoModels.C @@ -0,0 +1,41 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2018 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 . + +\*---------------------------------------------------------------------------*/ + +#include "turbulentFluidThermoModels.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + + +// -------------------------------------------------------------------------- // +// LES models +// -------------------------------------------------------------------------- // + +#include "dynamicSmagorinsky.H" +makeLESModel(dynamicSmagorinsky); + +#include "Sigma.H" +makeLESModel(Sigma); +// ************************************************************************* // diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files new file mode 100644 index 00000000..0fbb2933 --- /dev/null +++ b/src/functionObjects/field/Make/files @@ -0,0 +1,73 @@ +workDir=$(SRC_ORIG)/functionObjects/field +$(workDir)/fieldAverage/fieldAverage.C +$(workDir)/fieldAverage/fieldAverageItem/fieldAverageItem.C +$(workDir)/fieldAverage/fieldAverageItem/fieldAverageItemIO.C + +$(workDir)/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C +$(workDir)/fieldMinMax/fieldMinMax.C + +$(workDir)/fieldValues/fieldValue/fieldValue.C +$(workDir)/fieldValues/fieldValue/fieldValueNew.C +$(workDir)/fieldValues/fieldValueDelta/fieldValueDelta.C +$(workDir)/fieldValues/volFieldValue/volFieldValue.C +$(workDir)/fieldValues/surfaceFieldValue/surfaceFieldValue.C + +$(workDir)/nearWallFields/nearWallFields.C +$(workDir)/nearWallFields/findCellParticle.C +$(workDir)/nearWallFields/findCellParticleCloud.C + +$(workDir)/processorField/processorField.C +$(workDir)/readFields/readFields.C + +$(workDir)/streamLine/streamLine.C +$(workDir)/streamLine/streamLineParticle.C +$(workDir)/streamLine/streamLineParticleCloud.C + +$(workDir)/surfaceInterpolate/surfaceInterpolate.C + +$(workDir)/regionSizeDistribution/regionSizeDistribution.C +$(workDir)/histogram/histogram.C + +$(workDir)/fieldExpression/fieldExpression.C +$(workDir)/components/components.C +$(workDir)/randomise/randomise.C +$(workDir)/div/div.C +$(workDir)/grad/grad.C +$(workDir)/ddt/ddt.C +$(workDir)/mag/mag.C +$(workDir)/magSqr/magSqr.C +$(workDir)/scale/scale.C +$(workDir)/log/log.C +$(workDir)/vorticity/vorticity.C +$(workDir)/enstrophy/enstrophy.C +$(workDir)/Q/Q.C +$(workDir)/Lambda2/Lambda2.C +$(workDir)/flowType/flowType.C +$(workDir)/CourantNo/CourantNo.C +/*$(workDir)/PecletNo/PecletNo.C*/ +$(workDir)/blendingFactor/blendingFactor.C +$(workDir)/pressure/pressure.C +$(workDir)/MachNo/MachNo.C + +/*$(workDir)/turbulenceFields/turbulenceFields.C*/ +$(workDir)/yPlus/yPlus.C +$(workDir)/turbulenceIntensity/turbulenceIntensity.C +/*$(workDir)/wallShearStress/wallShearStress.C*/ +/*wallHeatFlux/wallHeatFlux.C*/ +/*$(workDir)/wallHeatTransferCoeff/wallHeatTransferCoeff.C*/ + +$(workDir)/writeCellCentres/writeCellCentres.C +$(workDir)/writeCellVolumes/writeCellVolumes.C + +$(workDir)/XiReactionRate/XiReactionRate.C +$(workDir)/streamFunction/streamFunction.C + +$(workDir)/fieldsExpression/fieldsExpression.C +$(workDir)/add/add.C +$(workDir)/subtract/subtract.C + +$(workDir)/interfaceHeight/interfaceHeight.C + +$(workDir)/age/age.C + +LIB = $(FOAM_USER_LIBBIN)/libdfFieldFunctionObjects diff --git a/src/functionObjects/field/Make/options b/src/functionObjects/field/Make/options new file mode 100644 index 00000000..e2b0eb0e --- /dev/null +++ b/src/functionObjects/field/Make/options @@ -0,0 +1,26 @@ +EXE_INC = \ + -I$(SRC_ORIG)/functionObjects/field/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/lagrangian/basic/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/surfMesh/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/transportModels \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude + +LIB_LIBS = \ + -lfiniteVolume \ + -lincompressibleTransportModels \ + -lturbulenceModels \ + -lcompressibleTransportModels \ + -lmeshTools \ + -lsurfMesh \ + -llagrangian \ + -lfileFormats \ + -lsampling \ + -lsurfMesh \ + -L$(FOAM_USER_LIBBIN) \ + -ldfFluidThermophysicalModels