faunus
Public Types | Public Member Functions | Public Attributes | List of all members
Faunus::Cigar Class Reference

Patchy sphero cylinder a.k.a.Sphero-cylinder properties. More...

#include <particle.h>

Inheritance diagram for Faunus::Cigar:
Inheritance graph
[legend]
Collaboration diagram for Faunus::Cigar:
Collaboration graph
[legend]

Public Types

using string_t = nlohmann::basic_json<>::string_t
 

Public Member Functions

void rotate (const Eigen::Quaterniond &quaternion, const Eigen::Matrix3d &rotation_matrix)
 Rotate sphero-cylinder.
 
void to_json (json &j) const override
 Convert to JSON object.
 
void from_json (const json &j) override
 Convert from JSON object.
 
void setDirections (const SpheroCylinderData &psc_data, const Point &new_direction, const Point &new_patch_direction)
 Calculates cosine of angles, patch direction including chirality and vector corresponding to sides of patch that are used in calculations of interactions. More...
 
template<class Archive >
void serialize (Archive &archive)
 
bool isCylindrical () const
 True of non-zero length.
 
- Public Member Functions inherited from Faunus::ParticlePropertyBase
void rotate (const Eigen::Quaterniond &q, const Eigen::Matrix3d &)
 Internal rotation. More...
 

Public Attributes

Point scdir = {1.0, 0.0, 0.0}
 Sphero-cylinder direction unit vector.
 
Point patchdir = {0.0, 1.0, 0.0}
 Patch direction.
 
std::array< Point, 2 > patchsides
 
double half_length = 0.0
 Half end-to-end distace.
 
double pcanglsw = 0.0
 Cosine of switch angle from AtomData (speed optimization)
 
double pcangl = 0.0
 Cosine of AtomData::patch_angle (speed optimization)
 

Detailed Description

Patchy sphero cylinder a.k.a.Sphero-cylinder properties.

Cigar particles

Member Function Documentation

◆ setDirections()

void Faunus::Cigar::setDirections ( const SpheroCylinderData psc_data,
const Point new_direction,
const Point new_patch_direction 
)

Calculates cosine of angles, patch direction including chirality and vector corresponding to sides of patch that are used in calculations of interactions.

This function must be called at the beginning of calculations and after changes of patch properties. It shall be also after a lot of moves to remove accumulated errors


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