1. 19 Jun, 2020 5 commits
  2. 18 Jun, 2020 8 commits
  3. 17 Jun, 2020 8 commits
    • Mark Olesen's avatar
      CONFIG: bump API to 2006 (pre-release) · 9e311151
      Mark Olesen authored
      9e311151
    • Andrew Heather's avatar
      Merge branch 'feature-fsi-lbf' into 'develop' · e8e36db3
      Andrew Heather authored
      lumped point motion using local linear basic functions (#1341)
      
      See merge request !271
      e8e36db3
    • Mark Olesen's avatar
      TUT: bridge using external lumped point motion (#1341) · 7db868b5
      Mark Olesen authored
      - see its accompanying README for additional setup instructions
      7db868b5
    • Mark Olesen's avatar
      ENH: lumped point motion using local linear basic functions (#1341) · b0136d83
      Mark Olesen authored
      - the earlier implementation of externally controlled lumped point
        motion (see merge request !120 and OpenFOAM-v1706 release notes) was
        conceived for the motion of simple structures such as buildings or
        simple beams. The motion controller was simply defined in terms of
        an orientation axis and divisions along that axis.
      
        To include complex structures, multiple motion controllers are
        defined in terms of support points and connectivity.
      
        The points can have additional node Ids associated with them, which
        makes it easier to map to/from FEA models.
      
        OLD system/lumpedPointMovement specification
        --------------------------------------------
      
            //- Reference axis for the locations
            axis            (0 0 1);
      
            //- Locations of the lumped points
            locations       (0 0.05 .. 0.5);
      
        NEW system/lumpedPointMovement specification
        --------------------------------------------
      
            // Locations of the lumped points
            points
            (
                (0  0  0.00)
                (0  0  0.05)
                ...
                (0  0  0.50)
            );
      
            //- Connectivity for motion controllers
            controllers
            {
                vertical
                {
                    pointLabels (0 1 2 3 4 5 6 7 8 9 10);
                }
            }
      
        And the controller(s) must be associated with the given
        pointDisplacement patch. Eg,
      
           somePatch
           {
               type            lumpedPointDisplacement;
               value           uniform (0 0 0);
               controllers     ( vertical );   // <-- NEW
           }
      
      TUT: adjust building motion tutorial
      
      - use new controllor definitions
      - replace building response file with executable
      - add updateControl in dynamicMeshDict for slowly moving structure
      b0136d83
    • Mark Olesen's avatar
      17ea2c54
    • OpenFOAM bot's avatar
    • Mark Olesen's avatar
      STYLE: update tutorials · 5982a1aa
      Mark Olesen authored
      - use simpler decomposeParDict in tutorials, several had old
        'boilerplate' decomposeParDict
      
      - use simpler libs () format
      
      - update surface sampling to use dictionary format
      5982a1aa
    • Kutalmis Bercin's avatar
  4. 16 Jun, 2020 6 commits
  5. 15 Jun, 2020 7 commits
  6. 12 Jun, 2020 6 commits
    • Andrew Heather's avatar
      Merge branch 'feature-adjoint-updates' into 'develop' · 9b9a070b
      Andrew Heather authored
      Updates for the adjoint optimisation library
      
      See merge request !368
      9b9a070b
    • Andrew Heather's avatar
      INT: Minor integration updates · d6104bd4
      Andrew Heather authored
      d6104bd4
    • Vaggelis Papoutsis's avatar
      TUT: updated/cleaned the optimisation tutorials · c3445204
      Vaggelis Papoutsis authored
      - Removed some unnecessary dynamicMeshDicts.
      - Removed the writeActiveDesignVariables execution from the Allrun
        scripts, since it is no longer necessary to execute it before
        adjointOptimisationFoam.
      - Updated the entries in dynamicMeshDict according to efbc9fc9.
      c3445204
    • Vaggelis Papoutsis's avatar
      ENH: Homogenised the dynamicMeshDict entries for NURBS3DVolume · 1404b5ff
      Vaggelis Papoutsis authored
      (old keywords are still valid, throwing a compatibility warning)
      
      - using (U,V,W) instead of (X1,X2,X3)
      - using confine instead of bound
      1404b5ff
    • Vaggelis Papoutsis's avatar
      ENH: added a general framework for normalization and setting targets · 6ee7bc66
      Vaggelis Papoutsis authored
      for all objective functions.
      
      - The normalization is useful for practically all update methods dealing
      with constraints (e.g. SQP, MMA). The normalization factor can be either
      given explicitly or, if not given, will be the value of the objective
      function in the first optimisation cycle.
      - The target value is useful when using the objective as a constraint in
      constrained optimisation problems (e.g. drag - dragTarget). It should
      only be used with update methods that understand the value of the
      constraint (e.g. SQP, MMA) but not when the objective in hand is the
      only objective of the optimisation problem. In such a case, a squared
      objective should be used (e.g. sqr(drag - dragTarget))
      6ee7bc66
    • Vaggelis Papoutsis's avatar
      ENH: changes related to when the objective value is written · 4d67819a
      Vaggelis Papoutsis authored
      - Objective now inherits from localIOdictionary and writes the mean
      objective value under the uniform folder, each time mesh.write() is
      called. This is crucial for getting the correct old merit function value
      if the simulation is continued from a previous state and lineSearch is
      used.
      - Objectives are now computed and written even if the corresponding
      adjoint solver is inactive. This, among others, is also essential for
      getting the correct old merit function value in case of continuation.
      - Writing of the objective function (and its mean, if present) history
      has now moved to updatePrimalBasedQuantities, instead of the preLoop
      part of the adjoint solvers. This was decided to get the objective
      values to files, even if the adjoint solver is inactive. Arguably, an
      even better place to write the objective functions would be the postLoop
      part of the primal solvers, however this might cause multiple writes of
      the objective value for the inner iterations of lineSearch, if one is
      used.
      4d67819a