Unverified Commit 097c5b75 authored by Peter Eastman's avatar Peter Eastman Committed by GitHub
Browse files

Support multiple XML files with AMOEBA GK (#3625)

parent c47fc7ce
...@@ -5518,16 +5518,21 @@ class AmoebaWcaDispersionGenerator(object): ...@@ -5518,16 +5518,21 @@ class AmoebaWcaDispersionGenerator(object):
# <WcaDispersion class="1" radius="0.1855" epsilon="0.46024" /> # <WcaDispersion class="1" radius="0.1855" epsilon="0.46024" />
# <WcaDispersion class="2" radius="0.191" epsilon="0.422584" /> # <WcaDispersion class="2" radius="0.191" epsilon="0.422584" />
generator = AmoebaWcaDispersionGenerator(element.attrib['epso'], existing = [f for f in forceField._forces if isinstance(f, AmoebaWcaDispersionGenerator)]
element.attrib['epsh'], if len(existing) == 0:
element.attrib['rmino'], generator = AmoebaWcaDispersionGenerator(element.attrib['epso'],
element.attrib['rminh'], element.attrib['epsh'],
element.attrib['awater'], element.attrib['rmino'],
element.attrib['slevy'], element.attrib['rminh'],
element.attrib['dispoff'], element.attrib['awater'],
element.attrib['shctd']) element.attrib['slevy'],
forceField._forces.append(generator) element.attrib['dispoff'],
generator.params = ForceField._AtomTypeParameters(forceField, 'AmoebaWcaDispersionForce', 'WcaDispersion', ('radius', 'epsilon')) element.attrib['shctd'])
forceField.registerGenerator(generator)
generator.params = ForceField._AtomTypeParameters(forceField, 'AmoebaWcaDispersionForce', 'WcaDispersion', ('radius', 'epsilon'))
else:
# Multiple <AmoebaWcaDispersionForce> tags were found, probably in different files. Simply add more types to the existing one.
generator = existing[0]
generator.params.parseDefinitions(element) generator.params.parseDefinitions(element)
#========================================================================================= #=========================================================================================
...@@ -5750,10 +5755,17 @@ class AmoebaGeneralizedKirkwoodGenerator(object): ...@@ -5750,10 +5755,17 @@ class AmoebaGeneralizedKirkwoodGenerator(object):
# <GeneralizedKirkwood type="1" charge="-0.22620" shct="0.79" /> # <GeneralizedKirkwood type="1" charge="-0.22620" shct="0.79" />
# <GeneralizedKirkwood type="2" charge="-0.15245" shct="0.72" /> # <GeneralizedKirkwood type="2" charge="-0.15245" shct="0.72" />
generator = AmoebaGeneralizedKirkwoodGenerator(forceField, element.attrib['solventDielectric'], element.attrib['soluteDielectric'], existing = [f for f in forceField._forces if isinstance(f, AmoebaGeneralizedKirkwoodGenerator)]
element.attrib['includeCavityTerm'], if len(existing) == 0:
element.attrib['probeRadius'], element.attrib['surfaceAreaFactor']) generator = AmoebaGeneralizedKirkwoodGenerator(forceField, element.attrib['solventDielectric'],
forceField._forces.append(generator) element.attrib['soluteDielectric'],
element.attrib['includeCavityTerm'],
element.attrib['probeRadius'],
element.attrib['surfaceAreaFactor'])
forceField.registerGenerator(generator)
else:
# Multiple <AmoebaGeneralizedKirkwoodFprce> tags were found, probably in different files. Simply add more types to the existing one.
generator = existing[0]
#========================================================================================= #=========================================================================================
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment