Keywords

In gpyumd, we have a set of Keyword subclasses that correspond to the keywords needed to build the run.in file in GPUMD. These keyword classes can be used simply to check parameters and get the correct syntax for the run.in file. For example:

>>> import gpyumd.keyword as kwd
>>> minkwd = kwd.Minimize(force_tolerance=1e-6, max_iterations=10000)
>>> minkwd  # Shows what the keyword
Minimize(force_tolerance=1e-06, max_iterations=10000, method=sd)
>>> print(minkwd)  # prints keyword in format for run.in
minimize sd 1e-06 10000

Note that, if invalid parameter values are passed to a keyword, it will throw an exception. Otherwise, keywords are also used to build Run objects, which can then be added to a Simulation. Keywords that are added to a Run that is part of a Simulation can also validate grouping information as a Simulation has access to the atomic structure data.

List of all keywords

class gpyumd.keyword.ChangeBox(deformation: str, delta: Optional[float] = None, delta_xx: Optional[float] = None, delta_yy: Optional[float] = None, delta_zz: Optional[float] = None, epsilon_yz: Optional[float] = None, epsilon_xz: Optional[float] = None, epsilon_xy: Optional[float] = None)[source]

Bases: Keyword

Keyword used to change the simulation box. Parameter names reflect their position in the deformation matrix, which is nicely shown in the linked GPUMD documentation.

Best to instantiate through class methods: scale(), stretch() and general().

https://gpumd.zheyongfan.org/index.php/The_change_box_keyword

Parameters
  • deformation – Options are ‘scale’, ‘stretch’, and ‘general’. They require 1, 3, and 6 parameters defined, respectively. The box must be triclinic for the ‘general’ option.

  • delta – Only value needed to ‘scale’. Used along diagonal of deformation matrix. Units of Angstrom.

  • delta_xx – Needed for ‘scale’ & ‘general’. Used in xx part of diagonal in deformation matrix. Units of Angstrom.

  • delta_yy – Needed for ‘scale’ & ‘general’. Used in yy part of diagonal in deformation matrix. Units of Angstrom.

  • delta_zz – Needed for ‘scale’ & ‘general’. Used in zz part of diagonal in deformation matrix. Units of Angstrom.

  • epsilon_yz – Needed for ‘general’. (Dimensionless strain)

  • epsilon_xz – Needed for ‘general’. (Dimensionless strain)

  • epsilon_xy – Needed for ‘general’. (Dimensionless strain)

classmethod general(delta_xx, delta_yy, delta_zz, epsilon_yz, epsilon_xz, epsilon_xy)[source]

Create ‘change_box’ keyword with six parameters that define the changes in the deformation matrix.

https://gpumd.zheyongfan.org/index.php/The_change_box_keyword

Parameters
  • delta_xx – Change in the xx element of deformation matrix. Units of Angstrom.

  • delta_yy – Change in the yy element of deformation matrix. Units of Angstrom.

  • delta_zz – Change in the yy element of deformation matrix. Units of Angstrom.

  • epsilon_yz – Dimensionless strain

  • epsilon_xz – Dimensionless strain

  • epsilon_xy – Dimensionless strain

Returns

ChangeBox Keyword

classmethod scale(delta)[source]

Create ‘change_box’ keyword with one parameter, delta, that is used across each diagonal element of the deformation matrix.

https://gpumd.zheyongfan.org/index.php/The_change_box_keyword

Parameters

delta – Change along diagonal of deformation matrix. Units of Angstrom.

Returns

ChangeBox Keyword

classmethod stretch(delta_xx, delta_yy, delta_zz)[source]

Create ‘change_box’ keyword with three parameters that define the changes along the diagonal of the deformation matrix.

https://gpumd.zheyongfan.org/index.php/The_change_box_keyword

Parameters
  • delta_xx – Change in the xx element of deformation matrix. Units of Angstrom.

  • delta_yy – Change in the yy element of deformation matrix. Units of Angstrom.

  • delta_zz – Change in the yy element of deformation matrix. Units of Angstrom.

Returns

ChangeBox Keyword

class gpyumd.keyword.Compute(grouping_method: int, sample_interval: int, output_interval: int, temperature: bool = False, potential: bool = False, force: bool = False, virial: bool = False, jp: bool = False, jk: bool = False)[source]

Bases: Keyword

Computes and outputs space- and time-averaged quantities to the compute.out file.

