Skip to content
Snippets Groups Projects
  1. Jan 17, 2025
  2. Jan 12, 2025
  3. Aug 30, 2024
  4. Jul 11, 2024
    • Lisa Julia Nebel's avatar
      Add LocalIntegralStiffness class with a test · ab09c587
      Lisa Julia Nebel authored and Sander, Oliver's avatar Sander, Oliver committed
      The LocalIntegralStiffness assembles a tangent matrix by
      suitably combining derivatives of the energy density with
      derivatives of the geometric FE interpolation.  See the
      detailed description in dune-gfe-manual.pdf.
      
      This patch also includes a new test in localintegralstiffnesstest.cc.
      It checks if the assembled matrix is the same as the one computed
      by LocalGeodesicFEADOLCStiffness.
      
      For a 3d Cosserat material I get a speedup of about 3x.
      ab09c587
  5. Jul 07, 2024
  6. Jul 06, 2024
    • Sander, Oliver's avatar
      InterpolationRules: Return coefficients by const reference · e2d97ab8
      Sander, Oliver authored
      Previously they were returned by value, but I do not remember any
      actual reason for that.  Return by const reference leads to a
      measurable speed increase when computing the derivatives of
      projection-based FE onto the sphere.  It also fixed some
      undefined behavior in that code, which took const-references
      of the returned temporaries.
      
      Returning the coefficients by const reference is more difficult
      for product manifolds, because previously the interpolation rules
      stored the coefficients separately for each factor space.
      With this patch, these rules now store the coefficients twice:
      once in the old separate format, and once as needed for returning
      them by reference.  Interpolation rules are not meant to exist
      in large numbers, and therefore I do not think that this
      extra space consumption matters.
      e2d97ab8
  7. Jun 23, 2024
    • Sander, Oliver's avatar
      Fix LocalIntegralEnergy for nonconforming discretizations · 1f5c6c83
      Sander, Oliver authored
      This broke recently (or never worked), because nonconforming
      discretizations were not tested anywhere.  This patch therefore
      also generalizes harmonicmaptest to also test with a
      nonconforming discretization.
      
      As part of the fix, the interpolation rules get a new method
      `evaluateValueAndDerivative`, because the previous way to get
      the value and the derivative in a single call (the `evaluateDerivative`
      method that takes a value as an argument) only worked for the
      conforming case.
      1f5c6c83
  8. Jan 15, 2024
    • Sander, Oliver's avatar
      Replace RigidBodyMotion by ProductManifold · 25239378
      Sander, Oliver authored
      The ProductManifold class generalizes RigidBodyMotion, and can do
      everything that the RigidBodyMotion class can.  Therefore there is
      no point in keeping RigidBodyMotion any longer.  Having two
      implementations for the same thing will just confuse people.
      25239378
  9. Jan 05, 2024
  10. May 24, 2023
  11. Dec 21, 2022
  12. Nov 20, 2020
    • Sander, Oliver's avatar
      Support rod discretizations of any order · 3fd15b9e
      Sander, Oliver authored
      So far, the Cosserat rod energy implementation hat a first-order
      finite element space hardcoded.  This patch removes that restriction.
      As for the other models in this Dune module, the finite element basis
      is now a template parameter of the model energy, and can be set to
      any reasonable basis.
      3fd15b9e
  13. Sep 20, 2018
  14. Jun 19, 2018
  15. May 11, 2018
    • Sander, Oliver's avatar
      Use Newton instead of Trust-Region for the Geodesic FE min problems · bd02d57d
      Sander, Oliver authored
      In theory this is dangerous, because a pure Newton method will
      only converge locally.  However, the trust-region part had been
      partially disabled anyway, and I have not noticed any problems.
      Also, I think that from my well-posedness result for higher-order
      GeoFEs follows that a Newton method will always converge if the
      problem is well-posed (that is how the proof works, after all).
      
      On the plus side, this patch brings roughly 5% speed increas.
      bd02d57d
  16. Dec 29, 2015
    • Sander, Oliver's avatar
      Introduce a dedicated class LocalQuickAndDirtyFEFunction to produce initial... · a617d51f
      Sander, Oliver authored
      Introduce a dedicated class LocalQuickAndDirtyFEFunction to produce initial iterates for the GFE minimization problems
      
      Previously, a LocalProjectedFEFunction was used for this.  This turned out to be a bad idea for two reasons:
      - Evaluating such a function can actually pretty expensive.  For example,
        to project onto SO(3), the polar decomposition needs to be evaluated by
        an iterative method.
      - Screwing up the LocalProjectedFEFunction implementation can actually screw up
        the GFE implementation as well in very subtle ways.  Specifically, if the
        LocalProjectedFEFunction is not ADOL-C-differentiable, then the GFE function
        will not be differentiable, either.  This fact cost me a few hours searching...
      a617d51f
  17. Nov 27, 2015
  18. Oct 18, 2015
  19. Oct 04, 2015
  20. Feb 06, 2015
  21. Aug 18, 2014
  22. Jul 17, 2014
  23. Jul 03, 2014
  24. Apr 23, 2014
    • Oliver Sander's avatar
      Hand-code one specific matrix-matrix multiplication · 28674731
      Oliver Sander authored
      This has two advantages:
      - The two matrices use different number types (adouble vs. double),
        but the generic multiplication in dune/istl/matrix.hh doesn't support
        that.  Hence before this change I had to patch dune-istl.
      - It avoids one extra copying operation
      
      [[Imported from SVN: r9703]]
      28674731
  25. Mar 24, 2014
    • Oliver Sander's avatar
      Use a better initial iterate for the TargetSpaceTRSolver than coefficients_[0] · e6dca29a
      Oliver Sander authored
      The new initial iterate is constructed by interpolating the values in Euclidean
      space, and projecting back onto TargetSpace.  This has two advantages:
      1) It's a better initial iterate, so we should converge faster than starting
         from coefficients_[0]
      2) It makes it easier for ADOL-C to pick up correct second derivatives.
         Hence we are able to reduce the minimum number of iterations of the
         target space tr solver.
      
      [[Imported from SVN: r9683]]
      e6dca29a
  26. Dec 13, 2013
  27. Sep 03, 2013
  28. Jul 12, 2013
  29. Jul 11, 2013
Loading