1. 01 Oct, 2021 7 commits
  2. 30 Sep, 2021 2 commits
  3. 29 Sep, 2021 9 commits
  4. 28 Sep, 2021 8 commits
    • Nils Kohl's avatar
      [WIP] Started refactoring of sparse matrix creation API throughout the entire framework. · 0768f4a0
      Nils Kohl authored
      Implementing toMatrix() methods for many operators. Also got rid of some free functions
      but this needs some more work. Almost all cases in PetscMatrixAssemblyTest are compiling
      but many still abort. Also refactored PETScSparseMatrix a little so that only one template
      argument is necessary now (only the operator).
      
      Added support for non-square sparse matrices.
      
      Some things that are still open:
      - get PetscMatrixAssemblyTest green, enabling all test cases
      - remove all former createMatrix() free function calls and definitions
      - replace matIdx_t with the new index type before/when merging
      - check that no PetscInts remain
      - remove all the Petsc ifdefs that are not required anymore
      - remove the petsc namespace where they technically only wrap sparse matrix stuff
      - discuss what to do with the P1*Operator_new versions
      0768f4a0
    • Marcus Mohr's avatar
      881e81b2
    • Dominik Thoennes's avatar
      32be99c0
    • Marcus Mohr's avatar
      Reworks numberOfLocal/GlobalDoFs for Block/GenericFunction · 1e596bf3
      Marcus Mohr authored
      We now treat the special case of having a BlockFunction or GenericFunction
      in the templated function numberOfLocal/GlobalDoFs directly using a
      constexpr-if. Makes it much easier for the compiler, which otherwise
      sometimes had problems finding the correct variant.
      
      For this to work BlockFunction::ValueType was renamed to
      BlockFunction::valueType like in the other functions and a similar
      typedef was added to GenericFunction.
      1e596bf3
    • Dominik Thoennes's avatar
      fix petsc tests · e3c45624
      Dominik Thoennes authored
      e3c45624
    • Marcus Mohr's avatar
      New constructor version for PETScSparseMatrix · ea620af6
      Marcus Mohr authored
      The new variant allows to pass a function object in place of a
      PrimitiveStorage object to be used for determination of DoF counts.
      
      Testing new approach in PetscMatrixAssemblyTest.
      ea620af6
    • Marcus Mohr's avatar
      Add numberOfGlobalDoFs() for Generic- and BlockFunctions · 7ac9c3e5
      Marcus Mohr authored
      For similar reasons as explained in [11449739] we introduce a variant of
      numberOfGlobalDoFs() that requires a function object.
      7ac9c3e5
    • Nils Kohl's avatar
      Missing include · 9add4f33
      Nils Kohl authored
      9add4f33
  5. 27 Sep, 2021 7 commits
  6. 15 Sep, 2021 6 commits
    • Marcus Mohr's avatar
      Merge branch 'mohr/BlockFunctionToVector-mc' into 'master' · 11984379
      Marcus Mohr authored
      Implements PETSc vector <-> function conversion for Block/GenericFunction
      
      See merge request !447
      11984379
    • Marcus Mohr's avatar
      Small updates after rebase due to changes in FaceDoFFunction · 7726785a
      Marcus Mohr authored
      For completeness we commit also adds a new fule FaceDoFPetsc.hpp.
      Like DGPetsc.hpp it only contains dummy implementations for
      - createVectorFromFunction()
      - createFunctionFromVector()
      7726785a
    • Marcus Mohr's avatar
      Renames two typedefs in SingleRowIntegrationTest · 208b8d08
      Marcus Mohr authored
      Opposed to the library entities themselves the functions and objects
      in our tests are usually not in the hyteg namespace. This generated a
      problem (shadowing warning) for MatType used both by PETSc and inside
      a function in SingleRowIntegrationTest. Commit changes the name and its
      sibling RowType in the typedefs.
      208b8d08
    • Marcus Mohr's avatar
      Updates to Generic/BlockFunctionPetsc.hpp · df2e2614
      Marcus Mohr authored
      Commit wraps implementation in HYTEG_BUILD_WITH_PETSC macro guards.
      df2e2614
    • Marcus Mohr's avatar
      Implements PETSc vector <-> function conversion for BlockFunction · 39eb1612
      Marcus Mohr authored
      The commit introduces implementations for two free functions
      - createVectorFromFunction()
      - createFunctionFromVector()
      for arguments of type BlockFunction< PetscReal >.
      
      BlockFunctionBasicTest gets extended to check that compilation and
      execution works.
      39eb1612
    • Marcus Mohr's avatar
      Implements PETSc vector <-> function conversion for GenericFunction · 068368aa
      Marcus Mohr authored
      The commit introduces implementations of
      - createVectorFromFunction()
      - createFunctionFromVector()
      for functions of type GenericFunction< PetscReal >.
      
      The two free functions reside in the new file GenericFunctionPetsc.hpp.
      Because of the peculiarities of GenericFunctions these free functions
      are, however, only wrappers that call the corresponding one of the two
      new member functions
      - GenericFunction::toVector()
      - GenericFunction::fromVector()
      As usual these are pure virtual and the actual work happens inside
      the member functions of the FunctionWrapper class.
      
      We extend the FunctionWrapperTest to check compilation and execution
      for various kinds of wrapped functions.
      
      Note that due to instantiation requirements the commit also implements
      - createVectorFromFunction()
      - createFunctionFromVector()
      for functions of type DGFunction. However, these implementations are
      pseudo only and will abort.
      068368aa
  7. 19 Aug, 2021 1 commit