32 template<
class FieldType>
33 bool Foam::lagrangianFieldReconstructor::reconstructs
36 const HashSet<word>& selectedFields
39 IOobjectList
fields =
objects.lookupClass(FieldType::typeName);
41 if (
fields.size() && selectedFields.empty())
48 if (selectedFields.found(fieldIter()->
name()))
61 template<
class>
class IOContainer,
62 template<
class>
class IOContainerType
65 Foam::lagrangianFieldReconstructor::reconstructField
67 const IOobject& fieldIoObject
71 tmp<IOContainer<Type>> tfield
78 completeMesh_.time().name(),
87 Field<Type>& field = tfield.ref();
92 typeIOobject<IOContainerType<Type>> localIOobject
95 procMeshes_[proci].time().name(),
102 if (localIOobject.headerOk())
104 IOContainer<Type> fieldi(localIOobject);
107 field.setSize(
offset + fieldi.size());
111 field[
offset + j] = fieldi[j];
123 template<
class>
class IOContainer,
124 template<
class>
class IOContainerType
126 void Foam::lagrangianFieldReconstructor::reconstructFields
129 const HashSet<word>& selectedFields
132 const word& fieldClassName = IOContainerType<Type>::typeName;
138 Info<<
nl <<
" Reconstructing lagrangian "
139 << fieldClassName <<
"s" <<
nl <<
endl;
145 selectedFields.empty()
146 || selectedFields.found(fieldIter()->
name())
149 Info<<
" " << fieldIter()->name() <<
endl;
151 reconstructField<Type, IOContainer, IOContainerType>
164 void Foam::lagrangianFieldReconstructor::reconstructFields
167 const HashSet<word>& selectedFields
170 reconstructFields<Type, IOField, IOField>
172 reconstructFields<Field<Type>, CompactIOField, IOField>
174 reconstructFields<Field<Type>, CompactIOField, CompactIOField>
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
static const word prefix
The prefix to local: lagrangian.
A class for managing temporary objects.
Info<< "Calculating turbulent flame speed field St\n"<< endl;volScalarField St(IOobject("St", runTime.name(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), flameWrinkling->Xi() *Su);multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
void offset(label &lst, const label o)