dockonsurf / modules / ase_Fe1_Fe2.py @ 86112fec
Historique | Voir | Annoter | Télécharger (2,09 ko)
1 | 86112fec | Marti Aliod Carles | #!/usr/bin/env python
|
---|---|---|---|
2 | 86112fec | Marti Aliod Carles | # -*- coding: utf-8 -*-
|
3 | 86112fec | Marti Aliod Carles | |
4 | 86112fec | Marti Aliod Carles | |
5 | 86112fec | Marti Aliod Carles | import ase |
6 | 86112fec | Marti Aliod Carles | from ase import Atom |
7 | 86112fec | Marti Aliod Carles | from ase import data |
8 | 86112fec | Marti Aliod Carles | import numpy as np |
9 | 86112fec | Marti Aliod Carles | |
10 | 86112fec | Marti Aliod Carles | # Chemical symbols of new types of atoms
|
11 | 86112fec | Marti Aliod Carles | data.chemical_symbols += ['Fe1', 'Fe2'] |
12 | 86112fec | Marti Aliod Carles | data.chemical_symbols += ['O1']
|
13 | 86112fec | Marti Aliod Carles | |
14 | 86112fec | Marti Aliod Carles | # Atomic numbers
|
15 | 86112fec | Marti Aliod Carles | Z_Fe = data.atomic_numbers['Fe']
|
16 | 86112fec | Marti Aliod Carles | Z_O = data.atomic_numbers['O']
|
17 | 86112fec | Marti Aliod Carles | data.atomic_numbers['Fe1'] = Z_Fe
|
18 | 86112fec | Marti Aliod Carles | data.atomic_numbers['Fe2'] = Z_Fe
|
19 | 86112fec | Marti Aliod Carles | data.atomic_numbers['O1'] = Z_O
|
20 | 86112fec | Marti Aliod Carles | |
21 | 86112fec | Marti Aliod Carles | # Atomic names
|
22 | 86112fec | Marti Aliod Carles | data.atomic_names += ['Iron', 'Iron'] |
23 | 86112fec | Marti Aliod Carles | data.atomic_names += ['Oxygen']
|
24 | 86112fec | Marti Aliod Carles | |
25 | 86112fec | Marti Aliod Carles | # Atomic masses
|
26 | 86112fec | Marti Aliod Carles | Fe_mass = data.atomic_masses_iupac2016[Z_Fe] |
27 | 86112fec | Marti Aliod Carles | O_mass = data.atomic_masses_iupac2016[Z_O] |
28 | 86112fec | Marti Aliod Carles | data.atomic_masses_iupac2016 = np.concatenate((data.atomic_masses_iupac2016, np.array([Fe_mass,Fe_mass]))) |
29 | 86112fec | Marti Aliod Carles | data.atomic_masses_iupac2016 = np.concatenate((data.atomic_masses_iupac2016, np.array([O_mass]))) |
30 | 86112fec | Marti Aliod Carles | |
31 | 86112fec | Marti Aliod Carles | data.atomic_masses = data.atomic_masses_iupac2016 |
32 | 86112fec | Marti Aliod Carles | |
33 | 86112fec | Marti Aliod Carles | Fe_mass = data.atomic_masses_legacy[Z_Fe] |
34 | 86112fec | Marti Aliod Carles | O_mass = data.atomic_masses_legacy[Z_O] |
35 | 86112fec | Marti Aliod Carles | data.atomic_masses_legacy = np.concatenate((data.atomic_masses_legacy, np.array([Fe_mass,Fe_mass]))) |
36 | 86112fec | Marti Aliod Carles | data.atomic_masses_legacy = np.concatenate((data.atomic_masses_legacy, np.array([O_mass]))) |
37 | 86112fec | Marti Aliod Carles | |
38 | 86112fec | Marti Aliod Carles | # Atomic radius
|
39 | 86112fec | Marti Aliod Carles | Fe_radius = data.covalent_radii[Z_Fe] |
40 | 86112fec | Marti Aliod Carles | O_radius = data.covalent_radii[Z_O] |
41 | 86112fec | Marti Aliod Carles | data.covalent_radii = np.concatenate((data.covalent_radii, np.array([Fe_radius,Fe_radius]))) |
42 | 86112fec | Marti Aliod Carles | data.covalent_radii = np.concatenate((data.covalent_radii, np.array([O_radius]))) |
43 | 86112fec | Marti Aliod Carles | |
44 | 86112fec | Marti Aliod Carles | # Reference and ground state datas
|
45 | 86112fec | Marti Aliod Carles | data.reference_states += [data.reference_states[Z_Fe], data.reference_states[Z_Fe]] |
46 | 86112fec | Marti Aliod Carles | data.reference_states += [data.reference_states[Z_O]] |
47 | 86112fec | Marti Aliod Carles | |
48 | 86112fec | Marti Aliod Carles | Fe_gsmm = data.ground_state_magnetic_moments[Z_Fe] |
49 | 86112fec | Marti Aliod Carles | O_gsmm = data.ground_state_magnetic_moments[Z_O] |
50 | 86112fec | Marti Aliod Carles | |
51 | 86112fec | Marti Aliod Carles | data.ground_state_magnetic_moments = np.concatenate((data.ground_state_magnetic_moments, np.array([Fe_gsmm,Fe_gsmm]))) |
52 | 86112fec | Marti Aliod Carles | data.ground_state_magnetic_moments = np.concatenate((data.ground_state_magnetic_moments, np.array([O_gsmm]))) |
53 | 86112fec | Marti Aliod Carles | |
54 | 86112fec | Marti Aliod Carles | # VdW raduis
|
55 | 86112fec | Marti Aliod Carles | Fe_vdw_r = data.vdw_radii[Z_Fe] |
56 | 86112fec | Marti Aliod Carles | O_vdw_r = data.vdw_radii[Z_O] |
57 | 86112fec | Marti Aliod Carles | data.vdw_radii = np.concatenate((data.vdw_radii, np.array([Fe_vdw_r,Fe_vdw_r]))) |
58 | 86112fec | Marti Aliod Carles | data.vdw_radii = np.concatenate((data.vdw_radii, np.array([O_vdw_r]))) |