75 int main(
int argc,
char *argv[])
78 timeSelector::addOptions();
79 argList::validArgs.append(
"fieldName");
80 argList::validArgs.append(
"patchName");
91 runTime.setTime(timeDirs[timeI], timeI);
92 Info<<
"Time = " << runTime.timeName() <<
endl;
103 if (fieldHeader.headerOk())
111 <<
"Unable to find patch " << patchName <<
nl
118 Info<<
" Cyclic patch vector area: " <<
nl;
120 vector sum1 = vector::zero;
121 vector sum2 = vector::zero;
122 for (label i=0; i<nFaces/2; i++)
129 Info<<
" - half 1 = " << sum1 <<
", " <<
mag(sum1) << nl
130 <<
" - half 2 = " << sum2 <<
", " <<
mag(sum2) << nl
131 <<
" - total = " << (sum1 + sum2) <<
", "
133 Info<<
" Cyclic patch area magnitude = "
138 Info<<
" Area vector of patch "
139 << patchName <<
'[' << patchi <<
']' <<
" = "
141 Info<<
" Area magnitude of patch "
142 << patchName <<
'[' << patchi <<
']' <<
" = "
147 if (fieldHeader.headerClassName() == volScalarField::typeName)
149 Info<<
" Reading " << volScalarField::typeName <<
" "
150 << fieldName <<
endl;
154 Info<<
" Integral of " << fieldName
155 <<
" over vector area of patch "
156 << patchName <<
'[' << patchi <<
']' <<
" = "
160 *field.boundaryField()[
patchi]
164 Info<<
" Integral of " << fieldName
165 <<
" over area magnitude of patch "
166 << patchName <<
'[' << patchi <<
']' <<
" = "
170 *field.boundaryField()[
patchi]
176 fieldHeader.headerClassName() == surfaceScalarField::typeName
179 Info<<
" Reading " << surfaceScalarField::typeName <<
" "
180 << fieldName <<
endl;
183 scalar sumField =
gSum(field.boundaryField()[
patchi]);
185 Info<<
" Integral of " << fieldName <<
" over patch "
186 << patchName <<
'[' << patchi <<
']' <<
" = "
192 <<
"Only possible to integrate "
193 << volScalarField::typeName <<
"s "
194 <<
"and " << surfaceScalarField::typeName <<
"s"
200 Info<<
" No field " << fieldName <<
endl;