44 if (!IOobjectOption::isAnyRead(readOpt))
return false;
48 const auto* eptr =
dict.findEntry(
"value", keyType::LITERAL);
56 if (IOobjectOption::isReadRequired(readOpt))
59 <<
"Required entry 'value' : missing for patch " <<
p.name()
60 <<
" in dictionary " <<
dict.relativeName() <<
nl
72 this->resize_nocopy(
p.size());
73 p.patchInternalField(internalField_, *
this);
115 Field<Type>(
p.size(), value),
143 Field<Type>(std::move(pfld)),
161 readValueEntry(
dict, requireValue);
183 this->
map(ptf, mapper);
190 const fvPatchField<Type>& ptf
195 internalField_(ptf.internalField_)
224 return patch().deltaCoeffs()*(*
this - patchInternalField());
232 return patch().patchInternalField(internalField_);
239 patch().patchInternalField(internalField_, pfld);
256 f = this->patchInternalField();
268 Field<Type> pif(this->patchInternalField());
281 if (mapAddressing[i] < 0)
293 const labelList& localAddrs = mapAddressing[i];
295 if (!localAddrs.size())
309 const fvPatchField<Type>& ptf,
385 if (!patchType().empty())
401 const UList<Type>& ul
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual bool direct() const =0
Is it a direct (non-interpolating) mapper?
virtual const labelListList & addressing() const
Return the interpolation addressing.
virtual const labelUList & directAddressing() const
Return the direct addressing values.
virtual label size() const =0
The size of the mapper.
virtual bool distributed() const
Does the mapper have remote contributions?
virtual bool hasUnmapped() const =0
Any unmapped values?
Generic templated field type.
void operator=(const Field< Type > &)
Copy assignment.
void autoMap(const FieldMapper &map, const bool applyFlip=true)
Map from self.
void operator+=(const UList< Type > &)
void operator-=(const UList< Type > &)
void operator*=(const UList< scalar > &)
void operator/=(const UList< scalar > &)
void map(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 map from the given field
void rmap(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 reverse-map from the given field
readOption
Enumeration defining read preferences.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void resize_nocopy(const label len)
Adjust allocated size of list without necessarily.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual bool write(const token &tok)=0
Write token to stream or otherwise handle it.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
void size(const label n)
Older name for setAddressableSize.
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Template invariant parts for fvPatchField.
void checkPatch(const fvPatchFieldBase &rhs) const
Check that patches are identical.
void setManipulated(bool state) noexcept
Set matrix manipulated state.
void setUpdated(bool state) noexcept
Set updated state.
A FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void write(Ostream &) const
Write.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
virtual void updateWeightedCoeffs(const scalarField &weights)
Update the coefficients associated with the patch field.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
bool readValueEntry(const dictionary &dict, IOobjectOption::readOption readOpt=IOobjectOption::LAZY_READ)
Read the "value" entry into *this.
void extrapolateInternal()
Assign the patch field from the internal field.
void check(const fvPatchField< Type > &) const
Check against given patch field.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field, sets updated() to false.
fvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
OBJstream os(runTime.globalPath()/outputName)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.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))
void assign(Field< Tout > &result, const Field< T1 > &a, const UnaryOp &op)
Populate a field as the result of a unary operation on an input.
const std::string patch
OpenFOAM patch number as a std::string.
errorManipArg< error, int > exit(error &err, const int errNo=1)
List< labelList > labelListList
List of labelList.
bool notNull(const T *ptr) noexcept
True if ptr is not a pointer (of type T) to the nullObject.
List< label > labelList
A List of labels.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
UList< label > labelUList
A UList of labels.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.