45 manipulatedMatrix_(
false),
46 patchType_(word::null)
62 manipulatedMatrix_(
false),
63 patchType_(word::null)
79 manipulatedMatrix_(
false),
96 manipulatedMatrix_(
false),
97 patchType_(word::null)
107 const bool valueRequired
114 manipulatedMatrix_(
false),
119 if (dict.
found(
"value"))
131 ) <<
"Essential entry 'value' missing" 151 manipulatedMatrix_(
false),
152 patchType_(ptf.patchType_)
159 this->map(ptf, mapper);
171 internalField_(ptf.internalField_),
173 manipulatedMatrix_(
false),
174 patchType_(ptf.patchType_)
189 manipulatedMatrix_(
false),
190 patchType_(ptf.patchType_)
199 return patch_.boundaryMesh().mesh();
206 if (&patch_ != &(ptf.patch_))
209 <<
"different patches for fvPatchField<Type>s" 218 return patch_.deltaCoeffs()*(*
this - patchInternalField());
226 return patch_.patchInternalField(internalField_);
233 patch_.patchInternalField(internalField_, pif);
250 f = this->patchInternalField();
274 if (mapAddressing[i] < 0)
286 const labelList& localAddrs = mapAddressing[i];
288 if (!localAddrs.
size())
339 manipulatedMatrix_ =
false;
346 manipulatedMatrix_ =
true;
357 manipulatedMatrix_ =
true;
366 if (patchType_.size())
369 << token::END_STATEMENT <<
nl;
375 template<
class EntryType>
379 const word& entryName,
380 const EntryType& value1,
381 const EntryType& value2
384 if (value1 != value2)
386 os.
writeKeyword(entryName) << value2 << token::END_STATEMENT <<
nl;
394 void Foam::fvPatchField<Type>::operator=
404 void Foam::fvPatchField<Type>::operator=
415 void Foam::fvPatchField<Type>::operator+=
426 void Foam::fvPatchField<Type>::operator-=
437 void Foam::fvPatchField<Type>::operator*=
442 if (&patch_ != &ptf.
patch())
445 <<
"incompatible patches for patch fields" 454 void Foam::fvPatchField<Type>::operator/=
459 if (&patch_ != &ptf.
patch())
470 void Foam::fvPatchField<Type>::operator+=
480 void Foam::fvPatchField<Type>::operator-=
490 void Foam::fvPatchField<Type>::operator*=
500 void Foam::fvPatchField<Type>::operator/=
510 void Foam::fvPatchField<Type>::operator=
520 void Foam::fvPatchField<Type>::operator+=
530 void Foam::fvPatchField<Type>::operator-=
540 void Foam::fvPatchField<Type>::operator*=
550 void Foam::fvPatchField<Type>::operator/=
560 void Foam::fvPatchField<Type>::operator==
570 void Foam::fvPatchField<Type>::operator==
580 void Foam::fvPatchField<Type>::operator==
592 Foam::Ostream& Foam::operator<<(Ostream& os, const fvPatchField<Type>& ptf)
596 os.
check(
"Ostream& operator<<(Ostream&, const fvPatchField<Type>&");
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
#define forAll(list, i)
Loop across all elements in list.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
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 FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
commsTypes
Types of communications.
void size(const label)
Override size to be inconsistent with allocated storage.
virtual const labelListList & addressing() const
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual bool direct() const =0
virtual void write(Ostream &) const
Write.
virtual const labelUList & directAddressing() const
virtual label size() const =0
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Pre-declare SubField and related Field type.
A class for handling words, derived from string.
Foam::fvPatchFieldMapper.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
void check(const fvPatchField< Type > &) const
Check fvPatchField<Type> against given fvPatchField<Type>
errorManip< error > abort(error &err)
virtual bool hasUnmapped() const =0
Are there unmapped values? I.e. do all size() elements get.
const fvPatch & patch() const
Return patch.
virtual label size() const
Return size.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual bool distributed() const
void writeEntryIfDifferent(Ostream &os, const word &entryName, const EntryType &value1, const EntryType &value2) const
Helper function to write the keyword and entry only if the.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
bool notNull(const T &t)
Return true if t is not a reference to the nullObject of type T.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field, sets Updated to false.
void setSize(const label)
Reset size of List.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const objectRegistry & db() const
Return local objectRegistry.
virtual void updateWeightedCoeffs(const scalarField &weights)
Update the coefficients associated with the patch field.
A class for managing temporary objects.
Registry of regIOobjects.
label size() const
Return the number of elements in the UList.
fvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.