diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C index 4b628788e..f59091282 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.C +++ b/src/OpenFOAM/fields/Fields/Field/Field.C @@ -611,6 +611,19 @@ void Foam::Field::replace } +template +template +VSForm Foam::Field::block(const label start) const +{ + VSForm vs; + for (direction i=0; ioperator[](start + i); + } + return vs; +} + + template Foam::tmp> Foam::Field::T() const { diff --git a/src/OpenFOAM/fields/Fields/Field/Field.H b/src/OpenFOAM/fields/Fields/Field/Field.H index 3c5510be5..2e531dfc8 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.H +++ b/src/OpenFOAM/fields/Fields/Field/Field.H @@ -333,6 +333,9 @@ public: //- Replace a component field of the field void replace(const direction, const cmptType&); + template + VSForm block(const label start) const; + //- Return the field transpose (only defined for second rank tensors) tmp> T() const;