-
Notifications
You must be signed in to change notification settings - Fork 63
Description
Description
Sub issue from #875 to prepare the class Core::LinAlg::Vector for the switch.
Here notes, steps and open problems can be found.
Data access - Tpetra has no [] Operator and it core's concept relies on views:
Therefore all occurrences of the [] operator should be substituted with the function called get_values() or get_local_values or local_values_as_span , since this functions can be substituted with an unmanaged view in first stage.
-
Vector<int>(see Remove element access operators for integer-based vector interface #1372) -
Vector<double>(see Remove element access operators for double-based vector class #1456)
Catch Epetra error in the wrapper itself #1190:
- Catch errors with
CHECK_EPETRA_CALL(see Utilize CHECK_EPETRA_CALL in LinAlg::Vector #1390)
Bulk local/global setters/adders - Tpetra offers only scalar versions (keep interface function: sum_into_global_values in case we want to try switching to FE_Vector )
- remove
replace_local_valueswithin the interface withreplace_local_valuesee [LinAlg] Remove usage of multiple setters #1464 - remove
replace_global_valueswithin the interface withreplace_global_valuesee [LinAlg] Remove usage of multiple setters #1464 - remove
sum_into_global_valueswithin the interface withsum_into_global_valuesee [LinAlg] Remove usage of multiple setters #1464
Simple vector functions (with probably a 1:1 substitution)
- Norms / dot / scale / update / abs / reciprocal / reciprocalMultiply
- Multiplication
- lengths and & maps
Obvious Functions and Constructurs related to Epetra objects:
- Epetra_BlockMap, Epetra_FEVector, Importer/ Exporter