Commit Graph

23896 Commits

Author SHA1 Message Date
mattijs
15d6febeff COMP: chtMultiRegion: avoid excess unused references. See #1726. 2020-06-22 11:55:08 +01:00
Mark Olesen
676a904c99 BUG: flipped cellZones compat setting for foamToEnsight (#1579)
STYLE: reword text for -excludePatches
2020-06-22 11:19:34 +02:00
Mark Olesen
8526e44884 ENH: dlLibraryTable InfoProxy output (#1735) 2020-06-22 10:22:45 +02:00
Mark Olesen
5b6969fce3 TUT: fluxSummary surfaces as list (inadvertently changed in 5982a1aa) 2020-06-22 08:44:46 +02:00
Mark Olesen
80a4d53885 SUBMODULE: release candidates for avalanche, external-solver 2020-06-19 13:22:28 +02:00
Mark Olesen
7065593b3f BUG: regression in fluxSummary cellZoneAndDirection (fixes #1736)
- related to change c3571b7357 (does not affect 1912 or older).

  Remnant check for data() should have used valid() method instead.

TUT: add fluxSummary cellZoneAndDirection to angledDuct/implicit
2020-06-19 12:52:00 +02:00
Mark Olesen
2dcbc09b3e ENH: add foamHasLibrary to test for availability of libraries (#1735)
- For some cases it can be helpful to test if additional libraries can
  be properly resolved.

  This can be useful in scripts to test for additional capability:

      if foamHasLibrary geometricVoF
      then ...
      fi

  But also directly from the command-line to help resolve configuration
  issues:

      foamHasLibrary -verbose petscFoam

  Could not load "petscFoam"
  libpetsc.so.3.13: cannot open shared object file: No such file or directory
2020-06-19 12:52:00 +02:00
Mark Olesen
420be3f9ab CONFIG: improve handling of in-source PETSC installations
- when installed in-source, use PETSC_ARCH to find additional include
  directory and the correct library directory

CONFIG: bump to new hypre version

- add -hint option for have_adios2, have_hypre, have_petsc
2020-06-19 12:44:14 +02:00
Mark Olesen
6194548871 ENH: split off modules/list-modules script
STYLE: string quoting when echoing paths in wmake have_* scripts

STYLE: more consistency in foamRunTutorials, foamCleanTutorials options
2020-06-19 12:43:33 +02:00
Mark Olesen
a4864eb1a8 TUT: relocate flange.ans -> tutorials/resources/geometry
- makes it easier to copy/duplicate the case
2020-06-19 10:09:09 +02:00
Andrew Heather
86cd5400ce Merge branch 'bug-GL1732' into 'develop'
BUG: provide setup backward-compat for actuationDiskSourceCoeffs

See merge request Development/openfoam!372
2020-06-18 21:59:49 +01:00
Kutalmis Bercin
0445b00e02 BUG: provide setup backward-compat for actuationDiskSourceCoeffs (#1732) 2020-06-18 21:59:25 +01:00
Andrew Heather
c7584e1a92 Merge branch 'gitlab-issues.kbc' into 'develop'
ENH: prevent natural-logarithm domain errors in nut wall functions

See merge request Development/openfoam!371
2020-06-18 21:57:06 +01:00
Kutalmis Bercin
7668f381c8 ENH: prevent natural-logarithm domain errors in nut wall functions (#1730) 2020-06-18 21:56:59 +01:00
Andrew Heather
d576ab6e6f Merge branch 'feature-curle-fo' into 'develop'
ENH: Updated Curle function object

See merge request Development/openfoam!373
2020-06-18 21:56:16 +01:00
Andrew Heather
7d4cdc4f8c TUT: Updated vortexShed case wrt latest Curle FO updates 2020-06-18 21:55:44 +01:00
Andrew Heather
1251b82175 ENH: ensightSurfaceReader updates re: replacing file name masks 2020-06-18 21:55:44 +01:00
Andrew Heather
ceed53775d ENH: Updated Curle function object
The function object now computes the acoustic pressure at a list of user
specified locations, or from the face centres of a user-supplied surface.
When operating on an input surface, the output can be written back to the
surface or as a list of point values.

Example of function object specification:

    Curle1
    {
        type            Curle;
        libs            ("libfieldFunctionObjects.so");
        ...
        patches         (surface1 surface2);
        c0              330;

        // Input - either points or surface

        input           points;
        observerPositions ((0 0 0)(1 0 0));

        //input           surface;
        //surface         "inputSurface.obj"

        // Output - either points or surface
        output          points;

        //output          surface;
        //surfaceType     ensight;
    }

    Where the entries comprise:
        Property     | Description                  | Required | Default value
        type         | Type name: Curle             | yes      |
        p            | Pressure field name          | no       | p
        patches      | Sound generation patch names | yes      |
        c0           | Reference speed of sound     | yes      |
        input        | Input type                   | yes      |
        observerPositions | List of observer positions (x y z) | no      |
        surface      | Input surface file name      | no       |
        output       | Output type                  | yes      |
        surfaceType  | Output surface type          | no       |
2020-06-18 21:55:44 +01:00
Mark Olesen
9e311151e3 CONFIG: bump API to 2006 (pre-release) 2020-06-17 16:39:40 +02:00
Andrew Heather
e8e36db320 Merge branch 'feature-fsi-lbf' into 'develop'
lumped point motion using local linear basic functions (#1341)

See merge request Development/openfoam!271
2020-06-17 15:15:50 +01:00
Mark Olesen
7db868b509 TUT: bridge using external lumped point motion (#1341)
- see its accompanying README for additional setup instructions
2020-06-17 15:16:27 +02:00
Mark Olesen
b0136d835e ENH: lumped point motion using local linear basic functions (#1341)
- 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
2020-06-17 15:16:27 +02:00
Mark Olesen
17ea2c544d TUT: include geometricVoF library for interface sampling 2020-06-17 10:55:24 +02:00
OpenFOAM bot
01ec92fd35 GIT: remove leading/trailing blank lines, trailing whitespace 2020-06-17 10:46:26 +02:00
Mark Olesen
5982a1aab4 STYLE: update tutorials
- use simpler decomposeParDict in tutorials, several had old
  'boilerplate' decomposeParDict

- use simpler libs () format

- update surface sampling to use dictionary format
2020-06-17 10:11:33 +02:00
Kutalmis Bercin
5225697542 GIT: add missing function object examples for MachNo, log, pow 2020-06-17 08:54:05 +01:00
Mark Olesen
bcb6e834f8 SUBMODULE: release candidates for avalanche, external-solver 2020-06-17 00:15:22 +02:00
Mark Olesen
b1182ee8c2 DOC: update modules/README.md and Cross-Compile-mingw information
COMP: provide modules/Allwmake script

- unified entry point with -prefix=... handling (#1721)
2020-06-17 00:01:22 +02:00
Mark Olesen
c1c995d3fe COMP: fix some linkage issues for mingw
COMP: automatically add FlexLexer.h to MSwindows OSspecific

- useful, frequently forgotten step for cross-compiling
2020-06-16 23:56:41 +02:00
Mark Olesen
ddfe9ae2a3 COMP: adjustments for SPDP, int64 2020-06-16 21:30:12 +02:00
Andrew Heather
5adb11f3d3 Merge branch 'release-corrections.kbc' into 'develop'
DOC-STYLE: various release changes

See merge request Development/openfoam!370
2020-06-16 13:50:22 +01:00
Kutalmis Bercin
4d295c84a0 DOC-STYLE: various release changes 2020-06-16 10:51:44 +01:00
Mark Olesen
39c2f16eca DOC: add note about openmpi versions, update Requirements 2020-06-15 17:32:49 +02:00
Mark Olesen
458cec60b1 ENH: support time-varying Tref for externalCoupledTemperature (#1729) 2020-06-15 15:41:05 +02:00
Mark Olesen
c21c5e070a COMP: relocate compressibleInterIsoFoam (#1726)
- place under compressibleInterFoam to ensure that the library
  dependency on VoFphaseCompressibleTurbulenceModels is satisfied
2020-06-15 14:16:52 +02:00
Mark Olesen
8b191109b3 COMP: default copy construct for MatrixBlock 2020-06-15 12:39:41 +02:00
Mark Olesen
e83145ce2b SUBMODULE: (final) release candidate for OpenQBMM 2020-06-15 12:04:33 +02:00
Mark Olesen
a32ee1b406 COMP: adjust build order for sampling
- build prior to transportModels, which includes geometricVoF and its
  own form of surface sampling (interface sampling)
2020-06-15 11:56:19 +02:00
Mark Olesen
7dab7f91d8 STYLE: update comments for DynamicList 2020-06-15 11:42:48 +02:00
Andrew Heather
9b9a070b82 Merge branch 'feature-adjoint-updates' into 'develop'
Updates for the adjoint optimisation library

See merge request Development/openfoam!368
2020-06-12 15:04:48 +01:00
Andrew Heather
d6104bd497 INT: Minor integration updates 2020-06-12 15:01:09 +01:00
Vaggelis Papoutsis
c344520474 TUT: updated/cleaned the optimisation tutorials
- 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 efbc9fc99.
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
1404b5ffe0 ENH: Homogenised the dynamicMeshDict entries for NURBS3DVolume
(old keywords are still valid, throwing a compatibility warning)

- using (U,V,W) instead of (X1,X2,X3)
- using confine instead of bound
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
6ee7bc66c5 ENH: added a general framework for normalization and setting targets
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))
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
4d67819a2c ENH: changes related to when the objective value is written
- 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.
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
01dfdc4794 ENH: objective: added function to output a blank line
to be used in separating instantaneous objective values of different
optimisation cycles.
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
dcc039ce80 ENH: Added the nutSqr surrogate noise objective
which qualitatively quantifies noise through a volume integral of the squared
turbulent viscosity.
2020-06-12 13:27:55 +01:00
Vaggelis Papoutsis
ad76df43c3 ENH: refactoring and cleaning of optimisationType
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.
2020-06-12 13:27:54 +01:00
Vaggelis Papoutsis
1eaa54ed2c ENH: Added optional suffix to the file names
holding the sensitivity maps
2020-06-12 13:27:54 +01:00
Vaggelis Papoutsis
2048959bb4 ENH: volBSplinesBase: added function returning box ID
given a global control point ID
2020-06-12 13:27:54 +01:00