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] 4 5 ... 10
31
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~~

32
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

33
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

34
from ATK.TwoProbe import *
from CalculateOptimizedTwoProbeGeometry import calculateOptimizedTwoProbeGeometry

def my_force_filter(forces):
    for i in range(len(forces)):
        forces[0] = 0.*eV/Ang
        forces[1] = 0.*eV/Ang
    return forces

from ATK.TwoProbe import *

# Li chain lattice constant
a = 2.90
# Construct the electrode unit cell
unit_cell = [ [3*a, 0.0, 0.0 ],
              [0.0, 3*a, 0.0 ],
              [0.0, 0.0, 4*a ] ] * Angstrom

# Define the electrode
electrode_Li = PeriodicAtomConfiguration(
    super_cell_vectors=unit_cell,
    elements=4*[Lithium],
    fractional_coordinates=[(0.5, 0.5, float(i)/4.0) for i in range(0,4)]
    )

# Setup the two-probe scattering region

# Distances between Li-H and H-H (found from relaxing a Li4H2 cluster)
dist_HH = 0.804
dist_LiH = 2.366

# The atoms in the central region
elements = 3*[Lithium] + 2*[Hydrogen] + 3*[Lithium]

positions = [
    (0.0, 0.0, 0*a),
    (0.0, 0.0, 1*a),
    (0.0, 0.0, 2*a),
    (0.2, 0.0, 2*a + dist_LiH),           # First H
    (0.0, 0.2, 2*a + dist_LiH + dist_HH), # Second H
    (0.0, 0.0, 2*a + dist_LiH + dist_HH + dist_LiH + 0*a),
    (0.0, 0.0, 2*a + dist_LiH + dist_HH + dist_LiH + 1*a),
    (0.0, 0.0, 2*a + dist_LiH + dist_HH + dist_LiH + 2*a)
    ] * Angstrom
   
# Combine electrode and scattering region
# into a two-probe system
two_probe_conf = TwoProbeConfiguration(
    electrodes = (electrode_Li,electrode_Li),
    scattering_region_elements              = elements,
    scattering_region_cartesian_coordinates = positions
    )

# Reduce basis set size for Li
basis_set_params = basisSetParameters(
    type = SingleZeta,
    element = Lithium
    )

# Set k-points for electrodes
bz_int_param = brillouinZoneIntegrationParameters( (1,1,20) )

# Create parameters for electrodes
electrode_params = ElectrodeParameters(
    brillouin_zone_integration_parameters = bz_int_param
    )

# Collect parameters into a two-probe calculation method
method = TwoProbeMethod(
    (electrode_params,electrode_params),
    basis_set_parameters = basis_set_params,
    electron_density_parameters = electronDensityParameters(mesh_cutoff = 70.0*Rydberg),
    iteration_control_parameters = iterationControlParameters(tolerance = 1e-3),
    electrode_voltages = (0.0, 0.0)*Volt
    )

# Specify verbosity and checkpoint file
runtime_params = runtimeParameters(
    verbosity_level = 1,
    checkpoint_filename = 'lih2li-scf_tst.nc'
    )
   
p = geometricOptimizationParameters (force_tolerance = 5.0e-2*eV/Ang, max_steps = 200)
   
x_constrained = [3,4]   
y_constrained = [3,4]
fixed_atoms = [0,1,2,5,6,7]   
   
# Perform SCF calculation with chosen parameters
relaxed_geometry,scf = calculateOptimizedTwoProbeGeometry (
        two_probe_configuration = two_probe_conf,
        method = method,
        optimization_parameters = p,
        runtime_parameters = runtime_params,
        initial_calculation = restoreSelfConsistentCalculation ('lih2li-scf.nc'),
        geometric_constraints = [x_constrained,y_constrained,[]],
        fixed_atoms = fixed_atoms,
    )

nlPrint(relaxed_geometry)

35
Dear,
I want to know how to set the atom constraints (NOT totally constraint, for exampel, I want the atoms just relax in z direction, constraints in x-y direction).

I remembered that in old-version atk, the following lines can do the job
but how to write the script in new version, e.g, 13.8.
Thanks.



x_constrained = [3,4]    
y_constrained = [3,4]
fixed_atoms = [0,1,2,5,6,7]  



fangyongxinxi
2013-11-28

36
Yes, it works.
Thanks.

the reason it did not work before is I did not move the head part in the cube file.

37
Dear,

thanks for your help, I still have one question about you second reply:
"2. You open 13.8, you select the grid on the LabFloor, you click "Export CUBE file". How to open in VESTA I don't know, I never used it, but maybe you can also indicate why you need to? Is there something you can't do in VNL?"

After voltage drop calculation (with 11.8 or 13.8 version), drop the "*.nc" file to "Viewer",
I hope to get voltage_drop in the form of "cut plane " (of course we can also choose the "isosurface" form, but it can not show several "isosurface value" in one picture), and want the exact value of the voltage drop (not in the form of color change)
So I need the data file.

Problem is: when I export the data in "*.cube" , I can't open this cube file in Gaussian-view or VESTA, it shows as the attachment.
I don't know is something wrong with my operation, or some thing wrong in the exported cube file.


Thanks.





1. Sorry, I don't understand the problem here.

2. You open 13.8, you select the grid on the LabFloor, you click "Export CUBE file". How to open in VESTA I don't know, I never used it, but maybe you can also indicate why you need to? Is there something you can't do in VNL?