https://gpumd.zheyongfan.org/index.php/The_compute_keyword

Parameters
  • grouping_method – The grouping method to use.

  • sample_interval – Sample quantities this many time steps.

  • output_interval – Averaging over so many sampled data before giving one output.

  • temperature – True to output temperature, False otherwise.

  • potential – True to output the potential energy, False otherwise.

  • force – True to output the force vector, False otherwise.

  • virial – True to output the diagonal part of the virial, False otherwise.

  • jp – True to output potential part of the heat current vector, False otherwise.

  • jk – True to output kinetic part of the heat current vector, False otherwise.

class gpyumd.keyword.ComputeCohesive(start_factor: float, end_factor: float, num_points: int)[source]

Bases: Keyword

Computes the cohesive energy curve with outputs going to the cohesive.out file.

https://gpumd.zheyongfan.org/index.php/The_compute_cohesive_keyword

Parameters
  • start_factor – Smaller box-scaling factor

  • end_factor – Larger box-scaling factor

  • num_points – Number of points sampled uniformly from e1 to e1.

class gpyumd.keyword.ComputeDOS(sample_interval: int, num_corr_steps: int, max_omega: float, num_dos_points: Optional[int] = None, grouping_method: Optional[int] = None, group_id: Optional[int] = None)[source]

Bases: Keyword

Computes the phonon density of states (PDOS) using the mass-weighted velocity autocorrelation (VAC). The output is normalized such that the integral of the PDOS over all frequencies equals 3N, where N is the number of atoms. Output goes to dos.out and mvac.out files.

https://gpumd.zheyongfan.org/index.php/The_compute_dos_keyword

Parameters
  • sample_interval – Sampling interval between two correlation steps.

  • num_corr_steps – Total number of correlation steps.

  • max_omega – Maximum angular frequency to consider.

  • num_dos_points – Number of frequency points to be used in calculation. Default: num_corr_steps

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to calculate the spectral heat current of.

class gpyumd.keyword.ComputeElastic(strain_value: float, symmetry_type: str = 'cubic')[source]

Bases: Keyword

Computes the elastic constants and outputs to the elastic.out file.

https://gpumd.zheyongfan.org/index.php/The_compute_elastic_keyword

Parameters
  • strain_value – The amount of strain to be applied in the calculations.

  • symmetry_type – Currently only ‘cubic’ supported.

class gpyumd.keyword.ComputeGKMA(sample_interval: int, first_mode: int, last_mode: int, bin_option: str, size: Union[int, float])[source]

Bases: Keyword

Calculates the modal heat current using the Green-Kubo modal analysis (GKMA) method. Outputs data to the heatmode.out file.

https://gpumd.zheyongfan.org/index.php/The_compute_gkma_keyword

Parameters
  • sample_interval – The sampling interval (in number of steps) used to compute the modal heat current.

  • first_mode – First mode in the eigenvector.in file to include in the calculation.

  • last_mode – Last mode in the eigenvector.in file to include in the calculation.

  • bin_option – Only ‘bin_size’ or ‘f_bin_size’ are accepted.

  • size – If bin_option == ‘bin_size’, this is an integer describing how many modes per bin. If bin_option == ‘f_bin_size’, this describes bin size in THz.

class gpyumd.keyword.ComputeHAC(sample_interval: int, num_corr_steps: int, output_interval: int)[source]

Bases: Keyword

Calculates the heat current autocorrelation (HAC) and running thermal conductivity (RTC) using the Green-Kubo method. Outputs data to hac.out file.

https://gpumd.zheyongfan.org/index.php/Main_Page#Inputs_for_the_src.2Fgpumd_executable

Parameters
  • sample_interval – Sampling interval between two correlation steps.

  • num_corr_steps – Total number of correlation steps.

  • output_interval – The output interval of the HAC and RTC data.

class gpyumd.keyword.ComputeHNEMA(sample_interval: int, output_interval: int, first_mode: int, last_mode: int, bin_option: str, size: Union[int, float], driving_force_x: float = 0, driving_force_y: float = 0, driving_force_z: float = 0)[source]

Bases: Keyword

Computes the modal thermal conductivity using the homogeneous nonequilibrium modal analysis (HNEMA) method.

https://gpumd.zheyongfan.org/index.php/The_compute_hnema_keyword

