forcefield_step package#

Submodules#

forcefield_step.forcefield module#

A node or step for the forcefield in a flowchart

class forcefield_step.forcefield.Forcefield(flowchart=None, extension=None)[source]#

Bases: Node

assign_forcefield(P=None, configuration=None)[source]#

Assign the forcefield to the structure, i.e. find the atom types and charges.

Parameters:

P ({str: Any}) – The final values of the parameters.

Return type:

None

description_text(P=None)[source]#

Return a short description of this step.

Return a nicely formatted string describing what this step will do.

Keyword Arguments:

P – a dictionary of parameter values, which may be variables or final values. If None, then the parameters values will be used as is.

property git_revision#

The git version of this module.

run()[source]#

Setup the forcefield

setup_forcefield(P=None)[source]#

Setup the forcefield for later use.

Parameters:

P ({str: Any}) – The final values of the parameters.

Return type:

None

property version#

The semantic version of this module.

forcefield_step.forcefield_parameters module#

Control parameters for using forcefields

class forcefield_step.forcefield_parameters.ForcefieldParameters(defaults={}, data=None)[source]#

Bases: Parameters

The control parameters for forcefields

parameters = {'elements': {'default': '', 'default_units': None, 'description': 'Elements:', 'enumeration': None, 'format_string': '', 'help_text': 'The elements to include.', 'kind': 'periodic table'}, 'forcefield': {'default': 'default', 'default_units': '', 'description': 'Forcefield:', 'enumeration': ('default',), 'format_string': 's', 'help_text': 'The forcefield with the file.', 'kind': 'enumeration'}, 'forcefield_file': {'default': 'OpenKIM', 'default_units': '', 'description': 'Forcefield Repository:', 'enumeration': ('OpenKIM', 'lithium_battery.frc', 'nacl_water.frc', 'oplsaa.frc', 'pcff2018.frc'), 'format_string': 's', 'help_text': 'The forcefield repository or file to use.', 'kind': 'enumeration'}, 'potentials': {'default': '', 'default_units': '', 'description': 'Interatomic Potentials:', 'enumeration': ('will be replaced',), 'format_string': 's', 'help_text': 'The interatomic potentials to use.', 'kind': 'enumeration'}, 'task': {'default': 'setup forcefield', 'default_units': '', 'description': 'What to do:', 'enumeration': ('setup forcefield', 'assign forcefield to structure'), 'format_string': 's', 'help_text': 'What to do with the forcefield.', 'kind': 'enumeration'}}#

forcefield_step.forcefield_step module#

Helper class needed for the stevedore integration. Needs to provide a description() method that returns a dict containing a description of this node, and a factory() method for creating the graphical and non-graphical nodes.

class forcefield_step.forcefield_step.ForcefieldStep(flowchart=None, gui=None)[source]#

Bases: object

create_node(flowchart=None, **kwargs)[source]#

Return a new node object

create_tk_node(canvas=None, **kwargs)[source]#

Return the graphical Tk node object

description()[source]#

Return a description of what this extension does

my_description = {'description': 'An interface for the setup and control of the forcefield', 'group': 'Simulations', 'name': 'Forcefield'}#

forcefield_step.tk_forcefield module#

The graphical part of a Forcefield step

class forcefield_step.tk_forcefield.TkForcefield(tk_flowchart=None, node=None, canvas=None, x=None, y=None, w=200, h=50)[source]#

Bases: TkNode

The graphical part of a forcefield step

create_dialog()[source]#

Create the dialog for editing the Forcefield flowchart

edit()[source]#

Present a dialog for editing this step’s parameters. We need to recreate the PeriodicTable for some reason

reset_dialog(widget=None)[source]#

Layout the widgets as needed for the current state

right_click(event)[source]#

Probably need to add our dialog…

update_potentials(elements)[source]#

Update the list of possible OpenKIM potentials as the element selection changes.

Module contents#

forcefield_step A step for choosing the default forcefield.