Go to the documentation of this file.
41 const DimensionedField<Type, volMesh>& iF
44 Field<Type>(
p.size()),
48 manipulatedMatrix_(false),
58 const DimensionedField<Type, volMesh>& iF,
62 Field<Type>(
p.size(), value),
66 manipulatedMatrix_(false),
76 const DimensionedField<Type, volMesh>& iF,
80 Field<Type>(
p.size()),
84 manipulatedMatrix_(false),
94 const DimensionedField<Type, volMesh>& iF,
102 manipulatedMatrix_(false),
112 const DimensionedField<Type, volMesh>& iF,
113 const dictionary&
dict,
114 const bool valueRequired
117 Field<Type>(
p.size()),
121 manipulatedMatrix_(false),
122 useImplicit_(
dict.getOrDefault<
bool>(
"useImplicit", false)),
123 patchType_(
dict.getOrDefault<word>(
"patchType", word::null))
127 if (
dict.found(
"value"))
131 Field<Type>(
"value",
dict,
p.size())
137 <<
"Essential entry 'value' missing on patch " <<
p.name() <<
nl
147 const fvPatchField<Type>& ptf,
149 const DimensionedField<Type, volMesh>& iF,
150 const fvPatchFieldMapper& mapper
153 Field<Type>(
p.size()),
157 manipulatedMatrix_(false),
158 useImplicit_(ptf.useImplicit_),
159 patchType_(ptf.patchType_)
162 if (
notNull(iF) && mapper.hasUnmapped())
166 this->map(ptf, mapper);
173 const fvPatchField<Type>& ptf
178 internalField_(ptf.internalField_),
180 manipulatedMatrix_(false),
181 useImplicit_(ptf.useImplicit_),
182 patchType_(ptf.patchType_)
189 const fvPatchField<Type>& ptf,
190 const DimensionedField<Type, volMesh>& iF
197 manipulatedMatrix_(false),
198 useImplicit_(ptf.useImplicit_),
199 patchType_(ptf.patchType_)
208 return patch_.boundaryMesh().mesh();
215 if (&patch_ != &(ptf.patch_))
218 <<
"different patches for fvPatchField<Type>s"
227 return patch_.deltaCoeffs()*(*
this - patchInternalField());
235 return patch_.patchInternalField(internalField_);
242 patch_.patchInternalField(internalField_, pif);
256 f.setSize(mapper.
size());
259 f = this->patchInternalField();
271 Field<Type> pif(this->patchInternalField());
284 if (mapAddressing[i] < 0)
296 const labelList& localAddrs = mapAddressing[i];
298 if (!localAddrs.size())
312 const fvPatchField<Type>& ptf,
349 manipulatedMatrix_ =
false;
356 manipulatedMatrix_ =
true;
367 manipulatedMatrix_ =
true;
379 manipulatedMatrix_ =
true;
386 os.writeEntry(
"type",
type());
390 os.writeEntry(
"useImplicit",
"true");
393 if (patchType_.size())
395 os.writeEntry(
"patchType", patchType_);
405 const UList<Type>& ul
415 const fvPatchField<Type>& ptf
426 const fvPatchField<Type>& ptf
437 const fvPatchField<Type>& ptf
448 const fvPatchField<scalar>& ptf
451 if (&patch_ != &ptf.
patch())
454 <<
"incompatible patches for patch fields"
465 const fvPatchField<scalar>& ptf
468 if (&patch_ != &ptf.
patch())
481 const Field<Type>& tf
491 const Field<Type>& tf
571 const fvPatchField<Type>& ptf
581 const Field<Type>& tf
List< label > labelList
A List of labels.
virtual void write(Ostream &) const
virtual void operator=(const UList< Type > &)
virtual tmp< Field< Type > > snGrad() const
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void operator-=(const UList< Type > &)
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))
A class for managing temporary objects.
void autoMap(const FieldMapper &map, const bool applyFlip=true)
virtual label size() const =0
friend Ostream & operator(Ostream &, const Field< Type > &)
void operator+=(const UList< Type > &)
virtual bool direct() const =0
virtual bool hasUnmapped() const =0
Registry of regIOobjects.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
static void check(const int retVal, const char *what)
void setSize(const label n)
virtual tmp< Field< Type > > patchInternalField() const
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
bool notNull(const T *ptr)
void rmap(const UList< Type > &mapF, const labelUList &mapAddressing)
virtual void rmap(const fvPatchField< Type > &, const labelList &)
virtual bool check(const char *operation) const
OBJstream os(runTime.globalPath()/outputName)
virtual bool write(const token &tok)=0
virtual const labelUList & directAddressing() const
errorManip< error > abort(error &err)
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
virtual void updateCoeffs()
void operator=(const Field< Type > &)
errorManipArg< error, int > exit(error &err, const int errNo=1)
void operator/=(const UList< scalar > &)
List< labelList > labelListList
A List of labelList.
#define FatalErrorInFunction
virtual const labelListList & addressing() const
void check(const fvPatchField< Type > &) const
const objectRegistry & db() const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
fileName::Type type(const fileName &name, const bool followLink=true)
void operator*=(const UList< scalar > &)
Ostream & writeEntry(const keyType &key, const T &value)
fvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
#define FatalIOErrorInFunction(ios)
Foam::fvPatchFieldMapper.
const fvPatch & patch() const
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void updateWeightedCoeffs(const scalarField &weights)
virtual bool distributed() const
virtual void autoMap(const fvPatchFieldMapper &)