diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files
index 84ece4c4b6..cc3c87011d 100644
--- a/src/OpenFOAM/Make/files
+++ b/src/OpenFOAM/Make/files
@@ -70,6 +70,10 @@ primitives/Tensor/lists/symmTensorList.C
primitives/Tensor/lists/tensorList.C
primitives/Vector/complexVector/complexVector.C
+#if !defined(WM_DP)
+primitives/Vector/doubleVector/doubleVector.C
+primitives/Tensor/doubleTensor/doubleTensor.C
+#endif
#if !defined(WM_SP)
primitives/Vector/floatVector/floatVector.C
primitives/Tensor/floatTensor/floatTensor.C
diff --git a/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.C b/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.C
new file mode 100644
index 0000000000..a4227f457a
--- /dev/null
+++ b/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.C
@@ -0,0 +1,86 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "doubleTensor.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+template<>
+const char* const Foam::doubleTensor::vsType::typeName = "doubleTensor";
+
+template<>
+const char* const Foam::doubleTensor::vsType::componentNames[] =
+{
+ "xx", "xy", "xz",
+ "yx", "yy", "yz",
+ "zx", "zy", "zz"
+};
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::zero
+(
+ doubleTensor::uniform(0)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::one
+(
+ doubleTensor::uniform(1)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::max
+(
+ doubleTensor::uniform(doubleScalarVGREAT)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::min
+(
+ doubleTensor::uniform(-doubleScalarVGREAT)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::rootMax
+(
+ doubleTensor::uniform(doubleScalarROOTVGREAT)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::vsType::rootMin
+(
+ doubleTensor::uniform(-doubleScalarROOTVGREAT)
+);
+
+template<>
+const Foam::doubleTensor Foam::doubleTensor::I
+(
+ 1, 0, 0,
+ 0, 1, 0,
+ 0, 0, 1
+);
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.H b/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.H
new file mode 100644
index 0000000000..5276c32974
--- /dev/null
+++ b/src/OpenFOAM/primitives/Tensor/doubleTensor/doubleTensor.H
@@ -0,0 +1,64 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Typedef
+ Foam::doubleTensor
+
+Description
+ A Tensor of values with double precision
+
+SourceFiles
+ doubleTensor.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef doubleTensor_H
+#define doubleTensor_H
+
+#include "Tensor.H"
+#include "contiguous.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+typedef Tensor doubleTensor;
+
+//- Data associated with doubleTensor type are contiguous
+#if !defined(WM_DP)
+template<>
+inline bool contiguous() {return true;}
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Tensor/floatTensor/floatTensor.H b/src/OpenFOAM/primitives/Tensor/floatTensor/floatTensor.H
index 53f25ca22e..0145c1167e 100644
--- a/src/OpenFOAM/primitives/Tensor/floatTensor/floatTensor.H
+++ b/src/OpenFOAM/primitives/Tensor/floatTensor/floatTensor.H
@@ -25,7 +25,7 @@ Typedef
Foam::floatTensor
Description
- FloatTensor of scalars.
+ A Tensor of values with float precision
SourceFiles
floatTensor.C
@@ -48,9 +48,10 @@ namespace Foam
typedef Tensor floatTensor;
//- Data associated with floatTensor type are contiguous
+#if !defined(WM_SP)
template<>
inline bool contiguous() {return true;}
-
+#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/primitives/Tensor/labelTensor/labelTensor.H b/src/OpenFOAM/primitives/Tensor/labelTensor/labelTensor.H
index 99aa35fb5b..7ef335db0c 100644
--- a/src/OpenFOAM/primitives/Tensor/labelTensor/labelTensor.H
+++ b/src/OpenFOAM/primitives/Tensor/labelTensor/labelTensor.H
@@ -25,7 +25,7 @@ Typedef
Foam::labelTensor
Description
- 3D labelTensor obtained from generic Tensor
+ A Tensor of values using label (integer) representation.
SourceFiles
labelTensor.C
diff --git a/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.C b/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.C
new file mode 100644
index 0000000000..9b4f7d0785
--- /dev/null
+++ b/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.C
@@ -0,0 +1,76 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "doubleVector.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+template<>
+const char* const Foam::doubleVector::vsType::typeName = "doubleVector";
+
+template<>
+const char* const Foam::doubleVector::vsType::componentNames[] =
+{
+ "x", "y", "z"
+};
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::zero
+(
+ doubleVector::uniform(0)
+);
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::one
+(
+ doubleVector::uniform(1)
+);
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::max
+(
+ doubleVector::uniform(doubleScalarVGREAT)
+);
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::min
+(
+ doubleVector::uniform(-doubleScalarVGREAT)
+);
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::rootMax
+(
+ doubleVector::uniform(doubleScalarROOTVGREAT)
+);
+
+template<>
+const Foam::doubleVector Foam::doubleVector::vsType::rootMin
+(
+ doubleVector::uniform(-doubleScalarROOTVGREAT)
+);
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.H b/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.H
new file mode 100644
index 0000000000..e50e1f6092
--- /dev/null
+++ b/src/OpenFOAM/primitives/Vector/doubleVector/doubleVector.H
@@ -0,0 +1,64 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Typedef
+ Foam::doubleVector
+
+Description
+ A Vector of values with double precision.
+
+SourceFiles
+ doubleVector.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef doubleVector_H
+#define doubleVector_H
+
+#include "Vector.H"
+#include "contiguous.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+typedef Vector doubleVector;
+
+//- Data associated with doubleVector type are contiguous
+#if !defined(WM_DP)
+template<>
+inline bool contiguous() {return true;}
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/Vector/floatVector/floatVector.C b/src/OpenFOAM/primitives/Vector/floatVector/floatVector.C
index 13ab567ba4..ba29858f44 100644
--- a/src/OpenFOAM/primitives/Vector/floatVector/floatVector.C
+++ b/src/OpenFOAM/primitives/Vector/floatVector/floatVector.C
@@ -21,9 +21,6 @@ License
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
-Description
- Vector of floats.
-
\*---------------------------------------------------------------------------*/
#include "floatVector.H"
diff --git a/src/OpenFOAM/primitives/Vector/floatVector/floatVector.H b/src/OpenFOAM/primitives/Vector/floatVector/floatVector.H
index 9d8eee773d..e49afbdf88 100644
--- a/src/OpenFOAM/primitives/Vector/floatVector/floatVector.H
+++ b/src/OpenFOAM/primitives/Vector/floatVector/floatVector.H
@@ -25,7 +25,7 @@ Typedef
Foam::floatVector
Description
- A float version of vector
+ A Vector of values with float precision.
SourceFiles
floatVector.C