56 if (tgtMesh_.
boundary().
size() && patchEdgeMaps_.empty())
92 const auto& bfld =
fld.boundaryField();
96 if (patchEdgeMaps_.set(patchi))
103 patchEdgeMaps_[patchi]
123 forAll(newPatchFields, patchi)
125 if (!newPatchFields.
set(patchi))
143 std::move(internalField),
146 auto& result = tresult.ref();
148 result.boundaryFieldRef().template evaluateCoupled<processorFaPatch>();
165 if (!internalEdgeMap_)
167 createInternalEdgeMap();
184 tgtMesh_.time().timeName(),
202 const auto& bfld =
fld.boundaryField();
206 if (patchEdgeMaps_.set(patchi))
213 patchEdgeMaps_[patchi]
223 tgtMesh_.boundary()[patchi],
233 forAll(newPatchFields, patchi)
235 if (!newPatchFields.
set(patchi))
243 tgtMesh_.boundary()[patchi],
253 std::move(internalField),
274 return distributeField(
fld);
293 return distributeField(
fld);
312 selectedFields.
empty()
313 ? objects.
sorted<fieldType>()
314 : objects.
sorted<fieldType>(selectedFields)
322 Info<<
" Reconstructing "
323 << fieldType::typeName <<
"s\n" <<
nl;
336 if (nFields && verbose_)
Info<<
endl;
356 selectedFields.
empty()
357 ? objects.
sorted<fieldType>()
358 : objects.
sorted<fieldType>(selectedFields)
366 Info<<
" Reconstructing "
367 << fieldType::typeName <<
"s\n" <<
nl;
380 if (nFields && verbose_)
Info<<
endl;
388void Foam::faMeshDistributor::redistributeAndWrite
393 for (
auto&
fld : flds)
398 this->distributeField(
fld);
409void Foam::faMeshDistributor::redistributeAndWrite
411 PtrList<GeometricField<Type, faePatchField, edgeMesh>>& flds
414 for (
auto&
fld : flds)
416 tmp<GeometricField<Type, faePatchField, edgeMesh>> tfld =
417 this->distributeField(
fld);
Info<< nl<< "Wrote faMesh in vtk format: "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.mesh().time().globalPath()/"finiteArea-edges"));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const orientedType & oriented() const noexcept
Return oriented type.
A templated field mapper with direct mapping from local or remote quantities.
Generic templated field type.
Generic GeometricField class.
PatchField< Type > Patch
The patch field type for the GeometricBoundaryField.
List of IOobjects with searching and retrieving facilities.
UPtrList< const IOobject > sorted() const
The sorted list of IOobjects.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const T * set(const label i) const
static word timeName(const scalar t, const int precision=precision_)
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
label size() const noexcept
The number of elements in the list.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
tmp< GeometricField< Type, faPatchField, areaMesh > > distributeAreaField(const IOobject &fieldObject) const
Read and distribute area field.
tmp< GeometricField< Type, faPatchField, areaMesh > > distributeField(const GeometricField< Type, faPatchField, areaMesh > &fld) const
Distribute area field.
tmp< GeometricField< Type, faePatchField, edgeMesh > > distributeEdgeField(const IOobject &fieldObject) const
Read and distribute edge field.
label distributeEdgeFields(const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
Read, distribute and write all/selected area fields.
label distributeAreaFields(const IOobjectList &objects, const wordRes &selectedFields=wordRes()) const
Read, distribute and write all/selected area fields.
const Time & time() const
Return reference to time.
const faBoundaryMesh & boundary() const noexcept
Return constant reference to boundary mesh.
virtual const objectRegistry & thisDb() const
Return reference to the mesh database.
const mapDistribute & cellMap() const noexcept
Cell distribute map.
A class for managing temporary objects.
A List of wordRe with additional matching capabilities.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.