X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=moldyn.h;h=b43ed8eed5cffb1f0b6feaa8206a88bc45dfec5a;hb=85abe46fecc79a3d7885ff6124186b2be2ca96ac;hp=65f0d8da10cfa0753b72ffdeac86dadf7d407917;hpb=3ffe2a08e25fc091b6241885055450009267e2d8;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 65f0d8d..b43ed8e 100644 --- a/moldyn.h +++ b/moldyn.h @@ -21,10 +21,36 @@ typedef struct s_atom { double mass; /* atom mass */ } t_atom; +typedef struct s_moldyn { + int count; + t_atom *atom; + double (*potential)(struct s_moldyn *moldyn); + void *pot_params; + int (*force)(struct s_moldyn *moldyn); + double cutoff_square; + t_3dvec dim; + unsigned char status; +} t_moldyn; -/* defines */ +typedef struct s_lj_params { + double sigma6; + double sigma12; + double epsilon; +} t_lj_params; -#define K_BOLTZMANN 1.3807E-23 +/* + * defines + */ + +/* general defines */ + +#define MOLDYN_STAT_POTENTIAL 0x01 +#define MOLDYN_STAT_FORCE 0x02 + +/* phsical values */ + +//#define K_BOLTZMANN 1.3807E-23 +#define K_BOLTZMANN 1.0 #define FCC 0x01 #define DIAMOND 0x02 @@ -44,5 +70,10 @@ int destroy_lattice(t_atom *atom); int thermal_init(t_atom *atom,t_random *random,int count,double t); int scale_velocity(t_atom *atom,int count,double t); double get_e_kin(t_atom *atom,int count); +double get_e_pot(t_moldyn *moldyn); +double get_total_energy(t_moldyn *moldyn); +t_3dvec get_total_p(t_atom *atom,int count); + +double potential_lennard_jones(t_moldyn *moldyn); #endif