Skip to content

Vector improvements #110

@parnet

Description

@parnet
  1. ParallelVector uses dynamic_casts to type T even though T is known and can be statically casted

  2. class Vector includes SparseMatrix without using it. commented energy norms used this include, but better to outsource this functionality if not already done

  3. operations_vec_on_index_set implements methods that seems to be unused
    // calculates s += norm_2^2(a)
    void VecNormSquaredAdd(const vector_t &a, const vector_t &b, number &sum, const std::vector<size_t> vIndex)

// returns norm_2^2(a)
inline number VecNormSquared(const vector_t &a, const vector_t &b,const std::vector<size_t> vIndex)

parameter b does not appear in calculations?

  1. schur_complement_operator implicitly copies the vector in vector_type dskeleton(fskeleton); maybe this should be done explicitly instead to be clear about what happens there

  2. define default template arguments for GridFunction, ParallelVector, Vector classes or implement concepts that reveal the functionality that can be expected by the class

  3. override virtual_clones instead of just declare these as virtual since this might not fully apply to the vtable

  4. const upper loop boundaries for vector implementation to improve autovectorization for the compiler

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions