Diesel
It is a base computational module and it contains class for calculating of molecular dynamic, that includes Verlet, Leapfrog and other integrators.
-
class kvazar.diesel.Diesel(struct, method, integrator={'name': 'VELVERLET'}, log_to_file=False)[source]
Module for molecular dynamic calculation. To initialize it, you have to
set structure and method.
-
check_pbc()[source]
If any atoms are out of box, method will try to return them back.
-
dissipative_step()[source]
The Velocity Verlet Algorithm.
-
get_forces()[source]
The calculation of forces acting on atoms.
-
init_cutoff(r_in, r_out)[source]
Van-der-Vaals forces cutoff at some distance.
-
leapfrog_berendsen_step()[source]
The Verlet Leapfrog Algorithm with Berendsen Thermostat.
-
leapfrog_nosehoover_step()[source]
The Verlet Leapfrog Algorithm with Berendsen Thermostat.
-
leapfrog_step()[source]
The Verlet Leapfrog Algorithm.
-
run(time_steps)[source]
Runs calculations as many times as it follows from conditions.
-
simulation(output, period, max_time, config=None, rec_type='w')[source]
It writes structure characteristics and monitoring values in
output file.
-
use_pbc(pbc_box)[source]
Periodic boundary conditions can be used in calculations. Geometry of
pbc box should be setted.
-
velocity_verlet_step()[source]
The Velocity Verlet Algorithm.
-
verlet_step()[source]
The Basic Verlet Algorithm.
Periodic Boundary Conditions
-
class kvazar.boxcell.BoxCell(coords, r_in, r_out, box)[source]
It’s a class that realizes periodic boundary conditions.
-
build_cells(coords)[source]
This method checks sizes of structure and raises exception if structure
is bigger than periodic box. Else it returns list of atom names for each
part of periodic box.
-
calc_neighbours(coords, a, b)[source]
It builds periodic box and then update cutoff lists, if needed.
-
time_to_update(coords, a, b)[source]
If coordinates have changed significantly then cutoff lists should be
updated.
-
update_prev_coords(coords)[source]
Rewriting previous coordinates.