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:
@ -482,7 +482,7 @@ bool doCommand
|
||||
topoSet& currentSet = currentSetPtr();
|
||||
|
||||
Info<< " Set:" << currentSet.name()
|
||||
<< " Size:" << currentSet.size()
|
||||
<< " Size:" << returnReduce(currentSet.size(), sumOp<label>())
|
||||
<< " Action:" << actionName
|
||||
<< endl;
|
||||
|
||||
@ -579,7 +579,9 @@ bool doCommand
|
||||
);
|
||||
|
||||
Info<< " Writing " << currentSet.name()
|
||||
<< " (size " << currentSet.size() << ") to "
|
||||
<< " (size "
|
||||
<< returnReduce(currentSet.size(), sumOp<label>())
|
||||
<< ") to "
|
||||
<< currentSet.instance()/currentSet.local()
|
||||
/currentSet.name()
|
||||
<< " and to vtk file " << vtkName << endl << endl;
|
||||
@ -589,7 +591,9 @@ bool doCommand
|
||||
else
|
||||
{
|
||||
Info<< " Writing " << currentSet.name()
|
||||
<< " (size " << currentSet.size() << ") to "
|
||||
<< " (size "
|
||||
<< returnReduce(currentSet.size(), sumOp<label>())
|
||||
<< ") to "
|
||||
<< currentSet.instance()/currentSet.local()
|
||||
/currentSet.name() << endl << endl;
|
||||
}
|
||||
@ -642,9 +646,9 @@ enum commandStatus
|
||||
void printMesh(const Time& runTime, const polyMesh& mesh)
|
||||
{
|
||||
Info<< "Time:" << runTime.timeName()
|
||||
<< " cells:" << mesh.nCells()
|
||||
<< " faces:" << mesh.nFaces()
|
||||
<< " points:" << mesh.nPoints()
|
||||
<< " cells:" << mesh.globalData().nTotalCells()
|
||||
<< " faces:" << mesh.globalData().nTotalFaces()
|
||||
<< " points:" << mesh.globalData().nTotalPoints()
|
||||
<< " patches:" << mesh.boundaryMesh().size()
|
||||
<< " bb:" << mesh.bounds() << nl;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ using namespace Foam;
|
||||
void massPropertiesSolid
|
||||
(
|
||||
const pointField& pts,
|
||||
const triFaceList triFaces,
|
||||
const triFaceList& triFaces,
|
||||
scalar density,
|
||||
scalar& mass,
|
||||
vector& cM,
|
||||
@ -208,7 +208,7 @@ void massPropertiesSolid
|
||||
void massPropertiesShell
|
||||
(
|
||||
const pointField& pts,
|
||||
const triFaceList triFaces,
|
||||
const triFaceList& triFaces,
|
||||
scalar density,
|
||||
scalar& mass,
|
||||
vector& cM,
|
||||
|
||||
@ -58,17 +58,17 @@ const scalar
|
||||
Foam::KRR4::KRR4(const ODE& ode)
|
||||
:
|
||||
ODESolver(ode),
|
||||
yTemp_(n_),
|
||||
dydxTemp_(n_),
|
||||
g1_(n_),
|
||||
g2_(n_),
|
||||
g3_(n_),
|
||||
g4_(n_),
|
||||
yErr_(n_),
|
||||
dfdx_(n_),
|
||||
dfdy_(n_, n_),
|
||||
a_(n_, n_),
|
||||
pivotIndices_(n_)
|
||||
yTemp_(n_, 0.0),
|
||||
dydxTemp_(n_, 0.0),
|
||||
g1_(n_, 0.0),
|
||||
g2_(n_, 0.0),
|
||||
g3_(n_, 0.0),
|
||||
g4_(n_, 0.0),
|
||||
yErr_(n_, 0.0),
|
||||
dfdx_(n_, 0.0),
|
||||
dfdy_(n_, n_, 0.0),
|
||||
a_(n_, n_, 0.0),
|
||||
pivotIndices_(n_, 0.0)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -57,14 +57,14 @@ const scalar
|
||||
Foam::RK::RK(const ODE& ode)
|
||||
:
|
||||
ODESolver(ode),
|
||||
yTemp_(n_),
|
||||
ak2_(n_),
|
||||
ak3_(n_),
|
||||
ak4_(n_),
|
||||
ak5_(n_),
|
||||
ak6_(n_),
|
||||
yErr_(n_),
|
||||
yTemp2_(n_)
|
||||
yTemp_(n_, 0.0),
|
||||
ak2_(n_, 0.0),
|
||||
ak3_(n_, 0.0),
|
||||
ak4_(n_, 0.0),
|
||||
ak5_(n_, 0.0),
|
||||
ak6_(n_, 0.0),
|
||||
yErr_(n_, 0.0),
|
||||
yTemp2_(n_, 0.0)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -50,17 +50,17 @@ namespace Foam
|
||||
Foam::SIBS::SIBS(const ODE& ode)
|
||||
:
|
||||
ODESolver(ode),
|
||||
a_(iMaxX_),
|
||||
alpha_(kMaxX_, kMaxX_),
|
||||
d_p_(n_, kMaxX_),
|
||||
x_p_(kMaxX_),
|
||||
err_(kMaxX_),
|
||||
a_(iMaxX_, 0.0),
|
||||
alpha_(kMaxX_, kMaxX_, 0.0),
|
||||
d_p_(n_, kMaxX_, 0.0),
|
||||
x_p_(kMaxX_, 0.0),
|
||||
err_(kMaxX_, 0.0),
|
||||
|
||||
yTemp_(n_),
|
||||
ySeq_(n_),
|
||||
yErr_(n_),
|
||||
dfdx_(n_),
|
||||
dfdy_(n_, n_),
|
||||
yTemp_(n_, 0.0),
|
||||
ySeq_(n_, 0.0),
|
||||
yErr_(n_, 0.0),
|
||||
dfdx_(n_, 0.0),
|
||||
dfdy_(n_, n_, 0.0),
|
||||
first_(1),
|
||||
epsOld_(-1.0)
|
||||
{}
|
||||
|
||||
@ -21,12 +21,11 @@ License
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "triangle.H"
|
||||
#include "IOstreams.H"
|
||||
#include "triPointRef.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -152,7 +151,37 @@ inline Point tetrahedron<Point, PointRef>::circumCentre() const
|
||||
vector ba = b ^ a;
|
||||
vector ca = c ^ a;
|
||||
|
||||
return a_ + 0.5*(a + (lambda*ba - mu*ca)/((c & ba) + ROOTVSMALL));
|
||||
vector num = lambda*ba - mu*ca;
|
||||
scalar denom = (c & ba);
|
||||
|
||||
if (Foam::mag(denom) < ROOTVSMALL)
|
||||
{
|
||||
// Degenerate tet. Use test of the individual triangles.
|
||||
{
|
||||
point triCentre = triPointRef(a_, b_, c_).circumCentre();
|
||||
if (magSqr(d_ - triCentre) < magSqr(a_ - triCentre))
|
||||
{
|
||||
return triCentre;
|
||||
}
|
||||
}
|
||||
{
|
||||
point triCentre = triPointRef(a_, b_, d_).circumCentre();
|
||||
if (magSqr(c_ - triCentre) < magSqr(a_ - triCentre))
|
||||
{
|
||||
return triCentre;
|
||||
}
|
||||
}
|
||||
{
|
||||
point triCentre = triPointRef(a_, c_, d_).circumCentre();
|
||||
if (magSqr(b_ - triCentre) < magSqr(a_ - triCentre))
|
||||
{
|
||||
return triCentre;
|
||||
}
|
||||
}
|
||||
return triPointRef(b_, c_, d_).circumCentre();
|
||||
}
|
||||
|
||||
return a_ + 0.5*(a + num/denom);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ Foam::IObasicSourceList::IObasicSourceList
|
||||
"sourcesProperties",
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::MUST_READ_IF_MODIFIED,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
),
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
basicSolidThermo/basicSolidThermo.C
|
||||
basicSolidThermo/newBasicSolidThermo.C
|
||||
basicSolidThermo/basicSolidThermoNew.C
|
||||
|
||||
constSolidThermo/constSolidThermo.C
|
||||
directionalKSolidThermo/directionalKSolidThermo.C
|
||||
|
||||
@ -50,7 +50,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class basicSolidThermo Declaration
|
||||
Class basicSolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class basicSolidThermo
|
||||
@ -109,8 +109,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
|
||||
virtual ~basicSolidThermo();
|
||||
virtual ~basicSolidThermo();
|
||||
|
||||
|
||||
// Member functions
|
||||
@ -204,7 +203,7 @@ public:
|
||||
//- Read thermophysicalProperties dictionary
|
||||
virtual bool read() = 0;
|
||||
|
||||
// Ostream Operator
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<(Ostream& os, const basicSolidThermo& s);
|
||||
};
|
||||
|
||||
|
||||
@ -1,77 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "basicSolidThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::autoPtr<Foam::basicSolidThermo> Foam::basicSolidThermo::New
|
||||
(
|
||||
const fvMesh& mesh
|
||||
)
|
||||
{
|
||||
if (debug)
|
||||
{
|
||||
Info<< "basicSolidThermo::New(const fvMesh&): "
|
||||
<< "constructing basicSolidThermo"
|
||||
<< endl;
|
||||
}
|
||||
|
||||
const word thermoType
|
||||
(
|
||||
IOdictionary
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"solidThermophysicalProperties",
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
)
|
||||
).lookup("thermoType")
|
||||
);
|
||||
|
||||
meshConstructorTable::iterator cstrIter =
|
||||
meshConstructorTablePtr_->find(thermoType);
|
||||
|
||||
if (cstrIter == meshConstructorTablePtr_->end())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"basicSolidThermo::New(const fvMesh&, const word&)"
|
||||
) << "Unknown solidThermo type " << thermoType
|
||||
<< endl << endl
|
||||
<< "Valid solidThermo types are :" << endl
|
||||
<< meshConstructorTablePtr_->toc()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
return autoPtr<basicSolidThermo>(cstrIter()(mesh));
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -43,7 +43,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class constSolidThermo Declaration
|
||||
Class constSolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class constSolidThermo
|
||||
@ -159,11 +159,8 @@ public:
|
||||
//- Read solidThermophysicalProperties dictionary
|
||||
bool read(const dictionary&);
|
||||
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
friend Ostream& operator<<(Ostream& os, const constSolidThermo& s);
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<(Ostream& os, const constSolidThermo& s);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -309,8 +309,8 @@ void Foam::directionalKSolidThermo::correct()
|
||||
}
|
||||
|
||||
|
||||
const Foam::volSymmTensorField& Foam::directionalKSolidThermo::
|
||||
directionalK() const
|
||||
const Foam::volSymmTensorField&
|
||||
Foam::directionalKSolidThermo::directionalK() const
|
||||
{
|
||||
return directionalK_;
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class directionalKSolidThermo Declaration
|
||||
Class directionalKSolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class directionalKSolidThermo
|
||||
@ -99,8 +99,8 @@ public:
|
||||
directionalKSolidThermo(const fvMesh& mesh);
|
||||
|
||||
|
||||
// Destructor
|
||||
virtual ~directionalKSolidThermo();
|
||||
//- Destructor
|
||||
virtual ~directionalKSolidThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -136,14 +136,12 @@ public:
|
||||
//- Read the directionalKSolidThermo properties
|
||||
bool read(const dictionary& dict);
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
friend Ostream& operator<<
|
||||
(
|
||||
Ostream& os,
|
||||
const directionalKSolidThermo& s
|
||||
);
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<
|
||||
(
|
||||
Ostream& os,
|
||||
const directionalKSolidThermo& s
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -31,7 +31,6 @@ License
|
||||
|
||||
Foam::interpolateSolid::interpolateSolid(const dictionary& dict)
|
||||
{
|
||||
|
||||
read(dict);
|
||||
|
||||
Info<< "Constructed directionalKSolidThermo with samples" << nl
|
||||
@ -108,4 +107,6 @@ bool Foam::interpolateSolid::read(const dictionary& dict)
|
||||
sigmaSValues_ = Field<scalar>(dict.lookup("sigmaSValues"));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class interpolateSolid Declaration
|
||||
Class interpolateSolid Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class interpolateSolid
|
||||
@ -77,8 +77,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
|
||||
virtual ~interpolateSolid();
|
||||
virtual ~interpolateSolid();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class interpolatedSolidThermo Declaration
|
||||
Class interpolatedSolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class interpolatedSolidThermo
|
||||
@ -119,14 +119,12 @@ public:
|
||||
//- Read the interpolatedSolidThermo properties
|
||||
bool read(const dictionary& dict);
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
friend Ostream& operator<<
|
||||
(
|
||||
Ostream& os,
|
||||
const interpolatedSolidThermo& s
|
||||
);
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<
|
||||
(
|
||||
Ostream& os,
|
||||
const interpolatedSolidThermo& s
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class isotropicKSolidThermo Declaration
|
||||
Class isotropicKSolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class isotropicKSolidThermo
|
||||
@ -71,9 +71,10 @@ public:
|
||||
isotropicKSolidThermo(const fvMesh& mesh);
|
||||
|
||||
|
||||
// Destructor
|
||||
//- Destructor
|
||||
virtual ~isotropicKSolidThermo();
|
||||
|
||||
|
||||
// Member functions
|
||||
|
||||
//- Update properties
|
||||
@ -102,9 +103,7 @@ public:
|
||||
//- Write properties
|
||||
virtual bool writeData(Ostream& os) const;
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<
|
||||
(
|
||||
Ostream& os,
|
||||
|
||||
@ -43,8 +43,9 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class multiComponentSolidMixture Declaration
|
||||
Class multiComponentSolidMixture Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class ThermoSolidType>
|
||||
class multiComponentSolidMixture
|
||||
:
|
||||
@ -65,6 +66,7 @@ class multiComponentSolidMixture
|
||||
//- Return molar fraction for component i in celli and at T
|
||||
scalar X(label i, label celli, scalar T) const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -75,9 +77,8 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
|
||||
virtual ~multiComponentSolidMixture()
|
||||
{}
|
||||
virtual ~multiComponentSolidMixture()
|
||||
{}
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -92,7 +93,7 @@ public:
|
||||
void read(const dictionary&);
|
||||
|
||||
|
||||
// Cell based properties.
|
||||
// Cell-based properties
|
||||
|
||||
//- Density
|
||||
virtual scalar rho(scalar T, label celli) const;
|
||||
@ -118,9 +119,8 @@ public:
|
||||
//- Total enthalpy
|
||||
virtual scalar h(scalar T, label celli) const;
|
||||
|
||||
//- Cp
|
||||
//- Specific heat capacity
|
||||
virtual scalar Cp(scalar T, label celli) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class reactingSolidMixture Declaration
|
||||
Class reactingSolidMixture Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class ThermoSolidType>
|
||||
|
||||
@ -104,8 +104,7 @@ void Foam::solidMixtureThermo<MixtureType>::correct()
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
const Foam::volScalarField&
|
||||
Foam::solidMixtureThermo<MixtureType>::K() const
|
||||
const Foam::volScalarField& Foam::solidMixtureThermo<MixtureType>::K() const
|
||||
{
|
||||
return K_;
|
||||
}
|
||||
@ -220,8 +219,7 @@ Foam::solidMixtureThermo<MixtureType>::Hf() const
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::rho
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::rho
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -243,8 +241,7 @@ Foam::solidMixtureThermo<MixtureType>::rho
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::Cp
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::Cp
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -266,8 +263,7 @@ Foam::solidMixtureThermo<MixtureType>::Cp
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::hs
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::hs
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -289,8 +285,7 @@ Foam::solidMixtureThermo<MixtureType>::hs
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::K
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::K
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -312,8 +307,7 @@ Foam::solidMixtureThermo<MixtureType>::K
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::Hf
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::Hf
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -335,8 +329,7 @@ Foam::solidMixtureThermo<MixtureType>::Hf
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::sigmaS
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::sigmaS
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -359,8 +352,7 @@ Foam::solidMixtureThermo<MixtureType>::sigmaS
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::kappa
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::kappa
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
@ -383,8 +375,7 @@ Foam::solidMixtureThermo<MixtureType>::kappa
|
||||
|
||||
|
||||
template<class MixtureType>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::solidMixtureThermo<MixtureType>::emissivity
|
||||
Foam::tmp<Foam::scalarField> Foam::solidMixtureThermo<MixtureType>::emissivity
|
||||
(
|
||||
const label patchI
|
||||
) const
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class solidMixtureThermo Declaration
|
||||
Class solidMixtureThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class MixtureType>
|
||||
@ -81,8 +81,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
|
||||
virtual ~solidMixtureThermo();
|
||||
virtual ~solidMixtureThermo();
|
||||
|
||||
|
||||
// Member functions
|
||||
@ -122,8 +121,8 @@ public:
|
||||
|
||||
// Patches variables
|
||||
|
||||
|
||||
//- Density [kg/m3]
|
||||
|
||||
//- Density [kg/m3]
|
||||
virtual tmp<scalarField> rho(const label patchI) const;
|
||||
|
||||
//- Specific heat capacity [J/(kg.K)]
|
||||
@ -148,13 +147,11 @@ public:
|
||||
virtual tmp<scalarField> emissivity(const label patchI) const;
|
||||
|
||||
|
||||
|
||||
//- Read thermophysicalProperties dictionary
|
||||
virtual bool read();
|
||||
|
||||
//- Write the basicSolidThermo properties
|
||||
virtual bool writeData(Ostream& os) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -73,17 +73,16 @@ Foam::autoPtr<Foam::pointSolidMixture> Foam::pointSolidMixture::New
|
||||
const dictionary& thermophysicalProperties
|
||||
)
|
||||
{
|
||||
return autoPtr<pointSolidMixture>(new
|
||||
pointSolidMixture(thermophysicalProperties));
|
||||
return autoPtr<pointSolidMixture>
|
||||
(
|
||||
new pointSolidMixture(thermophysicalProperties)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::scalarField Foam::pointSolidMixture::X
|
||||
(
|
||||
const scalarField& Y
|
||||
) const
|
||||
Foam::scalarField Foam::pointSolidMixture::X(const scalarField& Y) const
|
||||
{
|
||||
scalarField X(Y.size());
|
||||
scalar rhoInv = 0.0;
|
||||
@ -97,10 +96,7 @@ Foam::scalarField Foam::pointSolidMixture::X
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::pointSolidMixture::rho
|
||||
(
|
||||
const scalarField& X
|
||||
) const
|
||||
Foam::scalar Foam::pointSolidMixture::rho(const scalarField& X) const
|
||||
{
|
||||
scalar val = 0.0;
|
||||
forAll(properties_, i)
|
||||
@ -111,10 +107,7 @@ Foam::scalar Foam::pointSolidMixture::rho
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::pointSolidMixture::Cp
|
||||
(
|
||||
const scalarField& Y
|
||||
) const
|
||||
Foam::scalar Foam::pointSolidMixture::Cp(const scalarField& Y) const
|
||||
{
|
||||
scalar val = 0.0;
|
||||
forAll(properties_, i)
|
||||
|
||||
@ -55,7 +55,7 @@ Ostream& operator<<
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class pointSolid Declaration
|
||||
Class pointSolid Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class pointSolid
|
||||
|
||||
@ -115,7 +115,9 @@ alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
fixedValueFvPatchScalarField(p, iF),
|
||||
Prt_(0.85),
|
||||
kappa_(0.41),
|
||||
E_(9.8)
|
||||
E_(9.8),
|
||||
hsName_("hs")
|
||||
|
||||
{
|
||||
checkType();
|
||||
}
|
||||
@ -133,7 +135,9 @@ alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
|
||||
Prt_(ptf.Prt_),
|
||||
kappa_(ptf.kappa_),
|
||||
E_(ptf.E_)
|
||||
E_(ptf.E_),
|
||||
hsName_(ptf.hsName_)
|
||||
|
||||
{}
|
||||
|
||||
|
||||
@ -148,7 +152,8 @@ alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
fixedValueFvPatchScalarField(p, iF, dict),
|
||||
Prt_(dict.lookupOrDefault<scalar>("Prt", 0.85)),
|
||||
kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
|
||||
E_(dict.lookupOrDefault<scalar>("E", 9.8))
|
||||
E_(dict.lookupOrDefault<scalar>("E", 9.8)),
|
||||
hsName_(dict.lookupOrDefault<word>("hs", "hs"))
|
||||
{
|
||||
checkType();
|
||||
}
|
||||
@ -163,7 +168,8 @@ alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
fixedValueFvPatchScalarField(awfpsf),
|
||||
Prt_(awfpsf.Prt_),
|
||||
kappa_(awfpsf.kappa_),
|
||||
E_(awfpsf.E_)
|
||||
E_(awfpsf.E_),
|
||||
hsName_(awfpsf.hsName_)
|
||||
{
|
||||
checkType();
|
||||
}
|
||||
@ -179,7 +185,8 @@ alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
fixedValueFvPatchScalarField(awfpsf, iF),
|
||||
Prt_(awfpsf.Prt_),
|
||||
kappa_(awfpsf.kappa_),
|
||||
E_(awfpsf.E_)
|
||||
E_(awfpsf.E_),
|
||||
hsName_(awfpsf.hsName_)
|
||||
{
|
||||
checkType();
|
||||
}
|
||||
@ -209,7 +216,7 @@ void alphaSgsJayatillekeWallFunctionFvPatchScalarField::evaluate
|
||||
|
||||
const scalarField& rhow = lesModel.rho().boundaryField()[patchI];
|
||||
const fvPatchScalarField& hw =
|
||||
patch().lookupPatchField<volScalarField, scalar>("h");
|
||||
patch().lookupPatchField<volScalarField, scalar>(hsName_);
|
||||
|
||||
const scalarField& ry = patch().deltaCoeffs();
|
||||
|
||||
@ -312,6 +319,7 @@ void alphaSgsJayatillekeWallFunctionFvPatchScalarField::write(Ostream& os) const
|
||||
os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("hs") << hsName_ << token::END_STATEMENT << nl;
|
||||
writeEntry("value", os);
|
||||
}
|
||||
|
||||
|
||||
@ -66,6 +66,9 @@ class alphaSgsJayatillekeWallFunctionFvPatchScalarField
|
||||
//- E coefficient
|
||||
scalar E_;
|
||||
|
||||
//- Name of (sensible/total) enthalpy field
|
||||
word hsName_;
|
||||
|
||||
|
||||
// Solution parameters
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/turbulenceModels \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
|
||||
@ -45,5 +45,67 @@ timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
functions
|
||||
{
|
||||
convergenceChecks
|
||||
{
|
||||
type residualControl;
|
||||
functionObjectLibs ("libjobControl.so");
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
|
||||
maxResiduals
|
||||
{
|
||||
p 1e-2;
|
||||
U 1e-3;
|
||||
"(k|epsilon|omega)" 1e-3;
|
||||
}
|
||||
}
|
||||
|
||||
streamLines
|
||||
{
|
||||
type streamLine;
|
||||
|
||||
// Where to load it from (if not already in solver)
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
|
||||
// Output every
|
||||
outputControl outputTime;
|
||||
// outputInterval 10;
|
||||
|
||||
setFormat vtk; //gnuplot; //xmgr; //raw; //jplot;
|
||||
|
||||
// Velocity field to use for tracking.
|
||||
U U;
|
||||
|
||||
// Tracked forwards (+U) or backwards (-U)
|
||||
trackForward true;
|
||||
|
||||
// Names of fields to sample. Should contain above velocity field!
|
||||
fields (p k U);
|
||||
|
||||
// Steps particles can travel before being removed
|
||||
lifeTime 10000;
|
||||
|
||||
// Number of steps per cell (estimate). Set to 1 to disable subcycling.
|
||||
nSubCycle 5;
|
||||
|
||||
// Cloud name to use
|
||||
cloudName particleTracks;
|
||||
|
||||
// Seeding method. See the sampleSets in sampleDict.
|
||||
seedSampleSet uniform; //cloud;//triSurfaceMeshPointSet;
|
||||
|
||||
uniformCoeffs
|
||||
{
|
||||
type uniform;
|
||||
axis x; //distance;
|
||||
|
||||
start (-0.0205 0.001 0.00001);
|
||||
end (-0.0205 0.0251 0.00001);
|
||||
nPoints 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -37,8 +37,8 @@ boundaryField
|
||||
"terrain_.*"
|
||||
{
|
||||
type nutkRoughWallFunction;
|
||||
Ks 0.2; //Ks = 20 Z0
|
||||
Cs 0.5;
|
||||
Ks uniform 0.2; //Ks = 20 Z0
|
||||
Cs uniform 0.5;
|
||||
value uniform 0.0;
|
||||
}
|
||||
|
||||
|
||||
@ -18,10 +18,10 @@ FoamFile
|
||||
disk1
|
||||
{
|
||||
typeModel actuationDiskSource;
|
||||
active on; // on/off switch
|
||||
timeStart 0.0; // start time
|
||||
active on; // on/off switch
|
||||
timeStart 0.0; // start time
|
||||
duration 1000.0; // duration
|
||||
selectionMode cellSet; // cellSet // points //cellZone
|
||||
selectionMode cellZone; // cellSet // points //cellZone
|
||||
cellSet actuationDisk1; // cellSet name when selectionMode = cellSet
|
||||
cellZone actuationDisk1; // cellZone name when selectionMode = cellZone
|
||||
|
||||
@ -37,10 +37,10 @@ disk1
|
||||
disk2
|
||||
{
|
||||
typeModel actuationDiskSource;
|
||||
active on; // on/off switch
|
||||
timeStart 0.0; // start time
|
||||
active on; // on/off switch
|
||||
timeStart 0.0; // start time
|
||||
duration 1000.0; // duration
|
||||
selectionMode cellSet; // cellSet // points //cellZone
|
||||
selectionMode cellZone; // cellSet // points //cellZone
|
||||
cellSet actuationDisk2; // cellSet name when selectionMode = cellSet
|
||||
cellZone actuationDisk2; // cellZone name when selectionMode = cellZone
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ solvers
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -40,7 +40,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother DICGaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration false;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration off;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
@ -28,7 +28,7 @@ solvers
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nBottomSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration off;
|
||||
nCellsInCoarsestLevel 10;
|
||||
agglomerator faceAreaPair;
|
||||
|
||||
Reference in New Issue
Block a user