39 const DimensionedField<Type, surfaceMesh>& iF,
40 autoPtr<fvsPatchField<Type>>&& origFieldPtr,
41 autoPtr<calculatedFvsPatchField<Type>>&& ncFieldPtr
44 fvsPatchField<Type>(
p, iF),
45 origFieldPtr_(origFieldPtr),
46 ncFieldPtr_(ncFieldPtr)
79 forAll(origPatchIndices, i)
81 const label origPatchi = origPatchIndices[i];
82 const fvPatch& origFvp = fvbm[origPatchi];
90 bF.
set(origPatchi,
nullptr),
98 pF() == origBf[origPatchi];
99 pF->origFieldPtr_() == origBf[origPatchi];
100 pF->ncFieldPtr_() == ncBf[origPatchi];
102 bF.
set(origPatchi, pF.
ptr());
124 forAll(origPatchIndices, i)
126 const label origPatchi = origPatchIndices[i];
129 refCast<conformedFvsPatchField<Type>>(bF[origPatchi]);
134 if (iF.
mesh().topoChanged())
136 cpF.origFieldPtr_() = bF[origPatchi];
139 origPFs.
set(origPatchi, cpF.origFieldPtr_.ptr());
140 ncPFs.
set(origPatchi, cpF.ncFieldPtr_.ptr());
161 if (iF.
mesh().topoChanged())
256 origFieldPtr_(ptf.origFieldPtr_->
clone(iF).ptr()),
275 refCast<const conformedFvsPatchField<Type>>(ptf);
277 origFieldPtr_->
map(cptf.origFieldPtr_(), mapper);
278 ncFieldPtr_->map(cptf.ncFieldPtr_(), mapper);
282 origFieldPtr_->reset(ptf);
283 ncFieldPtr_() == origFieldPtr_();
296 refCast<const conformedFvsPatchField<Type>>(ptf);
298 origFieldPtr_->
reset(cptf.origFieldPtr_());
299 ncFieldPtr_->reset(cptf.ncFieldPtr_());
303 origFieldPtr_->reset(ptf);
304 ncFieldPtr_() == origFieldPtr_();
317 origFieldPtr_->write(os);
322 ncFieldPtr_->write(os);
#define forAll(list, i)
Loop across all elements in list.
static nonConformalBoundary & New(const word &name, const polyMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Mesh & mesh() const
Return mesh.
Generic GeometricBoundaryField class.
Generic GeometricField class.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
bool set(const label) const
Is element set.
void transfer(PtrList< T > &)
Transfer the contents of the argument PtrList into this PtrList.
label size() const
Return the number of elements in the UPtrList.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
T * ptr()
Return object pointer for reuse.
Foam::calculatedFvsPatchField.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for field mapping.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
virtual void write(Ostream &) const
Write.
virtual void reset(const fvsPatchField< Type > &)
Reset the fvsPatchField to the given fvsPatchField.
virtual void map(const fvsPatchField< Type > &, const fieldMapper &)
Map the given fvsPatchField onto this fvsPatchField.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & incrIndent(Ostream &os)
Increment the indent level.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
bool isA(const Type &t)
Check if a dynamic_cast to typeid is possible.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Ostream & writeKeyword(Foam::Ostream &os, const keyType &kw)
Write the keyword to the Ostream with the current level of indentation.
Ostream & indent(Ostream &os)
Indent stream.