You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Up to now, we were allowing expression (using the coordinates) to be passed directly in the weak formulation.
We encountered two major problems with this approach
sometimes an error is raised because we cannot check the linearity/bilinearity of a form.
it may make the code very slow
This issue aims at allowing the definition of a Function, as a container, for two major uses;
by providing its symbolic expression. example,
F=Function((x,y), x**2+y**2)
in which case, F will not appear as a free-variable, and its expression will be provided in TerminalExpr like in the valued Constant case.
by providing its actual implementation, meaning, providing a Python code. In this case, the code must be pyccelized first to check that it can be used in our pipeline with psydac.
The text was updated successfully, but these errors were encountered:
Given that we already have the classes ScalarFunction and VectorFunction, which must belong to a ScalarFunctionSpace or VectorFunctionSpace, I suggest that we use the name UserFunction for this class.
I agree that we need to think about the API. We have different ways of doing it;
Use ScalarFunction and VectorFunction and allow them to have an expression or implemented code,
Rename ScalarFunction and VectorFunction to UndefinedScalarFunction and UndefinedVectorFunction, and use ScalarFunction and VectorFunction with expression/code, in addition to a new object MatrixFunction.
The latter seems to be more appropriate, since the user (does not and) will not call UndefinedScalarFunction and UndefinedVectorFunction constructors, but use element_of.
Up to now, we were allowing expression (using the coordinates) to be passed directly in the weak formulation.
We encountered two major problems with this approach
This issue aims at allowing the definition of a Function, as a container, for two major uses;
in which case,
F
will not appear as a free-variable, and its expression will be provided inTerminalExpr
like in the valuedConstant
case.The text was updated successfully, but these errors were encountered: