48 manipulatedMatrix_(false),
62 Field<Type>(
p.size(), value),
66 manipulatedMatrix_(false),
84 manipulatedMatrix_(false),
102 manipulatedMatrix_(false),
114 const bool valueRequired
121 manipulatedMatrix_(false),
140 <<
"Essential entry 'value' missing on patch "
161 manipulatedMatrix_(false),
162 useImplicit_(ptf.useImplicit_),
163 patchType_(ptf.patchType_)
170 this->
map(ptf, mapper);
182 internalField_(ptf.internalField_),
184 manipulatedMatrix_(false),
185 useImplicit_(ptf.useImplicit_),
186 patchType_(ptf.patchType_)
201 manipulatedMatrix_(false),
202 useImplicit_(ptf.useImplicit_),
203 patchType_(ptf.patchType_)
212 return patch_.boundaryMesh().mesh();
219 if (&patch_ != &(ptf.patch_))
222 <<
"different patches for fvPatchField<Type>s"
231 return patch_.deltaCoeffs()*(*
this - patchInternalField());
239 return patch_.patchInternalField(internalField_);
246 patch_.patchInternalField(internalField_, pif);
263 f = this->patchInternalField();
288 if (mapAddressing[i] < 0)
300 const labelList& localAddrs = mapAddressing[i];
302 if (!localAddrs.
size())
353 manipulatedMatrix_ =
false;
360 manipulatedMatrix_ =
true;
371 manipulatedMatrix_ =
true;
383 manipulatedMatrix_ =
true;
397 if (!patchType_.empty())
455 if (&patch_ != &ptf.
patch())
458 <<
"incompatible patches for patch fields"
472 if (&patch_ != &ptf.
patch())
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 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 const labelListList & addressing() const
Return the interpolation addressing.
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
void evaluate()
Evaluate boundary conditions.
const word & name() const noexcept
Return the object name.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void setSize(const label n)
Alias for resize()
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void size(const label n)
Older name for setAddressableSize.
commsTypes
Types of communications.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Search for an entry (const access) with the given keyword.
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
virtual bool write()
Write the output fields.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
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 as patch field.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
const objectRegistry & db() const
Return local objectRegistry.
virtual void operator=(const UList< Type > &)
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.
const fvPatch & patch() const
Return patch.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Registry of regIOobjects.
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.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
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))
static void check(const int retVal, const char *what)
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)
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
bool notNull(const T *ptr)
True if ptr is not a pointer (of type T) to the nullObject.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define forAll(list, i)
Loop across all elements in list.