Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-2.3.x
This commit is contained in:
commit
6519e2f7e1
14 changed files with 148 additions and 70 deletions
|
|
@ -53,7 +53,8 @@ using namespace Foam;
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
# include "addOverwriteOption.H"
|
#include "addOverwriteOption.H"
|
||||||
|
#include "addRegionOption.H"
|
||||||
argList::validArgs.append("cellSet");
|
argList::validArgs.append("cellSet");
|
||||||
argList::addBoolOption
|
argList::addBoolOption
|
||||||
(
|
(
|
||||||
|
|
@ -62,10 +63,10 @@ int main(int argc, char *argv[])
|
||||||
" (default is to extend set)"
|
" (default is to extend set)"
|
||||||
);
|
);
|
||||||
|
|
||||||
# include "setRootCase.H"
|
#include "setRootCase.H"
|
||||||
# include "createTime.H"
|
#include "createTime.H"
|
||||||
runTime.functionObjects().off();
|
runTime.functionObjects().off();
|
||||||
# include "createMesh.H"
|
#include "createNamedMesh.H"
|
||||||
const word oldInstance = mesh.pointsInstance();
|
const word oldInstance = mesh.pointsInstance();
|
||||||
|
|
||||||
word cellSetName(args.args()[1]);
|
word cellSetName(args.args()[1]);
|
||||||
|
|
@ -181,7 +182,7 @@ int main(int argc, char *argv[])
|
||||||
mesh.movePoints(map().preMotionPoints());
|
mesh.movePoints(map().preMotionPoints());
|
||||||
}
|
}
|
||||||
|
|
||||||
Pout<< "Refined from " << returnReduce(map().nOldCells(), sumOp<label>())
|
Info<< "Refined from " << returnReduce(map().nOldCells(), sumOp<label>())
|
||||||
<< " to " << mesh.globalData().nTotalCells() << " cells." << nl << endl;
|
<< " to " << mesh.globalData().nTotalCells() << " cells." << nl << endl;
|
||||||
|
|
||||||
if (overwrite)
|
if (overwrite)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|
@ -37,6 +37,7 @@ Description
|
||||||
|
|
||||||
#include "fvCFD.H"
|
#include "fvCFD.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
|
#include "pointFields.H"
|
||||||
#include "IOobjectList.H"
|
#include "IOobjectList.H"
|
||||||
#include "patchSummaryTemplates.H"
|
#include "patchSummaryTemplates.H"
|
||||||
|
|
||||||
|
|
@ -87,6 +88,12 @@ int main(int argc, char *argv[])
|
||||||
PtrList<volSymmTensorField> vsytf(objNames.size());
|
PtrList<volSymmTensorField> vsytf(objNames.size());
|
||||||
PtrList<volTensorField> vtf(objNames.size());
|
PtrList<volTensorField> vtf(objNames.size());
|
||||||
|
|
||||||
|
PtrList<pointScalarField> psf(objNames.size());
|
||||||
|
PtrList<pointVectorField> pvf(objNames.size());
|
||||||
|
PtrList<pointSphericalTensorField> psptf(objNames.size());
|
||||||
|
PtrList<pointSymmTensorField> psytf(objNames.size());
|
||||||
|
PtrList<pointTensorField> ptf(objNames.size());
|
||||||
|
|
||||||
Info<< "Valid fields:" << endl;
|
Info<< "Valid fields:" << endl;
|
||||||
|
|
||||||
forAll(objNames, objI)
|
forAll(objNames, objI)
|
||||||
|
|
@ -101,11 +108,17 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if (obj.headerOk())
|
if (obj.headerOk())
|
||||||
{
|
{
|
||||||
addToFieldList<scalar>(vsf, obj, objI, mesh);
|
addToFieldList(vsf, obj, objI, mesh);
|
||||||
addToFieldList<vector>(vvf, obj, objI, mesh);
|
addToFieldList(vvf, obj, objI, mesh);
|
||||||
addToFieldList<sphericalTensor>(vsptf, obj, objI, mesh);
|
addToFieldList(vsptf, obj, objI, mesh);
|
||||||
addToFieldList<symmTensor>(vsytf, obj, objI, mesh);
|
addToFieldList(vsytf, obj, objI, mesh);
|
||||||
addToFieldList<tensor>(vtf, obj, objI, mesh);
|
addToFieldList(vtf, obj, objI, mesh);
|
||||||
|
|
||||||
|
addToFieldList(psf, obj, objI, pointMesh::New(mesh));
|
||||||
|
addToFieldList(pvf, obj, objI, pointMesh::New(mesh));
|
||||||
|
addToFieldList(psptf, obj, objI, pointMesh::New(mesh));
|
||||||
|
addToFieldList(psytf, obj, objI, pointMesh::New(mesh));
|
||||||
|
addToFieldList(ptf, obj, objI, pointMesh::New(mesh));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,11 +132,17 @@ int main(int argc, char *argv[])
|
||||||
forAll(bm, patchI)
|
forAll(bm, patchI)
|
||||||
{
|
{
|
||||||
Info<< bm[patchI].type() << "\t: " << bm[patchI].name() << nl;
|
Info<< bm[patchI].type() << "\t: " << bm[patchI].name() << nl;
|
||||||
outputFieldList<scalar>(vsf, patchI);
|
outputFieldList(vsf, patchI);
|
||||||
outputFieldList<vector>(vvf, patchI);
|
outputFieldList(vvf, patchI);
|
||||||
outputFieldList<sphericalTensor>(vsptf, patchI);
|
outputFieldList(vsptf, patchI);
|
||||||
outputFieldList<symmTensor>(vsytf, patchI);
|
outputFieldList(vsytf, patchI);
|
||||||
outputFieldList<tensor>(vtf, patchI);
|
outputFieldList(vtf, patchI);
|
||||||
|
|
||||||
|
outputFieldList(psf, patchI);
|
||||||
|
outputFieldList(pvf, patchI);
|
||||||
|
outputFieldList(psptf, patchI);
|
||||||
|
outputFieldList(psytf, patchI);
|
||||||
|
outputFieldList(ptf, patchI);
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -139,11 +158,17 @@ int main(int argc, char *argv[])
|
||||||
forAll(bm, patchI)
|
forAll(bm, patchI)
|
||||||
{
|
{
|
||||||
HashTable<word> fieldToType;
|
HashTable<word> fieldToType;
|
||||||
collectFieldList<scalar>(vsf, patchI, fieldToType);
|
collectFieldList(vsf, patchI, fieldToType);
|
||||||
collectFieldList<vector>(vvf, patchI, fieldToType);
|
collectFieldList(vvf, patchI, fieldToType);
|
||||||
collectFieldList<sphericalTensor>(vsptf, patchI, fieldToType);
|
collectFieldList(vsptf, patchI, fieldToType);
|
||||||
collectFieldList<symmTensor>(vsytf, patchI, fieldToType);
|
collectFieldList(vsytf, patchI, fieldToType);
|
||||||
collectFieldList<tensor>(vtf, patchI, fieldToType);
|
collectFieldList(vtf, patchI, fieldToType);
|
||||||
|
|
||||||
|
collectFieldList(psf, patchI, fieldToType);
|
||||||
|
collectFieldList(pvf, patchI, fieldToType);
|
||||||
|
collectFieldList(psptf, patchI, fieldToType);
|
||||||
|
collectFieldList(psytf, patchI, fieldToType);
|
||||||
|
collectFieldList(ptf, patchI, fieldToType);
|
||||||
|
|
||||||
label groupI = findIndex(fieldToTypes, fieldToType);
|
label groupI = findIndex(fieldToTypes, fieldToType);
|
||||||
if (groupI == -1)
|
if (groupI == -1)
|
||||||
|
|
@ -184,11 +209,17 @@ int main(int argc, char *argv[])
|
||||||
Info<< "group\t: " << groups[i] << nl;
|
Info<< "group\t: " << groups[i] << nl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
outputFieldList<scalar>(vsf, patchIDs[0]);
|
outputFieldList(vsf, patchIDs[0]);
|
||||||
outputFieldList<vector>(vvf, patchIDs[0]);
|
outputFieldList(vvf, patchIDs[0]);
|
||||||
outputFieldList<sphericalTensor>(vsptf, patchIDs[0]);
|
outputFieldList(vsptf, patchIDs[0]);
|
||||||
outputFieldList<symmTensor>(vsytf, patchIDs[0]);
|
outputFieldList(vsytf, patchIDs[0]);
|
||||||
outputFieldList<tensor>(vtf, patchIDs[0]);
|
outputFieldList(vtf, patchIDs[0]);
|
||||||
|
|
||||||
|
outputFieldList(psf, patchIDs[0]);
|
||||||
|
outputFieldList(pvf, patchIDs[0]);
|
||||||
|
outputFieldList(psptf, patchIDs[0]);
|
||||||
|
outputFieldList(psytf, patchIDs[0]);
|
||||||
|
outputFieldList(ptf, patchIDs[0]);
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -199,11 +230,17 @@ int main(int argc, char *argv[])
|
||||||
label patchI = patchIDs[i];
|
label patchI = patchIDs[i];
|
||||||
Info<< bm[patchI].type()
|
Info<< bm[patchI].type()
|
||||||
<< "\t: " << bm[patchI].name() << nl;
|
<< "\t: " << bm[patchI].name() << nl;
|
||||||
outputFieldList<scalar>(vsf, patchI);
|
outputFieldList(vsf, patchI);
|
||||||
outputFieldList<vector>(vvf, patchI);
|
outputFieldList(vvf, patchI);
|
||||||
outputFieldList<sphericalTensor>(vsptf, patchI);
|
outputFieldList(vsptf, patchI);
|
||||||
outputFieldList<symmTensor>(vsytf, patchI);
|
outputFieldList(vsytf, patchI);
|
||||||
outputFieldList<tensor>(vtf, patchI);
|
outputFieldList(vtf, patchI);
|
||||||
|
|
||||||
|
outputFieldList(psf, patchI);
|
||||||
|
outputFieldList(pvf, patchI);
|
||||||
|
outputFieldList(psptf, patchI);
|
||||||
|
outputFieldList(psytf, patchI);
|
||||||
|
outputFieldList(ptf, patchI);
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|
@ -28,33 +28,33 @@ License
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void Foam::addToFieldList
|
void Foam::addToFieldList
|
||||||
(
|
(
|
||||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
PtrList<GeoField>& fieldList,
|
||||||
const IOobject& obj,
|
const IOobject& obj,
|
||||||
const label fieldI,
|
const label fieldI,
|
||||||
const fvMesh& mesh
|
const typename GeoField::Mesh& mesh
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
|
typedef GeoField fieldType;
|
||||||
|
|
||||||
if (obj.headerClassName() == fieldType::typeName)
|
if (obj.headerClassName() == GeoField::typeName)
|
||||||
{
|
{
|
||||||
fieldList.set
|
fieldList.set
|
||||||
(
|
(
|
||||||
fieldI,
|
fieldI,
|
||||||
new fieldType(obj, mesh)
|
new GeoField(obj, mesh)
|
||||||
);
|
);
|
||||||
Info<< " " << fieldType::typeName << tab << obj.name() << endl;
|
Info<< " " << GeoField::typeName << tab << obj.name() << endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void Foam::outputFieldList
|
void Foam::outputFieldList
|
||||||
(
|
(
|
||||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
const PtrList<GeoField>& fieldList,
|
||||||
const label patchI
|
const label patchI
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
@ -62,7 +62,8 @@ void Foam::outputFieldList
|
||||||
{
|
{
|
||||||
if (fieldList.set(fieldI))
|
if (fieldList.set(fieldI))
|
||||||
{
|
{
|
||||||
Info<< " " << pTraits<Type>::typeName << tab << tab
|
Info<< " " << pTraits<typename GeoField::value_type>::typeName
|
||||||
|
<< tab << tab
|
||||||
<< fieldList[fieldI].name() << tab << tab
|
<< fieldList[fieldI].name() << tab << tab
|
||||||
<< fieldList[fieldI].boundaryField()[patchI].type() << nl;
|
<< fieldList[fieldI].boundaryField()[patchI].type() << nl;
|
||||||
}
|
}
|
||||||
|
|
@ -70,10 +71,10 @@ void Foam::outputFieldList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void Foam::collectFieldList
|
void Foam::collectFieldList
|
||||||
(
|
(
|
||||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
const PtrList<GeoField>& fieldList,
|
||||||
const label patchI,
|
const label patchI,
|
||||||
HashTable<word>& fieldToType
|
HashTable<word>& fieldToType
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|
@ -33,26 +33,26 @@ License
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void addToFieldList
|
void addToFieldList
|
||||||
(
|
(
|
||||||
PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
PtrList<GeoField>& fieldList,
|
||||||
const IOobject& obj,
|
const IOobject& obj,
|
||||||
const label fieldI,
|
const label fieldI,
|
||||||
const fvMesh& mesh
|
const typename GeoField::Mesh& mesh
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void outputFieldList
|
void outputFieldList
|
||||||
(
|
(
|
||||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
const PtrList<GeoField>& fieldList,
|
||||||
const label patchI
|
const label patchI
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class Type>
|
template<class GeoField>
|
||||||
void collectFieldList
|
void collectFieldList
|
||||||
(
|
(
|
||||||
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& fieldList,
|
const PtrList<GeoField>& fieldList,
|
||||||
const label patchI,
|
const label patchI,
|
||||||
HashTable<word>& fieldToType
|
HashTable<word>& fieldToType
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ inletOutletTotalTemperatureFvPatchScalarField
|
||||||
:
|
:
|
||||||
inletOutletFvPatchScalarField(p, iF),
|
inletOutletFvPatchScalarField(p, iF),
|
||||||
UName_(dict.lookupOrDefault<word>("U", "U")),
|
UName_(dict.lookupOrDefault<word>("U", "U")),
|
||||||
psiName_(dict.lookupOrDefault<word>("psi", "psi")),
|
psiName_(dict.lookupOrDefault<word>("psi", "thermo:psi")),
|
||||||
gamma_(readScalar(dict.lookup("gamma"))),
|
gamma_(readScalar(dict.lookup("gamma"))),
|
||||||
T0_("T0", dict, p.size())
|
T0_("T0", dict, p.size())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -805,6 +805,17 @@ void Foam::AMIInterpolation<SourcePatch, TargetPatch>::update
|
||||||
label srcTotalSize = returnReduce(srcPatch.size(), sumOp<label>());
|
label srcTotalSize = returnReduce(srcPatch.size(), sumOp<label>());
|
||||||
label tgtTotalSize = returnReduce(tgtPatch.size(), sumOp<label>());
|
label tgtTotalSize = returnReduce(tgtPatch.size(), sumOp<label>());
|
||||||
|
|
||||||
|
if (srcTotalSize == 0)
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
{
|
||||||
|
Info<< "AMI: no source faces present - no addressing constructed"
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Info<< indent
|
Info<< indent
|
||||||
<< "AMI: Creating addressing and weights between "
|
<< "AMI: Creating addressing and weights between "
|
||||||
<< srcTotalSize << " source faces and "
|
<< srcTotalSize << " source faces and "
|
||||||
|
|
|
||||||
|
|
@ -97,11 +97,13 @@ void Foam::mapNearestAMI<SourcePatch, TargetPatch>::setNextNearestFaces
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
forAll(mapFlag, srcFaceI)
|
forAll(mapFlag, faceI)
|
||||||
{
|
{
|
||||||
if (!mapFlag[srcFaceI])
|
if (mapFlag[faceI])
|
||||||
{
|
{
|
||||||
tgtFaceI = this->findTargetFace(srcFaceI);
|
srcFaceI = faceI;
|
||||||
|
tgtFaceI = this->findTargetFace(faceI);
|
||||||
|
|
||||||
if (tgtFaceI == -1)
|
if (tgtFaceI == -1)
|
||||||
{
|
{
|
||||||
const vectorField& srcCf = this->srcPatch_.faceCentres();
|
const vectorField& srcCf = this->srcPatch_.faceCentres();
|
||||||
|
|
|
||||||
|
|
@ -444,6 +444,20 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict)
|
||||||
if (dict.readIfPresent("weightField", weightFieldName_))
|
if (dict.readIfPresent("weightField", weightFieldName_))
|
||||||
{
|
{
|
||||||
Info<< " weight field = " << weightFieldName_ << nl;
|
Info<< " weight field = " << weightFieldName_ << nl;
|
||||||
|
|
||||||
|
if (source_ == stSampledSurface)
|
||||||
|
{
|
||||||
|
FatalIOErrorIn
|
||||||
|
(
|
||||||
|
"void Foam::fieldValues::faceSource::initialise"
|
||||||
|
"("
|
||||||
|
"const dictionary&"
|
||||||
|
")",
|
||||||
|
dict
|
||||||
|
)
|
||||||
|
<< "Cannot use weightField for a sampledSurface"
|
||||||
|
<< exit(FatalIOError);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dict.found("orientedWeightField"))
|
if (dict.found("orientedWeightField"))
|
||||||
|
|
@ -664,8 +678,8 @@ void Foam::fieldValues::faceSource::write()
|
||||||
file() << obr_.time().value() << tab << totalArea;
|
file() << obr_.time().value() << tab << totalArea;
|
||||||
}
|
}
|
||||||
|
|
||||||
// construct weight field
|
// construct weight field. Note: zero size means weight = 1
|
||||||
scalarField weightField(faceId_.size(), 1.0);
|
scalarField weightField;
|
||||||
if (weightFieldName_ != "none")
|
if (weightFieldName_ != "none")
|
||||||
{
|
{
|
||||||
weightField =
|
weightField =
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,14 @@ Type Foam::fieldValues::faceSource::processSameTypeValues
|
||||||
}
|
}
|
||||||
case opWeightedAverage:
|
case opWeightedAverage:
|
||||||
{
|
{
|
||||||
result = sum(values)/sum(weightField);
|
if (weightField.size())
|
||||||
|
{
|
||||||
|
result = sum(values)/sum(weightField);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = sum(values)/values.size();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opAreaAverage:
|
case opAreaAverage:
|
||||||
|
|
@ -329,8 +336,13 @@ bool Foam::fieldValues::faceSource::writeValues
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// apply scale factor and weight field
|
// apply scale factor and weight field
|
||||||
values *= scaleFactor_*weightField;
|
values *= scaleFactor_;
|
||||||
|
if (weightField.size())
|
||||||
|
{
|
||||||
|
values *= weightField;
|
||||||
|
}
|
||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ functions
|
||||||
turbulenceFields1
|
turbulenceFields1
|
||||||
{
|
{
|
||||||
type turbulenceFields;
|
type turbulenceFields;
|
||||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||||
enabled true;
|
enabled true;
|
||||||
outputControl timeStep;
|
outputControl timeStep;
|
||||||
outputInterval 1;
|
outputInterval 1;
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,7 @@ void Foam::turbulenceFields::read(const dictionary& dict)
|
||||||
Info<< "storing fields:" << nl;
|
Info<< "storing fields:" << nl;
|
||||||
forAllConstIter(wordHashSet, fieldSet_, iter)
|
forAllConstIter(wordHashSet, fieldSet_, iter)
|
||||||
{
|
{
|
||||||
Info<< " " << modelName << '.' << iter.key() << nl;
|
Info<< " " << modelName << ':' << iter.key() << nl;
|
||||||
}
|
}
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
}
|
}
|
||||||
|
|
@ -151,8 +151,6 @@ void Foam::turbulenceFields::read(const dictionary& dict)
|
||||||
{
|
{
|
||||||
Info<< "no fields requested to be stored" << nl << endl;
|
Info<< "no fields requested to be stored" << nl << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
execute();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,16 +32,16 @@ Description
|
||||||
further manipulation.
|
further manipulation.
|
||||||
|
|
||||||
Fields are stored as copies of the original, with the prefix
|
Fields are stored as copies of the original, with the prefix
|
||||||
"tubulenceModel::", e.g.
|
"tubulenceModel:", e.g.
|
||||||
|
|
||||||
turbulenceModel::R
|
turbulenceModel:R
|
||||||
|
|
||||||
Example of function object specification:
|
Example of function object specification:
|
||||||
\verbatim
|
\verbatim
|
||||||
turbulenceFields1
|
turbulenceFields1
|
||||||
{
|
{
|
||||||
type turbulenceFields;
|
type turbulenceFields;
|
||||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||||
...
|
...
|
||||||
fields
|
fields
|
||||||
(
|
(
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ void Foam::turbulenceFields::processField
|
||||||
{
|
{
|
||||||
typedef GeometricField<Type, fvPatchField, volMesh> FieldType;
|
typedef GeometricField<Type, fvPatchField, volMesh> FieldType;
|
||||||
|
|
||||||
const word scopedName = modelName + '.' + fieldName;
|
const word scopedName = modelName + ':' + fieldName;
|
||||||
|
|
||||||
if (obr_.foundObject<FieldType>(scopedName))
|
if (obr_.foundObject<FieldType>(scopedName))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|
@ -217,6 +217,8 @@ void Foam::radiation::P1::calculate()
|
||||||
E_ = absorptionEmission_->E();
|
E_ = absorptionEmission_->E();
|
||||||
const volScalarField sigmaEff(scatter_->sigmaEff());
|
const volScalarField sigmaEff(scatter_->sigmaEff());
|
||||||
|
|
||||||
|
const dimensionedScalar a0 ("a0", a_.dimensions(), ROOTVSMALL);
|
||||||
|
|
||||||
// Construct diffusion
|
// Construct diffusion
|
||||||
const volScalarField gamma
|
const volScalarField gamma
|
||||||
(
|
(
|
||||||
|
|
@ -228,7 +230,7 @@ void Foam::radiation::P1::calculate()
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
),
|
),
|
||||||
1.0/(3.0*a_ + sigmaEff)
|
1.0/(3.0*a_ + sigmaEff + a0)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Solve G transport equation
|
// Solve G transport equation
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue