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 - Yue-Wen Fang

Pages: [1] 2
1
Great thanks for your hard work! Looking forward to your good news.

2
Hi, Dr. Ander Blom, thanks for your reply.

Yes, the example shown in CoO crystal is not physical, I just used it to post the bug. ! Besides,  if you change to study CoO/Co core-shell structures, it has to be considered to set different U parameters for the cobalt atoms in core and shell. I advise you to consider such cases in future updates because they are also import.

3
Dear Dr. Wellendorff,

Thanks for your information! I'm looking forward to your updates.

4
General Questions and Answers / Re: Current Source in QW
« on: September 17, 2015, 19:50 »
For the first question, I think it's not possible in a direct way! Generally, molecular dynamics (MD) simulations are used to describe the ions' motions by using the Newton's Second Law. As for the electrons' transport (not "moving")  behaviors can be resolved  by density functional theory within the non-equilibrium Green's function formalism in ATK.

5
Dear staff,

I followed this tutorial (http://quantumwise.com/documents/tutorials/latest/InAs-2D/index.html/chap.slab.html) and tried to apply different Hubbard U parameters for same kind of aotms which hold different positions. Here, let me take CoO as an example.

The model in the input file shown below contains two cobalt ions and two oxygen anions.

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

# Set up lattice
lattice = Rhombohedral(5.06138065551*Angstrom, 33.5573097619*Degrees)

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

# Define coordinates
fractional_coordinates = [[ 0.002,  0.002, -0.006],
                          [ 0.502,  0.502,  0.494],
                          [ 0.25 ,  0.25 ,  0.25 ],
                          [ 0.75 ,  0.75 ,  0.75 ]]

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

# Add tags
bulk_configuration.addTags('cobalt1', [1])

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------


cobalt_3d = ConfinedOrbital(
    principal_quantum_number=3,
    angular_momentum=2,
    radial_cutoff_radius=4.07498342334*Bohr,
    confinement_start_radius=3.25998673867*Bohr,
    additional_charge=0,
    confinement_strength=24.5399771266*Hartree,
    confinement_power=1,
    radial_step_size=0.001*Bohr,
    )

cobalt_3d_split = AnalyticalSplit(cobalt_3d, split_norm=0.15)

cobalt_4s = ConfinedOrbital(
    principal_quantum_number=4,
    angular_momentum=0,
    radial_cutoff_radius=6.93481368132*Bohr,
    confinement_start_radius=5.54785094506*Bohr,
    additional_charge=0,
    confinement_strength=14.4199980844*Hartree,
    confinement_power=1,
    radial_step_size=0.001*Bohr,
    )

cobalt_4s_polarization = PolarizationOrbital(cobalt_4s)

cobalt_4s_split = AnalyticalSplit(cobalt_4s, split_norm=0.15)

CobaltBasis = BasisSet(
    element=PeriodicTable.Cobalt,
    orbitals=[ cobalt_3d , cobalt_4s , cobalt_3d_split , cobalt_4s_split , cobalt_4s_polarization ],
    occupations=[ 7.0 , 2.0 , 0.0 , 0.0 , 0.0],
    hubbard_u=[ 4.1 , 0.0 , 4.1 , 0.0 , 0.0]*eV,
    filling_method=SphericalSymmetric,
    pseudopotential=NormConservingPseudoPotential("normconserving/CO.GGAPBE.zip"),
    )



cobalt_tag1_3d = ConfinedOrbital(
    principal_quantum_number=3,
    angular_momentum=2,
    radial_cutoff_radius=4.07498342334*Bohr,
    confinement_start_radius=3.25998673867*Bohr,
    additional_charge=0,
    confinement_strength=24.5399771266*Hartree,
    confinement_power=1,
    radial_step_size=0.001*Bohr,
    )

cobalt_tag1_3d_split = AnalyticalSplit(cobalt_tag1_3d, split_norm=0.15)

cobalt_tag1_4s = ConfinedOrbital(
    principal_quantum_number=4,
    angular_momentum=0,
    radial_cutoff_radius=6.93481368132*Bohr,
    confinement_start_radius=5.54785094506*Bohr,
    additional_charge=0,
    confinement_strength=14.4199980844*Hartree,
    confinement_power=1,
    radial_step_size=0.001*Bohr,
    )

cobalt_tag1_4s_polarization = PolarizationOrbital(cobalt_tag1_4s)

cobalt_tag1_4s_split = AnalyticalSplit(cobalt_tag1_4s, split_norm=0.15)

Tag1_CobaltBasis = BasisSet(
    element=PeriodicTable.Cobalt,
    orbitals=[ cobalt_tag1_3d , cobalt_tag1_4s , cobalt_tag1_3d_split , cobalt_tag1_4s_split , cobalt_tag1_4s_polarization ],
    occupations=[ 7.0 , 2.0 , 0.0 , 0.0 , 0.0],
    hubbard_u=[ 3.1 , 0.0 , 3.1 , 0.0 , 0.0]*eV,
    filling_method=SphericalSymmetric,
    pseudopotential=NormConservingPseudoPotential("normconserving/CO.GGAPBE.zip"),
    )

basis_set = [
    GGABasis.Oxygen_DoubleZetaPolarized,
    CobaltBasis,
    ('cobalt1', Tag1_CobaltBasis ),
    ]

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

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(3, 3, 3),
    density_mesh_cutoff=80.0*Hartree,
    )

