Go to the documentation of this file.
    6 #ifndef OPENMPCD_CUDA_MPCSOLUTE_STARPOLYMERS_HPP 
    7 #define OPENMPCD_CUDA_MPCSOLUTE_STARPOLYMERS_HPP 
   16 #include <OpenMPCD/PairPotentials/FENE.hpp> 
   18 #include <OpenMPCD/PairPotentials/WeeksChandlerAndersen_DistanceOffset.hpp> 
   21 #include <boost/scoped_array.hpp> 
  287     bool isValidParticleID(
const std::size_t particleID) 
const;
 
  299     getParticleType(
const std::size_t particleID) 
const;
 
  321     std::size_t getParticleID(
 
  322         const std::size_t star, 
const std::size_t arm,
 
  323         const std::size_t particleInArm) 
const;
 
  340     std::size_t getParticleID(
 
  341         const std::size_t star, 
const std::size_t arm) 
const;
 
  354     std::size_t getParticleID(
const std::size_t star) 
const;
 
  360     void initializePositionsOnHost();
 
  365     void initializeVelocitiesOnHost();
 
  368     std::size_t starCount;          
 
  369     std::size_t armCountPerStar;    
 
  370     std::size_t armParticlesPerArm; 
 
  371     bool hasMagneticParticles_;     
 
  383         MagneticDipoleDipoleInteraction_ConstantIdenticalDipoles<
 
  405 #endif //OPENMPCD_CUDA_MPCSOLUTE_STARPOLYMERS_HPP 
  
std::size_t getParticleCountPerArmIncludingMagneticParticles() const
Returns the number of particles per arm, including magnetic particles.
 
PositionCoordinate ForceCoordinate
The type to store force coordinates.
 
StarPolymers(const Configuration::Setting &settings, const BoundaryCondition::Base *const boundaryCondition)
The constructor.
 
Holds the enumeration of particle types for star polymers.
 
std::size_t getStarCount() const
Returns the total number of polymer stars in this instance.
 
std::size_t getArmCountPerStar() const
Returns the number of arms per star.
 
void writeStateToSnapshot(VTFSnapshotFile *const snapshot) const
Writes the particle positions and velocities to the given snapshot file.
 
FP MPCParticlePositionType
The data type for the positions of MPC particles.
 
Enum
Enumerates particle types.
 
virtual FP getParticleMass() const
Returns the mass of a particle, which is assumed to be equal for all particles in this instance.
 
Base class for MPC solutes.
 
virtual ~StarPolymers()
The destructor.
 
void performMDTimestep()
Performs, on the Device, an MD timestep of size getMDTimeStepSize().
 
void writeStructureToSnapshot(VTFSnapshotFile *const snapshot) const
Writes structure information to the given snapshot file.
 
bool hasMagneticParticles() const
Returns whether arms have an additional magnetic particle attached.
 
double FP
Default floating point type.
 
FP MPCParticleVelocityType
The data type for the velocities of MPC particles.
 
std::size_t getNumberOfLogicalEntities() const
Returns the number of logical entities in the solute.
 
std::size_t getParticleCount() const
Returns the total number of individual particles in all stars.
 
std::size_t getParticleCountPerArm() const
Returns the number of particles per arm.
 
Represents a setting in the configuration.
 
Representation of a simulation snapshot file in the VTF format.
 
std::size_t getParticleCountPerStar() const
Returns the total number of individual particles per star.
 
Class representing star polymers.
 
ImplementationDetails::StarPolymers::ParticleType ParticleType
Holds the enumeration of particle types.
 
Base class for boundary condition.
 
bool snapshotStructureIsCompatible(const VTFSnapshotFile &snapshot) const
Returns whether the given snapshot file is compatible with the star polymer architecture,...
 
void readStateFromSnapshot(VTFSnapshotFile *const snapshot)
Reads the next timestep block from the given snapshot file, and uses it as the current state.