Merge commit 'OpenCFD/master' into olesenm

This commit is contained in:
Mark Olesen
2009-07-14 18:16:15 +02:00
24 changed files with 178 additions and 138 deletions

View File

@ -359,4 +359,5 @@ vtkUnstructuredGrid* Foam::vtkPV3Foam::volumeVTKMesh
return vtkmesh;
}
// ************************************************************************* //

View File

@ -38,7 +38,6 @@ Description
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
vtkPolyData* Foam::vtkPV3Foam::faceZoneVTKMesh
(
const fvMesh& mesh,
@ -111,7 +110,6 @@ vtkPolyData* Foam::vtkPV3Foam::faceZoneVTKMesh
}
vtkPolyData* Foam::vtkPV3Foam::pointZoneVTKMesh
(
const fvMesh& mesh,
@ -148,4 +146,5 @@ vtkPolyData* Foam::vtkPV3Foam::pointZoneVTKMesh
return vtkmesh;
}
// ************************************************************************* //

View File

@ -519,6 +519,5 @@ void Foam::vtkPV3Foam::updateInfoLagrangianFields()
}
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
// ************************************************************************* //

View File

@ -338,4 +338,5 @@ void Foam::vtkPV3Foam::printMemory()
}
}
// ************************************************************************* //

View File

@ -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;
// ************************************************************************* //

View File

@ -31,7 +31,13 @@ License
const dataType Foam::className::staticData();
// * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -71,12 +77,6 @@ Foam::className::~className()
{}
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //

0
bin/foamTemplates/source/newSource Normal file → Executable file
View File

View File

