|
MRMD 0.4.0
Multi Resolution Molecular Dynamics
|
Data structure for storing information about atoms on the host and the device. More...
#include <data/Atoms.hpp>
Public Types | |
| enum | Props { POS = 0 , VEL = 1 , FORCE = 2 , TYPE = 3 , MASS = 4 , CHARGE = 5 , RELATIVE_MASS = 6 } |
| using | DataTypes = Cabana::MemberTypes< real_t[DIMENSIONS], real_t[DIMENSIONS], real_t[DIMENSIONS], idx_t, real_t, real_t, real_t > |
| using | AtomsT = Cabana::AoSoA< DataTypes, typename DEVICE_TYPE::memory_space, VECTOR_LENGTH > |
| using | pos_t = typename AtomsT::template member_slice_type< POS > |
| using | vel_t = typename AtomsT::template member_slice_type< VEL > |
| using | force_t = typename AtomsT::template member_slice_type< FORCE > |
| using | type_t = typename AtomsT::template member_slice_type< TYPE > |
| using | mass_t = typename AtomsT::template member_slice_type< MASS > |
| using | charge_t = typename AtomsT::template member_slice_type< CHARGE > |
| using | relative_mass_t = typename AtomsT::template member_slice_type< RELATIVE_MASS > |
Public Member Functions | |
| KOKKOS_FORCEINLINE_FUNCTION pos_t | getPos () const |
| KOKKOS_FORCEINLINE_FUNCTION vel_t | getVel () const |
| KOKKOS_FORCEINLINE_FUNCTION force_t | getForce () const |
| KOKKOS_FORCEINLINE_FUNCTION type_t | getType () const |
| KOKKOS_FORCEINLINE_FUNCTION charge_t | getMass () const |
| KOKKOS_FORCEINLINE_FUNCTION charge_t | getCharge () const |
| KOKKOS_FORCEINLINE_FUNCTION relative_mass_t | getRelativeMass () const |
| void | setForce (const real_t &val) const |
| void | sliceAll () |
| KOKKOS_INLINE_FUNCTION auto | size () const |
| KOKKOS_INLINE_FUNCTION auto | numSoA () const |
| KOKKOS_INLINE_FUNCTION auto | arraySize (size_t s) const |
| void | resize (size_t size) |
| void | permute (LinkedCellList &linkedCellList) const |
| KOKKOS_INLINE_FUNCTION void | copy (const idx_t dst, const idx_t src) const |
| void | removeGhostAtoms () |
| auto & | getAoSoA () const |
| GeneralAtoms (const idx_t numAtoms) | |
| template<class DEVICE_TYPE_SRC , bool DEVICE_SRC> | |
| GeneralAtoms (const GeneralAtoms< DEVICE_TYPE_SRC, DEVICE_SRC > &atoms) | |
Public Attributes | |
| idx_t | numLocalAtoms = 0 |
| idx_t | numGhostAtoms = 0 |
Data structure for storing information about atoms on the host and the device.
| DEVICE_TYPE | memory location, HostType or DeviceType |
| DEVICE | artificial parameter to distinguish classes if HostType==DeviceType for CPU backends |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::AtomsT = Cabana::AoSoA<DataTypes, typename DEVICE_TYPE::memory_space, VECTOR_LENGTH> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::charge_t = typename AtomsT::template member_slice_type<CHARGE> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::DataTypes = Cabana::MemberTypes<real_t[DIMENSIONS], real_t[DIMENSIONS], real_t[DIMENSIONS], idx_t, real_t, real_t, real_t> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::force_t = typename AtomsT::template member_slice_type<FORCE> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::mass_t = typename AtomsT::template member_slice_type<MASS> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::pos_t = typename AtomsT::template member_slice_type<POS> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::relative_mass_t = typename AtomsT::template member_slice_type<RELATIVE_MASS> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::type_t = typename AtomsT::template member_slice_type<TYPE> |
| using mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::vel_t = typename AtomsT::template member_slice_type<VEL> |
|
inlineexplicit |
|
explicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| idx_t mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::numGhostAtoms = 0 |
| idx_t mrmd::data::impl::GeneralAtoms< DEVICE_TYPE, DEVICE >::numLocalAtoms = 0 |