NDDEM
Public Member Functions | Public Attributes | List of all members
Cells< d > Class Template Reference

All the cells making the space, with related function for creating the cell array, neighbour arrays etc. Currently non implemented TODO: no pbc handling, no handling of moving boundaries. More...

#include <Cells.h>

Public Member Functions

int init_cells (std::vector< Boundary< d >> &boundaries, double ds)
 
int init_cells (std::vector< Boundary< d >> &boundaries, std::vector< double > &r)
 
int init_subcells (std::vector< Boundary< d >> &bounds, double delta_super[], const std::vector< int > &n_cell_super)
 
int init_allocate ()
 
int init_finalise (std::vector< Boundary< d >> &bounds)
 
std::vector< std::vector< double > > boundary_handler (std::vector< Boundary< d >> &boundaries)
 
int allocate_to_cells (std::vector< std::vector< double >> &X)
 
int allocate_single (std::vector< double > &X, int grainid)
 
int contacts (int ID, std::pair< int, int > bounds, CLp_it_t< d > &CLp_it, ContactList< d > &CLnew, std::vector< std::vector< double >> const &X, std::vector< double > const &r, double LE_displacement)
 
int contacts_external (int ID, Cells< d > &ocell, int delta_lvl, std::pair< int, int > bounds, CLp_it_t< d > &CLp_it, ContactList< d > &CLnew, std::vector< std::vector< double >> const &X, std::vector< double > const &r, double LE_displacement)
 
int contacts_cell_cell (int ID, Cell &c1, Cell &c2, CLp_it_t< d > &CLp_it, ContactList< d > &CLnew, std::vector< std::vector< double >> const &X, std::vector< double > const &r, cp< d > &tmpcp)
 
int contacts_cell_ghostcell (int ID, Cell &c1, Cell &c2, bitdim ghost, bitdim ghostdir, CLp_it_t< d > &CLp_it, ContactList< d > &CLnew, std::vector< std::vector< double >> const &X, std::vector< double > const &r, double LE_displacement, cp< d > &tmpcp)
 
bool cell_contact_insert (int ID, CLp_it_t< d > &CLp_it, const cp< d > &a)
 
int clear_all ()
 
int x2id (const std::vector< int > &v)
 
std::vector< int > id2x (int id)
 
bool test_idempotent ()
 
double dsqr (std::vector< double > &X1, std::vector< double > &X2)
 
int clip_LEmoved_cell (int original, int considered, bitdim &ghost, bitdim &ghostdir)
 
template<class Archive >
void serialize (Archive &ar)
 

Public Attributes

std::vector< int > n_cell
 
std::vector< int > cum_n_cell
 
std::vector< double > origin
 
std::vector< double > Delta
 
std::vector< Cellcells
 
double delta [d]
 
int planesize =0
 

Detailed Description

template<int d>
class Cells< d >

All the cells making the space, with related function for creating the cell array, neighbour arrays etc. Currently non implemented TODO: no pbc handling, no handling of moving boundaries.

Member Function Documentation

◆ allocate_single()

template<int d>
int Cells< d >::allocate_single ( std::vector< double > &  X,
int  grainid 
)

◆ allocate_to_cells()

template<int d>
int Cells< d >::allocate_to_cells ( std::vector< std::vector< double >> &  X)

◆ boundary_handler()

template<int d>
std::vector< std::vector< double > > Cells< d >::boundary_handler ( std::vector< Boundary< d >> &  boundaries)

◆ cell_contact_insert()

template<int d>
bool Cells< d >::cell_contact_insert ( int  ID,
CLp_it_t< d > &  CLp_it,
const cp< d > &  a 
)

◆ clear_all()

template<int d>
int Cells< d >::clear_all

◆ clip_LEmoved_cell()

template<int d>
int Cells< d >::clip_LEmoved_cell ( int  original,
int  considered,
bitdim ghost,
bitdim ghostdir 
)
inline

◆ contacts()

template<int d>
int Cells< d >::contacts ( int  ID,
std::pair< int, int >  bounds,
CLp_it_t< d > &  CLp_it,
ContactList< d > &  CLnew,
std::vector< std::vector< double >> const X,
std::vector< double > const r,
double  LE_displacement 
)

◆ contacts_cell_cell()

template<int d>
int Cells< d >::contacts_cell_cell ( int  ID,
Cell c1,
Cell c2,
CLp_it_t< d > &  CLp_it,
ContactList< d > &  CLnew,
std::vector< std::vector< double >> const X,
std::vector< double > const r,
cp< d > &  tmpcp 
)

◆ contacts_cell_ghostcell()

template<int d>
int Cells< d >::contacts_cell_ghostcell ( int  ID,
Cell c1,
Cell c2,
bitdim  ghost,
bitdim  ghostdir,
CLp_it_t< d > &  CLp_it,
ContactList< d > &  CLnew,
std::vector< std::vector< double >> const X,
std::vector< double > const r,
double  LE_displacement,
cp< d > &  tmpcp 
)

◆ contacts_external()

template<int d>
int Cells< d >::contacts_external ( int  ID,
Cells< d > &  ocell,
int  delta_lvl,
std::pair< int, int >  bounds,
CLp_it_t< d > &  CLp_it,
ContactList< d > &  CLnew,
std::vector< std::vector< double >> const X,
std::vector< double > const r,
double  LE_displacement 
)

◆ dsqr()

template<int d>
double Cells< d >::dsqr ( std::vector< double > &  X1,
std::vector< double > &  X2 
)
inline

◆ id2x()

template<int d>
std::vector<int> Cells< d >::id2x ( int  id)
inline

◆ init_allocate()

template<int d>
int Cells< d >::init_allocate

◆ init_cells() [1/2]

template<int d>
int Cells< d >::init_cells ( std::vector< Boundary< d >> &  boundaries,
double  ds 
)

◆ init_cells() [2/2]

template<int d>
int Cells< d >::init_cells ( std::vector< Boundary< d >> &  boundaries,
std::vector< double > &  r 
)
inline

◆ init_finalise()

template<int d>
int Cells< d >::init_finalise ( std::vector< Boundary< d >> &  bounds)

◆ init_subcells()

template<int d>
int Cells< d >::init_subcells ( std::vector< Boundary< d >> &  bounds,
double  delta_super[],
const std::vector< int > &  n_cell_super 
)

◆ serialize()

template<int d>
template<class Archive >
void Cells< d >::serialize ( Archive &  ar)
inline

◆ test_idempotent()

template<int d>
bool Cells< d >::test_idempotent ( )
inline

◆ x2id()

template<int d>
int Cells< d >::x2id ( const std::vector< int > &  v)
inline

Member Data Documentation

◆ cells

template<int d>
std::vector<Cell> Cells< d >::cells

◆ cum_n_cell

template<int d>
std::vector<int> Cells< d >::cum_n_cell

◆ Delta

template<int d>
std::vector<double> Cells< d >::Delta

◆ delta

template<int d>
double Cells< d >::delta[d]

◆ n_cell

template<int d>
std::vector<int> Cells< d >::n_cell

◆ origin

template<int d>
std::vector<double> Cells< d >::origin

◆ planesize

template<int d>
int Cells< d >::planesize =0

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