|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
The congruent reduced operator Op := D^T M (D - L M D).
#include <linear_ops.hpp>
Classes | |
| struct | Workspace |
Public Types | |
| using | backend_t = Backend |
| using | linear_op_dt_storage_t = ::mundy::storage<LinearOpDT> |
| using | linear_op_m_storage_t = ::mundy::storage<LinearOpM> |
| using | linear_op_d_storage_t = ::mundy::storage<LinearOpD> |
| using | linear_op_l_storage_t = ::mundy::storage<LinearOpL> |
Public Member Functions | |
| CongruentMixedReducedOp (backend_t, LinearOpDT &&DT, LinearOpM &&M, LinearOpD &&D, LinearOpL &&L) | |
| Backend | backend () const |
| const auto & | DT () const |
| const auto & | M () const |
| const auto & | D () const |
| const auto & | L () const |
| size_t | domain_size () const |
| size_t | range_size () const |
| auto | make_domain_vector () const |
| auto | make_range_vector () const |
| auto | make_workspace (bool committed=false) const |
| template<class DxVector, class MDxVector, class LMDxVector, class DTWorkspace, class MWorkspace, class DWorkspace, class LWorkspace> | |
| auto | make_workspace (DxVector &&dx, MDxVector &&mdx, LMDxVector &&lmdx, DTWorkspace &&dt_workspace, MWorkspace &&m_workspace, DWorkspace &&d_workspace, LWorkspace &&l_workspace, bool committed=false) const |
| template<class XVector, class YVector, class WorkspaceType> | |
| void | apply (const XVector &x, YVector &y, WorkspaceType &workspace) const |
| template<class XVector, class YVector> | |
| void | apply (const XVector &x, YVector &y) const |
| using mundy::CongruentMixedReducedOp< Backend, LinearOpDT, LinearOpM, LinearOpD, LinearOpL >::backend_t = Backend |
| using mundy::CongruentMixedReducedOp< Backend, LinearOpDT, LinearOpM, LinearOpD, LinearOpL >::linear_op_dt_storage_t = ::mundy::storage<LinearOpDT> |
| using mundy::CongruentMixedReducedOp< Backend, LinearOpDT, LinearOpM, LinearOpD, LinearOpL >::linear_op_m_storage_t = ::mundy::storage<LinearOpM> |
| using mundy::CongruentMixedReducedOp< Backend, LinearOpDT, LinearOpM, LinearOpD, LinearOpL >::linear_op_d_storage_t = ::mundy::storage<LinearOpD> |
| using mundy::CongruentMixedReducedOp< Backend, LinearOpDT, LinearOpM, LinearOpD, LinearOpL >::linear_op_l_storage_t = ::mundy::storage<LinearOpL> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |