mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -1,17 +1,20 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
unset COMP_FLAGS LINK_FLAGS
|
||||
|
||||
#
|
||||
# use <sys/inotify.h> if available (Linux)
|
||||
# unless otherwise specified (with FOAM_USE_STAT)
|
||||
# unless otherwise specified (with USE_STAT)
|
||||
#
|
||||
# eg, ./Allwmake FOAM_USE_STAT
|
||||
# eg, ./Allwmake USE_STAT
|
||||
#
|
||||
if [ -f /usr/include/sys/inotify.h -a "${1%USE_STAT}" = "$1" ]
|
||||
then
|
||||
unset FOAM_FILE_MONITOR
|
||||
echo "Found <sys/inotify.h> -- using inotify for file monitoring."
|
||||
unset COMP_FLAGS
|
||||
else
|
||||
export FOAM_FILE_MONITOR="-DFOAM_USE_STAT"
|
||||
export COMP_FLAGS="-DFOAM_USE_STAT"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
EXE_INC = $(FOAM_FILE_MONITOR)
|
||||
EXE_INC = $(COMP_FLAGS)
|
||||
|
||||
@ -207,6 +207,10 @@ public:
|
||||
//- Assignment from UList
|
||||
inline void operator=(const UList<T>&);
|
||||
|
||||
//- Assignment from UIndirectList
|
||||
inline void operator=(const UIndirectList<T>&);
|
||||
|
||||
|
||||
|
||||
// IOstream operators
|
||||
|
||||
|
||||
@ -406,29 +406,6 @@ inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
}
|
||||
|
||||
|
||||
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
|
||||
inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
(
|
||||
const UList<T>& lst
|
||||
)
|
||||
{
|
||||
if (capacity_ >= lst.size())
|
||||
{
|
||||
// can copy w/o reallocating, match initial size to avoid reallocation
|
||||
List<T>::size(lst.size());
|
||||
List<T>::operator=(lst);
|
||||
}
|
||||
else
|
||||
{
|
||||
// make everything available for the copy operation
|
||||
List<T>::size(capacity_);
|
||||
|
||||
List<T>::operator=(lst);
|
||||
capacity_ = List<T>::size();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
|
||||
inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
(
|
||||
@ -461,4 +438,49 @@ inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
}
|
||||
|
||||
|
||||
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
|
||||
inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
(
|
||||
const UList<T>& lst
|
||||
)
|
||||
{
|
||||
if (capacity_ >= lst.size())
|
||||
{
|
||||
// can copy w/o reallocating, match initial size to avoid reallocation
|
||||
List<T>::size(lst.size());
|
||||
List<T>::operator=(lst);
|
||||
}
|
||||
else
|
||||
{
|
||||
// make everything available for the copy operation
|
||||
List<T>::size(capacity_);
|
||||
|
||||
List<T>::operator=(lst);
|
||||
capacity_ = List<T>::size();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
|
||||
inline void Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::operator=
|
||||
(
|
||||
const UIndirectList<T>& lst
|
||||
)
|
||||
{
|
||||
if (capacity_ >= lst.size())
|
||||
{
|
||||
// can copy w/o reallocating, match initial size to avoid reallocation
|
||||
List<T>::size(lst.size());
|
||||
List<T>::operator=(lst);
|
||||
}
|
||||
else
|
||||
{
|
||||
// make everything available for the copy operation
|
||||
List<T>::size(capacity_);
|
||||
|
||||
List<T>::operator=(lst);
|
||||
capacity_ = List<T>::size();
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -91,8 +91,10 @@ public:
|
||||
//- Return the last element of the list.
|
||||
inline const T& last() const;
|
||||
|
||||
|
||||
//- Return the complete list
|
||||
inline const UList<T>& completeList() const;
|
||||
|
||||
//- Return the list addressing
|
||||
inline const List<label>& addressing() const;
|
||||
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ inline Stream& Foam::IOobject::writeBanner(Stream& os, bool noHint)
|
||||
"| ========= | |\n"
|
||||
"| \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |\n"
|
||||
"| \\\\ / O peration | Version: " << FOAMversion << spaces << "|\n"
|
||||
"| \\\\ / A nd | Web: www.OpenFOAM.org |\n"
|
||||
"| \\\\ / A nd | Web: www.OpenFOAM.com |\n"
|
||||
"| \\\\/ M anipulation | |\n"
|
||||
"\\*---------------------------------------------------------------------------*/\n";
|
||||
|
||||
|
||||
@ -65,6 +65,8 @@ public:
|
||||
// Member Operators
|
||||
|
||||
inline scalar operator[](const label) const;
|
||||
|
||||
inline oneField field() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -33,4 +33,10 @@ inline Foam::scalar Foam::oneField::operator[](const label) const
|
||||
}
|
||||
|
||||
|
||||
inline Foam::oneField Foam::oneField::field() const
|
||||
{
|
||||
return oneField();
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -64,6 +64,8 @@ public:
|
||||
// Member Operators
|
||||
|
||||
inline scalar operator[](const label) const;
|
||||
|
||||
inline zeroField field() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -32,4 +32,11 @@ inline Foam::scalar Foam::zeroField::operator[](const label) const
|
||||
return scalar(0);
|
||||
}
|
||||
|
||||
|
||||
inline Foam::zeroField Foam::zeroField::field() const
|
||||
{
|
||||
return zeroField();
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -836,7 +836,7 @@ void Foam::argList::printUsage() const
|
||||
|
||||
Info<< nl
|
||||
<<"Using OpenFOAM-" << Foam::FOAMversion
|
||||
<<" (build: " << Foam::FOAMbuild << ") - see www.OpenFOAM.org"
|
||||
<<" (build: " << Foam::FOAMbuild << ") - see www.OpenFOAM.com"
|
||||
<< nl << endl;
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -23,7 +23,6 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "IFstream.H"
|
||||
|
||||
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
|
||||
|
||||
@ -239,7 +238,9 @@ Foam::interpolationLookUpTable<Type>::interpolationLookUpTable()
|
||||
template<class Type>
|
||||
Foam::interpolationLookUpTable<Type>::interpolationLookUpTable
|
||||
(
|
||||
const fileName& fn, const word& instance, const fvMesh& mesh
|
||||
const fileName& fn,
|
||||
const word& instance,
|
||||
const fvMesh& mesh
|
||||
)
|
||||
:
|
||||
List<scalarField>(),
|
||||
@ -357,11 +358,11 @@ void Foam::interpolationLookUpTable<Type>::write
|
||||
|
||||
control.writeHeader(os);
|
||||
|
||||
os.writeKeyword("fields");
|
||||
os << entries_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("fields")
|
||||
<< entries_ << token::END_STATEMENT << nl;
|
||||
|
||||
os.writeKeyword("output");
|
||||
os << output_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("output")
|
||||
<< output_ << token::END_STATEMENT << nl;
|
||||
|
||||
if (this->size() == 0)
|
||||
{
|
||||
@ -370,8 +371,8 @@ void Foam::interpolationLookUpTable<Type>::write
|
||||
"Foam::interpolationTable<Type>::write()"
|
||||
) << "table is empty" << nl << exit(FatalError);
|
||||
}
|
||||
os.writeKeyword("values");
|
||||
os << *this << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("values")
|
||||
<< *this << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
|
||||
@ -381,8 +382,7 @@ template<class Type>
|
||||
Foam::scalarField&
|
||||
Foam::interpolationLookUpTable<Type>::operator[](const label i)
|
||||
{
|
||||
label ii = i;
|
||||
label n = this->size();
|
||||
const label n = this->size();
|
||||
|
||||
if (n <= 1)
|
||||
{
|
||||
@ -391,22 +391,22 @@ Foam::interpolationLookUpTable<Type>::operator[](const label i)
|
||||
"Foam::interpolationLookUpTable<Type>::operator[](const label)"
|
||||
) << "table has (" << n << ") columns" << nl << exit(FatalError);
|
||||
}
|
||||
else if (ii < 0)
|
||||
else if (i < 0)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"Foam::interpolationLookUpTable<Type>::operator[](const label)"
|
||||
) << "index (" << ii << ") underflow" << nl << exit(FatalError);
|
||||
) << "index (" << i << ") underflow" << nl << exit(FatalError);
|
||||
}
|
||||
else if (ii > n)
|
||||
else if (i >= n)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"Foam::interpolationLookUpTable<Type>::operator[](const label)"
|
||||
) << "index (" << ii << ") overflow" << nl << exit(FatalError);
|
||||
) << "index (" << i << ") overflow" << nl << exit(FatalError);
|
||||
}
|
||||
|
||||
return List<scalarField>::operator[](ii);
|
||||
return List<scalarField>::operator[](i);
|
||||
}
|
||||
|
||||
|
||||
@ -414,8 +414,7 @@ template<class Type>
|
||||
const Foam::scalarField&
|
||||
Foam::interpolationLookUpTable<Type>::operator[](const label i) const
|
||||
{
|
||||
label ii = i;
|
||||
label n = this->size();
|
||||
const label n = this->size();
|
||||
|
||||
if (n <= 1)
|
||||
{
|
||||
@ -425,26 +424,25 @@ Foam::interpolationLookUpTable<Type>::operator[](const label i) const
|
||||
"(const label) const"
|
||||
) << "table has (" << n << ") columns" << nl << exit(FatalError);
|
||||
}
|
||||
else if (ii < 0)
|
||||
else if (i < 0)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"Foam::interpolationLookUpTable<Type>::operator[]"
|
||||
"(const label) const"
|
||||
) << "index (" << ii << ") underflow" << nl << exit(FatalError);
|
||||
) << "index (" << i << ") underflow" << nl << exit(FatalError);
|
||||
}
|
||||
|
||||
else if (ii > n)
|
||||
else if (i >= n)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"Foam::interpolationLookUpTable<Type>::operator[]"
|
||||
"(const label) const"
|
||||
) << "index (" << ii << ") overflow" << nl
|
||||
) << "index (" << i << ") overflow" << nl
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
return List<scalarField>::operator[](ii);
|
||||
return List<scalarField>::operator[](i);
|
||||
}
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ class interpolationLookUpTable
|
||||
{
|
||||
private:
|
||||
|
||||
// Privsate data
|
||||
// Private data
|
||||
|
||||
//- File name
|
||||
fileName fileName_;
|
||||
@ -88,10 +88,10 @@ private:
|
||||
//- Output dictionaries
|
||||
List<dictionary> output_;
|
||||
|
||||
//- Input indices from the look up table
|
||||
//- Input indices from the lookup table
|
||||
List<label> entryIndices_;
|
||||
|
||||
//- Output Indeces from the Look Up Table
|
||||
//- Output indices from the lookup Table
|
||||
List<label> outputIndices_;
|
||||
|
||||
//- Field names and indices
|
||||
@ -118,7 +118,7 @@ private:
|
||||
//- Check range of lookup value
|
||||
bool checkRange(const scalar, const label) const;
|
||||
|
||||
//- Interpolate function return an scalar
|
||||
//- Interpolate function returning a scalar
|
||||
scalar interpolate
|
||||
(
|
||||
const label lo,
|
||||
@ -159,13 +159,13 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return true if the filed exists in the table
|
||||
//- Return true if the field exists in the table
|
||||
bool found(const word& fieldName) const;
|
||||
|
||||
//- Return the output list given a single input scalar
|
||||
const List<scalar>& lookUp(const scalar);
|
||||
|
||||
//- Write Look Up Table to filename.
|
||||
//- Write lookup table to filename.
|
||||
void write
|
||||
(
|
||||
Ostream&,
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -65,8 +65,8 @@ Foam::uniformInterpolationTable<Type>::uniformInterpolationTable
|
||||
dict.lookup("data") >> *this;
|
||||
dict.lookup("x0") >> x0_;
|
||||
dict.lookup("dx") >> dx_;
|
||||
dict.lookup("log10") >> log10_;
|
||||
dict.lookup("bound") >> bound_;
|
||||
dict.readIfPresent("log10", log10_);
|
||||
dict.readIfPresent("bound", bound_);
|
||||
}
|
||||
|
||||
checkTable();
|
||||
@ -94,13 +94,13 @@ Foam::uniformInterpolationTable<Type>::uniformInterpolationTable
|
||||
List<scalar>(2, 0.0),
|
||||
x0_(readScalar(dict.lookup("x0"))),
|
||||
dx_(readScalar(dict.lookup("dx"))),
|
||||
log10_(dict.lookup("log10")),
|
||||
bound_(dict.lookup("bound"))
|
||||
log10_(dict.lookupOrDefault<Switch>("log10", false)),
|
||||
bound_(dict.lookupOrDefault<Switch>("bound", false))
|
||||
{
|
||||
if (initialiseOnly)
|
||||
{
|
||||
scalar xMax = readScalar(dict.lookup("xMax"));
|
||||
label nIntervals = static_cast<label>(xMax - x0_)/dx_ + 1;
|
||||
const scalar xMax = readScalar(dict.lookup("xMax"));
|
||||
const label nIntervals = static_cast<label>(xMax - x0_)/dx_ + 1;
|
||||
this->setSize(nIntervals);
|
||||
}
|
||||
else
|
||||
@ -168,9 +168,9 @@ Type Foam::uniformInterpolationTable<Type>::interpolate(scalar x) const
|
||||
}
|
||||
}
|
||||
|
||||
label i = static_cast<label>((x - x0_)/dx_);
|
||||
const label i = static_cast<label>((x - x0_)/dx_);
|
||||
|
||||
scalar xLo = x0_ + i*dx_;
|
||||
const scalar xLo = x0_ + i*dx_;
|
||||
|
||||
Type fx = (x - xLo)/dx_*(operator[](i+1) - operator[](i)) + operator[](i);
|
||||
|
||||
@ -225,8 +225,14 @@ void Foam::uniformInterpolationTable<Type>::write() const
|
||||
dict.add("data", static_cast<const List<scalar>&>(*this));
|
||||
dict.add("x0", x0_);
|
||||
dict.add("dx", dx_);
|
||||
dict.add("log10", log10_);
|
||||
dict.add("bound", bound_);
|
||||
if (log10_)
|
||||
{
|
||||
dict.add("log10", log10_);
|
||||
}
|
||||
if (bound_)
|
||||
{
|
||||
dict.add("bound", bound_);
|
||||
}
|
||||
|
||||
dict.regIOobject::write();
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -28,12 +28,13 @@ Description
|
||||
Table with uniform interval in independant variable, with linear
|
||||
interpolation
|
||||
|
||||
Example usage (scalar): values specified in a dictionary:
|
||||
Example usage (scalar): values specified within a dictionary:
|
||||
|
||||
@verbatim
|
||||
{
|
||||
x0 0; // lower limit
|
||||
dx 0.2; // fixed interval
|
||||
log10 true; // take log(10) when interpolating?
|
||||
x0 0; // lower limit
|
||||
dx 0.2; // fixed interval
|
||||
log10 true; // take log(10) when interpolating?
|
||||
data // list of dependent data values
|
||||
(
|
||||
7870 // value at x0
|
||||
@ -42,6 +43,7 @@ Description
|
||||
7870 // value at x0 + n*dx
|
||||
);
|
||||
}
|
||||
@endverbatim
|
||||
|
||||
SourceFiles
|
||||
uniformInterpolationTable.C
|
||||
@ -73,7 +75,7 @@ class uniformInterpolationTable
|
||||
{
|
||||
// Private data
|
||||
|
||||
// Control parameetrs
|
||||
// Control parameters
|
||||
|
||||
//- Lower limit
|
||||
scalar x0_;
|
||||
@ -81,7 +83,7 @@ class uniformInterpolationTable
|
||||
//- Fixed interval
|
||||
scalar dx_;
|
||||
|
||||
//- Flag to indicate that x data is given in log10(x) form
|
||||
//- Flag to indicate that x data are given in log10(x) form
|
||||
Switch log10_;
|
||||
|
||||
//- Bound x values
|
||||
@ -101,9 +103,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from IOobject and readFields flag. Creates a null object
|
||||
// if readFields = false
|
||||
uniformInterpolationTable(const IOobject& io, const bool readFields);
|
||||
//- Construct from IOobject and readFields flag.
|
||||
// Creates a null object if readFields = false
|
||||
uniformInterpolationTable(const IOobject&, const bool readFields);
|
||||
|
||||
//- Construct from name, objectRegistry and dictionary.
|
||||
// If initialiseOnly flag is set, control parameters are read from
|
||||
@ -111,13 +113,13 @@ public:
|
||||
uniformInterpolationTable
|
||||
(
|
||||
const word& tableName,
|
||||
const objectRegistry& db,
|
||||
const dictionary& dict,
|
||||
const objectRegistry&,
|
||||
const dictionary&,
|
||||
const bool initialiseOnly = false
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
uniformInterpolationTable(const uniformInterpolationTable& uit);
|
||||
uniformInterpolationTable(const uniformInterpolationTable&);
|
||||
|
||||
|
||||
//- Destructor
|
||||
@ -174,22 +176,10 @@ public:
|
||||
// Override ancestor size() function and [] operator
|
||||
|
||||
//- Return the size of the table
|
||||
label size() const
|
||||
{
|
||||
return List<Type>::size();
|
||||
}
|
||||
using List<Type>::size;
|
||||
|
||||
//- Use List[] operator for read access
|
||||
Type operator[](label x) const
|
||||
{
|
||||
return List<Type>::operator[](x);
|
||||
}
|
||||
|
||||
//- Use List[] operator for write access
|
||||
Type& operator[](label x)
|
||||
{
|
||||
return List<Type>::operator[](x);
|
||||
}
|
||||
//- Use List[] operator for read/write access
|
||||
using List<Type>::operator[];
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -38,6 +38,12 @@ const Scalar pTraits<Scalar>::max = ScalarVGREAT;
|
||||
|
||||
const char* pTraits<Scalar>::componentNames[] = { "x" };
|
||||
|
||||
pTraits<Scalar>::pTraits(const Scalar& p)
|
||||
:
|
||||
p_(p)
|
||||
{}
|
||||
|
||||
|
||||
pTraits<Scalar>::pTraits(Istream& is)
|
||||
{
|
||||
is >> p_;
|
||||
|
||||
@ -65,6 +65,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from primitive
|
||||
explicit pTraits(const Scalar&);
|
||||
|
||||
//- Construct from Istream
|
||||
pTraits(Istream&);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -28,11 +28,17 @@ License
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
const char* const Foam::pTraits<bool>::typeName = "bool";
|
||||
const bool Foam::pTraits<bool>::zero(false);
|
||||
const bool Foam::pTraits<bool>::one(true);
|
||||
const bool Foam::pTraits<bool>::zero = false;
|
||||
const bool Foam::pTraits<bool>::one = true;
|
||||
|
||||
const char* Foam::pTraits<bool>::componentNames[] = { "x" };
|
||||
|
||||
Foam::pTraits<bool>::pTraits(const bool& p)
|
||||
:
|
||||
p_(p)
|
||||
{}
|
||||
|
||||
|
||||
Foam::pTraits<bool>::pTraits(Istream& is)
|
||||
{
|
||||
is >> p_;
|
||||
|
||||
@ -91,6 +91,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from primitive
|
||||
explicit pTraits(const bool&);
|
||||
|
||||
//- Construct from Istream
|
||||
pTraits(Istream&);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -41,6 +41,12 @@ const label pTraits<label>::max = labelMax;
|
||||
|
||||
const char* pTraits<label>::componentNames[] = { "x" };
|
||||
|
||||
pTraits<label>::pTraits(const label& p)
|
||||
:
|
||||
p_(p)
|
||||
{}
|
||||
|
||||
|
||||
pTraits<label>::pTraits(Istream& is)
|
||||
{
|
||||
is >> p_;
|
||||
|
||||
@ -165,6 +165,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from primitive
|
||||
explicit pTraits(const label&);
|
||||
|
||||
//- Construct from Istream
|
||||
pTraits(Istream&);
|
||||
|
||||
|
||||
@ -41,6 +41,12 @@ const uLabel pTraits<uLabel>::max = uLabelMax;
|
||||
|
||||
const char* pTraits<uLabel>::componentNames[] = { "x" };
|
||||
|
||||
pTraits<uLabel>::pTraits(const uLabel& p)
|
||||
:
|
||||
p_(p)
|
||||
{}
|
||||
|
||||
|
||||
pTraits<uLabel>::pTraits(Istream& is)
|
||||
{
|
||||
is >> p_;
|
||||
|
||||
@ -149,6 +149,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from primitive
|
||||
explicit pTraits(const uLabel&);
|
||||
|
||||
//- Construct from Istream
|
||||
pTraits(Istream&);
|
||||
|
||||
|
||||
@ -55,11 +55,13 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from primitive
|
||||
pTraits(const PrimitiveType& p)
|
||||
:
|
||||
PrimitiveType(p)
|
||||
{}
|
||||
|
||||
//- Construct from Istream
|
||||
pTraits(Istream& is)
|
||||
:
|
||||
PrimitiveType(is)
|
||||
@ -68,11 +70,13 @@ public:
|
||||
|
||||
// Member operators
|
||||
|
||||
//- Access to the primitive
|
||||
operator PrimitiveType() const
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
//- Access to the primitive
|
||||
operator PrimitiveType&()
|
||||
{
|
||||
return *this;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -73,6 +73,8 @@ Foam::porousZone::porousZone
|
||||
cellZoneID_(mesh_.cellZones().findZoneID(name)),
|
||||
coordSys_(dict, mesh),
|
||||
porosity_(1),
|
||||
intensity_(0),
|
||||
mixingLength_(0),
|
||||
C0_(0),
|
||||
C1_(0),
|
||||
D_("D", dimensionSet(0, -2, 0, 0, 0), tensor::zero),
|
||||
@ -95,21 +97,57 @@ Foam::porousZone::porousZone
|
||||
|
||||
|
||||
// porosity
|
||||
if (dict_.readIfPresent("porosity", porosity_))
|
||||
if
|
||||
(
|
||||
dict_.readIfPresent("porosity", porosity_)
|
||||
&& (porosity_ <= 0.0 || porosity_ > 1.0)
|
||||
)
|
||||
{
|
||||
if (porosity_ <= 0.0 || porosity_ > 1.0)
|
||||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"Foam::porousZone::porousZone"
|
||||
"(const fvMesh&, const word&, const dictionary&)",
|
||||
dict_
|
||||
)
|
||||
<< "out-of-range porosity value " << porosity_
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"Foam::porousZone::porousZone"
|
||||
"(const fvMesh&, const word&, const dictionary&)",
|
||||
dict_
|
||||
)
|
||||
<< "out-of-range porosity value " << porosity_
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
// turbulent intensity
|
||||
if
|
||||
(
|
||||
dict_.readIfPresent("intensity", intensity_)
|
||||
&& (intensity_ <= 0.0 || intensity_ > 1.0)
|
||||
)
|
||||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"Foam::porousZone::porousZone"
|
||||
"(const fvMesh&, const word&, const dictionary&)",
|
||||
dict_
|
||||
)
|
||||
<< "out-of-range turbulent intensity value " << intensity_
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
// turbulent length scale
|
||||
if
|
||||
(
|
||||
dict_.readIfPresent("mixingLength", mixingLength_)
|
||||
&& (mixingLength_ <= 0.0)
|
||||
)
|
||||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"Foam::porousZone::porousZone"
|
||||
"(const fvMesh&, const word&, const dictionary&)",
|
||||
dict_
|
||||
)
|
||||
<< "out-of-range turbulent length scale " << mixingLength_
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
|
||||
// powerLaw coefficients
|
||||
if (const dictionary* dictPtr = dict_.subDictPtr("powerLaw"))
|
||||
{
|
||||
@ -171,9 +209,6 @@ Foam::porousZone::porousZone
|
||||
}
|
||||
}
|
||||
|
||||
// provide some feedback for the user
|
||||
// writeDict(Info, false);
|
||||
|
||||
// it is an error not to define anything
|
||||
if
|
||||
(
|
||||
@ -191,6 +226,12 @@ Foam::porousZone::porousZone
|
||||
"nor Darcy-Forchheimer law (d/f) specified"
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
// feedback for the user
|
||||
if (dict.lookupOrDefault("printCoeffs", false))
|
||||
{
|
||||
writeDict(Info, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -365,7 +406,8 @@ void Foam::porousZone::writeDict(Ostream& os, bool subDict) const
|
||||
if (subDict)
|
||||
{
|
||||
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
os.writeKeyword("name") << zoneName() << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("name")
|
||||
<< zoneName() << token::END_STATEMENT << nl;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -375,40 +417,53 @@ void Foam::porousZone::writeDict(Ostream& os, bool subDict) const
|
||||
|
||||
if (dict_.found("note"))
|
||||
{
|
||||
os.writeKeyword("note") << string(dict_.lookup("note"))
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("note")
|
||||
<< string(dict_.lookup("note")) << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
coordSys_.writeDict(os, true);
|
||||
|
||||
if (dict_.found("porosity"))
|
||||
{
|
||||
os.writeKeyword("porosity") << porosity() << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("porosity")
|
||||
<< porosity() << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
if (dict_.found("intensity"))
|
||||
{
|
||||
os.writeKeyword("intensity")
|
||||
<< intensity() << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
if (dict_.found("mixingLength"))
|
||||
{
|
||||
os.writeKeyword("mixingLength")
|
||||
<< mixingLength() << token::END_STATEMENT << nl;
|
||||
}
|
||||
|
||||
// powerLaw coefficients
|
||||
if (const dictionary* dictPtr = dict_.subDictPtr("powerLaw"))
|
||||
{
|
||||
os << indent << "powerLaw";
|
||||
os << indent << "powerLaw";
|
||||
dictPtr->write(os);
|
||||
}
|
||||
|
||||
// Darcy-Forchheimer coefficients
|
||||
if (const dictionary* dictPtr = dict_.subDictPtr("Darcy"))
|
||||
{
|
||||
os << indent << "Darcy";
|
||||
os << indent << "Darcy";
|
||||
dictPtr->write(os);
|
||||
}
|
||||
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
|
||||
|
||||
Foam::Ostream& Foam::operator<<(Ostream& os, const porousZone& pZone)
|
||||
Foam::Ostream& Foam::operator<<(Ostream& os, const porousZone& pz)
|
||||
{
|
||||
pZone.writeDict(os);
|
||||
pz.writeDict(os);
|
||||
return os;
|
||||
}
|
||||
|
||||
|
||||
@ -51,6 +51,25 @@ Description
|
||||
The porousZones method porousZones::ddt() mirrors the normal fvm::ddt()
|
||||
method, but accounts for the effective volume of the cells.
|
||||
|
||||
An example dictionary entry:
|
||||
@verbatim
|
||||
cat1
|
||||
{
|
||||
note "some catalyst";
|
||||
coordinateSystem system_10;
|
||||
porosity 0.809;
|
||||
intensity 0.001; // optional
|
||||
mixingLength 0.0001; // optional
|
||||
printCoeffs yes; // optional: feedback for the user
|
||||
|
||||
Darcy
|
||||
{
|
||||
d d [0 -2 0 0 0] (-1000 -1000 5.3756e+07);
|
||||
f f [0 -1 0 0 0] (-1000 -1000 15.83);
|
||||
}
|
||||
}
|
||||
@endverbatim
|
||||
|
||||
See Also
|
||||
porousZones and coordinateSystems
|
||||
|
||||
@ -111,6 +130,12 @@ class porousZone
|
||||
// Currently unused.
|
||||
scalar porosity_;
|
||||
|
||||
//- Turbulent intensity as fraction of the velocity
|
||||
scalar intensity_;
|
||||
|
||||
//- Turbulent length scale
|
||||
scalar mixingLength_;
|
||||
|
||||
//- powerLaw coefficient C0
|
||||
scalar C0_;
|
||||
|
||||
@ -283,6 +308,30 @@ public:
|
||||
return porosity_;
|
||||
}
|
||||
|
||||
//- Return turbulent intensity
|
||||
scalar intensity() const
|
||||
{
|
||||
return intensity_;
|
||||
}
|
||||
|
||||
//- Edit access to turbulent intensity
|
||||
scalar& intensity()
|
||||
{
|
||||
return intensity_;
|
||||
}
|
||||
|
||||
//- Return turbulent length scale
|
||||
scalar mixingLength() const
|
||||
{
|
||||
return mixingLength_;
|
||||
}
|
||||
|
||||
//- Edit access to turbulent length scale
|
||||
scalar& mixingLength()
|
||||
{
|
||||
return mixingLength_;
|
||||
}
|
||||
|
||||
|
||||
//- Modify time derivative elements according to porosity
|
||||
template<class Type>
|
||||
|
||||
@ -116,12 +116,13 @@ void buoyantPressureFvPatchScalarField::updateCoeffs()
|
||||
const fvPatchField<scalar>& rho =
|
||||
patch().lookupPatchField<volScalarField, scalar>(rhoName_);
|
||||
|
||||
// If the variable name is "pmh" or "pd" assume it is p - rho*g.h
|
||||
// and set the gradient appropriately.
|
||||
// If the variable name is "p_rgh", "ph_rgh" or "pd"
|
||||
// assume it is p? - rho*g.h and set the gradient appropriately.
|
||||
// Otherwise assume the variable is the static pressure.
|
||||
if
|
||||
(
|
||||
dimensionedInternalField().name() == "pmh"
|
||||
dimensionedInternalField().name() == "p_rgh"
|
||||
|| dimensionedInternalField().name() == "ph_rgh"
|
||||
|| dimensionedInternalField().name() == "pd"
|
||||
)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -28,6 +28,7 @@ License
|
||||
#include "calculatedFvPatchFields.H"
|
||||
#include "zeroGradientFvPatchFields.H"
|
||||
#include "coupledFvPatchFields.H"
|
||||
#include "UIndirectList.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
@ -177,6 +178,95 @@ void Foam::fvMatrix<Type>::addBoundarySource
|
||||
}
|
||||
|
||||
|
||||
template<class Type>
|
||||
template<template<class> class ListType>
|
||||
void Foam::fvMatrix<Type>::setValuesFromList
|
||||
(
|
||||
const unallocLabelList& cellLabels,
|
||||
const ListType<Type>& values
|
||||
)
|
||||
{
|
||||
const fvMesh& mesh = psi_.mesh();
|
||||
|
||||
const cellList& cells = mesh.cells();
|
||||
const unallocLabelList& own = mesh.owner();
|
||||
const unallocLabelList& nei = mesh.neighbour();
|
||||
|
||||
scalarField& Diag = diag();
|
||||
Field<Type>& psi =
|
||||
const_cast
|
||||
<
|
||||
GeometricField<Type, fvPatchField, volMesh>&
|
||||
>(psi_).internalField();
|
||||
|
||||
forAll(cellLabels, i)
|
||||
{
|
||||
const label celli = cellLabels[i];
|
||||
const Type& value = values[i];
|
||||
|
||||
psi[celli] = value;
|
||||
source_[celli] = value*Diag[celli];
|
||||
|
||||
if (symmetric() || asymmetric())
|
||||
{
|
||||
const cell& c = cells[celli];
|
||||
|
||||
forAll(c, j)
|
||||
{
|
||||
const label facei = c[j];
|
||||
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
if (symmetric())
|
||||
{
|
||||
if (celli == own[facei])
|
||||
{
|
||||
source_[nei[facei]] -= upper()[facei]*value;
|
||||
}
|
||||
else
|
||||
{
|
||||
source_[own[facei]] -= upper()[facei]*value;
|
||||
}
|
||||
|
||||
upper()[facei] = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (celli == own[facei])
|
||||
{
|
||||
source_[nei[facei]] -= lower()[facei]*value;
|
||||
}
|
||||
else
|
||||
{
|
||||
source_[own[facei]] -= upper()[facei]*value;
|
||||
}
|
||||
|
||||
upper()[facei] = 0.0;
|
||||
lower()[facei] = 0.0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchi = mesh.boundaryMesh().whichPatch(facei);
|
||||
|
||||
if (internalCoeffs_[patchi].size())
|
||||
{
|
||||
label patchFacei =
|
||||
mesh.boundaryMesh()[patchi].whichFace(facei);
|
||||
|
||||
internalCoeffs_[patchi][patchFacei] =
|
||||
pTraits<Type>::zero;
|
||||
|
||||
boundaryCoeffs_[patchi][patchFacei] =
|
||||
pTraits<Type>::zero;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class Type>
|
||||
@ -393,92 +483,25 @@ Foam::fvMatrix<Type>::~fvMatrix()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
// Set solution in given cells and eliminate corresponding
|
||||
// equations from the matrix
|
||||
template<class Type>
|
||||
void Foam::fvMatrix<Type>::setValues
|
||||
(
|
||||
const labelList& cellLabels,
|
||||
const Field<Type>& values
|
||||
const unallocLabelList& cellLabels,
|
||||
const UList<Type>& values
|
||||
)
|
||||
{
|
||||
const fvMesh& mesh = psi_.mesh();
|
||||
this->setValuesFromList(cellLabels, values);
|
||||
}
|
||||
|
||||
const cellList& cells = mesh.cells();
|
||||
const unallocLabelList& own = mesh.owner();
|
||||
const unallocLabelList& nei = mesh.neighbour();
|
||||
|
||||
scalarField& Diag = diag();
|
||||
Field<Type>& psi =
|
||||
const_cast
|
||||
<
|
||||
GeometricField<Type, fvPatchField, volMesh>&
|
||||
>(psi_).internalField();
|
||||
|
||||
forAll(cellLabels, i)
|
||||
{
|
||||
label celli = cellLabels[i];
|
||||
|
||||
psi[celli] = values[i];
|
||||
source_[celli] = values[i]*Diag[celli];
|
||||
|
||||
if (symmetric() || asymmetric())
|
||||
{
|
||||
const cell& c = cells[celli];
|
||||
|
||||
forAll(c, j)
|
||||
{
|
||||
label facei = c[j];
|
||||
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
if (symmetric())
|
||||
{
|
||||
if (celli == own[facei])
|
||||
{
|
||||
source_[nei[facei]] -= upper()[facei]*values[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
source_[own[facei]] -= upper()[facei]*values[i];
|
||||
}
|
||||
|
||||
upper()[facei] = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (celli == own[facei])
|
||||
{
|
||||
source_[nei[facei]] -= lower()[facei]*values[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
source_[own[facei]] -= upper()[facei]*values[i];
|
||||
}
|
||||
|
||||
upper()[facei] = 0.0;
|
||||
lower()[facei] = 0.0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchi = mesh.boundaryMesh().whichPatch(facei);
|
||||
|
||||
if (internalCoeffs_[patchi].size())
|
||||
{
|
||||
label patchFacei =
|
||||
mesh.boundaryMesh()[patchi].whichFace(facei);
|
||||
|
||||
internalCoeffs_[patchi][patchFacei] =
|
||||
pTraits<Type>::zero;
|
||||
|
||||
boundaryCoeffs_[patchi][patchFacei] =
|
||||
pTraits<Type>::zero;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
template<class Type>
|
||||
void Foam::fvMatrix<Type>::setValues
|
||||
(
|
||||
const unallocLabelList& cellLabels,
|
||||
const UIndirectList<Type>& values
|
||||
)
|
||||
{
|
||||
this->setValuesFromList(cellLabels, values);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -101,6 +101,8 @@ tmp<GeometricField<Type, fvPatchField, volMesh> > operator&
|
||||
template<class Type>
|
||||
Ostream& operator<<(Ostream&, const fvMatrix<Type>&);
|
||||
|
||||
template<class T> class UIndirectList;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class fvMatrix Declaration
|
||||
@ -112,8 +114,6 @@ class fvMatrix
|
||||
public refCount,
|
||||
public lduMatrix
|
||||
{
|
||||
public:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Const reference to GeometricField<Type, fvPatchField, volMesh>
|
||||
@ -139,8 +139,12 @@ public:
|
||||
mutable GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||
*faceFluxCorrectionPtr_;
|
||||
|
||||
protected:
|
||||
|
||||
// Private Member Functions
|
||||
//- Declare friendship with the fvSolver class
|
||||
friend class fvSolver;
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Add patch contribution to internal field
|
||||
template<class Type2>
|
||||
@ -193,12 +197,22 @@ public:
|
||||
const bool couples=true
|
||||
) const;
|
||||
|
||||
// Matrix manipulation functionality
|
||||
|
||||
//- Set solution in given cells to the specified values
|
||||
template<template<class> class ListType>
|
||||
void setValuesFromList
|
||||
(
|
||||
const unallocLabelList& cells,
|
||||
const ListType<Type>& values
|
||||
);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Solver class returned by the solver function
|
||||
// used for systems in which it is useful to cache the solver for reuse
|
||||
// e.g. if the solver is potentialy expensive to construct (AMG) and can
|
||||
// e.g. if the solver is potentially expensive to construct (AMG) and can
|
||||
// be used several times (PISO)
|
||||
class fvSolver
|
||||
{
|
||||
@ -309,12 +323,20 @@ public:
|
||||
|
||||
// Operations
|
||||
|
||||
//- Set solution in given cells and eliminate corresponding
|
||||
// equations from the matrix
|
||||
//- Set solution in given cells to the specified values
|
||||
// and eliminate the corresponding equations from the matrix.
|
||||
void setValues
|
||||
(
|
||||
const labelList& cells,
|
||||
const Field<Type>& values
|
||||
const unallocLabelList& cells,
|
||||
const UList<Type>& values
|
||||
);
|
||||
|
||||
//- Set solution in given cells to the specified values
|
||||
// and eliminate the corresponding equations from the matrix.
|
||||
void setValues
|
||||
(
|
||||
const unallocLabelList& cells,
|
||||
const UIndirectList<Type>& values
|
||||
);
|
||||
|
||||
//- Set reference level for solution
|
||||
|
||||
@ -53,7 +53,7 @@ void Foam::MULES::explicitSolve
|
||||
psi,
|
||||
phi,
|
||||
phiPsi,
|
||||
zero(), zero(),
|
||||
zeroField(), zeroField(),
|
||||
psiMax, psiMin
|
||||
);
|
||||
}
|
||||
@ -74,7 +74,7 @@ void Foam::MULES::implicitSolve
|
||||
psi,
|
||||
phi,
|
||||
phiPsi,
|
||||
zero(), zero(),
|
||||
zeroField(), zeroField(),
|
||||
psiMax, psiMin
|
||||
);
|
||||
}
|
||||
|
||||
@ -107,19 +107,20 @@ void Foam::MULES::explicitSolve
|
||||
{
|
||||
psiIf =
|
||||
(
|
||||
mesh.Vsc0()*rho.oldTime()*psi0/(deltaT*mesh.Vsc())
|
||||
+ Su
|
||||
mesh.Vsc0()().field()*rho.oldTime().field()
|
||||
*psi0/(deltaT*mesh.Vsc()().field())
|
||||
+ Su.field()
|
||||
- psiIf
|
||||
)/(rho/deltaT - Sp);
|
||||
)/(rho.field()/deltaT - Sp.field());
|
||||
}
|
||||
else
|
||||
{
|
||||
psiIf =
|
||||
(
|
||||
rho.oldTime()*psi0/deltaT
|
||||
+ Su
|
||||
rho.oldTime().field()*psi0/deltaT
|
||||
+ Su.field()
|
||||
- psiIf
|
||||
)/(rho/deltaT - Sp);
|
||||
)/(rho.field()/deltaT - Sp.field());
|
||||
}
|
||||
|
||||
psi.correctBoundaryConditions();
|
||||
@ -456,23 +457,32 @@ void Foam::MULES::limiter
|
||||
tmp<volScalarField::DimensionedInternalField> V0 = mesh.Vsc0();
|
||||
|
||||
psiMaxn =
|
||||
V*((rho/deltaT - Sp)*psiMaxn - Su)
|
||||
- (V0()/deltaT)*rho.oldTime()*psi0
|
||||
V*((rho.field()/deltaT - Sp.field())*psiMaxn - Su.field())
|
||||
- (V0().field()/deltaT)*rho.oldTime().field()*psi0
|
||||
+ sumPhiBD;
|
||||
|
||||
psiMinn =
|
||||
V*(Su - (rho/deltaT - Sp)*psiMinn)
|
||||
+ (V0/deltaT)*rho.oldTime()*psi0
|
||||
V*(Su.field() - (rho.field()/deltaT - Sp.field())*psiMinn)
|
||||
+ (V0().field()/deltaT)*rho.oldTime().field()*psi0
|
||||
- sumPhiBD;
|
||||
}
|
||||
else
|
||||
{
|
||||
psiMaxn =
|
||||
V*((rho/deltaT - Sp)*psiMaxn - (rho.oldTime()/deltaT)*psi0 - Su)
|
||||
V
|
||||
*(
|
||||
(rho.field()/deltaT - Sp.field())*psiMaxn
|
||||
- (rho.oldTime().field()/deltaT)*psi0
|
||||
- Su.field()
|
||||
)
|
||||
+ sumPhiBD;
|
||||
|
||||
psiMinn =
|
||||
V*((rho/deltaT)*psi0 - (rho.oldTime()/deltaT - Sp)*psiMinn + Su)
|
||||
V
|
||||
*(
|
||||
(rho.field()/deltaT)*psi0
|
||||
- (rho.oldTime().field()/deltaT - Sp.field())*psiMinn + Su.field()
|
||||
)
|
||||
- sumPhiBD;
|
||||
}
|
||||
|
||||
|
||||
@ -103,7 +103,7 @@ void Foam::writeRegisteredObject::write()
|
||||
(
|
||||
"Foam::writeRegisteredObject::read(const dictionary&)"
|
||||
) << "Object " << objectNames_[i] << " not found in "
|
||||
<< "database. Available objects are:" << nl << obr_.toc()
|
||||
<< "database. Available objects:" << nl << obr_.sortedToc()
|
||||
<< endl;
|
||||
}
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application XXX;
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.1;
|
||||
|
||||
deltaT 1e-05;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 10;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
functions
|
||||
{
|
||||
minMax
|
||||
{
|
||||
// Type of functionObject
|
||||
type fieldMinMax;
|
||||
|
||||
// Where to load it from (if not already in solver)
|
||||
functionObjectLibs ("libfieldAverage.so");
|
||||
|
||||
// Function object enabled flag
|
||||
enabled true;
|
||||
|
||||
// Log to output (default: false)
|
||||
log false;
|
||||
|
||||
// Write information to file (default: true)
|
||||
write true;
|
||||
|
||||
// Fields to be monitored - runTime modifiable
|
||||
fields
|
||||
(
|
||||
U
|
||||
p
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -59,6 +59,7 @@ Foam::fieldMinMax::fieldMinMax
|
||||
name_(name),
|
||||
obr_(obr),
|
||||
active_(true),
|
||||
write_(true),
|
||||
log_(false),
|
||||
mode_(mdMag),
|
||||
fieldSet_(),
|
||||
@ -92,9 +93,10 @@ void Foam::fieldMinMax::read(const dictionary& dict)
|
||||
{
|
||||
if (active_)
|
||||
{
|
||||
write_ = dict.lookupOrDefault<Switch>("write", true);
|
||||
log_ = dict.lookupOrDefault<Switch>("log", false);
|
||||
|
||||
mode_ = modeTypeNames_[dict.lookup("mode")];
|
||||
mode_ = modeTypeNames_[dict.lookupOrDefault<word>("mode", "magnitude")];
|
||||
dict.lookup("fields") >> fieldSet_;
|
||||
}
|
||||
}
|
||||
@ -171,7 +173,10 @@ void Foam::fieldMinMax::write()
|
||||
if (active_)
|
||||
{
|
||||
// Create the fieldMinMax file if not already created
|
||||
makeFile();
|
||||
if (write_)
|
||||
{
|
||||
makeFile();
|
||||
}
|
||||
|
||||
forAll(fieldSet_, fieldI)
|
||||
{
|
||||
@ -195,13 +200,17 @@ void Foam::fieldMinMax::calcMinMaxFields<Foam::scalar>
|
||||
{
|
||||
const volScalarField& field =
|
||||
obr_.lookupObject<volScalarField>(fieldName);
|
||||
scalar minValue = min(field).value();
|
||||
scalar maxValue = max(field).value();
|
||||
const scalar minValue = min(field).value();
|
||||
const scalar maxValue = max(field).value();
|
||||
|
||||
if (Pstream::master())
|
||||
{
|
||||
fieldMinMaxFilePtr_() << obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue << endl;
|
||||
if (write_)
|
||||
{
|
||||
fieldMinMaxFilePtr_()
|
||||
<< obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue << endl;
|
||||
}
|
||||
|
||||
if (log_)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -74,11 +74,13 @@ public:
|
||||
mdCmpt
|
||||
};
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
//- Mode type names
|
||||
static const NamedEnum<modeType, 2> modeTypeNames_;
|
||||
|
||||
//- Name of this set of field min/max.
|
||||
// Also used as the name of the output directory.
|
||||
word name_;
|
||||
@ -88,11 +90,11 @@ protected:
|
||||
//- on/off switch
|
||||
bool active_;
|
||||
|
||||
//- Switch to send output to Info as well as to file
|
||||
Switch log_;
|
||||
//- Switch to enable/disable writing to file
|
||||
Switch write_;
|
||||
|
||||
//- Mode type names
|
||||
static const NamedEnum<modeType, 2> modeTypeNames_;
|
||||
//- Switch to send output to Info as well
|
||||
Switch log_;
|
||||
|
||||
//- Mode for min/max - only applicable for ranks > 0
|
||||
modeType mode_;
|
||||
@ -100,7 +102,6 @@ protected:
|
||||
//- Fields to assess min/max
|
||||
wordList fieldSet_;
|
||||
|
||||
|
||||
//- Min/max file ptr
|
||||
autoPtr<OFstream> fieldMinMaxFilePtr_;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -42,14 +42,18 @@ void Foam::fieldMinMax::calcMinMaxFields(const word& fieldName)
|
||||
{
|
||||
case mdMag:
|
||||
{
|
||||
scalar minValue = min(mag(field)).value();
|
||||
scalar maxValue = max(mag(field)).value();
|
||||
const scalar minValue = min(mag(field)).value();
|
||||
const scalar maxValue = max(mag(field)).value();
|
||||
|
||||
if (Pstream::master())
|
||||
{
|
||||
fieldMinMaxFilePtr_() << obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue
|
||||
<< endl;
|
||||
if (write_)
|
||||
{
|
||||
fieldMinMaxFilePtr_()
|
||||
<< obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue
|
||||
<< endl;
|
||||
}
|
||||
|
||||
if (log_)
|
||||
{
|
||||
@ -65,14 +69,18 @@ void Foam::fieldMinMax::calcMinMaxFields(const word& fieldName)
|
||||
}
|
||||
case mdCmpt:
|
||||
{
|
||||
Type minValue = min(field).value();
|
||||
Type maxValue = max(field).value();
|
||||
const Type minValue = min(field).value();
|
||||
const Type maxValue = max(field).value();
|
||||
|
||||
if (Pstream::master())
|
||||
{
|
||||
fieldMinMaxFilePtr_() << obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue
|
||||
<< endl;
|
||||
if (write_)
|
||||
{
|
||||
fieldMinMaxFilePtr_()
|
||||
<< obr_.time().value() << tab
|
||||
<< fieldName << tab << minValue << tab << maxValue
|
||||
<< endl;
|
||||
}
|
||||
|
||||
if (log_)
|
||||
{
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
//- Name of this fieldValue object
|
||||
//- Name of this fieldValue object
|
||||
word name_;
|
||||
|
||||
//- Database this class is registered to
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
|
||||
@ -61,10 +61,11 @@ DeardorffDiffStress::DeardorffDiffStress
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
GenSGSStress(rho, U, phi, thermoPhysicalModel),
|
||||
|
||||
ck_
|
||||
|
||||
@ -102,7 +102,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -34,6 +34,11 @@ namespace compressible
|
||||
namespace LESModels
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameWithName(GenEddyVisc, "GenEddyVisc");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
GenEddyVisc::GenEddyVisc
|
||||
@ -42,18 +47,11 @@ GenEddyVisc::GenEddyVisc
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel
|
||||
(
|
||||
word("GenEddyVisc"),
|
||||
rho,
|
||||
U,
|
||||
phi,
|
||||
thermoPhysicalModel,
|
||||
turbulenceModelName
|
||||
),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
|
||||
ce_
|
||||
(
|
||||
|
||||
@ -82,6 +82,9 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
//- Partial Runtime type information
|
||||
static const word typeName;
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
@ -91,7 +94,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -34,6 +34,11 @@ namespace compressible
|
||||
namespace LESModels
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameWithName(GenSGSStress, "GenSGSStress");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
GenSGSStress::GenSGSStress
|
||||
@ -42,18 +47,11 @@ GenSGSStress::GenSGSStress
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel
|
||||
(
|
||||
word("GenSGSStress"),
|
||||
rho,
|
||||
U,
|
||||
phi,
|
||||
thermoPhysicalModel,
|
||||
turbulenceModelName
|
||||
),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
|
||||
ce_
|
||||
(
|
||||
|
||||
@ -82,6 +82,9 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
//- Partial Runtime type information
|
||||
static const word typeName;
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Constructor from components
|
||||
@ -91,7 +94,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -69,10 +69,11 @@ Smagorinsky::Smagorinsky
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
||||
|
||||
ck_
|
||||
|
||||
@ -97,7 +97,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -107,10 +107,11 @@ SpalartAllmaras::SpalartAllmaras
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
|
||||
sigmaNut_
|
||||
(
|
||||
|
||||
@ -112,7 +112,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -91,10 +91,11 @@ dynOneEqEddy::dynOneEqEddy
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
||||
|
||||
filterPtr_(LESfilter::New(U.mesh(), coeffDict())),
|
||||
|
||||
@ -108,7 +108,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -64,10 +64,11 @@ lowReOneEqEddy::lowReOneEqEddy
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
||||
|
||||
ck_
|
||||
|
||||
@ -99,7 +99,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -60,10 +60,11 @@ oneEqEddy::oneEqEddy
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
LESModel(modelName, rho, U, phi, thermoPhysicalModel, turbulenceModelName),
|
||||
GenEddyVisc(rho, U, phi, thermoPhysicalModel),
|
||||
|
||||
ck_
|
||||
|
||||
@ -102,7 +102,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermoPhysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -51,10 +51,11 @@ LRR::LRR
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
@ -342,7 +343,7 @@ void LRR::correct()
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("RASModel::G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
|
||||
// Dissipation equation
|
||||
|
||||
@ -73,7 +73,10 @@ class LRR
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -117,7 +120,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -51,10 +51,11 @@ LaunderGibsonRSTM::LaunderGibsonRSTM
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
@ -380,7 +381,7 @@ void LaunderGibsonRSTM::correct()
|
||||
volSymmTensorField P = -twoSymm(R_ & fvc::grad(U_));
|
||||
volScalarField G("RASModel::G", 0.5*mag(tr(P)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
|
||||
// Dissipation equation
|
||||
|
||||
@ -76,7 +76,10 @@ class LaunderGibsonRSTM
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -126,7 +129,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -66,10 +66,11 @@ LaunderSharmaKE::LaunderSharmaKE
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
|
||||
@ -69,7 +69,10 @@ class LaunderSharmaKE
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -110,7 +113,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -50,10 +50,11 @@ RNGkEpsilon::RNGkEpsilon
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
@ -310,7 +311,7 @@ void RNGkEpsilon::correct()
|
||||
volScalarField R =
|
||||
((eta*(-eta/eta0_ + scalar(1)))/(beta_*eta3 + scalar(1)));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
|
||||
// Dissipation equation
|
||||
|
||||
@ -70,7 +70,10 @@ class RNGkEpsilon
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -106,7 +109,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -110,10 +110,11 @@ SpalartAllmaras::SpalartAllmaras
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
sigmaNut_
|
||||
(
|
||||
|
||||
@ -87,7 +87,10 @@ class SpalartAllmaras
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -115,7 +118,7 @@ class SpalartAllmaras
|
||||
wallDist d_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
// Protected Member Functions
|
||||
|
||||
tmp<volScalarField> chi() const;
|
||||
tmp<volScalarField> fv1(const volScalarField& chi) const;
|
||||
@ -147,7 +150,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -50,10 +50,11 @@ kEpsilon::kEpsilon
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
@ -283,7 +284,7 @@ void kEpsilon::correct()
|
||||
volScalarField G("RASModel::G", mut_*(tgradU() && dev(twoSymm(tgradU()))));
|
||||
tgradU.clear();
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
|
||||
// Dissipation equation
|
||||
|
||||
@ -68,7 +68,10 @@ class kEpsilon
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -102,7 +105,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -93,10 +93,11 @@ kOmegaSST::kOmegaSST
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
alphaK1_
|
||||
(
|
||||
|
||||
@ -98,7 +98,10 @@ class kOmegaSST
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -185,7 +188,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -48,10 +48,11 @@ laminar::laminar
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -69,7 +69,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -91,10 +91,11 @@ realizableKE::realizableKE
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
RASModel(typeName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
RASModel(modelName, rho, U, phi, thermophysicalModel, turbulenceModelName),
|
||||
|
||||
Cmu_
|
||||
(
|
||||
@ -318,7 +319,7 @@ void realizableKE::correct()
|
||||
|
||||
volScalarField G("RASModel::G", mut_*(gradU && dev(twoSymm(gradU))));
|
||||
|
||||
// Update espsilon and G at the wall
|
||||
// Update epsilon and G at the wall
|
||||
epsilon_.boundaryField().updateCoeffs();
|
||||
|
||||
// Dissipation equation
|
||||
|
||||
@ -78,7 +78,10 @@ class realizableKE
|
||||
:
|
||||
public RASModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
// Model coefficients
|
||||
|
||||
@ -98,7 +101,7 @@ class realizableKE
|
||||
volScalarField alphat_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
// Protected Member Functions
|
||||
|
||||
tmp<volScalarField> rCmu
|
||||
(
|
||||
@ -124,7 +127,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
const basicThermo& thermophysicalModel,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -56,10 +56,11 @@ DeardorffDiffStress::DeardorffDiffStress
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
GenSGSStress(U, phi, transport),
|
||||
|
||||
ck_
|
||||
|
||||
@ -101,7 +101,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -34,6 +34,11 @@ namespace incompressible
|
||||
namespace LESModels
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameWithName(GenEddyVisc, "GenEddyVisc");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
GenEddyVisc::GenEddyVisc
|
||||
@ -41,10 +46,11 @@ GenEddyVisc::GenEddyVisc
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(word("GenEddyVisc"), U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
|
||||
ce_
|
||||
(
|
||||
|
||||
@ -74,6 +74,9 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
//- Partial Runtime type information
|
||||
static const word typeName;
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
@ -82,7 +85,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -34,6 +34,11 @@ namespace incompressible
|
||||
namespace LESModels
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameWithName(GenSGSStress, "GenSGSStress");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
GenSGSStress::GenSGSStress
|
||||
@ -41,10 +46,11 @@ GenSGSStress::GenSGSStress
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(word("GenSGSStress"), U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
|
||||
ce_
|
||||
(
|
||||
|
||||
@ -78,6 +78,9 @@ protected:
|
||||
|
||||
public:
|
||||
|
||||
//- Partial Runtime type information
|
||||
static const word typeName;
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
@ -86,7 +89,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -56,10 +56,11 @@ LRRDiffStress::LRRDiffStress
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
GenSGSStress(U, phi, transport),
|
||||
|
||||
ck_
|
||||
|
||||
@ -100,7 +100,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -56,10 +56,11 @@ Smagorinsky::Smagorinsky
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
GenEddyVisc(U, phi, transport),
|
||||
|
||||
ck_
|
||||
|
||||
@ -97,7 +97,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -47,10 +47,11 @@ Smagorinsky2::Smagorinsky2
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
Smagorinsky(U, phi, transport),
|
||||
|
||||
cD2_
|
||||
|
||||
@ -94,7 +94,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -94,10 +94,11 @@ SpalartAllmarasDDES::SpalartAllmarasDDES
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
SpalartAllmaras(U, phi, transport, turbulenceModelName, typeName)
|
||||
SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -96,7 +96,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -144,10 +144,11 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
SpalartAllmaras(U, phi, transport, turbulenceModelName, typeName),
|
||||
SpalartAllmaras(U, phi, transport, turbulenceModelName, modelName),
|
||||
|
||||
fwStar_
|
||||
(
|
||||
|
||||
@ -105,7 +105,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -60,10 +60,11 @@ dynLagrangian::dynLagrangian
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
GenEddyVisc(U, phi, transport),
|
||||
|
||||
flm_
|
||||
|
||||
@ -132,7 +132,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -47,10 +47,11 @@ dynMixedSmagorinsky::dynMixedSmagorinsky
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName
|
||||
const word& turbulenceModelName,
|
||||
const word& modelName
|
||||
)
|
||||
:
|
||||
LESModel(typeName, U, phi, transport, turbulenceModelName),
|
||||
LESModel(modelName, U, phi, transport, turbulenceModelName),
|
||||
scaleSimilarity(U, phi, transport),
|
||||
dynSmagorinsky(U, phi, transport)
|
||||
{
|
||||
|
||||
@ -100,7 +100,8 @@ public:
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi,
|
||||
transportModel& transport,
|
||||
const word& turbulenceModelName = turbulenceModel::typeName
|
||||
const word& turbulenceModelName = turbulenceModel::typeName,
|
||||
const word& modelName = typeName
|
||||
);
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user