X-Git-Url: https://www.hackdaworld.org/gitweb/?p=physik%2Fposic.git;a=blobdiff_plain;f=moldyn.h;h=2d1a438b3935b05cc8dfd791a6505b8abf03a093;hp=484c45605529657c396d12fad349dff7f05c24a7;hb=0fbd532d8ddce9848df592ed586ffba439369284;hpb=b776d78d5fe14e550e2b4a51a2b837742ed6f850 diff --git a/moldyn.h b/moldyn.h index 484c456..2d1a438 100644 --- a/moldyn.h +++ b/moldyn.h @@ -77,6 +77,7 @@ typedef struct s_moldyn_schedule { /* moldyn main structure */ typedef struct s_moldyn { int count; /* total amount of atoms */ + double mass; /* total system mass */ t_atom *atom; /* pointer to the atoms */ t_3dvec dim; /* dimensions of the simulation volume */ @@ -144,12 +145,16 @@ typedef struct s_moldyn { double ekin; /* kinetic energy */ /* energy averages & fluctuations */ - double k_m; - double p_m; - double t_m; - double dk2_m; /* mean square kinetic energy fluctuations */ - double dp2_m; /* mean square potential energy fluctuations */ - double dt2_m; /* mean square fluctuations in total energy */ + double k_sum; /* sum of kinetic energy */ + double v_sum; /* sum of potential energy */ + double k_mean; /* average of kinetic energy */ + double v_mean; /* average of potential energy */ + double k2_sum; /* sum of kinetic energy squared */ + double v2_sum; /* sum of potential energy squared */ + double k2_mean; /* average of kinetic energy squared */ + double v2_mean; /* average of potential energy squared */ + double dk2_mean; /* mean square kinetic energy fluctuations */ + double dv2_mean; /* mean square potential energy fluctuations */ /* response functions */ double c_v_nve; /* constant volume heat capacity (nve) */ @@ -403,10 +408,13 @@ int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr, int destroy_atoms(t_moldyn *moldyn); int thermal_init(t_moldyn *moldyn,u8 equi_init); +double total_mass_calc(t_moldyn *moldyn); double temperature_calc(t_moldyn *moldyn); double get_temperature(t_moldyn *moldyn); int scale_velocity(t_moldyn *moldyn,u8 equi_init); double pressure_calc(t_moldyn *moldyn); +int energy_fluctuation_calc(t_moldyn *moldyn); +int get_heat_capacity(t_moldyn *moldyn); double thermodynamic_pressure_calc(t_moldyn *moldyn); double get_pressure(t_moldyn *moldyn); int scale_volume(t_moldyn *moldyn); @@ -443,7 +451,5 @@ int check_per_bound(t_moldyn *moldyn,t_3dvec *a); int moldyn_bc_check(t_moldyn *moldyn); int get_line(int fd,char *line,int max); -int calc_fluctuations(double start,double end,t_moldyn *moldyn); -int get_heat_capacity(t_moldyn *moldyn); #endif