Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
TissueForge::space Struct Reference

#include <tfSpace.h>

Collaboration diagram for TissueForge::space:

Public Attributes

FPTYPE dim [3]
 
FPTYPE origin [3]
 
int cdim [3]
 
int span [3]
 
FPTYPE h [3]
 
FPTYPE ih [3]
 
FPTYPE cutoff
 
FPTYPE cutoff2
 
unsigned int period
 
int nr_cells
 
int * cid_real
 
int * cid_ghost
 
int * cid_marked
 
int nr_real
 
int nr_ghost
 
int nr_marked
 
struct space_cellcells
 
int nr_tasks
 
int tasks_size
 
struct tasktasks
 
pthread_mutex_t tasks_mutex
 
pthread_cond_t tasks_avail
 
char * cells_taboo
 
char * cells_owner
 
int nr_swaps
 
int nr_stalls
 
struct Particle ** partlist
 
space_cell largeparts
 
struct space_cell ** celllist
 
int nr_parts
 
int size_parts
 
int nr_visible_parts
 
int nr_visible_large_parts
 
int verlet_rebuild
 
FPTYPE maxdx
 
FPTYPE epot
 
FPTYPE epot_nonbond
 
FPTYPE epot_bond
 
FPTYPE epot_angle
 
FPTYPE epot_dihedral
 
FPTYPE epot_exclusion
 
struct verlet_entryverlet_list
 
FPTYPE * verlet_oldx
 
FPTYPE verlet_maxdx
 
int * verlet_nrpairs
 
int verlet_size
 
int verlet_next
 
pthread_mutex_t verlet_force_mutex
 
int nr_pairs
 
struct cellpairpairs
 
int next_pair
 
struct celltupletuples
 
int nr_tuples
 
int next_tuple
 
int next_cell
 
pthread_mutex_t cellpairs_mutex
 
pthread_cond_t cellpairs_avail
 

Detailed Description

The space structure

Member Data Documentation

◆ cdim

int TissueForge::space::cdim[3]

Space dimension in cells.

◆ celllist

struct space_cell** TissueForge::space::celllist

Array of pointers to the #cell of individual parts, sorted by their ID.

◆ cellpairs_avail

pthread_cond_t TissueForge::space::cellpairs_avail

Spin-lock for accessing the cell pairs. Condition to wait for free cells on.

◆ cellpairs_mutex

pthread_mutex_t TissueForge::space::cellpairs_mutex

Mutex for accessing the cell pairs.

◆ cells

struct space_cell* TissueForge::space::cells

Array of cells spanning the space.

◆ cells_owner

char* TissueForge::space::cells_owner

Id of #runner owning each cell.

◆ cells_taboo

char* TissueForge::space::cells_taboo

Taboo-list for collision avoidance

◆ cid_real

int* TissueForge::space::cid_real

IDs of real, ghost and marked cells.

◆ cutoff

FPTYPE TissueForge::space::cutoff

The cutoff and the cutoff squared.

◆ dim

FPTYPE TissueForge::space::dim[3]

Real dimensions.

◆ epot

FPTYPE TissueForge::space::epot

Potential energy collected by the space itself.

◆ h

FPTYPE TissueForge::space::h[3]

Cell edge lengths and their inverse.

◆ largeparts

space_cell TissueForge::space::largeparts

store the large particles in the large parts cell, its special

◆ maxdx

FPTYPE TissueForge::space::maxdx

The maximum particle displacement over all cells.

◆ next_pair

int TissueForge::space::next_pair

Id of the next unprocessed pair (for #space_getpair)

◆ next_tuple

int TissueForge::space::next_tuple

The ID of the next free tuple or cell.

◆ nr_cells

int TissueForge::space::nr_cells

Total nr of cells in this space.

◆ nr_pairs

int TissueForge::space::nr_pairs

The total number of cell pairs.

◆ nr_parts

int TissueForge::space::nr_parts

Number of parts in this space and size of the buffers partlist and celllist.

◆ nr_swaps

int TissueForge::space::nr_swaps

Counter for the number of swaps in every step.

◆ nr_tasks

int TissueForge::space::nr_tasks

The total number of tasks.

◆ nr_tuples

int TissueForge::space::nr_tuples

The number of tuples.

◆ nr_visible_parts

int TissueForge::space::nr_visible_parts

number of visible particles and large particles. Yes... mixing rendering and simulation, but put it here so we only have to go through the list once to get this count.

updated by engine_advance

◆ origin

FPTYPE TissueForge::space::origin[3]

Location of origin.

◆ pairs

struct cellpair* TissueForge::space::pairs

Array of cell pairs.

◆ partlist

struct Particle** TissueForge::space::partlist

Array of pointers to the individual parts, sorted by their ID.

◆ period

unsigned int TissueForge::space::period

Periodicities.

◆ span

int TissueForge::space::span[3]

Number of cells within cutoff in each dimension.

◆ tasks

struct task* TissueForge::space::tasks

Array of tasks.

◆ tasks_mutex

pthread_mutex_t TissueForge::space::tasks_mutex

Condition/mutex to signal task availability.

◆ tuples

struct celltuple* TissueForge::space::tuples

Array of cell tuples.

◆ verlet_list

struct verlet_entry* TissueForge::space::verlet_list

Data for the verlet list.

◆ verlet_rebuild

int TissueForge::space::verlet_rebuild

Trigger re-building the cells/sorts.


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