3. If you want the bias the other way, use electrode_voltages=( -1.0*Volt, 1.0*Volt)

4.1 See 3

4.2 What you are plotting is the effective potential, which is -e*V where V is the voltage (electrons have negative charge). Hence the unit is eV, and hence your confusion about the direction of the potential vs the voltage. The unit is written on the colorbar. So it's not 0.9 V, but 0.9 eV.

4.3 The colorbar is rather useless for isosurfaces since you are plotting only points with a given value (the isovalue), so you only get one color.

400 kB is plenty for PNG files - don't use BMP (uncompressed format).


38
Thanks for your reply.
it helps me alot.

39
1. There might be some issue with the isosurfaces in 13.8, which we want to fix for 13.8.1. To help us, could you provide the input data for your calculation?

2. You can export the voltage drop 3D grid data as a CUBE file from VNL.

3. The picture is correct, if you want it the other way you would need the opposite sign of the bias.


Dear Sir,
Thanks for your reply

1. the attachment "0v.py" & "1v.py" are the input files, to calculate the voltage drop from 1V~-1V (left is 1V).

after calculation(11.8 version), I use this kind of line to get the voltage_drop:
voltage_drop=potential[1v]-potential[0v]
and get  the average voltage_drop, which is like yesterday's attachment (yesterday's picture is the voltage drop 2V-0V).

2. I still have problem on the "export the voltage drop 3D grid data as a CUBE file "

I am trying to use VESTA to get the 3d data, (not familiar with VESTA or Gaussian), so what kind of "file.*" I should export ? I export the data as ".txt" format, but it can not be import by VESTA.

3. I set the  "electrode_voltages=( 1.0*Volt, -1.0*Volt)" in "1v.py", I hope to get the voltage drop from left to right, but the average voltage drop seem like drop from right (1V)to left(-1V) (like yesterday's attachment), I don understand it.

you said "The picture is correct, if you want it the other way you would need the opposite sign of the bias.". could you explain it more detail ?  Thanks.

4. I have a problem about the voltage_drop surface isovalue, as the attachment shows(calculated and analyised by ATK11-8).

I set "electrode_voltages=( 1.0*Volt, -1.0*Volt)"

4.1,
The average voltage drop shows in the left side is "-1V", not "1V", why ?
4.2,
the surface isovalue is "0.9", as the blue color shows, this "0.9" is 0.9V(like the voltage drop that I hope to get), or something else?
4.3,
the unit of the color-bar is deltaVH(eV), and the value is from (-0.9-0.9), is there some connection between this 0.9(in the color bar) with that 0.9 (the surface isovalue)?


One more thing, could set a larger size abot the attachment ? ,400KB seems a little small.


Thanks
 





40
Dear,

I build a device model, and calculate the "voltage drop" (0V vs 2V)
I want to see the voltage drop along z direction  through "surface isovalue"

Problems are :
1.
with 11.8 version, I can see the "surface isovalue" change from 0V to 2V,
with 13.8 version, the the "surface isovalue " is quite small (about 0.07), I think it is because of the unit. right?

2.
I know how to get the average voltage drop
http://quantumwise.com/images/stories/mini-tutorials/iv/voltage_drop_analyzer.py
, but Is there any simple script to export the 3-d data ?
I hope to extract the data, and draw picture in Matlab.

3. I set the  "   electrode_voltages=( 1.0*Volt, -1.0*Volt)"
the result is like the attachment.

However, I hope to get the voltage drop from left to right
why the average value is not like that.


Thanks.

41
Dear Sir,
First, the interface model building part helps me alot to my own work, I think ATK is the most powerful "model builder".  Thanks ATK.

I have two questions:
First,
When we put two surfaces into "first" and "second" surface, click "creat",
the software will give us a default interface model.
question is, why the software gives us this special model?

Second,
When we put two surfaces into "first" and "second" surface, click "select surface cells",
there will be alot of interface models for us to choose,
As my experience, the figure: "Number of Atoms---Mean absolute strain" ,
does not contain all the possible lattice match.
(you can try this with small  "grid size")
So, question is, why this figure does not contain all the possible matches?
or, what is the algorithm of this figure.

Thanks~

 

42
Explicitly, if we denote the first (left) surface lattice vectors as A and B, and the second (right) ones as A' and B', then in the Interface Builder these vectors are aligned such that both A and A' are parallel to the x-axis, i.e. A=ax*x and A'=ax'*x, and B=bx*x+by*y and B'=bx'*x+by'*y, and

e11 = (ax'-ax)/ax
e22 = (by'-by)/by
e12 = 1/2*(bx' - ax'/ax*bx)/by


Thanks for your patient.
I got it.

43
Thanks for your reply.

I still confuse about how to get the shear percentage. I draw a picture, pink----blue. so e11=(a1-a2)/a2; e22=(b1-b2')/b2'. so what e12 mean?

hope to get your reply again.

Thanks~





Because a surface cell consists of two unit vectors, it may be easy to understand them as below:
1--> x, 2-->y, so  11---> xx, 22-->yy;  12--> xy, 21--> yx.


44
Dear Sir,

I have a problem on understanding the shear percentage "e12" in interface building.

I use atk-12.8, to build a interface structure.When "select surface cells", there are three "strain" (e11,e22,e12) for each cell match. I know the meanings of e11 and e22, but do not understand what does the "e12" mean.

could you give an example what the e12 means ?

Thanks~

Yong Fang

45
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

Pages: 1 2 [3] 4 5 ... 10