53 actualTypeName_(dict.
lookup(
"type")),
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()
315 actualTypeName_(ptf.actualTypeName_),
349 ptf.sphericalTensorFields_,
353 sphericalTensorFields_.insert
363 ptf.symmTensorFields_,
367 symmTensorFields_.insert
398 actualTypeName_(ptf.actualTypeName_),
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);
563 os.
writeKeyword(
"type") << actualTypeName_ << token::END_STATEMENT <<
nl;
567 if (iter().keyword() !=
"type")
572 && iter().stream().size()
573 && iter().stream()[0].isWord()
574 && iter().stream()[0].wordToken() ==
"nonuniform" 577 if (scalarFields_.found(iter().keyword()))
579 scalarFields_.find(iter().keyword())()
580 ->writeEntry(iter().keyword(), os);
582 else if (vectorFields_.found(iter().keyword()))
584 vectorFields_.find(iter().keyword())()
585 ->writeEntry(iter().keyword(), os);
587 else if (sphericalTensorFields_.found(iter().keyword()))
589 sphericalTensorFields_.find(iter().keyword())()
590 ->writeEntry(iter().keyword(), os);
592 else if (symmTensorFields_.found(iter().keyword()))
594 symmTensorFields_.find(iter().keyword())()
595 ->writeEntry(iter().keyword(), os);
597 else if (tensorFields_.found(iter().keyword()))
599 tensorFields_.find(iter().keyword())()
600 ->writeEntry(iter().keyword(), os);
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 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 specialization 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
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
volScalarField scalarField(fieldObject, mesh)
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
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.
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.