"""
Settings for the generator
"""

# keyword parameters for PyRAI2MD
variable_input = {
    "control":{
        "title": "atod",
        "jobtype": "md",
        "qm": "fcnn",
        "maxenergy": 0.05,
        "minenergy": 0.05,
        "maxgrad": 0.25,
        "mingrad": 0.25,
    },

    "molecule":{
        "ci": [7,],    # number of electronic states
        "spin": [0,],
        "coupling": [[2, 3], [2, 4], [3, 4], [2, 5], [2, 6], [2, 7], [3, 5], [3, 6], [3, 7], [4, 5], [4, 6], [4, 7], [5, 6], [5, 7], [6, 7]],
    },

    "md":{
        "reset": 1,
        "resetstep": 0,
        "scale": 1,
        "ninitcond": 10,
        "format": "xyz",
        "temp": 298,
        "step": 2000,
        "size": 20.67,
        "sfhp": "gsh",
        "root": 2,
        "gap": 0.3,
        "dosoc": 1,
        "gapsoc": 0.3,
        "thermo": "off",
        "silent": 1,    #TODO: checkout what dose this do
        "verbose": 0,
        "direct": 20000,
        "buffer": 500,
        "record": 0,
    },
}

# atom indices of chemical bonds of the target molecule
bond_index = {
            'OS': [[0, 1], [0, 2]], 'CS': [[0, 3], [0, 13]],\
            'CC': [[3, 4], [3, 5], [4, 6], [5, 8], [6, 10], [6, 34],\
                    [8, 10], [13, 14], [13, 15], [14, 16], [15, 18],\
                    [16, 20], [18, 20], [20, 23], [23, 24], [23, 25],\
                    [24, 26], [25, 28], [26, 30], [28, 30]],\
            'CH': [[4, 7], [5, 9], [8, 11], [10, 12], [14, 17], [15, 19],\
                    [16, 21], [18, 22], [24, 27], [25, 29], [26, 31],\
                    [28, 32], [30, 33], [34, 35], [34, 36], [34, 37]]
            }
# limitations of bond length
bond_limit = {
            'OS': 2.5, 'CS': 4.0, 'CC': 2.3, 'CH': 6.0
            }
# max number of trajectories generated by each generator process
max_traj_per_process = 1000
# path to initial conditions
init_cond_path = "usr_example/photoMD/data/initial_conditions_small_set.npy"
# list of elements with order corresponding to the coordinate/velocity/force data
elements =  ['S', 'O', 'O', 'C', 'C', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'H', 'C', 'C', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'H', 'C', 'C', 'C', 'C', 'H', 'C', 'H', 'C', 'H', 'H', 'H', 'C', 'H', 'H', 'H']
