Skip to content

UBB boundary with equation parser

Michael Kuron requested to merge parserubb into master

This feature was initially suggested by @stewart. It builds upon lbm::UBB to allow

Boundaries
{
   Border
   {
      direction T;
      walldistance -1;
      ParserUBB { x 0.005*y; y 0; z 0; }
   }
}

or even

Boundaries
{
   Border
   {
      direction T;
      walldistance -1;
      ParserUBB { x 0.1*sin(t); y 0; z 0; }
   }
}

instead of only

Boundaries
{
   Border
   {
      direction T;
      walldistance -1;
      UBB { x 0.05; y 0; z 0; }
   }
}

It is quite similar to lbm::DynamicUBB, except that it uses a configuration file parameter instead of a functor. Because the parser does have a slight performance overhead, we only calculate the velocity once and store it if the expression provided is not time-dependent.

This pull request also fixes a few typos in related files and modifies lbm::DynamicUBB to not require an lbm::TimeTracker if the velocity functor does not depend on time.

Edited by Michael Kuron

Merge request reports