Skip to content

[TrilinosApplication] Improve TrilinosSpace, its python bindings and MPI test coverage#14371

Open
loumalouomega wants to merge 20 commits intoKratosMultiphysics:masterfrom
loumalouomega:trilinos/improvement-trilinos-space
Open

[TrilinosApplication] Improve TrilinosSpace, its python bindings and MPI test coverage#14371
loumalouomega wants to merge 20 commits intoKratosMultiphysics:masterfrom
loumalouomega:trilinos/improvement-trilinos-space

Conversation

@loumalouomega
Copy link
Copy Markdown
Member


name: ✨ Feature
about: Improve TrilinosSpace, its python bindings and MPI test coverage


📝 Description

This PR extends the TrilinosSpace interface with several missing utility operations, exposes the new functionality to Python, and adds comprehensive MPI C++ test coverage for the implemented behavior.

Key changes

  • Added several TrilinosSpace utility methods and aliases to improve interface completeness and consistency with other Kratos spaces.
  • Added support for utility operations such as communicator and map access, null checks, global assembly, vector copy creation, empty pointer creation with communicator, structure builders, diagonal queries, matrix/value helpers, and Matrix Market IO-related functionality.
  • Exposed the new TrilinosSpace capabilities to Python in custom_python/add_trilinos_space_to_python.cpp, including:
    • matrix/vector Matrix Market write helpers
    • global assembly helpers
    • Set
    • TransposeMult
    • diagonal statistics queries
    • matrix value copy helper
    • IsDistributedSpace
  • Added broad MPI C++ test coverage in tests/cpp_tests/test_trilinos_space.cpp for:
    • basic size, norm, dot, min/max and algebra operations
    • matrix-vector and matrix-matrix products
    • transpose products and BtDB / BDBt operations
    • pointer utilities and copy helpers
    • assembly helpers and structure builders
    • Matrix Market read/write
    • diagonal utilities
    • expected exception behavior for unsupported operations

Validation

  • MPI C++ test suite executed successfully with:
    • mpiexec -np 2 --allow-run-as-root --oversubscribe /home/vicente/src/Kratos/bin/Release/test/KratosTrilinosCoreTest
  • The new tests in test_trilinos_space.cpp exercise the added and refined TrilinosSpace functionality against distributed execution.

🆕 Changelog

  • Improved TrilinosSpace interface completeness with additional utility methods and helpers
  • Exposed new TrilinosSpace operations to Python
  • Added extensive MPI C++ tests for TrilinosSpace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant