NexGenAnalytics / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
0 stars 2 forks source link

#203: NOX: Provide `Tpetra` version of `test_BroydenOp.C` #204

Open cwschilly opened 1 year ago

cwschilly commented 1 year ago

Fixes #203

cwschilly commented 1 year ago

Hello @rppawlo, thank you for your comment on PR #193 . I am also working to create a Tpetra version of test_BroydenOp.C, but it seems that the operator in question only exists within the Epetra namespace (NOX::Epetra::BroydenOperator) and depends on Epetra data types. Is this true?

github-actions[bot] commented 1 year ago

:zap: Code quality check :zap:


:red_circle: clang-tidy found 64 issues! Click here to see details.
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L49-L54 ```diff !Line: 49 - warning: #includes are not sorted properly [llvm-include-order] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L54-L59 ```diff !Line: 54 - warning: #includes are not sorted properly [llvm-include-order] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L63-L68 ```diff !Line: 63 - warning: declaration must be declared within the '__llvm_libc' namespace [llvmlibc-implementation-in-namespace] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L63-L68 ```diff !Line: 63 - warning: use a trailing return type for this function [modernize-use-trailing-return-type] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L63-L68 ```diff !Line: 63 - warning: do not declare C-style arrays, use std::array<> instead [cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L79-L84 ```diff !Line: 79 - warning: variable 'session' of type 'Teuchos::GlobalMPISession' can be declared 'const' [misc-const-correctness] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L86-L91 ```diff !Line: 86 - warning: 'getDefaultComm' must resolve to a function declared within the '__llvm_libc' namespace [llvmlibc-callee-namespace] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L88-L93 ```diff !Line: 88 - warning: initializing non-owner 'int *' with a newly created 'gsl::owner<>' [cppcoreguidelines-owning-memory] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L88-L93 ```diff !Line: 88 - warning: 100 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L89-L94 ```diff !Line: 89 - warning: deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead [cppcoreguidelines-owning-memory] !Line: 88 - note: variable declared here ``` https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L91-L96 ```diff !Line: 91 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L92-L97 ```diff !Line: 92 - warning: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L92-L97 ```diff !Line: 92 - warning: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L92-L97 ```diff !Line: 92 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L101-L106 ```diff !Line: 101 - warning: variable 'noxParams' of type 'Teuchos::ParameterList &' can be declared 'const' [misc-const-correctness] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L101-L106 ```diff !Line: 101 - warning: redundant get() call on smart pointer [readability-redundant-smartptr-get] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L107-L112 ```diff !Line: 107 - warning: 5 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L109-L114 ```diff !Line: 109 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L118-L123 ```diff !Line: 118 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L125-L130 ```diff !Line: 125 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L137-L142 ```diff !Line: 137 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L145-L150 ```diff !Line: 145 - warning: variable 'status' of type 'int' can be declared 'const' [misc-const-correctness] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L149-L154 ```diff !Line: 149 - warning: variable 'abstol' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L150-L155 ```diff !Line: 150 - warning: variable 'reltol' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L153-L158 ```diff !Line: 153 - warning: variable 'numGlobalElems' of type 'int' can be declared 'const' [misc-const-correctness] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L154-L159 ```diff !Line: 154 - warning: variable 'broydenRowMap' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L155-L160 ```diff !Line: 155 - warning: variable 'broydenWorkVec' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L156-L161 ```diff !Line: 156 - warning: variable 'broydenWorkGraph' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L158-L163 ```diff !Line: 158 - warning: variable 'globalIndices' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L159-L164 ```diff !Line: 159 - warning: kernel performance could be improved by unrolling this loop with a '#pragma unroll' directive [altera-unroll-loops] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L159-L164 ```diff !Line: 159 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L162-L167 ```diff !Line: 162 - warning: variable 'myGlobalIndices' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L179-L184 ```diff !Line: 179 - warning: variable 'broydenWorkMatrix' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L190-L195 ```diff !Line: 190 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L193-L198 ```diff !Line: 193 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L195-L200 ```diff !Line: 195 - warning: 3.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L201-L206 ```diff !Line: 201 - warning: variable 'goldMatrix' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L203-L208 ```diff !Line: 203 - warning: variable 'numCols' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L204-L209 ```diff !Line: 204 - warning: variable 'values' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L208-L213 ```diff !Line: 208 - warning: 6.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L209-L214 ```diff !Line: 209 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L212-L217 ```diff !Line: 212 - warning: 5.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L217-L222 ```diff !Line: 217 - warning: 7.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L219-L224 ```diff !Line: 219 - warning: 0.2 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L226-L231 ```diff !Line: 226 - warning: variable 'broydenWorkGraph2' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L240-L245 ```diff !Line: 240 - warning: variable 'broydenWorkMatrix2' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L250-L255 ```diff !Line: 250 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L253-L258 ```diff !Line: 253 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L255-L260 ```diff !Line: 255 - warning: 3.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L261-L266 ```diff !Line: 261 - warning: variable 'goldMatrix2' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L265-L270 ```diff !Line: 265 - warning: 7.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L267-L272 ```diff !Line: 267 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L270-L275 ```diff !Line: 270 - warning: 2.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L271-L276 ```diff !Line: 271 - warning: 4.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L272-L277 ```diff !Line: 272 - warning: 4.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L277-L282 ```diff !Line: 277 - warning: 8.0 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L279-L284 ```diff !Line: 279 - warning: variable 'scaleF' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L286-L291 ```diff !Line: 286 - warning: variable 'inactiveGraph' is not initialized [cppcoreguidelines-init-variables] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L317-L322 ```diff !Line: 317 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L319-L324 ```diff !Line: 319 - warning: statement should be inside braces [google-readability-braces-around-statements,hicpp-braces-around-statements,readability-braces-around-statements] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L322-L327 ```diff !Line: 322 - warning: 'getRank' must resolve to a function declared within the '__llvm_libc' namespace [llvmlibc-callee-namespace] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L322-L327 ```diff !Line: 322 - warning: 'operator<<' must resolve to a function declared within the '__llvm_libc' namespace [llvmlibc-callee-namespace] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L327-L332 ```diff !Line: 327 - warning: declaration must be declared within the '__llvm_libc' namespace [llvmlibc-implementation-in-namespace] ```
https://github.com/NexGenAnalytics/Trilinos/blob/5fa13f564ff235302c3fd4f40e4cab5fa49e182f/packages/nox/test/tpetra/Tpetra_test_BroydenOp.cpp#L327-L332 ```diff !Line: 327 - warning: use a trailing return type for this function [modernize-use-trailing-return-type] ```

rppawlo commented 1 year ago

That's correct. Let's drop this test for the tpetra porting work. There's no template for a similar capability at this point and I don't think anyone has used this operator in years.

cwschilly commented 1 year ago

@stmcgovern This PR is mosty completed, but the absence of a Tpetra-fied BroydenOperator means it can't be fully converted. I'll leave it as is for now.