Parameters
  • sample_interval – The sampling interval (in number of steps) used to compute the modal heat current.

  • output_interval – The interval to output the modal thermal conductivity. Each modal thermal conductivity output is averaged over all samples per output interval.

  • first_mode – First mode in the eigenvector.in file to include in the calculation.

  • last_mode – Last mode in the eigenvector.in file to include in the calculation.

  • bin_option – Only ‘bin_size’ or ‘f_bin_size’ are accepted.

  • size – If bin_option == ‘bin_size’, this is an integer describing how many modes per bin. If bin_option == ‘f_bin_size’, this describes bin size in THz.

  • driving_force_x – The x-component of the driving force. [Angstroms^-1]

  • driving_force_y – The y-component of the driving force. [Angstroms^-1]

  • driving_force_z – The z-component of the driving force. [Angstroms^-1]

class gpyumd.keyword.ComputeHNEMD(output_interval: int, driving_force_x: float = 0, driving_force_y: float = 0, driving_force_z: float = 0)[source]

Bases: Keyword

Calculates the thermal conductivity using the HNEMD method.

https://gpumd.zheyongfan.org/index.php/The_compute_hnemd_keyword

Parameters
  • output_interval – The output interval of the thermal conductivity.

  • driving_force_x – The x-component of the driving force. [Angstroms^-1]

  • driving_force_y – The y-component of the driving force. [Angstroms^-1]

  • driving_force_z – The z-component of the driving force. [Angstroms^-1]

class gpyumd.keyword.ComputePhonon(cutoff: float, displacement: float)[source]

Bases: Keyword

Computes the phonon dispersion using the finite-displacement method. Outputs data to the D.out and omega2.out files.

https://gpumd.zheyongfan.org/index.php/The_compute_phonon_keyword

A special eigenvector.in file can be generated for GKMA and HNEMA methods using compute_phonon. Follow the directions here: https://gpumd.zheyongfan.org/index.php/The_eigenvector.in_input_file

Parameters
  • cutoff – Cutoff distance for calculating the force constants. [Angstroms]

  • displacement – The displacement for calculating the force constants using the finite-displacment method. [Angstroms]

class gpyumd.keyword.ComputeSDC(sample_interval: int, num_corr_steps: int, grouping_method: Optional[int] = None, group_id: Optional[int] = None)[source]

Bases: Keyword

Computes the self diffusion coefficient (SDC) using the velocity autocorrelation (VAC). Outputs data to the sdc.out file

https://gpumd.zheyongfan.org/index.php/The_compute_sdc_keyword

Parameters
  • sample_interval – Sampling interval between two correlation steps.

  • num_corr_steps – Total number of correlation steps.

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to calculate the spectral heat current of.

class gpyumd.keyword.ComputeSHC(sample_interval: int, num_corr_steps: int, transport_direction: str, num_omega: int, max_omega: float, grouping_method: Optional[int] = None, group_id: Optional[int] = None)[source]

Bases: Keyword

Computes the non-equilibrium virial-velocity correlation function K(t) and the spectral heat current in a given direction for a group of atoms. Outputs data to the shc.out file.

https://gpumd.zheyongfan.org/index.php/The_compute_shc_keyword

Parameters
  • sample_interval – Sampling interval between two correlation steps.

  • num_corr_steps – Total number of correlation steps.

  • transport_direction – Only ‘x’, ‘y’, ‘z’ directions accepted.

  • num_omega – Number of frequency points to consider.

  • max_omega – Maximum angular frequency to consider.

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to calculate the spectral heat current of.

class gpyumd.keyword.Deform(strain_rate: float, deform_x: bool = False, deform_y: bool = False, deform_z: bool = False)[source]

Bases: Keyword

Deforms the simulation box. Can be used for tensile tests.

https://gpumd.zheyongfan.org/index.php/The_deform_keyword

Parameters
  • strain_rate – Speed of the increase of the box length. [Angstroms/step]

  • deform_x – True to deform in direction, False to not.

  • deform_y – True to deform in direction, False to not.

  • deform_z – True to deform in direction, False to not.

class gpyumd.keyword.DumpEXYZ(interval: int, has_velocity: bool = False, has_force: bool = False)[source]

Bases: Keyword

Dumps data into dump.xyz in the extended XYZ format

Parameters
  • interval – Number of time steps between each dump of the force data.

  • has_velocity – True to dump velocity data, False to not dump velocity data.

  • has_force – True to dump force data, False to not dump force data.

