Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self.logger.debug("\nSetting input file to 'test_continue.in'\n")
input_file='test_continue.in'
## The general options and target options that come from parsing the input file
self.logger.debug("Parsing inputs...\n")
options, tgt_opts = parse_inputs(input_file)
options['continue'] = True
self.logger.debug("options:\n%s\n\ntgt_opts:\n%s\n\n" % (str(options), str(tgt_opts)))
self.assertEqual(dict,type(options), msg="\nParser gave incorrect type for options")
self.assertEqual(list,type(tgt_opts), msg="\nParser gave incorrect type for tgt_opts")
for target in tgt_opts:
self.assertEqual(dict, type(target), msg="\nParser gave incorrect type for target dict")
## The force field component of the project
forcefield = FF(options)
self.assertEqual(FF, type(forcefield), msg="\nExpected forcebalance forcefield object")
## The objective function
objective = Objective(options, tgt_opts, forcefield)
self.assertEqual(Objective, type(objective), msg="\nExpected forcebalance objective object")
## The optimizer component of the project
self.logger.debug("Creating optimizer: ")
optimizer = Optimizer(options, objective, forcefield)
self.assertEqual(Optimizer, type(optimizer), msg="\nExpected forcebalance optimizer object")
self.logger.debug(str(optimizer) + "\n")
## Actually run the optimizer.
self.logger.debug("Done setting up! Running optimizer...\n")
result = optimizer.Run()
self.logger.debug("\nOptimizer finished. Final results:\n")
def setUp(self):
self.options=forcebalance.parser.gen_opts_defaults.copy()
self.options.update({
'root': os.getcwd() + '/test/files',
'penalty_additive': 0.01,
'jobtype': 'NEWTON',
'forcefield': ['cc-pvdz-overlap-original.gbs']})
os.chdir(self.options['root'])
try:
self.ff = forcebalance.forcefield.FF(self.options)
self.np=self.ff.np
except:
self.skipTest("Unable to create forcefield needed for penalty tests")
self.penalties = []
for ptype in forcebalance.objective.Penalty.Pen_Names.keys():
penalty = forcebalance.objective.Penalty(ptype,
self.ff,
self.options['penalty_additive'],
self.options['penalty_multiplicative'],
self.options['penalty_hyperbolic_b'],
self.options['penalty_alpha'])
self.penalties.append(penalty)
def test_FF_yields_consistent_results(self):
"""Check whether multiple calls to FF yield the same result"""
self.logger.debug("\nChecking consistency of ForceField constructor\n")
self.assertEqual(forcefield.FF(self.options),forcefield.FF(self.options),
msg = "\nGot two different forcefields despite using the same options as input")
self.logger.debug("\nSetting input file to 'optimize.in'\n")
input_file='optimize.in'
## The general options and target options that come from parsing the input file
self.logger.debug("Parsing inputs...\n")
options, tgt_opts = parse_inputs(input_file)
self.logger.debug("options:\n%s\n\ntgt_opts:\n%s\n\n" % (str(options), str(tgt_opts)))
self.assertEqual(dict,type(options), msg="\nParser gave incorrect type for options")
self.assertEqual(list,type(tgt_opts), msg="\nParser gave incorrect type for tgt_opts")
for target in tgt_opts:
self.assertEqual(dict, type(target), msg="\nParser gave incorrect type for target dict")
## The force field component of the project
self.logger.debug("Creating forcefield using loaded options: ")
forcefield = FF(options)
self.logger.debug(str(forcefield) + "\n")
self.assertEqual(FF, type(forcefield), msg="\nExpected forcebalance forcefield object")
## The objective function
self.logger.debug("Creating object using loaded options and forcefield: ")
objective = Objective(options, tgt_opts, forcefield)
self.logger.debug(str(objective) + "\n")
self.assertEqual(Objective, type(objective), msg="\nExpected forcebalance objective object")
## The optimizer component of the project
self.logger.debug("Creating optimizer: ")
optimizer = Optimizer(options, objective, forcefield)
self.logger.debug(str(optimizer) + "\n")
self.assertEqual(Optimizer, type(optimizer), msg="\nExpected forcebalance optimizer object")
## Actually run the optimizer.
def setUp(self):
self.logger.debug("Setting up options...\n")
self.options=forcebalance.parser.gen_opts_defaults.copy()
self.options.update({
'root': os.getcwd() + '/test/files',
'penalty_additive': 0.01,
'jobtype': 'NEWTON',
'forcefield': ['cc-pvdz-overlap-original.gbs']})
self.logger.debug(str(self.options) + '\n')
os.chdir(self.options['root'])
self.logger.debug("Creating forcefield using above options... ")
self.ff = forcefield.FF(self.options)
self.ffname = self.options['forcefield'][0][:-3]
self.filetype = self.options['forcefield'][0][-3:]
self.logger.debug("ok\n")
def setUp(self):
self.options=forcebalance.parser.gen_opts_defaults.copy()
self.options.update({
'root': os.getcwd() + '/test/files',
'penalty_additive': 0.01,
'jobtype': 'NEWTON',
'forcefield': ['water.itp']})
os.chdir(self.options['root'])
self.logger.debug("\nUsing the following options:\n%s\n" % str(self.options))
self.tgt_opts = [ forcebalance.parser.tgt_opts_defaults.copy() ]
self.tgt_opts[0].update({"type" : "ABINITIO_GMX", "name" : "cluster-06"})
self.ff = forcebalance.forcefield.FF(self.options)
self.objective = forcebalance.objective.Objective(self.options, self.tgt_opts,self.ff)
self.logger.debug("\nSetting input file to 'options.in'\n")
input_file='options.in'
## The general options and target options that come from parsing the input file
self.logger.debug("Parsing inputs...\n")
options, tgt_opts = parse_inputs(input_file)
self.logger.debug("options:\n%s\n\ntgt_opts:\n%s\n\n" % (str(options), str(tgt_opts)))
self.assertEqual(dict,type(options), msg="\nParser gave incorrect type for options")
self.assertEqual(list,type(tgt_opts), msg="\nParser gave incorrect type for tgt_opts")
for target in tgt_opts:
self.assertEqual(dict, type(target), msg="\nParser gave incorrect type for target dict")
## The force field component of the project
self.logger.debug("Creating forcefield using loaded options: ")
forcefield = FF(options)
self.logger.debug(str(forcefield) + "\n")
self.assertEqual(FF, type(forcefield), msg="\nExpected forcebalance forcefield object")
## The objective function
self.logger.debug("Creating object using loaded options and forcefield: ")
objective = Objective(options, tgt_opts, forcefield)
self.logger.debug(str(objective) + "\n")
self.assertEqual(Objective, type(objective), msg="\nExpected forcebalance objective object")
## The optimizer component of the project
self.logger.debug("Creating optimizer: ")
optimizer = Optimizer(options, objective, forcefield)
self.logger.debug(str(optimizer) + "\n")
self.assertEqual(Optimizer, type(optimizer), msg="\nExpected forcebalance optimizer object")
## Actually run the optimizer.
def setUp(self):
self.options=forcebalance.parser.gen_opts_defaults.copy()
self.options.update({
'root': os.getcwd() + '/test/files',
'penalty_additive': 0.01,
'jobtype': 'NEWTON',
'forcefield': ['bro.itp']})
os.chdir(self.options['root'])
self.logger.debug("\nUsing the following options:\n%s\n" % str(self.options))
self.tgt_opts = [ forcebalance.parser.tgt_opts_defaults.copy() ]
self.tgt_opts[0].update({"type" : "LIQUID_GMX", "name" : "LiquidBromine"})
self.ff = forcebalance.forcefield.FF(self.options)
self.objective = forcebalance.objective.Objective(self.options, self.tgt_opts,self.ff)
def energy_force_driver_all(self):
""" Here we actually compute the interactions and return the
energies and forces. I verified this to give the same answer
as GROMACS. """
M = []
# Loop through the snapshots
ThisFF = FF({'forcefield':['tip3p.xml'], 'ffdir':'', 'priors':{}},verbose=False)
r_0 = ThisFF.pvals0[ThisFF.map['HarmonicBondForce.Bond/length/OW.HW']] * 10
k_ij = ThisFF.pvals0[ThisFF.map['HarmonicBondForce.Bond/k/OW.HW']]
t_0 = ThisFF.pvals0[ThisFF.map['HarmonicAngleForce.Angle/angle/HW.OW.HW']] * 180 / np.pi
k_ijk = ThisFF.pvals0[ThisFF.map['HarmonicAngleForce.Angle/k/HW.OW.HW']]
q_o = ThisFF.pvals0[ThisFF.map['NonbondedForce.Atom/charge/tip3p-O']]
q_h = ThisFF.pvals0[ThisFF.map['NonbondedForce.Atom/charge/tip3p-H']]
sig = ThisFF.pvals0[ThisFF.map['NonbondedForce.Atom/sigma/tip3p-O']]
eps = ThisFF.pvals0[ThisFF.map['NonbondedForce.Atom/epsilon/tip3p-O']]
facel = 1389.35410
for I in range(self.ns):
xyz = self.traj.xyzs[I]
Bond_Energy = 0.0
Angle_Energy = 0.0
VdW_Energy = 0.0
Coulomb_Energy = 0.0