@ -1,9 +1,9 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | |
| \\/ M anipulation | www.OpenFOAM.org |
| \\ / O peration | Version: 1.5.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{

View File

@ -1640,16 +1640,4 @@ Foam::polyDualMesh::~polyDualMesh()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
// ************************************************************************* //

View File

@ -298,7 +298,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
dt,
cellI,
d,
T,
min(T, td.constProps().Tbp()), // Limit to boiling temperature
pc_,
this->Tc_,
this->muc_/(this->rhoc_ + ROOTVSMALL),

View File

@ -91,6 +91,9 @@ public:
//- Vaporisation temperature [K]
const scalar Tvap_;
//- Boiling point [K]
const scalar Tbp_;
public:
@ -107,7 +110,10 @@ public:
//- Return const access to the vaporisation temperature
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

View File

@ -35,7 +35,8 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
ThermoParcel<ParcelType>::constantProperties(parentDict),
pMin_(dimensionedScalar(this->dict().lookup("pMin")).value()),
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 * * * * * * * * * * * * //
template<class ParcelType>

View File

@ -41,19 +41,20 @@ namespace LESModels
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
muSgsWallFunctionFvPatchScalarField::
muSgsWallFunctionFvPatchScalarField
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
(
const fvPatch& p,
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 fvPatch& p,
@ -61,52 +62,49 @@ muSgsWallFunctionFvPatchScalarField
const fvPatchFieldMapper& mapper
)
:
fixedValueFvPatchScalarField(ptf, p, iF, mapper)
fixedValueFvPatchScalarField(ptf, p, iF, mapper),
UName_(ptf.UName_),
rhoName_(ptf.rhoName_),
muName_(ptf.muName_)
{}
muSgsWallFunctionFvPatchScalarField::
muSgsWallFunctionFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
Istream& is
)
:
fixedValueFvPatchScalarField(p, iF, is)
{}
muSgsWallFunctionFvPatchScalarField::
muSgsWallFunctionFvPatchScalarField
muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
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
)
:
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 fvPatchVectorField& U =
patch().lookupPatchField<volVectorField, vector>("U");
patch().lookupPatchField<volVectorField, vector>(UName_);
scalarField magUp = mag(U.patchInternalField() - U);
const scalarField& muw =
patch().lookupPatchField<volScalarField, scalar>("mu");
patch().lookupPatchField<volScalarField, scalar>(muName_);
const scalarField& rhow =
patch().lookupPatchField<volScalarField, scalar>("rho");
patch().lookupPatchField<volScalarField, scalar>(rhoName_);
scalarField& muSgsw = *this;
@ -143,13 +141,10 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
{
scalar magUpara = magUp[facei];
scalar utau = sqrt
(
(muSgsw[facei] + muw[facei])
*magFaceGradU[facei]/rhow[facei]
);
scalar utau =
sqrt((muSgsw[facei] + muw[facei])*magFaceGradU[facei]/rhow[facei]);
if(utau > 0)
if (utau > 0)
{
int iter = 0;
scalar err = GREAT;
@ -176,7 +171,11 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
} while (utau > VSMALL && err > 0.01 && ++iter < 10);
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
{
@ -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

View File

@ -58,6 +58,15 @@ class muSgsWallFunctionFvPatchScalarField
{
// Private data
//- Name of velocity field
word UName_;
//- Name of density field
word rhoName_;
//- Name of laminar viscosity field
word muName_;
public:
@ -74,14 +83,6 @@ public:
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
muSgsWallFunctionFvPatchScalarField
(
@ -149,6 +150,11 @@ public:
(
const Pstream::commsTypes commsType=Pstream::blocking
);
// I-O
//- Write
void write(Ostream&) const;
};

View File

@ -157,8 +157,6 @@ void mutSpalartAllmarasStandardRoughWallFunctionFvPatchScalarField::evaluate
patch().lookupPatchField<volScalarField, scalar>(muName_);
scalarField& mutw = *this;
scalarField magFaceGradU = mag(U.snGrad());
if (roughnessHeight_ > 0.0)
{
// Rough Walls.

View File

@ -48,7 +48,9 @@ nuSgsWallFunctionFvPatchScalarField
const DimensionedField<scalar, volMesh>& iF
)
:
fixedValueFvPatchScalarField(p, iF)
fixedValueFvPatchScalarField(p, iF),
UName_("U"),
nuName_("nu")
{}
@ -61,7 +63,9 @@ nuSgsWallFunctionFvPatchScalarField
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
)
:
fixedValueFvPatchScalarField(p, iF, dict)
fixedValueFvPatchScalarField(p, iF, dict),
UName_(dict.lookupOrDefault<word>("U", "U")),
nuName_(dict.lookupOrDefault<word>("nu", "nu"))
{}
nuSgsWallFunctionFvPatchScalarField::
nuSgsWallFunctionFvPatchScalarField
(
const nuSgsWallFunctionFvPatchScalarField& tppsf
const nuSgsWallFunctionFvPatchScalarField& nwfpsf
)
:
fixedValueFvPatchScalarField(tppsf)
fixedValueFvPatchScalarField(nwfpsf),
UName_(nwfpsf.UName_),
nuName_(nwfpsf.nuName_)
{}
nuSgsWallFunctionFvPatchScalarField::
nuSgsWallFunctionFvPatchScalarField
(
const nuSgsWallFunctionFvPatchScalarField& tppsf,
const nuSgsWallFunctionFvPatchScalarField& nwfpsf,
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 fvPatchVectorField& U =
patch().lookupPatchField<volVectorField, vector>("U");
patch().lookupPatchField<volVectorField, vector>(UName_);
scalarField magUp = mag(U.patchInternalField() - U);
const scalarField& nuw =
patch().lookupPatchField<volScalarField, scalar>("nu");
patch().lookupPatchField<volScalarField, scalar>(nuName_);
scalarField& nuSgsw = *this;
@ -134,7 +144,7 @@ void nuSgsWallFunctionFvPatchScalarField::evaluate
scalar utau = sqrt((nuSgsw[facei] + nuw[facei])*magFaceGradU[facei]);
if(utau > VSMALL)
if (utau > VSMALL)
{
int iter = 0;
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

View File

@ -58,6 +58,12 @@ class nuSgsWallFunctionFvPatchScalarField
{
// Private data
//- Name of velocity field
word UName_;
//- Name of laminar viscosity field
word nuName_;
public:
@ -141,6 +147,12 @@ public:
(
const Pstream::commsTypes commsType=Pstream::blocking
);
// I-O
//- Write
void write(Ostream&) const;
};

View File

@ -132,8 +132,6 @@ void nutSpalartAllmarasStandardWallFunctionFvPatchScalarField::evaluate
patch().lookupPatchField<volScalarField, scalar>(nuName_);
scalarField& nutw = *this;
scalarField magFaceGradU = mag(U.snGrad());
forAll(nutw, facei)
{
scalar magUpara = magUp[facei];

View File

@ -55,6 +55,7 @@ constantProperties
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
f0 f0 [ 0 0 0 0 0 ] 0.5;
Tvap Tvap [ 0 0 0 1 0 ] 400;
Tbp Tvap [ 0 0 0 1 0 ] 400;
LDevol LDevol [ 0 0 0 0 0 ] 0;
hRetentionCoeff hRetentionCoeff [ 0 0 0 0 0 ] 1;
constantVolume true;

View File

@ -51,6 +51,7 @@ constantProperties
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
f0 f0 [ 0 0 0 0 0 ] 0.5;
Tvap Tvap [ 0 0 0 1 0 ] 273;
Tbp Tvap [ 0 0 0 1 0 ] 373;
constantVolume false;
}

View File

@ -21,10 +21,6 @@ radiationModel none;
solverFreq 10;
noRadiation
{
}
P1Coeffs
{
C C [ 0 0 0 0 0 0 0 ] 0;
@ -49,7 +45,10 @@ binaryAbsorptionEmissionCoeffs
absorptionEmissionModel cloudAbsorptionEmission;
cloudAbsorptionEmissionCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
cloudNames
(
reactingCloud1
);
}
}
}
@ -58,7 +57,10 @@ scatterModel cloudScatter;
cloudScatterCoeffs
{
cloudNames ( coalCloud1 limestoneCloud1 );
cloudNames
(
reactingCloud1
);
}

View File

@ -51,6 +51,7 @@ constantProperties
epsilon0 epsilon0 [ 0 0 0 0 0 ] 1;
f0 f0 [ 0 0 0 0 0 ] 0.5;
Tvap Tvap [ 0 0 0 1 0 ] 273;
Tbp Tvap [ 0 0 0 1 0 ] 373;
constantVolume false;
}
@ -72,7 +73,7 @@ integrationSchemes
particleForces
{
gravity on;
gravity off;
virtualMass off;
pressureGradient off;
}

View File

@ -23,13 +23,13 @@ startTime 0;
stopAt endTime;
endTime 1;
endTime 0.5;
deltaT 0.001;
deltaT 1e-03;
writeControl adjustableRunTime;
writeInterval 0.1;
writeInterval 0.05;
purgeWrite 0;
@ -49,7 +49,7 @@ adjustTimeStep yes;
maxCo 0.3;
maxDeltaT 1e-3;
maxDeltaT 1e-03;
// ************************************************************************* //

View File

@ -33,8 +33,8 @@ solvers
}
p
{
solver PBiCG;
preconditioner DILU;
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
@ -52,13 +52,6 @@ solvers
tolerance 1e-06;
relTol 0;
}
CO2
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
O2
{
solver PBiCG;
@ -73,20 +66,6 @@ solvers
tolerance 1e-06;
relTol 0;
}
CH4
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
H2
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
H2O
{
solver PBiCG;
@ -94,13 +73,6 @@ solvers
tolerance 1e-06;
relTol 0;
}
CO
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-06;
relTol 0;
}
h
{
solver PBiCG;
@ -108,13 +80,6 @@ solvers
tolerance 1e-05;
relTol 0;
}
R
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
k
{
solver PBiCG;
@ -133,7 +98,7 @@ solvers
PISO
{
transonic yes;
transonic no;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
momentumPredictor yes;