Skip to content
Snippets Groups Projects
  1. Dec 11, 2020
    • Vaggelis Papoutsis's avatar
      ENH: changes in objective::write · 7d83fb79
      Vaggelis Papoutsis authored
      - Expanded the write function in the base class so that it can manage
        input coming from the derived ones. This reduces a lot of code
        duplication in the latter but keeps the functionality.
      - Added a default width for all entries in the objective files.
      - If a normalisation factor or a target is set, they are written on the
        header of the objective file.
      - Cosmetic/code consistency changes in various files.
      7d83fb79
    • Vaggelis Papoutsis's avatar
      ENH: objectiveManager now writes the weighted objective function · 4981061c
      Vaggelis Papoutsis authored
      to files, if the corresponding adjoint solver has more than one
      objectives.
      4981061c
    • Vaggelis Papoutsis's avatar
      ENH: changes in adjointSimple · ae674b28
      Vaggelis Papoutsis authored
      - Added preLoop, loop and postLoop functions
      - Added preIter, mainIter and postIter functions for each SIMPLE
        iteration
      - Added addMomentumSource and addPressureSource virtual functions, to
        allow for additions by derived classes
      ae674b28
    • Vaggelis Papoutsis's avatar
      ENH: changed the treatment of fvOptions in primal solvers · ba300c3c
      Vaggelis Papoutsis authored
      fvOptions are no longer a member of incompressiblePrimalSolver but are
      looked up from the registry in each iteration of each primal solver.
      This means that the main system/fvOptions dictionary is read by ALL
      instances of the primal solvers and the latter no longer have their
      own fvOptions dict in optimisationDict. This is safe since each fvOption
      is applied to a specific field and in case of many primal solvers, the
      primal fields are named differently for each of them.
      
      In addition, simple is now split in preLoop, loop and postLoop phase.
      Furthermore, each SIMPLE iteration is broken down to
      a preIter, mainIter and postIter phase, to allow for different behaviour
      by derived classes.
      ba300c3c
    • Vaggelis Papoutsis's avatar
      ENH: adjointRASModel now returns a reference · 0fb51529
      Vaggelis Papoutsis authored
      to the primal and adjoint solver names
      0fb51529
    • Vaggelis Papoutsis's avatar
      ENH: change in the discretization of part of the (E)SI sensitivity terms · aee0c30a
      Vaggelis Papoutsis authored
      Part of the (E)SI shape sensitivities depends of grad(Ua) & nf computed
      on the boundary. Up to now, the code was only computing the normal part
      of grad(Ua), to avoid the potentially spurious tangential component
      which is computed on the cell center and extrapolated to the boundary
      faces. However, for some objectives that are strongly related to the
      stresses (e.g. moment, stresses), including also the tangential part of
      grad(Ua) is necessary for E-SI to replicate the outcome of FI.
      
      Extensive testing on a number of objectives/cases showed
      - No regression when including the tangential part
      - Improved behaviour in some rare cases (moment, stresses)
      
      Hence, the tangential part is now included by default. The previous code
      behaviour can be replicated by setting the useSnGradInTranposeStresses
      flag to true.
      aee0c30a
    • Vaggelis Papoutsis's avatar
      ENH: Minor NURBS3DVolume refactoring · c2204eaa
      Vaggelis Papoutsis authored
      - controlPointsDefinition is now controled by a class with
        runTimeSelection.
      - Added a new controlPointsDefinition option that translates, rotates
        and scales a given box. The required entries have the same meaning as
        in the Paraview 'Transform' filter, facilitating the transition between the
        visual placement of control boxes (e.g. in Paraview) and their setup
        in the code.
      - Improved performance during the parameterization, sensitivity
        computation and grid displacement phases by re-using already computed
        basis functions.
      c2204eaa
    • Vaggelis Papoutsis's avatar
      ENH: add the solver name to the MRF constructor of simple · 24d64972
      Vaggelis Papoutsis authored
      in case useSolverNameForFields is set to true.
      Used for multi-point optmisation runs.
      24d64972
    • Vaggelis Papoutsis's avatar
      ENH: added a default word to the IOMRFZoneList constructor · 27ea73f9
      Vaggelis Papoutsis authored
      to allow for constructing different MRF zones for multi-point
      optimisation runs
      27ea73f9
    • Vaggelis Papoutsis's avatar
      GIT: removed the deprecated forceTarget objective · 5ec8a4d4
      Vaggelis Papoutsis authored
      since its behaviour can be replicated by the more general framework for
      setting objective targets introduced in 6ee7bc66.
      5ec8a4d4
    • Andrew Heather's avatar
      Merge branch 'feature-iso_distance-surface' into 'develop' · 7754e5bd
      Andrew Heather authored
      Feature iso distance surface
      
      See merge request !407
      7754e5bd
    • Mark OLESEN's avatar
      ENH: additional filtering for distance surface (#1950) · 4c3a95c8
      Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
      - adds topology-based segmentation of the surfaces generated with
        distance surfaces. This can occur when the surface terminates
        close to a thin wall gap in the mesh; resulting in a cuts that
        extend into the next region.
      
        The cutting algorithm does not normally distinguish between these
        types of "ragged" cuts, and legitimate ones (eg, cutting multiple
        pipes). The additional segmentation controls provide for two common
        scenarios:
      
        largestRegion (pre-filter):
        - The cut cells are checked for topological connectivity and the
          region with the most number of cut cells is retained.
          This handles the "ragged" edge problem.
      
        nearestPoints (pre-filter):
        - The cut cells split into regions, the regions closest to the
          user-defined points are retained.
          Uses maxDistance for additional control.
      
        proximity (post-filter):
        - Checks the resulting faces against the original search surface
          and rejects faces with a distance greater than absProximity.
      
      ENH: restructure distance surface geometric filtering
      
      - prefilter cells, which can be used to adjust the distance
        calculation in the far field to the real distance
        (not the normal distance).
      
        This can also be used to artificially sharpen the transition
        between near/far regions, if required in the future.
      4c3a95c8
    • Mark OLESEN's avatar
      ENH: unify sampling code for isoSurfaces, support multiple offsets · 7a99866d
      Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
      - support multiple offsets for cutting plane samples
        and multiple iso-values
      7a99866d
    • Mark OLESEN's avatar
      ENH: improvements for managing iso-surfaces · 8fe0d1ba
      Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
      - generic isoSurfaceBase. Provides simpler cell-cut detection and
        various functions that can be used for iso-surfaces or when
        preparing prefiltered input for iso-surfaces.
      
      - rudimentary runtime selection
      
      ENH: isoSurface Cell/Topo uses the isoSurfaceBase infrastructure
      
      - simpler cell cut detection, common routines
      - ensure that tetMatcher is only called once per cell
      
      ENH: use indirect patch during edge erosion
      
      - lower overhead, allows backtracking (future) if needed
      8fe0d1ba
    • Andrew Heather's avatar
      Merge branch 'tut-alltest-corrections' into 'develop' · 4c7f92d2
      Andrew Heather authored
      TUT: Alltest: Corrections
      
      See merge request !412
      4c7f92d2
    • Kutalmış Berçin's avatar
      TUT: Alltest: minor corrections (#1956) · bcae4b7a
      Kutalmış Berçin authored and Andrew Heather's avatar Andrew Heather committed
      bcae4b7a
    • Sergio Ferraris's avatar
      BUG: Fixing reading of volumeUpdateMethod · e646218a
      Sergio Ferraris authored and Andrew Heather's avatar Andrew Heather committed
      
      Signed-off-by: default avatarKutalmis Bercin <kutalmis.bercin@esi-group.com>
      e646218a
    • Andrew Heather's avatar
      Merge branch 'feature-PatchFunction1-ACMI' into 'develop' · ba4a675c
      Andrew Heather authored
      Feature add additional scaling to geometric area overlap calculation inside acmi
      
      See merge request !374
      ba4a675c
    • Mattijs Janssens's avatar
      ENH: cyclicACMI: optional scaling with PatchFunction1. · 31ecf0d7
      Mattijs Janssens authored and Andrew Heather's avatar Andrew Heather committed
      Added 'scale' parameter to cyclicACMI. Scales the amount of 'coupledness' (= mask). Allows opening/closing without mesh motion.
      31ecf0d7
    • Andrew Heather's avatar
      Merge branch 'feature-runtime-selection-geometry' into 'develop' · 6ac8e062
      Andrew Heather authored
      Feature runtime selection geometry
      
      See merge request !411
      6ac8e062
    • Mattijs Janssens's avatar
      ENH: primitiveMesh: make geometry calculation runtime selectable · 46dbfabd
      Mattijs Janssens authored and Andrew Heather's avatar Andrew Heather committed
      This adds a 'geometry' scheme section to the system/fvSchemes:
      
      geometry
      {
          type            highAspectRatio;
      }
      
      These 'fvGeometryMethod's are used to calculate
      - deltaCoeffs
      - nonOrthoCoeffs
      etc and can even modify the basic face/cellCentres calculation.
      46dbfabd
  2. Dec 10, 2020
  3. Dec 09, 2020