QuantumWise Forum
June 20, 2013, 11:59 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home Help Search Login Register  
  Show Posts
Pages: [1] 2 3 ... 7
1  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / How to re-start the un-finished opt ? on: May 5, 2013, 13:04
Dear Sir,
I have one question about how to restart the unfinished opt.

For example, I set the relaxation "Max Force = 0.05 eV/A". In calculation process, when the force  come to 0.06 eV/A, suppose some thing wrong happens at this moment, and the calculation stop here. Any method can restore "SCF and BulkConfiguration" when the force is 0.06 eV/A ? Or, we can wirte some script to store the latest opt "SCF and BulkConfiguration" ?
As I know, I can just restore the initial configuration and the first SCF.


Thanks~


FangYong
2  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Re: How to "inspect_.nc_file" ? on: May 3, 2013, 08:21
Thanks for your help~

There is an "nlinspect", but perhaps you just need to use

print total_energy.evaluate()

instead of nlprint(total_energy) to achieve what you want?
3  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Re: Question about nlread usage on: May 3, 2013, 07:53
First, results in ".nc" file have a list form. For example, there are three "TotalEnergy" (e1,e2,e3) in you file.nc, you can use this line to read them:

e_list = nlread ( 'aa.nc', TotalEnergy)
e1=e_list[0]
e2=e_list[1]
e3=e_list[2]=e_list[-1]

here the "-1" correspond to the last one, e3. Same thing, e2=e_list[-2]

Second, if you want to read content by the object_id, and you want to get e2,
so ,use this:

e2 = nlread(filename = 'file.cn',object_id = '**')[0],
"**" is the object_id of your e2,
and the default value is "gID00*"








Dear Forum,

I am a little confused about how to properly use the nlread function.
I have done a major calculation on a quite big system (120 atoms) which took days on my computer Smiley, but I would like to redo the DOS and transmission.
I got this example of how to load the "device configuration" from the .nc file that was saved to along the way

Code:
device_configuration = nlread('file.nc', DeviceConfiguration)[-1]

I am not quite sure why the object type/name is DeviceConfiguration. Where can I see a list of suitable names usable for nlread?
I would expect it to be 'device_configuration' since that is how it got saved in the original script (the standard when doing the script out the the Script Generator), or otherwise 'Device Configuration' as shown in the the VNL window when clicking on my .nc file.
Otherwise, I can refer to the object handle eg. 'gID000', right?

Lastly I do not know what the [-1] means. I learned that nlread gets a list (array?) and so you need to specify the element that you want to use, but how can that be [-1] ? In the VNL window I have two objects, 'Device Configuration' and 'Density of States'  (the one I wish to redo). I would expect that the device configuration would be
  • and DOS would be [1]. Is this correct/wrong?

Thank you a lot!

Kaspar
4  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / How to "inspect_.nc_file" ? on: May 2, 2013, 16:51
Dear Sir,

1. the sript "inspect_vnl_file" helps me alot, now is there some kind of "inspect_nc_file"?

2. the problem in my hand is: If I want to get the "TotalEnergy" and the corresponding id_,
such as:

E0,  id0
E1,  id1
E2,  id2
....

 the tranditional way is use "nlprint". But this conmand give alot information about the total energy, However, I just want the final value and the id
so, could you show me a sript on how to get this ?

Thanks~

FangYong
5  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / How to get the un-scf electron density ? on: May 2, 2013, 12:57
Dear Sir,

1.
I am not familiar with the background of DFT. Could I get the un-scf electron density by ATK?
Take "electron_difference_density" for example, I guess it is come from:
pho1 = pho2(scf) - pho3(a superposition of all isolate atomic charge densities)
so, the pho3 is the un-scf electron density, is there a simple way to get this ?

2.
the specific work in my hand is: I want to get the electron density change because of one vacancy in a bulk system. I already get the electron_difference_density of the my system(with one vacancy), what to do next ?

Thanks~


FangYong
6  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Re: How to use " nlread() " to read the scf only ? on: May 1, 2013, 15:56
Thanks for your help~