iteration_control_parameters = IterationControlParameters(
    damping_factor=0.3,
    max_steps=200,
    tolerance=0.0002,
    number_of_history_steps=22,
    )

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

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('differentu.nc', bulk_configuration)

# -------------------------------------------------------------
# Mulliken population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(bulk_configuration)
nlsave('differentu.nc', mulliken_population)
nlprint(mulliken_population)

# -------------------------------------------------------------
# Density of states
# -------------------------------------------------------------
density_of_states = DensityOfStates(
    configuration=bulk_configuration,
    kpoints=MonkhorstPackGrid(5,5,5),
    energy_zero_parameter=FermiLevel,
    bands_above_fermi_level=None,
    )
nlsave('differentu.nc', density_of_states)
nlprint(density_of_states)


I applied different U values for the two Co, with first one was 3.1 and second one 4.1 as presented in the input file.  However, it failed with these errors:
Code
+----------------------------------------------------------+
| Bulk Bravais lattice                                     |
+----------------------------------------------------------+
Type:
Rhombohedral

Lattice constants:
a =     5.061381 Ang
b =     5.061381 Ang
c =     5.061381 Ang

Lattice angles:
alpha =    33.557310 deg
beta  =    33.557310 deg
gamma =    33.557310 deg

Primitive vectors:
u_1 =      4.132600      2.066300      2.066300 Ang
u_2 =      2.066300      4.132600      2.066300 Ang
u_3 =      2.066300      2.066300      4.132600 Ang

+----------------------------------------------------------+
| Bulk: Cartesian (Angstrom) / fractional                  |
+----------------------------------------------------------+
4
Bulk
Co   -3.712308e-15 -3.712308e-15 -1.653040e-02    0.00200  0.00200 -0.00600
Co    4.132600e+00  4.132600e+00  4.116070e+00    0.50200  0.50200  0.49400
O     2.066300e+00  2.066300e+00  2.066300e+00    0.25000  0.25000  0.25000
O     6.198900e+00  6.198900e+00  6.198900e+00    0.75000  0.75000  0.75000
+------------------------------------------------------------------------------+
|                                                                              |
| DFT Calculation  [Started Thu Sep 17 20:44:47 2015]                          |
|                                                                              |
+------------------------------------------------------------------------------+

                            |--------------------------------------------------|
Calculating Nonlocal Part  : ==================================================

                            |--------------------------------------------------|
Calculating Kinetic Matrix : ==================================================
Traceback (most recent call last):
  File ".\zipdir\NL\Calculators\BulkCalculatorInterface.py", line 233, in _update
  File ".\zipdir\NL\Calculators\LCAOCalculator\LCAOCalculator.py", line 1121, in scfLoop
  File ".\zipdir\NL\Calculators\LCAOCalculator\LCAOCalculator.py", line 654, in scfLoopHamiltonian
  File ".\zipdir\NL\Calculators\LCAOCalculator\Builders\AbstractLCAOBuilder.py", line 280, in createHubbardTermCalculator
AttributeError: 'tuple' object has no attribute 'element'

Note: Here, VNL-13.8.1 and VNL-2014.3 were both tested.

I think this is caused by the Tag lines in the py files. After removing the lines, it can run. Hope experts in Quantumwise can help give a solution. Thank you in advance!

6
Prof. zh,

Thanks for your kind assistance.

