Open Qmin  0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
Public Member Functions | Public Attributes | Protected Attributes | List of all members
basicSimulation Class Referenceabstract

Basic simulations just know that there are virtual functions that implement computeForces, moveParticles, and have a simulation domain. More...

#include <basicSimulation.h>

Inheritance diagram for basicSimulation:
Inheritance graph
[legend]

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...
 

Detailed Description

Basic simulations just know that there are virtual functions that implement computeForces, moveParticles, and have a simulation domain.

Constructor & Destructor Documentation

◆ basicSimulation()

basicSimulation::basicSimulation ( )

Initialize all the shared pointers, etc.

Initialize all of the shared points, set default values of things

References Box.

Member Function Documentation

◆ computeForces()

virtual void basicSimulation::computeForces ( )
pure virtual

Call the force computer to compute the forces.

Implemented in multirankSimulation, and Simulation.

◆ moveParticles()

virtual void basicSimulation::moveParticles ( GPUArray< dVec > &  displacements,
scalar  scale = 1.0 
)
pure virtual

Call the configuration to move particles around.

Implemented in Simulation, and multirankSimulation.

◆ computePotentialEnergy()

virtual scalar basicSimulation::computePotentialEnergy ( bool  verbose = false)
inlinevirtual

compute the potential energy associated with all of the forces

Reimplemented in multirankSimulation, and Simulation.

◆ setBox()

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.

◆ setSortPeriod()

void basicSimulation::setSortPeriod ( int  sp)
inline

Set the time between spatial sorting operations.

References sortPeriod.

◆ setCurrentTime()

void basicSimulation::setCurrentTime ( scalar  _cTime)
virtual

reset the simulation clock

Postcondition
the cell configuration and e.o.m. timestep is set to the input value

References Time.

◆ setCurrentTimestep()

virtual void basicSimulation::setCurrentTimestep ( int  _cTime)
inlinevirtual

reset the simulation clock counter

References integerTimestep.

◆ sumUpdaterData()

virtual void basicSimulation::sumUpdaterData ( vector< scalar > &  data)
inlinevirtual

manipulate data from updaters

Reimplemented in multirankSimulation.

◆ computeKineticEnergy()

virtual scalar basicSimulation::computeKineticEnergy ( bool  verbose = false)
inlinevirtual

for debugging...

Reimplemented in multirankSimulation, and Simulation.

Member Data Documentation

◆ configuration

WeakConfigPtr basicSimulation::configuration

◆ Box

BoxPtr basicSimulation::Box

◆ integerTimestep

int basicSimulation::integerTimestep

An integer that keeps track of how often performTimestep has been called.

Referenced by Simulation::performTimestep(), multirankSimulation::performTimestep(), and setCurrentTimestep().

◆ Time

scalar basicSimulation::Time

◆ integrationTimestep

scalar basicSimulation::integrationTimestep

◆ useGPU

bool basicSimulation::useGPU

◆ myRank

int basicSimulation::myRank

◆ nRanks

int basicSimulation::nRanks

◆ NActive

int basicSimulation::NActive = 0

some measure of the number of active degrees of freedom

Referenced by multirankSimulation::computePotentialEnergy(), and multirankSimulation::finalizeObjects().

◆ sortPeriod

int basicSimulation::sortPeriod
protected

Determines how frequently the spatial sorter be called...once per sortPeriod Timesteps. When sortPeriod < 0 no sorting occurs.

Referenced by setSortPeriod().

◆ spatialSortThisStep

bool basicSimulation::spatialSortThisStep
protected

A flag that determins if a spatial sorting is due to occur this Timestep.


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