Refactor Atomic System - ProkopHapala/FireCore GitHub Wiki


class Atoms{
  int     n;
  int*    types;
  Vec3d*  ps;
}

class Molecule : public Atoms{
  Vec2i* bond2atom;
}

class NBFF : public Atoms{
  Vec3d*  fs;
  Vec3d*  REQs;     // R0,E0,Q parameters for non-covalent interactions
  int*    neighs;   // used to ignore bonded pairs
}

class GridFF : public NBsystem{
  Vec3d*     PLQ;   //Pauli, Lenard-Jones, Charge coefs
  GridShape  grid;
  Quat4f*    FF;
}

class MMFFsp3 : public NBFF{
  double*  DOFs;
  double*  fDOFs;
  Vec3d*   pipos;
  Vec3d*   fpipos;
  int*    bkneighs;
  double* BLs;
  double* BKs;
  double* apars;
  double* Ksps;
  double* Kpps;
}