31template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
32template<
class... Args>
34Foam::GeometricField<Type, PatchField, GeoMesh>::New_impl
48 mesh.thisDb().time().timeName(),
55 std::forward<Args>(
args)...
68 && ptr->db().is_cacheTemporaryObject(ptr.get())
81template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
89 const word& patchFieldType
92 return GeometricField<Type, PatchField, GeoMesh>::New_impl
103template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
110 const word& patchFieldType
113 return GeometricField<Type, PatchField, GeoMesh>::New_impl
124template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
133 const word& patchFieldType
136 return GeometricField<Type, PatchField, GeoMesh>::New_impl
148template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
156 const word& patchFieldType
159 return GeometricField<Type, PatchField, GeoMesh>::New_impl
171template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
180 const word& patchFieldType
183 return GeometricField<Type, PatchField, GeoMesh>::New_impl
195template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
203 const word& patchFieldType
206 return GeometricField<Type, PatchField, GeoMesh>::New_impl
218template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
227 const word& patchFieldType
230 return GeometricField<Type, PatchField, GeoMesh>::New_impl
242template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
250 const word& patchFieldType
253 return GeometricField<Type, PatchField, GeoMesh>::New_impl
265template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
274 const PtrList<PatchField<Type>>& pflds
277 return GeometricField<Type, PatchField, GeoMesh>::New_impl
289template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
297 const PtrList<PatchField<Type>>& pflds
300 return GeometricField<Type, PatchField, GeoMesh>::New_impl
312template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
321 const PtrList<PatchField<Type>>& pflds
324 return GeometricField<Type, PatchField, GeoMesh>::New_impl
336template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
344 const PtrList<PatchField<Type>>& pflds
347 return GeometricField<Type, PatchField, GeoMesh>::New_impl
359template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
368 const word& patchFieldType
371 return GeometricField<Type, PatchField, GeoMesh>::New_impl
383template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
391 const word& patchFieldType
394 return GeometricField<Type, PatchField, GeoMesh>::New_impl
406template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
419 return GeometricField<Type, PatchField, GeoMesh>::New_impl
432template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
444 return GeometricField<Type, PatchField, GeoMesh>::New_impl
457template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
465 const word& patchFieldType
480template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
487 const word& patchFieldType
501template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
526template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
549template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
582 (IOobjectOption::LEGACY_REGISTER == regOpt)
583 && ptr->db().is_cacheTemporaryObject(ptr.get())
594template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
599 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
602 return GeometricField<Type, PatchField, GeoMesh>::New
605 IOobjectOption::LEGACY_REGISTER,
611template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
618 const word& patchFieldType
646 (IOobjectOption::LEGACY_REGISTER == regOpt)
647 && ptr->db().is_cacheTemporaryObject(ptr.get())
658template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
663 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld,
664 const word& patchFieldType
667 return GeometricField<Type, PatchField, GeoMesh>::New
670 IOobjectOption::LEGACY_REGISTER,
677template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
714 (IOobjectOption::LEGACY_REGISTER == regOpt)
715 && ptr->db().is_cacheTemporaryObject(ptr.get())
726template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
731 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld,
732 const wordList& patchFieldTypes,
733 const wordList& actualPatchTypes
736 return GeometricField<Type, PatchField, GeoMesh>::New
739 IOobjectOption::LEGACY_REGISTER,
747template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
748template<
class AnyType>
755 const word& patchFieldType
779 ptr->db().is_cacheTemporaryObject(ptr.get())
790template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
791template<
class AnyType>
798 const word& patchFieldType
823 ptr->db().is_cacheTemporaryObject(ptr.get())
Info<< nl;Info<< "Write faMesh in vtk format:"<< nl;{ vtk::uindirectPatchWriter writer(aMesh.patch(), fileName(aMesh.time().globalPath()/vtkBaseFileName));writer.writeGeometry();globalIndex procAddr(aMesh.nFaces());labelList cellIDs;if(UPstream::master()) { cellIDs.resize(procAddr.totalSize());for(const labelRange &range :procAddr.ranges()) { auto slice=cellIDs.slice(range);slice=identity(range);} } writer.beginCellData(4);writer.writeProcIDs();writer.write("cellID", cellIDs);writer.write("area", aMesh.S().field());writer.write("normal", aMesh.faceAreaNormals());writer.beginPointData(1);writer.write("normal", aMesh.pointAreaNormals());Info<< " "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.time().globalPath()/(vtkBaseFileName+"-edges")));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
const Mesh & mesh() const noexcept
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Generic GeometricField class.
static tmp< GeometricField< Type, faPatchField, areaMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=faPatchField< Type >::calculatedType())
GeometricField(const IOobject &io, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=PatchField< Type >::calculatedType())
Construct given IOobject, mesh, dimensions and patch type.
registerOption
Enumeration for use with registerObject(). Values map to bool (false/true).
@ NO_REGISTER
Do not request registration (bool: false).
@ LEGACY_REGISTER
Legacy/default registration request (bool: true).
@ REGISTER
Request registration (bool: true).
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const objectRegistry & db() const noexcept
Return the local objectRegistry.
const fileName & instance() const noexcept
Read access to instance path component.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Generic dimensioned Type class.
const dimensionSet & dimensions() const noexcept
Return const reference to dimensions.
const Type & value() const noexcept
Return const reference to value.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
List< word > wordList
List of word.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
Foam::argList args(argc, argv)