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

Pages: [1]
1
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!

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

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

4
Dear all,

Yesterday, I updated some add-on plugins for our VNL 2014.1. But when I wanted to open it in this morning, it presented an error.
Could you tell me how to fix this error?

Thank you in advance.

Bests
Fang

5
Dear all,

For the geometry optimization in ATK, we usually use the parameters including
Code
 OptimizeGeometry(
configuration,
max_forces,
max_stress,
max_steps,
max_step_length,
scf_restart_step_length,
constraints,
trajectory_filename,
disable_stress,
optimizer_method
)

For the small systems such as a five atoms unite cell, it's easy to get convergence.  However, I found that sometimes it's not a trivial thing for large systems more that 50 atoms using ATK-DFT methods in VNL-ATK 2014.1.  I think it should be caused the unreasonable optimization parameters setted by me.

As said by the official manual (http://www.quantumwise.com/documents/manuals/ATK-13.8/ReferenceManual/ref.optimizegeometry.html) , combining with my personal experience, max_forces is applied to atoms and the max_stress is applied to the cell. However, how to make them collaborate with each other effectively for large systems, together with max_steps and max_step_length?

In the VASP software, we usually set two converge criterion, one is energy and the other is force. ATK seems different from VASP in this aspect. Energy criterion is absent in ATK. I don't  understand why ATK employs max_step_length (the maximum step length the optimizer may take).  Especially, why angstrom is chosen to serve as its length unit?

Any comments are appreciated.
Thank you in advance.
Fang

6
Dear all,

The installed ATK with a floating license is in a SUGON high performance computer (SUGON-HPC) consisting of master node and many other computing nodes and storage nodes.



Before posting this topic, I have read the topics related to my problem in this forum and also asked help from HPC administrators and the cooperators of QuantumWise in China,  but I still haven't got a nice solution.

Any comment is appreciated.

Bests.
Fang


The problem was soloved  so I modify the content of this topic because of too many private information. Thanks to Dr. Anders's instructions.

7
In the morning, I found some information about meta-GGA from ATK manual.
It was stated that "A noteworthy detail about the meta-GGA exchange potential is that it can usually not be written as a derivative of an exchange functional. Therefore, meta-GGA is not recommended for geometry optimizations; for that, one should use standard GGA."
The question is why meta-GGA is not recommended fro geometry optimizations?
What's the relation between the exchange functional and geometry optimizations? ???

Thank you!

Pages: [1]