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

#include <tfEngine.h>

Collaboration diagram for TissueForge::engine:

Public Attributes

unsigned int flags = 0
 
unsigned int integrator_flags
 
struct space s
 
long time
 
FPTYPE dt
 
FPTYPE temperature
 
FPTYPE K
 
struct Potential ** p
 
struct Potential ** p_cluster
 
struct Force ** forces
 
struct Fluxes ** fluxes
 
int nr_fluxsteps = 1
 
int step_flux = 0
 
FPTYPE dt_flux
 
pthread_mutex_t barrier_mutex
 
pthread_cond_t barrier_cond
 
pthread_cond_t done_cond
 
int barrier_count
 
int nr_runners
 
struct runnerrunners
 
struct queuequeues
 
int nr_queues
 
int nodeID
 
int nr_nodes
 
struct engine_commsend
 
struct engine_commrecv
 
std::set< unsigned int > pids_avail
 
struct Bondbonds
 
int nr_bonds
 
int nr_active_bonds
 
int bonds_size
 
std::mutex bonds_mutex
 
struct exclusionexclusions
 
int nr_exclusions
 
int exclusions_size
 
struct rigidrigids
 
int * part2rigid
 
int nr_rigids
 
int rigids_size
 
int nr_constr
 
int rigids_local
 
int rigids_semilocal
 
FPTYPE tol_rigid
 
struct Angleangles
 
int nr_angles
 
int nr_active_angles
 
int angles_size
 
struct Dihedraldihedrals
 
int nr_dihedrals
 
int nr_active_dihedrals
 
int dihedrals_size
 
ticks timers [engine_timer_last]
 
struct engine_setsets
 
int nr_sets
 
FPTYPE wall_time
 
uint32_t timers_mask
 
long timer_output_period
 
std::vector< CustomForce * > custom_forces
 
FPTYPE particle_max_dist_fraction
 
FPTYPE computed_volume
 
EngineIntegrator integrator
 
BoundaryConditions boundary_conditions
 
std::vector< SubEngine * > subengines
 Borrowed references to registered subengines.
 
BoundaryConditionsArgsContainer_init_boundary_conditions
 
int _init_cells [3]
 

Static Public Attributes

static const int max_type
 
static int nr_types
 
static struct ParticleTypetypes
 

Detailed Description

The #engine structure.

Member Data Documentation

◆ _init_boundary_conditions

BoundaryConditionsArgsContainer* TissueForge::engine::_init_boundary_conditions

saved objects from init

◆ angles

struct Angle* TissueForge::engine::angles

List of angles.

◆ angles_size

int TissueForge::engine::angles_size

Allocated size of angles array

◆ barrier_mutex

pthread_mutex_t TissueForge::engine::barrier_mutex

Mutexes, conditions and counters for the barrier

◆ bonds

struct Bond* TissueForge::engine::bonds

List of bonds.

◆ bonds_size

int TissueForge::engine::bonds_size

allocate size of bonds array

◆ custom_forces

std::vector<CustomForce*> TissueForge::engine::custom_forces

vector of constant forces. Because these forces get updates from user defined functions, we keep a copy of them here in addtion to the other copy in p_singlebody.

◆ dihedrals

struct Dihedral* TissueForge::engine::dihedrals

List of dihedrals.

◆ dihedrals_size

int TissueForge::engine::dihedrals_size

Allocated size of dihedrals array

◆ exclusions

struct exclusion* TissueForge::engine::exclusions

List of exclusions.

◆ flags

unsigned int TissueForge::engine::flags = 0

Some flags controlling how this engine works.

◆ fluxes

struct Fluxes** TissueForge::engine::fluxes

interaction matrix of pointers to fluxes, same layout as potential matrix p.

◆ forces

struct Force** TissueForge::engine::forces

vector of forces for types, indexed by type id.

◆ integrator_flags

unsigned int TissueForge::engine::integrator_flags

Internal flags related to multi-step integrators,

◆ max_type

const int TissueForge::engine::max_type
static

TODO, clean up this design for types and static engine. What is the maximum nr of types?

◆ nodeID

int TissueForge::engine::nodeID

The ID of the computational node we are on.

◆ nr_active_angles

int TissueForge::engine::nr_active_angles

number of active angles. note, active angles are not necessarily in contiguous order

◆ nr_active_bonds

int TissueForge::engine::nr_active_bonds

number of active bonds. note, active bonds are not necessarily in contigous order.

◆ nr_active_dihedrals

int TissueForge::engine::nr_active_dihedrals

number of active dihedrals. note, active dihedrals are not necessarily in contiguous order

◆ nr_angles

int TissueForge::engine::nr_angles

total number of angles, active or not.

◆ nr_bonds

int TissueForge::engine::nr_bonds

total number of bonds, active or not.

◆ nr_dihedrals

int TissueForge::engine::nr_dihedrals

total number of dihedrals, active or not.

◆ nr_exclusions

int TissueForge::engine::nr_exclusions

Nr. of exclusions.

◆ nr_rigids

int TissueForge::engine::nr_rigids

Nr. of rigids.

◆ nr_runners

int TissueForge::engine::nr_runners

Nr of runners

◆ p

struct Potential** TissueForge::engine::p

The interaction matrix

◆ part2rigid

int* TissueForge::engine::part2rigid

List linking parts to rigids.

◆ particle_max_dist_fraction

FPTYPE TissueForge::engine::particle_max_dist_fraction

particle maximum velocity as a fraction of space cell size. good values for this are around 0.2, meaning that a particle can move about 1/5th of a cell length per time step.

if this is set of infinity, means there is not max speed. if the particle speed exceeds maximum velocity, the velocity is clamped to this speed.

defaults to 0.1.

◆ pids_avail

std::set<unsigned int> TissueForge::engine::pids_avail

Recycled particle ids

◆ queues

struct queue* TissueForge::engine::queues

The queues for the runners.

◆ rigids

struct rigid* TissueForge::engine::rigids

List of rigid bodies.

◆ runners

struct runner* TissueForge::engine::runners

The runners

◆ s

struct space TissueForge::engine::s

The space on which to work

◆ send

struct engine_comm* TissueForge::engine::send

Lists of cells to exchange with other nodes.

◆ sets

struct engine_set* TissueForge::engine::sets

Bonded sets.

◆ time

long TissueForge::engine::time

Time variables

◆ timers

ticks TissueForge::engine::timers[engine_timer_last]

The Comm object for mpi. Pointers to device data for CUDA. Timers.

◆ tol_rigid

FPTYPE TissueForge::engine::tol_rigid

Rigid solver tolerance.

◆ types

struct ParticleType* TissueForge::engine::types
static

The particle types.


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