class gpyumd.keyword.DumpForce(interval: int, grouping_method: Optional[int] = None, group_id: Optional[int] = None)[source]

Bases: Keyword

Dump the atom forces to a text file named force.out

https://gpumd.zheyongfan.org/index.php/The_dump_force_keyword

Parameters
  • interval – Number of time steps between each dump of the force data.

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to dump the force of.

class gpyumd.keyword.DumpNetCDF(interval: int, precision: str = 'double')[source]

Bases: Keyword

Dump the atom positions in the NetCDF format.

https://gpumd.zheyongfan.org/index.php/The_dump_netcdf_keyword

Parameters
  • interval – Number of time steps between each dump of the position data.

  • precision – Only ‘single’ or ‘double’ is accepted. The default is ‘double’.

class gpyumd.keyword.DumpPosition(interval: int, grouping_method: Optional[int] = None, group_id: Optional[int] = None, precision: Optional[str] = None)[source]

Bases: Keyword

Dump the atom positions (coordinates) to a text file named movie.xyz

https://gpumd.zheyongfan.org/index.php/The_dump_position_keyword

Parameters
  • interval – Number of time steps between each dump of the position data.

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to dump the position of.

  • precision – Only ‘single’ or ‘double’ is accepted. The ‘%g’ format is used if nothing specified.

class gpyumd.keyword.DumpRestart(interval: int)[source]

Bases: Keyword

Dump data to the restart file

https://gpumd.zheyongfan.org/index.php/The_dump_restart_keyword

Parameters

interval – Number of time steps between each dump of the restart data.

class gpyumd.keyword.DumpThermo(interval: int)[source]

Bases: Keyword

Dumps global thermodynamic properties

https://gpumd.zheyongfan.org/index.php/The_dump_thermo_keyword

Parameters

interval – Number of time steps between each dump of the thermodynamic data.

class gpyumd.keyword.DumpVelocity(interval: int, grouping_method: Optional[int] = None, group_id: Optional[int] = None)[source]

Bases: Keyword

Dump the atom velocities to velocity.out

https://gpumd.zheyongfan.org/index.php/The_dump_velocity_keyword

Parameters
  • interval – Number of time steps between each dump of the velocity data.

  • grouping_method – The grouping method to use.

  • group_id – The group ID of the atoms to dump the velocity of.

class gpyumd.keyword.EnsembleHeat(method: str, temperature: float, thermostat_coupling: float, temperature_delta: float, source_group_id: int, sink_group_id: int)[source]

Bases: Keyword

Sets the ensemble to use heaters.

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

Parameters
  • method – Must be one of: ‘heat_nhc’, ‘heat_bdp’, ‘heat_lan’

  • temperature – Base temperature of the simulation. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

  • temperature_delta – Temperature change from base temperature [K]. (Note: total delta is twice this.)

  • source_group_id – The group ID (in grouping method 0) to source heat. (Note: +temperature_delta)

  • sink_group_id – The group ID (in grouping method 0) to sink heat. (Note: -temperature_delta)

class gpyumd.keyword.EnsembleNPT(method: str, condition: str, initial_temperature: float, final_temperature: float, thermostat_coupling: float, barostat_coupling: float, p_hydro: Optional[float] = None, c_hydro: Optional[float] = None, p_xx: Optional[float] = None, p_yy: Optional[float] = None, p_zz: Optional[float] = None, p_xy: Optional[float] = None, p_xz: Optional[float] = None, p_yz: Optional[float] = None, c_xx: Optional[float] = None, c_yy: Optional[float] = None, c_zz: Optional[float] = None, c_xy: Optional[float] = None, c_xz: Optional[float] = None, c_yz: Optional[float] = None, voigt: bool = False)[source]

Bases: Keyword

Sets the ensemble to NPT. Use of the class methods isotropic(), orthogonal(), and triclinic() recommended for instantiation.

Note the ‘voigt’ parameter which may need to be used depending on the GPUMD version (True if >=v3.3.1, else False).

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

