mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: compilation of Test-QRMatrix (clang, int64)
- remove unused local functions from volumeExprDriver
This commit is contained in:
@ -324,7 +324,7 @@ void verification_QRMatrix
|
|||||||
// QRMatrix Constructors
|
// QRMatrix Constructors
|
||||||
#if (0 | RUNALL)
|
#if (0 | RUNALL)
|
||||||
{
|
{
|
||||||
QRMatrix<MatrixType> QRNull();
|
QRMatrix<MatrixType> QRNull;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -967,14 +967,14 @@ void verification_tsqr
|
|||||||
typedef RectangularMatrix<Type> RMatrix;
|
typedef RectangularMatrix<Type> RMatrix;
|
||||||
|
|
||||||
// Size of the full matrix and its partitions
|
// Size of the full matrix and its partitions
|
||||||
const label nColsSum = rndGen.position(1, 100);
|
const label nColsSum = rndGen.position<label>(1, 100);
|
||||||
const label qParts = rndGen.position(10, 30);
|
const label qParts = rndGen.position<label>(10, 30);
|
||||||
List<label> mRowsList(qParts, Zero);
|
List<label> mRowsList(qParts, Zero);
|
||||||
|
|
||||||
label mRowsSum = 0;
|
label mRowsSum = 0;
|
||||||
for (label i = 0; i < qParts; ++i)
|
for (label i = 0; i < qParts; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(nColsSum, 10*nColsSum);
|
const label mRows = rndGen.position<label>(nColsSum, 10*nColsSum);
|
||||||
mRowsList[i] = mRows;
|
mRowsList[i] = mRows;
|
||||||
mRowsSum += mRows;
|
mRowsSum += mRows;
|
||||||
}
|
}
|
||||||
@ -1084,7 +1084,7 @@ void verification_backSubstitution
|
|||||||
{
|
{
|
||||||
Info<< nl << "# A*X = b:" << nl;
|
Info<< nl << "# A*X = b:" << nl;
|
||||||
const RMatrix AX(A*X);
|
const RMatrix AX(A*X);
|
||||||
equal(AX, b, verbose, 1e-3, 1e-3);
|
equal(AX, b, verbose, 10, 1e-3, 1e-3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1170,7 +1170,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(1, 50);
|
const label mRows = rndGen.position<label>(1, 50);
|
||||||
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
||||||
|
|
||||||
SMatrix A(makeRandomMatrix<SMatrix>({mRows, mRows}, rndGen));
|
SMatrix A(makeRandomMatrix<SMatrix>({mRows, mRows}, rndGen));
|
||||||
@ -1199,8 +1199,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(1, 50);
|
const label mRows = rndGen.position<label>(1, 50);
|
||||||
const label nCols = rndGen.position(1, 50);
|
const label nCols = rndGen.position<label>(1, 50);
|
||||||
Info<< nl << nl << "# Random matrix A with"
|
Info<< nl << nl << "# Random matrix A with"
|
||||||
<< " random mRows = " << mRows
|
<< " random mRows = " << mRows
|
||||||
<< " random nCols = " << nCols << nl;
|
<< " random nCols = " << nCols << nl;
|
||||||
@ -1231,7 +1231,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(1, 50);
|
const label mRows = rndGen.position<label>(1, 50);
|
||||||
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
||||||
|
|
||||||
SCMatrix A({mRows, mRows}, complex(0, 0));
|
SCMatrix A({mRows, mRows}, complex(0, 0));
|
||||||
@ -1258,7 +1258,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(1, 50);
|
const label mRows = rndGen.position<label>(1, 50);
|
||||||
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
Info<< nl << nl << "# Random A with random mRows = " << mRows << nl;
|
||||||
|
|
||||||
SCMatrix A(makeRandomMatrix<SCMatrix>({mRows, mRows}, rndGen));
|
SCMatrix A(makeRandomMatrix<SCMatrix>({mRows, mRows}, rndGen));
|
||||||
@ -1287,8 +1287,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(1, 50);
|
const label mRows = rndGen.position<label>(1, 50);
|
||||||
const label nCols = rndGen.position(1, 50);
|
const label nCols = rndGen.position<label>(1, 50);
|
||||||
Info<< nl << nl << "# Random matrix A with"
|
Info<< nl << nl << "# Random matrix A with"
|
||||||
<< " random mRows = " << mRows
|
<< " random mRows = " << mRows
|
||||||
<< " random nCols = " << nCols << nl;
|
<< " random nCols = " << nCols << nl;
|
||||||
@ -1363,8 +1363,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(20, 50);
|
const label mRows = rndGen.position<label>(20, 50);
|
||||||
const label pCols = rndGen.position(20, 50);
|
const label pCols = rndGen.position<label>(20, 50);
|
||||||
Info<< nl << nl << "# Random square matrix A with"
|
Info<< nl << nl << "# Random square matrix A with"
|
||||||
<< " random mRows = " << mRows
|
<< " random mRows = " << mRows
|
||||||
<< " random nCols = " << mRows << nl;
|
<< " random nCols = " << mRows << nl;
|
||||||
@ -1422,8 +1422,8 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (label i = 0; i < numberOfTests; ++i)
|
for (label i = 0; i < numberOfTests; ++i)
|
||||||
{
|
{
|
||||||
const label mRows = rndGen.position(20, 50);
|
const label mRows = rndGen.position<label>(20, 50);
|
||||||
const label pCols = rndGen.position(20, 50);
|
const label pCols = rndGen.position<label>(20, 50);
|
||||||
Info<< nl << nl << "# Random square matrix A with"
|
Info<< nl << nl << "# Random square matrix A with"
|
||||||
<< " random mRows = " << mRows
|
<< " random mRows = " << mRows
|
||||||
<< " random nCols = " << mRows << nl;
|
<< " random nCols = " << mRows << nl;
|
||||||
|
|||||||
@ -35,7 +35,7 @@ bool Foam::MatrixTools::equal
|
|||||||
const Matrix<Form1, Type>& A,
|
const Matrix<Form1, Type>& A,
|
||||||
const Matrix<Form2, Type>& B,
|
const Matrix<Form2, Type>& B,
|
||||||
const bool verbose,
|
const bool verbose,
|
||||||
const label lenDiffs,
|
const label maxDiffs,
|
||||||
const scalar relTol,
|
const scalar relTol,
|
||||||
const scalar absTol
|
const scalar absTol
|
||||||
)
|
)
|
||||||
@ -55,24 +55,24 @@ bool Foam::MatrixTools::equal
|
|||||||
auto iter1 = A.cbegin();
|
auto iter1 = A.cbegin();
|
||||||
auto iter2 = B.cbegin();
|
auto iter2 = B.cbegin();
|
||||||
|
|
||||||
label j = 0;
|
label nDiffs = 0;
|
||||||
|
|
||||||
for (label i = 0; i < len; ++i)
|
for (label i = 0; i < len; ++i)
|
||||||
{
|
{
|
||||||
if ((absTol + relTol*mag(*iter2)) < Foam::mag(*iter1 - *iter2))
|
if ((absTol + relTol*mag(*iter2)) < Foam::mag(*iter1 - *iter2))
|
||||||
{
|
{
|
||||||
|
++nDiffs;
|
||||||
|
|
||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
{
|
||||||
Info<< "Matrix element " << i
|
Info<< "Matrix element " << i
|
||||||
<< " differs beyond tolerance: "
|
<< " differs beyond tolerance: "
|
||||||
<< *iter1 << " vs " << *iter2 << nl;
|
<< *iter1 << " vs " << *iter2 << nl;
|
||||||
++j;
|
|
||||||
}
|
}
|
||||||
if (lenDiffs < j)
|
if (maxDiffs && maxDiffs < nDiffs)
|
||||||
{
|
{
|
||||||
Info<< "Number of different elements exceeds = " << lenDiffs
|
Info<< "More than " << maxDiffs << " elements differ."
|
||||||
<< " Ceasing comparisons for the remaining of elements."
|
<< " Skipping further comparisons." << nl;
|
||||||
<< nl;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -83,10 +83,17 @@ bool Foam::MatrixTools::equal
|
|||||||
|
|
||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
{
|
||||||
Info<< "All elements equal within the tolerances" << nl;
|
if (nDiffs)
|
||||||
|
{
|
||||||
|
Info<< "Some elements differed" << nl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< "All elements equal within the tolerances" << nl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return !nDiffs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Namespace
|
|||||||
Foam::MatrixTools
|
Foam::MatrixTools
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Collection of static functions for matrix-related verifications.
|
Collection of functions for matrix-related verifications.
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
MatrixTools.C
|
MatrixTools.C
|
||||||
@ -47,7 +47,6 @@ namespace Foam
|
|||||||
// Forward declarations
|
// Forward declarations
|
||||||
class Ostream;
|
class Ostream;
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Namespace MatrixTools Declaration
|
Namespace MatrixTools Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
@ -56,13 +55,14 @@ namespace MatrixTools
|
|||||||
{
|
{
|
||||||
|
|
||||||
//- Compare matrix elements for absolute or relative equality
|
//- Compare matrix elements for absolute or relative equality
|
||||||
|
//
|
||||||
template<class Form1, class Form2, class Type>
|
template<class Form1, class Form2, class Type>
|
||||||
bool equal
|
bool equal
|
||||||
(
|
(
|
||||||
const Matrix<Form1, Type>& A,
|
const Matrix<Form1, Type>& A,
|
||||||
const Matrix<Form2, Type>& B,
|
const Matrix<Form2, Type>& B,
|
||||||
const bool verbose = false,
|
const bool verbose = false,
|
||||||
const label lenDiffs = 10,
|
const label maxDiffs = 10, //!< Stop reporting after maxDiffs (0 to disable)
|
||||||
const scalar relTol = 1e-5,
|
const scalar relTol = 1e-5,
|
||||||
const scalar absTol = 1e-8
|
const scalar absTol = 1e-8
|
||||||
);
|
);
|
||||||
|
|||||||
@ -81,39 +81,6 @@ addNamedToRunTimeSelectionTable
|
|||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
static label getPatchID(const fvMesh& mesh, const word& patchName)
|
|
||||||
{
|
|
||||||
const auto& bMesh = mesh.boundaryMesh();
|
|
||||||
|
|
||||||
const label patchId = bMesh.findPatchID(patchName);
|
|
||||||
|
|
||||||
if (patchId < 0)
|
|
||||||
{
|
|
||||||
FatalErrorInFunction
|
|
||||||
<< "No patch " << patchName << " found in "
|
|
||||||
<< flatOutput(bMesh.names()) << nl
|
|
||||||
<< exit(FatalError);
|
|
||||||
}
|
|
||||||
return patchId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static inline const polyPatch& findPolyPatch
|
|
||||||
(
|
|
||||||
const fvMesh& mesh,
|
|
||||||
const word& patchName
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return mesh.boundaryMesh()[getPatchID(mesh, patchName)];
|
|
||||||
}
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::expressions::volumeExpr::parseDriver::parseDriver
|
Foam::expressions::volumeExpr::parseDriver::parseDriver
|
||||||
|
|||||||
@ -77,10 +77,10 @@ class parProfiling
|
|||||||
{
|
{
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
//- No copy construct
|
||||||
parProfiling(const parProfiling&) = delete;
|
parProfiling(const parProfiling&) = delete;
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
//- No copy assignment
|
||||||
void operator=(const parProfiling&) = delete;
|
void operator=(const parProfiling&) = delete;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2018 OpenCFD Ltd.
|
Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -72,11 +72,11 @@ class exact
|
|||||||
|
|
||||||
const distributedTriSurfaceMesh& patchSurface() const;
|
const distributedTriSurfaceMesh& patchSurface() const;
|
||||||
|
|
||||||
//- Disallow default bitwise copy construct
|
//- No copy construct
|
||||||
exact(const exact&);
|
exact(const exact&) = delete;
|
||||||
|
|
||||||
//- Disallow default bitwise assignment
|
//- No copy assignment
|
||||||
void operator=(const exact&);
|
void operator=(const exact&) = delete;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user