New Data Structures

  • Distribution classes

  • Distributed vectors

  • Distributed matrices

    • Parametrizable with non-distributed matrix class

    • Parametrizable with two distribution classes

  • Distributed vector inserter

    • Values can be inserted with global indices

    • Local entries are inserted directly and remote values communicated at the end of the insertion phase (when the inserter object is destroyed)

    • Parametrizable with update function

  • Distributed matrix inserter

    • Same features as distributed vector inserter

    • At the end of insertion buffers for distributed matrix vector product are prepared (like in PETSc)

    • No exact information on quantity and location of non-zero entries are needed (opposed to PETSc), only the single filling parameter for the local matrix inserter

  • Generic block preconditioner, provides distributed

    • Diagonal

    • ILU(0)

    • IC(0)

  • Migration classes: distribution

    • Currently only implemented from block to block distribution

    • Extreme easy usage in constructors:

    • Reverse migration. For instance to map results back to original indexing from FEM tool

  • Single output stream

    •  For instance

      sout << “Matrix A is\n” << A << “v is “ << v << ‘\n’;

      prints matrix A and vector v only once

    • Works also with distributed matrices and vectors

    • Can be used for file output as well

  • Multiple output stream

    • For instance

      mout << “alpha is “ << alpha << ‘\n’;

      prints a message for each processor with processor number





© 2021 SimuNova UG