Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - fangyongxinxi

Pages: [1] 2 3 ... 6
1
Dear Sir,

I have the trail lincense for ATK (picture 1),
but when I download the softare, some thing is wrong (picture 2), I should get the software with the size of 870M, but the download never finish. I don not know is there something wrong with my network or something wrong with the webpage. I tried sever times, the samething happens.
Now, when I want to try to donwload again, it shows" sorry, you are not authorized for this page". (picture 3)

My question is:
 Is there any other place that I can download the softare ?

Thanks for your time!

Fangyong
2020-5-14

2
Dir Sir,
I found "Phonon-limited mobility in graphene using the Boltzmann transport equation" in the tutorial, (https://docs.quantumwise.com/tutorials/mobility/mobility.html),  and found some discussion about  3-d material mobility calculation  (https://forum.quantumatk.com/index.php?topic=5928.msg25352#msg25352).

This is a alloy, and we found that in experiment :
1) in low temperature it has a ordered structure with conductivity a1,
2) in high temperature, the structure changed to amorphous, and the conductivity is a2.     
Now, we want to explain why the two structure (ordered structure and amorphous structure) have  quite different conductivity (a1, a2).

My questions are:
1) It's ok to use ATK to calculate the mobility or conductivity for 3-d material, such as my system metal alloy?
2) It's ok to use the mobility (calculate result) to compare to the experiment result ?

Thanks  for your time, and look forward to your reply.

Fangyong.
2020-5-7

3
General Questions and Answers / how to makes DOS smooth.
« on: October 11, 2017, 09:19 »
Dir sir,
TheDOS curve in vnl usually seems sharp, not smooth. any method to solve this ?
Thanks.

4
Dear Sir,

I have the loading project problem, and it is serious.

when I open the software,  the  "loading project" windoe shows, and it stops here. It seems it will stop here for ever, because I wait one day, it is still here.

I delet all the files, including the install fold, and re-install the software, the same happens.
I changed the version, 15,16,17, the same happens.

I think I just can reinstall the windows system to solve this problem, right?

Help.

5
Dear Sir,

I have one question about my resluts on electron-density-difference and mulliken-population for my system.

My system is Nb film on MgO(111) substrate, and the calculation model is built like a sandwich (a few layers of Nb on top of a few layers of MgO, with vacuum layer). I hope to get elctrons redistribution and transformation along the interface, thus,  atomic mulliken population and electron density difference are calculated.

Firstly, we calculate atomic mulliken population for the atoms near interface, taking Nb atoms for example, the difference in atomic mulliken population is
m(Nb) = m(Nb in Nb/MgO structure) - m(Nb in bare Nb slab)
m(Nb in Nb/MgO structure) is the atomic mulliken population of Nb atoms in Nb/MgO structure,
m(Nb in bare Nb slab) is the atomic mulliken population of Nb atoms in bare Nb slab
thus, m(Nb) gives the elctrons transformation for Nb atoms.


secondly, the electron density difference along the interface is calculated
pho(interface) = pho(total) - pho(mgo) - pho(nb)
pho(total) is the total electron density of the whole structure,
pho(mgo) is the electron density of mgo layers (MgO layers as a whole part),
pho(nb) is the electron density of nb layers.
thus, pho(interface) gives electrons redistribution.

the input file, and calculation result are shown in attach files.
(the electron density difference map is viewed by VESTA software).

Results are like follows:
Firstly, for the atomic mulliken population, we see each Nb atoms ( Nb atoms in the first layer in Nb slab) loose 0.25 electrons, and each Oxygen atoms gain 0.24 electrons. It's easy to understand that the Oxygen-terminated MgO(111) gain electrons from Nb slab.

However, the electron density difference map is not agree with mulliken population results,
it shows both nb atoms and oxygen atoms seem loose electrons (more precisely,strong electron redistribution around there atoms) , as the blue color shows, and only nb atoms seem gain electrons (because there is no light red color around oxygen atoms, which means there is no electrons enhance around oxygen atoms).

In my view, oxygen atoms gain electrons, as mulliken population result show, and there should be electrons enhance around oxygen atoms, but the electron density difference result give the opposite result. This is my confuse.

How to understand the difference ?


Thanks.




# the input.txt is like follows:



# Set up lattice
savefile = 'lsda_1.nc'


vector_a = [2.98186929626, 0.0, 0.0]*Angstrom
vector_b = [0.0, 5.16474912266, 0.0]*Angstrom
vector_c = [0.0, 0.0, 38.0247821144]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Magnesium, Magnesium, Oxygen, Oxygen, Magnesium, Magnesium, Oxygen,
            Oxygen, Magnesium, Magnesium, Oxygen, Oxygen, Niobium, Niobium,
            Niobium, Niobium, Niobium, Niobium, Niobium, Niobium, Niobium,
            Niobium, Niobium, Niobium]

