Hi all,
I want to have the flexibility of
Functions::Parsed<dim>, i.e., allowing the user to pass a string expression for a function at runtime, but with the performance of
Functions<dim>.
I understand that Functions::Parsed is slow because a) muParser overhead and string parsing b) neither I nor the compiler can make optimisations at compile time.
I have complicated time dependent vector valued expressions that are slowing the overall assembly at boundaries by a factor of 2x. Even for simple expressions, error calculations between an exact Functions::Parsed and a numerical solution can be 6x slower than if I were to use a Functions<dim> but that doesn't take a big chunk of the code runtime anyway so it's okay.
Wondering if there is something else in the library or if there is a workaround to this? Was thinking about caching the Functions::Parsed values in a table maybe?
thanks and best,
Abbas