1. 24 Apr, 2019 8 commits
    • Andreas Dedner's avatar
    • Andreas Dedner's avatar
      added a standard constructor (gv,interface,direction) to the LocalFESpace · f7a0f4fb
      Andreas Dedner authored
      The key is fixed to `Key(1)` which is perhaps not such a good idea -
      perhaps this should be part of the Traits?
      f7a0f4fb
    • Andreas Dedner's avatar
      added hessian method to LFE shape function set · a5fe4687
      Andreas Dedner authored
      bug fix
      
      bug fix
      
      fix the lfe space restrict prolong
      
      need Traits class in LFConverter so that it can be correctly passed into
      dune-localfunction's interpolate methods
      
      final clean up
      a5fe4687
    • Andreas Dedner's avatar
      `hasSingleGeometryType` is only a member on the `AdaptiveIS` so need to get · 2460b27f
      Andreas Dedner authored
      the property directly from the Grid capabilities in the `IndexSetDofMapper`
      
      don't use the `LagrangeLocalDofMapping` in the LFE space
      2460b27f
    • Andreas Dedner's avatar
      completed implementation of lfe restrict prolong - not working yet · 6979c466
      Andreas Dedner authored
      tried an approach to fix the generic restriction.
      restrictFinalize is not called after the data on the father has been
      computed. Still doesn't quite work....
      
      LocalRestrictProlong does not have an implemented default class so the new
         prolongFinalize( LocalFunctionOnFather )
      needs to be implemented (empty) in each specialization. I probably missed some
      6979c466
    • Robert K's avatar
      [cleanup][WANT_GRAPE] probably not used anymore. · 900ae801
      Robert K authored
      white space change.
      900ae801
    • Andreas Dedner's avatar
      Issue in dof manager when using LagrangeSpace with second order · c8e23903
      Andreas Dedner authored
      Can be seen by running ./lagrangeadapt
      in debug mode, error is
      
      dune/fem/space/common/dofmanager.hh:395: void Dune::Fem::ManagedDofStorageImplementation<GridImp, MapperType, DofArrayType>::dofCompress(bool) [with GridImp = Dune::ALUGrid<2, 2, (Dune::ALUGridElementType)0u, (Dune::ALUGridRefinementType)0u>; MapperType = Dune::Fem::IndexSetDofMapper<Dune::Fem::AdaptiveLeafGridPart<Dune::ALUGrid<2, 2, (Dune::ALUGridElementType)0u, (Dune::ALUGridRefinementType)0u>, (Dune::PartitionIteratorType)4u, false>, Dune::Fem::DefaultLocalDofMapping<Dune::Fem::AdaptiveLeafGridPart<Dune::ALUGrid<2, 2, (Dune::ALUGridElementType)0u, (Dune::ALUGridRefinementType)0u>, (Dune::PartitionIteratorType)4u, false> > >; DofArrayType = Dune::Fem::MutableBlockVector<Dune::Fem::DynamicArray<double, Dune::Fem::PODArrayAllocator<double> >, 1u>]: Assertion `newIndex < nSize' failed.
      
      The following issue is fixed here:
      
      the lfe spaces (e.g. the LagrangeSpace) is always hybrid, e.g., for dimension=2,
      polOrder=2 it will return 1 dof for (cube,0). The `IndexSetDofMapper` will
      therefore always create 3 blocks (one for vertices, for edges, and for (cube,0)).
      In the case of an `AdaptiveDofMapper` this leads to three queries
      concerning holes which is passed on to the `AdaptiveIndexSet` which only
      takes the codimension of the geometry type into account. So even on a
      triangular grid it will return the number of holes for codim=0 for the
      `(cube,0)` block which leads to wrong indices being computed.
      
      This fix simply checks if a geometry type that contains dofs is active in
      the index set - the `AdaptiveLeafIndexSet` only works in this case with a
      single geometry type anyway (see
         `assert( hasSingleGeometryType || geomTypes( codim ).size() == 1 )`
      in method `oldIndex` for example.
      
      added the log message to describe the previous fix
      c8e23903
    • Andreas Dedner's avatar
      change dune/fem/space/test/test-spaceinterpolation.cc to demonstrate the · 1a4564f9
      Andreas Dedner authored
      issue with the interpolate method on the LagrangeSpace (based on
      dune-localfunction) when used with dimRange>1
      
      get the LFESpaces to work correctly with dimR>1
      - still need to make sure RT,BDM, etc are doing he right thing
      - prolongation and restriction is not yet working (error in dof manager)
      
      remove some debug output
      
      fix an issue with the correct 'block index' in the lfe space. Now RT seems
      to work fine again
      1a4564f9
  2. 11 Apr, 2019 3 commits
  3. 05 Apr, 2019 3 commits
  4. 03 Apr, 2019 2 commits
  5. 22 Mar, 2019 1 commit
  6. 17 Mar, 2019 3 commits
  7. 16 Mar, 2019 2 commits
  8. 15 Mar, 2019 5 commits
  9. 14 Mar, 2019 4 commits
  10. 13 Mar, 2019 2 commits
  11. 12 Mar, 2019 2 commits
    • Robert K's avatar
      [!302] [feature][DofManager] clear temporary arrays during dofCompress · 5420e842
      Robert K authored
      Merge branch 'feature/dofmanager-clear-resized-arrays' into 'master'
      
      ref:dune-fem/dune-fem if clearesizedarrays is enabled (default) all arrays
      registered to the dof manager are cleared after grid refinement or load
      balancing to avoid occasionally NaN.
      
      See merge request [!302]
      
        [!302]: gitlab.dune-project.org/dune-fem/dune-fem/merge_requests/302
      5420e842
    • Robert K's avatar
      [feature][DofManager] clear temporary arrays during dofCompress if · 88ffa9a3
      Robert K authored
      clearesizedarrays is enabled (default). This needs the method clear on
      each DofVector. For this reason the SpecialArrayFeatures has been
      removed and the implementation moved to the DofVector class which was
      already specialized for each storage type.
      In addition enableDofCompression is now automatically enabled for
      discrete functions being read from backup files.
      88ffa9a3
  12. 11 Mar, 2019 2 commits
  13. 10 Mar, 2019 2 commits
  14. 08 Mar, 2019 1 commit