ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
CellStructure::AoSoA_pack Struct Reference

#include <aosoa_pack.hpp>

+ Collaboration diagram for CellStructure::AoSoA_pack:

Public Types

using PositionViewType = Kokkos::View< double *[3], Kokkos::LayoutRight, Kokkos::HostSpace >
 
using VelocityViewType = Kokkos::View< double *[3], Kokkos::LayoutRight, Kokkos::HostSpace >
 
using DirectorViewType = Kokkos::View< double *[3], Kokkos::LayoutRight, Kokkos::HostSpace >
 
using ImageViewType = Kokkos::View< int *[3], Kokkos::LayoutRight, Kokkos::HostSpace >
 
using ChargeViewType = Kokkos::View< double *, Kokkos::HostSpace >
 
using DipmViewType = Kokkos::View< double *, Kokkos::HostSpace >
 
using IdViewType = Kokkos::View< int *, Kokkos::HostSpace >
 
using TypeViewType = Kokkos::View< int *, Kokkos::HostSpace >
 
using MassViewType = Kokkos::View< double *, Kokkos::HostSpace >
 
using FlagsViewType = Kokkos::View< uint8_t *, Kokkos::HostSpace >
 

Public Member Functions

 AoSoA_pack ()=default
 
 AoSoA_pack (std::size_t num_particles)
 
HOST_ONLY_QUALIFIER void resize (std::size_t num_particles)
 
template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER std::span< T, Nget_span_at (Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > const &view, std::size_t i) const
 
template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER Utils::Vector< T, Nget_vector_at (Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > const &view, std::size_t i) const
 
template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER void set_vector_at (Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > &view, std::size_t i, Utils::Vector< T, N > const &value)
 
void reset_any_exclusion ()
 
bool has_any_exclusion () const
 
void mark_any_exclusion ()
 
DEVICE_QUALIFIER void set_has_exclusion (std::size_t i, bool value)
 
DEVICE_QUALIFIER bool has_exclusion (std::size_t i) const
 

Public Attributes

PositionViewType position
 
VelocityViewType velocity
 
DirectorViewType director
 
ImageViewType image
 
ChargeViewType charge
 
DipmViewType dipm
 
IdViewType id
 
TypeViewType type
 
MassViewType mass
 
FlagsViewType flags
 
std::atomic< boolany_exclusion {false}
 

Detailed Description

Definition at line 36 of file aosoa_pack.hpp.

Member Typedef Documentation

◆ ChargeViewType

using CellStructure::AoSoA_pack::ChargeViewType = Kokkos::View<double *, Kokkos::HostSpace>

Definition at line 45 of file aosoa_pack.hpp.

◆ DipmViewType

using CellStructure::AoSoA_pack::DipmViewType = Kokkos::View<double *, Kokkos::HostSpace>

Definition at line 46 of file aosoa_pack.hpp.

◆ DirectorViewType

using CellStructure::AoSoA_pack::DirectorViewType = Kokkos::View<double *[3], Kokkos::LayoutRight, Kokkos::HostSpace>

Definition at line 41 of file aosoa_pack.hpp.

◆ FlagsViewType

using CellStructure::AoSoA_pack::FlagsViewType = Kokkos::View<uint8_t *, Kokkos::HostSpace>

Definition at line 50 of file aosoa_pack.hpp.

◆ IdViewType

using CellStructure::AoSoA_pack::IdViewType = Kokkos::View<int *, Kokkos::HostSpace>

Definition at line 47 of file aosoa_pack.hpp.

◆ ImageViewType

using CellStructure::AoSoA_pack::ImageViewType = Kokkos::View<int *[3], Kokkos::LayoutRight, Kokkos::HostSpace>

Definition at line 43 of file aosoa_pack.hpp.

◆ MassViewType

using CellStructure::AoSoA_pack::MassViewType = Kokkos::View<double *, Kokkos::HostSpace>

Definition at line 49 of file aosoa_pack.hpp.

◆ PositionViewType

using CellStructure::AoSoA_pack::PositionViewType = Kokkos::View<double *[3], Kokkos::LayoutRight, Kokkos::HostSpace>

Definition at line 37 of file aosoa_pack.hpp.

◆ TypeViewType

using CellStructure::AoSoA_pack::TypeViewType = Kokkos::View<int *, Kokkos::HostSpace>

Definition at line 48 of file aosoa_pack.hpp.

