Skip to content

Commit

Permalink
Merge pull request #32 from pyiron/dev_raynol
Browse files Browse the repository at this point in the history
Merge working protocols into master
  • Loading branch information
raynol-dsouza authored Dec 3, 2020
2 parents 8d05fe9 + 022ab5f commit 73b4484
Show file tree
Hide file tree
Showing 17 changed files with 6,094 additions and 2,083 deletions.
11 changes: 9 additions & 2 deletions pyiron_contrib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,17 @@
# Make classes available for new pyiron version
JOB_CLASS_DICT['ProtocolMinimize'] = 'pyiron_contrib.protocol.compound.minimize'
JOB_CLASS_DICT['ProtocolMD'] = 'pyiron_contrib.protocol.compound.molecular_dynamics'
JOB_CLASS_DICT['ProtocolConfinedMD'] = 'pyiron_contrib.protocol.compound.molecular_dynamics'
JOB_CLASS_DICT['ProtocolHarmonicMD'] = 'pyiron_contrib.protocol.compound.molecular_dynamics'
JOB_CLASS_DICT['ProtocolNEB'] = 'pyiron_contrib.protocol.compound.nudged_elastic_band'
JOB_CLASS_DICT['ProtocolQMMM'] = 'pyiron_contrib.protocol.compound.qmmm'
JOB_CLASS_DICT['ProtocolHarmonicTILD'] = 'pyiron_contrib.protocol.compound.tild'
JOB_CLASS_DICT['ProtocolHarmonicTILDParallel'] = 'pyiron_contrib.protocol.compound.tild'
JOB_CLASS_DICT['ProtocolHarmonicTILD'] = 'pyiron_contrib.protocol.compound.thermodynamic_integration'
JOB_CLASS_DICT['ProtocolHarmonicTILDParallel'] = 'pyiron_contrib.protocol.compound.thermodynamic_integration'
JOB_CLASS_DICT['ProtocolVacancyTILD'] = 'pyiron_contrib.protocol.compound.thermodynamic_integration'
JOB_CLASS_DICT['ProtocolVacancyTILDParallel'] = 'pyiron_contrib.protocol.compound.thermodynamic_integration'
JOB_CLASS_DICT['ProtocolVacancyFormation'] = 'pyiron_contrib.protocol.compound.thermodynamic_integration'
JOB_CLASS_DICT['ProtocolFTSEvolution'] = 'pyiron_contrib.protocol.compound.finite_temperature_string'
JOB_CLASS_DICT['ProtocolFTSEvolutionParallel'] = 'pyiron_contrib.protocol.compound.finite_temperature_string'
JOB_CLASS_DICT['ImageJob'] = 'pyiron_contrib.image.job'
JOB_CLASS_DICT['RandSpg'] = 'pyiron_contrib.atomistic.atomistics.structures.randspg'

Expand Down
1,213 changes: 434 additions & 779 deletions pyiron_contrib/protocol/compound/finite_temperature_string.py

Large diffs are not rendered by default.

23 changes: 15 additions & 8 deletions pyiron_contrib/protocol/compound/minimize.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ def define_execution_flow(self):
g.calc_static,
g.force_norm,
g.max_force,
g.check_force, 'true',
g.gradient_descent,
g.check_force, 'true',
g.clock,
g.check_steps
)
Expand All @@ -103,30 +103,37 @@ def define_information_flow(self):
gp = Pointer(self.graph)
ip = Pointer(self.input)

# check_steps
g.check_steps.input.target = gp.clock.output.n_counts[-1]
g.check_steps.input.threshold = ip.n_steps

# calc_static
g.calc_static.input.ref_job_full_path = ip.ref_job_full_path
g.calc_static.input.structure = ip.structure
g.calc_static.input.default.positions = ip.structure.positions
g.calc_static.input.positions = gp.gradient_descent.output.positions[-1]

g.check_steps.input.target = gp.clock.output.n_counts[-1]
g.check_steps.input.threshold = ip.n_steps

# force_norm
g.force_norm.input.x = gp.calc_static.output.forces[-1]
g.force_norm.input.ord = 2
g.force_norm.input.axis = -1

# max_force
g.max_force.input.a = gp.force_norm.output.n[-1]

g.check_force.input.target = gp.max_force.output.amax[-1]
g.check_force.input.threshold = ip.f_tol

# gradient_descent
g.gradient_descent.input.default.positions = ip.structure.positions
g.gradient_descent.input.forces = gp.calc_static.output.forces[-1]
g.gradient_descent.input.positions = gp.gradient_descent.output.positions[-1]
g.gradient_descent.input.forces = gp.calc_static.output.forces[-1]
g.gradient_descent.input.masses = ip.structure.get_masses
g.gradient_descent.input.gamma0 = ip.gamma0
g.gradient_descent.input.fix_com = ip.fix_com
g.gradient_descent.input.use_adagrad = ip.use_adagrad

# check_force
g.check_force.input.target = gp.max_force.output.amax[-1]
g.check_force.input.threshold = ip.f_tol

self.set_graph_archive_clock(gp.clock.output.n_counts[-1])

def get_output(self):
Expand Down
Loading

0 comments on commit 73b4484

Please sign in to comment.