7
To calculate the complex band structure of whole Fe/MgO(001)/Fe MTJ, you may convert the atomic structure into a bulk configuration.

For the MgO(001) case, you need to cleave the surface and make it without vacuum layer.

In addition, do I need to set very dense k grid along c-axis (transport direction) as do in the transmission calculations?

Bests
Fang

8
Hi, Prof. zh,

Thank you for your kind reply!

If I want to compare the conductance of for parallel configurations and anti-parallel configurations of  Fe/MgO/Fe MTJ from the view of complex band, do you mean that I just need convert the device configurations into bulk configurations and further make a complex band structure calculation for the Fe/MgO/Fe superlattice (bulk configurations)?

Thanks!


9
What you have in those two figures are k-space resolved transmission spectra. Would you say that conductance is related to the integral transmission in all of k-space, or do you expect conductance only in specific (k_A, k_B) points in k-space?  If the former, it's hard to say from a quick look at the pictures which displays the highest conductance.

Besides, I want to calculate the complex band structures for the materials. For a junction, e.g. Fe/MgO(001)/Fe MTJ,  do I need to convert the device configuration of Fe/MgO/Fe into bulk configuration, and remove the Fe atoms to calculate the complex band structures? From the official example for Si(100), it seems that we need to cleave the surfaces. For MgO,  do I need cleave the (001) surface?

Thanks again.

10
Hi again,

I modified some parameters in my job.pbs and now it works well though I don't know how it works.

It's very dependent on the environmental variables.  I also reproduced the results with other users on the same server, it becomes very fast.

11
Hi, Prof.  Jess Wellendorff

Thanks for all your responses. When I posted this question, I thought transmission T in the Landauer formalism was just the max values shown in the color bar in the figures. But after reading some related reference papers and your reply, I feel I was wrong. T should be the integral transmission in BZ as you said.

Thanks again!

12
Dear all,

I calculated two tunnelling states withe the corresponding sum transmission coefficient at the Fermi level without applying bias which are shown in the attachment. As shown in First-state.png and second-state.png, could I conclude that the second state has better conductance than that in the first state based on Landauer formula g=(e^2/h)T? What physics could I get from the two pictures?

Thank you in advance.

13
Dear Prof. Jess,

 Yes, I have repeated the structure, thus the supercell was quite large. Based on your previous instructions, I used several nodes with large memory (24G/core) to calculate it, but it still failed. On the other hand, I could run the same script in my windows PC with a total of 8G memory and 4 cores and it was very fast. Besides, I also realized that when I use a command in the terminal of the server, i.e. atkpython < .py >.log, it was also much faster than the jobs submitted by job.pbs. It's really a tricky thing. So I think this error could be caused by my job.pbs.

 Could you have a look at it for me? Please see the attached.

Great thanks.


14
Dear Prof. Jess Wellendorff

Thank you for your suggestion. I'll have a try and then give you feedback.

15
Hi all,

I performed some  phonon Kinetic matrix calculations for a 20-atom structure in my windows PC, they work well but were time consuming. I thus moved to linux server to do the same calculations. In linux, I used 2 cores at two nodes (and 4cores/nodes) for ATK-DFT (energy cutoff: 90 Hartree; 8*8*6 kgrid). But during calculations it crashed after self-consistent calculations with ATK errors shown below. The ATK version is 2014.3.

Code
|  14 E = -52.5709 dE =  9.491318e-06 dH =  3.159575e-06                       |
+------------------------------------------------------------------------------+
| Calculation Converged in 14 steps                                            |
|                                                                              |
| Fermi Level  = -3.417684 eV                                                  |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
|                                                                              |
| DFT Calculation  [Finished Wed Aug 26 17:31:31 2015]                         |
|                                                                              |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Phonon: Automatically detected repetitions = [5 3 5]                         |
+------------------------------------------------------------------------------+

                            |--------------------------------------------------|
Calculating Kinetic Matrix : ===================rank 1 in job 1  a130_36884   caused collective abort of all ranks
  exit status of rank 1: killed by signal 9

The job log indicated that
Code
+ /opt/intel/impi/4.0.1.007/intel64/bin/mpirun --rsh=ssh -env I_MPI_DEVICE rdma:OpenIB-cma -np 2 atkpython ./phonon.py
terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc

Could anyone give some suggestions? Thank you in advance.

Pages: [1] 2