# Define coordinates
fractional_coordinates = [[ 0.            ,  0.            ,  0.25611571715 ],
                          [ 0.5           ,  0.5           ,  0.25611571715 ],
                          [ 0.5           ,  0.166666666667,  0.288130181794],
                          [ 0.            ,  0.666666666667,  0.288130181794],
                          [ 0.            ,  0.333333333333,  0.320144646437],
                          [ 0.5           ,  0.833333333333,  0.320144646437],
                          [ 0.            ,  0.            ,  0.352159111081],
                          [ 0.5           ,  0.5           ,  0.352159111081],
                          [ 0.5           ,  0.166666666667,  0.384173575725],
                          [ 0.            ,  0.666666666667,  0.384173575725],
                          [ 0.            ,  0.333333333333,  0.416188040369],
                          [ 0.5           ,  0.833333333333,  0.416188040369], # ############
                          [ 0.            ,  0.            ,  0.455618743112],
                          [ 0.5           ,  0.5           ,  0.455618743112],
                          [ 0.5           ,  0.            ,  0.517272419054],
                          [ 0.            ,  0.5           ,  0.517272419054],
                          [ 0.            ,  0.            ,  0.578926094997],
                          [ 0.5           ,  0.5           ,  0.578926094997],
                          [ 0.5           ,  0.            ,  0.640579770939],
                          [ 0.            ,  0.5           ,  0.640579770939],
                          [ 0.            ,  0.            ,  0.702233446882],
                          [ 0.5           ,  0.5           ,  0.702233446882],
                          [ 0.5           ,  0.            ,  0.763887122824],
                          [ 0.            ,  0.5           ,  0.763887122824]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )



# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    LDABasis.Oxygen_SingleZetaPolarized,
    LDABasis.Magnesium_SingleZetaPolarized,
    LDABasis.Niobium_SingleZetaPolarized,
    ]

exchange_correlation = LSDA.PZ

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(5, 5, 1),
    )

calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )


bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave(savefile, bulk_configuration)

# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------
total_energy = TotalEnergy(bulk_configuration)
nlsave(savefile, total_energy)
nlprint(total_energy)

# -------------------------------------------------------------
# Mulliken population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(bulk_configuration)
nlsave(savefile, mulliken_population)
nlprint(mulliken_population)

# -------------------------------------------------------------
# Electron density
# -------------------------------------------------------------
total = ElectronDensity(
    configuration=bulk_configuration,
    )
nlsave(savefile, total)




vector_a = [2.98186929626, 0.0, 0.0]*Angstrom
vector_b = [0.0, 5.16474912266, 0.0]*Angstrom
vector_c = [0.0, 0.0, 38.0247821144]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Magnesium, Magnesium, Oxygen, Oxygen, Magnesium, Magnesium, Oxygen,
            Oxygen, Magnesium, Magnesium, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.            ,  0.            ,  0.25611571715 ],
                          [ 0.5           ,  0.5           ,  0.25611571715 ],
                          [ 0.5           ,  0.166666666667,  0.288130181794],
                          [ 0.            ,  0.666666666667,  0.288130181794],
                          [ 0.            ,  0.333333333333,  0.320144646437],
                          [ 0.5           ,  0.833333333333,  0.320144646437],
                          [ 0.            ,  0.            ,  0.352159111081],
                          [ 0.5           ,  0.5           ,  0.352159111081],
                          [ 0.5           ,  0.166666666667,  0.384173575725],
                          [ 0.            ,  0.666666666667,  0.384173575725],
                          [ 0.            ,  0.333333333333,  0.416188040369],
                          [ 0.5           ,  0.833333333333,  0.416188040369],
]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )



# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

basis_set = [
    LDABasis.Oxygen_SingleZetaPolarized,
    LDABasis.Magnesium_SingleZetaPolarized,
    LDABasis.Niobium_SingleZetaPolarized,
    ]

exchange_correlation = LSDA.PZ

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(5, 5, 1),
    )

calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave(savefile, bulk_configuration)

# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------
total_energy = TotalEnergy(bulk_configuration)
nlsave(savefile, total_energy)
nlprint(total_energy)

# -------------------------------------------------------------
# Mulliken population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(bulk_configuration)
nlsave(savefile, mulliken_population)
nlprint(mulliken_population)

# -------------------------------------------------------------
# Electron density
# -------------------------------------------------------------
mgo = ElectronDensity(
    configuration=bulk_configuration,
    )
nlsave(savefile, mgo)




vector_a = [2.98186929626, 0.0, 0.0]*Angstrom
vector_b = [0.0, 5.16474912266, 0.0]*Angstrom
vector_c = [0.0, 0.0, 38.0247821144]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Niobium, Niobium,
            Niobium, Niobium, Niobium, Niobium, Niobium, Niobium, Niobium,
            Niobium, Niobium, Niobium]

