-
|
I'm trying to understand exactly where the action of the derivative happens. Does it happen within this call? Lines 810 to 812 in cd4e583 If so, where exactly? I can't see the action happening within the mfem/fem/dfem/qfunction_transform.hpp Lines 172 to 182 in cd4e583 But where is the multiplication of J by the input vector occurring? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Yes
That's the extraction part, yes.
If you're using the dual number approach, the derivative part of the dual (gradient part) is interpolated here and assigned here, by being called on the properly overloaded types here. For example a matrix with it's dual entries is assigned with the direction here. This is a rather long chain of invocations but if you want to plug in your favorite AD library, you can include a header that overloads these functions with the appropriate types and now dFEM is using your favorite backend. Now Dataflow is similar for Enzyme backed operations. |
Beta Was this translation helpful? Give feedback.
Yes
That's the extraction part, yes.
If you're using the dual number approach, the derivative part of the dual (gradient part) is interpolated here and assigned here, by being called on the properly overloaded types here.
For example a matrix with it's dual entries is assigned with the direction here.
This is a rather long chain of invocations but if you want to plug in your favorite AD library, you can include a header that overloads these functions with the appropriate types and now dFEM is using your favorite b…