Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry
2011-02-08 18:25:29 +00:00
6 changed files with 40 additions and 55 deletions

View File

@ -288,7 +288,7 @@ protected:
typename ParcelType::constantProperties constProps_; typename ParcelType::constantProperties constProps_;
//- Sub-models dictionary //- Sub-models dictionary
const dictionary& subModelProperties_; const dictionary subModelProperties_;
//- Random number generator - used by some injection routines //- Random number generator - used by some injection routines
cachedRandom rndGen_; cachedRandom rndGen_;

View File

@ -70,7 +70,7 @@ class particleForces
const fvMesh& mesh_; const fvMesh& mesh_;
//- The particleForces dictionary //- The particleForces dictionary
const dictionary& dict_; const dictionary dict_;
//- Gravity //- Gravity
const vector g_; const vector g_;

View File

@ -72,32 +72,32 @@ Type Foam::fieldValues::cellSource::processValues
{ {
case opSum: case opSum:
{ {
result = gSum(values); result = sum(values);
break; break;
} }
case opVolAverage: case opVolAverage:
{ {
result = gSum(values*V)/gSum(V); result = sum(values*V)/sum(V);
break; break;
} }
case opVolIntegrate: case opVolIntegrate:
{ {
result = gSum(values*V); result = sum(values*V);
break; break;
} }
case opWeightedAverage: case opWeightedAverage:
{ {
result = gSum(values*weightField)/gSum(weightField); result = sum(values*weightField)/sum(weightField);
break; break;
} }
case opMin: case opMin:
{ {
result = gMin(values); result = min(values);
break; break;
} }
case opMax: case opMax:
{ {
result = gMax(values); result = max(values);
break; break;
} }
default: default:
@ -119,19 +119,19 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName)
if (ok) if (ok)
{ {
Field<Type> values(combineFields(setFieldValues<Type>(fieldName))); Field<Type> values(setFieldValues<Type>(fieldName));
combineFields(values);
scalarField V(combineFields(filterField(mesh().V()))); scalarField V(filterField(mesh().V()));
combineFields(V);
scalarField weightField scalarField weightField(setFieldValues<scalar>(weightFieldName_));
( combineFields(weightField);
combineFields(setFieldValues<scalar>(weightFieldName_))
);
Type result = processValues(values, V, weightField);
if (Pstream::master()) if (Pstream::master())
{ {
Type result = processValues(values, V, weightField);
if (valueOutput_) if (valueOutput_)
{ {
IOField<Type> IOField<Type>

View File

@ -91,32 +91,32 @@ Type Foam::fieldValues::faceSource::processValues
{ {
case opSum: case opSum:
{ {
result = gSum(values); result = sum(values);
break; break;
} }
case opAreaAverage: case opAreaAverage:
{ {
result = gSum(values*magSf)/gSum(magSf); result = sum(values*magSf)/sum(magSf);
break; break;
} }
case opAreaIntegrate: case opAreaIntegrate:
{ {
result = gSum(values*magSf); result = sum(values*magSf);
break; break;
} }
case opWeightedAverage: case opWeightedAverage:
{ {
result = gSum(values*weightField)/gSum(weightField); result = sum(values*weightField)/sum(weightField);
break; break;
} }
case opMin: case opMin:
{ {
result = gMin(values); result = min(values);
break; break;
} }
case opMax: case opMax:
{ {
result = gMax(values); result = max(values);
break; break;
} }
default: default:
@ -150,18 +150,19 @@ bool Foam::fieldValues::faceSource::writeValues(const word& fieldName)
else else
{ {
// Get unoriented magSf // Get unoriented magSf
magSf = combineFields(filterField(mesh().magSf(), false)); magSf = filterField(mesh().magSf(), false);
} }
// Combine onto master // Combine onto master
values = combineFields(values); combineFields(values);
magSf = combineFields(magSf); combineFields(magSf);
weightField = combineFields(weightField); combineFields(weightField);
Type result = processValues(values, magSf, weightField);
if (Pstream::master()) if (Pstream::master())
{ {
Type result = processValues(values, magSf, weightField);
if (valueOutput_) if (valueOutput_)
{ {
IOField<Type> IOField<Type>

View File

@ -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) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -166,12 +166,11 @@ public:
//- Combine fields from all processor domains into single field //- Combine fields from all processor domains into single field
template<class Type> template<class Type>
tmp<Field<Type> > combineFields(const Field<Type>& field) const; void combineFields(Field<Type>& field);
//- Combine fields from all processor domains into single field //- Combine fields from all processor domains into single field
template<class Type> template<class Type>
tmp<Field<Type> > combineFields(const tmp<Field<Type> >&) const; void combineFields(tmp<Field<Type> >&);
}; };

View File

@ -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) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,10 +30,7 @@ License
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Type> template<class Type>
Foam::tmp<Foam::Field<Type> > Foam::fieldValue::combineFields void Foam::fieldValue::combineFields(Field<Type>& field)
(
const Field<Type>& field
) const
{ {
List<Field<Type> > allValues(Pstream::nProcs()); List<Field<Type> > allValues(Pstream::nProcs());
@ -43,32 +40,20 @@ Foam::tmp<Foam::Field<Type> > Foam::fieldValue::combineFields
if (Pstream::master()) if (Pstream::master())
{ {
return tmp<Field<Type> > field =
(
new Field<Type>
(
ListListOps::combine<Field<Type> > ListListOps::combine<Field<Type> >
( (
allValues, allValues,
accessOp<Field<Type> >() accessOp<Field<Type> >()
)
)
); );
} }
else
{
return field;
}
} }
template<class Type> template<class Type>
Foam::tmp<Foam::Field<Type> > Foam::fieldValue::combineFields void Foam::fieldValue::combineFields(tmp<Field<Type> >& field)
(
const tmp<Field<Type> >& field
) const
{ {
return combineFields(field()); combineFields(field());
} }