00001 #ifndef LENJONESMAT_H 00002 #define LENJONESMAT_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 struct matrix; 00007 struct vector; 00008 struct atsel; 00009 00010 /** 00011 class lenjonesmat defines Lennard-Jones 6-12 interatomic potential 00012 00013 JK, 19.6.2005 00014 */ 00015 00016 class lenjonesmat 00017 { 00018 public: 00019 lenjonesmat (void); 00020 ~lenjonesmat (void); 00021 void read (XFILE *in); 00022 double compute_force (double r); 00023 double equilib_distance (); 00024 00025 double first_derivative (double r); 00026 double second_derivative (double r); 00027 00028 /// constants of potential 00029 double eps; 00030 double sig; 00031 00032 /// minimum accaptable distance between atoms 00033 double mindist; 00034 /// equilibrium distance between two atoms and for given constants of potential 00035 double eqdist; 00036 00037 }; 00038 00039 #endif