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