Skip to content
Snippets Groups Projects
  1. Jun 10, 2020
    • Vaggelis Papoutsis's avatar
      ENH: Homogenised the dynamicMeshDict entries for NURBS3DVolume · efbc9fc9
      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
      efbc9fc9
    • Vaggelis Papoutsis's avatar
      ENH: added a general framework for normalization and setting targets · ce9b6e58
      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))
      ce9b6e58
  2. Jun 09, 2020
    • Vaggelis Papoutsis's avatar
      ENH: changes related to when the objective value is written · 6c5696bc
      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.
      6c5696bc
    • Vaggelis Papoutsis's avatar
      ENH: objective: added function to output a blank line · aa9dbbdb
      Vaggelis Papoutsis authored
      to be used in separating instantaneous objective values of different
      optimisation cycles.
      aa9dbbdb
    • Vaggelis Papoutsis's avatar
      ENH: Added the nutSqr surrogate noise objective · 77b22fd9
      Vaggelis Papoutsis authored
      which qualitatively quantifies noise through a volume integral of the squared
      turbulent viscosity.
      77b22fd9
    • Vaggelis Papoutsis's avatar
      ENH: refactoring and cleaning of optimisationType · fc01d9ed
      Vaggelis Papoutsis authored
      Moved part common to all derived classes (e.g. update) to the base
      class to avoid code duplication. Practically, only the protected
      updateDesignVariables has to be overwritten in each derived class now.
      steadyOptimisation was also affected in a minor way.
      fc01d9ed
    • Vaggelis Papoutsis's avatar
      ENH: Added optional suffix to the file names · eea04497
      Vaggelis Papoutsis authored
      holding the sensitivity maps
      eea04497
    • Vaggelis Papoutsis's avatar
      ENH: volBSplinesBase: added function returning box ID · 82205291
      Vaggelis Papoutsis authored
      given a global control point ID
      82205291
    • Vaggelis Papoutsis's avatar
      ENH: added function just returning the sensitivities · de78cf6d
      Vaggelis Papoutsis authored
      without recomputing them. Use with caution!
      de78cf6d
    • Vaggelis Papoutsis's avatar
      ENH: changes in SIBase and derived classes · 639da825
      Vaggelis Papoutsis authored
      - Added function returning the underlaying surface sensitivities
      - Added boolean to control whether to write the underlaying sensitivity
        map (defaults to false)
      639da825
    • Vaggelis Papoutsis's avatar
      ENH: introduced an incompressible::shapeSensitivities class · 39a885f4
      Vaggelis Papoutsis authored
      Encapsulates all terms that are common in both E(SI) and FI
      formulations, like direct sensitivities and sensitivities due to
      primal boundary conditions. Added the latter to all derived sensitivity
      types, except for sensitivity maps.
      39a885f4
    • Vaggelis Papoutsis's avatar
      ENH: added the adjointRotatingWallVelocity boundary condition · ec19732d
      Vaggelis Papoutsis authored
      Same as adjointWallVelocity but also returns the contribution
      of the differentiation of the rotatingWallVelocity BC wrt the
      face centres, to be added to the sensitivity derivatives.
      ec19732d
    • Vaggelis Papoutsis's avatar
      ENH: made adjointBoundaryCondition templated · 177fb296
      Vaggelis Papoutsis authored
      Main reason was the insertion of a templated virtual function
      returning the contribution of the differentiation of the primal
      boundary condition, in the case the latter directly depends on a
      a geometric quantity (e.g. rotatingWallVelocity).
      177fb296
    • Andrew Heather's avatar
      Merge branch 'feature-atmospheric-boundary-layer-model-suite' into 'develop' · 324e85a9
      Andrew Heather authored
      ENH: New atmospheric boundary layer (ABL) model suite (Part 1)
      
      See merge request !363
      324e85a9
    • Kutalmış Berçin's avatar
      ENH: New atmospheric boundary layer (ABL) model suite (Part 1) · 41e264f2
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
        Please refer to the header file documentation for complete set of details.
      
        ENH: add new fvOptions for ABL modelling
      
          - atmAmbientTurbSource
          - atmBuoyancyTurbSource
          - atmCoriolisUSource
          - atmLengthScaleTurbSource
          - atmPlantCanopyTurbSource
          - atmPlantCanopyUSource
          - atmPlantCanopyTSource
          - atmNutSource
      
        ENH: add new boundary conditions for ABL modelling
             with PatchFunction1 and TimeFunction1 support
      
          - atmAlphatkWallFunction
          - atmEpsilonWallFunction
          - atmNutkWallFunction
          - atmNutUWallFunction
          - atmNutWallFunction
          - atmOmegaWallFunction
          - atmTurbulentHeatFluxTemperature
      
        STYLE: change names of nutkAtmRoughWallFunction -> atmNutkWallFunction by
               ensuring the bitwise backward compatibility
      
        ENH: add new variable-scaling force computation method to actuationDiskSource
      
        ENH: review actuationDiskSource and radialActuationDiskSource
      
        ENH: add new function object, ObukhovLength
      
        ENH: add new ABL tutorials/verifications
      
          - verificationAndValidation/atmosphericModels/atmFlatTerrain
            - verification with the Leipzig field experiment
            - illustration of precursor/successor field mapping
          - verificationAndValidation/atmosphericModels/atmForestStability
            - verification with the Sweden field experiment
          - update incompressible/simpleFoam/turbineSiting
      41e264f2
    • Andrew Heather's avatar
      Merge branch 'integration-vof-library' into 'develop' · 70cd6c61
      Andrew Heather authored
      CONT: Addition of compressibleIsoInterFoam and PLIC
      
      See merge request !349
      70cd6c61
    • HenningScheufler's avatar
      TUT: new/updated for compressibleInterIsoFoam · 3c131d85
      HenningScheufler authored and Andrew Heather's avatar Andrew Heather committed
      3c131d85
    • Henning Scheufler's avatar
      CONT: Addition of compressibleIsoInterFOam and PLIC · 44a84d47
      Henning Scheufler authored and Andrew Heather's avatar Andrew Heather committed
         1) Implementation of the compressibleIsoInterFOam solver
         2) Implementation of a new PLIC interpolation scheme.
         3) New tutorials associated with the solvers
      
      This implementation was carried out by Henning Scheufler (DLR) and Johan
      Roenby (DHI), following :
      
      \verbatim
      
      Henning Scheufler, Johan Roenby,
      Accurate and efficient surface reconstruction from volume fraction data
      on general meshes, Journal of Computational Physics, 2019, doi
      10.1016/j.jcp.2019.01.009
      
      \endverbatim
      
      The integration of the code was carried out by Andy Heather and Sergio
      Ferraris from OpenCFD Ltd.
      44a84d47
  3. Jun 08, 2020