58 if (iter().keyword() !=
"type")
63 && iter().stream().size()
98 ) <<
"\n token following 'nonuniform' " 100 <<
"\n on patch " << this->patch().name()
102 << this->internalField().name()
104 << this->internalField().objectPath()
123 if (fPtr->
size() != this->size())
128 ) <<
"\n size of field " << iter().keyword()
129 <<
" (" << fPtr->
size() <<
')' 130 <<
" is not the same size as the patch (" 131 << this->size() <<
')' 132 <<
"\n on patch " << this->patch().name()
134 << this->internalField().name()
136 << this->internalField().objectPath()
140 scalarFields_.insert(iter().keyword(), fPtr);
157 if (fPtr->
size() != this->size())
162 ) <<
"\n size of field " << iter().keyword()
163 <<
" (" << fPtr->
size() <<
')' 164 <<
" is not the same size as the patch (" 165 << this->size() <<
')' 166 <<
"\n on patch " << this->patch().name()
168 << this->internalField().name()
170 << this->internalField().objectPath()
174 vectorFields_.insert(iter().keyword(), fPtr);
194 if (fPtr->
size() != this->size())
199 ) <<
"\n size of field " << iter().keyword()
200 <<
" (" << fPtr->
size() <<
')' 201 <<
" is not the same size as the patch (" 202 << this->size() <<
')' 203 <<
"\n on patch " << this->patch().name()
205 << this->internalField().name()
207 << this->internalField().objectPath()
211 sphericalTensorFields_.insert(iter().keyword(), fPtr);
231 if (fPtr->
size() != this->size())
236 ) <<
"\n size of field " << iter().keyword()
237 <<
" (" << fPtr->
size() <<
')' 238 <<
" is not the same size as the patch (" 239 << this->size() <<
')' 240 <<
"\n on patch " << this->patch().name()
242 << this->internalField().name()
244 << this->internalField().objectPath()
248 symmTensorFields_.insert(iter().keyword(), fPtr);
265 if (fPtr->
size() != this->size())
270 ) <<
"\n size of field " << iter().keyword()
271 <<
" (" << fPtr->
size() <<
')' 272 <<
" is not the same size as the patch (" 273 << this->size() <<
')' 274 <<
"\n on patch " << this->patch().name()
276 << this->internalField().name()
278 << this->internalField().objectPath()
282 tensorFields_.insert(iter().keyword(), fPtr);
291 <<
"\n on patch " << this->patch().name()
293 << this->internalField().name()
295 << this->internalField().objectPath()
328 mapper(*iter()).ptr()
342 mapper(*iter()).ptr()
349 ptf.sphericalTensorFields_,
353 sphericalTensorFields_.insert
356 mapper(*iter()).ptr()
363 ptf.symmTensorFields_,
367 symmTensorFields_.insert
370 mapper(*iter()).ptr()
384 mapper(*iter()).ptr()
400 scalarFields_(ptf.scalarFields_),
401 vectorFields_(ptf.vectorFields_),
402 sphericalTensorFields_(ptf.sphericalTensorFields_),
403 symmTensorFields_(ptf.symmTensorFields_),
404 tensorFields_(ptf.tensorFields_)
439 sphericalTensorFields_,
476 refCast<const genericPointPatchField<Type>>(ptf);
486 dptf.scalarFields_.find(iter.key());
488 if (dptfIter != scalarFields_.end())
490 iter()->rmap(*dptfIter(), addr);
502 dptf.vectorFields_.find(iter.key());
504 if (dptfIter != vectorFields_.end())
506 iter()->rmap(*dptfIter(), addr);
513 sphericalTensorFields_,
518 dptf.sphericalTensorFields_.find(iter.key());
520 if (dptfIter != sphericalTensorFields_.end())
522 iter()->rmap(*dptfIter(), addr);
534 dptf.symmTensorFields_.find(iter.key());
536 if (dptfIter != symmTensorFields_.end())
538 iter()->rmap(*dptfIter(), addr);
550 dptf.tensorFields_.find(iter.key());
552 if (dptfIter != tensorFields_.end())
554 iter()->rmap(*dptfIter(), addr);
567 refCast<const genericPointPatchField<Type>>(ptf);
577 dptf.scalarFields_.find(iter.key());
579 if (dptfIter != scalarFields_.end())
581 iter()->reset(*dptfIter());
593 dptf.vectorFields_.find(iter.key());
595 if (dptfIter != vectorFields_.end())
597 iter()->reset(*dptfIter());
604 sphericalTensorFields_,
609 dptf.sphericalTensorFields_.find(iter.key());
611 if (dptfIter != sphericalTensorFields_.end())
613 iter()->reset(*dptfIter());
625 dptf.symmTensorFields_.find(iter.key());
627 if (dptfIter != symmTensorFields_.end())
629 iter()->reset(*dptfIter());
641 dptf.tensorFields_.find(iter.key());
643 if (dptfIter != tensorFields_.end())
645 iter()->reset(*dptfIter());
658 if (iter().keyword() !=
"type")
663 && iter().stream().size()
664 && iter().stream()[0].isWord()
665 && iter().stream()[0].wordToken() ==
"nonuniform" 668 if (scalarFields_.found(iter().keyword()))
674 *scalarFields_.find(iter().keyword())()
677 else if (vectorFields_.found(iter().keyword()))
683 *vectorFields_.find(iter().keyword())()
686 else if (sphericalTensorFields_.found(iter().keyword()))
692 *sphericalTensorFields_.find(iter().keyword())()
695 else if (symmTensorFields_.found(iter().keyword()))
701 *symmTensorFields_.find(iter().keyword())()
704 else if (tensorFields_.found(iter().keyword()))
710 *tensorFields_.find(iter().keyword())()
virtual void write(Ostream &) const
Write.
Field< sphericalTensor > sphericalTensorField
Specialisation of Field<T> for sphericalTensor.
compound & transferCompoundToken(const Istream &is)
Field< symmTensor > symmTensorField
Specialisation of Field<T> for symmTensor.
To & dynamicCast(From &r)
Reference type cast template function,.
An STL-conforming const_iterator.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
const word & wordToken() const
void size(const label)
Override size to be inconsistent with allocated storage.
A token holds items read from Istream.
Foam::pointPatchFieldMapper.
volVectorField vectorField(fieldObject, mesh)
A HashTable specialisation for hashing pointers.
A calculated boundary condition for pointField.
Abstract base class for point-mesh patch fields.
A templated class for holding compound tokens.
A generic version of calculatedPointPatchField, useful as a fallback for handling unknown patch types...
virtual void rmap(const pointPatchField< Type > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
const compound & compoundToken() const
An Ostream is an abstract base class for all output systems (streams, files, token lists...
volScalarField scalarField(fieldObject, mesh)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Basic pointPatch represents a set of points from the mesh.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void reset(const pointPatchField< Type > &)
Reset the pointPatchField to the given pointPatchField.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
genericPointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.