ENH: provide dictionary access for coded BCs etc (#1922)

- in some cases, additional dictionary inputs are useful for extending
  the input parameters or functionality of dynamic coded conditions.

  Typically this can be used to provide a simple set of dictionary
  inputs that are used to drive specific code, but allows changing the
  inputs without causing a recompilation.

  Accessed with this type of code:
  ```
  const dictionary& dict = this->codeContext();
  ```

boundary conditions and function objects:

* specify an additional codeContext dictionary entry:
  ```
  codeContext
  {
      ...
  }
  ```

PatchFunction1:

* The code context dictionary is simply the dictionary used to specify
  the PatchFunction1 coefficients.

  To replicated persistant data, use local member static data.
  Eg,
  ```
  code
  #{
      // Persistent (Member) Data
      static autoPtr<Function1<scalar>> baseVel;
      static autoPtr<Function1<vector>> baseDir;
      ...
  #}
  ```

fvOptions:

* currently not applicable
This commit is contained in:
Mark Olesen
2021-06-01 11:27:45 +02:00
parent b0891824fa
commit b59ae32d68
18 changed files with 233 additions and 19 deletions

View File

@ -107,16 +107,6 @@ ${typeName}PatchFunction1${FieldType}
}
${typeName}PatchFunction1${FieldType}::
${typeName}PatchFunction1${FieldType}
(
const ${typeName}PatchFunction1${FieldType}& rhs
)
:
parent_bctype(rhs)
{}
${typeName}PatchFunction1${FieldType}::
${typeName}PatchFunction1${FieldType}
(