From 928db2bdcee50e33072a61320708d68c26d716e8 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Thu, 27 Jun 2024 11:56:07 +0100 Subject: [PATCH] DynamicField: Added size and value constructors --- .../fields/Fields/DynamicField/DynamicField.H | 6 +++++ .../Fields/DynamicField/DynamicFieldI.H | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H b/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H index 5d19967daf..d0f4d4cb21 100644 --- a/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H +++ b/src/OpenFOAM/fields/Fields/DynamicField/DynamicField.H @@ -105,6 +105,12 @@ public: //- Construct given size. explicit inline DynamicField(const label); + //- Construct given size and initial value + inline DynamicField(const label, const T&); + + //- Construct given size and initialised to zero + inline DynamicField(const label, const zero); + //- Construct from UList. Size set to UList size. // Also constructs from DynamicField with different sizing parameters. explicit inline DynamicField(const UList&); diff --git a/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H b/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H index 75f37e58e8..7459352979 100644 --- a/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H +++ b/src/OpenFOAM/fields/Fields/DynamicField/DynamicFieldI.H @@ -47,6 +47,30 @@ inline Foam::DynamicField::DynamicField } +template +inline Foam::DynamicField::DynamicField +( + const label nElem, + const T& t +) +: + Field(nElem, t), + capacity_(Field::size()) +{} + + +template +inline Foam::DynamicField::DynamicField +( + const label nElem, + const zero +) +: + Field(nElem, Zero), + capacity_(Field::size()) +{} + + template inline Foam::DynamicField::DynamicField (