There are two ways to do it.

First of all, note that the "scf" is not a separate thing from the configuration. When you have run the self-consistent loop, the scf is stored on the configuration itself. So, if you want to use the approach to read the scf from the NC file, you would do like normal,

Code: (python)
scf = nlread("energy.nc", BulkConfiguration)[-1]
...
bulk_configuration.setCalculator(calculator, initial_state=scf)


There is however a better way to do it in your case. Since you are looping in the same script, you can just remember the state for the next step, like so:

Code: (python)
vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 10.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 10.0]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Hydrogen]*2

scf = None    # NEW
for dis in (a1,a2,a3,a4):   # ai is the distance   
    fractional_coordinates = [[ 0.  ,  0.  ,  0.  ],
                                           [ 0.  ,  0.  ,  dis]]
    bulk_configuration = BulkConfiguration(
        bravais_lattice=lattice,
        elements=elements,
        fractional_coordinates=fractional_coordinates
        )

    calculator = LCAOCalculator()

    bulk_configuration.setCalculator(calculator, initial_state=scf)    # NEW
    bulk_configuration.update()
    scf = bulk_configuration    # NEW
    nlsave('energy.nc', bulk_configuration)

    total_energy = TotalEnergy(bulk_configuration)
    nlsave('energy.nc', total_energy)
    nlprint(total_energy)


Only 3 lines were modified, indicated by "NEW" above.

7  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / How to use " nlread() " to read the scf only ? on: May 1, 2013, 07:40
Dear Sir,
we use "nlread()" to save scf time in calculation, now I have a problem:

eg: I want to get the H-H bond length through a loop calculation , and I build a script as below:

vector_a = [10.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 10.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 10.0]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Hydrogen]*2

for dis in (a1,a2,a3,a4):   # ai is the distance   
    fractional_coordinates = [[ 0.  ,  0.  ,  0.  ],
                                           [ 0.  ,  0.  ,  dis]]
    bulk_configuration = BulkConfiguration(
        bravais_lattice=lattice,
        elements=elements,
        fractional_coordinates=fractional_coordinates
        )

    calculator = LCAOCalculator()

    bulk_configuration.setCalculator(calculator)
    bulk_configuration.update()
    nlsave('energy.nc', bulk_configuration)

    total_energy = TotalEnergy(bulk_configuration)
    nlsave('energy.nc', total_energy)
    nlprint(total_energy)

In the above script, I hope to import the "a1-scf" as the initial scf guess, for the next  "a2-scf" calculation. Here, I just want to import the scf of a1, not the bulk_configuration of a1.
So, is there any method to change the above script to get that ?

Thanks~

FangYong
8  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / The algorithm of interface match in "interface build" on: April 23, 2013, 04:23
Dear Sir,
I find the atk-12.8.0 can help us build interface model very easily, it helps me alot, and I love it very much.
In the interface build process, the ATK will give you alot of chooses with different "atoms number" and "mean strain", I have one question about it:
what's the algorithm to get the "atoms number"--"mean strain", or some paper mentioned how to get a picture like that ?

Thanks~
9  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Re: Can not use Demo lic on: April 22, 2013, 02:41
Thanks for your reply,
I did as you said, but it still can not work.
my license file is located in C:\lic\atklic\qw_license.lic

when I click vnl, the same error message happens.

10  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Re: Can not use Demo lic on: April 21, 2013, 03:24
Dear Sir, thanks for you reply.
but I don't quite understand it. You said "It's recommended to use the "..." file locator button instead of typing in the filename of the license file". Could you say it more detail ?   Thanks~
11  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / Can not use Demo lic on: April 20, 2013, 09:57
Dear Sir,
I want to use atk-12.8.2 with Demo lic (# Demo license for ATK 12.8, valid until 2013-05-16
), I did like this:
Windows system start -> QuantumWise -> ATK License Server -> ATK License Configuration,
choose  Standalone

but error happens, like the attachment shows
I wonder the reason.
Thanks~
12  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / About the max_forces and max_stress in GeometryOpt. on: April 14, 2013, 15:05
Dear,

