- Jun 04, 2019
-
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- need additional tolerance when comparing time values to those stored in the fieldDict (both less and equal operators)
-
Andrew Heather authored
ENH: improved handling of regIOobject deletion (#1276) See merge request OpenFOAM-plus!263
-
Andrew Heather authored
ENH: FO: Lamb vector and its divergence See merge request OpenFOAM-plus!245
-
kuti authored
- If applied: This commit allows the user to compute: - the Lamb vector (https://en.wikipedia.org/wiki/Lamb_vector), - on-the-fly or via postProcess utility - for a given volVectorField (one per functionObject entry) - Why: The motivation is the literature-reported quantitative connection between the Lamb vector (divergence) and the spatially localised instantaneous fluid motions, e.g. high- and low-momentum fluid parcels, which possess considerable level of capacity to affect the rate of change of momentum, and to generate forces such as drag. - Verification: - Smooth-wall plane channel flow case (Moser et al. 1999) by # Curtis et al. (2008) On the Lamb vector divergence in Navier–Stokes flows, doi:10.1017/S0022112008002760 - What's next: - The verification-show case - Extended code guide entry titled "Lamb vector"
-
Mark OLESEN authored
- remove registration and ownership before deleting a regIOobject from within objectRegistry to avoid possible recursion. - regIOobject destructor now removes any registered object from registry regardless if ownedByRegistry or not. It also removes always removes the ownership flag to avoid possible recursion. - the regIOobject::checkOut() now unconditionally clears file watches. These will only be there if the object is registered (a no-op for an unregistered object), but this additional safety is needed to manage case where the registration has been modified elsewhere (eg, by the objectRegistry).
-
Mark OLESEN authored
Feature complex cleanup See merge request OpenFOAM-plus!264
-
Mark OLESEN authored
-
Kutalmış Berçin authored
ENH: define addition/subtraction operations for scalar and complex - required since construct complex from scalar is explicit - additional tests in Test-complex
-
- Jun 03, 2019
-
-
Mark OLESEN authored
- can additionally relinquish the registered state as well as ownedByRegistry state
-
- Jun 04, 2019
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- when a single (non-regex) source field is specified, it is now possible to specify the result name without any '@@' substitution tokens
-
- Jun 03, 2019
-
-
mattijs authored
-
mattijs authored
-
Mark OLESEN authored
- forces c++DBUG='-DFULLDEBUG -g -O0' for the compilation, to allow localized debugging during development without file editing and while retaining the WM_COMPILE_OPTION (eg, Opt) Note that switching between 'wmake' and 'wmake -debug' will not cause existing targets to be rebuilt. As before, these are driven by the dependencies. An intermediate wclean may thus be required.
-
Mark OLESEN authored
- in case an individual geometry element has render issues in parallel - additional debug information
-
- May 31, 2019
-
-
Mark OLESEN authored
-
Andrew Heather authored
-
Andrew Heather authored
-
- May 23, 2019
-
-
Andrew Heather authored
Calculates and outputs the pressure fields p_rgh and ph_rgh based on the option that was previously hard-coded in the fireFoam solver Usage Example of function object specification to calculate hydrostatic pressure: \verbatim hydrostaticPressure1 { type hydrostaticPressure; libs ("libinitialisationFunctionObjects.so"); ... } \endverbatim Where the entries comprise: \table Property | Description | Required | Default value log | Log to standard output | no | yes p_rgh | Name of p_rgh field | no | p_rgh ph_rgh | Name of ph_rgh field | no | ph_rgh pRef | Name of pressure ref field | no | pRef rho | Name of density field | no | rho U | Name of velocity field | no | U gh | Name of gravity*height volume field | no | gh ghf | Name of gravity*height surface field | no | ghf nCorrectors | Number of correctors when solving ph_rgh | no | 5 \endtable Note Calculates the hydrostatic pressure on construction/re-initialisation; the execute and write functions are not used.
-
- May 30, 2019
-
-
Mark OLESEN authored
- error trapped by C++11 regex
-
Mark OLESEN authored
- was missing range setting for the colour lookup table
-
- May 29, 2019
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- generalize identity matrix constructors for non-scalar types - add constructors using labelPair for the row/column sizing information. For a SquareMatrix, this provides an unambiguous parameter resolution. - reuse assignment operators STYLE: adjust matrix comments
-
- May 23, 2019
-
-
Kutalmış Berçin authored
-
Kutalmış Berçin authored
- additional operators: + compound assignment + inner product: operator& + outer product: operator^ - additional functions: - MatrixBlock methods: subColumn, subRow, subMatrix - L2 norms for matrix or column - trace, diag, round, transpose - MatrixBlock methods: col(), block() are deprecated since their access patterns with (size, offset) are unnatural/unwieldy. - verifications by test/Matrix/Test-Matrix
-
- May 31, 2019
-
-
Mark OLESEN authored
- make parallelProjection default (was previously mandatory)
-
Mark OLESEN authored
-
Mark OLESEN authored
-
- Feb 03, 2019
-
-
mattijs authored
- add vsmall pTraits for scalars - report the solve scalar in buildArch information
-
- May 28, 2019
-
-
Mark OLESEN authored
-
Mark OLESEN authored
- for most functions the input type and return type are identical, but MinMax, sumMag are not.
-
- Feb 10, 2019
-
-
mattijs authored
- previously returned scalar, but now return pTraits cmptType which is the same as scalarProduct / outerProduct type.
-
- May 27, 2019
-
-
Mark OLESEN authored
- eg pTraits<complex>::zero, pTraits<complex>::one instead. This is consistent with other primitives such as scalar, label etc.
-
Mark OLESEN authored
- make names consistent with lduMatrix A*x => Matrix::Amul AT*x => Matrix::Tmul (same as x*A)
-
Mark OLESEN authored
-
Mark OLESEN authored
-
Mark OLESEN authored
- reduces installation clutter, allows easier cross-referencing - remove older deprecated scripts (foamDebugSwitches, foamGraph*)
-
- May 25, 2019
-
-
Mark OLESEN authored
- when windows portable executables (.exe or .dll) files are loaded, their dependent libraries not fully loaded. For OpenFOAM this means that the static constructors which are responsible for populating run-time selection tables are not triggered, and most of the run-time selectable models will simply not be available. Possible Solution ================= Avoid this problem by defining an additional library symbol such as the following: extern "C" void libName_Load() {} in the respective library, and tag this symbol as 'unresolved' for the linker so that it will attempt to resolve it at run-time by loading the known libraries until it finds it. The link line would resemble the following: -L/some/path -llibName -ulibName_Load Pros: - Allows precise control of forced library loading Cons: - Moderately verbose adjustment of some source files (even with macro wrapping for the declaration). - Adjustment of numerous Make/options files and somewhat ad hoc in nature. - Requires additional care when implementing future libraries and/or applications. - This is the solution taken by the symscape patches (Richard Smith) Possible Solution ================= Avoid this problem by simply force loading all linked libraries. This is done by "scraping" the information out of the respective Make/options file (after pre-processing) and using that to define the library list that will be passed to Foam::dlOpen() at run-time. Pros: - One-time (very) minimal adjustment of the sources and wmake toolchain - Automatically applies to future applications Cons: - Possibly larger memory footprint of application (since all dependent libraries are loaded). - Possible impact on startup time (while loading libraries) - More sensitive to build failures. Since the options files are read and modified based on the existence of the dependent libraries as a preprocessor step, if the libraries are initially unavailable for the first attempt at building the application, the dependencies will be inaccurate for later (successful) builds. - This is solution taken by the bluecape patches (Bruno Santos) Adopted Solution ================ The approach taken by Bruno was adopted in a modified form since this appears to be the most easily maintained. Additional Notes ================ It is always possible to solve this problem by defining a corresponding 'libs (...)' entry in the case system/controlDict, which forces a dlOpen of the listed libraries. This is obviously less than ideal for large-scale changes, but can work to resolve an individual problem. The peldd utility (https://github.com/gsauthof/pe-util), which is also packaged as part of MXE could provide yet another alternative. Like ldd it can be used to determine the library dependencies of binaries or libraries. This information could be used to define an additional load layer for Windows.
-