![]() |
MFEM v4.9.0
Finite element discretization library
|
Go to the source code of this file.
Namespaces | |
| namespace | mfem |
| namespace | mfem::future |
| namespace | mfem::future::detail |
Functions | |
| template<typename qf_param_ts , typename qfunc_t , std::size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::call_qfunction (qfunc_t &qfunc, const std::array< DeviceTensor< 2 >, num_fields > &input_shmem, DeviceTensor< 2 > &residual_shmem, const int &rs_qp, const int &num_qp, const int &q1d, const int &dimension, const bool &use_sum_factorization) |
| Call a qfunction with the given parameters. | |
| template<typename qf_param_ts , typename qfunc_t , std::size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::call_qfunction_derivative_action (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, const int &das_qp, const int &num_qp, const int &q1d, const int &dimension, const bool &use_sum_factorization) |
| Call a qfunction with the given parameters and compute it's derivative action. | |
| template<typename qf_param_ts , typename qfunc_t , std::size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::detail::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<typename qf_param_ts , typename qfunc_t , std::size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::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 &q1d, const int &dimension, const bool &use_sum_factorization) |
| Call a qfunction with the given parameters and compute it's derivative represented by the Jacobian on each quadrature point. | |
| template<size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::detail::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<size_t num_fields> | |
| MFEM_HOST_DEVICE void | mfem::future::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 &q1d, const int &dimension, const bool &use_sum_factorization) |
| Apply the quadrature point data cache (qpdc) to a vector (usually a direction). | |
| template<typename qfunc_t , typename args_ts , size_t num_args> | |
| MFEM_HOST_DEVICE void | mfem::future::apply_kernel (DeviceTensor< 1, real_t > &f_qp, const qfunc_t &qfunc, args_ts &args, const std::array< DeviceTensor< 2 >, num_args > &u, int qp) |
| template<typename qfunc_t , typename arg_ts , size_t num_args> | |
| MFEM_HOST_DEVICE void | mfem::future::apply_kernel_native_dual (DeviceTensor< 1, real_t > &f_qp, const qfunc_t &qfunc, arg_ts &args, const std::array< DeviceTensor< 2 >, num_args > &u, const std::array< DeviceTensor< 2 >, num_args > &v, const int &qp_idx) |
| template<typename func_t , typename... arg_ts> | |
| MFEM_HOST_DEVICE auto | mfem::future::qfunction_wrapper (const func_t &f, arg_ts &&...args) |
| template<typename qfunc_t , typename arg_ts , std::size_t... Is, typename inactive_arg_ts > | |
| MFEM_HOST_DEVICE auto | mfem::future::fwddiff_apply_enzyme_indexed (qfunc_t &qfunc, arg_ts &&args, arg_ts &&shadow_args, std::index_sequence< Is... >, inactive_arg_ts &&inactive_args, std::index_sequence<>) |
| template<typename qfunc_t , typename arg_ts , std::size_t... Is, typename inactive_arg_ts , std::size_t... Js> | |
| MFEM_HOST_DEVICE auto | mfem::future::fwddiff_apply_enzyme_indexed (qfunc_t &qfunc, arg_ts &&args, arg_ts &&shadow_args, std::index_sequence< Is... >, inactive_arg_ts &&inactive_args, std::index_sequence< Js... >) |
| template<typename qfunc_t , typename arg_ts , typename inactive_arg_ts > | |
| MFEM_HOST_DEVICE auto | mfem::future::fwddiff_apply_enzyme (qfunc_t &qfunc, arg_ts &&args, arg_ts &&shadow_args, inactive_arg_ts &&inactive_args) |
| template<typename qfunc_t , typename arg_ts , size_t num_args> | |
| MFEM_HOST_DEVICE void | mfem::future::apply_kernel_fwddiff_enzyme (DeviceTensor< 1, real_t > &f_qp, qfunc_t &qfunc, arg_ts &args, arg_ts &shadow_args, const std::array< DeviceTensor< 2 >, num_args > &u, const std::array< DeviceTensor< 2 >, num_args > &v, int qp_idx) |