mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' into cvm
This commit is contained in:
@ -39,9 +39,10 @@ Description
|
||||
(baseType,thisType,memberFunction,argNames,lookup,functionPtr) \
|
||||
\
|
||||
/* Add the thisType memberFunction to the table, find by lookup name */ \
|
||||
baseType::add##memberFunction##argNames##StaticMemberFunctionToTable<thisType> \
|
||||
add_##lookup##_##thisType##memberFunction##argNames##StaticMemberFunctionTo##baseType##Table_\
|
||||
(#lookup, functionPtr)
|
||||
baseType::add##memberFunction##argNames## \
|
||||
StaticMemberFunctionToTable<thisType> \
|
||||
add_##lookup##_##thisType##memberFunction##argNames## \
|
||||
StaticMemberFunctionTo##baseType##Table_(#lookup, functionPtr)
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -28,20 +28,23 @@ License
|
||||
OpenFOAM is a free, open source CFD software package produced by
|
||||
a commercial company,
|
||||
<a href="http://www.openfoam.com/about">OpenCFD Ltd</a>.
|
||||
It has a
|
||||
large user base across most areas of engineering and science,
|
||||
from both commercial and academic organisations. OpenFOAM has an
|
||||
extensive range of features to solve anything from complex fluid
|
||||
flows involving chemical reactions, turbulence and heat transfer,
|
||||
to solid dynamics and electromagnetics.
|
||||
It has a large user base across most areas of engineering and
|
||||
science, from both commercial and academic organisations.
|
||||
OpenFOAM has an extensive range of features to solve anything from
|
||||
complex fluid flows involving chemical reactions, turbulence and
|
||||
heat transfer, to solid dynamics and electromagnetics.
|
||||
<a href="http://www.openfoam.com/features">More ...</a>
|
||||
|
||||
@section users Our commitment to the users
|
||||
|
||||
OpenFOAM comes with full commercial support from OpenCFD, including
|
||||
<a href="http://www.openfoam.com/support/software.php">software support</a>,
|
||||
<a href="http://www.openfoam.com/support/development.php">contracted developments</a>
|
||||
and a programme of <a href="http://www.openfoam.com/training/">training courses</a>.
|
||||
<a href="http://www.openfoam.com/support/software.php">
|
||||
software support</a>,
|
||||
<a href="http://www.openfoam.com/support/development.php">
|
||||
contracted developments</a>
|
||||
and a programme of
|
||||
<a href="http://www.openfoam.com/training/">
|
||||
training courses</a>.
|
||||
These activities fund the development, maintenance and release of
|
||||
OpenFOAM to make it an extremely viable commercial open source product.
|
||||
|
||||
@ -49,7 +52,8 @@ License
|
||||
|
||||
OpenCFD is committed to open source software, continually developing and
|
||||
maintaining OpenFOAM under the
|
||||
<a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public Licence</a>.
|
||||
<a href="http://www.gnu.org/copyleft/gpl.html">
|
||||
GNU General Public Licence</a>.
|
||||
OpenFOAM will <strong>always</strong> be free of charge and open source.
|
||||
In addition, we endeavour to support other viable open source initiatives
|
||||
that will benefit science and engineering.
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class processorCyclicGAMGInterfaceField Declaration
|
||||
Class processorCyclicGAMGInterfaceField Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class processorCyclicGAMGInterfaceField
|
||||
@ -65,7 +65,10 @@ class processorCyclicGAMGInterfaceField
|
||||
// Private Member Functions
|
||||
|
||||
//- Disallow default bitwise copy construct
|
||||
processorCyclicGAMGInterfaceField(const processorCyclicGAMGInterfaceField&);
|
||||
processorCyclicGAMGInterfaceField
|
||||
(
|
||||
const processorCyclicGAMGInterfaceField&
|
||||
);
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const processorCyclicGAMGInterfaceField&);
|
||||
|
||||
@ -54,8 +54,9 @@ addToRunTimeSelectionTable
|
||||
//void Foam::processorCyclicPointPatch::initGeometry(PstreamBuffers& pBufs)
|
||||
//{
|
||||
// // Algorithm:
|
||||
// // Depending on whether the patch is a master or a slave, get the primitive
|
||||
// // patch points and filter away the points from the global patch.
|
||||
// // Depending on whether the patch is a master or a slave, get the
|
||||
// // primitive patch points and filter away the points from the
|
||||
// // global patch.
|
||||
//
|
||||
// if (isMaster())
|
||||
// {
|
||||
@ -152,7 +153,8 @@ addToRunTimeSelectionTable
|
||||
//{
|
||||
// if (debug)
|
||||
// {
|
||||
// Info<< "processorCyclicPointPatch::initPatchPatchPoints(PstreamBuffers&) : "
|
||||
// Info<< "processorCyclicPointPatch::"
|
||||
// << "initPatchPatchPoints(PstreamBuffers&) : "
|
||||
// << "constructing patch-patch points"
|
||||
// << endl;
|
||||
// }
|
||||
@ -204,8 +206,8 @@ addToRunTimeSelectionTable
|
||||
//
|
||||
// if (iter != patchPointSet.end())
|
||||
// {
|
||||
// // If it is shared initialise the patchPatchPoints for this
|
||||
// // patch
|
||||
// // If it is shared initialise the patchPatchPoints for
|
||||
// // this patch
|
||||
// if (!patchPatchPoints[patchi].size())
|
||||
// {
|
||||
// patchPatchPoints[patchi].setSize(ppmp.size());
|
||||
@ -244,7 +246,10 @@ addToRunTimeSelectionTable
|
||||
//}
|
||||
//
|
||||
//
|
||||
//void Foam::processorCyclicPointPatch::calcPatchPatchPoints(PstreamBuffers& pBufs)
|
||||
//void Foam::processorCyclicPointPatch::calcPatchPatchPoints
|
||||
//(
|
||||
// PstreamBuffers& pBufs
|
||||
//)
|
||||
//{
|
||||
// // Get the patchPatchPoints from the neighbouring processor
|
||||
// UIPstream fromNeighbProc(neighbProcNo(), pBufs);
|
||||
@ -264,7 +269,10 @@ addToRunTimeSelectionTable
|
||||
// // separate.
|
||||
// if (nbrNPoints != ppmp.size())
|
||||
// {
|
||||
// WarningIn("processorCyclicPointPatch::calcPatchPatchPoints(PstreamBuffers&)")
|
||||
// WarningIn
|
||||
// (
|
||||
// "processorCyclicPointPatch::calcPatchPatchPoints(PstreamBuffers&)"
|
||||
// )
|
||||
// << "Processor patch " << name()
|
||||
// << " has " << ppmp.size() << " points; coupled patch has "
|
||||
// << nbrNPoints << " points." << endl
|
||||
@ -280,9 +288,11 @@ addToRunTimeSelectionTable
|
||||
// forAll(patchPatchPoints, patchi)
|
||||
// {
|
||||
// const labelList& patchPoints = patchPatchPoints[patchi];
|
||||
// const List<vector>& patchPointNormals = patchPatchPointNormals[patchi];
|
||||
// const List<vector>& patchPointNormals =
|
||||
// patchPatchPointNormals[patchi];
|
||||
//
|
||||
// // If there are potentially shared points for the patch being considered
|
||||
// // If there are potentially shared points for the patch being
|
||||
// // considered
|
||||
// if (patchPoints.size())
|
||||
// {
|
||||
// // Get the current meshPoints list for the patch
|
||||
@ -351,7 +361,11 @@ addToRunTimeSelectionTable
|
||||
//}
|
||||
|
||||
|
||||
//void processorCyclicPointPatch::initMovePoints(PstreamBuffers&, const pointField&)
|
||||
//void processorCyclicPointPatch::initMovePoints
|
||||
//(
|
||||
// PstreamBuffers&,
|
||||
// const pointField&
|
||||
//)
|
||||
//{}
|
||||
//
|
||||
//
|
||||
|
||||
@ -693,7 +693,8 @@ void Foam::meshReaders::STARCD::readBoundary(const fileName& inputName)
|
||||
|
||||
maxId = max(maxId, starRegion);
|
||||
|
||||
if (patchType == "BAFF") // should actually be case-insensitive
|
||||
// should actually be case-insensitive
|
||||
if (patchType == "BAFF")
|
||||
{
|
||||
nBafflePatches++;
|
||||
}
|
||||
|
||||
@ -140,7 +140,8 @@ public:
|
||||
//- Return a Map of (id => names) selected by patterns
|
||||
Map<word> names(const UList<wordRe>& patterns) const;
|
||||
|
||||
//- Return a Map of (id => name) for materialType (fluid | solid | shell)
|
||||
//- Return a Map of (id => name) for materialType
|
||||
// (fluid | solid | shell)
|
||||
Map<word> selectType(const word& materialType) const;
|
||||
|
||||
//- Return a Map of (id => name) for fluids
|
||||
|
||||
@ -1400,8 +1400,8 @@ Foam::polyDualMesh::polyDualMesh
|
||||
polyMesh
|
||||
(
|
||||
mesh,
|
||||
xferCopy(pointField()), // to prevent any warnings "points not allocated"
|
||||
xferCopy(faceList()), // to prevent any warnings "faces not allocated"
|
||||
xferCopy(pointField()),// to prevent any warnings "points not allocated"
|
||||
xferCopy(faceList()), // to prevent any warnings "faces not allocated"
|
||||
xferCopy(cellList())
|
||||
),
|
||||
cellPoint_
|
||||
@ -1445,8 +1445,8 @@ Foam::polyDualMesh::polyDualMesh
|
||||
polyMesh
|
||||
(
|
||||
mesh,
|
||||
xferCopy(pointField()), // to prevent any warnings "points not allocated"
|
||||
xferCopy(faceList()), // to prevent any warnings "faces not allocated"
|
||||
xferCopy(pointField()),// to prevent any warnings "points not allocated"
|
||||
xferCopy(faceList()), // to prevent any warnings "faces not allocated"
|
||||
xferCopy(cellList())
|
||||
),
|
||||
cellPoint_
|
||||
|
||||
@ -60,7 +60,11 @@
|
||||
*sqrt
|
||||
(
|
||||
4.0*Vk
|
||||
/(circleFraction*thickness*constant::mathematical::pi)
|
||||
/(
|
||||
circleFraction
|
||||
*thickness
|
||||
*constant::mathematical::pi
|
||||
)
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -247,7 +247,8 @@ Foam::MRFZone::MRFZone(const fvMesh& mesh, Istream& is)
|
||||
WarningIn("MRFZone(const fvMesh&, Istream&)")
|
||||
<< "Ignoring entry 'patches'\n"
|
||||
<< " By default all patches within the rotating region rotate.\n"
|
||||
<< " Optionally supply excluded patches using 'nonRotatingPatches'."
|
||||
<< " Optionally supply excluded patches "
|
||||
<< "using 'nonRotatingPatches'."
|
||||
<< endl;
|
||||
}
|
||||
|
||||
|
||||
@ -56,7 +56,10 @@ bool Foam::explicitSource::read(const dictionary& dict)
|
||||
if (basicSource::read(dict))
|
||||
{
|
||||
const dictionary& sourceDict = dict.subDict(name());
|
||||
const dictionary& subDictCoeffs = sourceDict.subDict(typeName + "Coeffs");
|
||||
const dictionary& subDictCoeffs = sourceDict.subDict
|
||||
(
|
||||
typeName + "Coeffs"
|
||||
);
|
||||
setFieldData(subDictCoeffs.subDict("fieldData"));
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -208,7 +208,10 @@ inline Foam::labelList& Foam::TimeActivatedExplicitSource<Type>::cells()
|
||||
|
||||
|
||||
template<class Type>
|
||||
inline Foam::List<typename Foam::TimeActivatedExplicitSource<Type>::fieldNameValuePair>&
|
||||
inline Foam::List
|
||||
<
|
||||
typename Foam::TimeActivatedExplicitSource<Type>::fieldNameValuePair
|
||||
>&
|
||||
Foam::TimeActivatedExplicitSource<Type>::fieldData()
|
||||
{
|
||||
return fieldData_;
|
||||
|
||||
@ -179,9 +179,10 @@ processorCyclicFvPatchField<Type>::~processorCyclicFvPatchField()
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
//template<class Type>
|
||||
//tmp<Field<Type> > processorCyclicFvPatchField<Type>::patchNeighbourField() const
|
||||
//tmp<Field<Type> >
|
||||
//processorCyclicFvPatchField<Type>::patchNeighbourField() const
|
||||
//{
|
||||
// return *this;
|
||||
// return *this;
|
||||
//}
|
||||
//
|
||||
//
|
||||
|
||||
@ -46,7 +46,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class processorCyclicFvPatch Declaration
|
||||
Class processorCyclicFvPatch Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class Type>
|
||||
@ -63,8 +63,12 @@ class processorCyclicFvPatchField
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
// //- Get other patchfield
|
||||
// const coupledFvPatchField<Type>& patchField(const label patchID) const;
|
||||
// //- Get other patchfield
|
||||
// const coupledFvPatchField<Type>& patchField
|
||||
// (
|
||||
// const label patchID
|
||||
// ) const;
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
@ -261,7 +265,10 @@ public:
|
||||
// const label start
|
||||
// ) const
|
||||
// {
|
||||
// notImplemented("processorCyclicFvPatchField::initEvaluate(..)");
|
||||
// notImplemented
|
||||
// (
|
||||
// "processorCyclicFvPatchField::initEvaluate(..)"
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// //- Evaluate the patch field.
|
||||
@ -292,7 +299,8 @@ public:
|
||||
// {
|
||||
// notImplemented
|
||||
// (
|
||||
// "processorCyclicFvPatchField::initInterfaceMatrixUpdate(..)"
|
||||
// "processorCyclicFvPatchField::"
|
||||
// "initInterfaceMatrixUpdate(..)"
|
||||
// );
|
||||
// }
|
||||
//
|
||||
|
||||
@ -381,7 +381,10 @@ Foam::scalar Foam::commonRailInjector::Cd
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::commonRailInjector::fractionOfInjection(const scalar time) const
|
||||
Foam::scalar Foam::commonRailInjector::fractionOfInjection
|
||||
(
|
||||
const scalar time
|
||||
) const
|
||||
{
|
||||
return integrateTable(massFlowRateProfile_, time)/mass_;
|
||||
}
|
||||
|
||||
@ -103,13 +103,20 @@ private:
|
||||
//- Return the fraction of the total injected liquid
|
||||
scalar fractionOfInjection(const scalar time) const;
|
||||
|
||||
/*
|
||||
//- Return the average injection velocity
|
||||
scalar averageInjectionVelocityTime(const scalar liquidDensity) const;
|
||||
|
||||
//- Return the instantaneous injection velocity
|
||||
scalar injectionVelocity(const scalar, const scalar liquidDensity) const;
|
||||
*/
|
||||
// //- Return the average injection velocity
|
||||
// scalar averageInjectionVelocityTime
|
||||
// (
|
||||
// const scalar liquidDensity
|
||||
// ) const;
|
||||
|
||||
// //- Return the instantaneous injection velocity
|
||||
// scalar injectionVelocity
|
||||
// (
|
||||
// const scalar,
|
||||
// const scalar liquidDensity
|
||||
// ) const;
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -465,7 +465,8 @@ void Foam::parcel::updateParcelProperties
|
||||
while ((n < sDB.evaporation().nEvapIter()) && (m() > VSMALL))
|
||||
{
|
||||
n++;
|
||||
// new characteristic times does not need to be calculated the first time
|
||||
// new characteristic times does not need to be calculated the
|
||||
// first time
|
||||
if (n > 1)
|
||||
{
|
||||
newDensity = fuels.rho(pg, Tnew, X());
|
||||
|
||||
@ -190,7 +190,8 @@ void Foam::parcel::setRelaxationTimes
|
||||
{
|
||||
if (!boiling)
|
||||
{
|
||||
// for saturation evaporation, only use 99.99% for numerical robustness
|
||||
// for saturation evaporation, only use 99.99% for
|
||||
// numerical robustness
|
||||
scalar dm = max(SMALL, 0.9999*msat[i] - mfg[i]);
|
||||
|
||||
tauEvaporation[i] = sDB.evaporation().relaxationTime
|
||||
@ -213,16 +214,23 @@ void Foam::parcel::setRelaxationTimes
|
||||
scalar Nusselt =
|
||||
sDB.heatTransfer().Nu(Reynolds, Prandtl);
|
||||
|
||||
// calculating the boiling temperature of the liquid at ambient pressure
|
||||
// calculating the boiling temperature of the liquid
|
||||
// at ambient pressure
|
||||
scalar tBoilingSurface = Td;
|
||||
|
||||
label Niter = 0;
|
||||
scalar deltaT = 10.0;
|
||||
scalar dp0 = fuels.properties()[i].pv(pressure, tBoilingSurface) - pressure;
|
||||
scalar dp0 =
|
||||
fuels.properties()[i].pv(pressure, tBoilingSurface)
|
||||
- pressure;
|
||||
while ((Niter < 200) && (mag(deltaT) > 1.0e-3))
|
||||
{
|
||||
Niter++;
|
||||
scalar pBoil = fuels.properties()[i].pv(pressure, tBoilingSurface);
|
||||
scalar pBoil = fuels.properties()[i].pv
|
||||
(
|
||||
pressure,
|
||||
tBoilingSurface
|
||||
);
|
||||
scalar dp = pBoil - pressure;
|
||||
if ( (dp > 0.0) && (dp0 > 0.0) )
|
||||
{
|
||||
@ -255,11 +263,19 @@ void Foam::parcel::setRelaxationTimes
|
||||
|
||||
forAll(sDB.gasProperties(), k)
|
||||
{
|
||||
vapourSurfaceEnthalpy += sDB.composition().Y()[k][celli]*sDB.gasProperties()[k].H(tBoilingSurface);
|
||||
vapourFarEnthalpy += sDB.composition().Y()[k][celli]*sDB.gasProperties()[k].H(temperature);
|
||||
vapourSurfaceEnthalpy +=
|
||||
sDB.composition().Y()[k][celli]
|
||||
*sDB.gasProperties()[k].H(tBoilingSurface);
|
||||
vapourFarEnthalpy +=
|
||||
sDB.composition().Y()[k][celli]
|
||||
*sDB.gasProperties()[k].H(temperature);
|
||||
}
|
||||
|
||||
scalar kLiquid = fuels.properties()[i].K(pressure, 0.5*(tBoilingSurface+T()));
|
||||
scalar kLiquid = fuels.properties()[i].K
|
||||
(
|
||||
pressure,
|
||||
0.5*(tBoilingSurface+T())
|
||||
);
|
||||
|
||||
tauBoiling[i] = sDB.evaporation().boilingTime
|
||||
(
|
||||
|
||||
@ -48,7 +48,11 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
|
||||
// use mass-averaged temperature to calculate We number
|
||||
scalar averageTemp = (pMax().T()*mMax + pMin().T()*mMin)/mTot;
|
||||
// and mass averaged mole fractions ...
|
||||
scalarField Xav((pMax().m()*pMax().X()+pMin().m()*pMin().X())/(pMax().m() + pMin().m()));
|
||||
scalarField Xav
|
||||
(
|
||||
(pMax().m()*pMax().X()+pMin().m()*pMin().X())
|
||||
/(pMax().m() + pMin().m())
|
||||
);
|
||||
scalar sigma = spray_.fuels().sigma(pc, averageTemp, Xav);
|
||||
sigma = max(1.0e-6, sigma);
|
||||
scalar rho = spray_.fuels().rho(pc, averageTemp, Xav);
|
||||
|
||||
@ -129,7 +129,9 @@ if (vAlign > 0)
|
||||
pMax().d() =
|
||||
pow
|
||||
(
|
||||
6.0*newMaxMass/(rhoMax*constant::mathematical::pi*nMax),
|
||||
6.0
|
||||
*newMaxMass
|
||||
/(rhoMax*constant::mathematical::pi*nMax),
|
||||
1.0/3.0
|
||||
);
|
||||
|
||||
|
||||
@ -253,7 +253,9 @@ Foam::scalar Foam::RutlandFlashBoil::boilingTime
|
||||
}
|
||||
|
||||
scalar Gf =
|
||||
4.0*alfaS*dTLB*constant::mathematical::pi*sqr(diameter/2.0)/heatOfVapour;
|
||||
4.0*alfaS*dTLB
|
||||
*constant::mathematical::pi*sqr(diameter/2.0)
|
||||
/heatOfVapour;
|
||||
|
||||
// calculation of the heat transfer vapourization at superheated
|
||||
// conditions (temperature>tBoilingSurface)
|
||||
@ -265,7 +267,8 @@ Foam::scalar Foam::RutlandFlashBoil::boilingTime
|
||||
mag((vapourFarEnthalpy-vapourSurfaceEnthalpy)/heatOfVapour);
|
||||
|
||||
// 2.0? or 1.0? try 1!
|
||||
scalar B = 1.0*constant::mathematical::pi*kappa/cpGas*diameter*NusseltCorr;
|
||||
scalar B =
|
||||
1.0*constant::mathematical::pi*kappa/cpGas*diameter*NusseltCorr;
|
||||
scalar nPos = B*log(1.0 + A)/Gf + 1.0;
|
||||
scalar nNeg = (1.0/A)*(exp(Gf/B) - 1.0 - A) + 1.0;
|
||||
|
||||
@ -338,7 +341,10 @@ Foam::scalar Foam::RutlandFlashBoil::boilingTime
|
||||
}
|
||||
}
|
||||
|
||||
time = (constant::mathematical::pi*pow3(diameter)/6.0)*liquidDensity/(G + Gf);
|
||||
time =
|
||||
(constant::mathematical::pi*pow3(diameter)/6.0)
|
||||
*liquidDensity
|
||||
/(G + Gf);
|
||||
|
||||
time = max(VSMALL, time);
|
||||
}
|
||||
|
||||
@ -77,7 +77,11 @@ Foam::ChomiakInjector::ChomiakInjector
|
||||
// correct velocityProfile
|
||||
forAll(sm.injectors(), i)
|
||||
{
|
||||
sm.injectors()[i].properties()->correctProfiles(sm.fuels(), referencePressure);
|
||||
sm.injectors()[i].properties()->correctProfiles
|
||||
(
|
||||
sm.fuels(),
|
||||
referencePressure
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@ -129,7 +133,8 @@ Foam::vector Foam::ChomiakInjector::direction
|
||||
scalar reduce = 0.01;
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
beta *= (1.0-2.0*reduce)*0.5*sm_.angleOfWedge()/constant::mathematical::pi;
|
||||
beta *=
|
||||
(1.0-2.0*reduce)*0.5*sm_.angleOfWedge()/constant::mathematical::pi;
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
|
||||
normal =
|
||||
|
||||
@ -150,7 +150,10 @@ Foam::vector Foam::blobsSwirlInjector::direction
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
|
||||
beta *= (1.0 - 2.0*reduce)*sm_.angleOfWedge()/(constant::mathematical::twoPi);
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*sm_.angleOfWedge()
|
||||
/(constant::mathematical::twoPi);
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
normal =
|
||||
alpha
|
||||
|
||||
@ -30,7 +30,8 @@ Description
|
||||
Accurate description in:
|
||||
@verbatim
|
||||
Z. Han, S. Parrish, P.V. Farrell, R.D. Reitz
|
||||
"Modeling Atomization Processes Of Pressure Swirl Hollow-Cone Fuel Sprays"
|
||||
"Modeling Atomization Processes Of Pressure
|
||||
Swirl Hollow-Cone Fuel Sprays"
|
||||
Atomization and Sprays, vol. 7, pp. 663-684, 1997
|
||||
@endverbatim
|
||||
and
|
||||
|
||||
@ -129,7 +129,8 @@ Foam::vector Foam::constInjector::direction
|
||||
v (alpha)
|
||||
*/
|
||||
|
||||
scalar angle = rndGen_.scalar01()*sprayAngle_[n]*constant::mathematical::pi/360.0;
|
||||
scalar angle =
|
||||
rndGen_.scalar01()*sprayAngle_[n]*constant::mathematical::pi/360.0;
|
||||
scalar alpha = sin(angle);
|
||||
scalar dcorr = cos(angle);
|
||||
|
||||
@ -143,7 +144,10 @@ Foam::vector Foam::constInjector::direction
|
||||
scalar reduce = 0.01;
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
beta *= (1.0 - 2.0*reduce)*0.5*sm_.angleOfWedge()/constant::mathematical::pi;
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*0.5*sm_.angleOfWedge()
|
||||
/constant::mathematical::pi;
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
|
||||
normal =
|
||||
|
||||
@ -172,7 +172,10 @@ Foam::vector Foam::definedHollowConeInjector::direction
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
|
||||
beta *= (1.0 - 2.0*reduce)*sm_.angleOfWedge()/(constant::mathematical::twoPi);
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*sm_.angleOfWedge()
|
||||
/(constant::mathematical::twoPi);
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
normal =
|
||||
alpha
|
||||
|
||||
@ -223,7 +223,10 @@ Foam::vector Foam::definedPressureSwirlInjector::direction
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
|
||||
beta *= (1.0 - 2.0*reduce)*sm_.angleOfWedge()/(constant::mathematical::twoPi);
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*sm_.angleOfWedge()
|
||||
/(constant::mathematical::twoPi);
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
normal =
|
||||
alpha
|
||||
@ -261,7 +264,10 @@ Foam::scalar Foam::definedPressureSwirlInjector::velocity
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::definedPressureSwirlInjector::averageVelocity(const label i) const
|
||||
Foam::scalar Foam::definedPressureSwirlInjector::averageVelocity
|
||||
(
|
||||
const label i
|
||||
) const
|
||||
{
|
||||
const injectorType& it = sm_.injectors()[i].properties();
|
||||
|
||||
|
||||
@ -139,7 +139,10 @@ Foam::vector Foam::hollowConeInjector::direction
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
|
||||
beta *= (1.0 - 2.0*reduce)*sm_.angleOfWedge()/(constant::mathematical::twoPi);
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*sm_.angleOfWedge()
|
||||
/(constant::mathematical::twoPi);
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
normal =
|
||||
alpha
|
||||
|
||||
@ -145,7 +145,10 @@ Foam::vector Foam::pressureSwirlInjector::direction
|
||||
// correct beta if this is a 2D run
|
||||
// map it onto the 'angleOfWedge'
|
||||
|
||||
beta *= (1.0 - 2.0*reduce)*sm_.angleOfWedge()/(constant::mathematical::twoPi);
|
||||
beta *=
|
||||
(1.0 - 2.0*reduce)
|
||||
*sm_.angleOfWedge()
|
||||
/(constant::mathematical::twoPi);
|
||||
beta += reduce*sm_.angleOfWedge();
|
||||
normal =
|
||||
alpha
|
||||
|
||||
@ -92,7 +92,8 @@ Foam::scalar Foam::LarsenBorgnakkeVariableHardSphere<CloudType>::energyRatio
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template <class CloudType>
|
||||
Foam::LarsenBorgnakkeVariableHardSphere<CloudType>::LarsenBorgnakkeVariableHardSphere
|
||||
Foam::LarsenBorgnakkeVariableHardSphere<CloudType>::
|
||||
LarsenBorgnakkeVariableHardSphere
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& cloud
|
||||
|
||||
@ -76,7 +76,8 @@ const Foam::dictionary& Foam::DevolatilisationModel<CloudType>::dict() const
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
const Foam::dictionary& Foam::DevolatilisationModel<CloudType>::coeffDict() const
|
||||
const Foam::dictionary&
|
||||
Foam::DevolatilisationModel<CloudType>::coeffDict() const
|
||||
{
|
||||
return coeffDict_;
|
||||
}
|
||||
@ -87,4 +88,3 @@ const Foam::dictionary& Foam::DevolatilisationModel<CloudType>::coeffDict() cons
|
||||
#include "DevolatilisationModelNew.C"
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
|
||||
@ -29,7 +29,11 @@ License
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTemplateTypeNameAndDebug(IOList<reactingMultiphaseParcelInjectionData>, 0);
|
||||
defineTemplateTypeNameAndDebug
|
||||
(
|
||||
IOList<reactingMultiphaseParcelInjectionData>,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -132,7 +132,10 @@ public:
|
||||
}
|
||||
|
||||
//- Read energyScalingFunction dictionary
|
||||
virtual bool read(const dictionary& energyScalingFunctionProperties) = 0;
|
||||
virtual bool read
|
||||
(
|
||||
const dictionary& energyScalingFunctionProperties
|
||||
) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -31,7 +31,8 @@ Description
|
||||
@verbatim
|
||||
@ARTICLE{MA_Maitland_Smith,
|
||||
author = {{Maitland}, G.~C. and {Smith}, E.~B.},
|
||||
title = {A simplified representation of intermolecular potential energy},
|
||||
title = {A simplified representation of
|
||||
intermolecular potential energy},
|
||||
journal = {Chemical Physics Letters},
|
||||
year = 1973,
|
||||
month = oct,
|
||||
@ -45,7 +46,8 @@ Description
|
||||
Parameters for other monoatomics from:
|
||||
@verbatim
|
||||
@BOOK{MD_Maitland_Rigby_Smith_Wakeham,
|
||||
AUTHOR = {Geoffrey C. Maitland and Maurice Rigby and E. Brian Smith and William A. Wakeham},
|
||||
AUTHOR = {Geoffrey C. Maitland and Maurice Rigby and
|
||||
E. Brian Smith and William A. Wakeham},
|
||||
TITLE = {Intermolecular Forces: Their Origin and Determination},
|
||||
PUBLISHER = {Oxford University Press},
|
||||
YEAR = {1981}
|
||||
|
||||
@ -50,7 +50,8 @@ void Foam::tetherPotentialList::readTetherPotentialDict
|
||||
if (tetherId == -1)
|
||||
{
|
||||
FatalErrorIn("tetherPotentialList::readTetherPotentialDict")
|
||||
<< nl << "No matching entry found in siteIdList for tether name "
|
||||
<< nl
|
||||
<< "No matching entry found in siteIdList for tether name "
|
||||
<< tetherPotentialName
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
@ -590,7 +590,10 @@ Foam::booleanSurface::booleanSurface
|
||||
|
||||
// Copy points from subSurf1 and remember the labels of the ones in
|
||||
// the intersection
|
||||
labelList intersectionLabels(cutSurf1.nPoints() - cutSurf1.nSurfacePoints());
|
||||
labelList intersectionLabels
|
||||
(
|
||||
cutSurf1.nPoints() - cutSurf1.nSurfacePoints()
|
||||
);
|
||||
|
||||
label combinedPointI = 0;
|
||||
|
||||
|
||||
@ -250,11 +250,11 @@ void d2vec_part_quick_a ( int n, double a[], int *l, int *r )
|
||||
|
||||
return;
|
||||
}
|
||||
//*******************************************************************************
|
||||
//******************************************************************************
|
||||
|
||||
void d2vec_permute ( int n, double a[], int p[] )
|
||||
|
||||
//*******************************************************************************
|
||||
//******************************************************************************
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
@ -383,7 +383,8 @@ int *d2vec_sort_heap_index_a ( int n, double a[] )
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// D2VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R2 vector.
|
||||
// D2VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of
|
||||
// an R2 vector.
|
||||
//
|
||||
// Discussion:
|
||||
//
|
||||
@ -864,7 +865,8 @@ void dmat_uniform ( int m, int n, double b, double c, int *seed, double r[] )
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// DMAT_UNIFORM fills a double precision array with scaled pseudorandom values.
|
||||
// DMAT_UNIFORM fills a double precision array with scaled
|
||||
// pseudorandom values.
|
||||
//
|
||||
// Discussion:
|
||||
//
|
||||
@ -983,8 +985,9 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
|
||||
//
|
||||
// Input, int POINT_NUM, the number of vertices.
|
||||
//
|
||||
// Input/output, double POINT_XY[POINT_NUM*2], the coordinates of the vertices.
|
||||
// On output, the vertices have been sorted into dictionary order.
|
||||
// Input/output, double POINT_XY[POINT_NUM*2], the coordinates of
|
||||
// the vertices. On output, the vertices have been sorted into
|
||||
// dictionary order.
|
||||
//
|
||||
// Output, int *TRI_NUM, the number of triangles in the triangulation;
|
||||
// TRI_NUM is equal to 2*POINT_NUM - NB - 2, where NB is the number
|
||||
@ -1703,11 +1706,11 @@ int i_sign ( int i )
|
||||
}
|
||||
|
||||
}
|
||||
//*******************************************************************************
|
||||
//******************************************************************************
|
||||
|
||||
int i_wrap ( int ival, int ilo, int ihi )
|
||||
|
||||
//*******************************************************************************
|
||||
//******************************************************************************
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
@ -3008,7 +3011,8 @@ double *triangle_circumcenter_2d ( double t[] )
|
||||
//
|
||||
// Input, double T[2*3], the triangle vertices.
|
||||
//
|
||||
// Output, double *X, *Y, the coordinates of the circumcenter of the triangle.
|
||||
// Output, double *X, *Y, the coordinates of the circumcenter of
|
||||
// the triangle.
|
||||
//
|
||||
{
|
||||
# define DIM_NUM 2
|
||||
@ -3043,8 +3047,8 @@ double *triangle_circumcenter_2d ( double t[] )
|
||||
}
|
||||
//******************************************************************************
|
||||
|
||||
bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[],
|
||||
int tri_num, int nod_tri[] )
|
||||
bool triangulation_plot_eps ( const char *file_out_name, int g_num,
|
||||
double g_xy[], int tri_num, int nod_tri[] )
|
||||
|
||||
//******************************************************************************
|
||||
//
|
||||
|
||||
@ -30,8 +30,8 @@ void ivec_heap_d ( int n, int a[] );
|
||||
int *ivec_indicator ( int n );
|
||||
void ivec_sort_heap_a ( int n, int a[] );
|
||||
void ivec_sorted_unique ( int n, int a[], int *nuniq );
|
||||
int lrline ( double xu, double yu, double xv1, double yv1, double xv2, double yv2,
|
||||
double dv );
|
||||
int lrline ( double xu, double yu, double xv1, double yv1, double xv2,
|
||||
double yv2, double dv );
|
||||
bool perm_check ( int n, int p[] );
|
||||
void perm_inv ( int n, int p[] );
|
||||
int *points_delaunay_naive_2d ( int n, double p[], int *ntri );
|
||||
@ -42,10 +42,9 @@ int swapec ( int i, int *top, int *btri, int *bedg, int point_num,
|
||||
void timestamp ( void );
|
||||
char *timestring ( void );
|
||||
double *triangle_circumcenter_2d ( double t[] );
|
||||
bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[],
|
||||
int tri_num, int nod_tri[] );
|
||||
bool triangulation_plot_eps ( const char *file_out_name,
|
||||
int g_num, double g_xy[], int tri_num, int nod_tri[] );
|
||||
void triangulation_print ( int point_num, double xc[], int tri_num,
|
||||
int tri_vert[], int tri_nabe[] );
|
||||
void vbedg ( double x, double y, int point_num, double point_xy[], int tri_num,
|
||||
int tri_vert[], int tri_nabe[], int *ltri, int *ledg, int *rtri, int *redg );
|
||||
|
||||
|
||||
@ -29,7 +29,11 @@ License
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineNamedTemplateTypeNameAndDebug(surfaceInterpolateFieldsFunctionObject, 0);
|
||||
defineNamedTemplateTypeNameAndDebug
|
||||
(
|
||||
surfaceInterpolateFieldsFunctionObject,
|
||||
0
|
||||
);
|
||||
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
|
||||
@ -25,8 +25,8 @@ Typedef
|
||||
Foam::surfaceInterpolateFieldsFunctionObject
|
||||
|
||||
Description
|
||||
FunctionObject wrapper around surfaceInterpolateFields to allow them to be created via
|
||||
the functions entry within controlDict.
|
||||
FunctionObject wrapper around surfaceInterpolateFields to allow
|
||||
them to be created via the functions entry within controlDict.
|
||||
|
||||
SourceFiles
|
||||
surfaceInterpolateFieldsFunctionObject.C
|
||||
|
||||
@ -258,7 +258,8 @@ Foam::tmp<Foam::volScalarField> Foam::interpolatedSolidThermo::Hf() const
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::interpolatedSolidThermo::emissivity() const
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::interpolatedSolidThermo::emissivity() const
|
||||
{
|
||||
tmp<volScalarField> temissivity
|
||||
(
|
||||
|
||||
@ -28,7 +28,9 @@ Description
|
||||
Rosin-Rammler pdf
|
||||
|
||||
@f[
|
||||
cumulative pdf = (1.0 - exp( -((x - d0)/d)^n ) / (1.0 - exp( -((d1 - d0)/d)^n )
|
||||
cumulative pdf =
|
||||
(1.0 - exp( -(( x - d0)/d)^n )
|
||||
/ (1.0 - exp( -((d1 - d0)/d)^n )
|
||||
@f]
|
||||
|
||||
|
||||
|
||||
@ -379,8 +379,11 @@ void LRR::correct()
|
||||
forAll(curPatch, facei)
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli]
|
||||
*= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0);
|
||||
P[faceCelli] *= min
|
||||
(
|
||||
G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
|
||||
100.0
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -417,8 +417,11 @@ void LaunderGibsonRSTM::correct()
|
||||
forAll(curPatch, facei)
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli] *=
|
||||
min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 100.0);
|
||||
P[faceCelli] *= min
|
||||
(
|
||||
G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
|
||||
100.0
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -340,8 +340,11 @@ void LRR::correct()
|
||||
forAll(curPatch, facei)
|
||||
{
|
||||
label faceCelli = curPatch.faceCells()[facei];
|
||||
P[faceCelli]
|
||||
*= min(G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL), 1.0);
|
||||
P[faceCelli] *= min
|
||||
(
|
||||
G[faceCelli]/(0.5*mag(tr(P[faceCelli])) + SMALL),
|
||||
1.0
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user