Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType > Class Template Reference

A small helper type for tying a Tag to an underlying ngp-compatible component.

#include <Component.hpp>

Public Types

using our_t = NgpTaggedComponent<Tag, NgpComponentType>
using view_t = typename NgpComponentType::view_t
using tag_type = Tag
using component_type = NgpComponentType

Public Member Functions

 NgpTaggedComponent ()=default
 NgpTaggedComponent (component_type component)
 NgpTaggedComponent (const NgpTaggedComponent &)=default
 Default copy/move/assign constructors.
 NgpTaggedComponent (NgpTaggedComponent &&)=default
NgpTaggedComponentoperator= (const NgpTaggedComponent &)=default
NgpTaggedComponentoperator= (NgpTaggedComponent &&)=default
decltype(auto) operator() (stk::mesh::FastMeshIndex entity_index) const
template<class EntityExpr>
auto operator() (const impl::EntityExprBase< EntityExpr > &e) const
 Calling operator()(entity_expr) on any accessor will return an AccessorExpr Example: auto v3_accessor = Vector3FieldComponent(v3_field); EntityExpr all_nodes(node_selector, stk::topology::NODE_RANK); auto get_v3_expr = v3_accessor(all_nodes);.
const component_typecomponent () const
component_typecomponent ()
void sync_to_device ()
void sync_to_host ()
void modify_on_device ()
void modify_on_host ()
void clear_host_sync_state ()
void clear_device_sync_state ()

Member Typedef Documentation

◆ our_t

template<typename Tag, typename NgpComponentType>
using mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::our_t = NgpTaggedComponent<Tag, NgpComponentType>

◆ view_t

template<typename Tag, typename NgpComponentType>
using mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::view_t = typename NgpComponentType::view_t

◆ tag_type

template<typename Tag, typename NgpComponentType>
using mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::tag_type = Tag

◆ component_type

template<typename Tag, typename NgpComponentType>
using mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::component_type = NgpComponentType

Constructor & Destructor Documentation

◆ NgpTaggedComponent() [1/4]

template<typename Tag, typename NgpComponentType>
mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::NgpTaggedComponent ( )
default

◆ NgpTaggedComponent() [2/4]

template<typename Tag, typename NgpComponentType>
mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::NgpTaggedComponent ( component_type component)
inline

◆ NgpTaggedComponent() [3/4]

template<typename Tag, typename NgpComponentType>
mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::NgpTaggedComponent ( const NgpTaggedComponent< Tag, NgpComponentType > & )
default

◆ NgpTaggedComponent() [4/4]

template<typename Tag, typename NgpComponentType>
mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::NgpTaggedComponent ( NgpTaggedComponent< Tag, NgpComponentType > && )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename Tag, typename NgpComponentType>
NgpTaggedComponent & mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::operator= ( const NgpTaggedComponent< Tag, NgpComponentType > & )
default

◆ operator=() [2/2]

template<typename Tag, typename NgpComponentType>
NgpTaggedComponent & mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::operator= ( NgpTaggedComponent< Tag, NgpComponentType > && )
default

◆ operator()() [1/2]

template<typename Tag, typename NgpComponentType>
decltype(auto) mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::operator() ( stk::mesh::FastMeshIndex entity_index) const
inline

◆ operator()() [2/2]

template<typename Tag, typename NgpComponentType>
template<class EntityExpr>
auto mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::operator() ( const impl::EntityExprBase< EntityExpr > & e) const
inline

◆ component() [1/2]

template<typename Tag, typename NgpComponentType>
const component_type & mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::component ( ) const
inline

◆ component() [2/2]

template<typename Tag, typename NgpComponentType>
component_type & mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::component ( )
inline

◆ sync_to_device()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::sync_to_device ( )
inline

◆ sync_to_host()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::sync_to_host ( )
inline

◆ modify_on_device()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::modify_on_device ( )
inline

◆ modify_on_host()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::modify_on_host ( )
inline

◆ clear_host_sync_state()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::clear_host_sync_state ( )
inline

◆ clear_device_sync_state()

template<typename Tag, typename NgpComponentType>
void mundy::mesh::NgpTaggedComponent< Tag, NgpComponentType >::clear_device_sync_state ( )
inline