├── .gitignore
├── AccMetaD
├── MetaAMLP.py
├── aseplumed.py
├── md_utils.py
├── nosehoover.py
├── velscale.py
├── xdftb.py
├── xemt.py
└── xquip.py
├── LICENSE
├── README.md
└── examples
├── CO-PtClus13
├── dftb-gap
│ ├── Pt13-CO.xyz
│ ├── acc_meta.slurm
│ ├── inputs.py
│ ├── plumed-1.dat
│ ├── plumed-2.dat
│ └── run.py
└── gap
│ ├── Pt13-CO.xyz
│ ├── acc_meta.slurm
│ ├── inputs.py
│ ├── plumed-1.dat
│ ├── plumed-2.dat
│ └── run.py
├── CO-PtSurf111
├── dftb-gap
│ ├── acc_meta.slurm
│ ├── inputs.py
│ ├── plumed-1.dat
│ ├── plumed-2.dat
│ ├── run.py
│ └── surf-CO.xyz
└── gap
│ ├── acc_meta.slurm
│ ├── inputs.py
│ ├── plumed-1.dat
│ ├── plumed-2.dat
│ ├── run.py
│ └── surf-CO.xyz
└── skf
├── C-C.skf
├── C-O.skf
├── C-Pt.skf
├── O-C.skf
├── O-O.skf
├── O-Pt.skf
├── Pt-C.skf
├── Pt-O.skf
└── Pt-Pt.skf
/.gitignore:
--------------------------------------------------------------------------------
1 | # byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 |
--------------------------------------------------------------------------------
/AccMetaD/aseplumed.py:
--------------------------------------------------------------------------------
1 | """
2 | a plumed wrapper for ase
3 | """
4 |
5 | import numpy as np
6 |
7 | from ase import units
8 |
9 | import plumed
10 |
11 |
12 | class AsePlumed(object):
13 |
14 | def __init__(
15 | self, atoms, timestep,
16 | in_file = 'plumed.dat',
17 | out_file = 'plumed.out'
18 | ):
19 |
20 | self.atoms = atoms
21 | self.timestep = timestep
22 | self.natoms = len(atoms)
23 | self.masses = self.atoms.get_masses().copy() # masses cannot change
24 |
25 | self.in_file = in_file
26 | self.out_file = out_file
27 |
28 | self.worker = self.initialize()
29 |
30 | return
31 |
32 | def initialize(self):
33 | # init
34 | p_md = plumed.Plumed()
35 |
36 | # units
37 | energyUnits = 96.485 # eV to kJ/mol
38 | lengthUnits = 0.1 # angstrom to nm
39 | timeUnits = 1.0/units.fs*0.001 # fs to ps
40 |
41 | p_md.cmd("setMDEnergyUnits", energyUnits)
42 | p_md.cmd("setMDLengthUnits", lengthUnits)
43 | p_md.cmd("setMDTimeUnits", timeUnits)
44 |
45 | # inp, out
46 | p_md.cmd("setPlumedDat", self.in_file)
47 | p_md.cmd("setLogFile", self.out_file)
48 |
49 | # simulation details
50 | p_md.cmd("setTimestep", self.timestep)
51 | p_md.cmd("setNatoms", self.natoms)
52 | p_md.cmd("setMDEngine", 'ase')
53 |
54 | # finally!
55 | p_md.cmd("init")
56 |
57 | return p_md
58 |
59 | def external_forces(
60 | self,
61 | step,
62 | new_energy = None,
63 | new_forces = None, # sometimes use forces not attached to self.atoms
64 | new_virial = None,
65 | delta_forces = False
66 | ):
67 | """return external forces from plumed"""
68 | # structure info
69 | positions = self.atoms.get_positions().copy()
70 | cell = self.atoms.cell[:].copy()
71 |
72 | if new_forces is None:
73 | forces = self.atoms.get_forces().copy()
74 | else:
75 | forces = new_forces.copy()
76 | original_forces = forces.copy()
77 |
78 | if new_energy is None:
79 | energy = self.atoms.get_potential_energy()
80 | else:
81 | energy = new_energy
82 |
83 | # TODO: get virial
84 | virial = np.zeros((3,3))
85 |
86 | self.worker.cmd("setStep", step)
87 | self.worker.cmd("setMasses", self.masses)
88 | self.worker.cmd("setForces", forces)
89 | self.worker.cmd("setPositions", positions)
90 | self.worker.cmd("setEnergy", energy)
91 | self.worker.cmd("setBox", cell)
92 | self.worker.cmd("setVirial", virial)
93 | self.worker.cmd("calc", None)
94 |
95 | # implent plumed external forces into momenta
96 | if delta_forces:
97 | plumed_forces = forces - original_forces
98 | else:
99 | plumed_forces = forces
100 |
101 | return plumed_forces
102 |
103 | def finalize(self):
104 | self.worker.finalize()
105 |
106 |
107 | if __name__ == '__main__':
108 | pass
109 |
--------------------------------------------------------------------------------
/AccMetaD/md_utils.py:
--------------------------------------------------------------------------------
1 | """
2 |
3 | """
4 |
5 | import numpy as np
6 |
7 | from ase.md.md import MolecularDynamics
8 | from ase.md.velocitydistribution import Stationary
9 | from ase import units
10 |
11 | def force_temperature(atoms, temperature, unit="K"):
12 | """ force (nucl.) temperature to have a precise value
13 |
14 | Parameters:
15 | atoms: ase.Atoms
16 | the structure
17 | temperature: float
18 | nuclear temperature to set
19 | unit: str
20 | 'K' or 'eV' as unit for the temperature
21 | """
22 |
23 | eps_temp = 1e-12
24 |
25 | if unit == "K":
26 | E_temp = temperature * units.kB
27 | elif unit == "eV":
28 | E_temp = temperature
29 | else:
30 | raise UnitError("'{}' is not supported, use 'K' or 'eV'.".format(unit))
31 |
32 | # check DOF
33 | ndof = 3*len(atoms)
34 | for constraint in atoms._constraints:
35 | ndof -= constraint.removed_dof
36 |
37 | # calculate kinetic energy and get the scale
38 | if temperature > eps_temp:
39 | E_kin0 = atoms.get_kinetic_energy() / (0.5 * ndof)
40 | gamma = E_temp / E_kin0
41 | else:
42 | gamma = 0.0
43 |
44 | atoms.set_momenta(atoms.get_momenta() * np.sqrt(gamma))
45 |
46 | return
47 |
48 |
--------------------------------------------------------------------------------
/AccMetaD/nosehoover.py:
--------------------------------------------------------------------------------
1 | """ Custom Nose-Hoover NVT thermostat based on ASE.
2 |
3 | This code was originally written by Jonathan Mailoa based on these notes:
4 |
5 | https://www2.ph.ed.ac.uk/~dmarendu/MVP/MVP03.pdf
6 |
7 | It was then adapted by Simon Batzner to be used within ASE. Parts of the overall outline of the class are also based on the Langevin class in ASE.
8 |
9 | This was further changed by Jiayan XU for a more compact formulation.
10 |
11 | """
12 |
13 | import numpy as np
14 |
15 | from ase.md.md import MolecularDynamics
16 | from ase.md.velocitydistribution import Stationary
17 | from ase import units
18 |
19 |
20 | class NoseHoover(MolecularDynamics):
21 | """Nose-Hoover (constant N, V, T) molecular dynamics.
22 |
23 | Usage: NoseHoover(atoms, dt, temperature)
24 |
25 | atoms
26 | The list of atoms.
27 |
28 | timestep
29 | The time step.
30 |
31 | temperature
32 | Target temperature of the MD run in [K * units.kB]
33 |
34 | nvt_q
35 | Q in the Nose-Hoover equations
36 |
37 | Example Usage:
38 |
39 | nvt_dyn = NoseHoover(
40 | atoms=atoms,
41 | timestep=0.5 * units.fs,
42 | temperature=300. * units.kB,
43 | nvt_q=334.
44 | )
45 |
46 | """
47 |
48 | def __init__(
49 | self,
50 | atoms,
51 | timestep,
52 | temperature,
53 | nvt_q,
54 | trajectory=None,
55 | logfile=None,
56 | loginterval=1,
57 | append_trajectory=False,
58 | ):
59 | # set com momentum to zero
60 | # TODO: if make com fixed at each step?
61 | # Stationary(atoms)
62 |
63 | self.temp = temperature / units.kB
64 | self.nvt_q = nvt_q
65 | self.dt = timestep # units: A/sqrt(u/eV)
66 | self.dtdt = np.power(self.dt, 2)
67 | self.nvt_bath = 0.0
68 |
69 | # local
70 | self._vel_halfstep = None
71 |
72 | MolecularDynamics.__init__(
73 | self,
74 | atoms,
75 | timestep,
76 | trajectory,
77 | logfile,
78 | loginterval,
79 | append_trajectory=append_trajectory,
80 | )
81 |
82 | def step(self, f=None):
83 | """ Perform a MD step.
84 |
85 | """
86 |
87 | # TODO: we do need the f=None argument?
88 | atoms = self.atoms
89 | masses = atoms.get_masses() # units: u
90 |
91 | # count actual degree of freedoms
92 | # count every step because sometimes constraints can be manually changed
93 | ndof = 3*len(atoms)
94 | for constraint in atoms._constraints:
95 | ndof -= constraint.removed_dof
96 | ndof += 1 # bath
97 |
98 | if f is None:
99 | f = atoms.get_forces()
100 |
101 | # for the first step, v(t-dt/2) = v(0.5) is needed.
102 | if self._vel_halfstep is None:
103 | self._vel_halfstep = (
104 | atoms.get_velocities() -
105 | 0.5 * self.dt * (f / masses[:, np.newaxis])
106 | )
107 | else:
108 | pass
109 |
110 | # v(t-dt/2), f(t), eta(t) -> v(t)
111 | atoms.set_velocities(
112 | (
113 | self._vel_halfstep
114 | + 0.5 * self.dt * (f / masses[:, np.newaxis])
115 | )
116 | / (1 + 0.5 * self.dt * self.nvt_bath)
117 | )
118 |
119 | # v(t), f(t), eta(t) -> r(t+dt)
120 | modified_acc = (
121 | f / masses[:, np.newaxis]
122 | - self.nvt_bath * atoms.get_velocities()
123 | )
124 |
125 | pos_fullstep = (
126 | atoms.get_positions()
127 | + self.dt * atoms.get_velocities()
128 | + 0.5 * self.dtdt * modified_acc
129 | )
130 |
131 | atoms.set_positions(pos_fullstep)
132 |
133 | # v(t), f(t), eta(t) -> v(t+dt/2)
134 | self._vel_halfstep = atoms.get_velocities() + 0.5 * self.dt * modified_acc
135 |
136 | # eta(t), v(t) -> eta(t+dt/2)
137 | e_kin_diff = 0.5 * (
138 | np.sum(masses * np.sum(atoms.get_velocities() ** 2, axis=1))
139 | - (ndof) * units.kB * self.temp
140 | ) # number of freedoms?
141 |
142 | nvt_bath_halfstep = self.nvt_bath + 0.5 * self.dt * e_kin_diff / self.nvt_q
143 |
144 | # eta(t+dt/2), v(t+dt/2) -> eta(t+dt)
145 | e_kin_diff_halfstep = 0.5 * (
146 | np.sum(masses * np.sum(self._vel_halfstep ** 2, axis=1))
147 | - (ndof) * units.kB * self.temp
148 | )
149 |
150 | self.nvt_bath = (
151 | nvt_bath_halfstep + 0.5 * self.dt * e_kin_diff_halfstep / self.nvt_q
152 | )
153 |
154 | return
155 |
156 | if __name__ == '__main__':
157 | import ase.io
158 | import ase.units
159 | from ase import Atoms
160 | from ase.calculators.emt import EMT
161 | from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
162 |
163 | from ase.constraints import FixAtoms
164 |
165 | from .md_utils import force_temperature
166 |
167 | # ===== system =====
168 | atoms = Atoms(
169 | 'CO2',
170 | positions = [
171 | [0.,0.,0.],
172 | [0.,0.,1.0],
173 | [0.,0.,-1.0]
174 | ]
175 | )
176 |
177 | cons = FixAtoms(mask=[atom.symbol == 'C' for atom in atoms])
178 |
179 | atoms.set_constraint(cons)
180 |
181 | atoms.set_calculator(EMT())
182 |
183 | # ===== molecular dynamics =====
184 | temperature = 300
185 | MaxwellBoltzmannDistribution(atoms, temperature*ase.units.kB)
186 | force_temperature(atoms, temperature)
187 | print('start!!!')
188 | print(atoms.get_velocities())
189 | print(atoms.get_temperature())
190 |
191 | nvt_dyn = NoseHoover(
192 | atoms = atoms,
193 | timestep = 2.0 * units.fs,
194 | temperature = temperature * units.kB,
195 | nvt_q = 334.
196 | )
197 |
198 | def print_temperature(atoms):
199 | content = 'temperature %8.4f' %atoms.get_temperature()
200 | print(content)
201 |
202 | nvt_dyn.attach(print_temperature, atoms=atoms)
203 |
204 | nvt_dyn.run(steps=5)
205 |
--------------------------------------------------------------------------------
/AccMetaD/velscale.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | from ase.md.md import MolecularDynamics
4 | from .md_utils import force_temperature
5 |
6 | """
7 | verlet algorithm with velocity scaling
8 | """
9 |
10 |
11 | class VelocityScaling(MolecularDynamics):
12 | def __init__(
13 | self,
14 | atoms,
15 | timestep = None,
16 | scale_interval = None,
17 | temperature = None, # in Kelvin
18 | trajectory = None,
19 | logfile = None,
20 | loginterval = 1,
21 | dt = None,
22 | append_trajectory=False
23 | ):
24 | # FloK: rename dt -> timestep and make sure nobody is affected
25 | if dt is not None:
26 | import warnings
27 | warnings.warn('dt variable is deprecated; please use timestep.',
28 | DeprecationWarning)
29 | timestep = dt
30 | if timestep is None:
31 | raise TypeError('Missing timestep argument')
32 |
33 | self.scale_on = False
34 | if temperature and scale_interval:
35 | self.scale_on = True
36 | self.scale_counter = 0
37 | self.temperature = temperature
38 | self.scale_interval = scale_interval
39 |
40 | MolecularDynamics.__init__(self, atoms, timestep, trajectory, logfile,
41 | loginterval,
42 | append_trajectory=append_trajectory)
43 |
44 | def step(self, f=None):
45 |
46 | atoms = self.atoms
47 |
48 | if f is None:
49 | f = atoms.get_forces()
50 |
51 | p = atoms.get_momenta()
52 | p += 0.5 * self.dt * f
53 | masses = atoms.get_masses()[:, np.newaxis]
54 | r = atoms.get_positions()
55 |
56 | # if we have constraints then this will do the first part of the
57 | # RATTLE algorithm:
58 | atoms.set_positions(r + self.dt * p / masses)
59 | if atoms.constraints:
60 | p = (atoms.get_positions() - r) * masses / self.dt
61 |
62 | atoms.set_momenta(p + 0.5 * self.dt * f)
63 |
64 | if self.scale_on:
65 | self.scale_counter += 1
66 | if self.scale_counter % self.scale_interval == 0:
67 | force_temperature(atoms, self.temperature)
68 | self.scale_counter = 0
69 |
70 | # TODO: check whether really needs this part
71 | # We need to store the momenta on the atoms before calculating
72 | # the forces, as in a parallel Asap calculation atoms may
73 | # migrate during force calculations, and the momenta need to
74 | # migrate along with the atoms.
75 | #atoms.set_momenta(p, apply_constraint=False)
76 |
77 | #f = atoms.get_forces(md=True)
78 |
79 | ## Second part of RATTLE will be done here:
80 | #atoms.set_momenta(atoms.get_momenta() + 0.5 * self.dt * f)
81 |
82 | return
83 |
--------------------------------------------------------------------------------
/AccMetaD/xdftb.py:
--------------------------------------------------------------------------------
1 | """
2 | This module defines an ASE interface to GPC-DFTB,
3 | Gaussian Process Corrected Density Functional Tight Binding...
4 | QUIP-GP and DFTB+
5 |
6 | """
7 |
8 | import os
9 | import subprocess
10 | import warnings
11 |
12 | import numpy as np
13 |
14 | from ase.calculators.calculator import (
15 | all_changes,
16 | Calculator, FileIOCalculator,
17 | kpts2ndarray, kpts2sizeandoffsets
18 | )
19 | from ase.units import Hartree, Bohr
20 |
21 | # extended-ase
22 | from .xquip import XQuip
23 |
24 | ATOMIC_ENERGIES = {
25 | 'energy': {
26 | 'C': -38.4154,
27 | 'O': -84.4551,
28 | 'Pt': -63.7985,
29 | },
30 | 'free_energy': {
31 | 'C': -38.4154,
32 | 'O': -84.6094,
33 | 'Pt': -63.8686,
34 | }
35 | }
36 |
37 |
38 | class XDFTB(FileIOCalculator):
39 | """ A dftb+ calculator with ase-FileIOCalculator nomenclature
40 | """
41 | if 'DFTB_COMMAND' in os.environ:
42 | command = os.environ['DFTB_COMMAND'] + ' > PREFIX.out'
43 | else:
44 | command = 'dftb+ > PREFIX.out'
45 |
46 | implemented_properties = ['energy', 'forces', 'charges', 'stress']
47 |
48 | def __init__(
49 | self,
50 | restart=None,
51 | ignore_bad_restart_file=False,
52 | label = None,
53 | atoms=None,
54 | kpts=None,
55 | run_manyDftb_steps=False,
56 | slako_dir='./',
57 | num_threads: int = 12,
58 | # atomic energies
59 | binding_energy: bool = False,
60 | atomic_energies: dict = {},
61 | # correction
62 | correction_params = None,
63 | **kwargs
64 | ):
65 | """Construct a DFTB+ calculator.
66 |
67 | run_manyDftb_steps: Logical
68 | True: many steps are run by DFTB+,
69 | False:a single force&energy calculation at given positions
70 |
71 | kpts: (int, int, int), dict, or 2D-array
72 | If kpts is a tuple (or list) of 3 integers, it is interpreted
73 | as the dimensions of a Monkhorst-Pack grid.
74 |
75 | If kpts is a dict, it will either be interpreted as a path
76 | in the Brillouin zone (*) if it contains the 'path' keyword,
77 | otherwise it is converted to a Monkhorst-Pack grid (**).
78 | (*) see ase.dft.kpoints.bandpath
79 | (**) see ase.calculators.calculator.kpts2sizeandoffsets
80 |
81 | The k-point coordinates can also be provided explicitly,
82 | as a (N x 3) array with the scaled coordinates (relative
83 | to the reciprocal unit cell vectors). Each of the N k-points
84 | will be given equal weight.
85 |
86 | ---------
87 | Additional object (to be set by function embed)
88 | pcpot: PointCharge object
89 | An external point charge potential (only in qmmm)
90 | """
91 |
92 | # skf tables
93 | #if 'DFTB_PREFIX' in os.environ:
94 | # self.slako_dir = os.environ['DFTB_PREFIX'].rstrip('/') + '/'
95 | #else:
96 | # self.slako_dir = './'
97 | #slako_dir = os.path.abspath(slako_dir) + '/'
98 | self.slako_dir = slako_dir.rstrip('/') + '/'
99 |
100 | self.num_threads = str(num_threads)
101 |
102 | # file names
103 | self.geo_fname = 'geo_in.gen'
104 |
105 | if run_manyDftb_steps:
106 | # minimisation of molecular dynamics is run by native DFTB+
107 | self.default_parameters = dict(
108 | Hamiltonian_='DFTB',
109 | Hamiltonian_SlaterKosterFiles_='Type2FileNames',
110 | Hamiltonian_SlaterKosterFiles_Prefix=self.slako_dir,
111 | Hamiltonian_SlaterKosterFiles_Separator='"-"',
112 | Hamiltonian_SlaterKosterFiles_Suffix='".skf"',
113 | Hamiltonian_MaxAngularMomentum_='')
114 | else:
115 | # using ase to get forces and energy only
116 | # (single point calculation)
117 | self.default_parameters = dict(
118 | Hamiltonian_='DFTB',
119 | Hamiltonian_SlaterKosterFiles_='Type2FileNames',
120 | Hamiltonian_SlaterKosterFiles_Prefix=self.slako_dir,
121 | Hamiltonian_SlaterKosterFiles_Separator='"-"',
122 | Hamiltonian_SlaterKosterFiles_Suffix='".skf"',
123 | Hamiltonian_MaxAngularMomentum_='')
124 |
125 | self.pcpot = None
126 | self.lines = None # results.tag
127 |
128 | self.atoms = None
129 | self.atoms_input = None
130 |
131 | self.do_forces = False
132 | self.outfilename = 'dftb.out'
133 |
134 | FileIOCalculator.__init__(self, restart, ignore_bad_restart_file,
135 | label, atoms,
136 | **kwargs)
137 |
138 | # set GP potential path
139 | self.correction_calculator = None
140 | if correction_params:
141 | params = correction_params.copy() # avoid destroy origin
142 | # get params
143 | correction_command = params.pop('correction_command', None)
144 | param_filename = params.pop('param_filename', None)
145 | # check params
146 | warnings.warn(
147 | 'You are using DFTB with correction!', RuntimeWarning
148 | )
149 | if correction_command:
150 | pass
151 | else:
152 | raise ValueError('No correction_command')
153 |
154 | if param_filename:
155 | if os.path.exists(param_filename):
156 | param_filename = os.path.abspath(param_filename)
157 | else:
158 | raise ValueError('%s not exists.' %param_filename)
159 | else:
160 | raise ValueError('No param_filename')
161 |
162 | # generate calculator
163 | self.correction_calculator = XQuip(
164 | directory = self.directory,
165 | command = correction_command,
166 | param_filename = param_filename,
167 | **params,
168 | )
169 |
170 | else:
171 | pass
172 |
173 | # set atomic energies
174 | self.binding_energy = binding_energy
175 | if atomic_energies:
176 | # TODO: check energy consistent
177 | self.update_atomic_energies(atomic_energies)
178 |
179 | # Determine number of spin channels
180 | try:
181 | entry = kwargs['Hamiltonian_SpinPolarisation']
182 | spinpol = 'colinear' in entry.lower()
183 | except KeyError:
184 | spinpol = False
185 | self.nspin = 2 if spinpol else 1
186 |
187 | # kpoint stuff by ase
188 | self.kpts = kpts
189 | self.kpts_coord = None
190 |
191 | if self.kpts is not None:
192 | initkey = 'Hamiltonian_KPointsAndWeights'
193 | mp_mesh = None
194 | offsets = None
195 |
196 | if isinstance(self.kpts, dict):
197 | if 'path' in self.kpts:
198 | # kpts is path in Brillouin zone
199 | self.parameters[initkey + '_'] = 'Klines '
200 | self.kpts_coord = kpts2ndarray(self.kpts, atoms=atoms)
201 | else:
202 | # kpts is (implicit) definition of
203 | # Monkhorst-Pack grid
204 | self.parameters[initkey + '_'] = 'SupercellFolding '
205 | mp_mesh, offsets = kpts2sizeandoffsets(atoms=atoms,
206 | **self.kpts)
207 | elif np.array(self.kpts).ndim == 1:
208 | # kpts is Monkhorst-Pack grid
209 | self.parameters[initkey + '_'] = 'SupercellFolding '
210 | mp_mesh = self.kpts
211 | offsets = [0.] * 3
212 | elif np.array(self.kpts).ndim == 2:
213 | # kpts is (N x 3) list/array of k-point coordinates
214 | # each will be given equal weight
215 | self.parameters[initkey + '_'] = ''
216 | self.kpts_coord = np.array(self.kpts)
217 | else:
218 | raise ValueError('Illegal kpts definition:' + str(self.kpts))
219 |
220 | if mp_mesh is not None:
221 | eps = 1e-10
222 | for i in range(3):
223 | key = initkey + '_empty%03d' % i
224 | val = [mp_mesh[i] if j == i else 0 for j in range(3)]
225 | self.parameters[key] = ' '.join(map(str, val))
226 | offsets[i] *= mp_mesh[i]
227 | assert abs(offsets[i]) < eps or abs(offsets[i] - 0.5) < eps
228 | # DFTB+ uses a different offset convention, where
229 | # the k-point mesh is already Gamma-centered prior
230 | # to the addition of any offsets
231 | #if mp_mesh[i] % 2 == 0:
232 | # offsets[i] += 0.5 # use gamma-centred
233 | key = initkey + '_empty%03d' % 3
234 | self.parameters[key] = ' '.join(map(str, offsets))
235 |
236 | elif self.kpts_coord is not None:
237 | for i, c in enumerate(self.kpts_coord):
238 | key = initkey + '_empty%09d' % i
239 | c_str = ' '.join(map(str, c))
240 | if 'Klines' in self.parameters[initkey + '_']:
241 | c_str = '1 ' + c_str
242 | else:
243 | c_str += ' 1.0'
244 | self.parameters[key] = c_str
245 |
246 | def write_dftb_in(self, filename):
247 | """ Write the innput file for the dftb+ calculation.
248 | Geometry is taken always from the file 'geo_end.gen'.
249 | """
250 |
251 | outfile = open(filename, 'w')
252 | outfile.write('Geometry = GenFormat { \n')
253 | #outfile.write(' <<< "geo_end.gen" \n')
254 | outfile.write(' <<< %s \n' %self.geo_fname)
255 | outfile.write('} \n')
256 | outfile.write(' \n')
257 |
258 | params = self.parameters.copy()
259 |
260 | s = 'Hamiltonian_MaxAngularMomentum_'
261 | for key in params:
262 | if key.startswith(s) and len(key) > len(s):
263 | break
264 | else:
265 | # User didn't specify max angular mometa. Get them from
266 | # the .skf files:
267 | symbols = set(self.atoms.get_chemical_symbols())
268 | for symbol in symbols:
269 | path = os.path.join(self.slako_dir,
270 | '{0}-{0}.skf'.format(symbol))
271 | l = read_max_angular_momentum(path)
272 | params[s + symbol] = '"{}"'.format('spdf'[l])
273 |
274 | # --------MAIN KEYWORDS-------
275 | previous_key = 'dummy_'
276 | myspace = ' '
277 | for key, value in sorted(params.items()):
278 | current_depth = key.rstrip('_').count('_')
279 | previous_depth = previous_key.rstrip('_').count('_')
280 | for my_backsclash in reversed(
281 | range(previous_depth - current_depth)):
282 | outfile.write(3 * (1 + my_backsclash) * myspace + '} \n')
283 | outfile.write(3 * current_depth * myspace)
284 | if key.endswith('_') and len(value) > 0:
285 | outfile.write(key.rstrip('_').rsplit('_')[-1] +
286 | ' = ' + str(value) + '{ \n')
287 | elif (key.endswith('_') and (len(value) == 0)
288 | and current_depth == 0): # E.g. 'Options {'
289 | outfile.write(key.rstrip('_').rsplit('_')[-1] +
290 | ' ' + str(value) + '{ \n')
291 | elif (key.endswith('_') and (len(value) == 0)
292 | and current_depth > 0): # E.g. 'Hamiltonian_Max... = {'
293 | outfile.write(key.rstrip('_').rsplit('_')[-1] +
294 | ' = ' + str(value) + '{ \n')
295 | elif key.count('_empty') == 1:
296 | outfile.write(str(value) + ' \n')
297 | elif ((key == 'Hamiltonian_ReadInitialCharges') and
298 | (str(value).upper() == 'YES')):
299 | f1 = os.path.isfile(self.directory + os.sep + 'charges.dat')
300 | f2 = os.path.isfile(self.directory + os.sep + 'charges.bin')
301 | if not (f1 or f2):
302 | print('charges.dat or .bin not found, switching off guess')
303 | value = 'No'
304 | outfile.write(key.rsplit('_')[-1] + ' = ' + str(value) + ' \n')
305 | else:
306 | outfile.write(key.rsplit('_')[-1] + ' = ' + str(value) + ' \n')
307 | # point
308 | if self.pcpot is not None and ('DFTB' in str(value)):
309 | outfile.write(' ElectricField = { \n')
310 | outfile.write(' PointCharges = { \n')
311 | outfile.write(
312 | ' CoordsAndCharges [Angstrom] = DirectRead { \n')
313 | outfile.write(' Records = ' +
314 | str(len(self.pcpot.mmcharges)) + ' \n')
315 | outfile.write(
316 | ' File = "dftb_external_charges.dat" \n')
317 | outfile.write(' } \n')
318 | outfile.write(' } \n')
319 | outfile.write(' } \n')
320 | previous_key = key
321 |
322 | current_depth = key.rstrip('_').count('_')
323 | for my_backsclash in reversed(range(current_depth)):
324 | outfile.write(3 * my_backsclash * myspace + '} \n')
325 | #outfile.write('ParserOptions { \n')
326 | #outfile.write(' IgnoreUnprocessedNodes = Yes \n')
327 | #outfile.write('} \n')
328 | #if self.do_forces:
329 | # outfile.write('Analysis { \n')
330 | # outfile.write(' CalculateForces = Yes \n')
331 | # outfile.write('} \n')
332 |
333 | outfile.close()
334 |
335 | def set(self, **kwargs):
336 | changed_parameters = FileIOCalculator.set(self, **kwargs)
337 | if changed_parameters:
338 | self.reset()
339 | return changed_parameters
340 |
341 | def check_state(self, atoms):
342 | system_changes = FileIOCalculator.check_state(self, atoms)
343 | # Ignore unit cell for molecules:
344 | if not atoms.pbc.any() and 'cell' in system_changes:
345 | system_changes.remove('cell')
346 | if self.pcpot and self.pcpot.mmpositions is not None:
347 | system_changes.append('positions')
348 | # print('check !!!', system_changes)
349 | return system_changes
350 |
351 | def write_input(self, atoms, properties=None, system_changes=None):
352 | from ase.io import write
353 | # print("Calculated Properties: ...", properties)
354 | # if properties is not None:
355 | # if 'forces' in properties or 'stress' in properties:
356 | # self.do_forces = True
357 | self.do_forces = True
358 | FileIOCalculator.write_input(
359 | self, atoms, properties, system_changes)
360 | self.write_dftb_in(os.path.join(self.directory, 'dftb_in.hsd'))
361 | write(os.path.join(self.directory, self.geo_fname), atoms)
362 | # self.atoms is none until results are read out,
363 | # then it is set to the ones at writing input
364 | self.atoms_input = atoms
365 | self.atoms = None
366 | # jx: !!!
367 | if self.pcpot:
368 | self.pcpot.write_mmcharges('dftb_external_charges.dat')
369 |
370 | return
371 |
372 | def calculate(self, atoms=None, properties=['energy'],
373 | system_changes=all_changes):
374 | #print(self.command)
375 | # set threads
376 | os.environ['OMP_NUM_THREADS'] = self.num_threads
377 |
378 | Calculator.calculate(self, atoms, properties, system_changes)
379 | self.write_input(self.atoms, properties, system_changes)
380 | if self.command is None:
381 | raise CalculatorSetupError(
382 | 'Please set ${} environment variable '
383 | .format('ASE_' + self.name.upper() + '_COMMAND') +
384 | 'or supply the command keyword')
385 | command = self.command
386 | if 'PREFIX' in command:
387 | command = command.replace('PREFIX', self.prefix)
388 |
389 | try:
390 | proc = subprocess.Popen(command, shell=True, cwd=self.directory)
391 | except OSError as err:
392 | # Actually this may never happen with shell=True, since
393 | # probably the shell launches successfully. But we soon want
394 | # to allow calling the subprocess directly, and then this
395 | # distinction (failed to launch vs failed to run) is useful.
396 | msg = 'Failed to execute "{}"'.format(command)
397 | raise EnvironmentError(msg) from err
398 |
399 | errorcode = proc.wait()
400 |
401 | # remove this env, avoid affecting other codes
402 | os.environ.pop('OMP_NUM_THREADS', None)
403 |
404 | if errorcode:
405 | path = os.path.abspath(self.directory)
406 | msg = ('Calculator "{}" failed with command "{}" failed in '
407 | '{} with error code {}'.format(self.name, command,
408 | path, errorcode))
409 | raise CalculationFailed(msg)
410 |
411 | # read dftb results
412 | self.read_results()
413 |
414 | # after correction, the energy should be binding energy in eV
415 | if self.correction_calculator:
416 | quip_atoms = self.atoms.copy()
417 | quip_atoms.set_calculator(self.correction_calculator)
418 |
419 | error_results = {}
420 | error_results['energy'] = quip_atoms.get_potential_energy()
421 | error_results['free_energy'] = quip_atoms.get_potential_energy(
422 | force_consistent=True
423 | )
424 | error_results['forces'] = quip_atoms.get_forces()
425 | error_results['stress'] = quip_atoms.get_stress(voigt=True)
426 |
427 | # error predictions
428 | self.results['local_gap_variance'] = \
429 | quip_atoms.calc.results['local_gap_variance']
430 | self.results['gap_variance_gradient'] = \
431 | quip_atoms.calc.results['gap_variance_gradient']
432 |
433 | # add corrections
434 | symbols = quip_atoms.get_chemical_symbols()
435 | for sym in symbols:
436 | self.results['energy'] -= self.atomic_energies[sym]
437 | self.results['free_energy'] -= self.atomic_free_energies[sym]
438 | self.results['energy'] += error_results['energy']
439 | self.results['free_energy'] += error_results['free_energy']
440 |
441 | self.results['forces'] += error_results['forces']
442 |
443 | self.results['stress'] += error_results['stress']
444 | else:
445 | if self.binding_energy:
446 | symbols = self.atoms.get_chemical_symbols()
447 | for sym in symbols:
448 | self.results['energy'] -= self.atomic_energies[sym]
449 | self.results['free_energy'] -= self.atomic_free_energies[sym]
450 |
451 | return
452 |
453 | def read_results(self):
454 | """ all results are read from results.tag file
455 | It will be destroyed after it is read to avoid
456 | reading it once again after some runtime error """
457 |
458 | myfile = open(os.path.join(self.directory, 'results.tag'), 'r')
459 | self.lines = myfile.readlines()
460 | myfile.close()
461 |
462 | # print('atoms before read', self.atoms)
463 | # print('atoms_input before read', self.atoms_input)
464 |
465 | self.atoms = self.atoms_input
466 |
467 | charges, energy, free_energy = self.read_charges_and_energy()
468 | if charges is not None:
469 | self.results['charges'] = charges
470 |
471 | self.results['energy'] = energy
472 | self.results['free_energy'] = free_energy
473 |
474 | if self.do_forces:
475 | forces = self.read_forces()
476 | self.results['forces'] = forces
477 |
478 | self.mmpositions = None
479 |
480 | # stress stuff begins
481 | sstring = 'stress'
482 | have_stress = False
483 | stress = list()
484 | for iline, line in enumerate(self.lines):
485 | if sstring in line:
486 | have_stress = True
487 | start = iline + 1
488 | end = start + 3
489 | for i in range(start, end):
490 | cell = [float(x) for x in self.lines[i].split()]
491 | stress.append(cell)
492 | if have_stress:
493 | stress = -np.array(stress) * Hartree / Bohr**3
494 | self.results['stress'] = stress.flat[[0, 4, 8, 5, 2, 1]]
495 | # stress stuff ends
496 |
497 | # TODO: these two seem wrong with DFTB+ master but compatible with 19.1
498 | # eigenvalues and fermi levels
499 | #fermi_levels = self.read_fermi_levels()
500 | #if fermi_levels is not None:
501 | # self.results['fermi_levels'] = fermi_levels
502 | #
503 | #eigenvalues = self.read_eigenvalues()
504 | #if eigenvalues is not None:
505 | # self.results['eigenvalues'] = eigenvalues
506 |
507 | # calculation was carried out with atoms written in write_input
508 | os.remove(os.path.join(self.directory, 'results.tag'))
509 |
510 | return
511 |
512 | def read_forces(self):
513 | #"""Read Forces from dftb output file (results.tag)."""
514 | """
515 | Read Forces from dftb output file (detailed.out).
516 | It seems there is no information in results.tag when SCC is not converged.
517 | """
518 |
519 | from ase.units import Hartree, Bohr
520 |
521 | myfile = open(os.path.join(self.directory, 'detailed.out'), 'r')
522 | self.lines = myfile.readlines()
523 | myfile.close()
524 |
525 | # Force line indexes
526 | for iline, line in enumerate(self.lines):
527 | fstring = 'Total Forces'
528 | if line.find(fstring) >= 0:
529 | index_force_begin = iline + 1
530 | index_force_end = iline + 1 + len(self.atoms)
531 | break
532 |
533 | gradients = []
534 | for j in range(index_force_begin, index_force_end):
535 | word = self.lines[j].split()
536 | gradients.append([float(word[k]) for k in range(1, 4)])
537 |
538 | return np.array(gradients) * Hartree / Bohr
539 |
540 | def read_charges_and_energy(self):
541 | """Get partial charges on atoms
542 | in case we cannot find charges they are set to None
543 | """
544 | infile = open(os.path.join(self.directory, 'detailed.out'), 'r')
545 | lines = infile.readlines()
546 | infile.close()
547 |
548 | #for line in lines:
549 | # if line.strip().startswith('Total energy:'):
550 | # energy = float(line.split()[2]) * Hartree
551 | # break
552 |
553 | # for finite-temperature DFT, 0K energy is needed
554 | for line in lines:
555 | if line.strip().startswith('Extrapolated to 0:'):
556 | energy = float(line.split()[3]) * Hartree
557 | break
558 |
559 | # for hellman-feynman force, need force-related free energy
560 | for line in lines:
561 | if line.strip().startswith('Force related energy:'):
562 | free_energy = float(line.split()[3]) * Hartree
563 | break
564 |
565 | qm_charges = []
566 | for n, line in enumerate(lines):
567 | if ('Atom' and 'Charge' in line):
568 | chargestart = n + 1
569 | break
570 | else:
571 | # print('Warning: did not find DFTB-charges')
572 | # print('This is ok if flag SCC=No')
573 | return None, energy
574 |
575 | lines1 = lines[chargestart:(chargestart + len(self.atoms))]
576 | for line in lines1:
577 | qm_charges.append(float(line.split()[-1]))
578 |
579 | return np.array(qm_charges), energy, free_energy
580 |
581 | def get_charges(self, atoms):
582 | """ Get the calculated charges
583 | this is inhereted to atoms object """
584 | if 'charges' in self.results:
585 | return self.results['charges']
586 | else:
587 | return None
588 |
589 | def read_eigenvalues(self):
590 | """ Read Eigenvalues from dftb output file (results.tag).
591 | Unfortunately, the order seems to be scrambled. """
592 | # Eigenvalue line indexes
593 | index_eig_begin = None
594 | for iline, line in enumerate(self.lines):
595 | fstring = 'eigenvalues '
596 | if line.find(fstring) >= 0:
597 | index_eig_begin = iline + 1
598 | line1 = line.replace(':', ',')
599 | ncol, nband, nkpt, nspin = map(int, line1.split(',')[-4:])
600 | break
601 | else:
602 | return None
603 |
604 | # Take into account that the last row may lack
605 | # columns if nkpt * nspin * nband % ncol != 0
606 | nrow = int(np.ceil(nkpt * nspin * nband * 1. / ncol))
607 | index_eig_end = index_eig_begin + nrow
608 | ncol_last = len(self.lines[index_eig_end - 1].split())
609 | self.lines[index_eig_end - 1] += ' 0.0 ' * (ncol - ncol_last)
610 |
611 | eig = np.loadtxt(self.lines[index_eig_begin:index_eig_end]).flatten()
612 | eig *= Hartree
613 | N = nkpt * nband
614 | eigenvalues = [eig[i * N:(i + 1) * N].reshape((nkpt, nband))
615 | for i in range(nspin)]
616 |
617 | return eigenvalues
618 |
619 | def read_fermi_levels(self):
620 | """ Read Fermi level(s) from dftb output file (results.tag). """
621 | # Fermi level line indexes
622 | for iline, line in enumerate(self.lines):
623 | fstring = 'fermi_level '
624 | if line.find(fstring) >= 0:
625 | index_fermi = iline + 1
626 | break
627 | else:
628 | return None
629 |
630 | fermi_levels = []
631 | words = self.lines[index_fermi].split()
632 | assert len(words) == 2
633 |
634 | for word in words:
635 | e = float(word)
636 | if abs(e) > 1e-8:
637 | # Without spin polarization, one of the Fermi
638 | # levels is equal to 0.000000000000000E+000
639 | fermi_levels.append(e)
640 |
641 | return np.array(fermi_levels) * Hartree
642 |
643 | def get_ibz_k_points(self):
644 | return self.kpts_coord.copy()
645 |
646 | def get_number_of_spins(self):
647 | return self.nspin
648 |
649 | def get_eigenvalues(self, kpt=0, spin=0):
650 | return self.results['eigenvalues'][spin][kpt].copy()
651 |
652 | def get_fermi_levels(self):
653 | return self.results['fermi_levels'].copy()
654 |
655 | def get_fermi_level(self):
656 | return max(self.get_fermi_levels())
657 |
658 | def embed(self, mmcharges=None, directory='./'):
659 | """Embed atoms in point-charges (mmcharges)
660 | """
661 | self.pcpot = PointChargePotential(mmcharges, self.directory)
662 | return self.pcpot
663 |
664 | # for correction
665 | def update_atomic_energies(self, atomic_energies=ATOMIC_ENERGIES):
666 | """"""
667 | self.atomic_energies = ATOMIC_ENERGIES['energy']
668 | self.atomic_free_energies = ATOMIC_ENERGIES['free_energy']
669 |
670 | return
671 |
672 |
673 | class PointChargePotential:
674 | def __init__(self, mmcharges, directory='./'):
675 | """Point-charge potential for DFTB+.
676 | """
677 | self.mmcharges = mmcharges
678 | self.directory = directory
679 | self.mmpositions = None
680 | self.mmforces = None
681 |
682 | def set_positions(self, mmpositions):
683 | self.mmpositions = mmpositions
684 |
685 | def set_charges(self, mmcharges):
686 | self.mmcharges = mmcharges
687 |
688 | def write_mmcharges(self, filename='dftb_external_charges.dat'):
689 | """ mok all
690 | write external charges as monopoles for dftb+.
691 |
692 | """
693 | if self.mmcharges is None:
694 | print("DFTB: Warning: not writing exernal charges ")
695 | return
696 | charge_file = open(os.path.join(self.directory, filename), 'w')
697 | for [pos, charge] in zip(self.mmpositions, self.mmcharges):
698 | [x, y, z] = pos
699 | charge_file.write('%12.6f %12.6f %12.6f %12.6f \n'
700 | % (x, y, z, charge))
701 | charge_file.close()
702 |
703 | def get_forces(self, calc, get_forces=True):
704 | """ returns forces on point charges if the flag get_forces=True """
705 | if get_forces:
706 | return self.read_forces_on_pointcharges()
707 | else:
708 | return np.zeros_like(self.mmpositions)
709 |
710 | def read_forces_on_pointcharges(self):
711 | """Read Forces from dftb output file (results.tag)."""
712 | from ase.units import Hartree, Bohr
713 | infile = open(os.path.join(self.directory, 'detailed.out'), 'r')
714 | lines = infile.readlines()
715 | infile.close()
716 |
717 | external_forces = []
718 | for n, line in enumerate(lines):
719 | if ('Forces on external charges' in line):
720 | chargestart = n + 1
721 | break
722 | else:
723 | raise RuntimeError(
724 | 'Problem in reading forces on MM external-charges')
725 | lines1 = lines[chargestart:(chargestart + len(self.mmcharges))]
726 | for line in lines1:
727 | external_forces.append(
728 | [float(i) for i in line.split()])
729 | return np.array(external_forces) * Hartree / Bohr
730 |
731 |
732 |
733 | def read_max_angular_momentum(path):
734 | """Read maximum angular momentum from .skf file.
735 |
736 | See dftb.org for A detailed description of the Slater-Koster file format.
737 | """
738 | with open(path, 'r') as fd:
739 | line = fd.readline()
740 | if line[0] == '@':
741 | # Extended format
742 | fd.readline()
743 | l = 3
744 | pos = 9
745 | else:
746 | # Simple format:
747 | l = 2
748 | pos = 7
749 |
750 | # Sometimes there ar commas, sometimes not:
751 | line = fd.readline().replace(',', ' ')
752 |
753 | occs = [float(f) for f in line.split()[pos:pos + l + 1]]
754 | for f in occs:
755 | if f > 0.0:
756 | return l
757 | l -= 1
758 |
--------------------------------------------------------------------------------
/AccMetaD/xemt.py:
--------------------------------------------------------------------------------
1 | """
2 | This module defines an ASE interface to EMT with Delta Machine Learning.
3 | """
4 |
5 | import os
6 | import time
7 | import subprocess
8 | import warnings
9 |
10 | import numpy as np
11 |
12 | from ase.io import read, write
13 |
14 | from ase.calculators.calculator import (
15 | all_changes,
16 | Calculator,
17 | FileIOCalculator
18 | )
19 |
20 | from ase.calculators.emt import EMT
21 |
22 | # extended-ase
23 | from .xquip import XQuip
24 |
25 |
26 | ATOMIC_ENERGIES = {
27 | 'energy': {
28 | 'C': 3.5,
29 | 'O': 4.6,
30 | 'Pt': 5.85,
31 | },
32 | 'free_energy': {
33 | 'C': 3.5,
34 | 'O': 4.6,
35 | 'Pt': 5.85,
36 | },
37 | }
38 |
39 |
40 | class XEMT(FileIOCalculator):
41 | """ A Gaussian-Process corrected EMT calculator... (delta machine learning)
42 | """
43 |
44 | #implemented_properties = ['energy', 'energies', 'forces', 'stress']
45 | implemented_properties = ['energy', 'forces', 'stress']
46 |
47 | def __init__(
48 | self,
49 | correction_params = None,
50 | atomicEnergies: dict = {},
51 | **kwargs
52 | ):
53 | """Construct a D-EMT calculator.
54 |
55 | """
56 |
57 | FileIOCalculator.__init__(
58 | self,
59 | **kwargs
60 | )
61 |
62 | # set GP potential path
63 | self.correction_calculator = None
64 | if correction_params:
65 | params = correction_params.copy() # avoid destroy origin
66 | # get params
67 | correction_command = params.pop('correction_command', None)
68 | param_filename = params.pop('param_filename', None)
69 | # check params
70 | warnings.warn(
71 | 'You are using EMT with correction!', RuntimeWarning
72 | )
73 | if correction_command:
74 | pass
75 | else:
76 | raise ValueError('No correction_command')
77 |
78 | if param_filename:
79 | if os.path.exists(param_filename):
80 | param_filename = os.path.abspath(param_filename)
81 | else:
82 | raise ValueError('%s not exists.' %param_filename)
83 | else:
84 | raise ValueError('No param_filename')
85 |
86 | # generate calculator
87 | self.correction_calculator = XQuip(
88 | directory = self.directory,
89 | command = correction_command,
90 | param_filename = param_filename,
91 | **params,
92 | )
93 | else:
94 | pass
95 |
96 | # set atomic energies
97 | self.update_atomic_energies()
98 |
99 | return
100 |
101 | def calculate(self, atoms=None, properties=['energy'],
102 | system_changes=all_changes):
103 | # directories are created automatically.
104 | Calculator.calculate(self, atoms, properties, system_changes)
105 |
106 | FileIOCalculator.write_input(self, atoms, properties, system_changes)
107 |
108 | # EMT
109 | #start_time = time.time()
110 | emtAtoms = self.atoms.copy()
111 | emtAtoms.set_calculator(EMT())
112 | #end_time = time.time()
113 | #print(
114 | # '%s cost time: %.3f s' % ('emt in xemt', end_time-start_time)
115 | #)
116 |
117 | self.results['energy'] = emtAtoms.get_potential_energy()
118 | self.results['free_energy'] = emtAtoms.get_potential_energy(force_consistent=True)
119 | self.results['forces'] = emtAtoms.get_forces()
120 | self.results['stress'] = emtAtoms.get_stress(voigt=True)
121 |
122 | # after correction, the energy should be binding energy in eV
123 | if self.correction_calculator:
124 | quipAtoms = self.atoms.copy()
125 | quipAtoms.set_calculator(self.correction_calculator)
126 |
127 | error_results = {}
128 | error_results['energy'] = quipAtoms.get_potential_energy()
129 | error_results['free_energy'] = quipAtoms.get_potential_energy(
130 | force_consistent=True
131 | )
132 | error_results['forces'] = quipAtoms.get_forces()
133 | error_results['stress'] = quipAtoms.get_stress(voigt=True)
134 |
135 | # error predictions
136 | self.results['local_gap_variance'] = \
137 | quipAtoms.calc.results['local_gap_variance']
138 | self.results['gap_variance_gradient'] = \
139 | quipAtoms.calc.results['gap_variance_gradient']
140 |
141 | # add corrections
142 | symbols = self.atoms.get_chemical_symbols()
143 | for sym in symbols:
144 | self.results['energy'] -= self.atomic_energies[sym]
145 | self.results['free_energy'] -= self.atomic_free_energies[sym]
146 | self.results['energy'] += error_results['energy']
147 | self.results['free_energy'] += error_results['free_energy']
148 |
149 | self.results['forces'] += error_results['forces']
150 |
151 | self.results['stress'] += error_results['stress']
152 | else:
153 | symbols = self.atoms.get_chemical_symbols()
154 | for sym in symbols:
155 | self.results['energy'] -= self.atomic_energies[sym]
156 | self.results['free_energy'] -= self.atomic_free_energies[sym]
157 |
158 | return
159 |
160 | def update_atomic_energies(self, atomic_energies=ATOMIC_ENERGIES):
161 | """"""
162 | self.atomic_energies = ATOMIC_ENERGIES['energy']
163 | self.atomic_free_energies = ATOMIC_ENERGIES['free_energy']
164 |
165 | return
166 |
167 | if __name__ == '__main__':
168 | from ase import Atoms
169 | # test
170 | print('USE_COMMAND_QUIP ', USE_COMMAND_QUIP)
171 | atoms = Atoms(
172 | 'Pt',
173 | positions=[(0.,0.,0.)],
174 | cell = [[10.,0.,0.],[0.,10.,0.],[0.,0.,10.]]
175 | )
176 | atoms.set_calculator(XEMT())
177 | print(atoms.get_potential_energy())
178 | print(atoms.get_potential_energy(force_consistent=True))
179 |
180 |
--------------------------------------------------------------------------------
/AccMetaD/xquip.py:
--------------------------------------------------------------------------------
1 | import os
2 | import warnings
3 | import subprocess
4 |
5 | import numpy as np
6 |
7 | from ase.calculators.calculator import (Calculator, FileIOCalculator, all_changes)
8 | from ase.units import Hartree, Bohr
9 |
10 | #
11 | from ase.io import write, read
12 |
13 |
14 | USE_COMMAND_QUIP = False
15 | try:
16 | from quippy.potential import Potential
17 | except ImportError:
18 | USE_COMMAND_QUIP = True
19 |
20 | if USE_COMMAND_QUIP:
21 | warnings.warn(
22 | 'You will directly call quip in shell to calculate GP.', RuntimeWarning
23 | )
24 | else:
25 | warnings.warn(
26 | 'You are using Potential in quippy module.', RuntimeWarning
27 | )
28 |
29 |
30 | class XQuip(FileIOCalculator):
31 | """"""
32 |
33 | implemented_properties = ['energy', 'free_energy', 'forces', 'stress']
34 |
35 | default_parameters = {'E': True, 'F': True}
36 |
37 | def __init__(
38 | self,
39 | restart=None,
40 | ignore_bad_restart_file=False,
41 | atoms=None,
42 | command = None,
43 | param_filename = None,
44 | calc_args = None, # 'local_gap_variance'
45 | quip_xyz_name = 'quip',
46 | **kwargs
47 | ):
48 |
49 | self.atoms = None
50 |
51 | FileIOCalculator.__init__(
52 | self, restart, ignore_bad_restart_file,
53 | atoms,
54 | **kwargs
55 | )
56 | # TODO: sth wrong with self.directory
57 |
58 | if not os.path.exists(param_filename):
59 | raise ValueError('File Not Found %s' %(param_filename))
60 | self.param_filename = param_filename
61 |
62 | self.calc_args = calc_args
63 | if USE_COMMAND_QUIP:
64 | self.quip_command = command
65 | self.in_xyz = os.path.join(self.directory, quip_xyz_name+'_in.xyz')
66 | self.out_xyz = os.path.join(self.directory, quip_xyz_name+'_out.xyz')
67 | else:
68 | # TODO: check calc_args
69 | self.quip_calculator = Potential(
70 | param_filename = param_filename,
71 | calc_args = calc_args
72 | )
73 |
74 | return
75 |
76 | def calculate(self, atoms=None, properties=['energy'],
77 | system_changes=all_changes):
78 | Calculator.calculate(self, atoms, properties, system_changes)
79 |
80 | self.results = {}
81 | if USE_COMMAND_QUIP:
82 | atoms = self.call_quip()
83 | self.results = {}
84 | self.results['energy'] = atoms.get_potential_energy()
85 | #self.results['free_energy'] = atoms.get_potential_energy(force_consistent=True)
86 | # TODO: quip not return free energy
87 | self.results['free_energy'] = atoms.get_potential_energy()
88 |
89 | self.results['forces'] = atoms.arrays['force']
90 | stress = -atoms.info['virial'].copy() / atoms.get_volume()
91 | # convert to 6-element array in Voigt order
92 | self.results['stress'] = np.array([
93 | stress[0, 0], stress[1, 1], stress[2, 2],
94 | stress[1, 2], stress[0, 2], stress[0, 1]
95 | ])
96 | else:
97 | atoms = self.atoms.copy()
98 | atoms.set_calculator(self.quip_calculator)
99 |
100 | self.results['energy'] = atoms.get_potential_energy()
101 | self.results['free_energy'] = atoms.get_potential_energy(force_consistent=True)
102 | self.results['forces'] = atoms.get_forces()
103 | self.results['stress'] = atoms.get_stress(voigt=True)
104 |
105 | if self.calc_args == 'local_gap_variance':
106 | self.results['local_gap_variance'] = \
107 | atoms.arrays['local_gap_variance']
108 | self.results['gap_variance_gradient'] = \
109 | atoms.arrays['gap_variance_gradient']
110 |
111 | return
112 |
113 | #TODO: check calc_args
114 | def call_quip(self):
115 | """"""
116 | # remove old files
117 | if os.path.exists(self.in_xyz):
118 | os.remove(self.in_xyz)
119 |
120 | if os.path.exists(self.out_xyz):
121 | os.remove(self.out_xyz)
122 |
123 | # write input
124 | write(self.in_xyz, self.atoms.copy()) # avoid previous results
125 |
126 | # calculate
127 | command = (
128 | "%s" %self.quip_command +
129 | " E F V" + # energy force virial
130 | " atoms_filename=%s" %(os.path.basename(self.in_xyz)) +
131 | " param_filename=%s" %(self.param_filename) +
132 | " calc_args=\"%s\"" %self.calc_args +
133 | " |" +
134 | " grep AT | sed 's/AT//' > %s" %(os.path.basename(self.out_xyz))
135 | )
136 |
137 | proc = subprocess.Popen(command, shell=True, cwd=self.directory)
138 |
139 | errorcode = proc.wait()
140 | if errorcode:
141 | path = os.path.abspath(workDirPath)
142 | msg = ('Failed with command "{}" failed in '
143 | '{} with error code {}'.format(command, path, errorcode))
144 |
145 | raise ValueError(msg)
146 |
147 | quip_atoms = read(self.out_xyz)
148 |
149 | os.remove(self.in_xyz)
150 | os.remove(self.in_xyz+'.idx')
151 | os.remove(self.out_xyz)
152 |
153 | return quip_atoms
154 |
155 |
156 | if __name__ == '__main__':
157 | atoms = read('test.xyz')
158 | calc = QuipGap()
159 | atoms.set_calculator(calc)
160 | print(atoms)
161 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Accelerating Metadynamics-Based Free-Energy Calculations with Adaptive Machine Learning Potentials
2 |
3 | This repository contains codes for paper [Xu, J.; Cao, X.-M.; Hu, P. JCTC, 2021.](https://pubs.acs.org/doi/10.1021/acs.jctc.1c00261).
4 |
5 | This package aims to accelerate metadynamics (MetaD) in heterogeneous reactions using adaptive machine learning potentials (AMLP) that maintains *ab initio* accuracy.
6 |
7 | ## Installation
8 |
9 | Install the external codes, prepare the python environment and add `AccMetaD` to `PYTHONPATH`.
10 |
11 | Miniconda is recommaned to configure environment.
12 |
13 | ### External Codes
14 |
15 | 1. VASP 5.4.1
16 | 2. DFTB+ 20.1
17 | 3. QUIP with GAP
18 |
19 | ### Python Packages
20 |
21 | 1. ase 3.19.1
22 | 2. plumed 2.6.2
23 |
24 | ### Notes
25 |
26 | 1. Other DFT codes can be utilised as well, which can be accessed by the ase interface.
27 | 2. Units in dynamics modules have been changes in ase 3.21.0. Change timestep and temperature accordingly if using new version of ase.
28 |
29 | ## Usage
30 |
31 | ### Introduction
32 | Each job contains at least five input files.
33 |
34 | `*.xyz` is the structure.
35 |
36 | `plumed-*.dat` are inputfiles for plumed.
37 |
38 | `inputs.py` contains DFT, DFTB and GAP calculation parameters.
39 |
40 | `run.py` contains AMLP-MetaD settings.
41 |
42 | `acc_meta.slurm` is the job script that sets environment variables.
43 |
44 | ### Examples
45 |
46 | There are four examples attached.
47 |
48 | CO on Pt13 cluster using GAP and DFTB-GAP.
49 |
50 | CO on Pt(111) surface using GAP and DFTB-GAP.
51 |
52 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/Pt13-CO.xyz:
--------------------------------------------------------------------------------
1 | 15
2 | Lattice="30.0 0.0 0.0 0.0 30.0 0.0 0.0 0.0 30.0" Properties=species:S:1:pos:R:3 pbc="T T T"
3 | C 14.85506202 15.09383556 19.50000000
4 | O 14.85506202 15.09383556 20.70000000
5 | Pt 15.00000000 15.00000000 15.00000000
6 | Pt 17.33675000 15.04100000 16.18250000
7 | Pt 12.67050000 14.98175000 13.80625000
8 | Pt 15.00000000 15.00000000 17.62575000
9 | Pt 15.67550000 17.23800000 16.20600000
10 | Pt 16.86500000 16.44725000 13.86275000
11 | Pt 16.93750000 13.70600000 13.81125000
12 | Pt 15.76575000 12.78325000 16.13450000
13 | Pt 15.01650000 15.04550000 12.37125000
14 | Pt 14.33475000 12.78350000 13.77675000
15 | Pt 13.13800000 13.57425000 16.13675000
16 | Pt 13.07450000 16.32100000 16.18050000
17 | Pt 14.24225000 17.23175000 13.86225000
18 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/acc_meta.slurm:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 | #SBATCH --partition=k2-hipri # queue
3 | #SBATCH --job-name=acc_meta # Job name
4 | #SBATCH --ntasks=32 # Number of cores
5 | #SBATCH --time=3:00:00 # Time limit hrs:min:sec
6 | #SBATCH --output=output.txt # Standard output and error log
7 | #SBATCH --error=error.txt # Standard output and error log
8 |
9 | source ~/envs/source_quip.sh
10 |
11 | export DFTB_COMMAND="/mnt/scratch/chemistry-apps/dkb01416/dftbplus/installed/20.1/gnu-6.4.0/somp/bin/dftb+ > dftb.out"
12 | export DFTB_SLAKO="/users/40247882/repository/DataBase/skf/parameterisation/PtCO/"
13 |
14 | export VASP_COMMAND="mpirun -n 32 /mnt/scratch/chemistry-apps/dkb01416/vasp/installed/intel-2016/5.4.4/vasp_std"
15 | export VASP_PP_PATH="/mnt/scratch/chemistry-apps/dkb01416/vasp/PseudoPotential"
16 |
17 | export QUIP_COMMAND="quip"
18 | export GAPFIT_EXEC="gap_fit"
19 |
20 | export PYTHONPATH="$PYTHONPATH:/users/40247882/repository/accelerate-metadynamics"
21 |
22 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/submitted
23 | python -u ./run.py 2>&1 > acc.out
24 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/finished
25 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/inputs.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | import os
5 | # ===== DFTB =====
6 | DFTB_COMMAND = os.environ['DFTB_COMMAND']
7 | DFTB_SLAKO = os.environ['DFTB_SLAKO']
8 |
9 | MAX_ANG_MOM = {'C': 'p', 'O': 'p', 'Pt': 'd'}
10 |
11 | basic_input_parameters = dict(
12 | # Hamiltonian
13 | Hamiltonian_SCC = 'Yes',
14 | Hamiltonian_SCCTolerance = '1.0E-5',
15 | Hamiltonian_MaxSCCIterations = '180',
16 | Hamiltonian_Mixer_ = 'Broyden',
17 | Hamiltonian_Mixer_MixingParameter = '0.2',
18 | # Filling
19 | Hamiltonian_Filling_ = 'MethfesselPaxton',
20 | Hamiltonian_Filling_Order = '1',
21 | Hamiltonian_Filling_Temperature = '0.00735',
22 | # force
23 | Hamiltonian_Differentiation_ = 'FiniteDiff',
24 | Hamiltonian_Differentiation_Delta = '0.001',
25 | Hamiltonian_ForceEvaluation = 'traditional',
26 | # Options
27 | Options_ = ' ',
28 | Options_WriteResultsTag = 'Yes',
29 | # Analysis
30 | Analysis_ = ' ',
31 | Analysis_CalculateForces = 'Yes',
32 | # ParseOptions
33 | ParserOptions_ = ' ',
34 | ParserOptions_ParserVersion = '7',
35 | # Parallel
36 | Parallel_ = ' ',
37 | #Parallel_Groups = '2', # MPI
38 | Parallel_UseOmpThreads = 'Yes',
39 | )
40 |
41 | def generate_calculator(
42 | atoms,
43 | run_nsteps = 0,
44 | pure_elec = False,
45 | cell_opt = False
46 | ):
47 | # check elements
48 | symbols = atoms.get_chemical_symbols()
49 | elements = list(set(symbols))
50 | nelements = len(elements)
51 |
52 | # ===== Initialize Parameters
53 | input_parameters = basic_input_parameters.copy()
54 |
55 | # ===== Element Related
56 | # angular
57 | input_parameters.update({'Hamiltonian_MaxAngularMomentum_': ''})
58 | for elm in elements:
59 | input_parameters.update(
60 | {'Hamiltonian_MaxAngularMomentum_%s'%elm: '\"%s\"' %MAX_ANG_MOM[elm]})
61 |
62 | # no rep
63 | if pure_elec:
64 | input_parameters.update({'Hamiltonian_PolynomialRepulsive_': ''})
65 |
66 | two_body = []
67 | for e1 in range(nelements):
68 | for e2 in range(nelements):
69 | two_body.append((e1,e2))
70 |
71 | for pair in two_body:
72 | elm1, elm2 = elements[pair[0]], elements[pair[1]]
73 | input_parameters.update({'Hamiltonian_PolynomialRepulsive_%s-%s' \
74 | %(elm1,elm2): 'Yes'})
75 |
76 | #print(input_parameters)
77 | # ===== KPOINTS
78 | #cur_kpts = (6,6,6)
79 | #if len(atoms) < 6: # Pt bulk, O2, CO, CO2
80 | # cur_kpts = (6,6,6)
81 | #elif len(atoms) < 30: # surf, adsorption, reaction
82 | # cur_kpts = (4,4,1)
83 | #else:
84 | # raise ValueError('Wrong KPOINTS!!!')
85 |
86 | # ===== OPTIMIZATION / Molecular Dynamics
87 | # Driver
88 | input_parameters.update(Driver_='ConjugateGradient')
89 | input_parameters.update(Driver_MaxForceComponent='0.0015')
90 | input_parameters.update(Driver_MaxAtomStep= '0.2')
91 | input_parameters.update(Driver_MaxSteps=run_nsteps)
92 | input_parameters.update(Driver_AppendGeometries='Yes')
93 |
94 | if cell_opt:
95 | input_parameters.update(Driver_LatticeOpt = 'Yes')
96 | input_parameters.update(Driver_FixAngles = 'Yes')
97 | input_parameters.update(Driver_FixLengths = '{ No No No }')
98 | input_parameters.update(Driver_MaxLatticeStep = '0.1')
99 |
100 | return input_parameters
101 |
102 |
103 | # ===== VASP =====
104 | VASP_WORKDIR = './vasp-worker'
105 | VASP_COMMAND = os.environ['VASP_COMMAND']
106 |
107 | VASP_PARAMS = dict(
108 | # INCAR
109 | system='Pt13-CO', nwrite=2, istart=0,
110 | lcharg = False, lwave= False,
111 | npar = 4,
112 | xc='PBE', encut=400, prec='Normal', ediff=1E-5, nelm=180, nelmin=6,
113 | ispin=2, lorbit = 10,
114 | ismear=1, sigma = 0.2,
115 | algo = 'Fast', lreal = 'Auto', isym = 0,
116 | nsw=0,
117 | # KPOINTS
118 | kpts=(1,1,1), gamma=True,
119 | )
120 |
121 | # ===== QUIP and GAP =====
122 | QUIP_COMMAND = os.environ['QUIP_COMMAND']
123 | GAPFIT_EXEC = os.environ['GAPFIT_EXEC']
124 |
125 | GAPFIT_XMLNAME = 'GAP.xml'
126 | ENERGY_SIGMA = 0.008
127 | FORCES_SIGMA = 0.04
128 | VIRIAL_SIGMA = 0.04
129 | HESSIAN_SIGMA = 0.0
130 |
131 | GAPFIT_COMMAND = (
132 | GAPFIT_EXEC +
133 | " energy_parameter_name=free_energy" +
134 | " force_parameter_name=forces" +
135 | " virial_parameter_name=virial" +
136 | " do_copy_at_file=F" +
137 | " sparse_separate_file=F" +
138 | " gp_file=%s" %GAPFIT_XMLNAME +
139 | " at_file=./train.xyz" +
140 | " default_sigma={%f %f %f %f}" %(ENERGY_SIGMA, FORCES_SIGMA, VIRIAL_SIGMA, HESSIAN_SIGMA) +
141 | " e0={C:0.0:O:0.0:Pt:0.0}" +
142 | " gap={" +
143 | " distance_2b cutoff=5.000000 Z1=6 Z2=8 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
144 | " distance_2b cutoff=5.000000 Z1=6 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
145 | " distance_2b cutoff=5.000000 Z1=8 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
146 | " distance_2b cutoff=5.000000 Z1=78 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
147 | " {soap cutoff=5.000000 covariance_type=dot_product delta=0.20000 sparse_method=cur_points n_sparse=1200 zeta=2 l_max=6 n_max=12 atom_sigma=0.5} " +
148 | " }"
149 | )
150 |
151 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/plumed-1.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 |
8 | # C-Pt (surf) distance
9 | dis1: DISTANCE ATOMS=1,6
10 |
11 | # C - Pt(surf) - Pt(centre)
12 | ang1: ANGLE ATOMS=1,6,3
13 |
14 | # coordination number
15 | #cn1: COORDINATION GROUPA=1 GROUPB=3-15 NN=18 MM=36 R_0=0.24
16 |
17 | res1: RESTRAINT ARG=ang1 AT=pi KAPPA=10000.0
18 |
19 | # metadyn
20 | METAD ...
21 | LABEL=metad
22 | ARG=dis1
23 | PACE=10
24 | HEIGHT=2.5
25 | SIGMA=0.02
26 | FILE=hills-1
27 | ... METAD
28 |
29 | # set metaMD region
30 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
31 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
32 |
33 | #lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
34 | #uw1: UPPER_WALLS ARG=cn1 AT=4.2 KAPPA=10000.0
35 |
36 | PRINT STRIDE=1 ARG=dis1,lw0.bias,uw0.bias,ang1,res1.bias,metad.bias FILE=bias-1
37 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/plumed-2.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 |
8 | # C-Pt (surf) distance
9 | dis1: DISTANCE ATOMS=1,6
10 |
11 | # C - Pt(surf) - Pt(centre)
12 | ang1: ANGLE ATOMS=1,6,3
13 |
14 | # coordination number
15 | #cn1: COORDINATION GROUPA=1 GROUPB=3-15 NN=18 MM=36 R_0=0.24
16 |
17 | res1: RESTRAINT ARG=ang1 AT=pi KAPPA=10000.0
18 |
19 | # metadyn
20 | METAD ...
21 | LABEL=metad
22 | ARG=dis1
23 | PACE=10
24 | HEIGHT=1.0
25 | SIGMA=0.01
26 | FILE=hills-2
27 | ... METAD
28 |
29 | # set metaMD region
30 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
31 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
32 |
33 | #lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
34 | #uw1: UPPER_WALLS ARG=cn1 AT=4.2 KAPPA=10000.0
35 |
36 | PRINT STRIDE=1 ARG=dis1,lw0.bias,uw0.bias,ang1,res1.bias,metad.bias FILE=bias-2
37 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/dftb-gap/run.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from ase import units
5 |
6 | from ase.io import read, write
7 | from ase.calculators.vasp import Vasp2
8 |
9 | from ase.constraints import FixAtoms
10 |
11 | from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
12 |
13 | from AccMetaD.nosehoover import NoseHoover
14 | from AccMetaD.md_utils import force_temperature
15 | from AccMetaD.MetaAMLP import MetaAMLP
16 | from AccMetaD.xquip import XQuip
17 | from AccMetaD.xdftb import XDFTB
18 |
19 | if __name__ == '__main__':
20 | import inputs # all parameters
21 |
22 | # ===== system =====
23 | atoms = read('./Pt13-CO.xyz')
24 |
25 | cons = FixAtoms(indices=[2])
26 | atoms.set_constraint(cons)
27 |
28 | # - basic
29 | dftb_shared_params = inputs.generate_calculator(atoms)
30 | dftb_shared_params.update(command = inputs.DFTB_COMMAND)
31 | dftb_shared_params.update(num_threads = 20) # OMP_THREADS
32 | dftb_shared_params.update(slako_dir = inputs.DFTB_SLAKO)
33 | dftb_shared_params.update(kpts = (1,1,1))
34 |
35 | dftb_shared_params.update(binding_energy = True)
36 | dftb_shared_params.update(
37 | atomic_energies = dict(
38 | energy = {'C': -38.2611, 'O': -84.4551, 'Pt': -69.2691},
39 | free_energy = {'C': -38.4153, 'O': -84.6094, 'Pt': -69.2697}
40 | )
41 | )
42 |
43 | dftb_params = dftb_shared_params.copy()
44 | dftb_params.update(directory = './dftb-worker')
45 |
46 | # - correction
47 | correction_params = dict(
48 | correction_command = inputs.QUIP_COMMAND,
49 | param_filename = './GAP.xml',
50 | calc_args = 'local_gap_variance',
51 | )
52 |
53 | xdftb_params = dftb_shared_params.copy()
54 | xdftb_params.update(
55 | dict(
56 | directory = './xdftb-worker',
57 | correction_params = correction_params
58 | )
59 | )
60 |
61 | # - reference
62 | vasp_params = inputs.VASP_PARAMS.copy()
63 | vasp_params.update(
64 | dict(
65 | command=inputs.VASP_COMMAND,
66 | directory=inputs.VASP_WORKDIR,
67 | )
68 | )
69 |
70 | # - calculators
71 | calculators = {
72 | 'basic': XDFTB,
73 | 'corrected': XDFTB,
74 | 'reference': Vasp2,
75 | }
76 |
77 | calcParams ={
78 | 'basic': dftb_params,
79 | 'corrected': xdftb_params,
80 | 'reference': vasp_params,
81 | }
82 |
83 | # ===== molecular dynamics =====
84 | timestep = 2.0 * units.fs
85 | temperature = 300 # in Kelvin
86 |
87 | MaxwellBoltzmannDistribution(atoms, temperature*units.kB)
88 | force_temperature(atoms, temperature)
89 |
90 | trainer = MetaAMLP(
91 | atoms = atoms,
92 | constraints = cons,
93 | calculators = calculators,
94 | calcParams = calcParams,
95 | gapfitCommand = inputs.GAPFIT_COMMAND,
96 | # md stages
97 | mdEngines = [NoseHoover, NoseHoover],
98 | mdParams = [
99 | dict(
100 | nsteps = 0,
101 | plumedInput = 'plumed-1.dat',
102 | nvt_q = 334., temperature = temperature*units.kB
103 | ),
104 | dict(
105 | nsteps = 20000,
106 | init_atoms = atoms.copy(),
107 | plumedInput = 'plumed-2.dat',
108 | nvt_q = 334., temperature = temperature*units.kB
109 | )
110 | ],
111 | timestep = timestep, # fixed timestep
112 | # sample details
113 | maxSteps = 60000,
114 | minSamples = 1,
115 | sampleInterval = 2,
116 | tolerances = {
117 | 'energy': 1000,
118 | 'forces': 0.04,
119 | 'force_percent': 0.20,
120 | 'force_threhold': 0.02
121 | },
122 | retrain_criteria = {
123 | 'min_interval': 10, 'max_interval': 1000, 'new_samples': 5
124 | },
125 | restart = False,
126 | )
127 |
128 | trainer.run()
129 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/Pt13-CO.xyz:
--------------------------------------------------------------------------------
1 | 15
2 | Lattice="30.0 0.0 0.0 0.0 30.0 0.0 0.0 0.0 30.0" Properties=species:S:1:pos:R:3 pbc="T T T"
3 | C 14.85506202 15.09383556 19.50000000
4 | O 14.85506202 15.09383556 20.70000000
5 | Pt 15.00000000 15.00000000 15.00000000
6 | Pt 17.33675000 15.04100000 16.18250000
7 | Pt 12.67050000 14.98175000 13.80625000
8 | Pt 15.00000000 15.00000000 17.62575000
9 | Pt 15.67550000 17.23800000 16.20600000
10 | Pt 16.86500000 16.44725000 13.86275000
11 | Pt 16.93750000 13.70600000 13.81125000
12 | Pt 15.76575000 12.78325000 16.13450000
13 | Pt 15.01650000 15.04550000 12.37125000
14 | Pt 14.33475000 12.78350000 13.77675000
15 | Pt 13.13800000 13.57425000 16.13675000
16 | Pt 13.07450000 16.32100000 16.18050000
17 | Pt 14.24225000 17.23175000 13.86225000
18 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/acc_meta.slurm:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 | #SBATCH --partition=k2-hipri # queue
3 | #SBATCH --job-name=acc_meta # Job name
4 | #SBATCH --ntasks=32 # Number of cores
5 | #SBATCH --time=3:00:00 # Time limit hrs:min:sec
6 | #SBATCH --output=output.txt # Standard output and error log
7 | #SBATCH --error=error.txt # Standard output and error log
8 |
9 | source ~/envs/source_quip.sh
10 |
11 | export VASP_COMMAND="mpirun -n 32 /mnt/scratch/chemistry-apps/dkb01416/vasp/installed/intel-2016/5.4.4/vasp_std"
12 | export VASP_PP_PATH="/mnt/scratch/chemistry-apps/dkb01416/vasp/PseudoPotential"
13 |
14 | export QUIP_COMMAND="quip"
15 | export GAPFIT_EXEC="gap_fit"
16 |
17 | export PYTHONPATH="$PYTHONPATH:/users/40247882/repository/accelerate-metadynamics"
18 |
19 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/submitted
20 | python -u ./run.py 2>&1 > acc.out
21 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/finished
22 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/inputs.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | import os
5 |
6 | # ===== VASP =====
7 | VASP_WORKDIR = './vasp-worker'
8 | VASP_COMMAND = os.environ['VASP_COMMAND']
9 |
10 | VASP_PARAMS = dict(
11 | # INCAR
12 | system='Pt13-CO', nwrite=2, istart=0,
13 | lcharg = False, lwave= False,
14 | npar = 4,
15 | xc='PBE', encut=400, prec='Normal', ediff=1E-5, nelm=180, nelmin=6,
16 | ispin=2, lorbit = 10,
17 | ismear=1, sigma = 0.2,
18 | algo = 'Fast', lreal = 'Auto', isym = 0,
19 | nsw=0,
20 | # KPOINTS
21 | kpts=(1,1,1), gamma=True,
22 | )
23 |
24 | # ===== QUIP and GAP =====
25 | QUIP_COMMAND = os.environ['QUIP_COMMAND']
26 | GAPFIT_EXEC = os.environ['GAPFIT_EXEC']
27 |
28 | GAPFIT_XMLNAME = 'GAP.xml'
29 | ENERGY_SIGMA = 0.008
30 | FORCES_SIGMA = 0.04
31 | VIRIAL_SIGMA = 0.04
32 | HESSIAN_SIGMA = 0.0
33 |
34 | GAPFIT_COMMAND = (
35 | GAPFIT_EXEC +
36 | " energy_parameter_name=free_energy" +
37 | " force_parameter_name=forces" +
38 | " virial_parameter_name=virial" +
39 | " do_copy_at_file=F" +
40 | " sparse_separate_file=F" +
41 | " gp_file=%s" %GAPFIT_XMLNAME +
42 | " at_file=./train.xyz" +
43 | " default_sigma={%f %f %f %f}" %(ENERGY_SIGMA, FORCES_SIGMA, VIRIAL_SIGMA, HESSIAN_SIGMA) +
44 | " e0={C:0.0:O:0.0:Pt:0.0}" +
45 | " gap={" +
46 | " distance_2b cutoff=5.000000 Z1=6 Z2=8 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
47 | " distance_2b cutoff=5.000000 Z1=6 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
48 | " distance_2b cutoff=5.000000 Z1=8 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
49 | " distance_2b cutoff=5.000000 Z1=78 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
50 | " {soap cutoff=5.000000 covariance_type=dot_product delta=0.20000 sparse_method=cur_points n_sparse=1200 zeta=2 l_max=6 n_max=12 atom_sigma=0.5} " +
51 | " }"
52 | )
53 |
54 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/plumed-1.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 |
8 | # C-Pt (surf) distance
9 | dis1: DISTANCE ATOMS=1,6
10 |
11 | # C - Pt(surf) - Pt(centre)
12 | ang1: ANGLE ATOMS=1,6,3
13 |
14 | # coordination number
15 | #cn1: COORDINATION GROUPA=1 GROUPB=3-15 NN=18 MM=36 R_0=0.24
16 |
17 | res1: RESTRAINT ARG=ang1 AT=pi KAPPA=10000.0
18 |
19 | # metadyn
20 | METAD ...
21 | LABEL=metad
22 | ARG=dis1
23 | PACE=10
24 | HEIGHT=2.5
25 | SIGMA=0.02
26 | FILE=hills-1
27 | ... METAD
28 |
29 | # set metaMD region
30 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
31 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
32 |
33 | #lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
34 | #uw1: UPPER_WALLS ARG=cn1 AT=4.2 KAPPA=10000.0
35 |
36 | PRINT STRIDE=1 ARG=dis1,lw0.bias,uw0.bias,ang1,res1.bias,metad.bias FILE=bias-1
37 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/plumed-2.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 |
8 | # C-Pt (surf) distance
9 | dis1: DISTANCE ATOMS=1,6
10 |
11 | # C - Pt(surf) - Pt(centre)
12 | ang1: ANGLE ATOMS=1,6,3
13 |
14 | # coordination number
15 | #cn1: COORDINATION GROUPA=1 GROUPB=3-15 NN=18 MM=36 R_0=0.24
16 |
17 | res1: RESTRAINT ARG=ang1 AT=pi KAPPA=10000.0
18 |
19 | # metadyn
20 | METAD ...
21 | LABEL=metad
22 | ARG=dis1
23 | PACE=10
24 | HEIGHT=1.0
25 | SIGMA=0.01
26 | FILE=hills-2
27 | ... METAD
28 |
29 | # set metaMD region
30 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
31 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
32 |
33 | #lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
34 | #uw1: UPPER_WALLS ARG=cn1 AT=4.2 KAPPA=10000.0
35 |
36 | PRINT STRIDE=1 ARG=dis1,lw0.bias,uw0.bias,ang1,res1.bias,metad.bias FILE=bias-2
37 |
--------------------------------------------------------------------------------
/examples/CO-PtClus13/gap/run.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from ase import units
5 |
6 | from ase.io import read, write
7 | from ase.calculators.vasp import Vasp2
8 |
9 | from ase.constraints import FixAtoms
10 |
11 | from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
12 |
13 | from AccMetaD.nosehoover import NoseHoover
14 | from AccMetaD.md_utils import force_temperature
15 | from AccMetaD.MetaAMLP import MetaAMLP
16 | from AccMetaD.xquip import XQuip
17 |
18 | if __name__ == '__main__':
19 | import inputs # all parameters
20 |
21 | # ===== system =====
22 | atoms = read('./Pt13-CO.xyz')
23 |
24 | cons = FixAtoms(indices=[2])
25 | atoms.set_constraint(cons)
26 |
27 | # - correction
28 | xquip_params = dict(
29 | command = inputs.QUIP_COMMAND,
30 | param_filename = './GAP.xml',
31 | calc_args = 'local_gap_variance',
32 | )
33 |
34 | # - reference
35 | vasp_params = inputs.VASP_PARAMS.copy()
36 | vasp_params.update(
37 | dict(
38 | command=inputs.VASP_COMMAND,
39 | directory=inputs.VASP_WORKDIR,
40 | )
41 | )
42 |
43 | # - calculators
44 | calculators = {
45 | 'basic': None,
46 | 'corrected': XQuip,
47 | 'reference': Vasp2,
48 | }
49 |
50 | calcParams ={
51 | 'basic': None,
52 | 'corrected': xquip_params,
53 | 'reference': vasp_params,
54 | }
55 |
56 | # ===== molecular dynamics =====
57 | timestep = 2.0 * units.fs
58 | temperature = 300 # in Kelvin
59 |
60 | MaxwellBoltzmannDistribution(atoms, temperature*units.kB)
61 | force_temperature(atoms, temperature)
62 |
63 | trainer = MetaAMLP(
64 | atoms = atoms,
65 | constraints = cons,
66 | calculators = calculators,
67 | calcParams = calcParams,
68 | gapfitCommand = inputs.GAPFIT_COMMAND,
69 | # md stages
70 | mdEngines = [NoseHoover, NoseHoover],
71 | mdParams = [
72 | dict(
73 | nsteps = 0,
74 | plumedInput = 'plumed-1.dat',
75 | nvt_q = 334., temperature = temperature*units.kB
76 | ),
77 | dict(
78 | nsteps = 20000,
79 | init_atoms = atoms.copy(),
80 | plumedInput = 'plumed-2.dat',
81 | nvt_q = 334., temperature = temperature*units.kB
82 | )
83 | ],
84 | timestep = timestep, # fixed timestep
85 | # sample details
86 | maxSteps = 60000,
87 | minSamples = 1,
88 | sampleInterval = 2,
89 | tolerances = {
90 | 'energy': 10000,
91 | 'forces': 0.04,
92 | 'force_percent': 0.20,
93 | 'force_threhold': 0.02
94 | },
95 | retrain_criteria = {
96 | 'min_interval': 0, 'max_interval': 1000, 'new_samples': 5
97 | },
98 | restart = False,
99 | )
100 |
101 | trainer.run()
102 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/acc_meta.slurm:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 | #SBATCH --partition=k2-hipri # queue
3 | #SBATCH --job-name=acc_meta # Job name
4 | #SBATCH --ntasks=32 # Number of cores
5 | #SBATCH --time=3:00:00 # Time limit hrs:min:sec
6 | #SBATCH --output=output.txt # Standard output and error log
7 | #SBATCH --error=error.txt # Standard output and error log
8 |
9 | source ~/envs/source_quip.sh
10 |
11 | export DFTB_COMMAND="/mnt/scratch/chemistry-apps/dkb01416/dftbplus/installed/20.1/gnu-6.4.0/somp/bin/dftb+ > dftb.out"
12 | export DFTB_SLAKO="/users/40247882/repository/DataBase/skf/parameterisation/PtCO/"
13 |
14 | export VASP_COMMAND="mpirun -n 32 /mnt/scratch/chemistry-apps/dkb01416/vasp/installed/intel-2016/5.4.4/vasp_std"
15 | export VASP_PP_PATH="/mnt/scratch/chemistry-apps/dkb01416/vasp/PseudoPotential"
16 |
17 | export QUIP_COMMAND="quip"
18 | export GAPFIT_EXEC="gap_fit"
19 |
20 | export PYTHONPATH="$PYTHONPATH:/users/40247882/repository/accelerate-metadynamics"
21 |
22 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/submitted
23 | python -u ./run.py 2>&1 > acc.out
24 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/finished
25 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/inputs.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | import os
5 | # ===== DFTB =====
6 | DFTB_COMMAND = os.environ['DFTB_COMMAND']
7 | DFTB_SLAKO = os.environ['DFTB_SLAKO']
8 |
9 | MAX_ANG_MOM = {'C': 'p', 'O': 'p', 'Pt': 'd'}
10 |
11 | basic_input_parameters = dict(
12 | # Hamiltonian
13 | Hamiltonian_SCC = 'Yes',
14 | Hamiltonian_SCCTolerance = '1.0E-5',
15 | Hamiltonian_MaxSCCIterations = '180',
16 | Hamiltonian_Mixer_ = 'Broyden',
17 | Hamiltonian_Mixer_MixingParameter = '0.2',
18 | # Filling
19 | Hamiltonian_Filling_ = 'MethfesselPaxton',
20 | Hamiltonian_Filling_Order = '1',
21 | Hamiltonian_Filling_Temperature = '0.00735',
22 | # force
23 | Hamiltonian_Differentiation_ = 'FiniteDiff',
24 | Hamiltonian_Differentiation_Delta = '0.001',
25 | Hamiltonian_ForceEvaluation = 'traditional',
26 | # Options
27 | Options_ = ' ',
28 | Options_WriteResultsTag = 'Yes',
29 | # Analysis
30 | Analysis_ = ' ',
31 | Analysis_CalculateForces = 'Yes',
32 | # ParseOptions
33 | ParserOptions_ = ' ',
34 | ParserOptions_ParserVersion = '7',
35 | # Parallel
36 | Parallel_ = ' ',
37 | #Parallel_Groups = '2', # MPI
38 | Parallel_UseOmpThreads = 'Yes',
39 | )
40 |
41 | def generate_calculator(
42 | atoms,
43 | run_nsteps = 0,
44 | pure_elec = False,
45 | cell_opt = False
46 | ):
47 | # check elements
48 | symbols = atoms.get_chemical_symbols()
49 | elements = list(set(symbols))
50 | nelements = len(elements)
51 |
52 | # ===== Initialize Parameters
53 | input_parameters = basic_input_parameters.copy()
54 |
55 | # ===== Element Related
56 | # angular
57 | input_parameters.update({'Hamiltonian_MaxAngularMomentum_': ''})
58 | for elm in elements:
59 | input_parameters.update(
60 | {'Hamiltonian_MaxAngularMomentum_%s'%elm: '\"%s\"' %MAX_ANG_MOM[elm]})
61 |
62 | # no rep
63 | if pure_elec:
64 | input_parameters.update({'Hamiltonian_PolynomialRepulsive_': ''})
65 |
66 | two_body = []
67 | for e1 in range(nelements):
68 | for e2 in range(nelements):
69 | two_body.append((e1,e2))
70 |
71 | for pair in two_body:
72 | elm1, elm2 = elements[pair[0]], elements[pair[1]]
73 | input_parameters.update({'Hamiltonian_PolynomialRepulsive_%s-%s' \
74 | %(elm1,elm2): 'Yes'})
75 |
76 | #print(input_parameters)
77 | # ===== KPOINTS
78 | #cur_kpts = (6,6,6)
79 | #if len(atoms) < 6: # Pt bulk, O2, CO, CO2
80 | # cur_kpts = (6,6,6)
81 | #elif len(atoms) < 30: # surf, adsorption, reaction
82 | # cur_kpts = (4,4,1)
83 | #else:
84 | # raise ValueError('Wrong KPOINTS!!!')
85 |
86 | # ===== OPTIMIZATION / Molecular Dynamics
87 | # Driver
88 | input_parameters.update(Driver_='ConjugateGradient')
89 | input_parameters.update(Driver_MaxForceComponent='0.0015')
90 | input_parameters.update(Driver_MaxAtomStep= '0.2')
91 | input_parameters.update(Driver_MaxSteps=run_nsteps)
92 | input_parameters.update(Driver_AppendGeometries='Yes')
93 |
94 | if cell_opt:
95 | input_parameters.update(Driver_LatticeOpt = 'Yes')
96 | input_parameters.update(Driver_FixAngles = 'Yes')
97 | input_parameters.update(Driver_FixLengths = '{ No No No }')
98 | input_parameters.update(Driver_MaxLatticeStep = '0.1')
99 |
100 | return input_parameters
101 |
102 |
103 | # ===== VASP =====
104 | VASP_WORKDIR = './vasp-worker'
105 | VASP_COMMAND = os.environ['VASP_COMMAND']
106 |
107 | VASP_PARAMS = dict(
108 | # INCAR
109 | system='CO-Pt111', nwrite=2, istart=0,
110 | lcharg = False, lwave= False,
111 | npar = 4,
112 | xc='PBE', encut=400, prec='Normal', ediff=1E-5, nelm=120, nelmin=6,
113 | ispin=1,
114 | ismear=1, sigma = 0.2,
115 | algo = 'Fast', lreal = 'Auto', isym = 0,
116 | nsw=0,
117 | # KPOINTS
118 | kpts=(4,4,1), gamma=True,
119 | )
120 |
121 | # ===== QUIP and GAP =====
122 | QUIP_COMMAND = os.environ['QUIP_COMMAND']
123 | GAPFIT_EXEC = os.environ['GAPFIT_EXEC']
124 |
125 | GAPFIT_XMLNAME = 'GAP.xml'
126 | ENERGY_SIGMA = 0.008
127 | FORCES_SIGMA = 0.04
128 | VIRIAL_SIGMA = 0.04
129 | HESSIAN_SIGMA = 0.0
130 |
131 | GAPFIT_COMMAND = (
132 | GAPFIT_EXEC +
133 | " energy_parameter_name=free_energy" +
134 | " force_parameter_name=forces" +
135 | " virial_parameter_name=virial" +
136 | " do_copy_at_file=F" +
137 | " sparse_separate_file=F" +
138 | " gp_file=%s" %GAPFIT_XMLNAME +
139 | " at_file=./train.xyz" +
140 | " default_sigma={%f %f %f %f}" %(ENERGY_SIGMA, FORCES_SIGMA, VIRIAL_SIGMA, HESSIAN_SIGMA) +
141 | " e0={C:0.0:O:0.0:Pt:0.0}" +
142 | " gap={" +
143 | " distance_2b cutoff=5.000000 Z1=6 Z2=8 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
144 | " distance_2b cutoff=5.000000 Z1=6 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
145 | " distance_2b cutoff=5.000000 Z1=8 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
146 | " distance_2b cutoff=5.000000 Z1=78 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
147 | " {soap cutoff=5.000000 covariance_type=dot_product delta=0.20000 sparse_method=cur_points n_sparse=1200 zeta=2 l_max=6 n_max=12 atom_sigma=0.5} " +
148 | " }"
149 | )
150 |
151 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/plumed-1.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 | cell: CELL
8 | pos: POSITION ATOM=1 SCALED_COMPONENTS # carbon atom
9 |
10 | # coordination number
11 | cn1: COORDINATION GROUPA=1 GROUPB=10,12,14,16 NN=18 MM=36 R_0=0.24
12 |
13 | # C-Pt (Top) distance
14 | dis0: DISTANCE ATOMS=1,16
15 |
16 | # calculate distance between the carbon and the surface plane
17 | MATHEVAL ...
18 | LABEL=dis1
19 | ARG=cell.cz,pos.c
20 | VAR=cz,pz
21 | FUNC=cz*(pz-0.21)
22 | PERIODIC=NO
23 | ... MATHEVAL
24 |
25 | #res1: RESTRAINT ARG=dis1 AT=0.25 KAPPA=200000.0
26 | METAD ...
27 | LABEL=metad
28 | ARG=dis1,cn1
29 | PACE=10
30 | HEIGHT=2.5
31 | SIGMA=0.02,0.1
32 | FILE=hills-1
33 | ... METAD
34 |
35 | # set metaMD region
36 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
37 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
38 |
39 | lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
40 | uw1: UPPER_WALLS ARG=cn1 AT=3.2 KAPPA=10000.0
41 |
42 | PRINT STRIDE=1 ARG=dis0,dis1,lw0.bias,uw0.bias,cn1,lw1.bias,uw1.bias,metad.bias FILE=bias-1
43 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/plumed-2.dat:
--------------------------------------------------------------------------------
1 | RESTART
2 |
3 | #
4 | FLUSH STRIDE=1
5 |
6 | # auxiliary
7 | cell: CELL
8 | pos: POSITION ATOM=1 SCALED_COMPONENTS # carbon atom
9 |
10 | # coordination number
11 | cn1: COORDINATION GROUPA=1 GROUPB=10,12,14,16 NN=18 MM=36 R_0=0.24
12 |
13 | # C-Pt (Top) distance
14 | dis0: DISTANCE ATOMS=1,16
15 |
16 | # calculate distance between the carbon and the surface plane
17 | MATHEVAL ...
18 | LABEL=dis1
19 | ARG=cell.cz,pos.c
20 | VAR=cz,pz
21 | FUNC=cz*(pz-0.21)
22 | PERIODIC=NO
23 | ... MATHEVAL
24 |
25 | #res1: RESTRAINT ARG=dis1 AT=0.25 KAPPA=200000.0
26 | METAD ...
27 | LABEL=metad
28 | ARG=dis1,cn1
29 | PACE=10
30 | HEIGHT=2.5
31 | SIGMA=0.01,0.1
32 | FILE=hills-2
33 | ... METAD
34 |
35 | # set metaMD region
36 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
37 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
38 |
39 | lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
40 | uw1: UPPER_WALLS ARG=cn1 AT=3.2 KAPPA=10000.0
41 |
42 | PRINT STRIDE=1 ARG=dis0,dis1,lw0.bias,uw0.bias,cn1,lw1.bias,uw1.bias,metad.bias FILE=bias-2
43 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/run.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from ase import units
5 |
6 | from ase.io import read, write
7 | from ase.calculators.vasp import Vasp2
8 |
9 | from ase.constraints import FixAtoms
10 |
11 | from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
12 |
13 | from AccMetaD.nosehoover import NoseHoover
14 | from AccMetaD.md_utils import force_temperature
15 | from AccMetaD.MetaAMLP import MetaAMLP
16 | from AccMetaD.xquip import XQuip
17 | from AccMetaD.xdftb import XDFTB
18 |
19 | if __name__ == '__main__':
20 | import inputs # all parameters
21 |
22 | # ===== system =====
23 | atoms = read('./surf-CO.xyz')
24 |
25 | cons = FixAtoms(indices=[atom.index for atom in atoms if atom.position[2]<4.0])
26 | atoms.set_constraint(cons)
27 |
28 | # - basic
29 | dftb_shared_params = inputs.generate_calculator(atoms)
30 | dftb_shared_params.update(command = inputs.DFTB_COMMAND)
31 | dftb_shared_params.update(num_threads = 20) # OMP_THREADS
32 | dftb_shared_params.update(slako_dir = inputs.DFTB_SLAKO)
33 | dftb_shared_params.update(kpts = (4,4,1))
34 |
35 | dftb_shared_params.update(binding_energy = True)
36 | dftb_shared_params.update(
37 | atomic_energies = dict(
38 | energy = {'C': -38.2611, 'O': -84.4551, 'Pt': -69.2691},
39 | free_energy = {'C': -38.4153, 'O': -84.6094, 'Pt': -69.2697}
40 | )
41 | )
42 |
43 | dftb_params = dftb_shared_params.copy()
44 | dftb_params.update(directory = './dftb-worker')
45 |
46 | # - correction
47 | correction_params = dict(
48 | correction_command = inputs.QUIP_COMMAND,
49 | param_filename = './GAP.xml',
50 | calc_args = 'local_gap_variance',
51 | )
52 |
53 | xdftb_params = dftb_shared_params.copy()
54 | xdftb_params.update(
55 | dict(
56 | directory = './xdftb-worker',
57 | correction_params = correction_params
58 | )
59 | )
60 |
61 | # - reference
62 | vasp_params = inputs.VASP_PARAMS.copy()
63 | vasp_params.update(
64 | dict(
65 | command=inputs.VASP_COMMAND,
66 | directory=inputs.VASP_WORKDIR,
67 | )
68 | )
69 |
70 | # - calculators
71 | calculators = {
72 | 'basic': XDFTB,
73 | 'corrected': XDFTB,
74 | 'reference': Vasp2,
75 | }
76 |
77 | calcParams ={
78 | 'basic': dftb_params,
79 | 'corrected': xdftb_params,
80 | 'reference': vasp_params,
81 | }
82 |
83 | # ===== molecular dynamics =====
84 | timestep = 2.0 * units.fs
85 | temperature = 300 # in Kelvin
86 |
87 | MaxwellBoltzmannDistribution(atoms, temperature*units.kB)
88 | force_temperature(atoms, temperature)
89 |
90 | trainer = MetaAMLP(
91 | atoms = atoms,
92 | constraints = cons,
93 | calculators = calculators,
94 | calcParams = calcParams,
95 | gapfitCommand = inputs.GAPFIT_COMMAND,
96 | # md stages
97 | mdEngines = [NoseHoover, NoseHoover],
98 | mdParams = [
99 | dict(
100 | nsteps = 0,
101 | plumedInput = 'plumed-1.dat',
102 | nvt_q = 334., temperature = temperature*units.kB
103 | ),
104 | dict(
105 | nsteps = 40000,
106 | init_atoms = atoms.copy(),
107 | plumedInput = 'plumed-2.dat',
108 | nvt_q = 334., temperature = temperature*units.kB
109 | )
110 | ],
111 | timestep = timestep, # fixed timestep
112 | # sample details
113 | maxSteps = 100000,
114 | minSamples = 1,
115 | sampleInterval = 2,
116 | tolerances = {
117 | 'energy': 1000,
118 | 'forces': 0.04,
119 | 'force_percent': 0.20,
120 | 'force_threhold': 0.02
121 | },
122 | retrain_criteria = {
123 | 'min_interval': 10, 'max_interval': 1000, 'new_samples': 5
124 | },
125 | restart = False,
126 | )
127 |
128 | trainer.run()
129 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/dftb-gap/surf-CO.xyz:
--------------------------------------------------------------------------------
1 | 18
2 | Lattice="5.6102 0.0 0.0 -2.8051 4.85857572 0.0 0.0 0.0 31.871" Properties=species:S:1:pos:R:3 pbc="T T T"
3 | C 0.03804000 4.83476000 8.91387000
4 | O 0.05579000 4.82295000 10.07228000
5 | Pt 1.40257000 4.04879000 2.29049000
6 | Pt 1.40255000 2.42928000 0.00000000
7 | Pt -1.40252000 4.04879000 2.29049000
8 | Pt -1.40255000 2.42928000 0.00000000
9 | Pt 2.80512000 1.61950000 2.29049000
10 | Pt 2.80509000 0.00000000 0.00000000
11 | Pt 0.00003000 1.61950000 2.29049000
12 | Pt -2.78759000 4.85166000 6.81503000
13 | Pt 2.81337000 3.23430000 4.54148000
14 | Pt 1.41671000 2.41689000 6.81477000
15 | Pt 0.00808000 3.25864000 4.57426000
16 | Pt -1.38328000 2.41806000 6.81423000
17 | Pt 4.19457000 0.79195000 4.57480000
18 | Pt 0.01689000 4.84885000 7.05929000
19 | Pt 1.42950000 0.79403000 4.57211000
20 | Pt 0.00000000 0.00000000 0.00000000
21 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/acc_meta.slurm:
--------------------------------------------------------------------------------
1 | #!/bin/bash -l
2 | #SBATCH --partition=k2-hipri # queue
3 | #SBATCH --job-name=acc_meta # Job name
4 | #SBATCH --ntasks=32 # Number of cores
5 | #SBATCH --time=3:00:00 # Time limit hrs:min:sec
6 | #SBATCH --output=output.txt # Standard output and error log
7 | #SBATCH --error=error.txt # Standard output and error log
8 |
9 | source ~/envs/source_quip.sh
10 |
11 | export VASP_COMMAND="mpirun -n 32 /mnt/scratch/chemistry-apps/dkb01416/vasp/installed/intel-2016/5.4.4/vasp_std"
12 | export VASP_PP_PATH="/mnt/scratch/chemistry-apps/dkb01416/vasp/PseudoPotential"
13 |
14 | export QUIP_COMMAND="quip"
15 | export GAPFIT_EXEC="gap_fit"
16 |
17 | export PYTHONPATH="$PYTHONPATH:/users/40247882/repository/accelerate-metadynamics"
18 |
19 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/submitted
20 | python -u ./run.py 2>&1 > acc.out
21 | echo `date "+%Y-%m-%d %H:%M:%S"` `pwd` >> $HOME/finished
22 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/inputs.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | import os
5 |
6 | # ===== VASP =====
7 | VASP_WORKDIR = './vasp-worker'
8 | VASP_COMMAND = os.environ['VASP_COMMAND']
9 |
10 | VASP_PARAMS = dict(
11 | # INCAR
12 | system='CO-Pt111', nwrite=2, istart=0,
13 | lcharg = False, lwave= False,
14 | npar = 4,
15 | xc='PBE', encut=400, prec='Normal', ediff=1E-5, nelm=120, nelmin=6,
16 | ispin=1,
17 | ismear=1, sigma = 0.2,
18 | algo = 'Fast', lreal = 'Auto', isym = 0,
19 | nsw=0,
20 | # KPOINTS
21 | kpts=(4,4,1), gamma=True,
22 | )
23 |
24 | # ===== QUIP and GAP =====
25 | QUIP_COMMAND = os.environ['QUIP_COMMAND']
26 | GAPFIT_EXEC = os.environ['GAPFIT_EXEC']
27 |
28 | GAPFIT_XMLNAME = 'GAP.xml'
29 | ENERGY_SIGMA = 0.008
30 | FORCES_SIGMA = 0.04
31 | VIRIAL_SIGMA = 0.04
32 | HESSIAN_SIGMA = 0.0
33 |
34 | GAPFIT_COMMAND = (
35 | GAPFIT_EXEC +
36 | " energy_parameter_name=free_energy" +
37 | " force_parameter_name=forces" +
38 | " virial_parameter_name=virial" +
39 | " do_copy_at_file=F" +
40 | " sparse_separate_file=F" +
41 | " gp_file=%s" %GAPFIT_XMLNAME +
42 | " at_file=./train.xyz" +
43 | " default_sigma={%f %f %f %f}" %(ENERGY_SIGMA, FORCES_SIGMA, VIRIAL_SIGMA, HESSIAN_SIGMA) +
44 | " e0={C:0.0:O:0.0:Pt:0.0}" +
45 | " gap={" +
46 | " distance_2b cutoff=5.000000 Z1=6 Z2=8 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
47 | " distance_2b cutoff=5.000000 Z1=6 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
48 | " distance_2b cutoff=5.000000 Z1=8 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
49 | " distance_2b cutoff=5.000000 Z1=78 Z2=78 covariance_type=ard_se delta=0.200000 theta_uniform=0.500000 sparse_method=uniform n_sparse=50 add_species=F : " +
50 | " {soap cutoff=5.000000 covariance_type=dot_product delta=0.20000 sparse_method=cur_points n_sparse=1200 zeta=2 l_max=6 n_max=12 atom_sigma=0.5} " +
51 | " }"
52 | )
53 |
54 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/plumed-1.dat:
--------------------------------------------------------------------------------
1 | #
2 | FLUSH STRIDE=1
3 |
4 | # auxiliary
5 | cell: CELL
6 | pos: POSITION ATOM=1 SCALED_COMPONENTS # carbon atom
7 |
8 | # coordination number
9 | cn1: COORDINATION GROUPA=1 GROUPB=10,12,14,16 NN=18 MM=36 R_0=0.24
10 |
11 | # C-Pt (Top) distance
12 | dis0: DISTANCE ATOMS=1,16
13 |
14 | # calculate distance between the carbon and the surface plane
15 | MATHEVAL ...
16 | LABEL=dis1
17 | ARG=cell.cz,pos.c
18 | VAR=cz,pz
19 | FUNC=cz*(pz-0.21)
20 | PERIODIC=NO
21 | ... MATHEVAL
22 |
23 | #res1: RESTRAINT ARG=dis1 AT=0.25 KAPPA=200000.0
24 | METAD ...
25 | LABEL=metad
26 | ARG=dis1,cn1
27 | PACE=10
28 | HEIGHT=2.5
29 | SIGMA=0.02,0.1
30 | FILE=hills-1
31 | ... METAD
32 |
33 | # set metaMD region
34 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
35 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
36 |
37 | lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
38 | uw1: UPPER_WALLS ARG=cn1 AT=3.2 KAPPA=10000.0
39 |
40 | PRINT STRIDE=1 ARG=dis0,dis1,lw0.bias,uw0.bias,cn1,lw1.bias,uw1.bias,metad.bias FILE=bias-1
41 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/plumed-2.dat:
--------------------------------------------------------------------------------
1 | #
2 | FLUSH STRIDE=1
3 |
4 | # auxiliary
5 | cell: CELL
6 | pos: POSITION ATOM=1 SCALED_COMPONENTS # carbon atom
7 |
8 | # coordination number
9 | cn1: COORDINATION GROUPA=1 GROUPB=10,12,14,16 NN=18 MM=36 R_0=0.24
10 |
11 | # C-Pt (Top) distance
12 | dis0: DISTANCE ATOMS=1,16
13 |
14 | # calculate distance between the carbon and the surface plane
15 | MATHEVAL ...
16 | LABEL=dis1
17 | ARG=cell.cz,pos.c
18 | VAR=cz,pz
19 | FUNC=cz*(pz-0.21)
20 | PERIODIC=NO
21 | ... MATHEVAL
22 |
23 | #res1: RESTRAINT ARG=dis1 AT=0.25 KAPPA=200000.0
24 | METAD ...
25 | LABEL=metad
26 | ARG=dis1,cn1
27 | PACE=10
28 | HEIGHT=2.5
29 | SIGMA=0.01,0.1
30 | FILE=hills-2
31 | ... METAD
32 |
33 | # set metaMD region
34 | lw0: LOWER_WALLS ARG=dis1 AT=0.11 KAPPA=10000.0
35 | uw0: UPPER_WALLS ARG=dis1 AT=0.50 KAPPA=10000.0
36 |
37 | lw1: LOWER_WALLS ARG=cn1 AT=0.0 KAPPA=10000.0
38 | uw1: UPPER_WALLS ARG=cn1 AT=3.2 KAPPA=10000.0
39 |
40 | PRINT STRIDE=1 ARG=dis0,dis1,lw0.bias,uw0.bias,cn1,lw1.bias,uw1.bias,metad.bias FILE=bias-2
41 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/run.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from ase import units
5 |
6 | from ase.io import read, write
7 | from ase.calculators.vasp import Vasp2
8 |
9 | from ase.constraints import FixAtoms
10 |
11 | from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
12 |
13 | from AccMetaD.nosehoover import NoseHoover
14 | from AccMetaD.md_utils import force_temperature
15 | from AccMetaD.MetaAMLP import MetaAMLP
16 | from AccMetaD.xquip import XQuip
17 |
18 | if __name__ == '__main__':
19 | import inputs # all parameters
20 |
21 | # ===== system =====
22 | atoms = read('./surf-CO.xyz')
23 |
24 | cons = FixAtoms(indices=[atom.index for atom in atoms if atom.position[2]<4.0])
25 | atoms.set_constraint(cons)
26 |
27 | # - correction
28 | xquip_params = dict(
29 | command = inputs.QUIP_COMMAND,
30 | param_filename = './GAP.xml',
31 | calc_args = 'local_gap_variance',
32 | )
33 |
34 | # - reference
35 | vasp_params = inputs.VASP_PARAMS.copy()
36 | vasp_params.update(
37 | dict(
38 | command=inputs.VASP_COMMAND,
39 | directory=inputs.VASP_WORKDIR,
40 | )
41 | )
42 |
43 | # - calculators
44 | calculators = {
45 | 'basic': None,
46 | 'corrected': XQuip,
47 | 'reference': Vasp2,
48 | }
49 |
50 | calcParams ={
51 | 'basic': None,
52 | 'corrected': xquip_params,
53 | 'reference': vasp_params,
54 | }
55 |
56 | # ===== molecular dynamics =====
57 | timestep = 2.0 * units.fs
58 | temperature = 300 # in Kelvin
59 |
60 | MaxwellBoltzmannDistribution(atoms, temperature*units.kB)
61 | force_temperature(atoms, temperature)
62 |
63 | trainer = MetaAMLP(
64 | atoms = atoms,
65 | constraints = cons,
66 | calculators = calculators,
67 | calcParams = calcParams,
68 | gapfitCommand = inputs.GAPFIT_COMMAND,
69 | # md stages
70 | mdEngines = [NoseHoover, NoseHoover],
71 | mdParams = [
72 | dict(
73 | nsteps = 0,
74 | plumedInput = 'plumed-1.dat',
75 | nvt_q = 334., temperature = 300*units.kB
76 | ),
77 | dict(
78 | nsteps = 40000,
79 | init_atoms = atoms.copy(),
80 | plumedInput = 'plumed-2.dat',
81 | nvt_q = 334., temperature = 300*units.kB
82 | )
83 | ],
84 | timestep = timestep, # fixed timestep
85 | # sample details
86 | maxSteps = 100000,
87 | minSamples = 1,
88 | sampleInterval = 2,
89 | tolerances = {
90 | 'energy': 10000,
91 | 'forces': 0.04,
92 | 'force_percent': 0.20,
93 | 'force_threhold': 0.02
94 | },
95 | retrain_criteria = {
96 | 'min_interval': 0, 'max_interval': 1000, 'new_samples': 5
97 | },
98 | restart = False,
99 | )
100 |
101 | trainer.run()
102 |
--------------------------------------------------------------------------------
/examples/CO-PtSurf111/gap/surf-CO.xyz:
--------------------------------------------------------------------------------
1 | 18
2 | Lattice="5.6102 0.0 0.0 -2.8051 4.85857572 0.0 0.0 0.0 31.871" Properties=species:S:1:pos:R:3 pbc="T T T"
3 | C 0.03804000 4.83476000 8.91387000
4 | O 0.05579000 4.82295000 10.07228000
5 | Pt 1.40257000 4.04879000 2.29049000
6 | Pt 1.40255000 2.42928000 0.00000000
7 | Pt -1.40252000 4.04879000 2.29049000
8 | Pt -1.40255000 2.42928000 0.00000000
9 | Pt 2.80512000 1.61950000 2.29049000
10 | Pt 2.80509000 0.00000000 0.00000000
11 | Pt 0.00003000 1.61950000 2.29049000
12 | Pt -2.78759000 4.85166000 6.81503000
13 | Pt 2.81337000 3.23430000 4.54148000
14 | Pt 1.41671000 2.41689000 6.81477000
15 | Pt 0.00808000 3.25864000 4.57426000
16 | Pt -1.38328000 2.41806000 6.81423000
17 | Pt 4.19457000 0.79195000 4.57480000
18 | Pt 0.01689000 4.84885000 7.05929000
19 | Pt 1.42950000 0.79403000 4.57211000
20 | Pt 0.00000000 0.00000000 0.00000000
21 |
--------------------------------------------------------------------------------
/examples/skf/C-O.skf:
--------------------------------------------------------------------------------
1 | 0.05 240
2 | 12.0111 8*0.0 3.0 10*0.0
3 | 20*0.0
4 | 20*0.0
5 | 20*0.0
6 | 20*0.0
7 | 20*0.0
8 | 20*0.0
9 | 20*0.0
10 | 20*0.0
11 | 20*0.0
12 | 5*0.0 -0.91983580 -1.69136800 0.00000000 0.55770620 -1.20744200 5*0.0 0.69182660 0.87465410 0.00000000 0.09487625 0.83587330
13 | 5*0.0 -0.76469990 -1.61404800 0.00000000 0.46654720 -1.14268800 5*0.0 0.64266680 0.85575900 0.00000000 0.11389590 0.82283460
14 | 5*0.0 -0.61853880 -1.53704700 0.00000000 0.37156540 -1.09685900 5*0.0 0.59207150 0.83583800 0.00000000 0.13382030 0.81012850
15 | 5*0.0 -0.48237620 -1.46104400 0.00000000 0.27617140 -1.06537200 5*0.0 0.54056370 0.81507260 0.00000000 0.15435110 0.79774140
16 | 5*0.0 -0.35673860 -1.38660800 0.00000000 0.18279460 -1.04440900 5*0.0 0.48861250 0.79362510 0.00000000 0.17520250 0.78562430
17 | 5*0.0 -0.24175810 -1.31406700 0.00000000 0.09337852 -1.03054300 5*0.0 0.43665260 0.77152510 0.00000000 0.19604430 0.77357640
18 | 5*0.0 -0.13742990 -1.24364400 0.00000000 0.00933781 -1.02119900 5*0.0 0.38509930 0.74892030 0.00000000 0.21660930 0.76153770
19 | 5*0.0 -0.04351211 -1.17581400 0.00000000 -0.06862343 -1.01465800 5*0.0 0.33425270 0.72602700 0.00000000 0.23674030 0.74951710
20 | 5*0.0 0.04037789 -1.11051000 0.00000000 -0.13977750 -1.00910000 5*0.0 0.28447520 0.70285900 0.00000000 0.25615310 0.73733630
21 | 5*0.0 0.11477230 -1.04789100 0.00000000 -0.20397320 -1.00344400 5*0.0 0.23601600 0.67948680 0.00000000 0.27466900 0.72489510
22 | 5*0.0 0.18035790 -0.98814450 0.00000000 -0.26127040 -0.99711560 5*0.0 0.18904340 0.65617280 0.00000000 0.29223060 0.71229940
23 | 5*0.0 0.23747720 -0.93106120 0.00000000 -0.31157900 -0.98920670 5*0.0 0.14386840 0.63280120 0.00000000 0.30858010 0.69930670
24 | 5*0.0 0.28705490 -0.87681340 0.00000000 -0.35537830 -0.97968250 5*0.0 0.10052940 0.60959390 0.00000000 0.32373350 0.68602880
25 | 5*0.0 0.32952630 -0.82525330 0.00000000 -0.39288960 -0.96819370 5*0.0 0.05922985 0.58653050 0.00000000 0.33754560 0.67235520
26 | 5*0.0 0.36547190 -0.77637350 0.00000000 -0.42449790 -0.95473560 5*0.0 0.02006336 0.56373750 0.00000000 0.34999210 0.65832860
27 | 5*0.0 0.39568570 -0.73005550 0.00000000 -0.45069410 -0.93932680 5*0.0 -0.01692846 0.54121700 0.00000000 0.36102890 0.64391280
28 | 5*0.0 0.42059340 -0.68629750 0.00000000 -0.47191680 -0.92216190 5*0.0 -0.05170238 0.51910020 0.00000000 0.37068950 0.62919230
29 | 5*0.0 0.44067350 -0.64488880 0.00000000 -0.48851750 -0.90319790 5*0.0 -0.08415352 0.49731780 0.00000000 0.37888040 0.61406960
30 | 5*0.0 0.45656650 -0.60585790 0.00000000 -0.50105400 -0.88281320 5*0.0 -0.11437510 0.47602600 0.00000000 0.38572390 0.59869210
31 | 5*0.0 0.46864100 -0.56897670 0.00000000 -0.50983570 -0.86100690 5*0.0 -0.14228540 0.45514520 0.00000000 0.39114680 0.58297770
32 | 5*0.0 0.47728440 -0.53426040 0.00000000 -0.51530290 -0.83811790 5*0.0 -0.16794790 0.43482490 0.00000000 0.39526490 0.56706720
33 | 5*0.0 0.48301060 -0.50152720 0.00000000 -0.51785940 -0.81428050 5*0.0 -0.19141400 0.41497330 0.00000000 0.39808890 0.55092560
34 | 5*0.0 0.48603000 -0.47071230 0.00000000 -0.51777080 -0.78966220 5*0.0 -0.21266500 0.39569840 0.00000000 0.39965710 0.53462100
35 | 5*0.0 0.48677640 -0.44167320 0.00000000 -0.51541630 -0.76444480 5*0.0 -0.23180280 0.37692540 0.00000000 0.40002710 0.51815960
36 | 5*0.0 0.48543520 -0.41441580 0.00000000 -0.51107380 -0.73888770 5*0.0 -0.24889300 0.35880680 0.00000000 0.39932390 0.50168500
37 | 5*0.0 0.48237230 -0.38874430 0.00000000 -0.50501870 -0.71304660 5*0.0 -0.26399120 0.34122060 0.00000000 0.39754130 0.48513620
38 | 5*0.0 0.47774210 -0.36459490 0.00000000 -0.49746210 -0.68706560 5*0.0 -0.27715370 0.32419960 0.00000000 0.39475260 0.46857350
39 | 5*0.0 0.47181680 -0.34192900 0.00000000 -0.48867590 -0.66115870 5*0.0 -0.28851240 0.30781710 0.00000000 0.39108380 0.45210040
40 | 5*0.0 0.46481150 -0.32059140 0.00000000 -0.47885050 -0.63537550 5*0.0 -0.29814670 0.29196780 0.00000000 0.38656510 0.43569360
41 | 5*0.0 0.45678300 -0.30055920 0.00000000 -0.46810850 -0.60980340 5*0.0 -0.30606860 0.27673620 0.00000000 0.38124310 0.41940410
42 | 5*0.0 0.44792020 -0.28174770 0.00000000 -0.45663430 -0.58456030 5*0.0 -0.31241520 0.26210060 0.00000000 0.37522240 0.40328840
43 | 5*0.0 0.43840600 -0.26405970 0.00000000 -0.44458610 -0.55970380 5*0.0 -0.31727560 0.24801550 0.00000000 0.36854780 0.38734870
44 | 5*0.0 0.42831040 -0.24744780 0.00000000 -0.43206280 -0.53529010 5*0.0 -0.32070550 0.23450570 0.00000000 0.36127370 0.37161820
45 | 5*0.0 0.41779790 -0.23186000 0.00000000 -0.41922660 -0.51144230 5*0.0 -0.32287290 0.22157570 0.00000000 0.35353020 0.35617600
46 | 5*0.0 0.40693540 -0.21721300 0.00000000 -0.40614360 -0.48814970 5*0.0 -0.32381610 0.20918220 0.00000000 0.34532780 0.34100100
47 | 5*0.0 0.39582450 -0.20347520 0.00000000 -0.39292150 -0.46548480 5*0.0 -0.32364510 0.19734650 0.00000000 0.33675210 0.32614310
48 | 5*0.0 0.38450910 -0.19056720 0.00000000 -0.37961230 -0.44344620 5*0.0 -0.32242510 0.18602800 0.00000000 0.32784110 0.31160420
49 | 5*0.0 0.37303460 -0.17845060 0.00000000 -0.36627060 -0.42204630 5*0.0 -0.32021000 0.17522900 0.00000000 0.31863040 0.29739320
50 | 5*0.0 0.36152660 -0.16708560 0.00000000 -0.35300310 -0.40135570 5*0.0 -0.31715450 0.16494190 0.00000000 0.30922350 0.28356100
51 | 5*0.0 0.34998120 -0.15641360 0.00000000 -0.33982120 -0.38134270 5*0.0 -0.31328800 0.15513810 0.00000000 0.29963250 0.27009450
52 | 5*0.0 0.33850230 -0.14640210 0.00000000 -0.32680890 -0.36205720 5*0.0 -0.30873810 0.14581790 0.00000000 0.28993970 0.25703090
53 | 5*0.0 0.32705110 -0.13700520 0.00000000 -0.31395240 -0.34344550 5*0.0 -0.30350330 0.13695070 0.00000000 0.28013350 0.24434080
54 | 5*0.0 0.31570480 -0.12819820 0.00000000 -0.30131720 -0.32555180 5*0.0 -0.29770440 0.12854690 0.00000000 0.27029700 0.23206530
55 | 5*0.0 0.30449890 -0.11992310 0.00000000 -0.28892560 -0.30835370 5*0.0 -0.29140970 0.12055640 0.00000000 0.26045410 0.22019210
56 | 5*0.0 0.29348050 -0.11217480 0.00000000 -0.27682420 -0.29188180 5*0.0 -0.28471490 0.11299980 0.00000000 0.25067270 0.20875380
57 | 5*0.0 0.28258260 -0.10489440 0.00000000 -0.26496540 -0.27604600 5*0.0 -0.27757480 0.10582660 0.00000000 0.24090200 0.19769310
58 | 5*0.0 0.27190930 -0.09806669 0.00000000 -0.25342400 -0.26090410 5*0.0 -0.27014700 0.09904205 0.00000000 0.23124270 0.18705890
59 | 5*0.0 0.26145580 -0.09167336 0.00000000 -0.24220290 -0.24643690 5*0.0 -0.26246860 0.09263843 0.00000000 0.22171340 0.17684660
60 | 5*0.0 0.25121740 -0.08567622 0.00000000 -0.23129540 -0.23260770 5*0.0 -0.25456390 0.08658713 0.00000000 0.21231420 0.16703620
61 | 5*0.0 0.24118520 -0.08004494 0.00000000 -0.22069390 -0.21938530 5*0.0 -0.24645860 0.08086570 0.00000000 0.20304950 0.15761210
62 | 5*0.0 0.23143170 -0.07477598 0.00000000 -0.21045020 -0.20680660 5*0.0 -0.23827480 0.07548189 0.00000000 0.19399560 0.14860830
63 | 5*0.0 0.22193310 -0.06983426 0.00000000 -0.20054340 -0.19482700 5*0.0 -0.23002010 0.07040609 0.00000000 0.18514230 0.13999970
64 | 5*0.0 0.21267110 -0.06520637 0.00000000 -0.19096170 -0.18341590 5*0.0 -0.22169880 0.06563081 0.00000000 0.17648360 0.13176800
65 | 5*0.0 0.20367880 -0.06086664 0.00000000 -0.18172160 -0.17257260 5*0.0 -0.21338860 0.06113671 0.00000000 0.16805810 0.12392060
66 | 5*0.0 0.19493250 -0.05680620 0.00000000 -0.17280710 -0.16226290 5*0.0 -0.20508150 0.05691673 0.00000000 0.15985130 0.11643490
67 | 5*0.0 0.18644910 -0.05299305 0.00000000 -0.16422010 -0.15247050 5*0.0 -0.19683280 0.05294198 0.00000000 0.15188330 0.10930610
68 | 5*0.0 0.17825060 -0.04943245 0.00000000 -0.15597800 -0.14320370 5*0.0 -0.18869240 0.04922592 0.00000000 0.14418510 0.10254320
69 | 5*0.0 0.17029500 -0.04609089 0.00000000 -0.14804370 -0.13440580 5*0.0 -0.18063700 0.04573198 0.00000000 0.13672360 0.09610976
70 | 5*0.0 0.16260600 -0.04296632 0.00000000 -0.14043090 -0.12607880 5*0.0 -0.17271340 0.04246132 0.00000000 0.12952240 0.09000877
71 | 5*0.0 0.15518060 -0.04004260 0.00000000 -0.13313290 -0.11820460 5*0.0 -0.16494430 0.03940192 0.00000000 0.12258720 0.08423175
72 | 5*0.0 0.14799830 -0.03730508 0.00000000 -0.12613050 -0.11074990 5*0.0 -0.15732080 0.03653695 0.00000000 0.11590050 0.07875594
73 | 5*0.0 0.14106970 -0.03474646 0.00000000 -0.11942690 -0.10370780 5*0.0 -0.14987440 0.03386138 0.00000000 0.10947500 0.07357870
74 | 5*0.0 0.13439900 -0.03235026 0.00000000 -0.11301770 -0.09706322 5*0.0 -0.14263130 0.03135960 0.00000000 0.10331680 0.06869197
75 | 5*0.0 0.12796550 -0.03011081 0.00000000 -0.10688640 -0.09078954 5*0.0 -0.13557660 0.02902458 0.00000000 0.09740877 0.06407653
76 | 5*0.0 0.12177310 -0.02801650 0.00000000 -0.10103000 -0.08487534 5*0.0 -0.12873180 0.02684739 0.00000000 0.09175681 0.05972645
77 | 5*0.0 0.11581240 -0.02605908 0.00000000 -0.09543712 -0.07929971 5*0.0 -0.12209640 0.02481661 0.00000000 0.08635124 0.05562675
78 | 5*0.0 0.11008070 -0.02422879 0.00000000 -0.09010124 -0.07404875 5*0.0 -0.11568000 0.02292471 0.00000000 0.08119154 0.05176900
79 | 5*0.0 0.10459140 -0.02252329 0.00000000 -0.08502699 -0.06911883 5*0.0 -0.10950650 0.02116842 0.00000000 0.07628633 0.04815018
80 | 5*0.0 0.09930061 -0.02092652 0.00000000 -0.08017966 -0.06446926 5*0.0 -0.10353350 0.01953005 0.00000000 0.07159951 0.04474187
81 | 5*0.0 0.09422995 -0.01943861 0.00000000 -0.07557003 -0.06010383 5*0.0 -0.09779294 0.01801072 0.00000000 0.06714705 0.04154659
82 | 5*0.0 0.08937308 -0.01804873 0.00000000 -0.07118766 -0.05600581 5*0.0 -0.09228691 0.01659821 0.00000000 0.06292195 0.03855294
83 | 5*0.0 0.08471352 -0.01675120 0.00000000 -0.06701842 -0.05215625 5*0.0 -0.08699981 0.01528695 0.00000000 0.05890934 0.03574683
84 | 5*0.0 0.08025217 -0.01554136 0.00000000 -0.06305805 -0.04854516 5*0.0 -0.08193780 0.01407039 0.00000000 0.05510689 0.03312084
85 | 5*0.0 0.07597989 -0.01441346 0.00000000 -0.05929667 -0.04515846 5*0.0 -0.07709376 0.01294326 0.00000000 0.05150542 0.03066461
86 | 5*0.0 0.07189303 -0.01336206 0.00000000 -0.05572776 -0.04198507 5*0.0 -0.07246733 0.01189957 0.00000000 0.04809947 0.02836991
87 | 5*0.0 0.06799105 -0.01238273 0.00000000 -0.05234641 -0.03901560 5*0.0 -0.06806068 0.01093350 0.00000000 0.04488515 0.02622953
88 | 5*0.0 0.06426500 -0.01146887 0.00000000 -0.04914270 -0.03623725 5*0.0 -0.06386700 0.01003889 0.00000000 0.04185364 0.02423413
89 | 5*0.0 0.06070833 -0.01061907 0.00000000 -0.04610939 -0.03363897 5*0.0 -0.05987757 0.00921263 0.00000000 0.03899576 0.02237471
90 | 5*0.0 0.05731439 -0.00982918 0.00000000 -0.04323875 -0.03121014 5*0.0 -0.05608583 0.00845036 0.00000000 0.03630369 0.02064321
91 | 5*0.0 0.05407205 -0.00909227 0.00000000 -0.04051945 -0.02893766 5*0.0 -0.05248244 0.00774489 0.00000000 0.03376714 0.01903030
92 | 5*0.0 0.05099288 -0.00840908 0.00000000 -0.03795584 -0.02682135 5*0.0 -0.04907766 0.00709597 0.00000000 0.03138959 0.01753440
93 | 5*0.0 0.04804702 -0.00777125 0.00000000 -0.03552565 -0.02483962 5*0.0 -0.04584120 0.00649543 0.00000000 0.02914867 0.01614067
94 | 5*0.0 0.04525857 -0.00718116 0.00000000 -0.03324084 -0.02299900 5*0.0 -0.04279586 0.00594454 0.00000000 0.02705584 0.01485197
95 | 5*0.0 0.04260190 -0.00663167 0.00000000 -0.03108212 -0.02128108 5*0.0 -0.03991559 0.00543600 0.00000000 0.02509168 0.01365547
96 | 5*0.0 0.04007666 -0.00612120 0.00000000 -0.02904661 -0.01968070 5*0.0 -0.03719800 0.00496807 0.00000000 0.02325248 0.01254676
97 | 5*0.0 0.03767496 -0.00564778 0.00000000 -0.02712695 -0.01818944 5*0.0 -0.03463318 0.00453780 0.00000000 0.02152982 0.01151922
98 | 5*0.0 0.03539766 -0.00520827 0.00000000 -0.02532054 -0.01680296 5*0.0 -0.03222162 0.00414222 0.00000000 0.01992145 0.01056938
99 | 5*0.0 0.03324072 -0.00480106 0.00000000 -0.02362256 -0.01551520 5*0.0 -0.02995658 0.00377949 0.00000000 0.01842143 0.00969226
100 | 5*0.0 0.03119294 -0.00442357 0.00000000 -0.02202380 -0.01431708 5*0.0 -0.02782546 0.00344629 0.00000000 0.01702006 0.00888111
101 | 5*0.0 0.02925478 -0.00407363 0.00000000 -0.02052207 -0.01320496 5*0.0 -0.02582732 0.00314064 0.00000000 0.01571489 0.00813292
102 | 5*0.0 0.02741895 -0.00375024 0.00000000 -0.01911113 -0.01217226 5*0.0 -0.02395213 0.00286089 0.00000000 0.01449848 0.00744247
103 | 5*0.0 0.02568150 -0.00345000 0.00000000 -0.01778600 -0.01121380 5*0.0 -0.02219598 0.00260391 0.00000000 0.01336653 0.00680607
104 | 5*0.0 0.02404143 -0.00317231 0.00000000 -0.01654433 -0.01032618 5*0.0 -0.02055500 0.00236885 0.00000000 0.01231551 0.00622063
105 | 5*0.0 0.02249050 -0.00291598 0.00000000 -0.01537957 -0.00950309 5*0.0 -0.01901887 0.00215401 0.00000000 0.01133808 0.00568142
106 | 5*0.0 0.02102584 -0.00267881 0.00000000 -0.01428803 -0.00874067 5*0.0 -0.01758395 0.00195738 0.00000000 0.01043070 0.00518548
107 | 5*0.0 0.01964527 -0.00245953 0.00000000 -0.01326661 -0.00803544 5*0.0 -0.01624635 0.00177762 0.00000000 0.00958991 0.00473008
108 | 5*0.0 0.01834565 -0.00225754 0.00000000 -0.01231206 -0.00738386 5*0.0 -0.01500071 0.00161380 0.00000000 0.00881165 0.00431232
109 | 5*0.0 0.01711961 -0.00207083 0.00000000 -0.01141851 -0.00678083 5*0.0 -0.01383919 0.00146408 0.00000000 0.00809028 0.00392864
110 | 5*0.0 0.01596477 -0.00189841 0.00000000 -0.01058311 -0.00622344 5*0.0 -0.01275792 0.00132737 0.00000000 0.00742266 0.00357672
111 | 5*0.0 0.01487783 -0.00173944 0.00000000 -0.00980270 -0.00570857 5*0.0 -0.01175217 0.00120270 0.00000000 0.00680525 0.00325416
112 | 5*0.0 0.01385789 -0.00159340 0.00000000 -0.00907552 -0.00523413 5*0.0 -0.01081908 0.00108949 0.00000000 0.00623573 0.00295918
113 | 5*0.0 0.01289720 -0.00145828 0.00000000 -0.00839580 -0.00479561 5*0.0 -0.00995144 0.00098596 0.00000000 0.00570909 0.00268883
114 | 5*0.0 0.01199596 -0.00133429 0.00000000 -0.00776268 -0.00439163 5*0.0 -0.00914699 0.00089201 0.00000000 0.00522356 0.00244173
115 | 5*0.0 0.01115089 -0.00122007 0.00000000 -0.00717318 -0.00401962 5*0.0 -0.00840204 0.00080650 0.00000000 0.00477635 0.00221604
116 | 5*0.0 0.01035972 -0.00111514 0.00000000 -0.00662504 -0.00367747 5*0.0 -0.00771314 0.00072884 0.00000000 0.00436498 0.00201017
117 | 5*0.0 0.00961779 -0.00101864 0.00000000 -0.00611470 -0.00336236 5*0.0 -0.00707526 0.00065826 0.00000000 0.00398611 0.00182218
118 | 5*0.0 0.00892309 -0.00093000 0.00000000 -0.00564017 -0.00307251 5*0.0 -0.00648555 0.00059418 0.00000000 0.00363770 0.00165073
119 | 5*0.0 0.00827156 -0.00084845 0.00000000 -0.00519840 -0.00280555 5*0.0 -0.00593970 0.00053594 0.00000000 0.00331692 0.00149423
120 | 5*0.0 0.00766524 -0.00077397 0.00000000 -0.00478978 -0.00256123 5*0.0 -0.00543787 0.00048335 0.00000000 0.00302346 0.00135217
121 | 5*0.0 0.00709691 -0.00070544 0.00000000 -0.00440958 -0.00233632 5*0.0 -0.00497373 0.00043555 0.00000000 0.00275346 0.00122256
122 | 5*0.0 0.00656705 -0.00064261 0.00000000 -0.00405740 -0.00213016 5*0.0 -0.00454665 0.00039225 0.00000000 0.00250623 0.00110483
123 | 5*0.0 0.00607331 -0.00058519 0.00000000 -0.00373136 -0.00194128 5*0.0 -0.00415369 0.00035314 0.00000000 0.00227989 0.00099790
124 | 5*0.0 0.00561248 -0.00053251 0.00000000 -0.00342913 -0.00176800 5*0.0 -0.00379182 0.00031769 0.00000000 0.00207248 0.00090070
125 | 5*0.0 0.00518320 -0.00048432 0.00000000 -0.00314943 -0.00160928 5*0.0 -0.00345911 0.00028566 0.00000000 0.00188270 0.00081247
126 | 5*0.0 0.00478324 -0.00044017 0.00000000 -0.00289054 -0.00146387 5*0.0 -0.00315329 0.00025666 0.00000000 0.00170911 0.00073240
127 | 5*0.0 0.00441213 -0.00039998 0.00000000 -0.00265179 -0.00133113 5*0.0 -0.00287312 0.00023058 0.00000000 0.00155083 0.00065994
128 | 5*0.0 0.00406637 -0.00036310 0.00000000 -0.00243083 -0.00120951 5*0.0 -0.00261567 0.00020695 0.00000000 0.00140607 0.00059420
129 | 5*0.0 0.00374559 -0.00032955 0.00000000 -0.00222711 -0.00109850 5*0.0 -0.00237987 0.00018568 0.00000000 0.00127410 0.00053473
130 | 5*0.0 0.00344787 -0.00029892 0.00000000 -0.00203921 -0.00099712 5*0.0 -0.00216391 0.00016651 0.00000000 0.00115380 0.00048092
131 | 5*0.0 0.00317158 -0.00027096 0.00000000 -0.00186593 -0.00090454 5*0.0 -0.00196619 0.00014923 0.00000000 0.00104416 0.00043226
132 | 5*0.0 0.00291545 -0.00024549 0.00000000 -0.00170629 -0.00082008 5*0.0 -0.00178533 0.00013366 0.00000000 0.00094433 0.00038828
133 | 5*0.0 0.00267832 -0.00022224 0.00000000 -0.00155935 -0.00074311 5*0.0 -0.00162016 0.00011964 0.00000000 0.00085356 0.00034860
134 | 5*0.0 0.00245902 -0.00020114 0.00000000 -0.00142429 -0.00067303 5*0.0 -0.00146935 0.00010706 0.00000000 0.00077106 0.00031279
135 | 5*0.0 0.00225559 -0.00018189 0.00000000 -0.00129981 -0.00060905 5*0.0 -0.00133138 0.00009572 0.00000000 0.00069592 0.00028043
136 | 5*0.0 0.00206823 -0.00016445 0.00000000 -0.00118578 -0.00055100 5*0.0 -0.00120594 0.00008556 0.00000000 0.00062790 0.00025134
137 | 5*0.0 0.00189470 -0.00014855 0.00000000 -0.00108083 -0.00049808 5*0.0 -0.00109133 0.00007642 0.00000000 0.00056603 0.00022508
138 | 5*0.0 0.00173480 -0.00013411 0.00000000 -0.00098466 -0.00045003 5*0.0 -0.00098713 0.00006822 0.00000000 0.00051001 0.00020147
139 | 5*0.0 0.00158767 -0.00012104 0.00000000 -0.00089665 -0.00040647 5*0.0 -0.00089247 0.00006088 0.00000000 0.00045934 0.00018027
140 | 5*0.0 0.00145174 -0.00010915 0.00000000 -0.00081585 -0.00036685 5*0.0 -0.00080620 0.00005429 0.00000000 0.00041336 0.00016117
141 | 5*0.0 0.00132637 -0.00009838 0.00000000 -0.00074175 -0.00033084 5*0.0 -0.00072769 0.00004838 0.00000000 0.00037170 0.00014398
142 | 5*0.0 0.00121139 -0.00008862 0.00000000 -0.00067414 -0.00029828 5*0.0 -0.00065661 0.00004310 0.00000000 0.00033413 0.00012860
143 | 5*0.0 0.00110545 -0.00007979 0.00000000 -0.00061222 -0.00026873 5*0.0 -0.00059200 0.00003837 0.00000000 0.00030013 0.00011477
144 | 5*0.0 0.00100806 -0.00007177 0.00000000 -0.00055561 -0.00024196 5*0.0 -0.00053339 0.00003414 0.00000000 0.00026941 0.00010236
145 | 5*0.0 0.00091879 -0.00006455 0.00000000 -0.00050398 -0.00021776 5*0.0 -0.00048035 0.00003036 0.00000000 0.00024172 0.00009126
146 | 5*0.0 0.00083668 -0.00005801 0.00000000 -0.00045678 -0.00019582 5*0.0 -0.00043220 0.00002698 0.00000000 0.00021670 0.00008130
147 | 5*0.0 0.00076157 -0.00005211 0.00000000 -0.00041382 -0.00017604 5*0.0 -0.00038872 0.00002397 0.00000000 0.00019418 0.00007239
148 | 5*0.0 0.00069275 -0.00004677 0.00000000 -0.00037467 -0.00015816 5*0.0 -0.00034941 0.00002128 0.00000000 0.00017391 0.00006443
149 | 5*0.0 0.00062967 -0.00004196 0.00000000 -0.00033898 -0.00014200 5*0.0 -0.00031385 0.00001888 0.00000000 0.00015565 0.00005730
150 | 5*0.0 0.00057189 -0.00003762 0.00000000 -0.00030647 -0.00012740 5*0.0 -0.00028169 0.00001675 0.00000000 0.00013920 0.00005093
151 | 5*0.0 0.00051915 -0.00003371 0.00000000 -0.00027694 -0.00011426 5*0.0 -0.00025271 0.00001485 0.00000000 0.00012443 0.00004524
152 | 5*0.0 0.00047088 -0.00003018 0.00000000 -0.00025007 -0.00010240 5*0.0 -0.00022654 0.00001315 0.00000000 0.00011114 0.00004017
153 | 5*0.0 0.00042689 -0.00002702 0.00000000 -0.00022568 -0.00009173 5*0.0 -0.00020297 0.00001164 0.00000000 0.00009923 0.00003564
154 | 5*0.0 0.00038669 -0.00002417 0.00000000 -0.00020352 -0.00008211 5*0.0 -0.00018172 0.00001030 0.00000000 0.00008853 0.00003160
155 | 5*0.0 0.00035012 -0.00002161 0.00000000 -0.00018346 -0.00007347 5*0.0 -0.00016263 0.00000911 0.00000000 0.00007895 0.00002802
156 | 5*0.0 0.00031671 -0.00001930 0.00000000 -0.00016522 -0.00006569 5*0.0 -0.00014542 0.00000805 0.00000000 0.00007035 0.00002481
157 | 5*0.0 0.00028633 -0.00001723 0.00000000 -0.00014871 -0.00005870 5*0.0 -0.00012996 0.00000711 0.00000000 0.00006265 0.00002196
158 | 5*0.0 0.00025870 -0.00001538 0.00000000 -0.00013378 -0.00005242 5*0.0 -0.00011607 0.00000628 0.00000000 0.00005577 0.00001943
159 | 5*0.0 0.00023358 -0.00001372 0.00000000 -0.00012027 -0.00004679 5*0.0 -0.00010360 0.00000554 0.00000000 0.00004961 0.00001718
160 | 5*0.0 0.00021073 -0.00001222 0.00000000 -0.00010803 -0.00004174 5*0.0 -0.00009241 0.00000488 0.00000000 0.00004409 0.00001518
161 | 5*0.0 0.00019001 -0.00001089 0.00000000 -0.00009699 -0.00003721 5*0.0 -0.00008238 0.00000431 0.00000000 0.00003917 0.00001341
162 | 5*0.0 0.00017121 -0.00000969 0.00000000 -0.00008702 -0.00003315 5*0.0 -0.00007339 0.00000379 0.00000000 0.00003478 0.00001184
163 | 5*0.0 0.00015417 -0.00000862 0.00000000 -0.00007803 -0.00002952 5*0.0 -0.00006534 0.00000334 0.00000000 0.00003086 0.00001044
164 | 5*0.0 0.00013872 -0.00000767 0.00000000 -0.00006991 -0.00002627 5*0.0 -0.00005813 0.00000294 0.00000000 0.00002737 0.00000920
165 | 5*0.0 0.00012473 -0.00000681 0.00000000 -0.00006260 -0.00002336 5*0.0 -0.00005169 0.00000258 0.00000000 0.00002425 0.00000811
166 | 5*0.0 0.00011209 -0.00000605 0.00000000 -0.00005602 -0.00002076 5*0.0 -0.00004593 0.00000227 0.00000000 0.00002148 0.00000714
167 | 5*0.0 0.00010066 -0.00000537 0.00000000 -0.00005010 -0.00001844 5*0.0 -0.00004079 0.00000199 0.00000000 0.00001901 0.00000628
168 | 5*0.0 0.00009032 -0.00000476 0.00000000 -0.00004477 -0.00001637 5*0.0 -0.00003620 0.00000175 0.00000000 0.00001682 0.00000553
169 | 5*0.0 0.00008101 -0.00000422 0.00000000 -0.00003999 -0.00001452 5*0.0 -0.00003211 0.00000154 0.00000000 0.00001487 0.00000486
170 | 5*0.0 0.00007260 -0.00000374 0.00000000 -0.00003569 -0.00001288 5*0.0 -0.00002846 0.00000135 0.00000000 0.00001314 0.00000427
171 | 5*0.0 0.00006503 -0.00000331 0.00000000 -0.00003184 -0.00001141 5*0.0 -0.00002522 0.00000118 0.00000000 0.00001160 0.00000375
172 | 5*0.0 0.00005820 -0.00000293 0.00000000 -0.00002838 -0.00001011 5*0.0 -0.00002232 0.00000103 0.00000000 0.00001024 0.00000329
173 | 5*0.0 0.00005205 -0.00000259 0.00000000 -0.00002528 -0.00000894 5*0.0 -0.00001975 0.00000090 0.00000000 0.00000903 0.00000288
174 | 5*0.0 0.00004652 -0.00000229 0.00000000 -0.00002251 -0.00000791 5*0.0 -0.00001746 0.00000079 0.00000000 0.00000796 0.00000253
175 | 5*0.0 0.00004155 -0.00000202 0.00000000 -0.00002002 -0.00000699 5*0.0 -0.00001543 0.00000069 0.00000000 0.00000701 0.00000221
176 | 5*0.0 0.00003709 -0.00000178 0.00000000 -0.00001780 -0.00000618 5*0.0 -0.00001362 0.00000060 0.00000000 0.00000617 0.00000194
177 | 5*0.0 0.00003308 -0.00000157 0.00000000 -0.00001582 -0.00000545 5*0.0 -0.00001202 0.00000053 0.00000000 0.00000543 0.00000170
178 | 5*0.0 0.00002949 -0.00000139 0.00000000 -0.00001404 -0.00000481 5*0.0 -0.00001060 0.00000046 0.00000000 0.00000477 0.00000148
179 | 5*0.0 0.00002627 -0.00000122 0.00000000 -0.00001246 -0.00000424 5*0.0 -0.00000935 0.00000040 0.00000000 0.00000419 0.00000130
180 | 5*0.0 0.00002338 -0.00000107 0.00000000 -0.00001105 -0.00000374 5*0.0 -0.00000823 0.00000035 0.00000000 0.00000368 0.00000113
181 | 5*0.0 0.00002079 -0.00000094 0.00000000 -0.00000979 -0.00000329 5*0.0 -0.00000724 0.00000030 0.00000000 0.00000323 0.00000099
182 | 5*0.0 0.00001848 -0.00000083 0.00000000 -0.00000867 -0.00000290 5*0.0 -0.00000637 0.00000027 0.00000000 0.00000283 0.00000086
183 | 5*0.0 0.00001642 -0.00000073 0.00000000 -0.00000767 -0.00000255 5*0.0 -0.00000560 0.00000023 0.00000000 0.00000248 0.00000075
184 | 5*0.0 0.00001457 -0.00000064 0.00000000 -0.00000678 -0.00000224 5*0.0 -0.00000492 0.00000020 0.00000000 0.00000217 0.00000065
185 | 5*0.0 0.00001293 -0.00000056 0.00000000 -0.00000599 -0.00000197 5*0.0 -0.00000432 0.00000017 0.00000000 0.00000190 0.00000057
186 | 5*0.0 0.00001146 -0.00000049 0.00000000 -0.00000529 -0.00000173 5*0.0 -0.00000379 0.00000015 0.00000000 0.00000166 0.00000050
187 | 5*0.0 0.00001015 -0.00000043 0.00000000 -0.00000467 -0.00000152 5*0.0 -0.00000332 0.00000013 0.00000000 0.00000145 0.00000043
188 | 5*0.0 0.00000899 -0.00000038 0.00000000 -0.00000412 -0.00000133 5*0.0 -0.00000291 0.00000011 0.00000000 0.00000127 0.00000037
189 | 5*0.0 0.00000795 -0.00000033 0.00000000 -0.00000363 -0.00000116 5*0.0 -0.00000255 0.00000010 0.00000000 0.00000111 0.00000032
190 | 5*0.0 0.00000703 -0.00000029 0.00000000 -0.00000320 -0.00000102 5*0.0 -0.00000223 0.00000009 0.00000000 0.00000097 0.00000028
191 | 5*0.0 0.00000621 -0.00000025 0.00000000 -0.00000281 -0.00000089 5*0.0 -0.00000195 0.00000007 0.00000000 0.00000084 0.00000024
192 | 5*0.0 0.00000548 -0.00000022 0.00000000 -0.00000248 -0.00000078 5*0.0 -0.00000171 0.00000006 0.00000000 0.00000074 0.00000021
193 | 5*0.0 0.00000483 -0.00000019 0.00000000 -0.00000218 -0.00000068 5*0.0 -0.00000149 0.00000006 0.00000000 0.00000064 0.00000018
194 | 5*0.0 0.00000426 -0.00000017 0.00000000 -0.00000191 -0.00000060 5*0.0 -0.00000130 0.00000005 0.00000000 0.00000056 0.00000016
195 | 5*0.0 0.00000375 -0.00000015 0.00000000 -0.00000168 -0.00000052 5*0.0 -0.00000113 0.00000004 0.00000000 0.00000048 0.00000014
196 | 5*0.0 0.00000330 -0.00000013 0.00000000 -0.00000147 -0.00000045 5*0.0 -0.00000099 0.00000004 0.00000000 0.00000042 0.00000012
197 | 5*0.0 0.00000291 -0.00000011 0.00000000 -0.00000129 -0.00000039 5*0.0 -0.00000086 0.00000003 0.00000000 0.00000037 0.00000010
198 | 5*0.0 0.00000255 -0.00000010 0.00000000 -0.00000113 -0.00000034 5*0.0 -0.00000075 0.00000003 0.00000000 0.00000032 0.00000009
199 | 5*0.0 0.00000224 -0.00000008 0.00000000 -0.00000099 -0.00000030 5*0.0 -0.00000065 0.00000002 0.00000000 0.00000028 0.00000008
200 | 5*0.0 0.00000197 -0.00000007 0.00000000 -0.00000086 -0.00000026 5*0.0 -0.00000057 0.00000002 0.00000000 0.00000024 0.00000007
201 | 5*0.0 0.00000173 -0.00000006 0.00000000 -0.00000075 -0.00000023 5*0.0 -0.00000049 0.00000002 0.00000000 0.00000021 0.00000006
202 | 5*0.0 0.00000151 -0.00000005 0.00000000 -0.00000066 -0.00000020 5*0.0 -0.00000043 0.00000001 0.00000000 0.00000018 0.00000005
203 | 5*0.0 0.00000133 -0.00000005 0.00000000 -0.00000058 -0.00000017 5*0.0 -0.00000037 0.00000001 0.00000000 0.00000015 0.00000004
204 | 5*0.0 0.00000116 -0.00000004 0.00000000 -0.00000050 -0.00000015 5*0.0 -0.00000032 0.00000001 0.00000000 0.00000013 0.00000004
205 | 5*0.0 0.00000101 -0.00000004 0.00000000 -0.00000044 -0.00000013 5*0.0 -0.00000028 0.00000001 0.00000000 0.00000012 0.00000003
206 | 5*0.0 0.00000089 -0.00000003 0.00000000 -0.00000038 -0.00000011 5*0.0 -0.00000024 0.00000001 0.00000000 0.00000010 0.00000003
207 | 5*0.0 0.00000077 -0.00000003 0.00000000 -0.00000033 -0.00000010 5*0.0 -0.00000021 0.00000001 0.00000000 0.00000009 0.00000002
208 | 5*0.0 0.00000067 -0.00000002 0.00000000 -0.00000029 -0.00000008 5*0.0 -0.00000018 0.00000001 0.00000000 0.00000007 0.00000002
209 | 5*0.0 0.00000059 -0.00000002 0.00000000 -0.00000025 -0.00000007 5*0.0 -0.00000016 0.00000000 0.00000000 0.00000006 0.00000002
210 | 5*0.0 0.00000051 -0.00000002 0.00000000 -0.00000022 -0.00000006 5*0.0 -0.00000013 0.00000000 0.00000000 0.00000006 0.00000001
211 | 5*0.0 0.00000045 -0.00000001 0.00000000 -0.00000019 -0.00000005 5*0.0 -0.00000012 0.00000000 0.00000000 0.00000005 0.00000001
212 | 5*0.0 0.00000039 -0.00000001 0.00000000 -0.00000016 -0.00000005 5*0.0 -0.00000010 0.00000000 0.00000000 0.00000004 0.00000001
213 | 5*0.0 0.00000034 -0.00000001 0.00000000 -0.00000014 -0.00000004 5*0.0 -0.00000009 0.00000000 0.00000000 0.00000003 0.00000001
214 | 5*0.0 0.00000029 -0.00000001 0.00000000 -0.00000012 -0.00000003 5*0.0 -0.00000007 0.00000000 0.00000000 0.00000003 0.00000001
215 | 5*0.0 0.00000025 -0.00000001 0.00000000 -0.00000011 -0.00000003 5*0.0 -0.00000006 0.00000000 0.00000000 0.00000003 0.00000001
216 | 5*0.0 0.00000022 -0.00000001 0.00000000 -0.00000009 -0.00000003 5*0.0 -0.00000005 0.00000000 0.00000000 0.00000002 0.00000001
217 | 5*0.0 0.00000019 -0.00000001 0.00000000 -0.00000008 -0.00000002 5*0.0 -0.00000005 0.00000000 0.00000000 0.00000002 0.00000000
218 | 5*0.0 0.00000017 -0.00000001 0.00000000 -0.00000007 -0.00000002 5*0.0 -0.00000004 0.00000000 0.00000000 0.00000002 0.00000000
219 | 5*0.0 0.00000014 -0.00000000 0.00000000 -0.00000006 -0.00000002 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
220 | 5*0.0 0.00000012 -0.00000000 0.00000000 -0.00000005 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
221 | 5*0.0 0.00000011 -0.00000000 0.00000000 -0.00000004 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
222 | 5*0.0 0.00000009 -0.00000000 0.00000000 -0.00000004 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
223 | 5*0.0 0.00000008 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
224 | 5*0.0 0.00000007 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
225 | 5*0.0 0.00000006 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000001 0.00000000
226 | 5*0.0 0.00000005 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
227 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000002 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
228 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
229 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
230 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
231 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
232 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
233 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
234 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
235 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
236 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
237 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
238 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
239 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
240 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
241 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
242 | 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
243 |
244 |
245 | Spline
246 | 26 3.87
247 | 1.934283333282545 3.718072645483851 -0.7282490839084601
248 | 1.3 1.4 2.6035229748112 -6.444591163477911 6.232832638667645 1.122633303643655
249 | 1.4 1.5 2.02251481815373 -5.164345636635074 6.569622629760741 -5.613166518219346
250 | 1.5 1.6 1.56616331426961 -4.018816106229505 4.885672674294936 -2.953570330208558
251 | 1.6 1.7 1.2101848600594 -3.130288681276774 3.999601575232368 -2.911502080789636
252 | 1.7 1.8 0.934240505603257 -2.417713428653991 3.126150950995478 -2.261792742873556
253 | 1.8 1.9 0.721468879504939 -1.860337020741101 2.447613128133411 -1.862307996353177
254 | 1.9 2 0.55804900071581 -1.426683635005015 1.888920729227458 -1.47686766875597
255 | 2 2.1 0.432792976838827 -1.093205519222202 1.445860428600667 -1.162440290063367
256 | 2.1 2.2 0.33676858891255 -0.8389066422039695 1.097128341581656 -0.8974454328275902
257 | 2.2 2.3 0.262951762675142 -0.6464043368724658 0.8278947117333791 -0.6813497968703626
258 | 2.3 2.4 0.205908926308359 -0.5012658884319013 0.6234897726722711 -0.5079805303275545
259 | 2.4 2.5 0.161509254661564 -0.3918073498072736 0.4710956135740046 -0.3726758608606395
260 | 2.5 2.6 0.126666799955716 -0.3087685029182918 0.3592928553158127 -0.2703692496704538
261 | 2.6 2.7 0.09911250896737447 -0.2450210093452428 0.2781820804146765 -0.1961021442967155
262 | 2.7 2.8 0.07719612669270022 -0.195267657591209 0.2193514371256617 -0.1448888133829973
263 | 2.8 2.9 0.059717986491453 -0.1557440345675667 0.1758847931107627 -0.1117442548111967
264 | 2.9 3 0.04579068671099275 -0.12391940358975 0.1423615166674037 -0.0917077284122865
265 | 3 3.1 0.03473065379027949 -0.09819833210863785 0.1148491981437177 -0.07972071697964057
266 | 3.1 3.2 0.02597959184387323 -0.07762011398928351 0.09093298304982551 -0.07109154950917919
267 | 3.2 3.3 0.01905581872593395 -0.06156626386459377 0.06960551819707174 -0.0597589472236276
268 | 3.3 3.4 0.01353548857422168 -0.04943792864188829 0.05167783402998352 -0.04477321623626898
269 | 3.4 3.5 0.009063700834096414 -0.04044555832297965 0.03824586915910282 -0.006107930871331319
270 | 3.5 3.6 0.005395495762518143 -0.03297962241729901 0.03641348989770342 0.00506799228160157
271 | 3.6 3.7 0.002466736412046875 -0.02554488466931028 0.03793388758218389 0.2032902739049307
272 | 3.7 3.8 0.0004948770948426154 -0.01185939893572556 0.09892096975366317 -0.2981468988066914
273 | 3.8 3.87 0 -0.001019611949193676 0.009476900111656059 0.8423515656559675 -17.978852974057 99.76896458829908
274 |
275 |
276 | Jiayan Xu at Queens, Thu Nov 12 23:00:53 2020
277 | elec - hotbit repl - mat-sci-03
278 |
279 |
--------------------------------------------------------------------------------
/examples/skf/O-C.skf:
--------------------------------------------------------------------------------
1 | 0.05 240
2 | 16.01 8*0.0 3.0 10*0.0
3 | 20*0.0
4 | 20*0.0
5 | 20*0.0
6 | 20*0.0
7 | 20*0.0
8 | 20*0.0
9 | 20*0.0
10 | 20*0.0
11 | 20*0.0
12 | 5*0.0 -0.91982230 -1.69133900 0.00000000 -0.22437550 -1.20727100 5*0.0 0.69182660 0.87465410 0.00000000 0.27804650 0.83587330
13 | 5*0.0 -0.76467560 -1.61403900 0.00000000 -0.31468950 -1.14251000 5*0.0 0.64266680 0.85575900 0.00000000 0.30608280 0.82283460
14 | 5*0.0 -0.61850830 -1.53706400 0.00000000 -0.40171410 -1.09668600 5*0.0 0.59207150 0.83583800 0.00000000 0.33328020 0.81012850
15 | 5*0.0 -0.48233510 -1.46107000 0.00000000 -0.48350150 -1.06521200 5*0.0 0.54056370 0.81507260 0.00000000 0.35942470 0.79774140
16 | 5*0.0 -0.35670930 -1.38662100 0.00000000 -0.55892090 -1.04422000 5*0.0 0.48861250 0.79362510 0.00000000 0.38433540 0.78562430
17 | 5*0.0 -0.24171820 -1.31409900 0.00000000 -0.62718220 -1.03037900 5*0.0 0.43665260 0.77152510 0.00000000 0.40779300 0.77357640
18 | 5*0.0 -0.13736690 -1.24369000 0.00000000 -0.68775770 -1.02106800 5*0.0 0.38509930 0.74892030 0.00000000 0.42963890 0.76153770
19 | 5*0.0 -0.04346130 -1.17586100 0.00000000 -0.74065040 -1.01452600 5*0.0 0.33425270 0.72602700 0.00000000 0.44983690 0.74951710
20 | 5*0.0 0.04043818 -1.11055300 0.00000000 -0.78577980 -1.00897700 5*0.0 0.28447520 0.70285900 0.00000000 0.46821310 0.73733630
21 | 5*0.0 0.11483830 -1.04795800 0.00000000 -0.82348470 -1.00337000 5*0.0 0.23601600 0.67948680 0.00000000 0.48470790 0.72489510
22 | 5*0.0 0.18041980 -0.98819770 0.00000000 -0.85418300 -0.99702270 5*0.0 0.18904340 0.65617280 0.00000000 0.49937400 0.71229940
23 | 5*0.0 0.23754650 -0.93112300 0.00000000 -0.87808170 -0.98914550 5*0.0 0.14386840 0.63280120 0.00000000 0.51205190 0.69930670
24 | 5*0.0 0.28713050 -0.87687010 0.00000000 -0.89589110 -0.97962560 5*0.0 0.10052940 0.60959390 0.00000000 0.52286610 0.68602880
25 | 5*0.0 0.32959810 -0.82531630 0.00000000 -0.90797940 -0.96815390 5*0.0 0.05922985 0.58653050 0.00000000 0.53176170 0.67235520
26 | 5*0.0 0.36553620 -0.77643200 0.00000000 -0.91483160 -0.95470030 5*0.0 0.02006336 0.56373750 0.00000000 0.53879720 0.65832860
27 | 5*0.0 0.39576690 -0.73011880 0.00000000 -0.91707810 -0.93931640 5*0.0 -0.01692846 0.54121700 0.00000000 0.54402080 0.64391280
28 | 5*0.0 0.42066350 -0.68634830 0.00000000 -0.91513870 -0.92213810 5*0.0 -0.05170238 0.51910020 0.00000000 0.54753340 0.62919230
29 | 5*0.0 0.44074240 -0.64494690 0.00000000 -0.90943810 -0.90319340 5*0.0 -0.08415352 0.49731780 0.00000000 0.54931490 0.61406960
30 | 5*0.0 0.45663100 -0.60590790 0.00000000 -0.90053190 -0.88280430 5*0.0 -0.11437510 0.47602600 0.00000000 0.54954940 0.59869210
31 | 5*0.0 0.46871500 -0.56903390 0.00000000 -0.88875270 -0.86102030 5*0.0 -0.14228540 0.45514520 0.00000000 0.54822440 0.58297770
32 | 5*0.0 0.47734890 -0.53430460 0.00000000 -0.87448590 -0.83811860 5*0.0 -0.16794790 0.43482490 0.00000000 0.54550010 0.56706720
33 | 5*0.0 0.48306460 -0.50157730 0.00000000 -0.85816490 -0.81428700 5*0.0 -0.19141400 0.41497330 0.00000000 0.54144720 0.55092560
34 | 5*0.0 0.48609200 -0.47075490 0.00000000 -0.84002230 -0.78967250 5*0.0 -0.21266500 0.39569840 0.00000000 0.53613350 0.53462100
35 | 5*0.0 0.48684220 -0.44172670 0.00000000 -0.82042350 -0.76447670 5*0.0 -0.23180280 0.37692540 0.00000000 0.52966590 0.51815960
36 | 5*0.0 0.48549020 -0.41445320 0.00000000 -0.79958210 -0.73889970 5*0.0 -0.24889300 0.35880680 0.00000000 0.52218870 0.50168500
37 | 5*0.0 0.48242160 -0.38878050 0.00000000 -0.77779170 -0.71305930 5*0.0 -0.26399120 0.34122060 0.00000000 0.51373810 0.48513620
38 | 5*0.0 0.47779810 -0.36463590 0.00000000 -0.75523100 -0.68709230 5*0.0 -0.27715370 0.32419960 0.00000000 0.50440870 0.46857350
39 | 5*0.0 0.47186850 -0.34195860 0.00000000 -0.73212180 -0.66117420 5*0.0 -0.28851240 0.30781710 0.00000000 0.49434320 0.45210040
40 | 5*0.0 0.46484420 -0.32062690 0.00000000 -0.70864260 -0.63538690 5*0.0 -0.29814670 0.29196780 0.00000000 0.48360110 0.43569360
41 | 5*0.0 0.45681320 -0.30059170 0.00000000 -0.68489570 -0.60981530 5*0.0 -0.30606860 0.27673620 0.00000000 0.47223460 0.41940410
42 | 5*0.0 0.44795030 -0.28177330 0.00000000 -0.66103340 -0.58456740 5*0.0 -0.31241520 0.26210060 0.00000000 0.46036260 0.40328840
43 | 5*0.0 0.43843880 -0.26408730 0.00000000 -0.63719810 -0.55971750 5*0.0 -0.31727560 0.24801550 0.00000000 0.44804670 0.38734870
44 | 5*0.0 0.42835280 -0.24747660 0.00000000 -0.61346230 -0.53531670 5*0.0 -0.32070550 0.23450570 0.00000000 0.43534440 0.37161820
45 | 5*0.0 0.41783470 -0.23188370 0.00000000 -0.58994440 -0.51146140 5*0.0 -0.32287290 0.22157570 0.00000000 0.42239090 0.35617600
46 | 5*0.0 0.40696850 -0.21723760 0.00000000 -0.56671010 -0.48816960 5*0.0 -0.32381610 0.20918220 0.00000000 0.40920440 0.34100100
47 | 5*0.0 0.39585410 -0.20349600 0.00000000 -0.54383750 -0.46550140 5*0.0 -0.32364510 0.19734650 0.00000000 0.39586950 0.32614310
48 | 5*0.0 0.38453540 -0.19058800 0.00000000 -0.52136070 -0.44346110 5*0.0 -0.32242510 0.18602800 0.00000000 0.38242770 0.31160420
49 | 5*0.0 0.37306740 -0.17847120 0.00000000 -0.49932110 -0.42206780 5*0.0 -0.32021000 0.17522900 0.00000000 0.36891260 0.29739320
50 | 5*0.0 0.36155410 -0.16710370 0.00000000 -0.47778860 -0.40137290 5*0.0 -0.31715450 0.16494190 0.00000000 0.35542510 0.28356100
51 | 5*0.0 0.35001040 -0.15643190 0.00000000 -0.45677360 -0.38136260 5*0.0 -0.31328800 0.15513810 0.00000000 0.34197630 0.27009450
52 | 5*0.0 0.33852310 -0.14641780 0.00000000 -0.43632630 -0.36206950 5*0.0 -0.30873810 0.14581790 0.00000000 0.32864230 0.25703090
53 | 5*0.0 0.32707700 -0.13702190 0.00000000 -0.41643600 -0.34346370 5*0.0 -0.30350330 0.13695070 0.00000000 0.31541020 0.24434080
54 | 5*0.0 0.31573170 -0.12821050 0.00000000 -0.39713460 -0.32556820 5*0.0 -0.29770440 0.12854690 0.00000000 0.30235310 0.23206530
55 | 5*0.0 0.30452320 -0.11993650 0.00000000 -0.37843430 -0.30837010 5*0.0 -0.29140970 0.12055640 0.00000000 0.28949420 0.22019210
56 | 5*0.0 0.29349100 -0.11218430 0.00000000 -0.36035650 -0.29188650 5*0.0 -0.28471490 0.11299980 0.00000000 0.27688900 0.20875380
57 | 5*0.0 0.28260300 -0.10490550 0.00000000 -0.34286780 -0.27605950 5*0.0 -0.27757480 0.10582660 0.00000000 0.26448780 0.19769310
58 | 5*0.0 0.27192760 -0.09807831 0.00000000 -0.32600080 -0.26091730 5*0.0 -0.27014700 0.09904205 0.00000000 0.25237840 0.18705890
59 | 5*0.0 0.26146800 -0.09168254 0.00000000 -0.30974840 -0.24644440 5*0.0 -0.26246860 0.09263843 0.00000000 0.24057130 0.17684660
60 | 5*0.0 0.25122660 -0.08568382 0.00000000 -0.29409870 -0.23261280 5*0.0 -0.25456390 0.08658713 0.00000000 0.22906220 0.16703620
61 | 5*0.0 0.24120370 -0.08005475 0.00000000 -0.27903940 -0.21939840 5*0.0 -0.24645860 0.08086570 0.00000000 0.21784980 0.15761210
62 | 5*0.0 0.23144610 -0.07478406 0.00000000 -0.26458680 -0.20681650 5*0.0 -0.23827480 0.07548189 0.00000000 0.20699660 0.14860830
63 | 5*0.0 0.22194140 -0.06984198 0.00000000 -0.25071970 -0.19483300 5*0.0 -0.23002010 0.07040609 0.00000000 0.19648820 0.13999970
64 | 5*0.0 0.21268140 -0.06521293 0.00000000 -0.23742010 -0.18342280 5*0.0 -0.22169880 0.06563081 0.00000000 0.18631140 0.13176800
65 | 5*0.0 0.20368500 -0.06087262 0.00000000 -0.22468450 -0.17257650 5*0.0 -0.21338860 0.06113671 0.00000000 0.17649620 0.12392060
66 | 5*0.0 0.19494220 -0.05681060 0.00000000 -0.21249430 -0.16226840 5*0.0 -0.20508150 0.05691673 0.00000000 0.16702190 0.11643490
67 | 5*0.0 0.18646170 -0.05299969 0.00000000 -0.20083890 -0.15247980 5*0.0 -0.19683280 0.05294198 0.00000000 0.15790250 0.10930610
68 | 5*0.0 0.17825820 -0.04943671 0.00000000 -0.18971480 -0.14320830 5*0.0 -0.18869240 0.04922592 0.00000000 0.14915650 0.10254320
69 | 5*0.0 0.17030410 -0.04609595 0.00000000 -0.17909040 -0.13441200 5*0.0 -0.18063700 0.04573198 0.00000000 0.14075020 0.09610976
70 | 5*0.0 0.16261410 -0.04297116 0.00000000 -0.16896090 -0.12608470 5*0.0 -0.17271340 0.04246132 0.00000000 0.13269740 0.09000877
71 | 5*0.0 0.15518590 -0.04004645 0.00000000 -0.15931130 -0.11820790 5*0.0 -0.16494430 0.03940192 0.00000000 0.12499680 0.08423175
72 | 5*0.0 0.14800500 -0.03730887 0.00000000 -0.15011910 -0.11075430 5*0.0 -0.15732080 0.03653695 0.00000000 0.11762740 0.07875594
73 | 5*0.0 0.14107840 -0.03474944 0.00000000 -0.14137530 -0.10371300 5*0.0 -0.14987440 0.03386138 0.00000000 0.11059420 0.07357870
74 | 5*0.0 0.13440520 -0.03235325 0.00000000 -0.13306520 -0.09706695 5*0.0 -0.14263130 0.03135960 0.00000000 0.10389740 0.06869197
75 | 5*0.0 0.12797180 -0.03011367 0.00000000 -0.12516860 -0.09079354 5*0.0 -0.13557660 0.02902458 0.00000000 0.09751564 0.06407653
76 | 5*0.0 0.12177910 -0.02801911 0.00000000 -0.11767320 -0.08487896 5*0.0 -0.12873180 0.02684739 0.00000000 0.09144875 0.05972645
77 | 5*0.0 0.11581860 -0.02606185 0.00000000 -0.11056100 -0.07930378 5*0.0 -0.12209640 0.02481661 0.00000000 0.08568316 0.05562675
78 | 5*0.0 0.11008780 -0.02423187 0.00000000 -0.10381910 -0.07405362 5*0.0 -0.11568000 0.02292471 0.00000000 0.08021322 0.05176900
79 | 5*0.0 0.10459310 -0.02252516 0.00000000 -0.09743879 -0.06911994 5*0.0 -0.10950650 0.02116842 0.00000000 0.07504095 0.04815018
80 | 5*0.0 0.09930466 -0.02092883 0.00000000 -0.09139173 -0.06447204 5*0.0 -0.10353350 0.01953005 0.00000000 0.07013108 0.04474187
81 | 5*0.0 0.09423465 -0.01944029 0.00000000 -0.08567378 -0.06010660 5*0.0 -0.09779294 0.01801072 0.00000000 0.06549202 0.04154659
82 | 5*0.0 0.08937573 -0.01805023 0.00000000 -0.08026911 -0.05600738 5*0.0 -0.09228691 0.01659821 0.00000000 0.06111383 0.03855294
83 | 5*0.0 0.08471591 -0.01675251 0.00000000 -0.07516106 -0.05215758 5*0.0 -0.08699981 0.01528695 0.00000000 0.05697922 0.03574683
84 | 5*0.0 0.08025437 -0.01554275 0.00000000 -0.07033887 -0.04854651 5*0.0 -0.08193780 0.01407039 0.00000000 0.05308224 0.03312084
85 | 5*0.0 0.07598297 -0.01441477 0.00000000 -0.06578827 -0.04516033 5*0.0 -0.07709376 0.01294326 0.00000000 0.04941094 0.03066461
86 | 5*0.0 0.07189755 -0.01336318 0.00000000 -0.06149741 -0.04198754 5*0.0 -0.07246733 0.01189957 0.00000000 0.04595704 0.02836991
87 | 5*0.0 0.06799510 -0.01238368 0.00000000 -0.05745527 -0.03901785 5*0.0 -0.06806068 0.01093350 0.00000000 0.04271367 0.02622953
88 | 5*0.0 0.06426767 -0.01146998 0.00000000 -0.05364874 -0.03623880 5*0.0 -0.06386700 0.01003889 0.00000000 0.03967003 0.02423413
89 | 5*0.0 0.06070967 -0.01062007 0.00000000 -0.05006644 -0.03363981 5*0.0 -0.05987757 0.00921263 0.00000000 0.03681489 0.02237471
90 | 5*0.0 0.05731546 -0.00982987 0.00000000 -0.04669752 -0.03121071 5*0.0 -0.05608583 0.00845036 0.00000000 0.03413856 0.02064321
91 | 5*0.0 0.05407447 -0.00909319 0.00000000 -0.04352832 -0.02893906 5*0.0 -0.05248244 0.00774489 0.00000000 0.03162981 0.01903030
92 | 5*0.0 0.05099366 -0.00840962 0.00000000 -0.04055505 -0.02682177 5*0.0 -0.04907766 0.00709597 0.00000000 0.02928839 0.01753440
93 | 5*0.0 0.04805057 -0.00777212 0.00000000 -0.03775901 -0.02484160 5*0.0 -0.04584120 0.00649543 0.00000000 0.02709341 0.01614067
94 | 5*0.0 0.04526033 -0.00718162 0.00000000 -0.03514095 -0.02299991 5*0.0 -0.04279586 0.00594454 0.00000000 0.02505145 0.01485197
95 | 5*0.0 0.04260297 -0.00663211 0.00000000 -0.03268416 -0.02128165 5*0.0 -0.03991559 0.00543600 0.00000000 0.02314439 0.01365547
96 | 5*0.0 0.04007732 -0.00612166 0.00000000 -0.03038195 -0.01968108 5*0.0 -0.03719800 0.00496807 0.00000000 0.02136679 0.01254676
97 | 5*0.0 0.03767647 -0.00564822 0.00000000 -0.02822506 -0.01819021 5*0.0 -0.03463318 0.00453780 0.00000000 0.01970962 0.01151922
98 | 5*0.0 0.03539909 -0.00520874 0.00000000 -0.02620706 -0.01680372 5*0.0 -0.03222162 0.00414222 0.00000000 0.01816910 0.01056938
99 | 5*0.0 0.03324139 -0.00480140 0.00000000 -0.02432080 -0.01551556 5*0.0 -0.02995658 0.00377949 0.00000000 0.01673840 0.00969226
100 | 5*0.0 0.03119390 -0.00442389 0.00000000 -0.02255657 -0.01431756 5*0.0 -0.02782546 0.00344629 0.00000000 0.01540791 0.00888111
101 | 5*0.0 0.02925541 -0.00407392 0.00000000 -0.02090886 -0.01320526 5*0.0 -0.02582732 0.00314064 0.00000000 0.01417400 0.00813292
102 | 5*0.0 0.02741993 -0.00375037 0.00000000 -0.01937043 -0.01217266 5*0.0 -0.02395213 0.00286089 0.00000000 0.01302898 0.00744247
103 | 5*0.0 0.02568267 -0.00345023 0.00000000 -0.01793451 -0.01121433 5*0.0 -0.02219598 0.00260391 0.00000000 0.01196810 0.00680607
104 | 5*0.0 0.02404213 -0.00317256 0.00000000 -0.01659643 -0.01032653 5*0.0 -0.02055500 0.00236885 0.00000000 0.01098701 0.00622063
105 | 5*0.0 0.02249144 -0.00291619 0.00000000 -0.01534913 -0.00950355 5*0.0 -0.01901887 0.00215401 0.00000000 0.01007855 0.00568142
106 | 5*0.0 0.02102706 -0.00267899 0.00000000 -0.01418723 -0.00874121 5*0.0 -0.01758395 0.00195738 0.00000000 0.00923873 0.00518548
107 | 5*0.0 0.01964631 -0.00245972 0.00000000 -0.01310616 -0.00803592 5*0.0 -0.01624635 0.00177762 0.00000000 0.00846368 0.00473008
108 | 5*0.0 0.01834614 -0.00225765 0.00000000 -0.01210126 -0.00738407 5*0.0 -0.01500071 0.00161380 0.00000000 0.00774905 0.00431232
109 | 5*0.0 0.01712000 -0.00207091 0.00000000 -0.01116650 -0.00678098 5*0.0 -0.01383919 0.00146408 0.00000000 0.00708946 0.00392864
110 | 5*0.0 0.01596511 -0.00189851 0.00000000 -0.01029783 -0.00622357 5*0.0 -0.01275792 0.00132737 0.00000000 0.00648151 0.00357672
111 | 5*0.0 0.01487828 -0.00173957 0.00000000 -0.00949117 -0.00570875 5*0.0 -0.01175217 0.00120270 0.00000000 0.00592157 0.00325416
112 | 5*0.0 0.01385811 -0.00159346 0.00000000 -0.00874340 -0.00523421 5*0.0 -0.01081908 0.00108949 0.00000000 0.00540697 0.00295918
113 | 5*0.0 0.01289770 -0.00145840 0.00000000 -0.00804908 -0.00479581 5*0.0 -0.00995144 0.00098596 0.00000000 0.00493317 0.00268883
114 | 5*0.0 0.01199669 -0.00133441 0.00000000 -0.00740590 -0.00439193 5*0.0 -0.00914699 0.00089201 0.00000000 0.00449802 0.00244173
115 | 5*0.0 0.01115160 -0.00122018 0.00000000 -0.00681026 -0.00401991 5*0.0 -0.00840204 0.00080650 0.00000000 0.00409874 0.00221604
116 | 5*0.0 0.01036014 -0.00111520 0.00000000 -0.00625923 -0.00367761 5*0.0 -0.00771314 0.00072884 0.00000000 0.00373283 0.00201017
117 | 5*0.0 0.00961812 -0.00101870 0.00000000 -0.00574930 -0.00336247 5*0.0 -0.00707526 0.00065826 0.00000000 0.00339718 0.00182218
118 | 5*0.0 0.00892338 -0.00093006 0.00000000 -0.00527781 -0.00307260 5*0.0 -0.00648555 0.00059418 0.00000000 0.00308968 0.00165073
119 | 5*0.0 0.00827217 -0.00084854 0.00000000 -0.00484165 -0.00280578 5*0.0 -0.00593970 0.00053594 0.00000000 0.00280773 0.00149423
120 | 5*0.0 0.00766557 -0.00077401 0.00000000 -0.00443982 -0.00256134 5*0.0 -0.00543787 0.00048335 0.00000000 0.00255064 0.00135217
121 | 5*0.0 0.00709737 -0.00070548 0.00000000 -0.00406838 -0.00233646 5*0.0 -0.00497373 0.00043555 0.00000000 0.00231508 0.00122256
122 | 5*0.0 0.00656749 -0.00064266 0.00000000 -0.00372607 -0.00213029 5*0.0 -0.00454665 0.00039225 0.00000000 0.00210016 0.00110483
123 | 5*0.0 0.00607363 -0.00058522 0.00000000 -0.00341075 -0.00194135 5*0.0 -0.00415369 0.00035314 0.00000000 0.00190410 0.00099790
124 | 5*0.0 0.00561278 -0.00053253 0.00000000 -0.00312011 -0.00176807 5*0.0 -0.00379182 0.00031769 0.00000000 0.00172514 0.00090070
125 | 5*0.0 0.00518348 -0.00048434 0.00000000 -0.00285256 -0.00160933 5*0.0 -0.00345911 0.00028566 0.00000000 0.00156200 0.00081247
126 | 5*0.0 0.00478359 -0.00044021 0.00000000 -0.00260631 -0.00146395 5*0.0 -0.00315329 0.00025666 0.00000000 0.00141332 0.00073240
127 | 5*0.0 0.00441237 -0.00040000 0.00000000 -0.00238021 -0.00133116 5*0.0 -0.00287312 0.00023058 0.00000000 0.00127821 0.00065994
128 | 5*0.0 0.00406662 -0.00036312 0.00000000 -0.00217217 -0.00120954 5*0.0 -0.00261567 0.00020695 0.00000000 0.00115513 0.00059420
129 | 5*0.0 0.00374582 -0.00032956 0.00000000 -0.00198130 -0.00109851 5*0.0 -0.00237987 0.00018568 0.00000000 0.00104331 0.00053473
130 | 5*0.0 0.00344807 -0.00029893 0.00000000 -0.00180615 -0.00099712 5*0.0 -0.00216391 0.00016651 0.00000000 0.00094175 0.00048092
131 | 5*0.0 0.00317179 -0.00027097 0.00000000 -0.00164546 -0.00090454 5*0.0 -0.00196619 0.00014923 0.00000000 0.00084951 0.00043226
132 | 5*0.0 0.00291564 -0.00024548 0.00000000 -0.00149815 -0.00082007 5*0.0 -0.00178533 0.00013366 0.00000000 0.00076583 0.00038828
133 | 5*0.0 0.00267850 -0.00022224 0.00000000 -0.00136325 -0.00074309 5*0.0 -0.00162016 0.00011964 0.00000000 0.00069001 0.00034860
134 | 5*0.0 0.00245914 -0.00020114 0.00000000 -0.00123980 -0.00067298 5*0.0 -0.00146935 0.00010706 0.00000000 0.00062133 0.00031279
135 | 5*0.0 0.00225578 -0.00018188 0.00000000 -0.00112669 -0.00060902 5*0.0 -0.00133138 0.00009572 0.00000000 0.00055902 0.00028043
136 | 5*0.0 0.00206841 -0.00016444 0.00000000 -0.00102350 -0.00055096 5*0.0 -0.00120594 0.00008556 0.00000000 0.00050278 0.00025134
137 | 5*0.0 0.00189494 -0.00014855 0.00000000 -0.00092903 -0.00049805 5*0.0 -0.00109133 0.00007642 0.00000000 0.00045183 0.00022508
138 | 5*0.0 0.00173504 -0.00013411 0.00000000 -0.00084286 -0.00045000 5*0.0 -0.00098713 0.00006822 0.00000000 0.00040584 0.00020147
139 | 5*0.0 0.00158785 -0.00012102 0.00000000 -0.00076430 -0.00040641 5*0.0 -0.00089247 0.00006088 0.00000000 0.00036438 0.00018027
140 | 5*0.0 0.00145192 -0.00010914 0.00000000 -0.00069258 -0.00036678 5*0.0 -0.00080620 0.00005429 0.00000000 0.00032689 0.00016117
141 | 5*0.0 0.00132659 -0.00009836 0.00000000 -0.00062713 -0.00033079 5*0.0 -0.00072769 0.00004838 0.00000000 0.00029304 0.00014398
142 | 5*0.0 0.00121158 -0.00008861 0.00000000 -0.00056764 -0.00029822 5*0.0 -0.00065661 0.00004310 0.00000000 0.00026261 0.00012860
143 | 5*0.0 0.00110564 -0.00007977 0.00000000 -0.00051342 -0.00026866 5*0.0 -0.00059200 0.00003837 0.00000000 0.00023516 0.00011477
144 | 5*0.0 0.00100826 -0.00007176 0.00000000 -0.00046408 -0.00024188 5*0.0 -0.00053339 0.00003414 0.00000000 0.00021045 0.00010236
145 | 5*0.0 0.00091899 -0.00006453 0.00000000 -0.00041928 -0.00021768 5*0.0 -0.00048035 0.00003036 0.00000000 0.00018825 0.00009126
146 | 5*0.0 0.00083690 -0.00005799 0.00000000 -0.00037851 -0.00019575 5*0.0 -0.00043220 0.00002698 0.00000000 0.00016825 0.00008130
147 | 5*0.0 0.00076176 -0.00005208 0.00000000 -0.00034155 -0.00017595 5*0.0 -0.00038872 0.00002397 0.00000000 0.00015032 0.00007239
148 | 5*0.0 0.00069292 -0.00004674 0.00000000 -0.00030802 -0.00015807 5*0.0 -0.00034941 0.00002128 0.00000000 0.00013422 0.00006443
149 | 5*0.0 0.00062984 -0.00004194 0.00000000 -0.00027761 -0.00014191 5*0.0 -0.00031385 0.00001888 0.00000000 0.00011977 0.00005730
150 | 5*0.0 0.00057204 -0.00003759 0.00000000 -0.00025002 -0.00012732 5*0.0 -0.00028169 0.00001675 0.00000000 0.00010679 0.00005093
151 | 5*0.0 0.00051926 -0.00003369 0.00000000 -0.00022508 -0.00011419 5*0.0 -0.00025271 0.00001485 0.00000000 0.00009518 0.00004524
152 | 5*0.0 0.00047097 -0.00003016 0.00000000 -0.00020248 -0.00010233 5*0.0 -0.00022654 0.00001315 0.00000000 0.00008477 0.00004017
153 | 5*0.0 0.00042694 -0.00002699 0.00000000 -0.00018204 -0.00009166 5*0.0 -0.00020297 0.00001164 0.00000000 0.00007546 0.00003564
154 | 5*0.0 0.00038669 -0.00002414 0.00000000 -0.00016354 -0.00008203 5*0.0 -0.00018172 0.00001030 0.00000000 0.00006713 0.00003160
155 | 5*0.0 0.00035010 -0.00002158 0.00000000 -0.00014685 -0.00007339 5*0.0 -0.00016263 0.00000911 0.00000000 0.00005969 0.00002802
156 | 5*0.0 0.00031667 -0.00001928 0.00000000 -0.00013175 -0.00006561 5*0.0 -0.00014542 0.00000805 0.00000000 0.00005303 0.00002481
157 | 5*0.0 0.00028625 -0.00001720 0.00000000 -0.00011813 -0.00005862 5*0.0 -0.00012996 0.00000711 0.00000000 0.00004710 0.00002196
158 | 5*0.0 0.00025860 -0.00001535 0.00000000 -0.00010585 -0.00005234 5*0.0 -0.00011607 0.00000628 0.00000000 0.00004180 0.00001943
159 | 5*0.0 0.00023347 -0.00001369 0.00000000 -0.00009481 -0.00004671 5*0.0 -0.00010360 0.00000554 0.00000000 0.00003707 0.00001718
160 | 5*0.0 0.00021060 -0.00001220 0.00000000 -0.00008484 -0.00004165 5*0.0 -0.00009241 0.00000488 0.00000000 0.00003286 0.00001518
161 | 5*0.0 0.00018987 -0.00001086 0.00000000 -0.00007589 -0.00003712 5*0.0 -0.00008238 0.00000431 0.00000000 0.00002911 0.00001341
162 | 5*0.0 0.00017106 -0.00000967 0.00000000 -0.00006783 -0.00003307 5*0.0 -0.00007339 0.00000379 0.00000000 0.00002577 0.00001184
163 | 5*0.0 0.00015401 -0.00000860 0.00000000 -0.00006059 -0.00002944 5*0.0 -0.00006534 0.00000334 0.00000000 0.00002280 0.00001044
164 | 5*0.0 0.00013856 -0.00000764 0.00000000 -0.00005409 -0.00002619 5*0.0 -0.00005813 0.00000294 0.00000000 0.00002016 0.00000920
165 | 5*0.0 0.00012457 -0.00000679 0.00000000 -0.00004825 -0.00002328 5*0.0 -0.00005169 0.00000258 0.00000000 0.00001782 0.00000811
166 | 5*0.0 0.00011193 -0.00000603 0.00000000 -0.00004303 -0.00002069 5*0.0 -0.00004593 0.00000227 0.00000000 0.00001574 0.00000714
167 | 5*0.0 0.00010050 -0.00000535 0.00000000 -0.00003834 -0.00001837 5*0.0 -0.00004079 0.00000199 0.00000000 0.00001389 0.00000628
168 | 5*0.0 0.00009017 -0.00000474 0.00000000 -0.00003413 -0.00001630 5*0.0 -0.00003620 0.00000175 0.00000000 0.00001225 0.00000553
169 | 5*0.0 0.00008087 -0.00000421 0.00000000 -0.00003038 -0.00001446 5*0.0 -0.00003211 0.00000154 0.00000000 0.00001080 0.00000486
170 | 5*0.0 0.00007246 -0.00000372 0.00000000 -0.00002702 -0.00001282 5*0.0 -0.00002846 0.00000135 0.00000000 0.00000952 0.00000427
171 | 5*0.0 0.00006489 -0.00000330 0.00000000 -0.00002402 -0.00001136 5*0.0 -0.00002522 0.00000118 0.00000000 0.00000838 0.00000375
172 | 5*0.0 0.00005806 -0.00000292 0.00000000 -0.00002133 -0.00001005 5*0.0 -0.00002232 0.00000103 0.00000000 0.00000738 0.00000329
173 | 5*0.0 0.00005192 -0.00000258 0.00000000 -0.00001893 -0.00000889 5*0.0 -0.00001975 0.00000090 0.00000000 0.00000649 0.00000288
174 | 5*0.0 0.00004640 -0.00000228 0.00000000 -0.00001679 -0.00000786 5*0.0 -0.00001746 0.00000079 0.00000000 0.00000570 0.00000253
175 | 5*0.0 0.00004143 -0.00000201 0.00000000 -0.00001488 -0.00000695 5*0.0 -0.00001543 0.00000069 0.00000000 0.00000501 0.00000221
176 | 5*0.0 0.00003697 -0.00000177 0.00000000 -0.00001319 -0.00000614 5*0.0 -0.00001362 0.00000060 0.00000000 0.00000440 0.00000194
177 | 5*0.0 0.00003297 -0.00000156 0.00000000 -0.00001168 -0.00000542 5*0.0 -0.00001202 0.00000053 0.00000000 0.00000386 0.00000170
178 | 5*0.0 0.00002939 -0.00000138 0.00000000 -0.00001033 -0.00000478 5*0.0 -0.00001060 0.00000046 0.00000000 0.00000338 0.00000148
179 | 5*0.0 0.00002617 -0.00000121 0.00000000 -0.00000913 -0.00000421 5*0.0 -0.00000935 0.00000040 0.00000000 0.00000296 0.00000130
180 | 5*0.0 0.00002329 -0.00000107 0.00000000 -0.00000807 -0.00000371 5*0.0 -0.00000823 0.00000035 0.00000000 0.00000260 0.00000113
181 | 5*0.0 0.00002071 -0.00000094 0.00000000 -0.00000713 -0.00000326 5*0.0 -0.00000724 0.00000030 0.00000000 0.00000227 0.00000099
182 | 5*0.0 0.00001840 -0.00000083 0.00000000 -0.00000629 -0.00000287 5*0.0 -0.00000637 0.00000027 0.00000000 0.00000199 0.00000086
183 | 5*0.0 0.00001634 -0.00000072 0.00000000 -0.00000554 -0.00000252 5*0.0 -0.00000560 0.00000023 0.00000000 0.00000174 0.00000075
184 | 5*0.0 0.00001450 -0.00000064 0.00000000 -0.00000489 -0.00000222 5*0.0 -0.00000492 0.00000020 0.00000000 0.00000152 0.00000065
185 | 5*0.0 0.00001286 -0.00000056 0.00000000 -0.00000430 -0.00000195 5*0.0 -0.00000432 0.00000017 0.00000000 0.00000132 0.00000057
186 | 5*0.0 0.00001140 -0.00000049 0.00000000 -0.00000379 -0.00000171 5*0.0 -0.00000379 0.00000015 0.00000000 0.00000116 0.00000050
187 | 5*0.0 0.00001010 -0.00000043 0.00000000 -0.00000333 -0.00000150 5*0.0 -0.00000332 0.00000013 0.00000000 0.00000101 0.00000043
188 | 5*0.0 0.00000893 -0.00000038 0.00000000 -0.00000293 -0.00000131 5*0.0 -0.00000291 0.00000011 0.00000000 0.00000088 0.00000037
189 | 5*0.0 0.00000790 -0.00000033 0.00000000 -0.00000257 -0.00000115 5*0.0 -0.00000255 0.00000010 0.00000000 0.00000076 0.00000032
190 | 5*0.0 0.00000698 -0.00000029 0.00000000 -0.00000226 -0.00000101 5*0.0 -0.00000223 0.00000009 0.00000000 0.00000067 0.00000028
191 | 5*0.0 0.00000616 -0.00000025 0.00000000 -0.00000198 -0.00000088 5*0.0 -0.00000195 0.00000007 0.00000000 0.00000058 0.00000024
192 | 5*0.0 0.00000544 -0.00000022 0.00000000 -0.00000173 -0.00000077 5*0.0 -0.00000171 0.00000006 0.00000000 0.00000050 0.00000021
193 | 5*0.0 0.00000480 -0.00000019 0.00000000 -0.00000152 -0.00000067 5*0.0 -0.00000149 0.00000006 0.00000000 0.00000044 0.00000018
194 | 5*0.0 0.00000423 -0.00000017 0.00000000 -0.00000133 -0.00000059 5*0.0 -0.00000130 0.00000005 0.00000000 0.00000038 0.00000016
195 | 5*0.0 0.00000372 -0.00000015 0.00000000 -0.00000116 -0.00000051 5*0.0 -0.00000113 0.00000004 0.00000000 0.00000033 0.00000014
196 | 5*0.0 0.00000328 -0.00000013 0.00000000 -0.00000102 -0.00000045 5*0.0 -0.00000099 0.00000004 0.00000000 0.00000029 0.00000012
197 | 5*0.0 0.00000288 -0.00000011 0.00000000 -0.00000089 -0.00000039 5*0.0 -0.00000086 0.00000003 0.00000000 0.00000025 0.00000010
198 | 5*0.0 0.00000253 -0.00000010 0.00000000 -0.00000077 -0.00000034 5*0.0 -0.00000075 0.00000003 0.00000000 0.00000021 0.00000009
199 | 5*0.0 0.00000222 -0.00000008 0.00000000 -0.00000068 -0.00000029 5*0.0 -0.00000065 0.00000002 0.00000000 0.00000018 0.00000008
200 | 5*0.0 0.00000195 -0.00000007 0.00000000 -0.00000059 -0.00000026 5*0.0 -0.00000057 0.00000002 0.00000000 0.00000016 0.00000007
201 | 5*0.0 0.00000171 -0.00000006 0.00000000 -0.00000051 -0.00000022 5*0.0 -0.00000049 0.00000002 0.00000000 0.00000014 0.00000006
202 | 5*0.0 0.00000150 -0.00000005 0.00000000 -0.00000045 -0.00000019 5*0.0 -0.00000043 0.00000001 0.00000000 0.00000012 0.00000005
203 | 5*0.0 0.00000131 -0.00000005 0.00000000 -0.00000039 -0.00000017 5*0.0 -0.00000037 0.00000001 0.00000000 0.00000010 0.00000004
204 | 5*0.0 0.00000115 -0.00000004 0.00000000 -0.00000034 -0.00000014 5*0.0 -0.00000032 0.00000001 0.00000000 0.00000009 0.00000004
205 | 5*0.0 0.00000100 -0.00000004 0.00000000 -0.00000029 -0.00000013 5*0.0 -0.00000028 0.00000001 0.00000000 0.00000008 0.00000003
206 | 5*0.0 0.00000088 -0.00000003 0.00000000 -0.00000025 -0.00000011 5*0.0 -0.00000024 0.00000001 0.00000000 0.00000007 0.00000003
207 | 5*0.0 0.00000076 -0.00000003 0.00000000 -0.00000022 -0.00000009 5*0.0 -0.00000021 0.00000001 0.00000000 0.00000006 0.00000002
208 | 5*0.0 0.00000067 -0.00000002 0.00000000 -0.00000019 -0.00000008 5*0.0 -0.00000018 0.00000001 0.00000000 0.00000005 0.00000002
209 | 5*0.0 0.00000058 -0.00000002 0.00000000 -0.00000017 -0.00000007 5*0.0 -0.00000016 0.00000000 0.00000000 0.00000004 0.00000002
210 | 5*0.0 0.00000051 -0.00000002 0.00000000 -0.00000014 -0.00000006 5*0.0 -0.00000013 0.00000000 0.00000000 0.00000004 0.00000001
211 | 5*0.0 0.00000044 -0.00000001 0.00000000 -0.00000012 -0.00000005 5*0.0 -0.00000012 0.00000000 0.00000000 0.00000003 0.00000001
212 | 5*0.0 0.00000038 -0.00000001 0.00000000 -0.00000011 -0.00000004 5*0.0 -0.00000010 0.00000000 0.00000000 0.00000003 0.00000001
213 | 5*0.0 0.00000033 -0.00000001 0.00000000 -0.00000009 -0.00000004 5*0.0 -0.00000009 0.00000000 0.00000000 0.00000002 0.00000001
214 | 5*0.0 0.00000029 -0.00000001 0.00000000 -0.00000008 -0.00000003 5*0.0 -0.00000007 0.00000000 0.00000000 0.00000002 0.00000001
215 | 5*0.0 0.00000025 -0.00000001 0.00000000 -0.00000007 -0.00000003 5*0.0 -0.00000006 0.00000000 0.00000000 0.00000002 0.00000001
216 | 5*0.0 0.00000022 -0.00000001 0.00000000 -0.00000006 -0.00000002 5*0.0 -0.00000005 0.00000000 0.00000000 0.00000001 0.00000001
217 | 5*0.0 0.00000019 -0.00000001 0.00000000 -0.00000005 -0.00000002 5*0.0 -0.00000005 0.00000000 0.00000000 0.00000001 0.00000000
218 | 5*0.0 0.00000016 -0.00000000 0.00000000 -0.00000004 -0.00000002 5*0.0 -0.00000004 0.00000000 0.00000000 0.00000001 0.00000000
219 | 5*0.0 0.00000014 -0.00000000 0.00000000 -0.00000004 -0.00000002 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
220 | 5*0.0 0.00000012 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
221 | 5*0.0 0.00000010 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
222 | 5*0.0 0.00000009 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
223 | 5*0.0 0.00000008 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000000 0.00000000
224 | 5*0.0 0.00000007 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000000 0.00000000
225 | 5*0.0 0.00000006 -0.00000000 0.00000000 -0.00000001 -0.00000001 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
226 | 5*0.0 0.00000005 -0.00000000 0.00000000 -0.00000001 -0.00000001 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
227 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
228 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
229 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
230 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
231 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
232 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
233 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
234 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
235 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
236 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
237 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
238 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
239 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
240 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
241 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
242 | 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
243 |
244 |
245 | Spline
246 | 26 3.87
247 | 1.934283333282545 3.718072645483851 -0.7282490839084601
248 | 1.3 1.4 2.6035229748112 -6.444591163477911 6.232832638667645 1.122633303643655
249 | 1.4 1.5 2.02251481815373 -5.164345636635074 6.569622629760741 -5.613166518219346
250 | 1.5 1.6 1.56616331426961 -4.018816106229505 4.885672674294936 -2.953570330208558
251 | 1.6 1.7 1.2101848600594 -3.130288681276774 3.999601575232368 -2.911502080789636
252 | 1.7 1.8 0.934240505603257 -2.417713428653991 3.126150950995478 -2.261792742873556
253 | 1.8 1.9 0.721468879504939 -1.860337020741101 2.447613128133411 -1.862307996353177
254 | 1.9 2 0.55804900071581 -1.426683635005015 1.888920729227458 -1.47686766875597
255 | 2 2.1 0.432792976838827 -1.093205519222202 1.445860428600667 -1.162440290063367
256 | 2.1 2.2 0.33676858891255 -0.8389066422039695 1.097128341581656 -0.8974454328275902
257 | 2.2 2.3 0.262951762675142 -0.6464043368724658 0.8278947117333791 -0.6813497968703626
258 | 2.3 2.4 0.205908926308359 -0.5012658884319013 0.6234897726722711 -0.5079805303275545
259 | 2.4 2.5 0.161509254661564 -0.3918073498072736 0.4710956135740046 -0.3726758608606395
260 | 2.5 2.6 0.126666799955716 -0.3087685029182918 0.3592928553158127 -0.2703692496704538
261 | 2.6 2.7 0.09911250896737447 -0.2450210093452428 0.2781820804146765 -0.1961021442967155
262 | 2.7 2.8 0.07719612669270022 -0.195267657591209 0.2193514371256617 -0.1448888133829973
263 | 2.8 2.9 0.059717986491453 -0.1557440345675667 0.1758847931107627 -0.1117442548111967
264 | 2.9 3 0.04579068671099275 -0.12391940358975 0.1423615166674037 -0.0917077284122865
265 | 3 3.1 0.03473065379027949 -0.09819833210863785 0.1148491981437177 -0.07972071697964057
266 | 3.1 3.2 0.02597959184387323 -0.07762011398928351 0.09093298304982551 -0.07109154950917919
267 | 3.2 3.3 0.01905581872593395 -0.06156626386459377 0.06960551819707174 -0.0597589472236276
268 | 3.3 3.4 0.01353548857422168 -0.04943792864188829 0.05167783402998352 -0.04477321623626898
269 | 3.4 3.5 0.009063700834096414 -0.04044555832297965 0.03824586915910282 -0.006107930871331319
270 | 3.5 3.6 0.005395495762518143 -0.03297962241729901 0.03641348989770342 0.00506799228160157
271 | 3.6 3.7 0.002466736412046875 -0.02554488466931028 0.03793388758218389 0.2032902739049307
272 | 3.7 3.8 0.0004948770948426154 -0.01185939893572556 0.09892096975366317 -0.2981468988066914
273 | 3.8 3.87 0 -0.001019611949193676 0.009476900111656059 0.8423515656559675 -17.978852974057 99.76896458829908
274 |
275 | mat-sci-03
276 |
277 |
--------------------------------------------------------------------------------
/examples/skf/O-O.skf:
--------------------------------------------------------------------------------
1 | 0.05 240
2 | 0.0000 -0.3382 -0.8726 0.0000 0.0000 0.5084 0.5084 0.00 4.00 2.00
3 | 16.01 8*0.0 3.0 10*0.0
4 | 20*0.0
5 | 20*0.0
6 | 20*0.0
7 | 20*0.0
8 | 20*0.0
9 | 20*0.0
10 | 20*0.0
11 | 20*0.0
12 | 20*0.0
13 | 5*0.0 -0.94653550 -2.21885700 0.00000000 -0.01997294 -1.67075600 5*0.0 0.64303040 0.86989950 0.00000000 0.23314860 0.86324720
14 | 5*0.0 -0.71649950 -2.09254900 0.00000000 -0.16378080 -1.60270200 5*0.0 0.58497910 0.84661620 0.00000000 0.26091980 0.84766030
15 | 5*0.0 -0.50692870 -1.96909000 0.00000000 -0.30011310 -1.55608900 5*0.0 0.52625850 0.82235670 0.00000000 0.28808050 0.83239660
16 | 5*0.0 -0.31828030 -1.84918000 0.00000000 -0.42581810 -1.52376000 5*0.0 0.46753630 0.79727660 0.00000000 0.31424430 0.81730410
17 | 5*0.0 -0.15096110 -1.73358900 0.00000000 -0.53886620 -1.50025900 5*0.0 0.40944260 0.77158520 0.00000000 0.33909570 0.80226430
18 | 5*0.0 -0.00349995 -1.62301800 0.00000000 -0.63856120 -1.48163200 5*0.0 0.35237960 0.74549590 0.00000000 0.36242940 0.78719130
19 | 5*0.0 0.12468240 -1.51779900 0.00000000 -0.72457370 -1.46494400 5*0.0 0.29679840 0.71920510 0.00000000 0.38405400 0.77201240
20 | 5*0.0 0.23503680 -1.41786300 0.00000000 -0.79700360 -1.44774300 5*0.0 0.24307910 0.69271570 0.00000000 0.40372540 0.75648550
21 | 5*0.0 0.32893720 -1.32332300 0.00000000 -0.85641000 -1.42874000 5*0.0 0.19150420 0.66626720 0.00000000 0.42137080 0.74064140
22 | 5*0.0 0.40790770 -1.23429600 0.00000000 -0.90377840 -1.40727900 5*0.0 0.14225310 0.63999440 0.00000000 0.43696660 0.72446040
23 | 5*0.0 0.47318440 -1.15041600 0.00000000 -0.93975870 -1.38253200 5*0.0 0.09561507 0.61387520 0.00000000 0.45035150 0.70776680
24 | 5*0.0 0.52671140 -1.07184700 0.00000000 -0.96584320 -1.35488900 5*0.0 0.05154222 0.58815440 0.00000000 0.46168970 0.69072810
25 | 5*0.0 0.56947550 -0.99817490 0.00000000 -0.98279580 -1.32409400 5*0.0 0.01023862 0.56278900 0.00000000 0.47089060 0.67322090
26 | 5*0.0 0.60265170 -0.92925630 0.00000000 -0.99161090 -1.29042000 5*0.0 -0.02823719 0.53792140 0.00000000 0.47802020 0.65531570
27 | 5*0.0 0.62780770 -0.86486070 0.00000000 -0.99352210 -1.25430900 5*0.0 -0.06394543 0.51356250 0.00000000 0.48317680 0.63703440
28 | 5*0.0 0.64578240 -0.80478520 0.00000000 -0.98937950 -1.21612700 5*0.0 -0.09687720 0.48978250 0.00000000 0.48644760 0.61843720
29 | 5*0.0 0.65765170 -0.74879930 0.00000000 -0.98011400 -1.17631700 5*0.0 -0.12709460 0.46664630 0.00000000 0.48795320 0.59960090
30 | 5*0.0 0.66418130 -0.69657440 0.00000000 -0.96640230 -1.13511600 5*0.0 -0.15458110 0.44412330 0.00000000 0.48772630 0.58050530
31 | 5*0.0 0.66608090 -0.64794430 0.00000000 -0.94897130 -1.09297100 5*0.0 -0.17941830 0.42230790 0.00000000 0.48591370 0.56126470
32 | 5*0.0 0.66418970 -0.60265060 0.00000000 -0.92855350 -1.05025600 5*0.0 -0.20172230 0.40114960 0.00000000 0.48262800 0.54190390
33 | 5*0.0 0.65901410 -0.56050040 0.00000000 -0.90566050 -1.00728300 5*0.0 -0.22156490 0.38071350 0.00000000 0.47799290 0.52251420
34 | 5*0.0 0.65118100 -0.52130420 0.00000000 -0.88087010 -0.96440650 5*0.0 -0.23909000 0.36101600 0.00000000 0.47215600 0.50317510
35 | 5*0.0 0.64104130 -0.48480570 0.00000000 -0.85453850 -0.92176290 5*0.0 -0.25433710 0.34199630 0.00000000 0.46516960 0.48387880
36 | 5*0.0 0.62899990 -0.45087070 0.00000000 -0.82706580 -0.87962750 5*0.0 -0.26743840 0.32372120 0.00000000 0.45718020 0.46472520
37 | 5*0.0 0.61543490 -0.41929440 0.00000000 -0.79879480 -0.83817610 5*0.0 -0.27850880 0.30615070 0.00000000 0.44829310 0.44575370
38 | 5*0.0 0.60070900 -0.38996390 0.00000000 -0.77006900 -0.79764630 5*0.0 -0.28771330 0.28933830 0.00000000 0.43866270 0.42706070
39 | 5*0.0 0.58500560 -0.36265750 0.00000000 -0.74106370 -0.75805710 5*0.0 -0.29509960 0.27319490 0.00000000 0.42832220 0.40861860
40 | 5*0.0 0.56855070 -0.33726650 0.00000000 -0.71199960 -0.71955440 5*0.0 -0.30080530 0.25775310 0.00000000 0.41739910 0.39050370
41 | 5*0.0 0.55165080 -0.31366580 0.00000000 -0.68312910 -0.68228590 5*0.0 -0.30500820 0.24300890 0.00000000 0.40602800 0.37278120
42 | 5*0.0 0.53428510 -0.29168180 0.00000000 -0.65446510 -0.64616200 5*0.0 -0.30767720 0.22889780 0.00000000 0.39418740 0.35539780
43 | 5*0.0 0.51676080 -0.27126490 0.00000000 -0.62625930 -0.61138900 5*0.0 -0.30907430 0.21547880 0.00000000 0.38207990 0.33848290
44 | 5*0.0 0.49904910 -0.25226270 0.00000000 -0.59850680 -0.57786920 5*0.0 -0.30917640 0.20268570 0.00000000 0.36968400 0.32198340
45 | 5*0.0 0.48141310 -0.23457340 0.00000000 -0.57139160 -0.54571020 5*0.0 -0.30820330 0.19049120 0.00000000 0.35714190 0.30596310
46 | 5*0.0 0.46385080 -0.21813870 0.00000000 -0.54493480 -0.51489520 5*0.0 -0.30620190 0.17892850 0.00000000 0.34449790 0.29043940
47 | 5*0.0 0.44645380 -0.20283670 0.00000000 -0.51919270 -0.48540610 5*0.0 -0.30327650 0.16793190 0.00000000 0.33180600 0.27541020
48 | 5*0.0 0.42923750 -0.18859210 0.00000000 -0.49417510 -0.45719830 5*0.0 -0.29946810 0.15749110 0.00000000 0.31908610 0.26086360
49 | 5*0.0 0.41233650 -0.17535890 0.00000000 -0.46997710 -0.43033840 5*0.0 -0.29496730 0.14762170 0.00000000 0.30646750 0.24686890
50 | 5*0.0 0.39572160 -0.16302020 0.00000000 -0.44655920 -0.40471010 5*0.0 -0.28975540 0.13824370 0.00000000 0.29390970 0.23335900
51 | 5*0.0 0.37949240 -0.15155920 0.00000000 -0.42399100 -0.38036990 5*0.0 -0.28400680 0.12939850 0.00000000 0.28153240 0.22040210
52 | 5*0.0 0.36362650 -0.14088560 0.00000000 -0.40223840 -0.35722480 5*0.0 -0.27772740 0.12102600 0.00000000 0.26931430 0.20795030
53 | 5*0.0 0.34816010 -0.13094780 0.00000000 -0.38131340 -0.33525660 5*0.0 -0.27101140 0.11311520 0.00000000 0.25730550 0.19601550
54 | 5*0.0 0.33310780 -0.12170500 0.00000000 -0.36121420 -0.31443020 5*0.0 -0.26391990 0.10565490 0.00000000 0.24553200 0.18459250
55 | 5*0.0 0.31848620 -0.11310150 0.00000000 -0.34193360 -0.29470560 5*0.0 -0.25651800 0.09862003 0.00000000 0.23401840 0.17367440
56 | 5*0.0 0.30430620 -0.10509510 0.00000000 -0.32346370 -0.27604670 5*0.0 -0.24886920 0.09199556 0.00000000 0.22279020 0.16325700
57 | 5*0.0 0.29056730 -0.09763344 0.00000000 -0.30578240 -0.25839710 5*0.0 -0.24101230 0.08574394 0.00000000 0.21184910 0.15331630
58 | 5*0.0 0.27727560 -0.09070363 0.00000000 -0.28888420 -0.24173920 5*0.0 -0.23301210 0.07988421 0.00000000 0.20122960 0.14386240
59 | 5*0.0 0.26443810 -0.08424430 0.00000000 -0.27274830 -0.22601880 5*0.0 -0.22491710 0.07436432 0.00000000 0.19093600 0.13487220
60 | 5*0.0 0.25206380 -0.07824080 0.00000000 -0.25736690 -0.21121400 5*0.0 -0.21678600 0.06919258 0.00000000 0.18099390 0.12634830
61 | 5*0.0 0.24010420 -0.07264743 0.00000000 -0.24268720 -0.19724160 5*0.0 -0.20859100 0.06432804 0.00000000 0.17136210 0.11824290
62 | 5*0.0 0.22860350 -0.06744830 0.00000000 -0.22872160 -0.18410660 5*0.0 -0.20043980 0.05977700 0.00000000 0.16209640 0.11057850
63 | 5*0.0 0.21753080 -0.06260314 0.00000000 -0.21542960 -0.17174430 5*0.0 -0.19232880 0.05550330 0.00000000 0.15317250 0.10332060
64 | 5*0.0 0.20688250 -0.05810168 0.00000000 -0.20279400 -0.16012670 5*0.0 -0.18429000 0.05150991 0.00000000 0.14459720 0.09646144
65 | 5*0.0 0.19664250 -0.05390964 0.00000000 -0.19078510 -0.14920680 5*0.0 -0.17633960 0.04776940 0.00000000 0.13636170 0.08997965
66 | 5*0.0 0.18682520 -0.05001484 0.00000000 -0.17939560 -0.13896740 5*0.0 -0.16852910 0.04427927 0.00000000 0.12848330 0.08387361
67 | 5*0.0 0.17739930 -0.04638577 0.00000000 -0.16858700 -0.12935550 5*0.0 -0.16085280 0.04101142 0.00000000 0.12094020 0.07811564
68 | 5*0.0 0.16836780 -0.04301354 0.00000000 -0.15834580 -0.12034840 5*0.0 -0.15334120 0.03796388 0.00000000 0.11373720 0.07269774
69 | 5*0.0 0.15971880 -0.03987797 0.00000000 -0.14864830 -0.11191390 5*0.0 -0.14601100 0.03512334 0.00000000 0.10687010 0.06760643
70 | 5*0.0 0.15142540 -0.03696201 0.00000000 -0.13946230 -0.10400870 5*0.0 -0.13884890 0.03247433 0.00000000 0.10031610 0.06281680
71 | 5*0.0 0.14350170 -0.03425128 0.00000000 -0.13078000 -0.09661846 5*0.0 -0.13190100 0.03000720 0.00000000 0.09408862 0.05832690
72 | 5*0.0 0.13592070 -0.03172924 0.00000000 -0.12257030 -0.08970484 5*0.0 -0.12515490 0.02770831 0.00000000 0.08816717 0.05411504
73 | 5*0.0 0.12867900 -0.02938714 0.00000000 -0.11481730 -0.08324621 5*0.0 -0.11862620 0.02557269 0.00000000 0.08254926 0.05017163
74 | 5*0.0 0.12176860 -0.02721042 0.00000000 -0.10750130 -0.07721704 5*0.0 -0.11232510 0.02358748 0.00000000 0.07722793 0.04648382
75 | 5*0.0 0.11516370 -0.02518835 0.00000000 -0.10059410 -0.07158383 5*0.0 -0.10623370 0.02174295 0.00000000 0.07218154 0.04303151
76 | 5*0.0 0.10885920 -0.02330679 0.00000000 -0.09407914 -0.06632595 5*0.0 -0.10036510 0.02002743 0.00000000 0.06740622 0.03980500
77 | 5*0.0 0.10285410 -0.02156451 0.00000000 -0.08794425 -0.06142771 5*0.0 -0.09472740 0.01844196 0.00000000 0.06289775 0.03679611
78 | 5*0.0 0.09713224 -0.01994179 0.00000000 -0.08216626 -0.05686238 5*0.0 -0.08932099 0.01696720 0.00000000 0.05864442 0.03399067
79 | 5*0.0 0.09168977 -0.01843969 0.00000000 -0.07673249 -0.05261488 5*0.0 -0.08414652 0.01560554 0.00000000 0.05463868 0.03137957
80 | 5*0.0 0.08649677 -0.01704226 0.00000000 -0.07161416 -0.04865384 5*0.0 -0.07918053 0.01434113 0.00000000 0.05085753 0.02894380
81 | 5*0.0 0.08156093 -0.01574687 0.00000000 -0.06680512 -0.04497128 5*0.0 -0.07444130 0.01317277 0.00000000 0.04730334 0.02668007
82 | 5*0.0 0.07687398 -0.01454554 0.00000000 -0.06229020 -0.04155030 5*0.0 -0.06992785 0.01209322 0.00000000 0.04396731 0.02457867
83 | 5*0.0 0.07241663 -0.01343022 0.00000000 -0.05804892 -0.03836925 5*0.0 -0.06562410 0.01109463 0.00000000 0.04083309 0.02262619
84 | 5*0.0 0.06818344 -0.01239785 0.00000000 -0.05406910 -0.03541484 5*0.0 -0.06152827 0.01017403 0.00000000 0.03789293 0.02081459
85 | 5*0.0 0.06415899 -0.01143896 0.00000000 -0.05033301 -0.03266904 5*0.0 -0.05763002 0.00932270 0.00000000 0.03513422 0.01913308
86 | 5*0.0 0.06034781 -0.01055168 0.00000000 -0.04683455 -0.03012486 5*0.0 -0.05393920 0.00853882 0.00000000 0.03255621 0.01757796
87 | 5*0.0 0.05673436 -0.00973088 0.00000000 -0.04355752 -0.02776583 5*0.0 -0.05044019 0.00781764 0.00000000 0.03014482 0.01613857
88 | 5*0.0 0.05330391 -0.00896778 0.00000000 -0.04048571 -0.02557632 5*0.0 -0.04712318 0.00715047 0.00000000 0.02788877 0.01480563
89 | 5*0.0 0.05006075 -0.00826419 0.00000000 -0.03761465 -0.02355101 5*0.0 -0.04399169 0.00653923 0.00000000 0.02578548 0.01357551
90 | 5*0.0 0.04698027 -0.00761057 0.00000000 -0.03492405 -0.02167110 5*0.0 -0.04102357 0.00597461 0.00000000 0.02381806 0.01243654
91 | 5*0.0 0.04407711 -0.00700795 0.00000000 -0.03241487 -0.01993647 5*0.0 -0.03823590 0.00545767 0.00000000 0.02199111 0.01138900
92 | 5*0.0 0.04132494 -0.00644927 0.00000000 -0.03006712 -0.01832908 5*0.0 -0.03560194 0.00498120 0.00000000 0.02028634 0.01042113
93 | 5*0.0 0.03872781 -0.00593347 0.00000000 -0.02787709 -0.01684484 5*0.0 -0.03312637 0.00454488 0.00000000 0.01870252 0.00953052
94 | 5*0.0 0.03627067 -0.00545602 0.00000000 -0.02583129 -0.01547172 5*0.0 -0.03079480 0.00414351 0.00000000 0.01722839 0.00870948
95 | 5*0.0 0.03395093 -0.00501520 0.00000000 -0.02392324 -0.01420362 5*0.0 -0.02860407 0.00377574 0.00000000 0.01585913 0.00795404
96 | 5*0.0 0.03176176 -0.00460841 0.00000000 -0.02214451 -0.01303303 5*0.0 -0.02654747 0.00343900 0.00000000 0.01458819 0.00725938
97 | 5*0.0 0.02969941 -0.00423241 0.00000000 -0.02048822 -0.01195380 5*0.0 -0.02462239 0.00313021 0.00000000 0.01341115 0.00662184
98 | 5*0.0 0.02775496 -0.00388543 0.00000000 -0.01894556 -0.01095833 5*0.0 -0.02281853 0.00284762 0.00000000 0.01232027 0.00603634
99 | 5*0.0 0.02592398 -0.00356552 0.00000000 -0.01751017 -0.01004111 5*0.0 -0.02113123 0.00258921 0.00000000 0.01131070 0.00549933
100 | 5*0.0 0.02419990 -0.00327088 0.00000000 -0.01617497 -0.00919604 5*0.0 -0.01955304 0.00235322 0.00000000 0.01037646 0.00500684
101 | 5*0.0 0.02257573 -0.00299850 0.00000000 -0.01493268 -0.00841725 5*0.0 -0.01807780 0.00213691 0.00000000 0.00951228 0.00455528
102 | 5*0.0 0.02105119 -0.00274850 0.00000000 -0.01377978 -0.00770150 5*0.0 -0.01670314 0.00194019 0.00000000 0.00871511 0.00414235
103 | 5*0.0 0.01961724 -0.00251743 0.00000000 -0.01270856 -0.00704272 5*0.0 -0.01542117 0.00176006 0.00000000 0.00797919 0.00376441
104 | 5*0.0 0.01827095 -0.00230517 0.00000000 -0.01171462 -0.00643728 5*0.0 -0.01422721 0.00159604 0.00000000 0.00730062 0.00341890
105 | 5*0.0 0.01700629 -0.00210976 0.00000000 -0.01079225 -0.00588066 5*0.0 -0.01311519 0.00144645 0.00000000 0.00667492 0.00310301
106 | 5*0.0 0.01582089 -0.00192997 0.00000000 -0.00993760 -0.00536980 5*0.0 -0.01208229 0.00131016 0.00000000 0.00609926 0.00281481
107 | 5*0.0 0.01470853 -0.00176456 0.00000000 -0.00914523 -0.00490054 5*0.0 -0.01112192 0.00118592 0.00000000 0.00556922 0.00255164
108 | 5*0.0 0.01366836 -0.00161298 0.00000000 -0.00841246 -0.00447068 5*0.0 -0.01023203 0.00107325 0.00000000 0.00508263 0.00231202
109 | 5*0.0 0.01269236 -0.00147324 0.00000000 -0.00773335 -0.00407589 5*0.0 -0.00940537 0.00097037 0.00000000 0.00463494 0.00209336
110 | 5*0.0 0.01177959 -0.00134529 0.00000000 -0.00710544 -0.00371423 5*0.0 -0.00863950 0.00087710 0.00000000 0.00422402 0.00189428
111 | 5*0.0 0.01092625 -0.00122773 0.00000000 -0.00652510 -0.00338305 5*0.0 -0.00793081 0.00079230 0.00000000 0.00384722 0.00171319
112 | 5*0.0 0.01012956 -0.00111998 0.00000000 -0.00598930 -0.00308010 5*0.0 -0.00727594 0.00071537 0.00000000 0.00350213 0.00154863
113 | 5*0.0 0.00938479 -0.00102115 0.00000000 -0.00549426 -0.00280270 5*0.0 -0.00667006 0.00064553 0.00000000 0.00318576 0.00139896
114 | 5*0.0 0.00868953 -0.00093061 0.00000000 -0.00503734 -0.00254897 5*0.0 -0.00611038 0.00058220 0.00000000 0.00289611 0.00126300
115 | 5*0.0 0.00803984 -0.00084755 0.00000000 -0.00461544 -0.00231673 5*0.0 -0.00559294 0.00052471 0.00000000 0.00263075 0.00113942
116 | 5*0.0 0.00743630 -0.00077178 0.00000000 -0.00422743 -0.00210514 5*0.0 -0.00511742 0.00047284 0.00000000 0.00238888 0.00102763
117 | 5*0.0 0.00687209 -0.00070219 0.00000000 -0.00386915 -0.00191142 5*0.0 -0.00467782 0.00042569 0.00000000 0.00216732 0.00092601
118 | 5*0.0 0.00634784 -0.00063872 0.00000000 -0.00353970 -0.00173489 5*0.0 -0.00427382 0.00038315 0.00000000 0.00196539 0.00083409
119 | 5*0.0 0.00585933 -0.00058054 0.00000000 -0.00323621 -0.00157368 5*0.0 -0.00390168 0.00034457 0.00000000 0.00178099 0.00075078
120 | 5*0.0 0.00540596 -0.00052748 0.00000000 -0.00295745 -0.00142693 5*0.0 -0.00356021 0.00030979 0.00000000 0.00161316 0.00067551
121 | 5*0.0 0.00498444 -0.00047904 0.00000000 -0.00270114 -0.00129315 5*0.0 -0.00324629 0.00027836 0.00000000 0.00146016 0.00060741
122 | 5*0.0 0.00459257 -0.00043483 0.00000000 -0.00246551 -0.00117121 5*0.0 -0.00295776 0.00024999 0.00000000 0.00132073 0.00054580
123 | 5*0.0 0.00422892 -0.00039443 0.00000000 -0.00224919 -0.00106023 5*0.0 -0.00269318 0.00022435 0.00000000 0.00119391 0.00049017
124 | 5*0.0 0.00389199 -0.00035767 0.00000000 -0.00205082 -0.00095933 5*0.0 -0.00245084 0.00020128 0.00000000 0.00107868 0.00043999
125 | 5*0.0 0.00357954 -0.00032414 0.00000000 -0.00186883 -0.00086755 5*0.0 -0.00222879 0.00018046 0.00000000 0.00097396 0.00039470
126 | 5*0.0 0.00329012 -0.00029358 0.00000000 -0.00170203 -0.00078414 5*0.0 -0.00202553 0.00016171 0.00000000 0.00087885 0.00035387
127 | 5*0.0 0.00302250 -0.00026579 0.00000000 -0.00154933 -0.00070843 5*0.0 -0.00183982 0.00014485 0.00000000 0.00079264 0.00031712
128 | 5*0.0 0.00277478 -0.00024049 0.00000000 -0.00140948 -0.00063966 5*0.0 -0.00166994 0.00012966 0.00000000 0.00071440 0.00028401
129 | 5*0.0 0.00254576 -0.00021749 0.00000000 -0.00128152 -0.00057727 5*0.0 -0.00151476 0.00011601 0.00000000 0.00064350 0.00025420
130 | 5*0.0 0.00233386 -0.00019655 0.00000000 -0.00116439 -0.00052061 5*0.0 -0.00137291 0.00010372 0.00000000 0.00057920 0.00022736
131 | 5*0.0 0.00213881 -0.00017759 0.00000000 -0.00105758 -0.00046938 5*0.0 -0.00124391 0.00009272 0.00000000 0.00052115 0.00020330
132 | 5*0.0 0.00195848 -0.00016032 0.00000000 -0.00095985 -0.00042288 5*0.0 -0.00112609 0.00008281 0.00000000 0.00046855 0.00018164
133 | 5*0.0 0.00179229 -0.00014467 0.00000000 -0.00087070 -0.00038081 5*0.0 -0.00101880 0.00007393 0.00000000 0.00042102 0.00016221
134 | 5*0.0 0.00163937 -0.00013050 0.00000000 -0.00078942 -0.00034277 5*0.0 -0.00092128 0.00006598 0.00000000 0.00037813 0.00014479
135 | 5*0.0 0.00149845 -0.00011763 0.00000000 -0.00071530 -0.00030835 5*0.0 -0.00083250 0.00005884 0.00000000 0.00033938 0.00012916
136 | 5*0.0 0.00136877 -0.00010598 0.00000000 -0.00064774 -0.00027723 5*0.0 -0.00075180 0.00005244 0.00000000 0.00030442 0.00011514
137 | 5*0.0 0.00124944 -0.00009540 0.00000000 -0.00058619 -0.00024911 5*0.0 -0.00067847 0.00004671 0.00000000 0.00027289 0.00010259
138 | 5*0.0 0.00114015 -0.00008588 0.00000000 -0.00053031 -0.00022378 5*0.0 -0.00061209 0.00004160 0.00000000 0.00024455 0.00009138
139 | 5*0.0 0.00103947 -0.00007723 0.00000000 -0.00047937 -0.00020086 5*0.0 -0.00055170 0.00003702 0.00000000 0.00021896 0.00008133
140 | 5*0.0 0.00094713 -0.00006943 0.00000000 -0.00043308 -0.00018020 5*0.0 -0.00049697 0.00003293 0.00000000 0.00019594 0.00007234
141 | 5*0.0 0.00086238 -0.00006238 0.00000000 -0.00039102 -0.00016156 5*0.0 -0.00044737 0.00002927 0.00000000 0.00017523 0.00006431
142 | 5*0.0 0.00078477 -0.00005600 0.00000000 -0.00035285 -0.00014479 5*0.0 -0.00040251 0.00002600 0.00000000 0.00015663 0.00005715
143 | 5*0.0 0.00071374 -0.00005025 0.00000000 -0.00031825 -0.00012969 5*0.0 -0.00036195 0.00002309 0.00000000 0.00013992 0.00005075
144 | 5*0.0 0.00064868 -0.00004507 0.00000000 -0.00028687 -0.00011610 5*0.0 -0.00032524 0.00002049 0.00000000 0.00012492 0.00004505
145 | 5*0.0 0.00058916 -0.00004040 0.00000000 -0.00025844 -0.00010388 5*0.0 -0.00029208 0.00001818 0.00000000 0.00011146 0.00003996
146 | 5*0.0 0.00053468 -0.00003618 0.00000000 -0.00023267 -0.00009289 5*0.0 -0.00026211 0.00001611 0.00000000 0.00009939 0.00003542
147 | 5*0.0 0.00048504 -0.00003241 0.00000000 -0.00020940 -0.00008303 5*0.0 -0.00023512 0.00001428 0.00000000 0.00008859 0.00003139
148 | 5*0.0 0.00043961 -0.00002899 0.00000000 -0.00018825 -0.00007416 5*0.0 -0.00021074 0.00001264 0.00000000 0.00007889 0.00002780
149 | 5*0.0 0.00039822 -0.00002593 0.00000000 -0.00016917 -0.00006620 5*0.0 -0.00018879 0.00001119 0.00000000 0.00007023 0.00002460
150 | 5*0.0 0.00036047 -0.00002317 0.00000000 -0.00015191 -0.00005906 5*0.0 -0.00016901 0.00000990 0.00000000 0.00006248 0.00002176
151 | 5*0.0 0.00032608 -0.00002069 0.00000000 -0.00013632 -0.00005266 5*0.0 -0.00015120 0.00000875 0.00000000 0.00005554 0.00001924
152 | 5*0.0 0.00029483 -0.00001848 0.00000000 -0.00012228 -0.00004693 5*0.0 -0.00013521 0.00000773 0.00000000 0.00004936 0.00001700
153 | 5*0.0 0.00026638 -0.00001649 0.00000000 -0.00010962 -0.00004180 5*0.0 -0.00012083 0.00000683 0.00000000 0.00004384 0.00001501
154 | 5*0.0 0.00024049 -0.00001470 0.00000000 -0.00009818 -0.00003721 5*0.0 -0.00010789 0.00000603 0.00000000 0.00003890 0.00001325
155 | 5*0.0 0.00021698 -0.00001310 0.00000000 -0.00008790 -0.00003310 5*0.0 -0.00009629 0.00000532 0.00000000 0.00003450 0.00001169
156 | 5*0.0 0.00019567 -0.00001167 0.00000000 -0.00007864 -0.00002943 5*0.0 -0.00008589 0.00000469 0.00000000 0.00003059 0.00001030
157 | 5*0.0 0.00017633 -0.00001039 0.00000000 -0.00007033 -0.00002615 5*0.0 -0.00007656 0.00000413 0.00000000 0.00002710 0.00000908
158 | 5*0.0 0.00015878 -0.00000924 0.00000000 -0.00006284 -0.00002322 5*0.0 -0.00006820 0.00000364 0.00000000 0.00002399 0.00000799
159 | 5*0.0 0.00014288 -0.00000821 0.00000000 -0.00005611 -0.00002061 5*0.0 -0.00006071 0.00000320 0.00000000 0.00002123 0.00000703
160 | 5*0.0 0.00012851 -0.00000730 0.00000000 -0.00005008 -0.00001828 5*0.0 -0.00005402 0.00000282 0.00000000 0.00001878 0.00000619
161 | 5*0.0 0.00011550 -0.00000648 0.00000000 -0.00004467 -0.00001621 5*0.0 -0.00004803 0.00000248 0.00000000 0.00001659 0.00000544
162 | 5*0.0 0.00010373 -0.00000575 0.00000000 -0.00003982 -0.00001436 5*0.0 -0.00004268 0.00000218 0.00000000 0.00001466 0.00000478
163 | 5*0.0 0.00009313 -0.00000510 0.00000000 -0.00003548 -0.00001272 5*0.0 -0.00003791 0.00000191 0.00000000 0.00001294 0.00000420
164 | 5*0.0 0.00008352 -0.00000452 0.00000000 -0.00003158 -0.00001126 5*0.0 -0.00003364 0.00000168 0.00000000 0.00001142 0.00000368
165 | 5*0.0 0.00007487 -0.00000401 0.00000000 -0.00002810 -0.00000996 5*0.0 -0.00002984 0.00000147 0.00000000 0.00001007 0.00000323
166 | 5*0.0 0.00006706 -0.00000354 0.00000000 -0.00002498 -0.00000880 5*0.0 -0.00002644 0.00000129 0.00000000 0.00000887 0.00000283
167 | 5*0.0 0.00006003 -0.00000314 0.00000000 -0.00002220 -0.00000777 5*0.0 -0.00002342 0.00000113 0.00000000 0.00000781 0.00000248
168 | 5*0.0 0.00005371 -0.00000277 0.00000000 -0.00001972 -0.00000686 5*0.0 -0.00002074 0.00000099 0.00000000 0.00000687 0.00000217
169 | 5*0.0 0.00004801 -0.00000245 0.00000000 -0.00001750 -0.00000606 5*0.0 -0.00001835 0.00000087 0.00000000 0.00000605 0.00000190
170 | 5*0.0 0.00004290 -0.00000216 0.00000000 -0.00001552 -0.00000534 5*0.0 -0.00001622 0.00000076 0.00000000 0.00000532 0.00000166
171 | 5*0.0 0.00003830 -0.00000191 0.00000000 -0.00001376 -0.00000471 5*0.0 -0.00001434 0.00000066 0.00000000 0.00000467 0.00000145
172 | 5*0.0 0.00003417 -0.00000168 0.00000000 -0.00001219 -0.00000415 5*0.0 -0.00001266 0.00000058 0.00000000 0.00000410 0.00000127
173 | 5*0.0 0.00003047 -0.00000148 0.00000000 -0.00001079 -0.00000365 5*0.0 -0.00001117 0.00000050 0.00000000 0.00000360 0.00000111
174 | 5*0.0 0.00002715 -0.00000131 0.00000000 -0.00000954 -0.00000321 5*0.0 -0.00000985 0.00000044 0.00000000 0.00000315 0.00000097
175 | 5*0.0 0.00002417 -0.00000115 0.00000000 -0.00000844 -0.00000282 5*0.0 -0.00000868 0.00000038 0.00000000 0.00000276 0.00000084
176 | 5*0.0 0.00002150 -0.00000101 0.00000000 -0.00000745 -0.00000248 5*0.0 -0.00000765 0.00000033 0.00000000 0.00000242 0.00000073
177 | 5*0.0 0.00001912 -0.00000089 0.00000000 -0.00000658 -0.00000218 5*0.0 -0.00000673 0.00000029 0.00000000 0.00000212 0.00000064
178 | 5*0.0 0.00001699 -0.00000078 0.00000000 -0.00000581 -0.00000191 5*0.0 -0.00000592 0.00000025 0.00000000 0.00000185 0.00000056
179 | 5*0.0 0.00001509 -0.00000069 0.00000000 -0.00000512 -0.00000168 5*0.0 -0.00000521 0.00000022 0.00000000 0.00000162 0.00000048
180 | 5*0.0 0.00001338 -0.00000060 0.00000000 -0.00000451 -0.00000147 5*0.0 -0.00000457 0.00000019 0.00000000 0.00000142 0.00000042
181 | 5*0.0 0.00001187 -0.00000053 0.00000000 -0.00000397 -0.00000129 5*0.0 -0.00000402 0.00000017 0.00000000 0.00000124 0.00000037
182 | 5*0.0 0.00001052 -0.00000046 0.00000000 -0.00000350 -0.00000113 5*0.0 -0.00000352 0.00000014 0.00000000 0.00000108 0.00000032
183 | 5*0.0 0.00000931 -0.00000041 0.00000000 -0.00000307 -0.00000099 5*0.0 -0.00000309 0.00000013 0.00000000 0.00000094 0.00000028
184 | 5*0.0 0.00000824 -0.00000036 0.00000000 -0.00000270 -0.00000086 5*0.0 -0.00000271 0.00000011 0.00000000 0.00000082 0.00000024
185 | 5*0.0 0.00000729 -0.00000031 0.00000000 -0.00000237 -0.00000075 5*0.0 -0.00000237 0.00000009 0.00000000 0.00000071 0.00000021
186 | 5*0.0 0.00000644 -0.00000027 0.00000000 -0.00000208 -0.00000066 5*0.0 -0.00000207 0.00000008 0.00000000 0.00000062 0.00000018
187 | 5*0.0 0.00000568 -0.00000024 0.00000000 -0.00000182 -0.00000057 5*0.0 -0.00000181 0.00000007 0.00000000 0.00000054 0.00000015
188 | 5*0.0 0.00000502 -0.00000021 0.00000000 -0.00000160 -0.00000050 5*0.0 -0.00000159 0.00000006 0.00000000 0.00000047 0.00000013
189 | 5*0.0 0.00000442 -0.00000018 0.00000000 -0.00000140 -0.00000044 5*0.0 -0.00000138 0.00000005 0.00000000 0.00000041 0.00000012
190 | 5*0.0 0.00000390 -0.00000016 0.00000000 -0.00000123 -0.00000038 5*0.0 -0.00000121 0.00000005 0.00000000 0.00000035 0.00000010
191 | 5*0.0 0.00000343 -0.00000014 0.00000000 -0.00000107 -0.00000033 5*0.0 -0.00000105 0.00000004 0.00000000 0.00000031 0.00000009
192 | 5*0.0 0.00000302 -0.00000012 0.00000000 -0.00000094 -0.00000029 5*0.0 -0.00000092 0.00000003 0.00000000 0.00000027 0.00000007
193 | 5*0.0 0.00000265 -0.00000010 0.00000000 -0.00000082 -0.00000025 5*0.0 -0.00000080 0.00000003 0.00000000 0.00000023 0.00000006
194 | 5*0.0 0.00000233 -0.00000009 0.00000000 -0.00000071 -0.00000022 5*0.0 -0.00000070 0.00000003 0.00000000 0.00000020 0.00000006
195 | 5*0.0 0.00000205 -0.00000008 0.00000000 -0.00000062 -0.00000019 5*0.0 -0.00000061 0.00000002 0.00000000 0.00000017 0.00000005
196 | 5*0.0 0.00000179 -0.00000007 0.00000000 -0.00000054 -0.00000016 5*0.0 -0.00000053 0.00000002 0.00000000 0.00000015 0.00000004
197 | 5*0.0 0.00000157 -0.00000006 0.00000000 -0.00000047 -0.00000014 5*0.0 -0.00000046 0.00000002 0.00000000 0.00000013 0.00000004
198 | 5*0.0 0.00000138 -0.00000005 0.00000000 -0.00000041 -0.00000012 5*0.0 -0.00000040 0.00000001 0.00000000 0.00000011 0.00000003
199 | 5*0.0 0.00000120 -0.00000004 0.00000000 -0.00000036 -0.00000011 5*0.0 -0.00000034 0.00000001 0.00000000 0.00000010 0.00000003
200 | 5*0.0 0.00000105 -0.00000004 0.00000000 -0.00000031 -0.00000009 5*0.0 -0.00000030 0.00000001 0.00000000 0.00000008 0.00000002
201 | 5*0.0 0.00000092 -0.00000003 0.00000000 -0.00000027 -0.00000008 5*0.0 -0.00000026 0.00000001 0.00000000 0.00000007 0.00000002
202 | 5*0.0 0.00000080 -0.00000003 0.00000000 -0.00000023 -0.00000007 5*0.0 -0.00000022 0.00000001 0.00000000 0.00000006 0.00000002
203 | 5*0.0 0.00000070 -0.00000002 0.00000000 -0.00000020 -0.00000006 5*0.0 -0.00000019 0.00000001 0.00000000 0.00000005 0.00000001
204 | 5*0.0 0.00000061 -0.00000002 0.00000000 -0.00000018 -0.00000005 5*0.0 -0.00000017 0.00000001 0.00000000 0.00000005 0.00000001
205 | 5*0.0 0.00000053 -0.00000002 0.00000000 -0.00000015 -0.00000004 5*0.0 -0.00000014 0.00000000 0.00000000 0.00000004 0.00000001
206 | 5*0.0 0.00000046 -0.00000002 0.00000000 -0.00000013 -0.00000004 5*0.0 -0.00000012 0.00000000 0.00000000 0.00000003 0.00000001
207 | 5*0.0 0.00000040 -0.00000001 0.00000000 -0.00000011 -0.00000003 5*0.0 -0.00000011 0.00000000 0.00000000 0.00000003 0.00000001
208 | 5*0.0 0.00000035 -0.00000001 0.00000000 -0.00000010 -0.00000003 5*0.0 -0.00000009 0.00000000 0.00000000 0.00000002 0.00000001
209 | 5*0.0 0.00000030 -0.00000001 0.00000000 -0.00000008 -0.00000002 5*0.0 -0.00000008 0.00000000 0.00000000 0.00000002 0.00000001
210 | 5*0.0 0.00000026 -0.00000001 0.00000000 -0.00000007 -0.00000002 5*0.0 -0.00000007 0.00000000 0.00000000 0.00000002 0.00000000
211 | 5*0.0 0.00000023 -0.00000001 0.00000000 -0.00000006 -0.00000002 5*0.0 -0.00000006 0.00000000 0.00000000 0.00000002 0.00000000
212 | 5*0.0 0.00000020 -0.00000001 0.00000000 -0.00000005 -0.00000002 5*0.0 -0.00000005 0.00000000 0.00000000 0.00000001 0.00000000
213 | 5*0.0 0.00000017 -0.00000001 0.00000000 -0.00000005 -0.00000001 5*0.0 -0.00000004 0.00000000 0.00000000 0.00000001 0.00000000
214 | 5*0.0 0.00000015 -0.00000000 0.00000000 -0.00000004 -0.00000001 5*0.0 -0.00000004 0.00000000 0.00000000 0.00000001 0.00000000
215 | 5*0.0 0.00000013 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
216 | 5*0.0 0.00000011 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000003 0.00000000 0.00000000 0.00000001 0.00000000
217 | 5*0.0 0.00000009 -0.00000000 0.00000000 -0.00000003 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
218 | 5*0.0 0.00000008 -0.00000000 0.00000000 -0.00000002 -0.00000001 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000001 0.00000000
219 | 5*0.0 0.00000007 -0.00000000 0.00000000 -0.00000002 -0.00000000 5*0.0 -0.00000002 0.00000000 0.00000000 0.00000000 0.00000000
220 | 5*0.0 0.00000006 -0.00000000 0.00000000 -0.00000002 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
221 | 5*0.0 0.00000005 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
222 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
223 | 5*0.0 0.00000004 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
224 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
225 | 5*0.0 0.00000003 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
226 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000001 0.00000000 0.00000000 0.00000000 0.00000000
227 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000001 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
228 | 5*0.0 0.00000002 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
229 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
230 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
231 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
232 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
233 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
234 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
235 | 5*0.0 0.00000001 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
236 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
237 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
238 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
239 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
240 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
241 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
242 | 5*0.0 0.00000000 -0.00000000 0.00000000 -0.00000000 -0.00000000 5*0.0 -0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
243 | 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5*0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
244 |
245 |
246 | Spline
247 | 23 3.55
248 | 1.902123141901259 3.246245867331791 -0.4158229792168582
249 | 1.3 1.4 1.75148488733339 -4.122486448589871 3.920738438018564 0.7557948771811932
250 | 1.4 1.5 1.37919942173177 -3.315664914670724 4.147476901172921 -3.778974385906665
251 | 1.5 1.6 1.08532872489052 -2.599538766013339 3.013784585400921 -1.889125233553999
252 | 1.6 1.7 0.853623568909641 -2.053455605939775 2.447047015334721 -1.820368849870964
253 | 1.7 1.8 0.67092810961914 -1.61865726836896 1.900936360373432 -1.355009646962172
254 | 1.8 1.9 0.526716736739016 -1.279120285703139 1.49443346628478 -1.07901343228406
255 | 1.9 2 0.412670029399266 -1.012603995414705 1.170729436599563 -0.8271072039010866
256 | 2 2.1 0.32228981701989 -0.8032713242118246 0.9225972754292364 -0.6353118021088832
257 | 2.1 2.2 0.250553345550891 -0.6378112231892437 0.7320037347965713 -0.4857115076672956
258 | 2.2 2.3 0.193606549072265 -0.5059818214599481 0.5862902824963825 -0.3748429972181405
259 | 2.3 2.4 0.148496426754016 -0.3999690548772162 0.4738373833309407 -0.2953699234627563
260 | 2.4 2.5 0.112942525176141 -0.3140626759149107 0.3852264062921137 -0.2409956389305919
261 | 2.5 2.6 0.08514752600864046 -0.2442472638244056 0.3129277146129361 -0.2051377208138041
262 | 2.6 2.7 0.06364693905151544 -0.1878158525262325 0.2513863983687948 -0.1813171478146021
263 | 2.7 2.8 0.04719790063476553 -0.1429780872869115 0.1969912540244142 -0.1629270679280242
264 | 2.8 2.9 0.03470707737839054 -0.1084676485198695 0.1481131336460071 -0.1437685504731091
265 | 2.9 3 0.02519767531239054 -0.08315807830486135 0.1049825685040743 -0.1161388101795934
266 | 3 3.1 0.01781555435676555 -0.06564572890943428 0.07014092545019626 -0.07794255880851722
267 | 3.1 3.2 0.01187444816151556 -0.05395582058365054 0.04675815780764107 -0.006158374586349199
268 | 3.2 3.3 0.006940289306640564 -0.04478894025971279 0.04491064543173631 0.04413812715391649
269 | 3.3 3.4 0.002954639862140577 -0.03448266735874808 0.05815208357791121 0.3093333459707222
270 | 3.4 3.5 0.0003972273080156022 -0.01357225026404414 0.150952087369128 -0.5495231553024678
271 | 3.5 3.55 0 0.0001324725507074157 -0.01390485922161253 0.5163574315989545 -8.207587820660448 47.65204943334098
272 |
273 |
274 | mat-sci-03
275 |
276 |
--------------------------------------------------------------------------------