mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge commit 'OpenCFD/master' into olesenm
This commit is contained in:
@ -359,4 +359,5 @@ vtkUnstructuredGrid* Foam::vtkPV3Foam::volumeVTKMesh
|
|||||||
return vtkmesh;
|
return vtkmesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -38,7 +38,6 @@ Description
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
vtkPolyData* Foam::vtkPV3Foam::faceZoneVTKMesh
|
vtkPolyData* Foam::vtkPV3Foam::faceZoneVTKMesh
|
||||||
(
|
(
|
||||||
const fvMesh& mesh,
|
const fvMesh& mesh,
|
||||||
@ -111,7 +110,6 @@ vtkPolyData* Foam::vtkPV3Foam::faceZoneVTKMesh
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vtkPolyData* Foam::vtkPV3Foam::pointZoneVTKMesh
|
vtkPolyData* Foam::vtkPV3Foam::pointZoneVTKMesh
|
||||||
(
|
(
|
||||||
const fvMesh& mesh,
|
const fvMesh& mesh,
|
||||||
@ -148,4 +146,5 @@ vtkPolyData* Foam::vtkPV3Foam::pointZoneVTKMesh
|
|||||||
return vtkmesh;
|
return vtkmesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -519,6 +519,5 @@ void Foam::vtkPV3Foam::updateInfoLagrangianFields()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -338,4 +338,5 @@ void Foam::vtkPV3Foam::printMemory()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -0,0 +1,25 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.5.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object particleTrackProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
cloudName reactingCloud1;
|
||||||
|
|
||||||
|
sampleFrequency 1;
|
||||||
|
|
||||||
|
maxPositions 1000000;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -31,7 +31,13 @@ License
|
|||||||
const dataType Foam::className::staticData();
|
const dataType Foam::className::staticData();
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
@ -71,12 +77,6 @@ Foam::className::~className()
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
0
bin/foamTemplates/source/newSource
Normal file → Executable file
0
bin/foamTemplates/source/newSource
Normal file → Executable file
@ -1,9 +1,9 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
| ========= | |
|
| ========= | |
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
| \\ / O peration | Version: dev |
|
| \\ / O peration | Version: 1.5.x |
|
||||||
| \\ / A nd | |
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
| \\/ M anipulation | www.OpenFOAM.org |
|
| \\/ M anipulation | |
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
FoamFile
|
FoamFile
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1640,16 +1640,4 @@ Foam::polyDualMesh::~polyDualMesh()
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -298,7 +298,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
|
|||||||
dt,
|
dt,
|
||||||
cellI,
|
cellI,
|
||||||
d,
|
d,
|
||||||
T,
|
min(T, td.constProps().Tbp()), // Limit to boiling temperature
|
||||||
pc_,
|
pc_,
|
||||||
this->Tc_,
|
this->Tc_,
|
||||||
this->muc_/(this->rhoc_ + ROOTVSMALL),
|
this->muc_/(this->rhoc_ + ROOTVSMALL),
|
||||||
|
|||||||
@ -91,6 +91,9 @@ public:
|
|||||||
//- Vaporisation temperature [K]
|
//- Vaporisation temperature [K]
|
||||||
const scalar Tvap_;
|
const scalar Tvap_;
|
||||||
|
|
||||||
|
//- Boiling point [K]
|
||||||
|
const scalar Tbp_;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -107,7 +110,10 @@ public:
|
|||||||
|
|
||||||
//- Return const access to the vaporisation temperature
|
//- Return const access to the vaporisation temperature
|
||||||
inline scalar Tvap() const;
|
inline scalar Tvap() const;
|
||||||
};
|
|
||||||
|
//- Return const access to the boiling point
|
||||||
|
inline scalar Tbp() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//- Class used to pass reacting tracking data to the trackToFace function
|
//- Class used to pass reacting tracking data to the trackToFace function
|
||||||
|
|||||||
@ -35,7 +35,8 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
|
|||||||
ThermoParcel<ParcelType>::constantProperties(parentDict),
|
ThermoParcel<ParcelType>::constantProperties(parentDict),
|
||||||
pMin_(dimensionedScalar(this->dict().lookup("pMin")).value()),
|
pMin_(dimensionedScalar(this->dict().lookup("pMin")).value()),
|
||||||
constantVolume_(this->dict().lookup("constantVolume")),
|
constantVolume_(this->dict().lookup("constantVolume")),
|
||||||
Tvap_(dimensionedScalar(this->dict().lookup("Tvap")).value())
|
Tvap_(dimensionedScalar(this->dict().lookup("Tvap")).value()),
|
||||||
|
Tbp_(dimensionedScalar(this->dict().lookup("Tbp")).value())
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -145,6 +146,14 @@ Foam::ReactingParcel<ParcelType>::constantProperties::Tvap() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ParcelType>
|
||||||
|
inline Foam::scalar
|
||||||
|
Foam::ReactingParcel<ParcelType>::constantProperties::Tbp() const
|
||||||
|
{
|
||||||
|
return Tbp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * trackData Member Functions * * * * * * * * * * * * //
|
// * * * * * * * * * * * trackData Member Functions * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class ParcelType>
|
template<class ParcelType>
|
||||||
|
|||||||
@ -41,19 +41,20 @@ namespace LESModels
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(p, iF)
|
fixedValueFvPatchScalarField(p, iF),
|
||||||
|
UName_("U"),
|
||||||
|
rhoName_("rho"),
|
||||||
|
muName_("mu")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
(
|
||||||
const muSgsWallFunctionFvPatchScalarField& ptf,
|
const muSgsWallFunctionFvPatchScalarField& ptf,
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
@ -61,52 +62,49 @@ muSgsWallFunctionFvPatchScalarField
|
|||||||
const fvPatchFieldMapper& mapper
|
const fvPatchFieldMapper& mapper
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(ptf, p, iF, mapper)
|
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
|
||||||
|
UName_(ptf.UName_),
|
||||||
|
rhoName_(ptf.rhoName_),
|
||||||
|
muName_(ptf.muName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
|
||||||
Istream& is
|
|
||||||
)
|
|
||||||
:
|
|
||||||
fixedValueFvPatchScalarField(p, iF, is)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(p, iF, dict)
|
fixedValueFvPatchScalarField(p, iF, dict),
|
||||||
|
UName_(dict.lookupOrDefault<word>("U", "U")),
|
||||||
|
rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
|
||||||
|
muName_(dict.lookupOrDefault<word>("mu", "mu"))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
(
|
||||||
const muSgsWallFunctionFvPatchScalarField& tppsf
|
const muSgsWallFunctionFvPatchScalarField& mwfpsf
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf)
|
fixedValueFvPatchScalarField(mwfpsf),
|
||||||
|
UName_(mwfpsf.UName_),
|
||||||
|
rhoName_(mwfpsf.rhoName_),
|
||||||
|
muName_(mwfpsf.muName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
(
|
||||||
const muSgsWallFunctionFvPatchScalarField& tppsf,
|
const muSgsWallFunctionFvPatchScalarField& mwfpsf,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf, iF)
|
fixedValueFvPatchScalarField(mwfpsf, iF),
|
||||||
|
UName_(mwfpsf.UName_),
|
||||||
|
rhoName_(mwfpsf.rhoName_),
|
||||||
|
muName_(mwfpsf.muName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -125,15 +123,15 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
const scalarField& ry = patch().deltaCoeffs();
|
const scalarField& ry = patch().deltaCoeffs();
|
||||||
|
|
||||||
const fvPatchVectorField& U =
|
const fvPatchVectorField& U =
|
||||||
patch().lookupPatchField<volVectorField, vector>("U");
|
patch().lookupPatchField<volVectorField, vector>(UName_);
|
||||||
|
|
||||||
scalarField magUp = mag(U.patchInternalField() - U);
|
scalarField magUp = mag(U.patchInternalField() - U);
|
||||||
|
|
||||||
const scalarField& muw =
|
const scalarField& muw =
|
||||||
patch().lookupPatchField<volScalarField, scalar>("mu");
|
patch().lookupPatchField<volScalarField, scalar>(muName_);
|
||||||
|
|
||||||
const scalarField& rhow =
|
const scalarField& rhow =
|
||||||
patch().lookupPatchField<volScalarField, scalar>("rho");
|
patch().lookupPatchField<volScalarField, scalar>(rhoName_);
|
||||||
|
|
||||||
scalarField& muSgsw = *this;
|
scalarField& muSgsw = *this;
|
||||||
|
|
||||||
@ -143,13 +141,10 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
{
|
{
|
||||||
scalar magUpara = magUp[facei];
|
scalar magUpara = magUp[facei];
|
||||||
|
|
||||||
scalar utau = sqrt
|
scalar utau =
|
||||||
(
|
sqrt((muSgsw[facei] + muw[facei])*magFaceGradU[facei]/rhow[facei]);
|
||||||
(muSgsw[facei] + muw[facei])
|
|
||||||
*magFaceGradU[facei]/rhow[facei]
|
|
||||||
);
|
|
||||||
|
|
||||||
if(utau > 0)
|
if (utau > 0)
|
||||||
{
|
{
|
||||||
int iter = 0;
|
int iter = 0;
|
||||||
scalar err = GREAT;
|
scalar err = GREAT;
|
||||||
@ -176,7 +171,11 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
} while (utau > VSMALL && err > 0.01 && ++iter < 10);
|
} while (utau > VSMALL && err > 0.01 && ++iter < 10);
|
||||||
|
|
||||||
muSgsw[facei] =
|
muSgsw[facei] =
|
||||||
max(rhow[facei]*sqr(utau)/magFaceGradU[facei] - muw[facei],0.0);
|
max
|
||||||
|
(
|
||||||
|
rhow[facei]*sqr(utau)/magFaceGradU[facei] - muw[facei],
|
||||||
|
0.0
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -186,6 +185,16 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void muSgsWallFunctionFvPatchScalarField::write(Ostream& os) const
|
||||||
|
{
|
||||||
|
fvPatchField<scalar>::write(os);
|
||||||
|
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "mu", "mu", muName_);
|
||||||
|
writeEntry("value", os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
makePatchTypeField
|
makePatchTypeField
|
||||||
|
|||||||
@ -58,6 +58,15 @@ class muSgsWallFunctionFvPatchScalarField
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
|
//- Name of velocity field
|
||||||
|
word UName_;
|
||||||
|
|
||||||
|
//- Name of density field
|
||||||
|
word rhoName_;
|
||||||
|
|
||||||
|
//- Name of laminar viscosity field
|
||||||
|
word muName_;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -74,14 +83,6 @@ public:
|
|||||||
const DimensionedField<scalar, volMesh>&
|
const DimensionedField<scalar, volMesh>&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from patch, internal field and Istream
|
|
||||||
muSgsWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&,
|
|
||||||
Istream&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
//- Construct from patch, internal field and dictionary
|
||||||
muSgsWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
@ -149,6 +150,11 @@ public:
|
|||||||
(
|
(
|
||||||
const Pstream::commsTypes commsType=Pstream::blocking
|
const Pstream::commsTypes commsType=Pstream::blocking
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// I-O
|
||||||
|
|
||||||
|
//- Write
|
||||||
|
void write(Ostream&) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -157,8 +157,6 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
|
|||||||
patch().lookupPatchField<volScalarField, scalar>(muName_);
|
patch().lookupPatchField<volScalarField, scalar>(muName_);
|
||||||
scalarField& mutw = *this;
|
scalarField& mutw = *this;
|
||||||
|
|
||||||
scalarField magFaceGradU = mag(U.snGrad());
|
|
||||||
|
|
||||||
if (roughnessHeight_ > 0.0)
|
if (roughnessHeight_ > 0.0)
|
||||||
{
|
{
|
||||||
// Rough Walls.
|
// Rough Walls.
|
||||||
|
|||||||
@ -48,7 +48,9 @@ nuSgsWallFunctionFvPatchScalarField
|
|||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(p, iF)
|
fixedValueFvPatchScalarField(p, iF),
|
||||||
|
UName_("U"),
|
||||||
|
nuName_("nu")
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -61,7 +63,9 @@ nuSgsWallFunctionFvPatchScalarField
|
|||||||
const fvPatchFieldMapper& mapper
|
const fvPatchFieldMapper& mapper
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(ptf, p, iF, mapper)
|
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
|
||||||
|
UName_(ptf.UName_),
|
||||||
|
nuName_(ptf.nuName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -73,28 +77,34 @@ nuSgsWallFunctionFvPatchScalarField
|
|||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(p, iF, dict)
|
fixedValueFvPatchScalarField(p, iF, dict),
|
||||||
|
UName_(dict.lookupOrDefault<word>("U", "U")),
|
||||||
|
nuName_(dict.lookupOrDefault<word>("nu", "nu"))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsWallFunctionFvPatchScalarField& tppsf
|
const nuSgsWallFunctionFvPatchScalarField& nwfpsf
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf)
|
fixedValueFvPatchScalarField(nwfpsf),
|
||||||
|
UName_(nwfpsf.UName_),
|
||||||
|
nuName_(nwfpsf.nuName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsWallFunctionFvPatchScalarField& tppsf,
|
const nuSgsWallFunctionFvPatchScalarField& nwfpsf,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf, iF)
|
fixedValueFvPatchScalarField(nwfpsf, iF),
|
||||||
|
UName_(nwfpsf.UName_),
|
||||||
|
nuName_(nwfpsf.nuName_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -117,12 +127,12 @@ void nuSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
const scalarField& ry = patch().deltaCoeffs();
|
const scalarField& ry = patch().deltaCoeffs();
|
||||||
|
|
||||||
const fvPatchVectorField& U =
|
const fvPatchVectorField& U =
|
||||||
patch().lookupPatchField<volVectorField, vector>("U");
|
patch().lookupPatchField<volVectorField, vector>(UName_);
|
||||||
|
|
||||||
scalarField magUp = mag(U.patchInternalField() - U);
|
scalarField magUp = mag(U.patchInternalField() - U);
|
||||||
|
|
||||||
const scalarField& nuw =
|
const scalarField& nuw =
|
||||||
patch().lookupPatchField<volScalarField, scalar>("nu");
|
patch().lookupPatchField<volScalarField, scalar>(nuName_);
|
||||||
scalarField& nuSgsw = *this;
|
scalarField& nuSgsw = *this;
|
||||||
|
|
||||||
|
|
||||||
@ -134,7 +144,7 @@ void nuSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
|
|
||||||
scalar utau = sqrt((nuSgsw[facei] + nuw[facei])*magFaceGradU[facei]);
|
scalar utau = sqrt((nuSgsw[facei] + nuw[facei])*magFaceGradU[facei]);
|
||||||
|
|
||||||
if(utau > VSMALL)
|
if (utau > VSMALL)
|
||||||
{
|
{
|
||||||
int iter = 0;
|
int iter = 0;
|
||||||
scalar err = GREAT;
|
scalar err = GREAT;
|
||||||
@ -171,6 +181,15 @@ void nuSgsWallFunctionFvPatchScalarField::evaluate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void nuSgsWallFunctionFvPatchScalarField::write(Ostream& os) const
|
||||||
|
{
|
||||||
|
fvPatchField<scalar>::write(os);
|
||||||
|
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
||||||
|
writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
|
||||||
|
writeEntry("value", os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
makePatchTypeField
|
makePatchTypeField
|
||||||
|
|||||||
@ -58,6 +58,12 @@ class nuSgsWallFunctionFvPatchScalarField
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
|
//- Name of velocity field
|
||||||
|
word UName_;
|
||||||
|
|
||||||
|
//- Name of laminar viscosity field
|
||||||
|
word nuName_;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -141,6 +147,12 @@ public:
|
|||||||
(
|
(
|
||||||
const Pstream::commsTypes commsType=Pstream::blocking
|
const Pstream::commsTypes commsType=Pstream::blocking
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// I-O
|
||||||
|
|
||||||
|
//- Write
|
||||||
|
void write(Ostream&) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -132,8 +132,6 @@ void nutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
|
|||||||
patch().lookupPatchField<volScalarField, scalar>(nuName_);
|
patch().lookupPatchField<volScalarField, scalar>(nuName_);
|
||||||
scalarField& nutw = *this;
|
scalarField& nutw = *this;
|
||||||
|
|
||||||
scalarField magFaceGradU = mag(U.snGrad());
|
|
||||||
|
|
||||||
forAll(nutw, facei)
|
forAll(nutw, facei)
|
||||||
{
|
{
|
||||||
scalar magUpara = magUp[facei];
|
scalar magUpara = magUp[facei];
|
||||||
|
|||||||
@ -55,6 +55,7 @@ constantProperties
|
|||||||
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
||||||
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
||||||
Tvap Tvap [ 0 0 0 1 0 ] 400;
|
Tvap Tvap [ 0 0 0 1 0 ] 400;
|
||||||
|
Tbp Tvap [ 0 0 0 1 0 ] 400;
|
||||||
LDevol LDevol [ 0 0 0 0 0 ] 0;
|
LDevol LDevol [ 0 0 0 0 0 ] 0;
|
||||||
hRetentionCoeff hRetentionCoeff [ 0 0 0 0 0 ] 1;
|
hRetentionCoeff hRetentionCoeff [ 0 0 0 0 0 ] 1;
|
||||||
constantVolume true;
|
constantVolume true;
|
||||||
|
|||||||
@ -51,6 +51,7 @@ constantProperties
|
|||||||
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
||||||
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
||||||
Tvap Tvap [ 0 0 0 1 0 ] 273;
|
Tvap Tvap [ 0 0 0 1 0 ] 273;
|
||||||
|
Tbp Tvap [ 0 0 0 1 0 ] 373;
|
||||||
constantVolume false;
|
constantVolume false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,10 +21,6 @@ radiationModel none;
|
|||||||
|
|
||||||
solverFreq 10;
|
solverFreq 10;
|
||||||
|
|
||||||
noRadiation
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
P1Coeffs
|
P1Coeffs
|
||||||
{
|
{
|
||||||
C C [ 0 0 0 0 0 0 0 ] 0;
|
C C [ 0 0 0 0 0 0 0 ] 0;
|
||||||
@ -49,7 +45,10 @@ binaryAbsorptionEmissionCoeffs
|
|||||||
absorptionEmissionModel cloudAbsorptionEmission;
|
absorptionEmissionModel cloudAbsorptionEmission;
|
||||||
cloudAbsorptionEmissionCoeffs
|
cloudAbsorptionEmissionCoeffs
|
||||||
{
|
{
|
||||||
cloudNames ( coalCloud1 limestoneCloud1 );
|
cloudNames
|
||||||
|
(
|
||||||
|
reactingCloud1
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -58,7 +57,10 @@ scatterModel cloudScatter;
|
|||||||
|
|
||||||
cloudScatterCoeffs
|
cloudScatterCoeffs
|
||||||
{
|
{
|
||||||
cloudNames ( coalCloud1 limestoneCloud1 );
|
cloudNames
|
||||||
|
(
|
||||||
|
reactingCloud1
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,7 @@ constantProperties
|
|||||||
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
|
||||||
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
f0 f0 [ 0 0 0 0 0 ] 0.5;
|
||||||
Tvap Tvap [ 0 0 0 1 0 ] 273;
|
Tvap Tvap [ 0 0 0 1 0 ] 273;
|
||||||
|
Tbp Tvap [ 0 0 0 1 0 ] 373;
|
||||||
constantVolume false;
|
constantVolume false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +73,7 @@ integrationSchemes
|
|||||||
|
|
||||||
particleForces
|
particleForces
|
||||||
{
|
{
|
||||||
gravity on;
|
gravity off;
|
||||||
virtualMass off;
|
virtualMass off;
|
||||||
pressureGradient off;
|
pressureGradient off;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,13 +23,13 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1;
|
endTime 0.5;
|
||||||
|
|
||||||
deltaT 0.001;
|
deltaT 1e-03;
|
||||||
|
|
||||||
writeControl adjustableRunTime;
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
writeInterval 0.1;
|
writeInterval 0.05;
|
||||||
|
|
||||||
purgeWrite 0;
|
purgeWrite 0;
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ adjustTimeStep yes;
|
|||||||
|
|
||||||
maxCo 0.3;
|
maxCo 0.3;
|
||||||
|
|
||||||
maxDeltaT 1e-3;
|
maxDeltaT 1e-03;
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -33,8 +33,8 @@ solvers
|
|||||||
}
|
}
|
||||||
p
|
p
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PCG;
|
||||||
preconditioner DILU;
|
preconditioner DIC;
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
@ -52,13 +52,6 @@ solvers
|
|||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
CO2
|
|
||||||
{
|
|
||||||
solver PBiCG;
|
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-06;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
O2
|
O2
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
@ -73,20 +66,6 @@ solvers
|
|||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
CH4
|
|
||||||
{
|
|
||||||
solver PBiCG;
|
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-06;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
H2
|
|
||||||
{
|
|
||||||
solver PBiCG;
|
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-06;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
H2O
|
H2O
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
@ -94,13 +73,6 @@ solvers
|
|||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
CO
|
|
||||||
{
|
|
||||||
solver PBiCG;
|
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-06;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
h
|
h
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
@ -108,13 +80,6 @@ solvers
|
|||||||
tolerance 1e-05;
|
tolerance 1e-05;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
R
|
|
||||||
{
|
|
||||||
solver PBiCG;
|
|
||||||
preconditioner DILU;
|
|
||||||
tolerance 1e-05;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
k
|
k
|
||||||
{
|
{
|
||||||
solver PBiCG;
|
solver PBiCG;
|
||||||
@ -133,7 +98,7 @@ solvers
|
|||||||
|
|
||||||
PISO
|
PISO
|
||||||
{
|
{
|
||||||
transonic yes;
|
transonic no;
|
||||||
nCorrectors 2;
|
nCorrectors 2;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
momentumPredictor yes;
|
momentumPredictor yes;
|
||||||
|
|||||||
Reference in New Issue
Block a user