walberla::mesa_pd::data::ContactStorage Class Reference

#include <ContactStorage.h>

Classes

class  Contact
 
class  iterator
 

Public Member Functions

 ContactStorage (const size_t size)
 
iterator begin ()
 
iterator end ()
 
iterator operator[] (const size_t n)
 
const walberla::id_tgetUid (const size_t idx) const
 
walberla::id_tgetUidRef (const size_t idx)
 
void setUid (const size_t idx, const walberla::id_t &v)
 
const walberla::id_tgetId1 (const size_t idx) const
 
walberla::id_tgetId1Ref (const size_t idx)
 
void setId1 (const size_t idx, const walberla::id_t &v)
 
const walberla::id_tgetId2 (const size_t idx) const
 
walberla::id_tgetId2Ref (const size_t idx)
 
void setId2 (const size_t idx, const walberla::id_t &v)
 
const real_tgetDistance (const size_t idx) const
 
real_tgetDistanceRef (const size_t idx)
 
void setDistance (const size_t idx, const real_t &v)
 
const walberla::mesa_pd::Vec3getNormal (const size_t idx) const
 
walberla::mesa_pd::Vec3getNormalRef (const size_t idx)
 
void setNormal (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Vec3getPosition (const size_t idx) const
 
walberla::mesa_pd::Vec3getPositionRef (const size_t idx)
 
void setPosition (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Vec3getT (const size_t idx) const
 
walberla::mesa_pd::Vec3getTRef (const size_t idx)
 
void setT (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Vec3getO (const size_t idx) const
 
walberla::mesa_pd::Vec3getORef (const size_t idx)
 
void setO (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Vec3getR1 (const size_t idx) const
 
walberla::mesa_pd::Vec3getR1Ref (const size_t idx)
 
void setR1 (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Vec3getR2 (const size_t idx) const
 
walberla::mesa_pd::Vec3getR2Ref (const size_t idx)
 
void setR2 (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const real_tgetMu (const size_t idx) const
 
real_tgetMuRef (const size_t idx)
 
void setMu (const size_t idx, const real_t &v)
 
const walberla::mesa_pd::Vec3getP (const size_t idx) const
 
walberla::mesa_pd::Vec3getPRef (const size_t idx)
 
void setP (const size_t idx, const walberla::mesa_pd::Vec3 &v)
 
const walberla::mesa_pd::Mat3getDiag_nto (const size_t idx) const
 
walberla::mesa_pd::Mat3getDiag_ntoRef (const size_t idx)
 
void setDiag_nto (const size_t idx, const walberla::mesa_pd::Mat3 &v)
 
const walberla::mesa_pd::Mat3getDiag_nto_inv (const size_t idx) const
 
walberla::mesa_pd::Mat3getDiag_nto_invRef (const size_t idx)
 
void setDiag_nto_inv (const size_t idx, const walberla::mesa_pd::Mat3 &v)
 
const walberla::mesa_pd::Mat2getDiag_to_inv (const size_t idx) const
 
walberla::mesa_pd::Mat2getDiag_to_invRef (const size_t idx)
 
void setDiag_to_inv (const size_t idx, const walberla::mesa_pd::Mat2 &v)
 
const real_tgetDiag_n_inv (const size_t idx) const
 
real_tgetDiag_n_invRef (const size_t idx)
 
void setDiag_n_inv (const size_t idx, const real_t &v)
 
iterator create (const id_t &uid)
 creates a new Contact and returns an iterator pointing to it More...
 
iterator create ()
 
iterator erase (iterator &it)
 
iterator find (const id_t &uid)
 Finds the entry corresponding to uid. More...
 
void reserve (const size_t size)
 
void clear ()
 
size_t size () const
 
template<typename Selector , typename Accessor , typename Func , typename... Args>
void forEachContact (const bool openmp, const Selector &selector, Accessor &acForPS, Func &&func, Args &&... args)
 Calls the provided functor func for all Contacts selected by the selector. More...
 
template<typename Selector , typename Accessor , typename Func , typename... Args>
void forEachContact (const bool openmp, const Selector &selector, Accessor &acForPS, Func &&func, Args &&... args) const
 

Private Attributes

std::vector< walberla::id_tuid_ {}
 
std::vector< walberla::id_tid1_ {}
 
std::vector< walberla::id_tid2_ {}
 
std::vector< real_tdistance_ {}
 
std::vector< walberla::mesa_pd::Vec3normal_ {}
 
std::vector< walberla::mesa_pd::Vec3position_ {}
 
std::vector< walberla::mesa_pd::Vec3t_ {}
 
std::vector< walberla::mesa_pd::Vec3o_ {}
 
std::vector< walberla::mesa_pd::Vec3r1_ {}
 
std::vector< walberla::mesa_pd::Vec3r2_ {}
 
std::vector< real_tmu_ {}
 
std::vector< walberla::mesa_pd::Vec3p_ {}
 
std::vector< walberla::mesa_pd::Mat3diag_nto_ {}
 
std::vector< walberla::mesa_pd::Mat3diag_nto_inv_ {}
 
std::vector< walberla::mesa_pd::Mat2diag_to_inv_ {}
 
std::vector< real_tdiag_n_inv_ {}
 
std::unordered_map< id_t, size_tuidToIdx_
 

Constructor & Destructor Documentation

◆ ContactStorage()

walberla::mesa_pd::data::ContactStorage::ContactStorage ( const size_t  size)
inlineexplicit

Member Function Documentation

◆ begin()

iterator walberla::mesa_pd::data::ContactStorage::begin ( )
inline

◆ clear()

void walberla::mesa_pd::data::ContactStorage::clear ( )
inline

◆ create() [1/2]

ContactStorage::iterator walberla::mesa_pd::data::ContactStorage::create ( )
inline

◆ create() [2/2]

ContactStorage::iterator walberla::mesa_pd::data::ContactStorage::create ( const id_t uid)
inline

creates a new Contact and returns an iterator pointing to it

Attention
Use this function only if you know what you are doing! Messing with the uid might break the simulation! If you are unsure use create(bool) instead.
Parameters
uidunique id of the Contact to be created
Returns
iterator to the newly created Contact

◆ end()

iterator walberla::mesa_pd::data::ContactStorage::end ( )
inline

◆ erase()

ContactStorage::iterator walberla::mesa_pd::data::ContactStorage::erase ( iterator it)
inline

◆ find()

ContactStorage::iterator walberla::mesa_pd::data::ContactStorage::find ( const id_t uid)
inline

Finds the entry corresponding to uid.

Returns
iterator to the object or end iterator

◆ forEachContact() [1/2]

template<typename Selector , typename Accessor , typename Func , typename... Args>
void walberla::mesa_pd::data::ContactStorage::forEachContact ( const bool  openmp,
const Selector &  selector,
Accessor &  acForPS,
Func &&  func,
Args &&...  args 
)
inline

Calls the provided functor func for all Contacts selected by the selector.

Additional arguments can be provided. Call syntax for the provided functor

func( *this, i, std::forward<Args>(args)... );
Parameters
openmpenables/disables OpenMP parallelization of the kernel call

◆ forEachContact() [2/2]

template<typename Selector , typename Accessor , typename Func , typename... Args>
void walberla::mesa_pd::data::ContactStorage::forEachContact ( const bool  openmp,
const Selector &  selector,
Accessor &  acForPS,
Func &&  func,
Args &&...  args 
) const
inline

◆ getDiag_n_inv()

const real_t& walberla::mesa_pd::data::ContactStorage::getDiag_n_inv ( const size_t  idx) const
inline

◆ getDiag_n_invRef()

real_t& walberla::mesa_pd::data::ContactStorage::getDiag_n_invRef ( const size_t  idx)
inline

◆ getDiag_nto()

const walberla::mesa_pd::Mat3& walberla::mesa_pd::data::ContactStorage::getDiag_nto ( const size_t  idx) const
inline

◆ getDiag_nto_inv()

const walberla::mesa_pd::Mat3& walberla::mesa_pd::data::ContactStorage::getDiag_nto_inv ( const size_t  idx) const
inline

◆ getDiag_nto_invRef()

walberla::mesa_pd::Mat3& walberla::mesa_pd::data::ContactStorage::getDiag_nto_invRef ( const size_t  idx)
inline

◆ getDiag_ntoRef()

walberla::mesa_pd::Mat3& walberla::mesa_pd::data::ContactStorage::getDiag_ntoRef ( const size_t  idx)
inline

◆ getDiag_to_inv()

const walberla::mesa_pd::Mat2& walberla::mesa_pd::data::ContactStorage::getDiag_to_inv ( const size_t  idx) const
inline

◆ getDiag_to_invRef()

walberla::mesa_pd::Mat2& walberla::mesa_pd::data::ContactStorage::getDiag_to_invRef ( const size_t  idx)
inline

◆ getDistance()

const real_t& walberla::mesa_pd::data::ContactStorage::getDistance ( const size_t  idx) const
inline

◆ getDistanceRef()

real_t& walberla::mesa_pd::data::ContactStorage::getDistanceRef ( const size_t  idx)
inline

◆ getId1()

const walberla::id_t& walberla::mesa_pd::data::ContactStorage::getId1 ( const size_t  idx) const
inline

◆ getId1Ref()

walberla::id_t& walberla::mesa_pd::data::ContactStorage::getId1Ref ( const size_t  idx)
inline

◆ getId2()

const walberla::id_t& walberla::mesa_pd::data::ContactStorage::getId2 ( const size_t  idx) const
inline

◆ getId2Ref()

walberla::id_t& walberla::mesa_pd::data::ContactStorage::getId2Ref ( const size_t  idx)
inline

◆ getMu()

const real_t& walberla::mesa_pd::data::ContactStorage::getMu ( const size_t  idx) const
inline

◆ getMuRef()

real_t& walberla::mesa_pd::data::ContactStorage::getMuRef ( const size_t  idx)
inline

◆ getNormal()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getNormal ( const size_t  idx) const
inline

◆ getNormalRef()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getNormalRef ( const size_t  idx)
inline

◆ getO()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getO ( const size_t  idx) const
inline

◆ getORef()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getORef ( const size_t  idx)
inline

◆ getP()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getP ( const size_t  idx) const
inline

◆ getPosition()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getPosition ( const size_t  idx) const
inline

◆ getPositionRef()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getPositionRef ( const size_t  idx)
inline

◆ getPRef()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getPRef ( const size_t  idx)
inline

◆ getR1()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getR1 ( const size_t  idx) const
inline

◆ getR1Ref()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getR1Ref ( const size_t  idx)
inline

◆ getR2()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getR2 ( const size_t  idx) const
inline

◆ getR2Ref()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getR2Ref ( const size_t  idx)
inline

◆ getT()

const walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getT ( const size_t  idx) const
inline

◆ getTRef()

walberla::mesa_pd::Vec3& walberla::mesa_pd::data::ContactStorage::getTRef ( const size_t  idx)
inline

◆ getUid()

const walberla::id_t& walberla::mesa_pd::data::ContactStorage::getUid ( const size_t  idx) const
inline

◆ getUidRef()

walberla::id_t& walberla::mesa_pd::data::ContactStorage::getUidRef ( const size_t  idx)
inline

◆ operator[]()

iterator walberla::mesa_pd::data::ContactStorage::operator[] ( const size_t  n)
inline

◆ reserve()

void walberla::mesa_pd::data::ContactStorage::reserve ( const size_t  size)
inline

◆ setDiag_n_inv()

void walberla::mesa_pd::data::ContactStorage::setDiag_n_inv ( const size_t  idx,
const real_t v 
)
inline

◆ setDiag_nto()

void walberla::mesa_pd::data::ContactStorage::setDiag_nto ( const size_t  idx,
const walberla::mesa_pd::Mat3 v 
)
inline

◆ setDiag_nto_inv()

void walberla::mesa_pd::data::ContactStorage::setDiag_nto_inv ( const size_t  idx,
const walberla::mesa_pd::Mat3 v 
)
inline

◆ setDiag_to_inv()

void walberla::mesa_pd::data::ContactStorage::setDiag_to_inv ( const size_t  idx,
const walberla::mesa_pd::Mat2 v 
)
inline

◆ setDistance()

void walberla::mesa_pd::data::ContactStorage::setDistance ( const size_t  idx,
const real_t v 
)
inline

◆ setId1()

void walberla::mesa_pd::data::ContactStorage::setId1 ( const size_t  idx,
const walberla::id_t v 
)
inline

◆ setId2()

void walberla::mesa_pd::data::ContactStorage::setId2 ( const size_t  idx,
const walberla::id_t v 
)
inline

◆ setMu()

void walberla::mesa_pd::data::ContactStorage::setMu ( const size_t  idx,
const real_t v 
)
inline

◆ setNormal()

void walberla::mesa_pd::data::ContactStorage::setNormal ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setO()

void walberla::mesa_pd::data::ContactStorage::setO ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setP()

void walberla::mesa_pd::data::ContactStorage::setP ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setPosition()

void walberla::mesa_pd::data::ContactStorage::setPosition ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setR1()

void walberla::mesa_pd::data::ContactStorage::setR1 ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setR2()

void walberla::mesa_pd::data::ContactStorage::setR2 ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setT()

void walberla::mesa_pd::data::ContactStorage::setT ( const size_t  idx,
const walberla::mesa_pd::Vec3 v 
)
inline

◆ setUid()

void walberla::mesa_pd::data::ContactStorage::setUid ( const size_t  idx,
const walberla::id_t v 
)
inline

◆ size()

size_t walberla::mesa_pd::data::ContactStorage::size ( ) const
inline

Member Data Documentation

◆ diag_n_inv_

std::vector<real_t> walberla::mesa_pd::data::ContactStorage::diag_n_inv_ {}
private

◆ diag_nto_

std::vector<walberla::mesa_pd::Mat3> walberla::mesa_pd::data::ContactStorage::diag_nto_ {}
private

◆ diag_nto_inv_

std::vector<walberla::mesa_pd::Mat3> walberla::mesa_pd::data::ContactStorage::diag_nto_inv_ {}
private

◆ diag_to_inv_

std::vector<walberla::mesa_pd::Mat2> walberla::mesa_pd::data::ContactStorage::diag_to_inv_ {}
private

◆ distance_

std::vector<real_t> walberla::mesa_pd::data::ContactStorage::distance_ {}
private

◆ id1_

std::vector<walberla::id_t> walberla::mesa_pd::data::ContactStorage::id1_ {}
private

◆ id2_

std::vector<walberla::id_t> walberla::mesa_pd::data::ContactStorage::id2_ {}
private

◆ mu_

std::vector<real_t> walberla::mesa_pd::data::ContactStorage::mu_ {}
private

◆ normal_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::normal_ {}
private

◆ o_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::o_ {}
private

◆ p_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::p_ {}
private

◆ position_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::position_ {}
private

◆ r1_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::r1_ {}
private

◆ r2_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::r2_ {}
private

◆ t_

std::vector<walberla::mesa_pd::Vec3> walberla::mesa_pd::data::ContactStorage::t_ {}
private

◆ uid_

std::vector<walberla::id_t> walberla::mesa_pd::data::ContactStorage::uid_ {}
private

◆ uidToIdx_

std::unordered_map<id_t, size_t> walberla::mesa_pd::data::ContactStorage::uidToIdx_
private

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