Commit Graph

409 Commits

Author SHA1 Message Date
Mark Olesen
47f375887e CONFIG: adjust bin/tools/foamConfigurePaths
- add a '-SPDP' option

- remove the '-archOption' for forcing a '-m32' build on 64-bit
  architecture, which is now considered too obscure.
  Must edit files manually if this option is really required.
2019-06-25 07:48:33 +02:00
Vaggelis Papoutsis
ecc1fb5efb CONTRIB: New adjoint optimisation and tools
A set of libraries and executables creating a workflow for performing
gradient-based optimisation loops. The main executable (adjointOptimisationFoam)
solves the flow (primal) equations, followed by the adjoint equations and,
eventually, the computation of sensitivity derivatives.

Current functionality supports the solution of the adjoint equations for
incompressible turbulent flows, including the adjoint to the Spalart-Allmaras
turbulence model and the adjoint to the nutUSpaldingWallFunction, [1], [2].

Sensitivity derivatives are computed with respect to the normal displacement of
boundary wall nodes/faces (the so-called sensitivity maps) following the
Enhanced Surface Integrals (E-SI) formulation, [3].

The software was developed by PCOpt/NTUA and FOSS GP, with contributions from

Dr. Evangelos Papoutsis-Kiachagias,
Konstantinos Gkaragounis,
Professor Kyriakos Giannakoglou,
Andy Heather

and contributions in earlier version from

Dr. Ioannis Kavvadias,
Dr. Alexandros Zymaris,
Dr. Dimitrios Papadimitriou

[1] A.S. Zymaris, D.I. Papadimitriou, K.C. Giannakoglou, and C. Othmer.
Continuous adjoint approach to the Spalart-Allmaras turbulence model for
incompressible flows. Computers & Fluids, 38(8):1528–1538, 2009.

[2] E.M. Papoutsis-Kiachagias and K.C. Giannakoglou. Continuous adjoint methods
for turbulent flows, applied to shape and topology optimization: Industrial
applications. 23(2):255–299, 2016.

[3] I.S. Kavvadias, E.M. Papoutsis-Kiachagias, and K.C. Giannakoglou. On the
proper treatment of grid sensitivities in continuous adjoint methods for shape
optimization. Journal of Computational Physics, 301:1–18, 2015.

