ls1-MarDyn
ls1-MarDyn molecular dynamics code
|
Public Types | |
enum | StorageState { STORAGE_SOA = 0 , STORAGE_AOS = 1 } |
Public Member Functions | |
MoleculeRMM (unsigned long id=0, Component *component=nullptr, double rx=0., double ry=0., double rz=0., double vx=0., double vy=0., double vz=0., double=0., double=0., double=0., double=0., double=0., double=0., double=0.) | |
MoleculeRMM (const MoleculeRMM &other) | |
MoleculeRMM (CellDataSoARMM *soa, size_t index) | |
unsigned long | getID () const override |
void | setid (unsigned long id) override |
void | setr (unsigned short d, double r) override |
void | setv (unsigned short d, double v) override |
void | setF (unsigned short, double F) override |
double | r (unsigned short d) const override |
double | v (unsigned short d) const override |
void | setComponent (Component *component) override |
Component * | component () const override |
double | F (unsigned short) const override |
const Quaternion & | q () const override |
void | setq (Quaternion q) override |
double | D (unsigned short) const override |
double | M (unsigned short) const override |
double | Vi (unsigned short) const override |
void | setD (unsigned short, double) override |
void | move (int d, double dr) override |
double | getI (unsigned short) const override |
void | updateMassInertia () override |
double | U_rot () override |
double | U_rot_2 () override |
void | setupSoACache (CellDataSoABase *const s, unsigned iLJ, unsigned, unsigned, unsigned) override |
void | setSoA (CellDataSoABase *s) override |
void | setStartIndexSoA_LJ (unsigned i) override |
void | setStartIndexSoA_C (unsigned) override |
void | setStartIndexSoA_D (unsigned) override |
void | setStartIndexSoA_Q (unsigned) override |
unsigned int | numSites () const override |
unsigned int | numOrientedSites () const override |
unsigned int | numLJcenters () const override |
unsigned int | numCharges () const override |
unsigned int | numDipoles () const override |
unsigned int | numQuadrupoles () const override |
std::array< double, 3 > | site_d (unsigned int) const override |
std::array< double, 3 > | ljcenter_d (unsigned int i) const override |
std::array< double, 3 > | charge_d (unsigned int) const override |
std::array< double, 3 > | dipole_d (unsigned int) const override |
std::array< double, 3 > | quadrupole_d (unsigned int) const override |
std::array< double, 3 > | site_d_abs (unsigned int i) const override |
std::array< double, 3 > | ljcenter_d_abs (unsigned int i) const override |
std::array< double, 3 > | charge_d_abs (unsigned int) const override |
std::array< double, 3 > | dipole_d_abs (unsigned int) const override |
std::array< double, 3 > | quadrupole_d_abs (unsigned int) const override |
std::array< double, 3 > | dipole_e (unsigned int) const override |
std::array< double, 3 > | quadrupole_e (unsigned int) const override |
std::array< double, 3 > | site_F (unsigned int) const override |
std::array< double, 3 > | ljcenter_F (unsigned int) const override |
std::array< double, 3 > | charge_F (unsigned int) const override |
std::array< double, 3 > | dipole_F (unsigned int) const override |
std::array< double, 3 > | quadrupole_F (unsigned int) const override |
void | normalizeQuaternion () override |
std::array< double, 3 > | computeLJcenter_d (unsigned int) const override |
std::array< double, 3 > | computeCharge_d (unsigned int) const override |
std::array< double, 3 > | computeDipole_d (unsigned int) const override |
std::array< double, 3 > | computeQuadrupole_d (unsigned int) const override |
std::array< double, 3 > | computeDipole_e (unsigned int) const override |
std::array< double, 3 > | computeQuadrupole_e (unsigned int) const override |
unsigned long | totalMemsize () const override |
void | setF (double[3]) override |
void | setM (double[3]) override |
void | setVi (double[3]) override |
void | Fadd (const double[]) override |
void | Madd (const double[]) override |
void | Viadd (const double[]) override |
void | vadd (const double ax, const double ay, const double az) override |
void | vsub (const double ax, const double ay, const double az) override |
void | Fljcenteradd (unsigned int, double[]) override |
void | Fljcentersub (unsigned int, double[]) override |
void | Fchargeadd (unsigned int, double[]) override |
void | Fchargesub (unsigned int, double[]) override |
void | Fdipoleadd (unsigned int, double[]) override |
void | Fdipolesub (unsigned int, double[]) override |
void | Fquadrupoleadd (unsigned int, double[]) override |
void | Fquadrupolesub (unsigned int, double[]) override |
void | upd_preF (double) override |
void | upd_postF (double, double &, double &) override |
void | calculate_mv2_Iw2 (double &summv2, double &) override |
void | calculate_mv2_Iw2 (double &summv2, double &, double offx, double offy, double offz) override |
void | write (std::ostream &) const override |
void | writeBinary (std::ostream &) const override |
void | clearFM () override |
void | calcFM () override |
void | check (unsigned long) override |
void | setStorageState (StorageState s) |
StorageState | getStorageState () const |
void | buildOwnSoA () override |
void | releaseOwnSoA () override |
![]() | |
unsigned int | componentid () const |
virtual unsigned | getComponentLookUpID () const |
std::array< double, 3 > | r_arr () const |
std::array< double, 3 > | v_arr () const |
virtual double | mass () const |
virtual std::array< double, 3 > | F_arr () |
virtual std::array< double, 3 > | M_arr () |
virtual std::array< double, 3 > | Vi_arr () |
std::array< double, 3 > | D_arr () const |
virtual double | v2 () const |
virtual double | F2 () const |
virtual double | L2 () const |
virtual double | M2 () const |
virtual double | U_trans () const |
virtual double | U_trans_2 () const |
virtual double | U_kin () |
double | dist2 (const MoleculeInterface &molecule2, double dr[3]) const |
double | orientationAngle (const MoleculeInterface &molecule2, double dr[3], double d2) const |
void | scale_v (double s) |
void | scale_v (double s, double offx, double offy, double offz) |
void | scale_F (double s) |
void | scale_D (double s) |
void | scale_M (double s) |
void | ee_upd_preF (double dt) |
void | ee_upd_postF (double dt, double &summv2) |
bool | isLessThan (const MoleculeInterface &m2) const |
find out whether m1 is before m2 (in some global ordering) More... | |
virtual bool | inBox (const double l[3], const double u[3]) const |
test whether molecule is inside a cuboid region More... | |
Static Public Member Functions | |
static std::string | getWriteFormat () |
static Component * | getStaticRMMComponent () |
![]() | |
static std::array< vcp_real_calc, 3 > | convert_double_to_vcp_real_calc (const std::array< double, 3 > &v) |
static std::string | getWriteFormat () |
|
inlineoverridevirtual |
In almost all cases, molecule's caches are stored in SoAs. In some rare instances (e.g. ParticleContainer::getEnergy()) a molecule should rather better exist alone and not be part of a particleCell. This function allocates a new SoA. Remember to release it when no longer necessary!
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
See above comment.
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.
|
overridevirtual |
Implements MoleculeInterface.
|
inlineoverridevirtual |
Implements MoleculeInterface.