In the idea of adding a reactive physics, a way to parse functions based on any variables needed to be added. For example, when a species A reacts at a rate of -dA/dt = k*A, the source term for A depends on A itself.
Parsed functions in deal.II didn't allow to parse functions unless they depended only on x,y,z,t.
Description of the solution
A new custom class based on the deal.II implementation of parsed functions (using muParser) is added to Lethe.
This class has the template parameter n_component. It requires that classes are instantiated with n_component expressions as well.
Physics that will use this class will have the responsibility of interfacing between their variables of interest and the class ParsedFunctionCustom itself.
When a different number of variables/expressions will be needed by a solver, this solver will have the responsibility of introducing dummy variables or expressions. This solution might change if required.
How Has This Been Tested?
[core/custom_parsed_functions] Unit test of value and gradient functions.
Documentation
Not at the moment, except for doxygen.
Future changes
A reactive auxiliary physics will be implemented using this class.
Description of the problem
Description of the solution
n_component
. It requires that classes are instantiated withn_component
expressions as well.How Has This Been Tested?
Documentation
Future changes