With current efforts in Trilinos as well as in Baci to deprecate the use of the Epetra linear algebra stack, also MIRCO should drop its dependency on Epetra.
As of today, we only rely on some serial dense objects in Epetra, which need to be replaced by their counterpart in Teuchos. Here's the list of necessary replacements:
This might bring along to use Teuchos::RCP in oder to pass the correct data types into the Teuchos::SerialDenseSolver and its variants. This should not alter any test results, just replace an outdated software dependency.
In terms of the build system, we could refine the find_package() command for Trilinos, such that it only exposes Teuchos to MIRCO, so that we do not accidentally link against Trilinos packages that we do not want to support (anymore). Therefore, one could update the call find_package() for Trilinos as follows:
[x] Replace Epetra_SerialDense* with Teuchos::SerialDense* where necessary.
[x] Do not include any Epetra headers anymore
[x] Update find_package() of Trilinos to only expose Teuchos
Related Issues and Merge Requests
Blocks
Is blocked by
Follows
Precedes
Related to
Part of
Composed of
Additional Information
While Baci still takes some time to complete the Epetra deprecation, MIRCO can go forward here. We can even adapt the MIRCO inclusion into Baci to the Teuchos interface, so that MIRCO is on the safe side and will not have to be touched, when Baci deprecated Epetra.
Description
With current efforts in Trilinos as well as in Baci to deprecate the use of the
Epetra
linear algebra stack, also MIRCO should drop its dependency onEpetra
.As of today, we only rely on some serial dense objects in
Epetra
, which need to be replaced by their counterpart inTeuchos
. Here's the list of necessary replacements:Epetra_SerialDenseMatrix
-->Teuchos::SerialDenseMatrix
Epetra_SerialSymDenseMatrix
-->Teuchos::SerialSymDenseMatrix
Epetra_SerialDenseVector
-->Teuchos::SerialSymDenseVector
Epetra_SerialDenseSolver
-->Teuchos::SerialDenseSolver
Epetra_SerialSpdDenseSolver
-->Teuchos::SerialSpdDenseSolver
This might bring along to use
Teuchos::RCP
in oder to pass the correct data types into theTeuchos::SerialDenseSolver
and its variants. This should not alter any test results, just replace an outdated software dependency.In terms of the build system, we could refine the
find_package()
command for Trilinos, such that it only exposesTeuchos
to MIRCO, so that we do not accidentally link against Trilinos packages that we do not want to support (anymore). Therefore, one could update the callfind_package()
for Trilinos as follows:Possible Solution and Definition of Done
Epetra_SerialDense*
withTeuchos::SerialDense*
where necessary.Epetra
headers anymorefind_package()
of Trilinos to only exposeTeuchos
Related Issues and Merge Requests
Additional Information
While Baci still takes some time to complete the
Epetra
deprecation, MIRCO can go forward here. We can even adapt the MIRCO inclusion into Baci to theTeuchos
interface, so that MIRCO is on the safe side and will not have to be touched, when Baci deprecatedEpetra
.Interested Parties
@RShaw026 @NoraHagmeyer