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.


Messages - fangyongxinxi

Pages: [1] 2 3 ... 10
1
Something wrong with my internet. Now, it's ok.

2
Thanks the same.
The problem is solved.

3
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

4
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

5
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.

6
problem is solved. follow Anders method. thanks :)

7
1. Reinstalling never helps for this kind of problems
2. The root cause may be that there is something wrong with one particular project, so try opening another one.
3. Or, could be something wrong with the main configuration file for VNL, so then rename C:\users\your_username\.vnl to something else, at least temporarily, and see if VNL now starts (you will no longer have access to old projects etc, but you can always recreate them - the data is not lost, not even the stash).

Dear Sir,
Thanks for your reply.
1. Yes, reinstalling helps nothing
2. I can not open another project, because the "woring thing" shows in the beginning, there is no time or window to choose another project.
3. It does not work neither. I install the software in D:\, a new folder, the same thing happens.


8
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.

9
Problem solved,
I change lsda.pz to lda.pz,
and I get the result that I expected.

10
The discrepancy for the charge of atom analyzed from the basis set  and from the real space division is quite common, especially for the charge estimated from the Mulliken population, in which the charge is strongly dependent on the basis set of atom used in the analysis.

In your case, you used the SZP basis set, which might not give reliable results.

Dear,
I try DZP and DZDP, they all show the samilar  result as I used szp. so, I am still confused.
Any other suggestion ?
Thanks.

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



13
The adsorption of CO molecule on metal surface has long story. You had better dig into the literature and choose proper method (including different exchange-correlation functional, Van der Waals interaction correction, or more advanced technique such as random phase approximation). 
1. arxiv:cond-mat/0408394v1
2. www.nanomat-master.eu/pdf/CO_ads.pdf
3. Nature Materials 9, 741-744(2010)

Thanks for your advice!

14
This is indeed an interesting phenomena that, as you report, is pushing the limits of these theories.
Again, as you show ATK compares well with other codes by using the same level of theory.
B3LYP is an hybrid functional and not implemented in ATK.

To answer to your questions:
1. there is no exact exch-correlation functional. you can indeed try some GGA+U one as you found.
Since the +U parameter is kind of arbitrary and you can pick whatever you want, you will most probably be able to find the correct absorption site.
Just a note about accuracy, since this is a delicate case, you may want to use a more complete DZP basis set.

2. you can add the U parameter to specific orbitals.
If you want to compare exactly with your reference you should find out to which orbitals the authors added the U correction.
Probably the d orbitals of Cu, but you have to check.
Once you know this you can reproduce the results with ATK.
See also this tutorial for more info: http://quantumwise.com/documents/tutorials/latest/NiO_LDA_U/index.html/
Note that you may not be able to compare the absolute number of 1.25 eV of your reference to the one you need to use in ATK.
This is because this value depends on the implementation of the Hubbard correction.
However, you can plot absorption energy versus U and you should be able to see the same trend.

thanks for your reply,
I will try as you said.

15
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.


Pages: [1] 2 3 ... 10