Skip to content
Snippets Groups Projects
  1. Nov 22, 2018
    • René Heß's avatar
      [skip ci] Rename sumfact interface methods · 43148454
      René Heß authored
      43148454
    • René Heß's avatar
      Restructure where permutation happens for sumfact vectorization · f1382d61
      René Heß authored
      Non-fastdg: Permutation of the input happens before the sum factorization
      kernel when we setup the input. This is done by a method of the corresponding
      interface class.
      
      Fastdg: In this case the input will always be ordered according to x,y,... This
      means the permutation needs to happen in the sumfact kernel. Since we want to
      vectorize sumfact kernels with different input permutation in an upper/lower
      way we need to do this permutation in the corresponding interface class. This
      is done in the realize_direct method and in the vectorized case the
      corresponding methods of the scalar sumfact kernels are called.
      f1382d61
  2. Nov 15, 2018
  3. Nov 13, 2018
  4. Oct 30, 2018
  5. Oct 04, 2018
  6. Sep 20, 2018
  7. Aug 16, 2018
  8. Jul 20, 2018
  9. Apr 10, 2018
  10. Mar 27, 2018
  11. Mar 26, 2018
  12. Mar 23, 2018
  13. Mar 22, 2018
  14. Mar 16, 2018
  15. Mar 15, 2018
  16. Feb 19, 2018
  17. Feb 12, 2018
  18. Jan 30, 2018
  19. Jan 25, 2018
  20. Dec 07, 2017
  21. Dec 06, 2017
  22. Nov 22, 2017
  23. Sep 21, 2017
    • Dominic Kempf's avatar
      Fixup sum factorization of maxwell · c1afb75f
      Dominic Kempf authored
      The previous changes to directly pass the visitor
      into the coefficient handler was messed up in one place
      - only being triggered by the downstream maxwell example.
      c1afb75f
  24. Sep 15, 2017
  25. Sep 07, 2017
  26. Sep 06, 2017
  27. Sep 01, 2017
  28. Aug 31, 2017
  29. Aug 29, 2017
    • René Heß's avatar
      TensorProductElements (with same degree in all directions) · 34010e9e
      René Heß authored
      - Use TensorProductElement in one example.
      
      - We still use the sumfact option to swicth to the sum factorization
        code branch. This way it is still possible to easily swicth between
        sumfact and non sumfact code.
      
      - Only TensorProductElements with the same degree in all directions
        will work. Anisotropie and adaption of quadrature rule will happen
        in the next commits.
      34010e9e
  30. Aug 25, 2017
    • Dominic Kempf's avatar
      Fix stokes_dg_symdiff · a03922cf
      Dominic Kempf authored
      a03922cf
    • Dominic Kempf's avatar
      Fix sum factorized sumfact stokes · de9f942f
      Dominic Kempf authored
      de9f942f
    • Dominic Kempf's avatar
      Rewrite accumulation term splitting to not use FunctionView · 0f957482
      Dominic Kempf authored
      The introduction of FunctionView turned out to be a major problem
      with more complicated forms. The original idea was to preserver the
      structure of the finite element in a way, that loops over components
      of a mixed element are realized by actual loops (treating them with
      free indices and such). However, this causes quite some nightmares and
      was never implemented as generically as needed (I even doubt that is
      possible).
      
      However, there is another option, which is to unroll any such loops
      on a symbolic level. While this may sound like a bad idea at first
      there is some really positive aspects about it:
      * ListTensor and ComponentTensor nodes collapse completely (and would
        otherwise have a big nightmare potential)
      * Symbolic zeroes do not generate code - important in hyperbolic problems
        where the system matrices are quite sparse or for axiparallel grids,
        where geometric quantities have many zeroes.
      * The compiler would unroll these small loops anyway.
      * TSFC (and I guess also FFC) do it the same way.
      
      Implementing this required me to redo the form splitting algorithm.
      I rethought it and integrated it into the main ufl->loopy visitor.
      0f957482
Loading