Parameters
  • method – Must be one of: ‘npt_ber’, ‘npt_scr’

  • condition – One of ‘isotropic’, ‘orthogonal’, ‘triclinic’. Determines which pressures and elastic tensors are needed.

  • initial_temperature – Initial temperature of run. [K]

  • final_temperature – Final temperature of run. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

  • barostat_coupling – Coupling strength to the thermostat.

  • p_hydro – For ‘isotropic’ condition. [GPa]

  • c_hydro – For ‘isotropic’ condition. [GPa]

  • p_xx – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_yy – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_zz – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_xy – Pressure component for ‘triclinic’ condition. [GPa]

  • p_xz – Pressure component for ‘triclinic’ condition. [GPa]

  • p_yz – Pressure component for ‘triclinic’ condition. [GPa]

  • c_xx – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_yy – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_zz – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_xy – Elastic constant component for ‘triclinic’ condition. [GPa]

  • c_xz – Elastic constant component for ‘triclinic’ condition. [GPa]

  • c_yz – Elastic constant component for ‘triclinic’ condition. [GPa]

  • voigt – To use voigt notation or now for ‘triclinic’ condition. See online documentation for details.

default_elastic = 53.333333333333336
classmethod isotropic(method: str, initial_temperature: float, final_temperature: float, thermostat_coupling: float, barostat_coupling: float, p_hydro: float, c_hydro: float)[source]

Sets the ensemble to NPT with isotropic conditions.

Parameters
  • method – Must be one of: ‘npt_ber’, ‘npt_scr’

  • initial_temperature – Initial temperature of run. [K]

  • final_temperature – Final temperature of run. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

  • barostat_coupling – Coupling strength to the thermostat.

  • p_hydro – For ‘isotropic’ condition. [GPa]

  • c_hydro – For ‘isotropic’ condition. [GPa]

Returns

EnsembleNPT Keyword

classmethod orthogonal(method: str, initial_temperature: float, final_temperature: float, thermostat_coupling: float, barostat_coupling: float, p_xx: float, p_yy: float, p_zz: float, c_xx: float, c_yy: float, c_zz: float)[source]

Sets the ensemble to NPT with conditions for an orthogonal box.

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

Parameters
  • method – Must be one of: ‘npt_ber’, ‘npt_scr’

  • initial_temperature – Initial temperature of run. [K]

  • final_temperature – Final temperature of run. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

  • barostat_coupling – Coupling strength to the thermostat.

  • p_xx – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_yy – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_zz – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_xx – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_yy – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_zz – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

Returns

EnsembleNPT Keyword

classmethod triclinic(method: str, initial_temperature: float, final_temperature: float, thermostat_coupling: float, barostat_coupling: float, p_xx: float, p_yy: float, p_zz: float, p_xy: float, p_xz: float, p_yz: float, c_xx: float, c_yy: float, c_zz: float, c_xy: float, c_xz: float, c_yz: float, voigt: bool = False)[source]

Sets the ensemble to NPT with conditions for a triclinic box.

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

Parameters
  • method – Must be one of: ‘npt_ber’, ‘npt_scr’

  • initial_temperature – Initial temperature of run. [K]

  • final_temperature – Final temperature of run. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

  • barostat_coupling – Coupling strength to the thermostat.

  • p_xx – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_yy – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_zz – Pressure component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • p_xy – Pressure component for ‘triclinic’ condition. [GPa]

  • p_xz – Pressure component for ‘triclinic’ condition. [GPa]

  • p_yz – Pressure component for ‘triclinic’ condition. [GPa]

  • c_xx – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_yy – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_zz – Elastic constant component for ‘orthogonal’ & ‘triclinic’ condition. [GPa]

  • c_xy – Elastic constant component for ‘triclinic’ condition. [GPa]

  • c_xz – Elastic constant component for ‘triclinic’ condition. [GPa]

  • c_yz – Elastic constant component for ‘triclinic’ condition. [GPa]

  • voigt – To use voigt notation or now for ‘triclinic’ condition. See online documentation for details.

Returns

EnsembleNPT Keyword

class gpyumd.keyword.EnsembleNVE[source]

Bases: Keyword

Sets the ensemble to be NVE.

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

class gpyumd.keyword.EnsembleNVT(method: str, initial_temperature: float, final_temperature: float, thermostat_coupling: float)[source]

Bases: Keyword

Sets the ensemble to be NVT.

https://gpumd.zheyongfan.org/index.php/The_ensemble_keyword

Parameters
  • method – Must be one of: ‘nvt_ber’, ‘nvt_nhc’, ‘nvt_bdp’, ‘nvt_lan’

  • initial_temperature – Initial temperature of run. [K]

  • final_temperature – Final temperature of run. [K]

  • thermostat_coupling – Coupling strength to the thermostat.

