Statistiques
| Branche: | Tag: | Révision :

dockonsurf / modules / ase_Fe1_Fe2.py @ a63e902e

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])))