36 Foam::sampledSets::volFieldSampler<Type>::volFieldSampler
38 const word& interpolationScheme,
39 const GeometricField<Type, fvPatchField, volMesh>&
field,
40 const PtrList<sampledSet>& samplers
43 List<Field<Type>>(samplers.size()),
46 autoPtr<interpolation<Type>> interpolator
53 Field<Type>&
values = this->operator[](setI);
54 const sampledSet&
samples = samplers[setI];
60 label celli =
samples.cells()[sampleI];
61 label facei =
samples.faces()[sampleI];
63 if (celli == -1 && facei == -1)
70 values[sampleI] = interpolator().interpolate
83 Foam::sampledSets::volFieldSampler<Type>::volFieldSampler
85 const GeometricField<Type, fvPatchField, volMesh>&
field,
86 const PtrList<sampledSet>& samplers
89 List<Field<Type>>(samplers.size()),
94 Field<Type>&
values = this->operator[](setI);
95 const sampledSet&
samples = samplers[setI];
100 label celli =
samples.cells()[sampleI];
116 Foam::sampledSets::volFieldSampler<Type>::volFieldSampler
118 const List<Field<Type>>&
values,
122 List<Field<Type>>(
values),
131 const PtrList<volFieldSampler<Type>>& masterFields,
137 wordList valueSetNames(masterFields.size());
140 forAll(masterFields, fieldi)
142 valueSetNames[fieldi] = masterFields[fieldi].name();
143 valueSets[fieldi] = &masterFields[fieldi][setI];
148 timeDir/formatter.
getFileName(masterSampleSet, valueSetNames)
166 <<
"File " << ofs.name() <<
" could not be opened. "
167 <<
"No data will be written" <<
endl;
174 void Foam::sampledSets::combineSampledValues
176 const PtrList<volFieldSampler<T>>& sampledFields,
178 PtrList<volFieldSampler<T>>& masterFields
181 forAll(sampledFields, fieldi)
205 new volFieldSampler<T>
208 sampledFields[fieldi].
name()
216 void Foam::sampledSets::sampleAndWrite(fieldGroup<Type>&
fields)
220 const bool interpolate = interpolationScheme_ !=
"cell";
223 if (
fields.formatter.empty())
229 PtrList<volFieldSampler<Type>> sampledFields(
fields.size());
235 Pout<<
"sampledSets::sampleAndWrite: "
241 GeometricField<Type, fvPatchField, volMesh> vf
246 mesh_.time().timeName(),
260 new volFieldSampler<Type>
262 interpolationScheme_,
273 new volFieldSampler<Type>(vf, *
this)
284 new volFieldSampler<Type>
286 interpolationScheme_,
288 <GeometricField<Type, fvPatchField, volMesh>>
299 new volFieldSampler<Type>
302 <GeometricField<Type, fvPatchField, volMesh>>
314 PtrList<volFieldSampler<Type>> masterFields(sampledFields.size());
315 combineSampledValues(sampledFields, indexSets_, masterFields);
317 forAll(masterSampledSets_, setI)
322 sampleFile = writeSampleFile
324 masterSampledSets_[setI],
327 outputPath_/mesh_.time().timeName(),
333 if (sampleFile.size())
337 forAll(masterFields, fieldi)
343 time_.relativePath(sampleFile,
true)
346 const word& fieldName = masterFields[fieldi].
name();