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),
117 if (dict.
found(
"value"))
124 else if (!valueRequired)
133 ) <<
"Essential entry 'value' missing" 152 manipulatedMatrix_(
false),
153 patchType_(ptf.patchType_)
160 this->map(ptf, mapper);
172 internalField_(ptf.internalField_),
174 manipulatedMatrix_(
false),
175 patchType_(ptf.patchType_)
190 manipulatedMatrix_(
false),
191 patchType_(ptf.patchType_)
200 return patch_.boundaryMesh().mesh();
207 if (&patch_ != &(ptf.patch_))
210 <<
"different patches for fvPatchField<Type>s" 219 return patch_.deltaCoeffs()*(*
this - patchInternalField());
227 return patch_.patchInternalField(internalField_);
234 patch_.patchInternalField(internalField_, pif);
251 f = this->patchInternalField();
275 if (mapAddressing[i] < 0)
287 const labelList& localAddrs = mapAddressing[i];
289 if (!localAddrs.
size())
340 manipulatedMatrix_ =
false;
347 manipulatedMatrix_ =
true;
358 manipulatedMatrix_ =
true;
367 if (patchType_.size())
370 << token::END_STATEMENT <<
nl;
376 template<
class EntryType>
380 const word& entryName,
381 const EntryType& value1,
382 const EntryType& value2
385 if (value1 != value2)
387 os.
writeKeyword(entryName) << value2 << token::END_STATEMENT <<
nl;
395 void Foam::fvPatchField<Type>::operator=
405 void Foam::fvPatchField<Type>::operator=
416 void Foam::fvPatchField<Type>::operator+=
427 void Foam::fvPatchField<Type>::operator-=
438 void Foam::fvPatchField<Type>::operator*=
443 if (&patch_ != &ptf.
patch())
446 <<
"incompatible patches for patch fields" 455 void Foam::fvPatchField<Type>::operator/=
460 if (&patch_ != &ptf.
patch())
471 void Foam::fvPatchField<Type>::operator+=
481 void Foam::fvPatchField<Type>::operator-=
491 void Foam::fvPatchField<Type>::operator*=
501 void Foam::fvPatchField<Type>::operator/=
511 void Foam::fvPatchField<Type>::operator=
521 void Foam::fvPatchField<Type>::operator+=
531 void Foam::fvPatchField<Type>::operator-=
541 void Foam::fvPatchField<Type>::operator*=
551 void Foam::fvPatchField<Type>::operator/=
561 void Foam::fvPatchField<Type>::operator==
571 void Foam::fvPatchField<Type>::operator==
581 void Foam::fvPatchField<Type>::operator==
593 Foam::Ostream& Foam::operator<<(Ostream& os, const fvPatchField<Type>& ptf)
597 os.
check(
"Ostream& operator<<(Ostream&, const fvPatchField<Type>&");
const fvPatch & patch() const
Return patch.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field, sets Updated to false.
#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.
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 tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
commsTypes
Types of communications.
void size(const label)
Override size to be inconsistent with allocated storage.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
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 bool distributed() const
virtual const labelUList & directAddressing() const
virtual const labelListList & addressing() 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 label size() const
Return size.
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.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
errorManip< error > abort(error &err)
void check(const fvPatchField< Type > &) const
Check fvPatchField<Type> against given fvPatchField<Type>
virtual bool hasUnmapped() const =0
Are there unmapped values? I.e. do all size() elements get.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
const objectRegistry & db() const
Return local objectRegistry.
bool notNull(const T &t)
Return true if t is not a reference to the nullObject of type T.
label size() const
Return the number of elements in the UList.
void setSize(const label)
Reset size of List.
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.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
#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...
virtual void updateWeightedCoeffs(const scalarField &weights)
Update the coefficients associated with the patch field.
A class for managing temporary objects.
Registry of regIOobjects.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
fvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual void write(Ostream &) const
Write.