◆ VelocityViewType

using CellStructure::AoSoA_pack::VelocityViewType = Kokkos::View<double *[3], Kokkos::LayoutRight, Kokkos::HostSpace>

Definition at line 39 of file aosoa_pack.hpp.

Constructor & Destructor Documentation

◆ AoSoA_pack() [1/2]

CellStructure::AoSoA_pack::AoSoA_pack ( )
default

◆ AoSoA_pack() [2/2]

CellStructure::AoSoA_pack::AoSoA_pack ( std::size_t  num_particles)
inline

Definition at line 65 of file aosoa_pack.hpp.

References resize(), and stream.

Member Function Documentation

◆ get_span_at()

template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER std::span< T, N > CellStructure::AoSoA_pack::get_span_at ( Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > const view,
std::size_t  i 
) const
inline

Definition at line 114 of file aosoa_pack.hpp.

References stream.

◆ get_vector_at()

template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER Utils::Vector< T, N > CellStructure::AoSoA_pack::get_vector_at ( Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > const view,
std::size_t  i 
) const
inline

◆ has_any_exclusion()

bool CellStructure::AoSoA_pack::has_any_exclusion ( ) const
inline

Definition at line 170 of file aosoa_pack.hpp.

References any_exclusion.

◆ has_exclusion()

DEVICE_QUALIFIER bool CellStructure::AoSoA_pack::has_exclusion ( std::size_t  i) const
inline

Definition at line 189 of file aosoa_pack.hpp.

References flags, and stream.

Referenced by EnergyKernel::operator()(), ForcesKernel::operator()(), and PressureKernel::operator()().

◆ mark_any_exclusion()

void CellStructure::AoSoA_pack::mark_any_exclusion ( )
inline

Definition at line 179 of file aosoa_pack.hpp.

References any_exclusion, and stream.

Referenced by commit_particle().

◆ reset_any_exclusion()

void CellStructure::AoSoA_pack::reset_any_exclusion ( )
inline

Definition at line 166 of file aosoa_pack.hpp.

References any_exclusion.

◆ resize()

HOST_ONLY_QUALIFIER void CellStructure::AoSoA_pack::resize ( std::size_t  num_particles)
inline

Definition at line 68 of file aosoa_pack.hpp.

References charge, dipm, director, flags, image, mass, position, stream, type, and velocity.

Referenced by AoSoA_pack().

◆ set_has_exclusion()

DEVICE_QUALIFIER void CellStructure::AoSoA_pack::set_has_exclusion ( std::size_t  i,
bool  value 
)
inline

Definition at line 185 of file aosoa_pack.hpp.

References flags, and stream.

Referenced by commit_particle().

◆ set_vector_at()

template<typename array_layout , typename T , std::size_t N>
DEVICE_QUALIFIER void CellStructure::AoSoA_pack::set_vector_at ( Kokkos::View< T *[N], array_layout, Kokkos::HostSpace > &  view,
std::size_t  i,
Utils::Vector< T, N > const value 
)
inline

Definition at line 140 of file aosoa_pack.hpp.

References stream.

Referenced by commit_particle().

Member Data Documentation

◆ any_exclusion

std::atomic<bool> CellStructure::AoSoA_pack::any_exclusion {false}

Definition at line 164 of file aosoa_pack.hpp.

Referenced by has_any_exclusion(), mark_any_exclusion(), and reset_any_exclusion().

◆ charge

◆ dipm

DipmViewType CellStructure::AoSoA_pack::dipm

◆ director

DirectorViewType CellStructure::AoSoA_pack::director

◆ flags

FlagsViewType CellStructure::AoSoA_pack::flags

Definition at line 61 of file aosoa_pack.hpp.

Referenced by commit_particle(), has_exclusion(), resize(), and set_has_exclusion().

◆ id

IdViewType CellStructure::AoSoA_pack::id

◆ image

ImageViewType CellStructure::AoSoA_pack::image

Definition at line 55 of file aosoa_pack.hpp.

Referenced by commit_particle(), and resize().

◆ mass

MassViewType CellStructure::AoSoA_pack::mass

Definition at line 60 of file aosoa_pack.hpp.

Referenced by commit_particle(), and resize().

◆ position

◆ type

◆ velocity

VelocityViewType CellStructure::AoSoA_pack::velocity

The documentation for this struct was generated from the following file: