|
| template<typename qf_param_ts , typename qfunc_t , std::size_t num_fields> |
| MFEM_HOST_DEVICE void | call_qfunction_derivative (qfunc_t &qfunc, const std::array< DeviceTensor< 2 >, num_fields > &input_shmem, const std::array< DeviceTensor< 2 >, num_fields > &shadow_shmem, DeviceTensor< 2 > &residual_shmem, DeviceTensor< 5 > &qpdc, const DeviceTensor< 1, const real_t > &itod, const int &das_qp, const int &q) |
| |
| template<size_t num_fields> |
| MFEM_HOST_DEVICE void | apply_qpdc (DeviceTensor< 3 > &fhat, const std::array< DeviceTensor< 2 >, num_fields > &shadow_shmem, const DeviceTensor< 5, const real_t > &qpdc, const DeviceTensor< 1, const real_t > &itod, const int &q) |
| | Apply the quadrature point data cache (qpdc) to a vector (usually a direction) on quadrature point q.
|
| |
| template<typename lambda , std::size_t... i> |
| constexpr void | for_constexpr (lambda &&f, std::integral_constant< std::size_t, i >... Is) |
| |
| template<std::size_t... n, typename lambda , typename... arg_types> |
| constexpr void | for_constexpr (lambda &&f, std::integer_sequence< std::size_t, n... >, arg_types... args) |
| |
template<size_t num_fields>
Apply the quadrature point data cache (qpdc) to a vector (usually a direction) on quadrature point q.
The qpdc consists of compatible data to be used for integration with a test operator, e.g. Jacobians of a linearization from a FE operation with a trial function including integration weights and necessesary transformations.
- Parameters
-
| fhat | the qpdc applied to a vector in shadow_memory. |
| shadow_shmem | the shadow shared memory. |
| qpdc | the quadrature point data cache holding the resulting Jacobians on each quadrature point. |
| itod | inputs trial operator dimension. If input is dependent the value corresponds to the spatial dimension, otherwise a zero indicates non-dependence on the variable. |
| q | the current quadrature point index. |
Definition at line 388 of file qfunction_apply.hpp.