mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
Added softlinks for: tutorials/mesh/snappyHexMesh/iglooWithFridges tutorials/mesh/snappyHexMesh/motorBike
This commit is contained in:
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -34,9 +34,9 @@ License
|
||||
#include <cstdlib>
|
||||
#include <csignal>
|
||||
|
||||
#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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -173,9 +173,32 @@ void Foam::KinematicCloud<ParcelType>::resetSourceTerms()
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::preEvolve()
|
||||
{
|
||||
this->dispersion().cacheFields(true);
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::postEvolve()
|
||||
{
|
||||
if (debug)
|
||||
{
|
||||
this->writePositions();
|
||||
}
|
||||
|
||||
this->dispersion().cacheFields(false);
|
||||
|
||||
this->postProcessing().post();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::evolve()
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
autoPtr<interpolation<scalar> > rhoInterpolator =
|
||||
interpolation<scalar>::New
|
||||
(
|
||||
@ -209,11 +232,6 @@ void Foam::KinematicCloud<ParcelType>::evolve()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
this->writePositions();
|
||||
}
|
||||
|
||||
if (coupled_)
|
||||
{
|
||||
resetSourceTerms();
|
||||
@ -221,7 +239,7 @@ void Foam::KinematicCloud<ParcelType>::evolve()
|
||||
|
||||
Cloud<ParcelType>::move(td);
|
||||
|
||||
this->postProcessing().post();
|
||||
postEvolve();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -184,6 +184,15 @@ protected:
|
||||
DimensionedField<vector, volMesh> UTrans_;
|
||||
|
||||
|
||||
// Cloud evolution functions
|
||||
|
||||
//- Pre-evolve
|
||||
void preEvolve();
|
||||
|
||||
//- Post-evolve
|
||||
void postEvolve();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -175,9 +175,25 @@ void Foam::ReactingCloud<ParcelType>::resetSourceTerms()
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingCloud<ParcelType>::preEvolve()
|
||||
{
|
||||
ThermoCloud<ParcelType>::preEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingCloud<ParcelType>::postEvolve()
|
||||
{
|
||||
ThermoCloud<ParcelType>::postEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingCloud<ParcelType>::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<ParcelType>::evolve()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
this->writePositions();
|
||||
}
|
||||
|
||||
if (this->coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
@ -245,7 +256,7 @@ void Foam::ReactingCloud<ParcelType>::evolve()
|
||||
|
||||
Cloud<ParcelType>::move(td);
|
||||
|
||||
this->postProcessing().post();
|
||||
postEvolve();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -132,6 +132,15 @@ protected:
|
||||
);
|
||||
|
||||
|
||||
// Cloud evolution functions
|
||||
|
||||
//- Pre-evolve
|
||||
void preEvolve();
|
||||
|
||||
//- Post-evolve
|
||||
void postEvolve();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -129,9 +129,25 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::resetSourceTerms()
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingMultiphaseCloud<ParcelType>::preEvolve()
|
||||
{
|
||||
ReactingCloud<ParcelType>::preEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingMultiphaseCloud<ParcelType>::postEvolve()
|
||||
{
|
||||
ReactingCloud<ParcelType>::postEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingMultiphaseCloud<ParcelType>::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<ParcelType>::evolve()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
this->writePositions();
|
||||
}
|
||||
|
||||
if (this->coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
@ -199,7 +210,7 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolve()
|
||||
|
||||
Cloud<ParcelType>::move(td);
|
||||
|
||||
this->postProcessing().post();
|
||||
postEvolve();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ class ReactingMultiphaseCloud
|
||||
public ReactingCloud<ParcelType>,
|
||||
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
|
||||
|
||||
@ -142,9 +142,25 @@ void Foam::ThermoCloud<ParcelType>::resetSourceTerms()
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ThermoCloud<ParcelType>::preEvolve()
|
||||
{
|
||||
KinematicCloud<ParcelType>::preEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ThermoCloud<ParcelType>::postEvolve()
|
||||
{
|
||||
KinematicCloud<ParcelType>::postEvolve();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::ThermoCloud<ParcelType>::evolve()
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
const volScalarField& T = carrierThermo_.T();
|
||||
const volScalarField cp = carrierThermo_.Cp();
|
||||
|
||||
@ -192,11 +208,6 @@ void Foam::ThermoCloud<ParcelType>::evolve()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
this->writePositions();
|
||||
}
|
||||
|
||||
if (this->coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
@ -204,7 +215,7 @@ void Foam::ThermoCloud<ParcelType>::evolve()
|
||||
|
||||
Cloud<ParcelType>::move(td);
|
||||
|
||||
this->postProcessing().post();
|
||||
postEvolve();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -118,6 +118,17 @@ protected:
|
||||
DimensionedField<scalar, volMesh> hcTrans_;
|
||||
|
||||
|
||||
// Protected member functions
|
||||
|
||||
// Cloud evolution functions
|
||||
|
||||
//- Pre-evolve
|
||||
void preEvolve();
|
||||
|
||||
//- Post-evolve
|
||||
void postEvolve();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -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<ParcelType>); \
|
||||
\
|
||||
@ -79,6 +80,12 @@ License
|
||||
NoInjection, \
|
||||
KinematicCloud, \
|
||||
ParcelType \
|
||||
); \
|
||||
makeInjectionModelType \
|
||||
( \
|
||||
PatchInjection, \
|
||||
KinematicCloud, \
|
||||
ParcelType \
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -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 \
|
||||
); \
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -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, \
|
||||
|
||||
@ -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
|
||||
(
|
||||
|
||||
@ -42,7 +42,11 @@ Foam::DispersionRASModel<CloudType>::DispersionRASModel
|
||||
(
|
||||
"RASProperties"
|
||||
)
|
||||
)
|
||||
),
|
||||
kPtr_(NULL),
|
||||
ownK_(false),
|
||||
epsilonPtr_(NULL),
|
||||
ownEpsilon_(false)
|
||||
{}
|
||||
|
||||
|
||||
@ -50,7 +54,56 @@ Foam::DispersionRASModel<CloudType>::DispersionRASModel
|
||||
|
||||
template<class CloudType>
|
||||
Foam::DispersionRASModel<CloudType>::~DispersionRASModel()
|
||||
{}
|
||||
{
|
||||
cacheFields(false);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
void Foam::DispersionRASModel<CloudType>::cacheFields(const bool store)
|
||||
{
|
||||
if (store)
|
||||
{
|
||||
tmp<volScalarField> tk = this->turbulence().k();
|
||||
if (tk.isTmp())
|
||||
{
|
||||
kPtr_ = tk.ptr();
|
||||
ownK_ = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
kPtr_ = tk.operator->();
|
||||
ownK_ = false;
|
||||
}
|
||||
|
||||
tmp<volScalarField> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -50,11 +50,27 @@ class DispersionRASModel
|
||||
:
|
||||
public DispersionModel<CloudType>
|
||||
{
|
||||
// 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
|
||||
{
|
||||
|
||||
@ -35,7 +35,8 @@ Foam::GradientDispersionRAS<CloudType>::GradientDispersionRAS
|
||||
CloudType& owner
|
||||
)
|
||||
:
|
||||
DispersionRASModel<CloudType>(dict, owner)
|
||||
DispersionRASModel<CloudType>(dict, owner),
|
||||
gradkPtr_(NULL)
|
||||
{}
|
||||
|
||||
|
||||
@ -43,7 +44,9 @@ Foam::GradientDispersionRAS<CloudType>::GradientDispersionRAS
|
||||
|
||||
template<class CloudType>
|
||||
Foam::GradientDispersionRAS<CloudType>::~GradientDispersionRAS()
|
||||
{}
|
||||
{
|
||||
cacheFields(false);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
@ -55,6 +58,25 @@ bool Foam::GradientDispersionRAS<CloudType>::active() const
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
void Foam::GradientDispersionRAS<CloudType>::cacheFields(const bool store)
|
||||
{
|
||||
DispersionRASModel<CloudType>::cacheFields(store);
|
||||
|
||||
if (store)
|
||||
{
|
||||
gradkPtr_ = fvc::grad(*this->kPtr_).ptr();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gradkPtr_)
|
||||
{
|
||||
delete gradkPtr_;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::vector Foam::GradientDispersionRAS<CloudType>::update
|
||||
(
|
||||
@ -68,9 +90,9 @@ Foam::vector Foam::GradientDispersionRAS<CloudType>::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);
|
||||
|
||||
|
||||
@ -51,6 +51,14 @@ class GradientDispersionRAS
|
||||
:
|
||||
public DispersionRASModel<CloudType>
|
||||
{
|
||||
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,
|
||||
|
||||
@ -55,6 +55,13 @@ bool Foam::NoDispersion<CloudType>::active() const
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
void Foam::NoDispersion<CloudType>::cacheFields(const bool)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::vector Foam::NoDispersion<CloudType>::update
|
||||
(
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -68,8 +68,8 @@ Foam::vector Foam::StochasticDispersionRAS<CloudType>::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);
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -138,7 +138,7 @@ void Foam::ManualInjection<CloudType>::setPositionAndCell
|
||||
(
|
||||
const label parcelI,
|
||||
const label,
|
||||
const scalar time,
|
||||
const scalar,
|
||||
vector& position,
|
||||
label& cellOwner
|
||||
)
|
||||
|
||||
@ -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<class CloudType>
|
||||
Foam::label Foam::PatchInjection<CloudType>::parcelsToInject
|
||||
(
|
||||
const scalar time0,
|
||||
const scalar time1
|
||||
) const
|
||||
{
|
||||
if ((time0 >= 0.0) && (time0 < duration_))
|
||||
{
|
||||
return round(fraction_*(time1 - time0)*parcelsPerSecond_);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::scalar Foam::PatchInjection<CloudType>::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<class CloudType>
|
||||
Foam::PatchInjection<CloudType>::PatchInjection
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& owner
|
||||
)
|
||||
:
|
||||
InjectionModel<CloudType>(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<scalar>::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<CloudType>::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<scalar>());
|
||||
fraction_ = patchSize/totalPatchSize;
|
||||
|
||||
// Set total volume to inject
|
||||
this->volumeTotal_ = fraction_*volumeFlowRate_().integrate(0.0, duration_);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::PatchInjection<CloudType>::~PatchInjection()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
bool Foam::PatchInjection<CloudType>::active() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::scalar Foam::PatchInjection<CloudType>::timeEnd() const
|
||||
{
|
||||
return this->SOI_ + duration_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
void Foam::PatchInjection<CloudType>::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<class CloudType>
|
||||
void Foam::PatchInjection<CloudType>::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<class CloudType>
|
||||
bool Foam::PatchInjection<CloudType>::fullyDescribed() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
bool Foam::PatchInjection<CloudType>::validInjection(const label)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 Type>
|
||||
class DataEntry;
|
||||
|
||||
class pdf;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class PatchInjection Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class CloudType>
|
||||
class PatchInjection
|
||||
:
|
||||
public InjectionModel<CloudType>
|
||||
{
|
||||
// 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<DataEntry<scalar> > volumeFlowRate_;
|
||||
|
||||
//- Parcel size PDF model
|
||||
const autoPtr<pdf> 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
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -43,14 +43,14 @@ void Foam::hPsiMixtureThermo<MixtureType>::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<MixtureType>::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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,15 +44,15 @@ void Foam::hRhoMixtureThermo<MixtureType>::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<MixtureType>::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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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 | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -10,7 +10,7 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object snappyHexMeshDict;
|
||||
object autoHexMeshDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
51
tutorials/incompressible/simpleFoam/motorBike/0/U
Normal file
51
tutorials/incompressible/simpleFoam/motorBike/0/U
Normal file
@ -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"
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
15
tutorials/incompressible/simpleFoam/motorBike/0/fixedInlet
Normal file
15
tutorials/incompressible/simpleFoam/motorBike/0/fixedInlet
Normal file
@ -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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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"
|
||||
|
||||
// ************************************************************************* //
|
||||
62
tutorials/incompressible/simpleFoam/motorBike/0/nut
Normal file
62
tutorials/incompressible/simpleFoam/motorBike/0/nut
Normal file
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
25
tutorials/incompressible/simpleFoam/motorBike/0/omega
Normal file
25
tutorials/incompressible/simpleFoam/motorBike/0/omega
Normal file
@ -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"
|
||||
|
||||
// ************************************************************************* //
|
||||
49
tutorials/incompressible/simpleFoam/motorBike/0/p
Normal file
49
tutorials/incompressible/simpleFoam/motorBike/0/p
Normal file
@ -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"
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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"
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
8
tutorials/incompressible/simpleFoam/motorBike/Allrun
Executable file
8
tutorials/incompressible/simpleFoam/motorBike/Allrun
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication snappyHexMesh -overwrite
|
||||
runApplication simpleFoam
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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";
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -32,7 +32,7 @@ liquidComponents
|
||||
|
||||
H2O H2O defaultCoeffs;
|
||||
|
||||
solidFuelComponents
|
||||
solidComponents
|
||||
(
|
||||
C
|
||||
ash
|
||||
|
||||
@ -29,7 +29,7 @@ liquidComponents
|
||||
);
|
||||
H2O H2O defaultCoeffs;
|
||||
|
||||
solidFuelComponents
|
||||
solidComponents
|
||||
(
|
||||
);
|
||||
|
||||
|
||||
@ -23,9 +23,13 @@ foamChemistryFile "$FOAM_CASE/chemkin/foam.inp";
|
||||
|
||||
foamChemistryThermoFile "$FOAM_CASE/chemkin/foam.dat";
|
||||
|
||||
liquidComponents ( H2O );
|
||||
liquidComponents
|
||||
(
|
||||
H2O
|
||||
);
|
||||
|
||||
solidFuelComponents ( );
|
||||
solidComponents
|
||||
();
|
||||
|
||||
inertSpecie N2;
|
||||
|
||||
|
||||
0
tutorials/mesh/snappyHexMesh/Allrun
Executable file
0
tutorials/mesh/snappyHexMesh/Allrun
Executable file
1
tutorials/mesh/snappyHexMesh/iglooWithFridges
Symbolic link
1
tutorials/mesh/snappyHexMesh/iglooWithFridges
Symbolic link
@ -0,0 +1 @@
|
||||
../../heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges
|
||||
1
tutorials/mesh/snappyHexMesh/motorBike
Symbolic link
1
tutorials/mesh/snappyHexMesh/motorBike
Symbolic link
@ -0,0 +1 @@
|
||||
../../incompressible/simpleFoam/motorBike
|
||||
@ -3,7 +3,7 @@ ARFLAGS = cr
|
||||
RANLIB = ranlib
|
||||
LD = ld
|
||||
|
||||
GFLAGS = -D$(WM_ARCH) -D$(WM_PRECISION_OPTION)
|
||||
GFLAGS = -D$(WM_ARCH) -DWM_$(WM_PRECISION_OPTION)
|
||||
GINC =
|
||||
GLIBS = -lm
|
||||
GLIB_LIBS =
|
||||
|
||||
Reference in New Issue
Block a user