From 78ce269a521c9a6221a6c44af3b024a37ec0b662 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Sun, 28 Jul 2019 21:19:43 +0200 Subject: [PATCH] ENH: add field operations for complex (#1365) --- applications/test/complex/Test-complex.C | 1 + src/OpenFOAM/fields/Fields/complex/complexField.C | 9 +++++++++ src/OpenFOAM/fields/Fields/complex/complexField.H | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/applications/test/complex/Test-complex.C b/applications/test/complex/Test-complex.C index 57551c5060..b1433fdd5d 100644 --- a/applications/test/complex/Test-complex.C +++ b/applications/test/complex/Test-complex.C @@ -108,6 +108,7 @@ int main(int argc, char *argv[]) Info<< "sin: " << sin(fld1) << nl; Info<< "operator + : " << (fld1 + fld2) << nl; + Info<< "operator + : " << (fld1 + fld2 + complex(1,0)) << nl; // Some operators are still incomplete diff --git a/src/OpenFOAM/fields/Fields/complex/complexField.C b/src/OpenFOAM/fields/Fields/complex/complexField.C index 881745b4ab..1ea2955461 100644 --- a/src/OpenFOAM/fields/Fields/complex/complexField.C +++ b/src/OpenFOAM/fields/Fields/complex/complexField.C @@ -144,6 +144,15 @@ complex sumProd(const UList& f1, const UList& f2) } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +BINARY_TYPE_OPERATOR(complex, complex, complex, +, add) +BINARY_TYPE_OPERATOR(complex, complex, complex, -, subtract) + +BINARY_OPERATOR(complex, complex, complex, *, multiply) +BINARY_OPERATOR(complex, complex, complex, /, divide) + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // UNARY_FUNCTION(complex, complex, pow3) diff --git a/src/OpenFOAM/fields/Fields/complex/complexField.H b/src/OpenFOAM/fields/Fields/complex/complexField.H index 51b147263c..bb731b614e 100644 --- a/src/OpenFOAM/fields/Fields/complex/complexField.H +++ b/src/OpenFOAM/fields/Fields/complex/complexField.H @@ -81,6 +81,15 @@ template<> complex sumProd(const UList& f1, const UList& f2); +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +BINARY_TYPE_OPERATOR(complex, complex, complex, +, add) +BINARY_TYPE_OPERATOR(complex, complex, complex, -, subtract) + +BINARY_OPERATOR(complex, complex, complex, *, multiply) +BINARY_OPERATOR(complex, complex, complex, /, divide) + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // UNARY_FUNCTION(complex, complex, pow3)