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

dockonsurf / modules / ase_Fe1_Fe2.py @ 86112fec

Historique | Voir | Annoter | Télécharger (2,09 ko)

1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3

    
4

    
5
import ase
6
from ase import Atom
7
from ase import data
8
import numpy as np
9

    
10
# Chemical symbols of new types of atoms
11
data.chemical_symbols += ['Fe1', 'Fe2']
12
data.chemical_symbols += ['O1']
13

    
14
# Atomic numbers
15
Z_Fe = data.atomic_numbers['Fe']
16
Z_O = data.atomic_numbers['O']
17
data.atomic_numbers['Fe1'] = Z_Fe
18
data.atomic_numbers['Fe2'] = Z_Fe
19
data.atomic_numbers['O1'] = Z_O
20

    
21
# Atomic names
22
data.atomic_names += ['Iron', 'Iron']
23
data.atomic_names += ['Oxygen'] 
24

    
25
# Atomic masses
26
Fe_mass = data.atomic_masses_iupac2016[Z_Fe]
27
O_mass = data.atomic_masses_iupac2016[Z_O] 
28
data.atomic_masses_iupac2016 = np.concatenate((data.atomic_masses_iupac2016, np.array([Fe_mass,Fe_mass])))
29
data.atomic_masses_iupac2016 = np.concatenate((data.atomic_masses_iupac2016, np.array([O_mass])))
30

    
31
data.atomic_masses = data.atomic_masses_iupac2016
32

    
33
Fe_mass = data.atomic_masses_legacy[Z_Fe]
34
O_mass = data.atomic_masses_legacy[Z_O]
35
data.atomic_masses_legacy = np.concatenate((data.atomic_masses_legacy, np.array([Fe_mass,Fe_mass])))
36
data.atomic_masses_legacy = np.concatenate((data.atomic_masses_legacy, np.array([O_mass])))
37

    
38
# Atomic radius
39
Fe_radius = data.covalent_radii[Z_Fe]
40
O_radius = data.covalent_radii[Z_O]
41
data.covalent_radii = np.concatenate((data.covalent_radii, np.array([Fe_radius,Fe_radius])))
42
data.covalent_radii = np.concatenate((data.covalent_radii, np.array([O_radius])))
43

    
44
# Reference and ground state datas
45
data.reference_states += [data.reference_states[Z_Fe], data.reference_states[Z_Fe]]
46
data.reference_states += [data.reference_states[Z_O]]
47

    
48
Fe_gsmm = data.ground_state_magnetic_moments[Z_Fe]
49
O_gsmm = data.ground_state_magnetic_moments[Z_O]
50

    
51
data.ground_state_magnetic_moments = np.concatenate((data.ground_state_magnetic_moments, np.array([Fe_gsmm,Fe_gsmm])))
52
data.ground_state_magnetic_moments = np.concatenate((data.ground_state_magnetic_moments, np.array([O_gsmm])))
53

    
54
# VdW raduis
55
Fe_vdw_r = data.vdw_radii[Z_Fe]
56
O_vdw_r = data.vdw_radii[Z_O]
57
data.vdw_radii = np.concatenate((data.vdw_radii, np.array([Fe_vdw_r,Fe_vdw_r])))
58
data.vdw_radii = np.concatenate((data.vdw_radii, np.array([O_vdw_r])))