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());
130 forAll(origPatchIndices, i)
132 const label origPatchi = origPatchIndices[i];
145 forAll(origPatchIndices, i)
147 const label origPatchi = origPatchIndices[i];
150 refCast<conformedFvsPatchField<Type>>(bF[origPatchi]);
155 if (iF.
mesh().topoChanged())
157 cpF.origFieldPtr_() = bF[origPatchi];
160 origPFs.
set(origPatchi, cpF.origFieldPtr_.ptr());
161 ncPFs.
set(origPatchi, cpF.ncFieldPtr_.ptr());
182 if (iF.
mesh().topoChanged())
277 origFieldPtr_(ptf.origFieldPtr_->
clone(iF).ptr()),
296 refCast<const conformedFvsPatchField<Type>>(ptf);
298 origFieldPtr_->
map(cptf.origFieldPtr_(), mapper);
299 ncFieldPtr_->map(cptf.ncFieldPtr_(), mapper);
303 origFieldPtr_->reset(ptf);
304 ncFieldPtr_() == origFieldPtr_();
317 refCast<const conformedFvsPatchField<Type>>(ptf);
319 origFieldPtr_->
reset(cptf.origFieldPtr_());
320 ncFieldPtr_->reset(cptf.ncFieldPtr_());
324 origFieldPtr_->reset(ptf);
325 ncFieldPtr_() == origFieldPtr_();
338 origFieldPtr_->write(os);
343 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 keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
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.
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.
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)