Open Qmin
0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
|
Basic simulations just know that there are virtual functions that implement computeForces, moveParticles, and have a simulation domain. More...
#include <basicSimulation.h>
Public Member Functions | |
basicSimulation () | |
Initialize all the shared pointers, etc. More... | |
virtual void | computeForces ()=0 |
Call the force computer to compute the forces. More... | |
virtual void | moveParticles (GPUArray< dVec > &displacements, scalar scale=1.0)=0 |
Call the configuration to move particles around. More... | |
virtual scalar | computePotentialEnergy (bool verbose=false) |
compute the potential energy associated with all of the forces More... | |
void | setBox (BoxPtr _box) |
This changes the contents of the Box pointed to by Box to match that of _box. More... | |
void | setSortPeriod (int sp) |
Set the time between spatial sorting operations. More... | |
virtual void | setCurrentTime (scalar _cTime) |
reset the simulation clock More... | |
virtual void | setCurrentTimestep (int _cTime) |
reset the simulation clock counter More... | |
virtual void | sumUpdaterData (vector< scalar > &data) |
manipulate data from updaters More... | |
virtual scalar | computeKineticEnergy (bool verbose=false) |
for debugging... More... | |
Public Attributes | |
WeakConfigPtr | configuration |
The configuration of particles. More... | |
BoxPtr | Box |
The domain of the simulation. More... | |
int | integerTimestep |
An integer that keeps track of how often performTimestep has been called. More... | |
scalar | Time |
The current simulation time. More... | |
scalar | integrationTimestep |
The dt of a time step. More... | |
bool | useGPU |
A flag controlling whether to use the GPU. More... | |
int | myRank |
integer for this rank More... | |
int | nRanks |
total number of ranks More... | |
int | NActive = 0 |
some measure of the number of active degrees of freedom More... | |
Protected Attributes | |
int | sortPeriod |
Determines how frequently the spatial sorter be called...once per sortPeriod Timesteps. When sortPeriod < 0 no sorting occurs. More... | |
bool | spatialSortThisStep |
A flag that determins if a spatial sorting is due to occur this Timestep. More... | |
Basic simulations just know that there are virtual functions that implement computeForces, moveParticles, and have a simulation domain.
basicSimulation::basicSimulation | ( | ) |
Initialize all the shared pointers, etc.
Initialize all of the shared points, set default values of things
References Box.
|
pure virtual |
Call the force computer to compute the forces.
Implemented in multirankSimulation, and Simulation.
|
pure virtual |
Call the configuration to move particles around.
Implemented in Simulation, and multirankSimulation.
|
inlinevirtual |
compute the potential energy associated with all of the forces
Reimplemented in multirankSimulation, and Simulation.
void basicSimulation::setBox | ( | BoxPtr | _box | ) |
This changes the contents of the Box pointed to by Box to match that of _box.
Set a new Box for the simulation...This is the function that should be called to propagate a change in the box dimensions throughout the simulation...
References Box, and configuration.
|
inline |
Set the time between spatial sorting operations.
References sortPeriod.
|
virtual |
reset the simulation clock
References Time.
|
inlinevirtual |
reset the simulation clock counter
References integerTimestep.
|
inlinevirtual |
manipulate data from updaters
Reimplemented in multirankSimulation.
|
inlinevirtual |
for debugging...
Reimplemented in multirankSimulation, and Simulation.
WeakConfigPtr basicSimulation::configuration |
The configuration of particles.
Referenced by Simulation::computeForces(), Simulation::computeKineticEnergy(), Simulation::moveParticles(), setBox(), Simulation::setConfiguration(), Simulation::setCPUOperation(), and Simulation::setNThreads().
BoxPtr basicSimulation::Box |
The domain of the simulation.
Referenced by basicSimulation(), setBox(), Simulation::setConfiguration(), and multirankSimulation::setConfiguration().
int basicSimulation::integerTimestep |
An integer that keeps track of how often performTimestep has been called.
Referenced by Simulation::performTimestep(), multirankSimulation::performTimestep(), and setCurrentTimestep().
scalar basicSimulation::Time |
The current simulation time.
Referenced by Simulation::performTimestep(), multirankSimulation::performTimestep(), and setCurrentTime().
scalar basicSimulation::integrationTimestep |
The dt of a time step.
Referenced by Simulation::performTimestep(), multirankSimulation::performTimestep(), Simulation::setIntegrationTimestep(), and multirankSimulation::setIntegrationTimestep().
bool basicSimulation::useGPU |
A flag controlling whether to use the GPU.
Referenced by multirankSimulation::communicateHaloSitesRoutine(), multirankSimulation::computeForces(), Simulation::setCPUOperation(), multirankSimulation::setCPUOperation(), and multirankSimulation::synchronizeAndTransferBuffers().
int basicSimulation::myRank |
integer for this rank
Referenced by multirankSimulation::multirankSimulation(), and multirankSimulation::setRankTopology().
int basicSimulation::nRanks |
total number of ranks
Referenced by multirankSimulation::communicateHaloSitesRoutine(), multirankSimulation::setRankTopology(), multirankSimulation::sumUpdaterData(), and multirankSimulation::synchronizeAndTransferBuffers().
int basicSimulation::NActive = 0 |
some measure of the number of active degrees of freedom
Referenced by multirankSimulation::computePotentialEnergy(), and multirankSimulation::finalizeObjects().
|
protected |
Determines how frequently the spatial sorter be called...once per sortPeriod Timesteps. When sortPeriod < 0 no sorting occurs.
Referenced by setSortPeriod().
|
protected |
A flag that determins if a spatial sorting is due to occur this Timestep.