diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt index 17be614da4..670b78c33d 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/PV3FoamReader/CMakeLists.txt @@ -23,7 +23,7 @@ INCLUDE_DIRECTORIES( ) ADD_DEFINITIONS( - -D$ENV{WM_PRECISION_OPTION} + -DWM_$ENV{WM_PRECISION_OPTION} ) # Set output library destination to plugin folder diff --git a/applications/utilities/postProcessing/graphics/PVFoamReader/PVFoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVFoamReader/PVFoamReader/CMakeLists.txt index acbe2254eb..1c88efbbff 100644 --- a/applications/utilities/postProcessing/graphics/PVFoamReader/PVFoamReader/CMakeLists.txt +++ b/applications/utilities/postProcessing/graphics/PVFoamReader/PVFoamReader/CMakeLists.txt @@ -22,7 +22,7 @@ INCLUDE_DIRECTORIES( $ENV{ParaView_INST_DIR}/include ../vtkFoam/lnInclude ) -ADD_DEFINITIONS(-D$ENV{WM_PRECISION_OPTION}) +ADD_DEFINITIONS(-DWM_$ENV{WM_PRECISION_OPTION}) #----------------------------------------------------------------------------- # Most users should not need to change anything below this line. diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions index 367085197e..e7a5da0753 100644 --- a/bin/tools/CleanFunctions +++ b/bin/tools/CleanFunctions @@ -64,8 +64,8 @@ cleanCase () rm -rf constant/polyMesh/{allOwner*,cell*,face*,meshModifiers*} \ constant/polyMesh/{owner*,neighbour*,point*,edge*} \ - constant/polyMesh/{cellLevel,pointLevel,refinementHistory,surfaceIndex} \ - constant/{cellLevel,pointLevel} \ + constant/polyMesh/{cellLevel*,pointLevel*,refinementHistory*,surfaceIndex*} \ + constant/{cellLevel*,pointLevel*} \ constant/polyMesh/sets/ \ > /dev/null 2>&1 diff --git a/src/OSspecific/POSIX/signals/sigFpe.C b/src/OSspecific/POSIX/signals/sigFpe.C index bdcc1d08bd..6aeaac2d19 100644 --- a/src/OSspecific/POSIX/signals/sigFpe.C +++ b/src/OSspecific/POSIX/signals/sigFpe.C @@ -68,7 +68,7 @@ void* Foam::sigFpe::my_malloc_hook(size_t size, const void *caller) result = malloc (size); // initialize to signalling nan -# ifdef SP +# ifdef WM_SP const uint32_t sNAN = 0x7ff7fffflu; diff --git a/src/OpenFOAM/primitives/Scalar/scalar/scalar.H b/src/OpenFOAM/primitives/Scalar/scalar/scalar.H index 0dd919d90d..f27612e9f0 100644 --- a/src/OpenFOAM/primitives/Scalar/scalar/scalar.H +++ b/src/OpenFOAM/primitives/Scalar/scalar/scalar.H @@ -27,7 +27,7 @@ Typedef Description Single floating point number identical to float or double depending on - whether SP or DP is defined. + whether WM_SP or WM_DP is defined. SourceFiles scalar.C @@ -42,7 +42,7 @@ SourceFiles // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#if defined(SP) +#if defined(WM_SP) // Define scalar as a float @@ -60,7 +60,7 @@ namespace Foam scalar readScalar(Istream& is); } -#elif defined(DP) +#elif defined(WM_DP) // Define scalar as a double diff --git a/src/Pstream/mpi/Pstream.C b/src/Pstream/mpi/Pstream.C index 8011fb3b42..ba4629d754 100644 --- a/src/Pstream/mpi/Pstream.C +++ b/src/Pstream/mpi/Pstream.C @@ -34,9 +34,9 @@ License #include #include -#if defined(SP) +#if defined(WM_SP) # define MPI_SCALAR MPI_FLOAT -#elif defined(DP) +#elif defined(WM_DP) # define MPI_SCALAR MPI_DOUBLE #endif diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options index bc278a29cb..26c2b8abfb 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options @@ -1,7 +1,7 @@ ParMGridGen = $(WM_THIRD_PARTY_DIR)/ParMGridGen-1.0 TYPE_REAL= -#if defined(SP) +#if defined(WM_SP) TYPE_REAL=-DTYPE_REAL #endif diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 1a7ba97084..e2dd07acf1 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -173,9 +173,32 @@ void Foam::KinematicCloud::resetSourceTerms() } +template +void Foam::KinematicCloud::preEvolve() +{ + this->dispersion().cacheFields(true); +} + + +template +void Foam::KinematicCloud::postEvolve() +{ + if (debug) + { + this->writePositions(); + } + + this->dispersion().cacheFields(false); + + this->postProcessing().post(); +} + + template void Foam::KinematicCloud::evolve() { + preEvolve(); + autoPtr > rhoInterpolator = interpolation::New ( @@ -209,11 +232,6 @@ void Foam::KinematicCloud::evolve() this->injection().inject(td); - if (debug) - { - this->writePositions(); - } - if (coupled_) { resetSourceTerms(); @@ -221,7 +239,7 @@ void Foam::KinematicCloud::evolve() Cloud::move(td); - this->postProcessing().post(); + postEvolve(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index 538975a912..077067a972 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -184,6 +184,15 @@ protected: DimensionedField UTrans_; + // Cloud evolution functions + + //- Pre-evolve + void preEvolve(); + + //- Post-evolve + void postEvolve(); + + public: // Constructors diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index d4f4f10c9a..1e58d2876c 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -175,9 +175,25 @@ void Foam::ReactingCloud::resetSourceTerms() } +template +void Foam::ReactingCloud::preEvolve() +{ + ThermoCloud::preEvolve(); +} + + +template +void Foam::ReactingCloud::postEvolve() +{ + ThermoCloud::postEvolve(); +} + + template void Foam::ReactingCloud::evolve() { + preEvolve(); + const volScalarField& T = this->carrierThermo().T(); const volScalarField cp = this->carrierThermo().Cp(); const volScalarField& p = this->carrierThermo().p(); @@ -233,11 +249,6 @@ void Foam::ReactingCloud::evolve() this->injection().inject(td); - if (debug) - { - this->writePositions(); - } - if (this->coupled()) { resetSourceTerms(); @@ -245,7 +256,7 @@ void Foam::ReactingCloud::evolve() Cloud::move(td); - this->postProcessing().post(); + postEvolve(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H index 4a79c03b6f..74b75ea416 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H @@ -132,6 +132,15 @@ protected: ); + // Cloud evolution functions + + //- Pre-evolve + void preEvolve(); + + //- Post-evolve + void postEvolve(); + + public: // Constructors diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C index d07db7ed62..5e7dee64bc 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C @@ -129,9 +129,25 @@ void Foam::ReactingMultiphaseCloud::resetSourceTerms() } +template +void Foam::ReactingMultiphaseCloud::preEvolve() +{ + ReactingCloud::preEvolve(); +} + + +template +void Foam::ReactingMultiphaseCloud::postEvolve() +{ + ReactingCloud::postEvolve(); +} + + template void Foam::ReactingMultiphaseCloud::evolve() { + preEvolve(); + const volScalarField& T = this->carrierThermo().T(); const volScalarField cp = this->carrierThermo().Cp(); const volScalarField& p = this->carrierThermo().p(); @@ -187,11 +203,6 @@ void Foam::ReactingMultiphaseCloud::evolve() this->injection().inject(td); - if (debug) - { - this->writePositions(); - } - if (this->coupled()) { resetSourceTerms(); @@ -199,7 +210,7 @@ void Foam::ReactingMultiphaseCloud::evolve() Cloud::move(td); - this->postProcessing().post(); + postEvolve(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H index 525b03983c..b073308407 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H @@ -68,7 +68,7 @@ class ReactingMultiphaseCloud public ReactingCloud, public reactingMultiphaseCloud { - // Private Member Functions + // Private member functions //- Disallow default bitwise copy construct ReactingMultiphaseCloud(const ReactingMultiphaseCloud&); @@ -112,6 +112,17 @@ protected: scalar dMassSurfaceReaction_; + // Protected member functions + + // Cloud evolution functions + + //- Pre-evolve + void preEvolve(); + + //- Post-evolve + void postEvolve(); + + public: // Constructors diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 19428d38a1..0585629246 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -142,9 +142,25 @@ void Foam::ThermoCloud::resetSourceTerms() } +template +void Foam::ThermoCloud::preEvolve() +{ + KinematicCloud::preEvolve(); +} + + +template +void Foam::ThermoCloud::postEvolve() +{ + KinematicCloud::postEvolve(); +} + + template void Foam::ThermoCloud::evolve() { + preEvolve(); + const volScalarField& T = carrierThermo_.T(); const volScalarField cp = carrierThermo_.Cp(); @@ -192,11 +208,6 @@ void Foam::ThermoCloud::evolve() this->injection().inject(td); - if (debug) - { - this->writePositions(); - } - if (this->coupled()) { resetSourceTerms(); @@ -204,7 +215,7 @@ void Foam::ThermoCloud::evolve() Cloud::move(td); - this->postProcessing().post(); + postEvolve(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H index cc8f0fadc8..151b076411 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H @@ -118,6 +118,17 @@ protected: DimensionedField hcTrans_; + // Protected member functions + + // Cloud evolution functions + + //- Pre-evolve + void preEvolve(); + + //- Post-evolve + void postEvolve(); + + public: // Constructors diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H index 5483f56f61..c247249f9d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H @@ -37,10 +37,11 @@ License #include "KinematicLookupTableInjection.H" #include "ManualInjection.H" #include "NoInjection.H" +#include "PatchInjection.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelInjectionModels(ParcelType) \ +#define makeParcelInjectionModels(ParcelType) \ \ makeInjectionModel(KinematicCloud); \ \ @@ -79,6 +80,12 @@ License NoInjection, \ KinematicCloud, \ ParcelType \ + ); \ + makeInjectionModelType \ + ( \ + PatchInjection, \ + KinematicCloud, \ + ParcelType \ ); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H index 01a3689760..e93dce2375 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H @@ -37,6 +37,7 @@ License #include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" +#include "PatchInjection.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -100,6 +101,13 @@ License ParcelType, \ ThermoType \ ); \ + makeInjectionModelThermoType \ + ( \ + PatchInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H index 288510c48c..41ca35fcf5 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H @@ -37,6 +37,7 @@ License #include "FieldActivatedInjection.H" #include "ManualInjection.H" #include "NoInjection.H" +#include "PatchInjection.H" #include "ReactingLookupTableInjection.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -102,6 +103,13 @@ License ThermoType \ ); \ makeInjectionModelThermoType \ + ( \ + PatchInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeInjectionModelThermoType \ ( \ ReactingLookupTableInjection, \ KinematicCloud, \ diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 74131b6fff..8587eaccca 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -121,6 +121,9 @@ public: //- Flag to indicate whether model activates injection model virtual bool active() const = 0; + //- Cache carrier fields + virtual void cacheFields(const bool store) = 0; + //- Update (disperse particles) virtual vector update ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C index 6c028d0205..3689acf8f4 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C @@ -42,7 +42,11 @@ Foam::DispersionRASModel::DispersionRASModel ( "RASProperties" ) - ) + ), + kPtr_(NULL), + ownK_(false), + epsilonPtr_(NULL), + ownEpsilon_(false) {} @@ -50,7 +54,56 @@ Foam::DispersionRASModel::DispersionRASModel template Foam::DispersionRASModel::~DispersionRASModel() -{} +{ + cacheFields(false); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +void Foam::DispersionRASModel::cacheFields(const bool store) +{ + if (store) + { + tmp tk = this->turbulence().k(); + if (tk.isTmp()) + { + kPtr_ = tk.ptr(); + ownK_ = true; + } + else + { + kPtr_ = tk.operator->(); + ownK_ = false; + } + + tmp tepsilon = this->turbulence().epsilon(); + if (tepsilon.isTmp()) + { + epsilonPtr_ = tepsilon.ptr(); + ownEpsilon_ = true; + } + else + { + epsilonPtr_ = tepsilon.operator->(); + ownEpsilon_ = false; + } + } + else + { + if (ownK_ && kPtr_) + { + delete kPtr_; + ownK_ = false; + } + if (ownEpsilon_ && epsilonPtr_) + { + delete epsilonPtr_; + ownEpsilon_ = false; + } + } +} // ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index ecda55be49..f95ab36885 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H @@ -50,11 +50,27 @@ class DispersionRASModel : public DispersionModel { - // Private data +protected: + + // Protected data //- Reference to the compressible turbulence model const compressible::RASModel& turbulence_; + // Locally cached turbulence fields + + //- Turbulence k + const volScalarField* kPtr_; + + //- Take ownership of the k field + bool ownK_; + + //- Turbulence epsilon + const volScalarField* epsilonPtr_; + + //- Take ownership of the epsilon field + bool ownEpsilon_; + public: @@ -78,6 +94,9 @@ public: // Member Functions + //- Cache carrier fields + virtual void cacheFields(const bool store); + //- Return const access to the turbulence model const compressible::RASModel& turbulence() const { diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C index a8fdac2b47..7877af745e 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C @@ -35,7 +35,8 @@ Foam::GradientDispersionRAS::GradientDispersionRAS CloudType& owner ) : - DispersionRASModel(dict, owner) + DispersionRASModel(dict, owner), + gradkPtr_(NULL) {} @@ -43,7 +44,9 @@ Foam::GradientDispersionRAS::GradientDispersionRAS template Foam::GradientDispersionRAS::~GradientDispersionRAS() -{} +{ + cacheFields(false); +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // @@ -55,6 +58,25 @@ bool Foam::GradientDispersionRAS::active() const } +template +void Foam::GradientDispersionRAS::cacheFields(const bool store) +{ + DispersionRASModel::cacheFields(store); + + if (store) + { + gradkPtr_ = fvc::grad(*this->kPtr_).ptr(); + } + else + { + if (gradkPtr_) + { + delete gradkPtr_; + } + } +} + + template Foam::vector Foam::GradientDispersionRAS::update ( @@ -68,9 +90,9 @@ Foam::vector Foam::GradientDispersionRAS::update { const scalar cps = 0.16432; - const volScalarField& k = this->turbulence().k(); - const volScalarField& epsilon = this->turbulence().epsilon(); - const volVectorField gradk = fvc::grad(k); + const volScalarField& k = *this->kPtr_; + const volScalarField& epsilon = *this->epsilonPtr_; + const volVectorField& gradk = *this->gradkPtr_; const scalar UrelMag = mag(U - Uc - UTurb); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index 9cf99ecc20..18391f4eea 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H @@ -51,6 +51,14 @@ class GradientDispersionRAS : public DispersionRASModel { +protected: + + // Locally cached turbulence fields + + //- Gradient of k + const volVectorField* gradkPtr_; + + public: //- Runtime type information @@ -76,8 +84,11 @@ public: //- Flag to indicate whether model activates injection model bool active() const; + //- Cache carrier fields + virtual void cacheFields(const bool store); + //- Update (disperse particles) - vector update + virtual vector update ( const scalar dt, const label celli, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C index 56745ef686..a1927dfcd4 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C @@ -55,6 +55,13 @@ bool Foam::NoDispersion::active() const } +template +void Foam::NoDispersion::cacheFields(const bool) +{ +// do nothing +} + + template Foam::vector Foam::NoDispersion::update ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H index 48e938cc03..93482c49ae 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H @@ -72,10 +72,13 @@ public: // Member Functions //- Flag to indicate whether model activates injection model - bool active() const; + virtual bool active() const; + + //- Cache carrier fields + virtual void cacheFields(const bool store); //- Update (disperse particles) - vector update + virtual vector update ( const scalar dt, const label celli, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C index fb03ca581c..ffd3fd974a 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C @@ -68,8 +68,8 @@ Foam::vector Foam::StochasticDispersionRAS::update { const scalar cps = 0.16432; - const volScalarField& k = this->turbulence().k(); - const volScalarField& epsilon = this->turbulence().epsilon(); + const volScalarField& k = *this->kPtr_; + const volScalarField& epsilon = *this->epsilonPtr_; const scalar UrelMag = mag(U - Uc - UTurb); diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index 46059d4e83..17c70b7814 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H @@ -74,10 +74,10 @@ public: // Member Functions //- Flag to indicate whether model activates injection model - bool active() const; + virtual bool active() const; //- Update (disperse particles) - vector update + virtual vector update ( const scalar dt, const label celli, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C index 3177b78c31..dab3cf6f13 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C @@ -138,7 +138,7 @@ void Foam::ManualInjection::setPositionAndCell ( const label parcelI, const label, - const scalar time, + const scalar, vector& position, label& cellOwner ) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C new file mode 100644 index 0000000000..b79a8a1af1 --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.C @@ -0,0 +1,206 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*---------------------------------------------------------------------------*/ + +#include "PatchInjection.H" +#include "DataEntry.H" +#include "pdf.H" + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +template +Foam::label Foam::PatchInjection::parcelsToInject +( + const scalar time0, + const scalar time1 +) const +{ + if ((time0 >= 0.0) && (time0 < duration_)) + { + return round(fraction_*(time1 - time0)*parcelsPerSecond_); + } + else + { + return 0; + } +} + + +template +Foam::scalar Foam::PatchInjection::volumeToInject +( + const scalar time0, + const scalar time1 +) const +{ + if ((time0 >= 0.0) && (time0 < duration_)) + { + return fraction_*volumeFlowRate_().integrate(time0, time1); + } + else + { + return 0.0; + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::PatchInjection::PatchInjection +( + const dictionary& dict, + CloudType& owner +) +: + InjectionModel(dict, owner, typeName), + patchName_(this->coeffDict().lookup("patchName")), + duration_(readScalar(this->coeffDict().lookup("duration"))), + parcelsPerSecond_ + ( + readScalar(this->coeffDict().lookup("parcelsPerSecond")) + ), + U0_(this->coeffDict().lookup("U0")), + volumeFlowRate_ + ( + DataEntry::New + ( + "volumeFlowRate", + this->coeffDict() + ) + ), + parcelPDF_ + ( + pdf::New + ( + this->coeffDict().subDict("parcelPDF"), + owner.rndGen() + ) + ), + cellOwners_(), + fraction_(1.0) +{ + label patchId = owner.mesh().boundaryMesh().findPatchID(patchName_); + + if (patchId < 0) + { + FatalErrorIn + ( + "PatchInjection::PatchInjection" + "(" + "const dictionary&, " + "CloudType&" + ")" + ) << "Requested patch " << patchName_ << " not found" << nl + << "Available patches are: " << owner.mesh().boundaryMesh().names() + << nl << exit(FatalError); + } + + const polyPatch& patch = owner.mesh().boundaryMesh()[patchId]; + + cellOwners_ = patch.faceCells(); + + label patchSize = cellOwners_.size(); + label totalPatchSize = patchSize; + reduce(totalPatchSize, sumOp()); + fraction_ = patchSize/totalPatchSize; + + // Set total volume to inject + this->volumeTotal_ = fraction_*volumeFlowRate_().integrate(0.0, duration_); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template +Foam::PatchInjection::~PatchInjection() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +bool Foam::PatchInjection::active() const +{ + return true; +} + + +template +Foam::scalar Foam::PatchInjection::timeEnd() const +{ + return this->SOI_ + duration_; +} + + +template +void Foam::PatchInjection::setPositionAndCell +( + const label, + const label, + const scalar, + vector& position, + label& cellOwner +) +{ + label cellI = this->owner().rndGen().integer(0, cellOwners_.size() - 1); + + cellOwner = cellOwners_[cellI]; + position = this->owner().mesh().C()[cellOwner]; +} + + +template +void Foam::PatchInjection::setProperties +( + const label, + const label, + const scalar, + typename CloudType::parcelType& parcel +) +{ + // set particle velocity + parcel.U() = U0_; + + // set particle diameter + parcel.d() = parcelPDF_->sample(); +} + + +template +bool Foam::PatchInjection::fullyDescribed() const +{ + return false; +} + + +template +bool Foam::PatchInjection::validInjection(const label) +{ + return true; +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.H new file mode 100644 index 0000000000..05117ce3be --- /dev/null +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/PatchInjection/PatchInjection.H @@ -0,0 +1,187 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::PatchInjection + +Description + Patch injection + + - User specifies + - Total mass to inject + - Name of patch + - Injection duration + - Initial parcel velocity + - Injection volume flow rate + - Parcel diameters obtained by PDF model + - Parcels injected at cell centres adjacent to patch + +SourceFiles + PatchInjection.C + +\*---------------------------------------------------------------------------*/ + +#ifndef PatchInjection_H +#define PatchInjection_H + +#include "InjectionModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +template +class DataEntry; + +class pdf; + +/*---------------------------------------------------------------------------*\ + Class PatchInjection Declaration +\*---------------------------------------------------------------------------*/ + +template +class PatchInjection +: + public InjectionModel +{ + // Private data + + //- Name of patch + const word patchName_; + + //- Injection duration [s] + const scalar duration_; + + //- Number of parcels to introduce per second [] + const label parcelsPerSecond_; + + //- Initial parcel velocity [m/s] + const vector U0_; + + //- Volume flow rate of parcels to introduce relative to SOI [m^3/s] + const autoPtr > volumeFlowRate_; + + //- Parcel size PDF model + const autoPtr parcelPDF_; + + //- Cell owners + labelList cellOwners_; + + //- Fraction of injection controlled by this processor + scalar fraction_; + + +protected: + + // Protected member functions + + //- Number of parcels to introduce over the time step relative to SOI + label parcelsToInject + ( + const scalar time0, + const scalar time1 + ) const; + + //- Volume of parcels to introduce over the time step relative to SOI + scalar volumeToInject + ( + const scalar time0, + const scalar time1 + ) const; + + +public: + + //- Runtime type information + TypeName("PatchInjection"); + + + // Constructors + + //- Construct from dictionary + PatchInjection + ( + const dictionary& dict, + CloudType& owner + ); + + + //- Destructor + virtual ~PatchInjection(); + + + // Member Functions + + //- Flag to indicate whether model activates injection model + bool active() const; + + //- Return the end-of-injection time + scalar timeEnd() const; + + + // Injection geometry + + //- Set the injection position and owner cell + virtual void setPositionAndCell + ( + const label parcelI, + const label nParcels, + const scalar time, + vector& position, + label& cellOwner + ); + + virtual void setProperties + ( + const label parcelI, + const label nParcels, + const scalar time, + typename CloudType::parcelType& parcel + ); + + //- Flag to identify whether model fully describes the parcel + virtual bool fullyDescribed() const; + + //- Return flag to identify whether or not injection of parcelI is + // permitted + virtual bool validInjection(const label parcelI); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "PatchInjection.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/reactionThermo/combustionThermo/mixtureThermos/hPsiMixtureThermo/hPsiMixtureThermo.C b/src/thermophysicalModels/reactionThermo/combustionThermo/mixtureThermos/hPsiMixtureThermo/hPsiMixtureThermo.C index 7ca8690461..5a788049a6 100644 --- a/src/thermophysicalModels/reactionThermo/combustionThermo/mixtureThermos/hPsiMixtureThermo/hPsiMixtureThermo.C +++ b/src/thermophysicalModels/reactionThermo/combustionThermo/mixtureThermos/hPsiMixtureThermo/hPsiMixtureThermo.C @@ -43,14 +43,14 @@ void Foam::hPsiMixtureThermo::calculate() forAll(TCells, celli) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->cellMixture(celli); - TCells[celli] = mixture_.TH(hCells[celli], TCells[celli]); - psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]); + TCells[celli] = mixture.TH(hCells[celli], TCells[celli]); + psiCells[celli] = mixture.psi(pCells[celli], TCells[celli]); - muCells[celli] = mixture_.mu(TCells[celli]); - alphaCells[celli] = mixture_.alpha(TCells[celli]); + muCells[celli] = mixture.mu(TCells[celli]); + alphaCells[celli] = mixture.alpha(TCells[celli]); } forAll(T_.boundaryField(), patchi) @@ -68,28 +68,28 @@ void Foam::hPsiMixtureThermo::calculate() { forAll(pT, facei) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->patchFaceMixture(patchi, facei); - ph[facei] = mixture_.H(pT[facei]); + ph[facei] = mixture.H(pT[facei]); - ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); - pmu_[facei] = mixture_.mu(pT[facei]); - palpha_[facei] = mixture_.alpha(pT[facei]); + ppsi[facei] = mixture.psi(pp[facei], pT[facei]); + pmu_[facei] = mixture.mu(pT[facei]); + palpha_[facei] = mixture.alpha(pT[facei]); } } else { forAll(pT, facei) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->patchFaceMixture(patchi, facei); - pT[facei] = mixture_.TH(ph[facei], pT[facei]); + pT[facei] = mixture.TH(ph[facei], pT[facei]); - ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); - pmu_[facei] = mixture_.mu(pT[facei]); - palpha_[facei] = mixture_.alpha(pT[facei]); + ppsi[facei] = mixture.psi(pp[facei], pT[facei]); + pmu_[facei] = mixture.mu(pT[facei]); + palpha_[facei] = mixture.alpha(pT[facei]); } } } diff --git a/src/thermophysicalModels/reactionThermo/reactionThermo/mixtureThermos/hRhoMixtureThermo/hRhoMixtureThermo.C b/src/thermophysicalModels/reactionThermo/reactionThermo/mixtureThermos/hRhoMixtureThermo/hRhoMixtureThermo.C index 0c763fd78a..9cbf9202de 100644 --- a/src/thermophysicalModels/reactionThermo/reactionThermo/mixtureThermos/hRhoMixtureThermo/hRhoMixtureThermo.C +++ b/src/thermophysicalModels/reactionThermo/reactionThermo/mixtureThermos/hRhoMixtureThermo/hRhoMixtureThermo.C @@ -44,15 +44,15 @@ void Foam::hRhoMixtureThermo::calculate() forAll(TCells, celli) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->cellMixture(celli); - TCells[celli] = mixture_.TH(hCells[celli], TCells[celli]); - psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]); - rhoCells[celli] = mixture_.rho(pCells[celli], TCells[celli]); + TCells[celli] = mixture.TH(hCells[celli], TCells[celli]); + psiCells[celli] = mixture.psi(pCells[celli], TCells[celli]); + rhoCells[celli] = mixture.rho(pCells[celli], TCells[celli]); - muCells[celli] = mixture_.mu(TCells[celli]); - alphaCells[celli] = mixture_.alpha(TCells[celli]); + muCells[celli] = mixture.mu(TCells[celli]); + alphaCells[celli] = mixture.alpha(TCells[celli]); } forAll(T_.boundaryField(), patchi) @@ -71,30 +71,30 @@ void Foam::hRhoMixtureThermo::calculate() { forAll(pT, facei) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->patchFaceMixture(patchi, facei); - ph[facei] = mixture_.H(pT[facei]); + ph[facei] = mixture.H(pT[facei]); - ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); - prho[facei] = mixture_.rho(pp[facei], pT[facei]); - pmu_[facei] = mixture_.mu(pT[facei]); - palpha_[facei] = mixture_.alpha(pT[facei]); + ppsi[facei] = mixture.psi(pp[facei], pT[facei]); + prho[facei] = mixture.rho(pp[facei], pT[facei]); + pmu_[facei] = mixture.mu(pT[facei]); + palpha_[facei] = mixture.alpha(pT[facei]); } } else { forAll(pT, facei) { - const typename MixtureType::thermoType& mixture_ = + const typename MixtureType::thermoType& mixture = this->patchFaceMixture(patchi, facei); - pT[facei] = mixture_.TH(ph[facei], pT[facei]); + pT[facei] = mixture.TH(ph[facei], pT[facei]); - ppsi[facei] = mixture_.psi(pp[facei], pT[facei]); - prho[facei] = mixture_.rho(pp[facei], pT[facei]); - pmu_[facei] = mixture_.mu(pT[facei]); - palpha_[facei] = mixture_.alpha(pT[facei]); + ppsi[facei] = mixture.psi(pp[facei], pT[facei]); + prho[facei] = mixture.rho(pp[facei], pT[facei]); + pmu_[facei] = mixture.mu(pT[facei]); + palpha_[facei] = mixture.alpha(pT[facei]); } } } diff --git a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary index c2b732e0e5..c97383b613 100644 --- a/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary +++ b/tutorials/basic/laplacianFoam/flange/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary index b336b81ded..057865c7ff 100644 --- a/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary +++ b/tutorials/basic/potentialFoam/cylinder/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary index 8eb7d98937..313dcceba1 100644 --- a/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary +++ b/tutorials/basic/potentialFoam/pitzDaily/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,43 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 5 ( -inlet -{ - type patch; - nFaces 30; - startFace 24170; -} - -outlet -{ - type patch; - nFaces 57; - startFace 24200; -} - -upperWall -{ - type wall; - nFaces 223; - startFace 24257; -} - -lowerWall -{ - type wall; - nFaces 250; - startFace 24480; -} - -frontAndBack -{ - type empty; - nFaces 24450; - startFace 24730; -} + inlet + { + type patch; + nFaces 30; + startFace 24170; + } + outlet + { + type patch; + nFaces 57; + startFace 24200; + } + upperWall + { + type wall; + nFaces 223; + startFace 24257; + } + lowerWall + { + type wall; + nFaces 250; + startFace 24480; + } + frontAndBack + { + type empty; + nFaces 24450; + startFace 24730; + } ) // ************************************************************************* // diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary index 8eb7d98937..313dcceba1 100644 --- a/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary +++ b/tutorials/basic/scalarTransportFoam/pitzDaily/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,43 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 5 ( -inlet -{ - type patch; - nFaces 30; - startFace 24170; -} - -outlet -{ - type patch; - nFaces 57; - startFace 24200; -} - -upperWall -{ - type wall; - nFaces 223; - startFace 24257; -} - -lowerWall -{ - type wall; - nFaces 250; - startFace 24480; -} - -frontAndBack -{ - type empty; - nFaces 24450; - startFace 24730; -} + inlet + { + type patch; + nFaces 30; + startFace 24170; + } + outlet + { + type patch; + nFaces 57; + startFace 24200; + } + upperWall + { + type wall; + nFaces 223; + startFace 24257; + } + lowerWall + { + type wall; + nFaces 250; + startFace 24480; + } + frontAndBack + { + type empty; + nFaces 24450; + startFace 24730; + } ) // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/Allrun b/tutorials/combustion/XiFoam/les/Allrun deleted file mode 100755 index e43b54e4e3..0000000000 --- a/tutorials/combustion/XiFoam/les/Allrun +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Source tutorial run functions -. $WM_PROJECT_DIR/bin/tools/RunFunctions - -# Get application name from directory -application="XiFoam" - -cases=" \ -pitzDaily \ -pitzDaily3D -" - -for i in $cases; do - blockMesh -case $i - $application -case $i -done - diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary b/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary index 8eb7d98937..313dcceba1 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,46 +10,43 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 5 ( -inlet -{ - type patch; - nFaces 30; - startFace 24170; -} - -outlet -{ - type patch; - nFaces 57; - startFace 24200; -} - -upperWall -{ - type wall; - nFaces 223; - startFace 24257; -} - -lowerWall -{ - type wall; - nFaces 250; - startFace 24480; -} - -frontAndBack -{ - type empty; - nFaces 24450; - startFace 24730; -} + inlet + { + type patch; + nFaces 30; + startFace 24170; + } + outlet + { + type patch; + nFaces 57; + startFace 24200; + } + upperWall + { + type wall; + nFaces 223; + startFace 24257; + } + lowerWall + { + type wall; + nFaces 250; + startFace 24480; + } + frontAndBack + { + type empty; + nFaces 24450; + startFace 24730; + } ) // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary index 2e94e303b7..5e28555623 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary +++ b/tutorials/combustion/dieselFoam/aachenBomb/constant/polyMesh/boundary @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | +| \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary index 7a3a7294ec..24684a3ecf 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary +++ b/tutorials/combustion/engineFoam/kivaTest/constant/polyMesh/boundary @@ -1,8 +1,8 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,32 +10,31 @@ FoamFile version 2.0; format ascii; class polyBoundaryMesh; + location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 3 ( -piston -{ - type wall; - nFaces 1326; - startFace 79522; -} - -liner -{ - type wall; - nFaces 2710; - startFace 80848; -} - -cylinderHead -{ - type wall; - nFaces 2184; - startFace 83558; -} + piston + { + type wall; + nFaces 1326; + startFace 79522; + } + liner + { + type wall; + nFaces 2710; + startFace 80848; + } + cylinderHead + { + type wall; + nFaces 2184; + startFace 83558; + } ) // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/T b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/T rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/T diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/U b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/U rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/U diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/alphat b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/alphat rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/alphat diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/epsilon b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/epsilon rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/epsilon diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/k b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/k rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/k diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/nut b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/nut rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/nut diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/0/p b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/0/p rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/0/p diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/Allrun b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/Allrun similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/Allrun rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/Allrun diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/RASProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/RASProperties rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/RASProperties diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/environmentalProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/environmentalProperties similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/environmentalProperties rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/environmentalProperties diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/polyMesh/blockMeshDict similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/polyMesh/blockMeshDict diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/transportProperties b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/transportProperties rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/transportProperties diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/triSurface/fridgeA.eMesh b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/triSurface/fridgeA.eMesh similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/constant/triSurface/fridgeA.eMesh rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/constant/triSurface/fridgeA.eMesh diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/system/controlDict rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/system/decomposeParDict rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/decomposeParDict diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSchemes rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSchemes diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution similarity index 100% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/system/fvSolution rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict similarity index 99% rename from tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict rename to tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict index feab653dfe..d31010ace7 100644 --- a/tutorials/mesh/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/snappyHexMeshDict @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - object snappyHexMeshDict; + object autoHexMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/U b/tutorials/incompressible/simpleFoam/motorBike/0/U new file mode 100644 index 0000000000..e7777b5b82 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/U @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "initialConditions" + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform $flowVelocity; + +boundaryField +{ + #include "fixedInlet" + + outlet + { + type inletOutlet; + inletValue uniform (0 0 0); + value $internalField; + } + + lowerWall + { + type fixedValue; + value uniform (20 0 0); + } + + "motorBike_.*" + { + type fixedValue; + value uniform (0 0 0); + } + + #include "frontBackUpperPatches" +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/fixedInlet b/tutorials/incompressible/simpleFoam/motorBike/0/fixedInlet new file mode 100644 index 0000000000..6d094ec4aa --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/fixedInlet @@ -0,0 +1,15 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +inlet +{ + type fixedValue; + value $internalField; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/frontBackUpperPatches b/tutorials/incompressible/simpleFoam/motorBike/0/frontBackUpperPatches new file mode 100644 index 0000000000..f92c018ea1 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/frontBackUpperPatches @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +upperWall +{ + type slip; +} + +frontAndBack +{ + type slip; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/initialConditions b/tutorials/incompressible/simpleFoam/motorBike/0/initialConditions new file mode 100644 index 0000000000..f8ecb7d700 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/initialConditions @@ -0,0 +1,15 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +flowVelocity (20 0 0); +pressure 0; +turbulentKE 0.24; +turbulentOmega 1.78; +#inputMode merge + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict b/tutorials/incompressible/simpleFoam/motorBike/0/k similarity index 60% rename from tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict rename to tutorials/incompressible/simpleFoam/motorBike/0/k index c0de7923c6..470670d9c1 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/decomposeParDict +++ b/tutorials/incompressible/simpleFoam/motorBike/0/k @@ -2,44 +2,24 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: www.OpenFOAM.org | +| \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; - class dictionary; - location "system"; - object decomposeParDict; + class volScalarField; + object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -numberOfSubdomains 6; +#include "initialConditions" -method hierarchical; +dimensions [0 2 -2 0 0 0 0]; -simpleCoeffs -{ - n ( 4 1 1 ); - delta 0.001; -} - -hierarchicalCoeffs -{ - n ( 3 2 1 ); - delta 0.001; - order xyz; -} - -manualCoeffs -{ - dataFile "cellDecomposition"; -} - -metisCoeffs -{ -} +internalField uniform $turbulentKE; +#include "turbulentBoundaryField" // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/nut b/tutorials/incompressible/simpleFoam/motorBike/0/nut new file mode 100644 index 0000000000..650811c0bd --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/nut @@ -0,0 +1,62 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontAndBack + { + type calculated; + value uniform 0; + } + + inlet + { + type calculated; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } + + lowerWall + { + type nutWallFunction; + value uniform 0; + } + + upperWall + { + type calculated; + value uniform 0; + } + + "motorBike_.*" + { + type nutWallFunction; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/omega b/tutorials/incompressible/simpleFoam/motorBike/0/omega new file mode 100644 index 0000000000..c5c2f307c5 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/omega @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "initialConditions" + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform $turbulentOmega; + +#include "turbulentBoundaryField" + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/p b/tutorials/incompressible/simpleFoam/motorBike/0/p new file mode 100644 index 0000000000..366e75b5c5 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/p @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "initialConditions" + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform $pressure; + +boundaryField +{ + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value $internalField; + } + + lowerWall + { + type zeroGradient; + } + + "motorBike_.*" + { + type zeroGradient; + } + + #include "frontBackUpperPatches" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/0/turbulentBoundaryField b/tutorials/incompressible/simpleFoam/motorBike/0/turbulentBoundaryField new file mode 100644 index 0000000000..39fd6f16c1 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/0/turbulentBoundaryField @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +boundaryField +{ + #include "fixedInlet" + + outlet + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } + + lowerWall + { + type kQRWallFunction; + } + + "motorBike_.*" + { + type kQRWallFunction; + } + + #include "frontBackUpperPatches" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/Allrun b/tutorials/incompressible/simpleFoam/motorBike/Allrun new file mode 100755 index 0000000000..7e6037f4cd --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/Allrun @@ -0,0 +1,8 @@ +#!/bin/sh +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication snappyHexMesh -overwrite +runApplication simpleFoam + diff --git a/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties b/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties new file mode 100644 index 0000000000..e9be8519b4 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/constant/RASProperties @@ -0,0 +1,200 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +RASModel kOmegaSST; + +turbulence on; + +printCoeffs on; + +laminarCoeffs +{ +} + +kEpsilonCoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; +} + +RNGkEpsilonCoeffs +{ + Cmu 0.0845; + C1 1.42; + C2 1.68; + alphak 1.39; + alphaEps 1.39; + eta0 4.38; + beta 0.012; +} + +realizableKECoeffs +{ + Cmu 0.09; + A0 4.0; + C2 1.9; + alphak 1; + alphaEps 0.833333; +} + +kOmegaSSTCoeffs +{ + alphaK1 0.85034; + alphaK2 1.0; + alphaOmega1 0.5; + alphaOmega2 0.85616; + gamma1 0.5532; + gamma2 0.4403; + beta1 0.0750; + beta2 0.0828; + betaStar 0.09; + a1 0.31; + c1 10; + + Cmu 0.09; +} + +NonlinearKEShihCoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76932; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; +} + +LienCubicKECoeffs +{ + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; +} + +QZetaCoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaZeta 0.76923; + anisotropic no; +} + +LaunderSharmaKECoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; +} + +LamBremhorstKECoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphaEps 0.76923; +} + +LienCubicKELowReCoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + A1 1.25; + A2 1000; + Ctau1 -4; + Ctau2 13; + Ctau3 -2; + alphaKsi 0.9; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; +} + +LienLeschzinerLowReCoeffs +{ + Cmu 0.09; + C1 1.44; + C2 1.92; + alphak 1; + alphaEps 0.76923; + Am 0.016; + Aepsilon 0.263; + Amu 0.00222; +} + +LRRCoeffs +{ + Cmu 0.09; + Clrr1 1.8; + Clrr2 0.6; + C1 1.44; + C2 1.92; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; +} + +LaunderGibsonRSTMCoeffs +{ + Cmu 0.09; + Clg1 1.8; + Clg2 0.6; + C1 1.44; + C2 1.92; + C1Ref 0.5; + C2Ref 0.3; + Cs 0.25; + Ceps 0.15; + alphaEps 0.76923; + alphaR 1.22; +} + +SpalartAllmarasCoeffs +{ + alphaNut 1.5; + Cb1 0.1355; + Cb2 0.622; + Cw2 0.3; + Cw3 2; + Cv1 7.1; + Cv2 5.0; +} + +wallFunctionCoeffs +{ + kappa 0.4187; + E 9; +} + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict b/tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/blockMeshDict similarity index 53% rename from tutorials/mesh/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict rename to tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/blockMeshDict index c618a0a9ac..0b5b6428a6 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict +++ b/tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/blockMeshDict @@ -1,37 +1,45 @@ -/*--------------------------------*- C++ -*----------------------------------*\ +/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\ / O peration | Version: 1.0 | +| \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ + FoamFile { - version 2.0; - format ascii; - class dictionary; - object blockMeshDict; + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + convertToMeters 1; vertices ( - (-20.29 -10 -4.232e-05) - ( 41.71 -10 -4.232e-05) - ( 41.71 10 -4.232e-05) - (-20.29 10 -4.232e-05) - (-20.29 -10 20) - ( 41.71 -10 20) - ( 41.71 10 20) - (-20.29 10 20) + (-5 -4 0) + (15 -4 0) + (15 4 0) + (-5 4 0) + (-5 -4 8) + (15 -4 8) + (15 4 8) + (-5 4 8) ); blocks ( - hex (0 1 2 3 4 5 6 7) (60 20 20) simpleGrading (1 1 1) + hex (0 1 2 3 4 5 6 7) (20 8 8) simpleGrading (1 1 1) ); edges @@ -40,35 +48,27 @@ edges patches ( - patch maxY + patch frontAndBack ( (3 7 6 2) + (1 5 4 0) ) - patch minX + patch inlet ( (0 4 7 3) ) - patch maxX + patch outlet ( (2 6 5 1) ) - patch minY - ( - (1 5 4 0) - ) - patch minZ + wall lowerWall ( (0 3 2 1) ) - patch maxZ + patch upperWall ( (4 5 6 7) ) ); -mergePatchPairs -( -); - - // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/boundary b/tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/boundary new file mode 100644 index 0000000000..7a2e890684 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/constant/polyMesh/boundary @@ -0,0 +1,454 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +72 +( + frontAndBack + { + type patch; + nFaces 320; + startFace 955219; + } + inlet + { + type patch; + nFaces 64; + startFace 955539; + } + outlet + { + type patch; + nFaces 64; + startFace 955603; + } + lowerWall + { + type wall; + nFaces 5330; + startFace 955667; + } + upperWall + { + type patch; + nFaces 160; + startFace 960997; + } + motorBike_frt-fairing:001%1 + { + type wall; + nFaces 9726; + startFace 961157; + } + motorBike_windshield:002%2 + { + type wall; + nFaces 86; + startFace 970883; + } + motorBike_rr-wh-rim:005%5 + { + type wall; + nFaces 186; + startFace 970969; + } + motorBike_rr-wh-rim:010%10 + { + type wall; + nFaces 355; + startFace 971155; + } + motorBike_fr-wh-rim:011%11 + { + type wall; + nFaces 594; + startFace 971510; + } + motorBike_fr-wh-brake-disk:012%12 + { + type wall; + nFaces 55; + startFace 972104; + } + motorBike_frame:016-shadow%13 + { + type wall; + nFaces 163; + startFace 972159; + } + motorBike_rear-susp:014%14 + { + type wall; + nFaces 1300; + startFace 972322; + } + motorBike_rear-susp:014-shadow%15 + { + type wall; + nFaces 166; + startFace 973622; + } + motorBike_frame:016%16 + { + type wall; + nFaces 21; + startFace 973788; + } + motorBike_rr-wh-rim:005-shadow%17 + { + type wall; + nFaces 25; + startFace 973809; + } + motorBike_rr-wh-chain-hub:022%22 + { + type wall; + nFaces 161; + startFace 973834; + } + motorBike_rearseat%24 + { + type wall; + nFaces 543; + startFace 973995; + } + motorBike_frt-fairing%25 + { + type wall; + nFaces 927; + startFace 974538; + } + motorBike_windshield%26 + { + type wall; + nFaces 821; + startFace 975465; + } + motorBike_headlights%27 + { + type wall; + nFaces 280; + startFace 976286; + } + motorBike_driversseat%28 + { + type wall; + nFaces 457; + startFace 976566; + } + motorBike_rear-body%29 + { + type wall; + nFaces 3081; + startFace 977023; + } + motorBike_fuel-tank%30 + { + type wall; + nFaces 1512; + startFace 980104; + } + motorBike_exhaust%31 + { + type wall; + nFaces 3516; + startFace 981616; + } + motorBike_rr-wh-rim%32 + { + type wall; + nFaces 2128; + startFace 985132; + } + motorBike_fr-mud-guard%33 + { + type wall; + nFaces 1096; + startFace 987260; + } + motorBike_fr-wh-rim%34 + { + type wall; + nFaces 954; + startFace 988356; + } + motorBike_fr-wh-brake-disk%35 + { + type wall; + nFaces 533; + startFace 989310; + } + motorBike_fr-brake-caliper%36 + { + type wall; + nFaces 199; + startFace 989843; + } + motorBike_fr-wh-tyre%37 + { + type wall; + nFaces 1855; + startFace 990042; + } + motorBike_hbars%38 + { + type wall; + nFaces 745; + startFace 991897; + } + motorBike_fr-forks%39 + { + type wall; + nFaces 1637; + startFace 992642; + } + motorBike_chain%40 + { + type wall; + nFaces 484; + startFace 994279; + } + motorBike_rr-wh-tyre%41 + { + type wall; + nFaces 3022; + startFace 994763; + } + motorBike_square-dial%42 + { + type wall; + nFaces 9; + startFace 997785; + } + motorBike_round-dial%43 + { + type wall; + nFaces 24; + startFace 997794; + } + motorBike_dial-holder%44 + { + type wall; + nFaces 120; + startFace 997818; + } + motorBike_rear-susp%45 + { + type wall; + nFaces 2050; + startFace 997938; + } + motorBike_rear-brake-lights%46 + { + type wall; + nFaces 75; + startFace 999988; + } + motorBike_rear-light-bracket%47 + { + type wall; + nFaces 226; + startFace 1000063; + } + motorBike_frame%48 + { + type wall; + nFaces 2849; + startFace 1000289; + } + motorBike_rear-mud-guard%49 + { + type wall; + nFaces 1177; + startFace 1003138; + } + motorBike_rear-susp-spring-damp%50 + { + type wall; + nFaces 138; + startFace 1004315; + } + motorBike_fairing-inner-plate%51 + { + type wall; + nFaces 551; + startFace 1004453; + } + motorBike_clutch-housing%52 + { + type wall; + nFaces 1199; + startFace 1005004; + } + motorBike_radiator%53 + { + type wall; + nFaces 51; + startFace 1006203; + } + motorBike_water-pipe%54 + { + type wall; + nFaces 112; + startFace 1006254; + } + motorBike_water-pump%55 + { + type wall; + nFaces 96; + startFace 1006366; + } + motorBike_engine%56 + { + type wall; + nFaces 2963; + startFace 1006462; + } + motorBike_rear-shock-link%57 + { + type wall; + nFaces 33; + startFace 1009425; + } + motorBike_rear-brake-fluid-pot-bracket%58 + { + type wall; + nFaces 63; + startFace 1009458; + } + motorBike_rear-brake-fluid-pot%59 + { + type wall; + nFaces 59; + startFace 1009521; + } + motorBike_footpeg%60 + { + type wall; + nFaces 103; + startFace 1009580; + } + motorBike_rr-wh-chain-hub%61 + { + type wall; + nFaces 160; + startFace 1009683; + } + motorBike_rear-brake-caliper%62 + { + type wall; + nFaces 158; + startFace 1009843; + } + motorBike_rider-helmet%65 + { + type wall; + nFaces 964; + startFace 1010001; + } + motorBike_rider-visor%66 + { + type wall; + nFaces 170; + startFace 1010965; + } + motorBike_rider-boots%67 + { + type wall; + nFaces 1657; + startFace 1011135; + } + motorBike_rider-gloves%68 + { + type wall; + nFaces 436; + startFace 1012792; + } + motorBike_rider-body%69 + { + type wall; + nFaces 7207; + startFace 1013228; + } + motorBike_frame:0%70 + { + type wall; + nFaces 52; + startFace 1020435; + } + motorBike_frt-fairing:001-shadow%74 + { + type wall; + nFaces 1340; + startFace 1020487; + } + motorBike_windshield-shadow%75 + { + type wall; + nFaces 111; + startFace 1021827; + } + motorBike_fr-mud-guard-shadow%81 + { + type wall; + nFaces 135; + startFace 1021938; + } + motorBike_fr-wh-brake-disk-shadow%83 + { + type wall; + nFaces 77; + startFace 1022073; + } + motorBike_rear-mud-guard-shadow%84 + { + type wall; + nFaces 143; + startFace 1022150; + } + motorBike_rear-susp-spring-damp-shadow%85 + { + type wall; + nFaces 15; + startFace 1022293; + } + motorBike_radiator-shadow%86 + { + type wall; + nFaces 12; + startFace 1022308; + } + motorBike_rear-shock-link-shadow%87 + { + type wall; + nFaces 7; + startFace 1022320; + } + motorBike_rear-brake-fluid-pot-bracket-shadow%88 + { + type wall; + nFaces 6; + startFace 1022327; + } + motorBike_rr-wh-chain-hub-shadow%89 + { + type wall; + nFaces 24; + startFace 1022333; + } +) + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution b/tutorials/incompressible/simpleFoam/motorBike/constant/transportProperties similarity index 75% rename from tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution rename to tutorials/incompressible/simpleFoam/motorBike/constant/transportProperties index 876c8c233f..c88ea15da7 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/motorBike/constant/transportProperties @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: www.OpenFOAM.org | +| \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,21 +10,12 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; - object fvSolution; + object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -solvers -{} - -PISO -{ - nCorrectors 2; - nNonOrthogonalCorrectors 0; - pRefCell 0; - pRefValue 0; -} +transportModel Newtonian; +nu nu [0 2 -1 0 0 0 0] 1.5e-05; // ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl b/tutorials/incompressible/simpleFoam/motorBike/constant/triSurface/motorBike.stl similarity index 100% rename from tutorials/mesh/snappyHexMesh/motorBike/constant/triSurface/motorBike.stl rename to tutorials/incompressible/simpleFoam/motorBike/constant/triSurface/motorBike.stl diff --git a/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties new file mode 100644 index 0000000000..871d8e64aa --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/constant/turbulenceProperties @@ -0,0 +1,174 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +turbulenceModel SpalartAllmaras; + +turbulence on; + +laminarCoeffs +{ +} + +kEpsilonCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; +} + +RNGkEpsilonCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.0845; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.42; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.68; + alphak alphaK [ 0 0 0 0 0 0 0 ] 1.39; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 1.39; + eta0 eta0 [ 0 0 0 0 0 0 0 ] 4.38; + beta beta [ 0 0 0 0 0 0 0 ] 0.012; +} + +NonlinearKEShihCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76932; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; +} + +LienCubicKECoeffs +{ + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; +} + +QZetaCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaZeta alphaZeta [ 0 0 0 0 0 0 0 ] 0.76923; + anisotropic no; +} + +LaunderSharmaKECoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; +} + +LamBremhorstKECoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; +} + +LienCubicKELowReCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + A1 A1 [ 0 0 0 0 0 0 0 ] 1.25; + A2 A2 [ 0 0 0 0 0 0 0 ] 1000; + Ctau1 Ctau1 [ 0 0 0 0 0 0 0 ] -4; + Ctau2 Ctau2 [ 0 0 0 0 0 0 0 ] 13; + Ctau3 Ctau3 [ 0 0 0 0 0 0 0 ] -2; + alphaKsi alphaKsi [ 0 0 0 0 0 0 0 ] 0.9; + Am Am [ 0 0 0 0 0 0 0 ] 0.016; + Aepsilon Aepsilon [ 0 0 0 0 0 0 0 ] 0.263; + Amu Amu [ 0 0 0 0 0 0 0 ] 0.00222; +} + +LienLeschzinerLowReCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + alphak alphak [ 0 0 0 0 0 0 0 ] 1; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + Am Am [ 0 0 0 0 0 0 0 ] 0.016; + Aepsilon Aepsilon [ 0 0 0 0 0 0 0 ] 0.263; + Amu Amu [ 0 0 0 0 0 0 0 ] 0.00222; +} + +LRRCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + Clrr1 Clrr1 [ 0 0 0 0 0 0 0 ] 1.8; + Clrr2 Clrr2 [ 0 0 0 0 0 0 0 ] 0.6; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + Cs Cs [ 0 0 0 0 0 0 0 ] 0.25; + Ceps Ceps [ 0 0 0 0 0 0 0 ] 0.15; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; +} + +LaunderGibsonRSTMCoeffs +{ + Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09; + Clg1 Clg1 [ 0 0 0 0 0 0 0 ] 1.8; + Clg2 Clg2 [ 0 0 0 0 0 0 0 ] 0.6; + C1 C1 [ 0 0 0 0 0 0 0 ] 1.44; + C2 C2 [ 0 0 0 0 0 0 0 ] 1.92; + C1Ref C1Ref [ 0 0 0 0 0 0 0 ] 0.5; + C2Ref C2Ref [ 0 0 0 0 0 0 0 ] 0.3; + Cs Cs [ 0 0 0 0 0 0 0 ] 0.25; + Ceps Ceps [ 0 0 0 0 0 0 0 ] 0.15; + alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923; + alphaR alphaR [ 0 0 0 0 0 0 0 ] 1.22; +} + +SpalartAllmarasCoeffs +{ + alphaNut alphaNut [ 0 0 0 0 0 0 0 ] 1.5; + Cb1 Cb1 [ 0 0 0 0 0 0 0 ] 0.1355; + Cb2 Cb2 [ 0 0 0 0 0 0 0 ] 0.622; + Cw2 Cw2 [ 0 0 0 0 0 0 0 ] 0.3; + Cw3 Cw3 [ 0 0 0 0 0 0 0 ] 2; + Cv1 Cv1 [ 0 0 0 0 0 0 0 ] 7.1; + Cv2 Cv2 [ 0 0 0 0 0 0 0 ] 5; +} + +wallFunctionCoeffs +{ + kappa kappa [ 0 0 0 0 0 0 0 ] 0.4187; + E E [ 0 0 0 0 0 0 0 ] 9; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict b/tutorials/incompressible/simpleFoam/motorBike/system/controlDict similarity index 84% rename from tutorials/mesh/snappyHexMesh/motorBike/system/controlDict rename to tutorials/incompressible/simpleFoam/motorBike/system/controlDict index ef80311ee1..0fe34b6df6 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/controlDict +++ b/tutorials/incompressible/simpleFoam/motorBike/system/controlDict @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: www.OpenFOAM.org | +| \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,32 +10,33 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +application simpleFoam; + startFrom latestTime; startTime 0; stopAt endTime; -endTime 100; +endTime 500; deltaT 1; writeControl timeStep; -writeInterval 1; +writeInterval 100; purgeWrite 0; writeFormat ascii; -writePrecision 7; +writePrecision 6; -writeCompression uncompressed; +writeCompression compressed; timeFormat general; @@ -43,5 +44,4 @@ timePrecision 6; runTimeModifiable yes; - // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/decomposeParDict b/tutorials/incompressible/simpleFoam/motorBike/system/decomposeParDict new file mode 100644 index 0000000000..cbcdf2d23a --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/system/decomposeParDict @@ -0,0 +1,65 @@ +// The FOAM Project // File: decomposeParDict +/* +------------------------------------------------------------------------------- + ========= | dictionary + \\ / | + \\ / | Name: decomposeParDict + \\ / | Family: FoamX configuration file + \\/ | + F ield | FOAM version: 2.1 + O peration | Product of Nabla Ltd. + A and | + M anipulation | Email: Enquiries@Nabla.co.uk +------------------------------------------------------------------------------- +*/ +// FoamX Case Dictionary. + +FoamFile +{ + version 2.0; + format ascii; + + root "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam"; + case "cavity"; + instance "system"; + local ""; + + class dictionary; + object decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +numberOfSubdomains 6; + +method hierarchical; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (4 1 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (3 2 1); + delta 0.001; + order xyz; +} + +manualCoeffs +{ + dataFile "cellDecomposition"; +} + +metisCoeffs +{ + //n (5 1 1); + //cellWeightsFile "constant/cellWeightsFile"; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes b/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes similarity index 67% rename from tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes rename to tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes index 2fa85964b7..8b6d823cc4 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/fvSchemes +++ b/tutorials/incompressible/simpleFoam/motorBike/system/fvSchemes @@ -2,7 +2,7 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: www.OpenFOAM.org | +| \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile @@ -10,40 +10,43 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { - default Euler; + default steadyState; } gradSchemes { default Gauss linear; grad(p) Gauss linear; + grad(U) Gauss linear; +// grad(U) cellLimited Gauss linear 1; } divSchemes { default none; - div(phi,U) Gauss linear; + div(phi,U) Gauss linearUpwindV Gauss linear; + div(phi,k) Gauss upwind; + div(phi,omega) Gauss upwind; + div((nuEff*dev(grad(U).T()))) Gauss linear; } laplacianSchemes { - default none; - laplacian(nu,U) Gauss linear corrected; - laplacian(1|A(U),p) Gauss linear corrected; - laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; + default Gauss linear corrected; +// default Gauss linear limited 0.5; +// default Gauss linear limited 0.333; } interpolationSchemes { default linear; - interpolate(HbyA) linear; + interpolate(U) linear; } snGradSchemes @@ -54,8 +57,7 @@ snGradSchemes fluxRequired { default no; - p ; + p; } - // ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution b/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution new file mode 100644 index 0000000000..c0356c6b38 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + tolerance 1e-7; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + }; + + U + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + }; + + k + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + }; + + omega + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-8; + relTol 0.1; + nSweeps 1; + }; +} + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + p 0.3; + U 0.7; + k 0.7; + omega 0.7; +} + +// ************************************************************************* // diff --git a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict b/tutorials/incompressible/simpleFoam/motorBike/system/snappyHexMeshDict similarity index 54% rename from tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict rename to tutorials/incompressible/simpleFoam/motorBike/system/snappyHexMeshDict index 0d84177d8b..1006a1e1b6 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike/system/snappyHexMeshDict +++ b/tutorials/incompressible/simpleFoam/motorBike/system/snappyHexMeshDict @@ -1,16 +1,16 @@ -/*--------------------------------*- C++ -*----------------------------------*\ +/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: www.OpenFOAM.org | +| \\ / O peration | Version: 1.0 | +| \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ + FoamFile { version 2.0; format ascii; class dictionary; - location "system"; object snappyHexMeshDict; } @@ -32,17 +32,18 @@ geometry { motorBike.stl { - type triSurfaceMesh; - name motorBike; + type triSurfaceMesh; + name motorBike; } refinementBox { - type searchableBox; - min ( -0.3 -0.4 -0.1 ); - max ( 3 0.4 1.4 ); + type searchableBox; + min (-1.0 -0.7 0.0); + max ( 8.0 0.7 2.5); } -} +}; + // Settings for the castellatedMesh generation. @@ -55,15 +56,14 @@ castellatedMeshControls // While refining maximum number of cells per processor. This is basically // the number of cells that fit on a processor. If you choose this too small // it will do just more refinement iterations to obtain a similar mesh. - maxLocalCells 1000000; - + maxLocalCells 1000000; // Overall cell limit (approximately). Refinement will stop immediately // upon reaching this number so a refinement level might not complete. // Note that this is the number of cells before removing the part which // is not 'visible' from the keepPoint. The final number of cells might // actually be a lot less. - maxGlobalCells 2000000; + maxGlobalCells 2000000; // The surface refinement loop might spend lots of iterations refining just a // few cells. This setting will cause refinement to stop if <= minimumRefine @@ -74,7 +74,7 @@ castellatedMeshControls // Number of buffer layers between different levels. // 1 means normal 2:1 refinement restriction, larger means slower // refinement. - nCellsBetweenLevels 2; + nCellsBetweenLevels 3; @@ -107,7 +107,7 @@ castellatedMeshControls motorBike { // Surface-wise min and max refinement level - level ( 5 6 ); + level (5 6); } } @@ -127,17 +127,17 @@ castellatedMeshControls // cells inside the surface get refined up to the level. The surface // needs to be closed for this to be possible. // - outside. Same but cells outside. + refinementRegions { refinementBox { - mode inside; - levels ( ( 1e+15 4 ) ); + mode inside; + levels ((1E15 4)); } } - // Mesh selection // ~~~~~~~~~~~~~~ @@ -146,16 +146,17 @@ castellatedMeshControls // section reachable from the locationInMesh is kept. // NOTE: This point should never be on a face, always inside a cell, even // after refinement. - locationInMesh ( 3 3 0.43 ); + locationInMesh (3 3 0.43); } + // Settings for the snapping. snapControls { //- Number of patch smoothing iterations before finding correspondence // to surface - nSmoothPatch 3; + nSmoothPatch 3; //- Relative distance for points to be attracted by surface feature point // or edge. True distance is this factor times local @@ -163,14 +164,15 @@ snapControls tolerance 4.0; //- Number of mesh displacement relaxation iterations. - nSolveIter 30; + nSolveIter 30; //- Maximum number of snapping relaxation iterations. Should stop // before upon reaching a correct mesh. - nRelaxIter 5; + nRelaxIter 5; } + // Settings for the layer addition. addLayersControls { @@ -179,12 +181,275 @@ addLayersControls { minZ { - nSurfaceLayers 1; + nSurfaceLayers 1; } - - "motorBike_.*" + motorBike_frt-fairing:001%1 { - nSurfaceLayers 1; + nSurfaceLayers 1; + } + motorBike_windshield:002%2 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-rim:005%5 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-rim:010%10 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-rim:011%11 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-brake-disk:012%12 + { + nSurfaceLayers 1; + } + motorBike_frame:016-shadow%13 + { + nSurfaceLayers 1; + } + motorBike_rear-susp:014%14 + { + nSurfaceLayers 1; + } + motorBike_rear-susp:014-shadow%15 + { + nSurfaceLayers 1; + } + motorBike_frame:016%16 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-rim:005-shadow%17 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-chain-hub:022%22 + { + nSurfaceLayers 1; + } + motorBike_rearseat%24 + { + nSurfaceLayers 1; + } + motorBike_frt-fairing%25 + { + nSurfaceLayers 1; + } + motorBike_windshield%26 + { + nSurfaceLayers 1; + } + motorBike_headlights%27 + { + nSurfaceLayers 1; + } + motorBike_driversseat%28 + { + nSurfaceLayers 1; + } + motorBike_rear-body%29 + { + nSurfaceLayers 1; + } + motorBike_fuel-tank%30 + { + nSurfaceLayers 1; + } + motorBike_exhaust%31 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-rim%32 + { + nSurfaceLayers 1; + } + motorBike_fr-mud-guard%33 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-rim%34 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-brake-disk%35 + { + nSurfaceLayers 1; + } + motorBike_fr-brake-caliper%36 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-tyre%37 + { + nSurfaceLayers 1; + } + motorBike_hbars%38 + { + nSurfaceLayers 1; + } + motorBike_fr-forks%39 + { + nSurfaceLayers 1; + } + motorBike_chain%40 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-tyre%41 + { + nSurfaceLayers 1; + } + motorBike_square-dial%42 + { + nSurfaceLayers 1; + } + motorBike_round-dial%43 + { + nSurfaceLayers 1; + } + motorBike_dial-holder%44 + { + nSurfaceLayers 1; + } + motorBike_rear-susp%45 + { + nSurfaceLayers 1; + } + motorBike_rear-brake-lights%46 + { + nSurfaceLayers 1; + } + motorBike_rear-light-bracket%47 + { + nSurfaceLayers 1; + } + motorBike_frame%48 + { + nSurfaceLayers 1; + } + motorBike_rear-mud-guard%49 + { + nSurfaceLayers 1; + } + motorBike_rear-susp-spring-damp%50 + { + nSurfaceLayers 1; + } + motorBike_fairing-inner-plate%51 + { + nSurfaceLayers 1; + } + motorBike_clutch-housing%52 + { + nSurfaceLayers 1; + } + motorBike_radiator%53 + { + nSurfaceLayers 1; + } + motorBike_water-pipe%54 + { + nSurfaceLayers 1; + } + motorBike_water-pump%55 + { + nSurfaceLayers 1; + } + motorBike_engine%56 + { + nSurfaceLayers 1; + } + motorBike_rear-shock-link%57 + { + nSurfaceLayers 1; + } + motorBike_rear-brake-fluid-pot-bracket%58 + { + nSurfaceLayers 1; + } + motorBike_rear-brake-fluid-pot%59 + { + nSurfaceLayers 1; + } + motorBike_footpeg%60 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-chain-hub%61 + { + nSurfaceLayers 1; + } + motorBike_rear-brake-caliper%62 + { + nSurfaceLayers 1; + } + motorBike_rider-helmet%65 + { + nSurfaceLayers 1; + } + motorBike_rider-visor%66 + { + nSurfaceLayers 1; + } + motorBike_rider-boots%67 + { + nSurfaceLayers 1; + } + motorBike_rider-gloves%68 + { + nSurfaceLayers 1; + } + motorBike_rider-body%69 + { + nSurfaceLayers 1; + } + motorBike_frame:0%70 + { + nSurfaceLayers 1; + } + motorBike_frt-fairing:001-shadow%74 + { + nSurfaceLayers 1; + } + motorBike_windshield-shadow%75 + { + nSurfaceLayers 1; + } + motorBike_fr-mud-guard-shadow%81 + { + nSurfaceLayers 1; + } + motorBike_fr-wh-brake-disk-shadow%83 + { + nSurfaceLayers 1; + } + motorBike_rear-mud-guard-shadow%84 + { + nSurfaceLayers 1; + } + motorBike_rear-susp-spring-damp-shadow%85 + { + nSurfaceLayers 1; + } + motorBike_radiator-shadow%86 + { + nSurfaceLayers 1; + } + motorBike_rear-shock-link-shadow%87 + { + nSurfaceLayers 1; + } + motorBike_rear-brake-fluid-pot-bracket-shadow%88 + { + nSurfaceLayers 1; + } + motorBike_rr-wh-chain-hub-shadow%89 + { + nSurfaceLayers 1; } } @@ -200,29 +465,29 @@ addLayersControls //- Minimum thickness of cell layer. If for any reason layer // cannot be above minThickness do not add layer. // Relative to undistorted size of cell outside layer. - minThickness 0.1; + minThickness 0.1; //- If points get not extruded do nGrow layers of connected faces that are // also not grown. This helps convergence of the layer addition process // close to features. - nGrow 1; + nGrow 1; // Advanced settings //- When not to extrude surface. 0 is flat surface, 90 is when two faces // make straight angle. - featureAngle 30; + featureAngle 30; //- Maximum number of snapping relaxation iterations. Should stop // before upon reaching a correct mesh. - nRelaxIter 3; + nRelaxIter 3; // Number of smoothing iterations of surface normals nSmoothSurfaceNormals 1; // Number of smoothing iterations of interior mesh movement direction - nSmoothNormals 3; + nSmoothNormals 3; // Smooth layer thickness over surface patches nSmoothThickness 10; @@ -239,19 +504,16 @@ addLayersControls // Create buffer region for new layer terminations nBufferCellsNoExtrude 0; - - - // Overall max number of layer addition iterations - nLayerIter 50; } + // Generic mesh quality settings. At any undoable phase these determine // where to undo. meshQualityControls { //- Maximum non-orthogonality allowed. Set to 180 to disable. - maxNonOrtho 65; + maxNonOrtho 65; //- Max skewness allowed. Set to <0 to disable. maxBoundarySkewness 20; @@ -260,31 +522,31 @@ meshQualityControls //- Max concaveness allowed. Is angle (in degrees) below which concavity // is allowed. 0 is straight face, <0 would be convex face. // Set to 180 to disable. - maxConcave 80; + maxConcave 80; //- Minimum projected area v.s. actual area. Set to -1 to disable. - minFlatness 0.5; + minFlatness 0.5; //- Minimum pyramid volume. Is absolute volume of cell pyramid. // Set to very negative number (e.g. -1E30) to disable. - minVol 1e-13; + minVol 1e-13; //- Minimum face area. Set to <0 to disable. - minArea -1; + minArea -1; //- Minimum face twist. Set to <-1 to disable. dot product of face normal //- and face centre triangles normal - minTwist 0.02; + minTwist 0.02; //- minimum normalised cell determinant //- 1 = hex, <= 0 = folded or flattened illegal cell - minDeterminant 0.001; + minDeterminant 0.001; //- minFaceWeight (0 -> 0.5) - minFaceWeight 0.02; + minFaceWeight 0.02; //- minVolRatio (0 -> 1) - minVolRatio 0.01; + minVolRatio 0.01; //must be >0 for Fluent compatibility minTriangleTwist -1; @@ -293,13 +555,12 @@ meshQualityControls // Advanced //- Number of error distribution iterations - nSmoothScale 4; + nSmoothScale 4; //- amount to scale back displacement at error points - errorReduction 0.75; + errorReduction 0.75; } - // Advanced // Flags for optional output @@ -307,12 +568,12 @@ meshQualityControls // 1 : write intermediate meshes // 2 : write volScalarField with cellLevel for postprocessing // 4 : write current intersections as .obj files -debug 0; +debug 0; // Merge tolerance. Is fraction of overall bounding box of initial mesh. // Note: the write tolerance needs to be higher than this. -mergeTolerance 1e-06; +mergeTolerance 1E-6; // ************************************************************************* // diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties index e5c06a7e04..9a18bc51f1 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties @@ -32,7 +32,7 @@ liquidComponents H2O H2O defaultCoeffs; -solidFuelComponents +solidComponents ( C ash diff --git a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/thermophysicalProperties b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/thermophysicalProperties index 5d9a097035..5946130cbb 100644 --- a/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/thermophysicalProperties +++ b/tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/filter/constant/thermophysicalProperties @@ -29,7 +29,7 @@ liquidComponents ); H2O H2O defaultCoeffs; -solidFuelComponents +solidComponents ( ); diff --git a/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties index 8b80f059a3..6e80104f13 100644 --- a/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFoam/evaporationTest/constant/thermophysicalProperties @@ -23,9 +23,13 @@ foamChemistryFile "$FOAM_CASE/chemkin/foam.inp"; foamChemistryThermoFile "$FOAM_CASE/chemkin/foam.dat"; -liquidComponents ( H2O ); +liquidComponents +( + H2O +); -solidFuelComponents ( ); +solidComponents +(); inertSpecie N2; diff --git a/tutorials/mesh/snappyHexMesh/Allrun b/tutorials/mesh/snappyHexMesh/Allrun new file mode 100755 index 0000000000..e69de29bb2 diff --git a/tutorials/mesh/snappyHexMesh/iglooWithFridges b/tutorials/mesh/snappyHexMesh/iglooWithFridges new file mode 120000 index 0000000000..b06b074963 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/iglooWithFridges @@ -0,0 +1 @@ +../../heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges \ No newline at end of file diff --git a/tutorials/mesh/snappyHexMesh/motorBike b/tutorials/mesh/snappyHexMesh/motorBike new file mode 120000 index 0000000000..9b9e145e08 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/motorBike @@ -0,0 +1 @@ +../../incompressible/simpleFoam/motorBike \ No newline at end of file diff --git a/wmake/rules/General/general b/wmake/rules/General/general index 2f2a67cb56..419d9b1d38 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -3,7 +3,7 @@ ARFLAGS = cr RANLIB = ranlib LD = ld -GFLAGS = -D$(WM_ARCH) -D$(WM_PRECISION_OPTION) -GINC = +GFLAGS = -D$(WM_ARCH) -DWM_$(WM_PRECISION_OPTION) +GINC = GLIBS = -lm -GLIB_LIBS = +GLIB_LIBS =