# Define coordinates
fractional_coordinates = [
                          [ 0.            ,  0.            ,  0.455618743112],
                          [ 0.5           ,  0.5           ,  0.455618743112],
                          [ 0.5           ,  0.            ,  0.517272419054],
                          [ 0.            ,  0.5           ,  0.517272419054],
                          [ 0.            ,  0.            ,  0.578926094997],
                          [ 0.5           ,  0.5           ,  0.578926094997],
                          [ 0.5           ,  0.            ,  0.640579770939],
                          [ 0.            ,  0.5           ,  0.640579770939],
                          [ 0.            ,  0.            ,  0.702233446882],
                          [ 0.5           ,  0.5           ,  0.702233446882],
                          [ 0.5           ,  0.            ,  0.763887122824],
                          [ 0.            ,  0.5           ,  0.763887122824]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )



# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    LDABasis.Oxygen_SingleZetaPolarized,
    LDABasis.Magnesium_SingleZetaPolarized,
    LDABasis.Niobium_SingleZetaPolarized,
    ]

exchange_correlation = LSDA.PZ

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(5, 5, 1),
    )

calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave(savefile, bulk_configuration)

# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------
total_energy = TotalEnergy(bulk_configuration)
nlsave(savefile, total_energy)
nlprint(total_energy)

# -------------------------------------------------------------
# Mulliken population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(bulk_configuration)
nlsave(savefile, mulliken_population)
nlprint(mulliken_population)

# -------------------------------------------------------------
# Electron density
# -------------------------------------------------------------
nb = ElectronDensity(
    configuration=bulk_configuration,
    )
nlsave(savefile, nb)

final = total - mgo - nb
nlsave(savefile, final)



6
Dear Sir,
I want to get the stable adsorption site of CO on Cu(111) with ATK14.
the experimental result is the most stable site for CO on Cu(111) is the "top site"
However, my calculation shows the most stable site is the "fcc hollow"
(the input.py file is shown in the attachments)

I checked some papers, like:
1.
https://scirate.com/arxiv/cond-mat/0408394
CO adsorption on Cu(111) and Cu(001) surfaces: improving site preference in DFT calculations
2.
CO adsorption on the Cu(111) surface: A density functional study
http://www.sciencedirect.com/science/article/pii/S0039602806000045

they said the calculation result of the stable site is indeed the "fcc hollow" with tranditional exchange-correlation (exch-corr) function (eg. lda, pw91), as the attachment show (3.bmp).  However, this result is not agreed with experimental observation.

Two possible choice can make the calculation results right.
the first one is to use "not popular" exch-corr function, such as B3LYP (As 3.bmp shows),
the second one is use : "pw91+u, u=1.25"
However, atk14 seems not have the B3LYP. (ATK has blyp, but my test calculation shows it could not give the result like "top site is the stable site")

So, my question is:
1. could you give me some suggestion on how to choose the exch-corr for CO/Cu(111) ? I want to get the stable site is "top site".
I tested all the exch-corr with GGA, but the results are not agree with the experiment.

2. How to set "+U" in my calculation.
As the attachment show (2.bmp), if I want to set U=1.25eV (as the attachment 3.bmp show),
How to set the parameters in details?
could you give an example about the output file (generated by atk, with U=1.25, for CO/Cu(111)) for my system ?

Thanks.


7


Dear Sir,

I have a prolbem when I do neb calculation with atk_14_version.

the system is CO migration on Cu(111), and four files are listed in the attachment.

ini.txt, is the initial structure,
final.txt, is the final structure,
neb_input.txt, is the calculation file generated by ATK neb toolbox,
error.txt, is the error file.

there are seven images in the neb calculation, so I use "mpiexe -n 14 input.py > out.log" to do the calculation.
the calculation is stopped after a few minites.
I check the error message, but I can not solve the problem by myself.

could you have a check for the input file ?
and I want to know what's wrong with my input file.

Thanks!

8
Dear, I have a problem when I calculate optmization and total energy calculation.

The input file is show in the attachment. In the scritp,  both optimize and total energy are calculated.
then I run the script like "atk14version input.py > out.log"

when the calculation finished,
I use:
"grep Force out.log" to check how is the optmization going,
and then I use
"grep did out.log", (here "did" means if the calculation did not converge, the word "did" will show in out.log), to check the converge.

As the attachment shows,
after six steps, the Force on each atom is less than 0.05 eV/A, and the optimization is stopped. And the the total E is calculated.

However, for each optimize step, and for Total E calculation, the SCF is not converged in 100 cycle.
so when I did "grep did out.log",  there is seven lines:
" Warning, the calculation did not converge to the requested tolerance !"

So,  my question is :
the optimizatied structure is ok ?
the number of the total energy is ok ?

