Files
lammps/tools/eam_database/eamDatabase.py
2022-02-14 18:06:48 -05:00

641 lines
9.7 KiB
Python

#!/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,
)
Database["Cr"] = AtType(
"Cr",
2.493879,
1.793835,
17.641302,
19.60545,
8.604593,
7.170494,
1.551848,
1.827556,
0.18533,
0.277995,
-2.022754,
0.039608,
-0.183611,
-2.245972,
-2.02,
0.00,
-0.056517,
0.439144,
0.456,
-2.020038,
24,
51.9961,
0.439144,
7.170494,
0.277995,
0.85,
1.15
)