How to define different kinds of carbon atoms when using USPEX2022.1 & GULP?

29 views
Skip to first unread message

团山通讯

unread,
Feb 5, 2023, 10:46:44 PM2/5/23
to USPEX

I am using USPEX2022.1 & GULP to predict the crystal structure of organic molecules. After imitating the example “EX37-3D-molecules_H2O_gulp”, I have succeeded in several other simple molecules. But when acting on complex organic molecules, one problem confused me. How to define different kinds of carbon atoms? For example, the molecule contains four kinds of carbons:

# C_33 carbon, sp3, 3 implicit hydrogens

# C_22 carbon, sp2, 2 implicit hydrogens

# C_R1 carbon, resonant, 1 implicit hydrogen

# C_11 carbon, sp1, 1 implicit hydrogen

 

I do it as follows:

Firstly, define these carbons in MOL file:

   C1  -5.5156  -0.5424  -3.0435    0  0  0   0

   C2  -5.2358   0.3520  -3.2512    1  0  0   0

   C3  -4.7760  -0.3260  -0.7741    2  1  0   0

   C4  -3.4768  -0.0386  -1.1602    3  2  1   0

…… ……

H1  -3.2552  -0.0680  -2.0562    7  5  4   1

H1  -6.0013  -0.5628   0.8285    8  6  5   0

…… ……

…… ……

Secondly, modify the “Species” section in the ginput file:

Species

C1 core C_33

C2 core C_R1

C3 core C_22

C4 core C_11

H1 core H_

…… ……

 

But when running, the following error message appears:

2023-02-01 12:31:59,515 - numexpr.utils - INFO - NumExpr defaulting to 4 threads.

2023-02-01 12:32:41,364 - USPEX.Target - ERROR -

Traceback (most recent call last):

  File "USPEX/Target.py", line 65, in USPEX.Target.Target.__init__

  File "USPEX/Atomistic/SimpleMoleculeUtility.py", line 49, in USPEX.Atomistic.SimpleMoleculeUtility.SimpleMoleculeUtility.__init__

  File "USPEX/Atomistic/Element.py", line 198, in USPEX.Atomistic.Element.Element.__init__

ValueError

2023-02-01 12:32:41,528 - USPEX.Target - INFO - Following utilities was not initialized: ['PowderSpectrumAnalyzer', 'SingleCrystalSpectrumAnalyzer'].

2023-02-01 12:32:41,529 - USPEX.main - ERROR - 'types.SimpleNamespace' object has no attribute 'simpleMoleculeUtility'

Traceback (most recent call last):

  File "/home/txj/anaconda3/lib/python3.8/site-packages/USPEX/main.py", line 107, in _run

    asyncio.get_event_loop().run_until_complete(GenerationController.createController().run())

  File "/home/txj/anaconda3/lib/python3.8/site-packages/USPEX/GenerationController.py", line 81, in createController

    optimizer = GenerationController.knownOptimizers[optimizer['type']](**optimizer)

  File "USPEX/GlobalOptimizer.py", line 77, in USPEX.GlobalOptimizer.GlobalOptimizer.__init__

  File "USPEX/Target.py", line 74, in USPEX.Target.Target.__init__

  File "USPEX/Atomistic/Constraints.py", line 17, in USPEX.Atomistic.Constraints.Constraints.__init__

AttributeError: 'types.SimpleNamespace' object has no attribute 'simpleMoleculeUtility'

 

 

One alternative solution is changing the Dreiding force field into others (for example pGFNFF, which does not require specific atomic species to be specified). But Dreiding force field can give more accurate results in some cases.

 

If anyone can help me resolve this issue, that would be much appreciated!

 

Wanlichuan

Reply all
Reply to author
Forward
0 new messages