Exemplo n.º 1
0
                         SimpleRate(initial_states=(t1, t1), final_states=(s1, gs),
                                    rate_constant=1.8e-6,  # ns^-1
                                    description='triplet-triplet annihilation'),
                         #SimpleRate(initial_states=(s1, s1), final_states=(gs, gs),
                         #           rate_constant=1,
                         #           description='singlet-singlet annihilation'),
                         #SimpleRate(initial_states=(t1, s1), final_states=(gs, gs),
                         #           rate_constant=100,
                         #           description='singlet-triplet annihilation'),
                         ]

np.random.seed(0)

system.add_excitation_random(s1, 2)
system_test_info(system)
visualize_system(system)

# exit()
trajectories = calculate_kmc(system,
                             num_trajectories=50,    # number of trajectories that will be simulated
                             max_steps=1000,         # maximum number of steps for trajectory allowed
                             silent=False)


store_trajectory_list(trajectories, 'singlet_fission.h5')
#trajectories = load_trajectory_list('singlet_fission.h5')

analysis = TrajectoryAnalysis(trajectories)

for s in ['s1', 't1']:
    print('STATE: ', s)
Exemplo n.º 2
0
    # store structure in file
    struct_c.to(filename='naphtalene.cif')
    struct_c.to(filename='POSCAR')

    scale_factor = 50
    molecule = Molecule(
        states=[State(label='gs', energy=0.0),
                State(label='s1', energy=1.0)],
        transition_moment={
            ('s1', 'gs'): dipole * scale_factor,
            ('s2', 'gs'): dipole2 * scale_factor
        },  # transition dipole moment of the molecule (Debye)
    )

    system = crystal_system(conditions={},
                            molecules=[molecule],
                            scaled_site_coordinates=[position],
                            unitcell=lattice.matrix,
                            dimensions=[1, 1, 1],
                            orientations=[params])

    print('TM: {}'.format(
        system.molecules[0].get_transition_moment(to_state='s1')))
    print('TM_test: {}'.format(
        get_dipole_in_basis(
            np.array(dipole) * ATOMIC_TO_ANGS_EL * scale_factor, ev_dipole,
            ev)))

    visualize_system(system)
    visualize_system(system, dipole='s1')