... | ... | @@ -4,19 +4,110 @@ |
|
|
[![upgrade](/icons/chevrons-up.svg "upgrade guide")][upgrade-guide]
|
|
|
[![code](/icons/code.svg "coding patterns")][code-patterns]
|
|
|
|
|
|
***Preview information, subject to change at any time !!!***
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
## Deprecation and Removal
|
|
|
## Input Dictionaries
|
|
|
|
|
|
### Deprecated Models
|
|
|
### New `#message` directive
|
|
|
|
|
|
## Rename
|
|
|
The new `#message` dictionary directive allows reporting of expanded
|
|
|
string content to stderr. This is can be useful to add extract
|
|
|
information into log files, or when debugging more complicated
|
|
|
dictionaries. For example,
|
|
|
```
|
|
|
T
|
|
|
{
|
|
|
solver PBiCG;
|
|
|
preconditioner DILU;
|
|
|
tolerance 1e-10;
|
|
|
relTol 0;
|
|
|
#message "Using solver: $solver"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## Configuration / Environment
|
|
|
### New `#word` directive
|
|
|
|
|
|
## Input Dictionaries
|
|
|
The `#word` dictionary directive can be used as a simple means to
|
|
|
create dictionary names or other entries based on other dictionary
|
|
|
elements. The content is expanded as a string and added as a validated
|
|
|
_word_ into the dictionary. Some examples:
|
|
|
```
|
|
|
#word "some_prefix_solverInfo_${application}"
|
|
|
{
|
|
|
type solverInfo;
|
|
|
libs (utilityFunctionObjects);
|
|
|
...
|
|
|
}
|
|
|
```
|
|
|
Or as a multi-line entry (since it automatically squeezes out non-word
|
|
|
characters):
|
|
|
```
|
|
|
#word {
|
|
|
some_prefix_solverInfo
|
|
|
/* Appended with application name (if defined) */
|
|
|
${application:+_} // Use '_' separator
|
|
|
${application} // The application
|
|
|
}
|
|
|
{
|
|
|
type solverInfo;
|
|
|
libs (utilityFunctionObjects);
|
|
|
...
|
|
|
}
|
|
|
```
|
|
|
|
|
|
### Extended embedded prefix for regular expressions
|
|
|
|
|
|
In addition to the `(?i)` prefix for regular expressions to ignore
|
|
|
upper/lower case when matching, it is now also possible to have a
|
|
|
`(?!)` prefix to negate the matching. Both can also be combined
|
|
|
together. Here are a few examples:
|
|
|
```
|
|
|
// Anything that does not contain "processor":
|
|
|
|
|
|
"(?!).*processor.*"
|
|
|
|
|
|
|
|
|
// Anything that does not start with "wall" or "Wall" etc (ignoring case):
|
|
|
|
|
|
"(?!i)wall.*"
|
|
|
```
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
- The `WM_COMPILE_CONTROL` environment can now be used to direct which
|
|
|
compiler variant to use.
|
|
|
|
|
|
- The command-line specification of `-opt-switch` now properly handles
|
|
|
floating point values too.
|
|
|
|
|
|
|
|
|
## Environment
|
|
|
|
|
|
The ordering of library paths has been modified. Previously OpenFOAM
|
|
|
library paths were set before adding in MPI-specific elements.
|
|
|
However, this was found to mask some libraries.
|
|
|
|
|
|
For the unexpected chance that this updated order negatively affects a
|
|
|
particular installation, here is a side by side of the different
|
|
|
orders.
|
|
|
|
|
|
| New library order | Old library order |
|
|
|
|---------------------|---------------------|
|
|
|
| user-lib (serial) | various 3rd-party |
|
|
|
| site-lib (serial) | foam-lib (mpi) |
|
|
|
| foam-lib (mpi) | ext-lib (mpi) |
|
|
|
| foam-lib (serial) | system mpi-libs |
|
|
|
| ext-lib (mpi) | user-lib (serial) |
|
|
|
| ext-lib (serial) | site-lib (serial) |
|
|
|
| various 3rd-party | foam-lib (serial) |
|
|
|
| system mpi-libs | ext-lib (serial) |
|
|
|
| dummy | dummy |
|
|
|
|
|
|
|
|
|
## Dictionaries
|
|
|
|
|
|
Handle min/span as alternative to min/max for box selections
|
|
|
(searchable box, boxToCell, boxToFace, boxToPoint).
|
|
|
|
|
|
----
|
|
|
|
... | ... | |