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 (