Convert AMS Text Input or Run File to PLAMS Format¶
Downloads: Notebook | Script ?
Related examples
Related tutorials
Related documentation
Convert AMS text input settings to what you would type in a PLAMS script¶
inp = """
Task GeometryOptimization
GeometryOptimization
MaxIterations 10000
PretendConverged Yes
End
Engine ADF
Basis
Type DZP
End
XC
GGA PBE
End
Solvation
C-Mat Potential
Charged Method=Conjugate-Gradient
SCF Variational
Solv Epsilon=78.4 Radius=1.4 Cav0=1.321 Cav1=0.0067639
Surf Delley
End
EndEngine
"""
from scm.utils.convert_run_to_plams import to_settings
print(to_settings(inp, [], {}))
s = Settings()
s.input.ams.Task = 'GeometryOptimization'
s.input.ADF = Settings()
s.input.ADF.Basis.Type = 'DZP'
s.input.ADF.Solvation["C-Mat"] = 'Potential'
s.input.ADF.Solvation.Charged = 'Method=Conjugate-Gradient'
s.input.ADF.Solvation.SCF = 'Variational'
s.input.ADF.Solvation.Solv = 'Epsilon=78.4 Radius=1.4 Cav0=1.321 Cav1=0.0067639'
s.input.ADF.Solvation.Surf = 'delley'
s.input.ADF.XC.GGA = 'PBE'
s.input.ams.GeometryOptimization.MaxIterations = '10000'
s.input.ams.GeometryOptimization.PretendConverged = 'True'
s.runscript.preamble_lines = []
s.runscript.postamble_lines = []
Convert AMS text input settings to a Settings object¶
from scm.plams import AMSJob
settings = AMSJob.from_input(inp).settings
print(f"{type(settings)=}")
print(settings)
type(settings)=<class 'scm.plams.core.settings.Settings'>
input:
ADF:
Basis:
Type: DZP
Solvation:
C-Mat: Potential
Charged: Method=Conjugate-Gradient
SCF: Variational
Solv: Epsilon=78.4 Radius=1.4 Cav0=1.321 Cav1=0.0067639
Surf: delley
XC:
GGA: PBE
ams:
Task: GeometryOptimization
on_status_change: <empty Settings>
See also¶
Python Script¶
#!/usr/bin/env python
# coding: utf-8
# ## Convert AMS text input settings to what you would type in a PLAMS script
inp = """
Task GeometryOptimization
GeometryOptimization
MaxIterations 10000
PretendConverged Yes
End
Engine ADF
Basis
Type DZP
End
XC
GGA PBE
End
Solvation
C-Mat Potential
Charged Method=Conjugate-Gradient
SCF Variational
Solv Epsilon=78.4 Radius=1.4 Cav0=1.321 Cav1=0.0067639
Surf Delley
End
EndEngine
"""
from scm.utils.convert_run_to_plams import to_settings
print(to_settings(inp, [], {}))
# ## Convert AMS text input settings to a Settings object
from scm.plams import AMSJob
settings = AMSJob.from_input(inp).settings
print(f"{type(settings)=}")
print(settings)