">> FOREACH" string in the input file became invalid syntax. EMIL not recognized?
Dear all,
I performed the bond distance constrained optimization calculation using OpenMolcas v23.06 tag: 125-ge735ca47, but the program showed error information. Below is the input file:
>> FOREACH D in (2.000)
&GATEWAY
coord=cation-singlet-scan-2.0.xyz
basis=DEF-TZVP
Constraints
d = Bond N2 N7
Values
d = $D Angstrom
End of Constraints
>> COPY $MOLCAS/input/singlet-2.0-cas87.RasOrb INPORB
>> DO WHILE
&SEWARD
grid input
grid=ultrafine
end of grid input
&SCF
charge=+1
zspin=0
&RASSCF
LUMOrb
nactel = 8
inactive= 31
ras2 = 7
spin = 1
&MCPDFT
KSDFT = T:PBE
LAMB = 0.25
GRAD
&MCLR
&ALASKA
&SLAPAF
THRShld = 1.0e-6 3.0e-4
MAXStep = 0.1
>> END DO
The output error information showed below:
Traceback (most recent call last):
File "<string>", line 521, in read_input
File "<string>", line 22, in Python_Parse
File "<string>", line 509, in __init__
File "./1.input", line 1
>> FOREACH D in (2.000)
^
SyntaxError: invalid syntax
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/qjq/openmolcas/./pymolcas", line 596, in <module>
sys.exit(main(os.path.realpath(f)))
File "<string>", line 217, in main
File "<string>", line 524, in read_input
File "<string>", line 74, in EMIL_Parse
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/util.py", line 256, in _inner
return fn(self, *args, **kwargs)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 1956, in parse_file
return self.parse_string(file_contents, parseAll)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 1187, in parse_string
loc, tokens = self._parse(instring, 0)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 850, in _parseNoCache
loc, tokens = self.parseImpl(instring, pre_loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 5102, in parseImpl
return super().parseImpl(instring, loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 5000, in parseImpl
loc, tokens = self_expr_parse(instring, loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 850, in _parseNoCache
loc, tokens = self.parseImpl(instring, pre_loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 4293, in parseImpl
return e._parse(
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 850, in _parseNoCache
loc, tokens = self.parseImpl(instring, pre_loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 4059, in parseImpl
loc, exprtokens = e._parse(instring, loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 850, in _parseNoCache
loc, tokens = self.parseImpl(instring, pre_loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 4569, in parseImpl
return self.expr._parse(instring, loc, doActions, callPreParse=False)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 850, in _parseNoCache
loc, tokens = self.parseImpl(instring, pre_loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 4059, in parseImpl
loc, exprtokens = e._parse(instring, loc, doActions)
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 889, in _parseNoCache
tokens = fn(instring, tokens_start, ret_tokens) # type: ignore [call-arg, arg-type]
File "/home/qjq/.local/lib/python3.9/site-packages/pyparsing/core.py", line 293, in wrapper
ret = func(*args[limit:])
File "<string>", line 36, in removeEMILEndAction
File "<string>", line 36, in <lambda>
TypeError: pyparsing_unicode() takes no arguments
And if I ran a job without the keywords ">> FOREACH" or ">>COPY" or ">>DO WHILE", these kinds of jobs ran smoothly. Is this the python problem or Openmolcas problem? How to solve it? Many Thanks.
Edited by Jianqin Qian