50 if (mapAndSign[i] < 0)
52 fld[i] = -field[-mapAndSign[i] - 1];
56 fld[i] = field[mapAndSign[i] - 1];
63 fld.
map(field,
mag(mapAndSign) - 1);
74 const bool allowUnknownPatchFields
88 procMesh_.boundary()[
patchi],
102 procMesh_.time().timeName(),
121 Boundary& bf = resF.boundaryFieldRef();
128 if (fromPatchi < 0 && isA<processorCyclicFvPatch>(procPatch))
130 const label referPatchi =
131 refCast<const processorCyclicPolyPatch>
132 (procPatch.
patch()).referPatchID();
133 if (field.
boundaryField()[referPatchi].overridesConstraint())
135 fromPatchi = boundaryAddressing_[referPatchi];
149 *patchFieldDecomposerPtrs_[
patchi]
153 else if (isA<processorCyclicFvPatch>(procPatch))
162 (*processorVolPatchFieldDecomposerPtrs_[
patchi])
169 else if (isA<processorFvPatch>(procPatch))
178 (*processorVolPatchFieldDecomposerPtrs_[
patchi])
185 else if (allowUnknownPatchFields)
240 allFaceField[patchStart + i] = p[i];
256 procMesh_.boundary()[
patchi],
269 procMesh_.time().timeName(),
283 procMesh_.nInternalFaces()
303 if (boundaryAddressing_[
patchi] >= 0)
313 *patchFieldDecomposerPtrs_[
patchi]
317 else if (isA<processorCyclicFvPatch>(procPatch))
336 else if (isA<processorFvPatch>(procPatch))
367 template<
class GeoField>
375 decomposeField(fields[fieldi])().
write();
Foam::processorCyclicFvsPatchField.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const word & name() const
Return name.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
T & ref() const
Return non-const reference or generate a fatal error.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Traits class for primitives.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
Generic GeometricField class.
tmp< GeometricField< Type, fvPatchField, volMesh > > decomposeField(const GeometricField< Type, fvPatchField, volMesh > &field, const bool allowUnknownPatchFields=false) const
Decompose volume field.
const dimensionSet & dimensions() const
Return dimensions.
A List obtained as a section of another List.
Foam::processorFvsPatchField.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< ' ';}gmvFile<< nl;forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Pre-declare SubField and related Field type.
const polyPatch & patch() const
Return the polyPatch.
This boundary condition is not designed to be evaluated; it is assumed that the value is assigned via...
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
errorManip< error > abort(error &err)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void map(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 map from the given field
const Mesh & mesh() const
Return mesh.
const List< T >::subList patchSlice(const List< T > &l) const
Slice list to patch.
This boundary condition enables processor communication across cyclic patches.
Internal & ref()
Return a reference to the dimensioned internal field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensioned< scalar > mag(const dimensioned< Type > &)
This boundary condition enables processor communication across patches.
This boundary condition provides an 'empty' condition for reduced dimensions cases, i.e. 1- and 2-D geometries. Apply this condition to patches whose normal is aligned to geometric directions that do not constitue solution directions.
Foam::calculatedFvsPatchField.
A class for managing temporary objects.
label size() const
Return the number of elements in the UList.
void decomposeFields(const PtrList< GeoField > &fields) const
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...