X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.h;h=f515f41059e65c1be8910018a063d3bc1ecd685e;hb=4e6604346459a4a8619bfc45f2a4b7dbd925ae86;hp=65f0d8da10cfa0753b72ffdeac86dadf7d407917;hpb=3ffe2a08e25fc091b6241885055450009267e2d8;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 65f0d8d..f515f41 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,11 @@ 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); +int force_lennard_jones(t_moldyn *moldyn); #endif