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
Our push-forward operators take a callable function in the logical domain and an evaluation grid in the logical coordinates, and return the values of the push-forwarded function on the corresponding physical grid. To this end they can take advantage of several optimizations as shown in file psydac/core/field_evaluation_kernels.py.
These kernels are used by the high-level class Pushforward in module psydac.feec.pushforward: the __init__ constructor takes a fairly generic evaluation grid, and the __call__ method evaluates the correct push-forward (H1, H-curl, H-div, or L2) of multiple fields based on the kind parameter of their spaces.
Unfortunately, the functions push_* in module psydac.feec.pull_push provide an alternative interface which is less efficient, but extensively used across Psydac. In particular, these functions are based on the __call__ method of FemField objects, which in turn calls the method eval_field of FemSpace.
In general eval_field is implemented in the subclasses of FemSpace for a single-point evaluation, and it is mostly in pure Python.
The text was updated successfully, but these errors were encountered:
Our push-forward operators take a callable function in the logical domain and an evaluation grid in the logical coordinates, and return the values of the push-forwarded function on the corresponding physical grid. To this end they can take advantage of several optimizations as shown in file
psydac/core/field_evaluation_kernels.py
.These kernels are used by the high-level class
Pushforward
in modulepsydac.feec.pushforward
: the__init__
constructor takes a fairly generic evaluation grid, and the__call__
method evaluates the correct push-forward (H1, H-curl, H-div, or L2) of multiple fields based on thekind
parameter of their spaces.Unfortunately, the functions
push_*
in modulepsydac.feec.pull_push
provide an alternative interface which is less efficient, but extensively used across Psydac. In particular, these functions are based on the__call__
method ofFemField
objects, which in turn calls the methodeval_field
ofFemSpace
.In general
eval_field
is implemented in the subclasses ofFemSpace
for a single-point evaluation, and it is mostly in pure Python.The text was updated successfully, but these errors were encountered: