Added Python version of Zhou04_create_v2.f: create_eam.py and eamDatabase.py in tools/eam_database
This commit is contained in:
610
tools/eam_database/eamDatabase.py
Normal file
610
tools/eam_database/eamDatabase.py
Normal file
@ -0,0 +1,610 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Python version of the code Zhou04_create_v2.f
|
||||
original author: X. W. Zhou, xzhou@sandia.gov
|
||||
based on updates by: Lucas Hale lucas.hale@nist.gov
|
||||
written by: Germain Clavier g.m.g.c.clavier@tue.nl
|
||||
|
||||
This file contains atom attributes for the EAM model and alloy combination. The
|
||||
original file is EAM_code. It is designed to be used with create_eam.py script.
|
||||
To add new contribution, just add new AtType instances.
|
||||
"""
|
||||
|
||||
import math
|
||||
|
||||
class AtType:
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
re,
|
||||
fe,
|
||||
rhoe,
|
||||
rhos,
|
||||
alpha,
|
||||
beta,
|
||||
A,
|
||||
B,
|
||||
cai,
|
||||
ramda,
|
||||
Fi0,
|
||||
Fi1,
|
||||
Fi2,
|
||||
Fi3,
|
||||
Fm0,
|
||||
Fm1,
|
||||
Fm2,
|
||||
Fm3,
|
||||
fnn,
|
||||
Fn,
|
||||
ielement,
|
||||
amass,
|
||||
Fm4,
|
||||
beta1,
|
||||
ramda1,
|
||||
rhol,
|
||||
rhoh,
|
||||
):
|
||||
self.name = name
|
||||
self.re = re
|
||||
self.fe = fe
|
||||
self.rhoe = rhoe
|
||||
self.rhos = rhos
|
||||
self.alpha = alpha
|
||||
self.beta = beta
|
||||
self.A = A
|
||||
self.B = B
|
||||
self.cai = cai
|
||||
self.ramda = ramda
|
||||
self.Fi0 = Fi0
|
||||
self.Fi1 = Fi1
|
||||
self.Fi2 = Fi2
|
||||
self.Fi3 = Fi3
|
||||
self.Fm0 = Fm0
|
||||
self.Fm1 = Fm1
|
||||
self.Fm2 = Fm2
|
||||
self.Fm3 = Fm3
|
||||
self.fnn = fnn
|
||||
self.Fn = Fn
|
||||
self.ielement = ielement
|
||||
self.amass = amass
|
||||
self.Fm4 = Fm4
|
||||
self.beta1 = beta1
|
||||
self.ramda1 = ramda1
|
||||
self.rhol = rhol
|
||||
self.rhoh = rhoh
|
||||
self.blat = math.sqrt(2.0) * self.re
|
||||
self.rhoin = self.rhol * self.rhoe
|
||||
self.rhoout = self.rhoh * self.rhoe
|
||||
|
||||
def __repr__(self):
|
||||
output = """{}:
|
||||
re = {}; fe = {}
|
||||
rhoe = {}; rhos = {};
|
||||
alpha = {}; beta = {};
|
||||
A = {}; B = {}
|
||||
cai = {}; ramda = {}
|
||||
Fi0 = {}; Fi1 = {}; Fi2 = {}; Fi3 = {}
|
||||
Fm0 = {}; Fm1 = {}; Fm2 = {}; Fm3 = {}; Fm4 = {}
|
||||
fnn = {}; Fn = {}
|
||||
ielement = {}; amass = {}
|
||||
beta1 = {}; ramda1 = {}
|
||||
rhol = {}; rhoh = {}
|
||||
blat = {}; rhoin = {}; rhoout = {}"""
|
||||
return output.format(
|
||||
self.name,
|
||||
self.re,
|
||||
self.fe,
|
||||
self.rhoe,
|
||||
self.rhos,
|
||||
self.alpha,
|
||||
self.beta,
|
||||
self.A,
|
||||
self.B,
|
||||
self.cai,
|
||||
self.ramda,
|
||||
self.Fi0,
|
||||
self.Fi1,
|
||||
self.Fi2,
|
||||
self.Fi3,
|
||||
self.Fm0,
|
||||
self.Fm1,
|
||||
self.Fm2,
|
||||
self.Fm3,
|
||||
self.Fm4,
|
||||
self.fnn,
|
||||
self.Fn,
|
||||
self.ielement,
|
||||
self.amass,
|
||||
self.beta1,
|
||||
self.ramda1,
|
||||
self.rhol,
|
||||
self.rhoh,
|
||||
self.blat,
|
||||
self.rhoin,
|
||||
self.rhoout,
|
||||
)
|
||||
|
||||
|
||||
Database = {}
|
||||
Database["Cu"] = AtType(
|
||||
"Cu", # Name
|
||||
2.556162, # re
|
||||
1.554485, # fe
|
||||
21.175871, # rhoe
|
||||
21.175395, # rhos
|
||||
8.127620, # alpha
|
||||
4.334731, # beta
|
||||
0.396620, # A
|
||||
0.548085, # B
|
||||
0.308782, # cai
|
||||
0.756515, # ramda
|
||||
-2.170269, # Fi0
|
||||
-0.263788, # Fi1
|
||||
1.088878, # Fi2
|
||||
-0.817603, # Fi3
|
||||
-2.19, # Fm0
|
||||
0.00, # Fm1
|
||||
0.561830, # Fm2
|
||||
-2.100595, # Fm3
|
||||
0.310490, # fnn
|
||||
-2.186568, # Fn
|
||||
29, # ielement
|
||||
63.546, # amass
|
||||
-2.100595, # Fm4
|
||||
4.334731, # beta1
|
||||
0.756515, # ramda1
|
||||
0.85, # rhol
|
||||
1.15, # rhoh
|
||||
)
|
||||
Database["Ag"] = AtType(
|
||||
"Ag",
|
||||
2.891814,
|
||||
1.106232,
|
||||
14.604100,
|
||||
14.604144,
|
||||
9.132010,
|
||||
4.870405,
|
||||
0.277758,
|
||||
0.419611,
|
||||
0.339710,
|
||||
0.750758,
|
||||
-1.729364,
|
||||
-0.255882,
|
||||
0.912050,
|
||||
-0.561432,
|
||||
-1.75,
|
||||
0.00,
|
||||
0.744561,
|
||||
-1.150650,
|
||||
0.783924,
|
||||
-1.748423,
|
||||
47,
|
||||
107.8682,
|
||||
-1.150650,
|
||||
4.870405,
|
||||
0.750758,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Au"] = AtType(
|
||||
"Au",
|
||||
2.885034,
|
||||
1.529021,
|
||||
19.991632,
|
||||
19.991509,
|
||||
9.516052,
|
||||
5.075228,
|
||||
0.229762,
|
||||
0.356666,
|
||||
0.356570,
|
||||
0.748798,
|
||||
-2.937772,
|
||||
-0.500288,
|
||||
1.601954,
|
||||
-0.835530,
|
||||
-2.98,
|
||||
0.00,
|
||||
1.706587,
|
||||
-1.134778,
|
||||
1.021095,
|
||||
-2.978815,
|
||||
79,
|
||||
196.96654,
|
||||
-1.134778,
|
||||
5.075228,
|
||||
0.748798,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Ni"] = AtType(
|
||||
"Ni",
|
||||
2.488746,
|
||||
2.007018,
|
||||
27.562015,
|
||||
27.562031,
|
||||
8.383453,
|
||||
4.471175,
|
||||
0.429046,
|
||||
0.633531,
|
||||
0.443599,
|
||||
0.820658,
|
||||
-2.693513,
|
||||
-0.076445,
|
||||
0.241442,
|
||||
-2.375626,
|
||||
-2.70,
|
||||
0.00,
|
||||
0.265390,
|
||||
-0.152856,
|
||||
0.445470,
|
||||
-2.7,
|
||||
28,
|
||||
58.6934,
|
||||
-0.152856,
|
||||
4.471175,
|
||||
0.820658,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Pd"] = AtType(
|
||||
"Pd",
|
||||
2.750897,
|
||||
1.595417,
|
||||
21.335246,
|
||||
21.940073,
|
||||
8.697397,
|
||||
4.638612,
|
||||
0.406763,
|
||||
0.598880,
|
||||
0.397263,
|
||||
0.754799,
|
||||
-2.321006,
|
||||
-0.473983,
|
||||
1.615343,
|
||||
-0.231681,
|
||||
-2.36,
|
||||
0.00,
|
||||
1.481742,
|
||||
-1.675615,
|
||||
1.130000,
|
||||
-2.352753,
|
||||
46,
|
||||
106.42,
|
||||
-1.675615,
|
||||
4.638612,
|
||||
0.754799,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Pt"] = AtType(
|
||||
"Pt",
|
||||
2.771916,
|
||||
2.336509,
|
||||
33.367564,
|
||||
35.205357,
|
||||
7.105782,
|
||||
3.789750,
|
||||
0.556398,
|
||||
0.696037,
|
||||
0.385255,
|
||||
0.770510,
|
||||
-1.455568,
|
||||
-2.149952,
|
||||
0.528491,
|
||||
1.222875,
|
||||
-4.17,
|
||||
0.00,
|
||||
3.010561,
|
||||
-2.420128,
|
||||
1.450000,
|
||||
-4.145597,
|
||||
78,
|
||||
195.08,
|
||||
-2.420128,
|
||||
3.789750,
|
||||
0.770510,
|
||||
0.25,
|
||||
1.15,
|
||||
)
|
||||
Database["Al"] = AtType(
|
||||
"Al",
|
||||
2.863924,
|
||||
1.403115,
|
||||
20.418205,
|
||||
23.195740,
|
||||
6.613165,
|
||||
3.527021,
|
||||
0.314873,
|
||||
0.365551,
|
||||
0.379846,
|
||||
0.759692,
|
||||
-2.807602,
|
||||
-0.301435,
|
||||
1.258562,
|
||||
-1.247604,
|
||||
-2.83,
|
||||
0.00,
|
||||
0.622245,
|
||||
-2.488244,
|
||||
0.785902,
|
||||
-2.824528,
|
||||
13,
|
||||
26.981539,
|
||||
-2.488244,
|
||||
3.527021,
|
||||
0.759692,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Pb"] = AtType(
|
||||
"Pb",
|
||||
3.499723,
|
||||
0.647872,
|
||||
8.450154,
|
||||
8.450063,
|
||||
9.121799,
|
||||
5.212457,
|
||||
0.161219,
|
||||
0.236884,
|
||||
0.250805,
|
||||
0.764955,
|
||||
-1.422370,
|
||||
-0.210107,
|
||||
0.682886,
|
||||
-0.529378,
|
||||
-1.44,
|
||||
0.00,
|
||||
0.702726,
|
||||
-0.538766,
|
||||
0.935380,
|
||||
-1.439436,
|
||||
82,
|
||||
207.2,
|
||||
-0.538766,
|
||||
5.212457,
|
||||
0.764955,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Fe"] = AtType(
|
||||
"Fe",
|
||||
2.481987,
|
||||
1.885957,
|
||||
20.041463,
|
||||
20.041463,
|
||||
9.818270,
|
||||
5.236411,
|
||||
0.392811,
|
||||
0.646243,
|
||||
0.170306,
|
||||
0.340613,
|
||||
-2.534992,
|
||||
-0.059605,
|
||||
0.193065,
|
||||
-2.282322,
|
||||
-2.54,
|
||||
0.00,
|
||||
0.200269,
|
||||
-0.148770,
|
||||
0.391750,
|
||||
-2.539945,
|
||||
26,
|
||||
55.847,
|
||||
-0.148770,
|
||||
5.236411,
|
||||
0.340613,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Mo"] = AtType(
|
||||
"Mo",
|
||||
2.728100,
|
||||
2.723710,
|
||||
29.354065,
|
||||
29.354065,
|
||||
8.393531,
|
||||
4.476550,
|
||||
0.708787,
|
||||
1.120373,
|
||||
0.137640,
|
||||
0.275280,
|
||||
-3.692913,
|
||||
-0.178812,
|
||||
0.380450,
|
||||
-3.133650,
|
||||
-3.71,
|
||||
0.00,
|
||||
0.875874,
|
||||
0.776222,
|
||||
0.790879,
|
||||
-3.712093,
|
||||
42,
|
||||
95.94,
|
||||
0.776222,
|
||||
4.476550,
|
||||
0.275280,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Ta"] = AtType(
|
||||
"Ta",
|
||||
2.860082,
|
||||
3.086341,
|
||||
33.787168,
|
||||
33.787168,
|
||||
8.489528,
|
||||
4.527748,
|
||||
0.611679,
|
||||
1.032101,
|
||||
0.176977,
|
||||
0.353954,
|
||||
-5.103845,
|
||||
-0.405524,
|
||||
1.112997,
|
||||
-3.585325,
|
||||
-5.14,
|
||||
0.00,
|
||||
1.640098,
|
||||
0.221375,
|
||||
0.848843,
|
||||
-5.141526,
|
||||
73,
|
||||
180.9479,
|
||||
0.221375,
|
||||
4.527748,
|
||||
0.353954,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["W"] = AtType(
|
||||
"W",
|
||||
2.740840,
|
||||
3.487340,
|
||||
37.234847,
|
||||
37.234847,
|
||||
8.900114,
|
||||
4.746728,
|
||||
0.882435,
|
||||
1.394592,
|
||||
0.139209,
|
||||
0.278417,
|
||||
-4.946281,
|
||||
-0.148818,
|
||||
0.365057,
|
||||
-4.432406,
|
||||
-4.96,
|
||||
0.00,
|
||||
0.661935,
|
||||
0.348147,
|
||||
0.582714,
|
||||
-4.961306,
|
||||
74,
|
||||
183.84,
|
||||
0.348147,
|
||||
4.746728,
|
||||
0.278417,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Mg"] = AtType(
|
||||
"Mg",
|
||||
3.196291,
|
||||
0.544323,
|
||||
7.132600,
|
||||
7.132600,
|
||||
10.228708,
|
||||
5.455311,
|
||||
0.137518,
|
||||
0.225930,
|
||||
0.5,
|
||||
1.0,
|
||||
-0.896473,
|
||||
-0.044291,
|
||||
0.162232,
|
||||
-0.689950,
|
||||
-0.90,
|
||||
0.00,
|
||||
0.122838,
|
||||
-0.226010,
|
||||
0.431425,
|
||||
-0.899702,
|
||||
12,
|
||||
24.305,
|
||||
-0.226010,
|
||||
5.455311,
|
||||
1.0,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Co"] = AtType(
|
||||
"Co",
|
||||
2.505979,
|
||||
1.975299,
|
||||
27.206789,
|
||||
27.206789,
|
||||
8.679625,
|
||||
4.629134,
|
||||
0.421378,
|
||||
0.640107,
|
||||
0.5,
|
||||
1.0,
|
||||
-2.541799,
|
||||
-0.219415,
|
||||
0.733381,
|
||||
-1.589003,
|
||||
-2.56,
|
||||
0.00,
|
||||
0.705845,
|
||||
-0.687140,
|
||||
0.694608,
|
||||
-2.559307,
|
||||
27,
|
||||
58.9332,
|
||||
-0.687140,
|
||||
4.629134,
|
||||
1.0,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Ti"] = AtType(
|
||||
"Ti",
|
||||
2.933872,
|
||||
1.863200,
|
||||
25.565138,
|
||||
25.565138,
|
||||
8.775431,
|
||||
4.680230,
|
||||
0.373601,
|
||||
0.570968,
|
||||
0.5,
|
||||
1.0,
|
||||
-3.203773,
|
||||
-0.198262,
|
||||
0.683779,
|
||||
-2.321732,
|
||||
-3.22,
|
||||
0.00,
|
||||
0.608587,
|
||||
-0.750710,
|
||||
0.558572,
|
||||
-3.219176,
|
||||
22,
|
||||
47.88,
|
||||
-0.750710,
|
||||
4.680230,
|
||||
1.0,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Database["Zr"] = AtType(
|
||||
"Zr",
|
||||
3.199978,
|
||||
2.230909,
|
||||
30.879991,
|
||||
30.879991,
|
||||
8.559190,
|
||||
4.564902,
|
||||
0.424667,
|
||||
0.640054,
|
||||
0.5,
|
||||
1.0,
|
||||
-4.485793,
|
||||
-0.293129,
|
||||
0.990148,
|
||||
-3.202516,
|
||||
-4.51,
|
||||
0.00,
|
||||
0.928602,
|
||||
-0.981870,
|
||||
0.597133,
|
||||
-4.509025,
|
||||
40,
|
||||
91.224,
|
||||
-0.981870,
|
||||
4.564902,
|
||||
1.0,
|
||||
0.85,
|
||||
1.15,
|
||||
)
|
||||
Reference in New Issue
Block a user