ENH: additional #word and #message dictionary directives (#2276)
- use `#word` to concatenate, expand content with the resulting string being treated as a word token. Can be used in dictionary or primitive context. In dictionary context, it fills the gap for constructing dictionary names on-the-fly. For example, ``` #word "some_prefix_solverInfo_${application}" { type solverInfo; libs (utilityFunctionObjects); ... } ``` The '#word' directive will automatically squeeze out non-word characters. In the block content form, it will also strip out comments. This means that this type of content should also work: ``` #word { some_prefix_solverInfo /* Appended with application name (if defined) */ ${application:+_} // Use '_' separator ${application} // The application } { type solverInfo; libs (utilityFunctionObjects); ... } ``` This is admittedly quite ugly, but illustrates its capabilities. - use `#message` to report expanded string content to stderr. For example, ``` T { solver PBiCG; preconditioner DILU; tolerance 1e-10; relTol 0; #message "using solver: $solver" } ``` Only reports on the master node.
Showing
- applications/test/dictionary/testDict 49 additions, 8 deletionsapplications/test/dictionary/testDict
- src/OpenFOAM/Make/files 4 additions, 2 deletionssrc/OpenFOAM/Make/files
- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C 134 additions, 2 deletionssrc/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H 14 additions, 1 deletionsrc/OpenFOAM/db/IOstreams/Sstreams/ISstream.H
- src/OpenFOAM/db/dictionary/functionEntries/README 13 additions, 4 deletionssrc/OpenFOAM/db/dictionary/functionEntries/README
- src/OpenFOAM/db/dictionary/functionEntries/calcEntry/calcEntry.H 2 additions, 2 deletions...nFOAM/db/dictionary/functionEntries/calcEntry/calcEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.H 2 additions, 2 deletions...OAM/db/dictionary/functionEntries/codeStream/codeStream.H
- src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C 8 additions, 94 deletions...nFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C
- src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.H 3 additions, 2 deletions...nFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C 14 additions, 0 deletions.../dictionary/functionEntries/functionEntry/functionEntry.C
- src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.H 9 additions, 0 deletions.../dictionary/functionEntries/functionEntry/functionEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/ifEntry/ifEntry.C 4 additions, 2 deletionssrc/OpenFOAM/db/dictionary/functionEntries/ifEntry/ifEntry.C
- src/OpenFOAM/db/dictionary/functionEntries/ifEntry/ifEntry.H 2 additions, 2 deletionssrc/OpenFOAM/db/dictionary/functionEntries/ifEntry/ifEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/ifeqEntry/ifeqEntry.H 2 additions, 2 deletions...nFOAM/db/dictionary/functionEntries/ifeqEntry/ifeqEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.H 2 additions, 2 deletions...db/dictionary/functionEntries/includeEntry/includeEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.H 2 additions, 2 deletions...tionary/functionEntries/includeEtcEntry/includeEtcEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H 2 additions, 2 deletions...onary/functionEntries/includeFuncEntry/includeFuncEntry.H
- src/OpenFOAM/db/dictionary/functionEntries/inputMode/inputMode.H 2 additions, 2 deletions...nFOAM/db/dictionary/functionEntries/inputMode/inputMode.H
- src/OpenFOAM/db/dictionary/functionEntries/message/messageDirective.C 145 additions, 0 deletions.../db/dictionary/functionEntries/message/messageDirective.C
- src/OpenFOAM/db/dictionary/functionEntries/message/messageDirective.H 101 additions, 0 deletions.../db/dictionary/functionEntries/message/messageDirective.H
Please register or sign in to comment