class gpyumd.keyword.Fix(group_id: int)[source]

Bases: Keyword

Fixes (freezes) a group of atoms in group method 0.

https://gpumd.zheyongfan.org/index.php/The_fix_keyword

Parameters

group_id – The group id of the atoms to freeze.

class gpyumd.keyword.Keyword(keyword: str, propagating: bool = False, take_immediate_action: bool = False)[source]

Bases: object

The base class for all GPUMD keywords

Parameters
  • keyword – The keyword for the run.in file

  • propagating – Used to determine if a keyword propogates between runs.

  • take_immediate_action – Used to determine if a keword is evaluated immediately. If True, only one keyword allowed for each run.

get_entry() str[source]

Gets the line for the run.in file based on the keyword and parameters.

Returns

The entry to the run.in file for GPUMD

valid_group_options(grouping_method: Optional[int] = None, group_id: Optional[int] = None) bool[source]
class gpyumd.keyword.Minimize(force_tolerance: float, max_iterations: int, method: str = 'sd')[source]

Bases: Keyword

Minimizes the energy of the system. Currently only the steepest descent method has been implemented.

https://gpumd.zheyongfan.org/index.php/The_minimize_keyword

Parameters
  • force_tolerance – The maximum force component allowed for minimization to continue. [eV/A]

  • max_iterations – Number of iterations to perform before the minimization stops.

  • method – Only ‘sd’ is supported at this time.

class gpyumd.keyword.NeighborOff[source]

Bases: Keyword

Tells GPUMD to not update the neighbor list during simulations. Should only be used when there is no atom diffusion in the simulation.

https://gpumd.zheyongfan.org/index.php/The_neighbor_keyword

class gpyumd.keyword.Potential(filename: str, symbols: Optional[List[str]] = None, grouping_method: Optional[int] = None, directory: Optional[str] = None)[source]

Bases: Keyword

Special keyword that contains basic information about the potential. Note: This does NOT check if the formatting of the potential is correct. It also does not provide the full grammar of the kewyord.

https://gpumd.zheyongfan.org/index.php/The_potential_keyword

Parameters
  • filename – Filename of the potential.

  • symbols – A list of atomic symbols associated with the potential. Required for all but LJ potentials. The order is important.

  • grouping_method – The grouping method used to exclude intra-material interactions for LJ potentials.

  • directory – The directory in which the potential will be found. If None provided, assumes potential will be in current directory.

get_entry_rel_path(driver_directory: str, sim_directory: Optional[str] = None) str[source]

Gets the entry for a run.in file for the potential keyword. This is a special call used instead of ‘get_entry’ like other keywords.

Parameters
  • driver_directory – The directory that the driver file is in.

  • sim_directory – Directory of simulation. Not None only when potentials will be copied to the simulation directory.

Returns

Entry for run.in

set_types(types: List[int]) None[source]
supported_potentials = ['tersoff_1989', 'tersoff_1988', 'tersoff_mini', 'sw_1985', 'rebo_mos2', 'eam_zhou_2004', 'eam_dai_2006', 'vashishta', 'fcp', 'nep', 'nep_zbl', 'nep3', 'nep3_zbl', 'nep4', 'nep4_zbl', 'lj', 'ri']
update_symbols(symbols: List[str]) None[source]
class gpyumd.keyword.RunKeyword(number_of_steps: int)[source]

Bases: Keyword

Run a number of steps according to the settings specified for the current run.

https://gpumd.zheyongfan.org/index.php/The_run_keyword

Parameters

number_of_steps – Number of steps to run.

class gpyumd.keyword.TimeStep(dt_in_fs: float, max_distance_per_step: Optional[float] = None)[source]

Bases: Keyword

Sets the time step for integration.

https://gpumd.zheyongfan.org/index.php/The_time_step_keyword

Parameters
  • dt_in_fs – The time step to use for integration [fs]

  • max_distance_per_step – The maximum distance an atom can travel within one step [Angstroms]

class gpyumd.keyword.Velocity(initial_temperature: float)[source]

Bases: Keyword

Initializes the velocities of atoms according to a given temperature.

https://gpumd.zheyongfan.org/index.php/The_velocity_keyword

Parameters

initial_temperature – Initial temperature of the system. [K]