I want to get the acceptable parameters for my system, so I did a loop calculation like below:
 
for ecut/mas_force/k-points in (a1,a2,a3,a4,....):
      do calculation

the ecut and k-points are OK for me, but the max_stress or max_forces, always bothers me. Take max_stress for example, in my test calculation, the results are like this:

mas_stress(eV/Ang**3)       delta(E/eV)
0.2   -1.269
0.18   -1.269
0.15   -1.269
0.1   -1.269
0.08   -1.269
0.06   -1.269
0.05   -1.8165
0.03   -2.11
0.02   -2.11
0.015   -2.187
0.013   -2.187
0.008   -2.201
0.006   -2.201
0.002   -2.204
0.001   -2.204

the results are step-like drop, seems not convergent. The definition of stress can be found in the manual, and the default value for max_stress is 0.05.

So, my question is: could you give me some experience on how to set the max_stress, or which one is acceptable.

Thanks~

13  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / One question about: the structure relax by atk_2010.8 on: April 14, 2013, 08:58
Dear Sir,
I have two questions:
1.
I used atk-2010.8 to optimize one system with the following file, the problem is the optimization process just optmize the coordinates of atoms, not the lattice constants.

the "optimizeGeometry" in 2010.8 is :
OptimizeGeometry(
configuration,
maximum_forces,
constraints,
trajectory_filename)


So,my question is: what commond I missed in the scripte ?


2.
In 2010.8 the OptimizeGeometry have no max_stress term, so , this optimization in this version did not consider the stress effect , right?


Thanks~

# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------

# Set up lattice
lattice = FaceCenteredCubic(5.64056*Angstrom)

# Define elements
elements = [Sodium, Chlorine]

# Define coordinates
cartesian_coordinates = [[ 0.     ,  0.     ,  0.     ],
                         [ 2.92028,  2.92028,  2.82028]]*Angstrom

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = GGABasis.SingleZetaPolarized

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = SGGA.PBE

numerical_accuracy_parameters = NumericalAccuracyParameters(
    grid_mesh_cutoff=70.0*Hartree,
    k_point_sampling=(10, 10, 10),
    )

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('analysis.nc', bulk_configuration)

bulk_configuration = OptimizeGeometry(
        bulk_configuration,
        maximum_forces=0.02*eV/Ang,
        trajectory_filename=None,
        )
nlsave('analysis.nc', bulk_configuration)
nlprint(bulk_configuration)
14  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / One problem in using VNL on: April 13, 2013, 16:50
Dear,
I bought atk2010_8 version, and installed in my cluster. I use the vnl to build model and analysis results through vnc.
Now I have a problem:
open vnl is OK
click the "Job", "editor" is OK
we I click the "custom", "Database", or "scripter",the vnl disappear and shows these message:

/opt/software/atk/vnl/bin/vnl: line 3: 16590 Segmentation fault      VNL_PATH=$EXEC_DIR/../.. PSEUDOPOTENTIALS_PATH=$EXEC_DIR/../../atkpython/share/pseudopotentials PYTHONHOME=$EXEC_DIR/.. PYTHONPATH= LD_LIBRARY_PATH=$EXEC_DIR/../lib $EXEC_DIR/vnl_exec $*

I wonder what's the problem is ?

Another question is : I build the model and analysis result must be done through VNC, is there any method that I can install 2010.8 to my PC (the license problem), so this would be more convenient to customers.

Or, give a temp license for each old versions like atk2012.8.

Thanks~
15  NanoLangauge / ATK / Virtual NanoLab / Questions and Answers / difference version ATK get a small different result on: April 13, 2013, 04:42
the calculation results of two version ATK

Dear,
I use atk 2010.8 (with official license) and 2012.8 (temp license)
to calculate the energy of one system, but get a small difference

version_2012: -4931.6453 eV (version 2011 get the same result)
version_2010: -4931.63 eV

what caused the difference ?
because some default setting are different ?

Thanks




# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [3.55, -4.03779418951e-13, 1.2407414431e-10]*Angstrom
vector_b = [-4.03779421568e-13, 3.55, 8.05456427157e-11]*Angstrom
vector_c = [4.77081609186e-10, 3.09914276141e-10, 14.22]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Potassium, Potassium, Iron, Iron, Iron, Iron, Selenium, Selenium, Selenium, Selenium]

# Define coordinates
fractional_coordinates = [[  1.14468617e-11,   8.78736620e-12,  -9.23438392e-04],
                          [  5.00000000e-01,   5.00000000e-01,   4.99103142e-01],
                          [  9.41847484e-11,   5.00000000e-01,   2.49187516e-01],
                          [  5.00000000e-01,   9.56876004e-11,   2.49187512e-01],
                          [  5.28106589e-10,   4.99999999e-01,   7.48865737e-01],
                          [  4.99999999e-01,   4.12406619e-10,   7.48865716e-01],
                          [ -4.40822247e-11,  -4.24698793e-11,   3.67582854e-01],
                          [  5.00000000e-01,   5.00000000e-01,   8.67292159e-01],
                          [ -1.73557970e-10,  -1.40654216e-10,   6.30480239e-01],
                          [  5.00000000e-01,   5.00000000e-01,   1.30763705e-01]]

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
            LDABasis.Potassium_SingleZetaPolarized,
            LDABasis.Iron_SingleZetaPolarized,
            LDABasis.Selenium_SingleZetaPolarized,
            ]
ex = LDA.PW

numerical_accuracy_parameters = NumericalAccuracyParameters(
            grid_mesh_cutoff=50.0*Hartree,
            k_point_sampling=(9, 9, 3),
            )

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

bulk_configuration.setCalculator(calculator)
# bulk_configuration.update()



# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------

total_energy = TotalEnergy(bulk_configuration)
nlsave('2010.nc', total_energy)
nlprint(total_energy)





# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [3.55, -4.03779418951e-13, 1.2407414431e-10]*Angstrom
vector_b = [-4.03779421568e-13, 3.55, 8.05456427157e-11]*Angstrom
vector_c = [4.77081609186e-10, 3.09914276141e-10, 14.22]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Potassium, Potassium, Iron, Iron, Iron, Iron, Selenium, Selenium, Selenium, Selenium]

# Define coordinates
fractional_coordinates = [[  1.14468617e-11,   8.78736620e-12,  -9.23438392e-04],
                          [  5.00000000e-01,   5.00000000e-01,   4.99103142e-01],
                          [  9.41847484e-11,   5.00000000e-01,   2.49187516e-01],
                          [  5.00000000e-01,   9.56876004e-11,   2.49187512e-01],
                          [  5.28106589e-10,   4.99999999e-01,   7.48865737e-01],
                          [  4.99999999e-01,   4.12406619e-10,   7.48865716e-01],
                          [ -4.40822247e-11,  -4.24698793e-11,   3.67582854e-01],
                          [  5.00000000e-01,   5.00000000e-01,   8.67292159e-01],
                          [ -1.73557970e-10,  -1.40654216e-10,   6.30480239e-01],
                          [  5.00000000e-01,   5.00000000e-01,   1.30763705e-01]]

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
            LDABasis.Potassium_SingleZetaPolarized,
            LDABasis.Iron_SingleZetaPolarized,
            LDABasis.Selenium_SingleZetaPolarized,
            ]
ex = LDA.PW

numerical_accuracy_parameters = NumericalAccuracyParameters(
            grid_mesh_cutoff=50.0*Hartree,
            k_point_sampling=(9, 9, 3),
            )

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

bulk_configuration.setCalculator(calculator)
bulk_configuration.update()



# -------------------------------------------------------------
# Total energy
# -------------------------------------------------------------

total_energy = TotalEnergy(bulk_configuration)
nlsave('2012.nc', total_energy)
nlprint(total_energy)
Pages: [1] 2 3 ... 7
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2006-2008, Simple Machines Valid XHTML 1.0! Valid CSS!