If they are not ok, is there some calculation parameters should be reset to avoid the converge problem ?

Thanks

9
Dear Sir,

I have a problem on how to calculate the formation energy of charged vacancy.

For this problem, I checked some papers, and found How other people did before.
Follow the description in this paper: Phys. Rev. B 68, 205213
First-principles study on structures and energetics of intrinsic vacancies in SrTiO3
The formation energy could be write as that in pic_1,
It conneted with:
Total energy of defective supercell with charge q, Etotal(defect:q)
Total energy of perfect supercell, Etotal(perfect:0)
atom chemical potential, eg. Oxygen vacancy, u(oxygen)
Femi energy, Ef
Energy of Valence-band maximum of defective supercell, E(VBM)
Average Potentials at a number of atomic sites in supercell, V(av)(defect/perfect)
Total energy of perfect supercell with charge q, Etotal(perfect:q)

I don know how to get these things in ATK:
u(oxygen),  Ef, and Average Potentials at a number of atomic sites in supercell, V(av)(defect/perfect)

In my case, I want to get the oxygen (Voxygen(+1)) formation energy in MgO,
Firstly, I make supercell, and calculate the total energy of supercell. E(total, perfect,q=0),
Next, I move away one oxygen atom, and set: Charge = +1, calculate total energy of the defective supercell, get E(total, defect,q=1),
Question is :
How to get the, oxygen chemical potential, Femi energy, and Average Potentials at a number of atomic sites in supercell, V(av)(defect/perfect) ?

So, could you give me an example on how to calculate the vacancy formation energy (with charge) in ionic crystal ?


There are two more papers talked about the formation energy of vacancy  (I did not get how they did in detail)
1. Ab initio calculation of the formation energy of charged vacancies in germanium
http://www.sciencedirect.com/science/article/pii/S0921452607006953?np=y

2. First-principles calculations for defects and impurities: Applications to III-nitrides
http://scitation.aip.org/content/aip/journal/jap/95/8/10.1063/1.1682673

Thanks.

10
Future Releases / Suggestion about Page Shrink in VNL
« on: May 19, 2015, 15:54 »
Dear,
I have one suggestion about vnl.

using VNL in my PC, when I finish my script in "Editor", I click the arrow, send the script to "Builder"
at this moment, the "Builder" page will show, and the "Editor" page will Shrink to the bottom of the table.
In my view, I'd like the "Editor" page to stay just behind the "Builder" page, not shrink to the bottom of the table.

Fang Yong

11
Dear, I have two question when I use atk2014.

the first one is:
my system is 500 atoms, after calculation, i want to get the total dos and  dos of single atom, the problem is I just can get the total dos, can not get the dos for single atom. (as the attachshow). there is no calculation model in the right corner, so I can not choose single atom; even I set the "atom index", I can still not get the dos for the choosed index atom.

I guess the reason is that my system is too big (because for small system, there is no problem). So, is there a script to export the dos for single atom ? like:
dos = export_dos('*.nc', atom_index(1,2,3,)) ?

the second question is:
In some other softwares, like vasp, I can optimize the bulk system with pressure (eg, 2oGPa) with DFT calculation engine. Now, it is possible to do the similar thing in atk2014? I checked the "optimizeGeometry", find no pressure.


Thanks for you time.



12
Dear,

when publish papers with ATK software, of course we have the copyright,

usually, we write the following things in paper:

 " ***** using the DFT calculation engine in ATK [ref]"

how to wirte the " ref"
is there any papers, or something, we should cite ?
I checked some papers in the publication list, did not find a good answer.


thanks 

13
Dear,

study point defect in bulk material,
we often build charged point defect models (compared to neutral point defect),

can ATK build model with charged point defects ?

Thanks~~

14
Dear Sir,

I calculated Mulliken population for a bulk structure with atk13 version, and follow the usage examples in manual (atk12 manual, P 285 ),
I want to get the Mulliken population for a atom (for example atom_id = 20), and get the bond population between two atoms(for example, atom20-atom21)

I used this script:
# #####################################
mulli = nlread(...)
print mulli.atom()[20]    
# or
print mulli.atom(20)[0]  # get the mulli for atom 20

print mulli.bond(20,21)  # get the mulli for atom 20-21
# #####################################

something wrong happend.  (the bond-population result seems ok, but the population for atom is wrong)
so, my question is: what's wrong with my script?





Thanks
Yong Fang
2014-5-22

15
Dear,

I use ATK.12 calulate electron density, and export the result to a *.cub file.
In ATK, I can get the electron density very well. Now, I want draw the electron density in VESTA.
The problem is : the unit of electron dentiy in ATK is "electron/A^3", but the unit of isosurface value in VESTA is different with that in ATK.
So, can you tell me what's the unit of electron density in VESTA ?

Thanks.


Yong.
2014-5-13

Pages: [1] 2 3 ... 6