Integration into the official OpenFOAM release by OpenCFD
2019-06-17 12:59:11 +01:00
Mark Olesen
0628bfb017 CONFIG: remove legacy tools, update foamPackRelease/foamUpdateCaseFileHeader 2019-06-06 16:45:57 +02:00
Mark Olesen
c320892aa2 COMP: use '-n' instead of '-np' for runParallel (#1238)
- options '-n' and '-np' are synonymous, but some mpiexec versions may
  only recognize '-n' and not '-np'
2019-06-04 17:51:20 +02:00
Mark Olesen
ca724b2e1a TUT: cleanup postProcessing in planeTransport finiteArea tutorial 2019-06-04 15:11:05 +02:00
Mark Olesen
52df9a2fee TUT: use mpiexec instead of mpirun for msmpi in RunFunctions (#1238) 2019-06-04 11:22:21 +02:00
Mark Olesen
f0f4af16d2 Merge remote-tracking branch 'origin/master' into develop 2019-04-08 12:05:24 +02:00
Mark Olesen
ba26175198 BUG: foamCreateModuleInclude ignores -output option (fixes #1190)
ENH: add -prefs option to pass in a preferences configuration file
2019-02-04 14:48:03 +01:00
Mark Olesen
63d8e7e576 ENH: make use of FOAM_API for environment as well (issue #1158)
- was WM_PROJECT_API in the environment and FOAM_API in dictionaries.

  Make these both consistently FOAM_API.
  This is a non-breaking change, since the value of WM_PROJECT_API
  (added in 1812) and/or FOAM_API is purely informative.
  For the current correct values, always use

    * foamEtcFile -show-api
    * wmakeBuildInfo -show-api
2019-01-10 12:21:19 +01:00
OpenFOAM bot
154029ddd0 BOT: Cleaned up header files 2019-02-06 12:28:23 +00:00
Mark Olesen
dd23155d81 ENH: foamPackRelease tool for creating tar-files with submodule contents 2019-01-26 16:40:33 +01:00
Mark Olesen
b0fafd18fe STYLE: reorganize some legacy and less frequently used components
- older emacs tools into legacy
- old process tools

* Less frequently used scripts into bin/tools/

  - findEmptyMake
  - foamAllHC
  - foamUpdateCaseFileHeader

* Infrastructure file (only used by foamNewApp)

  - wmake/wmakeFilesAndOptions -> wmake/scripts/wmakeFilesAndOptions

* Merge wmakeRoot convenience as 'wmake -pwd'
* Remove obsolete wmakePrintBuild (superseded by wmakeBuildInfo)
* Remove unused mergeHistory file
2019-01-26 11:30:50 +01:00
Mark Olesen
a39ed60625 STYLE: limit foamCreateManpage to documented options
Previously silently accepted '-o' as being equivalent to '-output',
but the former could be misinterpreted meaning an output file (which
it is not) instead of an output directory.
2019-01-26 11:24:52 +01:00
Mark Olesen
bef508dedc ENH: make use of FOAM_API for environment as well (issue #1158)
- was WM_PROJECT_API in the environment and FOAM_API in dictionaries.

  Make these both consistently FOAM_API.
  This is a non-breaking change, since the value of WM_PROJECT_API
  (added in 1812) and/or FOAM_API is purely informative.
  For the current correct values, always use

    * foamEtcFile -show-api
    * wmakeBuildInfo -show-api
2019-01-10 12:21:19 +01:00
Mark Olesen
2c70dfc51d ENH: add pdf option to foamCreateManpage 2018-12-21 16:06:19 +01:00
Mark Olesen
67140f6b07 STYLE: update documentation about central controlDict 2018-12-12 13:38:14 +01:00
Mark Olesen
a66e9c7468 ENH: adjust completion parser
- restrict to text between "^[Oo]ptions:" and "-help-full" to avoid
  potential issues when more text is introduced in the usage output.
2018-12-12 03:07:14 +01:00
Mark Olesen
ee5199cc65 STYLE: adjust manpage layouts 2018-12-10 22:40:53 +01:00
Mark Olesen
38c56c5c6b BUG: command-args overload ignored for etc/config.csh/paraview
- now needs local 'set' instead of 'setenv'

- fixed inconsistency in edit of ParaView_VERSION for csh version
2018-12-10 09:50:46 +01:00
Andrew Heather
069dd14413 Merge branch 'feature-config' into 'develop'
ENH: update handling of versioning and make control (issue #1010)

See merge request Development/OpenFOAM-plus!222
2018-12-06 08:37:48 +00:00
Mark Olesen
2469f698e9 CONFIG: update completion_cache (for csh users)
- now consider options '-hostRoots', '-roots' to be advanced options
  that don't need to be in the cache
2018-12-05 08:50:38 +01:00
Mark Olesen
274bb501bc STYLE: incorrect option name handling for foamCreateModuleInclude
- The usage claimed '-output=', but was using '--output=' for the
  output file.  Rectify to use single dash as documented.
2018-12-04 17:19:25 +01:00
Mark Olesen
6c68c34e1a ENH: update handling of versioning and make control (issue #1010)
- Use the OPENFOAM define (eg, 1806, 1812), which normally corresponds
  to a major release, to define an API level. This remains consistent
  within a release cycle and means that it is possible to manage
  several sub-versions and continue to have a consistent lookup.

  The current API value is updated automatically during the build
  and cached as meta data for later use, even when the wmake/ directory
  is missing or OpenFOAM has not yet be initialized.

  The version information reported on program start or with -help
  usage adjusted to reflect this. The build tag from git now also
  carries the date as being more meaningful to trace than a hash
  value.

- Update etc/bashrc and etc/cshrc to obtain the project directory
  directly instead of via its prefix directory. The value obtained
  corresponds to an absolute path, from which the prefix directory
  can be obtained.

  The combination of these changes removes the reliance on any
  particular directory naming convention.
  For example,

     With an 1812 version (API level):

     WM_PROJECT_VERSION=myVersion

     installed as /some/path/somewhere/openfoam-mySandbox

  This makes the -prefix, -foamInstall, -projectVersion, -version
  values of foamEtcFiles, and similar entries for foamConfigurePaths
  superfluous.

  WM_PROJECT_INST_DIR is no longer required or used

ENH: improve handling and discovery of ThirdParty

- improve the flexibility and reusability of ThirdParty packs to cover
  various standard use cases:

    1. Unpacking initial release tar files with two parallel directories
       - OpenFOAM-v1812/
       - ThirdParty-v1812/

    2. With an adjusted OpenFOAM directory name, for whatever reason
       - OpenFOAM-v1812-myCustom/
       - openfoam-1812-other-info/

    3. Operating with/without ThirdParty directory

  To handle these use cases, the following discovery is used.

  Note PROJECT = the OpenFOAM directory `$WM_PROJECT_DIR`
       PREFIX = the parent directory
       VERSION = `$WM_PROJECT_VERSION`
       API = `$WM_PROJECT_API`, as per `foamEtcFiles -show-api`

   0. PROJECT/ThirdParty
      - for single-directory installations

   1. PREFIX/ThirdParty-VERSION
      - this corresponds to the traditional approach

   2. PREFIX/ThirdParty-vAPI
      - allows for an updated value of VERSION (eg, v1812-myCustom)
        without requiring a renamed ThirdParty. The API value
        would still be '1812' and the original ThirdParty-v1812/
        would be found.

   3. PREFIX/ThirdParty-API
      - this is the same as the previous example, but using an unadorned
        API value. This also makes sense if the chosen version name also
        uses the unadorned API value in its naming
        (eg, 1812-patch190131, 1812.19W03)

   4. PREFIX/ThirdParty-common
      - permits maximum reuse for various versions, but only for
        experienced user who are aware of potential version
        incompatibilities

   Directory existence is checked as is the presence of an Allwmake file
   or a platforms/ directory. This reduces the potential of false positive
   matches and limits the selection to directories that are either
   with sources (has the Allwmake file), or pre-compiled binaries (has
   the platforms/ directory).

   If none of the explored directories are found to be suitable,
   it reverts to using a PROJECT/ThirdParty dummy location since
   this is within the project source tree and can be trusted to
   have no negative side-effects.

ENH: add csh support to foamConfigurePaths

- this removes the previously experienced inconsistence in config file
  contents.

REMOVED: foamExec

- was previously used when switching versions and before the
  bashrc/cshrc discovery logic was added. It is now obsolete.
2018-12-02 18:25:57 +01:00
Mark Olesen
c5beee63f3 ENH: add isTrue function to RunFunctions
- check if the first argument corresponds to an OpenFOAM value for
  'true' (as per Switch).
  True == 't', 'y', 'true', 'yes', 'on'. Everything else is not true.

- when the first argument is '-dict', it initializes the value
  with a query via foamDictionary.
  Eg,
       isTrue -dict mydict -entry parallel

   ==> value=$(foamDictionary mydict -entry parallel -value)
       isTrue $value

   a missing entry is silently treated as false.

ENH: add getNumberOfPatchFaces function in RunFunctions

- simple extraction of nFaces from boundary file for given patch/region
2018-11-30 19:29:49 +01:00
Mark Olesen
9e094f1f07 ENH: relocate WM_PROJECT_SITE default (issue #1050)
- was PREFIX/site, now PROJECT/site

  This avoids several issues when installing OpenFOAM in clusters
  without an intermediate OpenFOAM-specific installation prefix.

  The 'site' directory may have a reserved meaning in these situations
  and it is undesirable to 'leak' upwards into the parent directory to
  look for configuration files.

  Placing the default within the project directory avoids this.
  Alternative locations can be given via the WM_PROJECT_SITE variable.
2018-11-29 18:04:44 +01:00
Mark Olesen
b105f926b1 ENH: improvements to foamConfigurePaths tool (#1010)
- provide edit for adjusting the ThirdParty and fallback site variables.
  This is useful when packaging into a single directory, and possibly
  without any ThirdParty dependencies.

- support '-prefix' (similar to auotconfig) as an alternative to
  '-foamInstall'. Use this prefix to set the prefix directly.
  Bypasses and disables the bash sourcing magic.
2018-11-23 15:30:29 +01:00
Mark Olesen
8f4067015d STYLE: remove shebang from LogFunctions
- file is to be sourced, non-executable.

- remove stray .keep file from tutorial case
2018-11-22 17:31:34 +01:00
Mark Olesen
5187aa13aa ENH: improve output formatting for usage information
- generalize output text wrapping, use for usage notes

- add -help-man option for generating manpage content for any OpenFOAM
  application or solver.

  bin/tools/foamCreateManpage as helper
2018-11-21 19:55:28 +01:00
Mark Olesen
50ccb197dc BUG: fix bad environment parsing in foamCreateModuleInclude
- The changes in foamCleanPath introduced for issues (#1007, #1008)
  include quoted output of the cleaned environment variable.
  When used in foamCreateModuleInclude, the quotes make their way
  into the final environment. Avoid this by using the -sh-env
  eval format instead.

- add environment extraction of MANPATH changes
2018-11-21 11:02:58 +01:00
Mark Olesen
31c21031ea ENH: reduce intermediate text with generating completion options
- more filtering in the sed stage to remove non-essential text.
  Terminate parsing on first appearance of -help-full option.
2018-11-21 10:51:57 +01:00
Mark Olesen
698bf3f61d STYLE: usage order in foamConfigurePaths 2018-11-19 15:38:14 +01:00
Mark Olesen
5029d29ff6 ENH: support -gcc option for foamConfigurePaths
- simplifies things for legacyCompile
2018-11-15 13:55:21 +01:00
Mark Olesen
19d600472a ENH: auto-detect git in tutorials Alltest 2018-10-12 23:29:16 +02:00
Mark Olesen
e0f83938ee ENH: ignore -noFunctionObjects option when disabled
- With argList::noFunctionObjects() we use the logic added in
  4b93333292 (issue #352)

  By removing the '-noFunctionObjects' option, we automatically
  suppress the creation of function-objects via Time (with argList
  as a parameter).
  There is generally no need in these cases for an additional

      runTime.functionObjects().off()  statement

  Use the argList::noFunctionObjects() for more direct configuration
  and reduce unnecessary clutter in the -help information.

  In previous versions, the -noFunctionObjects would have been redundant
  anyhow, so we can also just ignore it now instead.
2018-08-08 09:44:28 +02:00
Mark Olesen
cf7bd82c25 STYLE: fix tools/lib-dir -help output 2018-08-07 11:19:10 +02:00
Andrew Heather
59b4a77d23 TUT: RunFunctions - added protection for user shell customisations 2018-06-26 11:51:02 +01:00
Mark Olesen
831a47b81e CONFIG: eliminate most occurances of outdated FOAM_INST_DIR (issue #444)
- since 1612, FOAM_INST_DIR and foamInstDir longer have any
  special meanings when sourcing the bashrc or cshrc files.
  Thus no need for special treatment in any of the dispatch wrappers.

  Retained FOAM_INST_DIR as (unexported) variable in etc/bashrc,
  just in case people are using patched versions of etc/bashrc
  as part of their installation.

ENH: relax prefix restrictions on foamCreateVideo (issue #904)

- shift the implicit '.' to be part of the default prefix. This allows
  things like "-image myimages_00" to work as might be expected.
2018-06-25 09:56:34 +02:00
Mark Olesen
b68fe2c76d BUG: cleanCase deletes blockMeshDict (fixes #900)
- Don't remove the constant/polyMesh directory if it contains a
  blockMeshDict or blockMeshDict.m4 file. Offer a reminder that
  system/ is the normal place for it.
2018-06-22 14:50:25 +02:00
Mark Olesen
6390c18381 ENH: suppress Info output for some cases (issue #722, #893)
- add additional control via a Foam::infoDetailLevel flag, which is
  supported by a 'DetailLevel' macro.  Eg,

      DetailLevel << "some information" << nl

- When infoDetailLevel is zero, the stdout for all Foam::system() calls
  are also redirected to stderr to prevent child output from
  appearing on the parent.

- close stdin before exec in system call.
2018-06-22 12:26:33 +02:00
Mark Olesen
6ac47e6db5 STYLE: consistent foamDictionary stderr redirect in RunFunctions 2018-06-19 13:56:30 +02:00
Mark Olesen
d637b6eb78 ENH: avoid parse problems caused by #calc directives (fixes #722)
- The additional output generated by #calc directives in the
  controlDict or decomposeParDict causes issues for the RunFunctions
  extraction of 'application' and 'numberOfSubdomains'.

  Avoid by using -disableFunctionEntries, which also has the side-effect
  of disabling '#include'.
2018-06-19 12:38:53 +02:00
Mark Olesen
f0a92b11d1 STYLE: adjust AMI information (issue #860)
- use "min:xxx" for consistency with other outputs

- adjust decompositionInformation as well
2018-06-13 15:26:59 +02:00
Mark Olesen
63d07c9ef8 ENH: adjust AMI information for better log processing (issue #860)
- now report as  "min = XX max = YY average = ZZ"
  instead of as  "min/max/average = XX, YY, ZZ"

  this makes it easier to parse any particular value
  (eg, with foamLog)
2018-06-08 13:43:40 +02:00
Mark Olesen
b4d38ab468 ENH: improve handling of ThirdParty packages
- generalize some of the library extensions (.so vs .dylib).
  Provide as wmake 'sysFunctions'

- added note about unsupported/incomplete system support

- centralize detection of ThirdParty packages into wmake/ subdirectory
  by providing a series of scripts in the spirit of GNU autoconfig.
  For example,

      have_boost, have_readline, have_scotch, ...

  Each of the `have_<package>` scripts will generally provide the
  following type of functions:

      have_<package>          # detection
      no_<package>            # reset
      echo_<package>          # echoing

  and the following type of variables:

      HAVE_<package>          # unset or 'true'
      <package>_ARCH_PATH     # root for <package>
      <package>_INC_DIR       # include directory for <package>
      <package>_LIB_DIR       # library directory for <package>

  This simplifies the calling scripts:

      if have_metis
      then
          wmake metisDecomp
      fi

  As well as reducing clutter in the corresponding Make/options:

      EXE_INC = \
          -I$(METIS_INC_DIR) \
          -I../decompositionMethods/lnInclude

      LIB_LIBS = \
          -L$(METIS_LIB_DIR) -lmetis

  Any additional modifications (platform-specific or for an external build
  system) can now be made centrally.
2018-04-24 14:51:19 +02:00
Mark Olesen
5037634bd1 CONFIG: return instead of exit in lib-dir script
- affected csh users
2018-04-17 11:45:44 +02:00
Mark Olesen
c2da3424bb SUBMODULE: catalyst function object
- now uses current OpenFOAM code level

- added initial catalyst script for insitu processing of overset
2018-04-12 16:25:42 +02:00
Mark Olesen
fe140cd6c5 TUT: test mode not respected (closes #710)
- now replaced 'if ! isTest' with 'if notTest' for most cases.
2018-02-20 12:54:44 +01:00
Mark Olesen
110b00f048 ENH: improved handling of gmp/mpfr library settings (issue #674)
- export library path for gmp/mpfr from CGAL config files.
  This is required when non-system gmp/mpfr libraries are being
  used, but not using a ThirdParty compiler installation.

- automatically handle lib/ vs lib64/ (eg, for central installations)
  for packages such as boost, CGAL, etc. While the ThirdParty
  compilation of these will normally land in lib64/, this may not be
  the case when they are supplied by another means.

- reworked the handling of foamEtcFile and foamCleanPath for less
  clutter in the configuration files.
  Added the bin/tools/lib-dir script to handle logic that is
  too complex to easily manage in csh.
2018-01-11 01:30:23 +01:00
Mark Olesen
9c38ad6ae4 TUT: relocate tutorial log analysis as functions for reuse in modules
- removed some unneeded tutorial files
2017-12-21 14:17:20 +01:00
Mark Olesen
19c3875a14 CONFIG: update tcsh completion_cache to include finiteArea and cfmesh
- include bash completion for paraFoam, and provision for using
  foamEtcFile as well.
2017-12-18 14:26:49 +01:00
Andrew Heather
50d1ac15ef INT: Integration updates in preparation for merge into the develop branch 2017-09-27 09:30:59 +01:00
Hrvoje Jasak
0c64622341 Finite area port, Hrvoje Jasak
- with sphereSurfactantFoam and sphereTransport test case
2017-09-15 12:02:25 +01:00
Mark Olesen
22775693d5 STYLE: adjust comments, indentation 2017-12-17 13:14:05 +01:00
Mark Olesen
1f9bdb4b4f CONFIG: add foamConfigurePaths -kahip* options (closes #666) 2017-12-15 18:04:11 +01:00
Mark Olesen
bc8420e14f STYLE: trailing whitespace, doxygen, error messages from fileOperation 2017-12-13 17:56:34 +01:00
Mark Olesen
5947f9a337 ENH: more succinct output from command-line errors.
- unknown options or missing option values now emit a shorter message
  without the entire usage. This makes it easier to identify the errors
  and is better aligned with the behaviour of GNU system tools.

  ====
     $ simpleFoam -case
     Using: OpenFOAM-plus (see www.OpenFOAM.com)
     Build: plus-01234

     Error: option '-case' requires an argument

     See 'simpleFoam -help' for usage
  ====

- provide for reduced (-help) and full (-help-full) usage information.
  In many cases the reduced usage provided sufficient and easier
  to find the information.

- make -srcDoc an alias for -doc-source

- no warnings about option aliases for future dates.
2017-11-24 10:27:11 +01:00
Andrew Heather
6fd27353e4 STYLE: improve formatting of doxygen filter output 2017-11-10 14:53:18 +01:00
Mark Olesen
24d8c891d7 ENH: add bin/tools/foamCreateModuleInclude
- support when creating modules for OpenFOAM.
  Original source from Ivan Spisso (CINECA) modified by OpenCFD
2017-11-13 07:46:17 +01:00
Mark Olesen
590b319a78 TUT: 'restore0Dir -processors' with filtering of #include files 2017-11-04 14:59:59 +01:00
Mark Olesen
ebd922a32e ENH: support longer doxygen brief descriptions. 2017-11-04 14:26:38 +01:00
Mark Olesen
c792a9d7df TUT: script cleanup, provide cleanCase0 for commonly used operation 2017-10-12 19:20:56 +02:00
Mark Olesen
ce0868106a ENH: use bash associative array for on-the-fly completion (issue #551)
- this reduces the number of functions and allows lazy loading of
  completion options, which makes it easy to quickly add any other
  OpenFOAM application in completion.

  The generic '_of_complete_' function handles (bash) completion for
  any OpenFOAM application. On the first call for any particular
  application, it retrieves the available options from the application
  help output and adds this information to its environmental cache for
  subsequent use.

- Tcsh completion uses the same function via a bash wrapper.
  But since its wrapper is transient, the on-the-fly generation would
  be less efficient. For this case, a pre-generated completion_cache
  can be used, which is generated with

      bin/tools/foamCreateCompletionCache
2017-08-08 13:17:36 +02:00
Mark Olesen
78da7dbd7a CONFIG: additional filenames completion for bash_completion
- handles the case where we are currently completing something that
  does not appear to be an option. For example,

      foamDictionary -expanded someD[TAB]

  should complete the filename, not present more options.
2017-08-03 10:47:42 +02:00
Mark Olesen
c614110d46 ENH: improve bash completion functionality (issue #551)
- use complete -o filenames, dropped -o nospace to make it more responsive.

- restructure completion code to use a unified backend, which makes it easier
  understand, maintain and re-use.

- foamCreateBashCompletions now simply outputs to a stdout, and allows
  quick generation of completion of single applications.

- add -fileHandler completion in anticipation of future changes there.

- relocated as etc/config.s/bash_completion to prevent inadvertently
  having two versions (.com, .org) installed at the same time.
2017-07-31 15:35:40 +02:00
Mark Olesen
c50368ecc6 ENH: add trapFpe and setNaN optimisationSwitch (issue #517)
- allows configuration without an environment variable.
  For compatibility still respect FOAM_SIGFPE and FOAM_SETNAN
  env-variables

- The env-variables are now treated as true/false switch values.
  Previously there was just a check for env exists or not, but this
  can be fairly fragile for a user's environment.
2017-07-05 17:49:37 +02:00
Mark Olesen
02edc5b206 STYLE: tabs and line length in files, very dubious NULL in ensight reader.
- disable automatically upgrading copyrights in files since changes to
  not automatically imply a change in copyright. Eg, fixing a typo in
  comments, or changing a variable from 'loopI' to 'loopi' etc.
2017-06-26 13:43:05 +02:00
Mark Olesen
4971cedc2a CONFIG: cleanup bash completions in unset 2017-06-26 11:09:05 +02:00
Mark Olesen
8005e2b4a2 ENH: add cloneParallelCase function into bin/tools/RunFunctions 2017-06-22 14:45:53 +01:00
Mark Olesen
feab8e94a8 ENH: restrict aliases, completions to interactive shells
- minor cleanup of bash completion script
2017-06-21 08:09:15 +01:00
Mark Olesen
d794f599d8 ENH: added bin/tools/ change-sitedir.sh, change-userdir.sh
- can be useful with compiling additional OpenFOAM programs
  that use FOAM_USER_APPBIN, FOAM_USER_LIBBIN for their build,
  to avoid conflicts with the normal user bin/lib files.

- or to force relocation of FOAM_SITE_APPBIN, FOAM_SITE_LIBBIN
  during packaging of OpenFOAM
2017-04-07 09:10:06 +02:00
Mark Olesen
b970ba0901 ENH: minor improvements to environment
- handle sourcing bashrc with a relative path (issue #383)
- handle sourcing from bash and zsh.
  Still need manual intervention when sourcing dash, sh, or ksh.
- replace grep in etc/cshrc with sed only
- logical instead of physical path for WM_PROJECT_DIR (issue #431).
  Doesn't seem to be possible for csh/tcsh.

  * Continue using physical locations when comparing directories,
    but not for the top-level FOAM_INST_DIR, WM_PROJECT_DIR.

- relocate WM_CC, WM_CXX overrides from etc/config.*/compiler
  to etc/config.*/settings to ensure that they are left untouched
  when etc/config.sh/compiler is sourced while making third-party
  packages (eg, gcc, llvm, CGAL).

- provide fallback FOAM_TUTORIALS setting in RunFunctions

STYLE: remove "~OpenFOAM" fallback as being too rare, non-obvious
2017-03-20 08:57:12 +01:00
Mark Olesen
31555346cc Merge remote-tracking branch 'origin/master' into develop 2017-03-10 13:30:39 +01:00
Mark Olesen
973cf0397d CONFIG: provide foamConfigurePaths -mpi option
- makes it easier to switch between mpi implementations (eg, openmpi, intelmpi etc)

- add comment about compiler setting for KNL
2017-02-16 09:14:17 +01:00
Mark Olesen
957635200a ENH: build into build/ directory instead of platforms/ (issue #312)
- makes it slightly easier when packaging various binaries, or when
  building packages for installation via modules etc.
2017-02-10 20:30:15 +01:00
Mark Olesen
0067c9e369 STYLE: avoid spurious messages when cloning cases
- either (or both) of 0/, 0.orig/ may exist, so error messages about
  one of them being missing is a bit misleading
2017-02-09 13:41:48 +01:00
Andrew Heather
9e8031f285 BUG: RunFunctions - updated retrieval of nProcs to suppress warning when no system/deomposeParDict 2017-02-03 12:27:50 +00:00
Mark Olesen
b04305bb43 ENH: add small tool for listing the available EXE targets (based on git grep)
Example use

    foamGrepExeTargets           > targets-available
    foamGrepExeTargets -appbin   > targets-created

    diff -uw targets-available targets-created
2016-12-23 09:13:44 +01:00
Mark Olesen
9b1fcb0f73 ENH: increase coverage for foamConfigurePaths script
- can adjust many more values
2016-12-16 08:17:38 +01:00
Mark Olesen
3f362fd7ec CONFIG: add config files for VTK, MESA
- sometimes used for off-screen rendering.
  Only add to library-path when they are actually available
2016-12-16 08:17:29 +01:00
Andrew Heather
c0f44ac4f3 MRG: Integrated foundation code 2016-12-12 12:10:29 +00:00
Mark Olesen
58fad3ab79 BUG: snappyHexMesh with -decomposeParDict option (issue #265)
- only occurs in combination with distributedTriSurfaceMesh in snappy.

- workaround similar to that previously used for surfaceRedistributePar
  (issue #60).

Minor adjustment of incompressible motorBike tutorial to detect use of
distributedTriSurfaceMesh.
2016-11-24 12:02:11 +01:00
Henry Weller
985abe023e wmake: Declare all makefiles to be specifically GNU make files 2016-11-13 15:18:09 +00:00
Mark Olesen
c7d7cbca28 BUG: foamConfigurePaths -foamInstall fails (related to issue #280)
- relied on 'export' keyword, which was removed in commit b844867112

--
ENH: foamConfigurePaths support for additional items:

    -label 32|64            specify label size
    -system name            specify 'system' compiler to be used
    -thirdParty name        specify 'ThirdParty' compiler to be used

    -boost ver              specify boost_version
    -boostArchPath dir      specify BOOST_ARCH_PATH
    -cgal ver               specify cgal_version
    -cgalArchPath dir       specify CGAL_ARCH_PATH
    -clang ver              specify clang_version for ThirdParty Clang
    -cmake ver              specify cmake_version
    -fftw ver               specify fffw_version
    -fftwArchPath dir       specify FFTW_ARCH_PATH
    -metis ver              specify METIS_VERSION
    -metisArchPath dir      specify METIS_ARCH_PATH
2016-11-09 14:38:15 +01:00
Henry Weller
9efe94407f foamLog: Added clockTime
Patch contributed by Paul Edwards, Intel
2016-11-04 14:33:47 +00:00
Mark Olesen
be2a4319bd STYLE: rationalize tutorial CleanFunctions (related to issue #279)
- include cleanup of other postProcessing directories:
  * Ensight, EnSight, ensightWrite

- don't need to remove files that cleanSnappyFiles already removed:
  * 0/cellLevel 0/pointLevel

- bundle removal of constant/ items together:
  * constant/cellDecomposition constant/polyMesh constant/tetDualMesh
2016-10-28 13:23:13 +02:00
Mark Olesen
9ab0406b47 BUG: tutorial RunFunctions ignore non-standard decomposeParDict (issue #279) 2016-10-28 13:22:19 +02:00
Andrew Heather
af81184ecf MRG: Resolve conflict with latest foundation merge 2016-10-26 15:37:15 +01:00
Andrew Heather
4408d47075 MRG: Merged develop branch and resolved conflicts 2016-10-19 13:33:00 +01:00
Mark Olesen
03b5d5c108 BUG: foamCleanPath problem if path contains @ (closes #264)
- Can occur with some user names, or mounted paths.
  Resolve by using '?' for the separation character.

  Since '?' is a shell-glob, it is highly unlikely to occur appear in
  filenames.  Additionally, it is not a meta-character in standard sed,
  nor in the GNU extension (which uses '\?').
2016-10-18 09:52:37 +02:00
Henry Weller
12d0707b84 foamCleanTutorials: Simplified cleaning the mesh by removing the constant/polyMesh directory 2016-10-13 15:02:32 +01:00
Mark Olesen
ba6f59a79e ENH: provide isParallel test in RunFunctions
- allows writing Allrun scripts that can be easily tested in
  serial or parallel
2016-10-07 18:00:00 +02:00
Andrew Heather
bd0e982d99 MRG: Initial commit after latest Foundation merge 2016-09-30 11:16:28 +01:00
Henry Weller
abb4d67134 pre-commit-hook: Added checks for multi-level template parameters and 'NULL'
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2267

   1. Spaced ending of multi-level template parameters are not allowed, such as:

       List<List<scalar> >

     which instead should be:

       List<List<scalar>>

   2. The use of the 'NULL' macro should be replaced by 'nullptr'
2016-09-25 18:43:50 +01:00
Andrew Heather
1fbcb686ff STYLE: Consistency updates 2016-09-23 16:52:46 +01:00
Andrew Heather
9fbd612672 GIT: Initial state after latest Foundation merge 2016-09-20 14:49:08 +01:00
Henry Weller
0a2c2d76de RunFunctions: corrected typo $SUFFIX -> $LOG_SUFFIX
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2176
2016-08-02 21:32:38 +01:00
Mark Olesen
a95ca8293a BUG: runParallel ignores presence of log file (closes #203)
- was a small typo
2016-08-02 18:31:50 +02:00
Henry Weller
1d57269680 TDACChemistryModel: New chemistry model providing Tabulation of Dynamic Adaptive Chemistry
Provides efficient integration of complex laminar reaction chemistry,
combining the advantages of automatic dynamic specie and reaction
reduction with ISAT (in situ adaptive tabulation).  The advantages grow
as the complexity of the chemistry increases.

References:
    Contino, F., Jeanmart, H., Lucchini, T., & D’Errico, G. (2011).
    Coupling of in situ adaptive tabulation and dynamic adaptive chemistry:
    An effective method for solving combustion in engine simulations.
    Proceedings of the Combustion Institute, 33(2), 3057-3064.

    Contino, F., Lucchini, T., D'Errico, G., Duynslaegher, C.,
    Dias, V., & Jeanmart, H. (2012).
    Simulations of advanced combustion modes using detailed chemistry
    combined with tabulation and mechanism reduction techniques.
    SAE International Journal of Engines,
    5(2012-01-0145), 185-196.

    Contino, F., Foucher, F., Dagaut, P., Lucchini, T., D’Errico, G., &
    Mounaïm-Rousselle, C. (2013).
    Experimental and numerical analysis of nitric oxide effect on the
    ignition of iso-octane in a single cylinder HCCI engine.
    Combustion and Flame, 160(8), 1476-1483.

    Contino, F., Masurier, J. B., Foucher, F., Lucchini, T., D’Errico, G., &
    Dagaut, P. (2014).
    CFD simulations using the TDAC method to model iso-octane combustion
    for a large range of ozone seeding and temperature conditions
    in a single cylinder HCCI engine.
    Fuel, 137, 179-184.

Two tutorial cases are currently provided:
    + tutorials/combustion/chemFoam/ic8h18_TDAC
    + tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC

the first of which clearly demonstrates the advantage of dynamic
adaptive chemistry providing ~10x speedup,

the second demonstrates ISAT on the modest complex GRI mechanisms for
methane combustion, providing a speedup of ~4x.

More tutorials demonstrating TDAC on more complex mechanisms and cases
will be provided soon in addition to documentation for the operation and
settings of TDAC.  Also further updates to the TDAC code to improve
consistency and integration with the rest of OpenFOAM and further
optimize operation can be expected.

Original code providing all algorithms for chemistry reduction and
tabulation contributed by Francesco Contino, Tommaso Lucchini, Gianluca
D’Errico, Hervé Jeanmart, Nicolas Bourgeois and Stéphane Backaert.

Implementation updated, optimized and integrated into OpenFOAM-dev by
Henry G. Weller, CFD Direct Ltd with the help of Francesco Contino.
2016-07-17 15:13:54 +01:00
Henry Weller
6a2a5cbd24 foamListSourceFiles: keep .orig files 2016-06-24 22:32:22 +01:00
Henry Weller
3990302a54 Updated and simplified the Doxygen documentation 2016-06-20 21:20:28 +01:00
Henry Weller
3f169f9045 bin/tools/doxyFilter.sed: Corrected 2016-06-17 18:59:09 +01:00
Henry Weller
6a53ed41ba Doxygen documentation: Standardized the 'See also' heading 2016-06-17 17:31:34 +01:00
Henry Weller
b3f3562d3c Doxygen documentation: Use the standard 'Usage' rather than the '\heading....' 2016-06-17 17:22:24 +01:00
Henry Weller
de4c018b19 Doxygen documentation: Remove superfluous linebreak 2016-06-17 17:13:39 +01:00
Henry Weller
5b38cb4862 bin/tools/RunFunctions: Simplified using the foamDictionary -value option 2016-06-10 20:24:12 +01:00
Henry Weller
2f84769710 bin/tools/RunFunctions: Updated to use foamDictionary 2016-06-10 18:02:26 +01:00
Henry Weller
f2d9959bae foamConfigurePaths: Updated foamInstall option 2016-06-06 19:32:01 +01:00
Henry Weller
dd281330bc foamInfoExec: Time listing functionality superseded by foamListTimes 2016-06-03 19:23:27 +01:00
Mark Olesen
820f809bd5 STYLE: cleanup handling of 0.org directories (in parallel)
- remove duplicate 0/ files from the repository
2016-06-29 13:34:36 +02:00
Mark Olesen
dd60cfcd06 FIX: provide restore0Dir function to fix issue #159
- makes it easier to ensure the correct behaviour, consistently
2016-06-27 16:33:55 +02:00
Henry Weller
891b2a0f8b functionObjects: Moved functionObjects namespace documentation into functionObject.H 2016-05-04 13:56:36 +01:00
Henry Weller
80c3bcff48 bin/tools/foamConfigurePaths: foamCompiler -> WM_COMPILER_TYPE 2016-03-09 09:05:07 +00:00
Henry Weller
4bc77e6aff Sprucing up the tutorials folder and adding -dict to "collapseEdges"
Patch provided by Bruno Santos
Resolves patch application request http://www.openfoam.org/mantisbt/view.php?id=2015
2016-03-06 19:06:44 +00:00
Prashant
e0a0f94e6f ENH: added -decomposeParDict as argument to getNumberOfProcessors() 2016-05-06 11:25:11 +05:30
Andrew Heather
48caf88af9 STYLE: corrected header 2016-04-29 15:47:35 +01:00
andy
fd9d801e2d GIT: Initial commit after latest foundation merge 2016-04-25 11:40:48 +01:00
Henry Weller
350d03246e scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
Henry Weller
cfa7678ba8 foamRunTutorials: Rationalized support for the "-test" option
RunFunctions: Added "isTest()" argument parsing function
tutorials: Updated Allrun scripts to propagate the "-test" option
tutorials: Removed the lower Alltest scripts and updated the Allrun to
    use the "isTest()" function to handle test-specific operation
2016-02-15 15:49:05 +00:00
Henry Weller
45253d6204 Update header 2016-02-10 16:20:46 +00:00
Henry Weller
f9d61d7e3c Updates for changes to etc/config structure 2016-02-10 16:20:19 +00:00
Henry Weller
1507178a1b RunFunctions::getNumberOfProcessors: Added support for files included in decomposeParDict 2016-02-08 10:51:49 +00:00
Henry Weller
b3d47f0423 bin/tools/RunFunctions: runParallel now obtains the number of processors from numberOfSubdomains
in decomposeParDict.

This default number of processors may be overridden by the new "-np"
option to runParallel which must be specified before the application
name e.g.:

runParallel -np 4 pisoFoam
2016-01-27 14:19:25 +00:00
Henry Weller
392310db22 Update headers 2016-01-11 13:02:52 +00:00
Henry Weller
f19f48132e Consistently indent continuation backslashes in macro definitions 2016-01-11 13:00:56 +00:00
Henry Weller
1eca13aeb9 CleanFunctions: Check the constant directory exists before cleaning it 2016-01-09 23:09:08 +00:00
Andrew Heather
89ac7ff40b ENH: Doxygen updates 2016-01-08 12:37:24 +00:00
mattijs
2e7d7d1609 BUG: RunFunctions: missing fi. Renamed variable. Updated Allrun scripts 2015-12-08 14:35:02 +00:00
Andrew Heather
3f55f752fc GIT: Resolve conflict with upstream merge from Foundation 2015-12-07 17:07:20 +00:00
Henry Weller
26a2c1778a RunFunctions: Added -append and -overwrite options
-append: append to log file
-overwrite: overwrite log file
Original patch provided by Timm Severin
Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1919
2015-11-19 15:48:06 +00:00
mattijs
916dcb8685 ENH: parallel: overhaul of parallel mapping
- redistributePar to have almost (complete) functionality of decomposePar+reconstructPar
- low-level distributed Field mapping
- support for mapping surfaceFields (including flipping faces)
- support for decomposing/reconstructing refinement data
2015-11-17 15:05:05 +00:00
mattijs
09dec5263b ENH: foamLog: added support for multi-region 2015-11-17 14:56:13 +00:00
Henry Weller
55f7d50be1 FreeBSD sed: ensure that a "-e" option immediately follows "-i" 2015-11-14 17:03:03 +00:00
Henry Weller
d98136e122 tutorials: Removed unnecessary "boundary" files 2015-11-13 20:05:37 +00:00
Henry Weller
b5e94ef311 foamListSourceFiles: Filter debian build directory if it is at the top-level 2015-10-26 17:56:38 +00:00
Henry Weller
3b9a90f249 Update header 2015-10-22 15:00:25 +01:00
Henry Weller
0917175ed8 foamListSourceFiles: Do not filter-out "debian" directories.
Fix proposed by Bruno Santos.
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1770
2015-10-22 14:59:06 +01:00
Henry
6a4fd43ee0 Update header 2015-05-14 12:13:22 +01:00
Henry
e734952e79 bin/tools/RunFunctions: handle tabs and spaces
when retrieving entries from dictionaries

Patch supplied by Timm Severin
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1689
2015-05-14 12:11:44 +01:00
Henry
8628ef2fea Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
Henry
156fd4dcc6 Doxygen: Updated scripts and css files to process OpenFOAM header files more robustly
and generate cleaner HTML files.
Thanks to Bruno Santos for various fixes and improvements.
Resolves bug reports:
    http://www.openfoam.org/mantisbt/view.php?id=1516
    http://www.openfoam.org/mantisbt/view.php?id=1016
    http://www.openfoam.org/mantisbt/view.php?id=1512
2015-02-09 18:06:35 +00:00
Henry
e1c2251176 bin/tools/doxyFilter.sed: Add support for 2-line Class name:
Class
     Foam::className
 =>
 \\class Foam::className

 Class
     Foam::namespaceName::
         className
 =>
 \\class Foam::namespaceName::className

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=252
2015-01-29 08:16:59 +00:00
william
167249c7b3 BUG: removed unnecessary sed processing from cleanCase 2014-10-16 16:02:50 +01:00
mattijs
f8d44081f9 ENH: foamLog.db: add AMI weights 2014-01-28 12:51:18 +00:00
laurence
14496baaa7 COMP: foamConfigurePaths given scotch version and path arguments 2013-06-17 14:51:07 +01:00
andy
fdad025bdf ENH: pre-commit-hook - not checking *.gz files 2013-06-04 14:55:00 +01:00
andy
0a8bae1f54 ENH: Adding changes from 2.2.0 2013-03-06 15:41:24 +00:00
andy
9326bdb112 ENH: Updated pre-commit hook 2013-02-22 10:56:27 +00:00
mattijs
572d7551b9 ENH: foamConfigurePaths: added paraviewVersion option 2013-01-07 14:47:27 +00:00
laurence
16ef46f6d7 ENH: foamRunTutorials: Enable Alltest files to be read as well as Allrun
foamRunTutorials now accepts two arguments:
-test : Preferentially execute Alltest, if present, over Allrun.
-skipFirst : Skip Alltest/Allrun at the top level to prevent recursion

Added because some tutorials are not dependent on controlDict and take
a long time.
2012-12-13 16:07:15 +00:00
laurence
6b24bdd45d ENH: Add getNumberOfProcessors() to bin/tools/RunFunctions 2012-12-11 16:28:39 +00:00