Skip to content
  • Mark OLESEN's avatar
    ENH: add exprField function object · 8d4ad043
    Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
    - provides a simple means of defining/modifying fields. For example,
    
      ```
      <name1>
      {
          type    exprField;
          libs    (fieldFunctionObjects);
          field   pTotal;
    
          expression  "p + 0.5*(rho*magSqr(U))";
          dimensions  [ Pa ];
      }
      ```
      It is is also possible to modify an existing field.
      For example, to modify the previous one.
      ```
      <name2>
      {
          type    exprField;
          libs    (fieldFunctionObjects);
          field   pTotal;
          action  modify;
    
          // Static pressure only in these regions
          fieldMask
          #{
              (mag(pos()) < 0.05) && (pos().y() > 0)
           || cellZone(inlet)
          #};
          expression  "p";
      }
      ```
    
      To use as a simple post-process calculator, simply avoid storing the
      result and only generate on write:
      ```
      <name2>
      {
          store            false;
          executionControl none;
          writeControl     writeTime;
          ...
      }
      ```
    8d4ad043