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 - zhenlan

Pages: [1]
1
Thank you for your reply and suggestions. I will make sure that the prameters are high enough and check the results then.

2
Method 1: Electron-Phonon Couplings: (k,q)-Dependent Method.
Parameter Setting: This method involves full angular (k,q)-dependence.

Method 2: Electron-Phonon Couplings: Energy-Dependent Method.
Parameter Setting: In this method, the k-space is sampled only along a line, and a two-step procedure is used (involving full angular (k,q)-dependence and isotropic scattering rates) to evaluate the room-temperature mobility 𝜇.

The input parameters are provided in the text.


3
Hi
I have been working on calculating the mobility of bilayer graphene using two different methods. However, I've encountered significant discrepancies in the mobility and carrier density values between the two approaches, even though I obtain similar results when applying these methods to single-layer graphene.

Below, I’ve outlined the two methods used along with their corresponding inputs and results. Could you please provide some guidance on what might be causing these differences?

Method 1:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='dm',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
dynamical_matrix.update()


# %% HamiltonianDerivatives

hamiltonian_derivatives = HamiltonianDerivatives(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='hd',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
hamiltonian_derivatives.update()


# %% ElectronPhononCoupling

kpoints_fractional = RegularKpointGrid(
    ka_range=(0.313333, 0.353333),
    kb_range=(0.313333, 0.353333),
    na=20,
    nb=20
)

qpoints_fractional = RegularKpointGrid(
    ka_range=(-0.04, 0.04),
    kb_range=(-0.04, 0.04),
    na=40,
    nb=40
)

electron_phonon_coupling = ElectronPhononCoupling(
    configuration=a_brelaxdyn_bulk_configuration_1,
    hamiltonian_derivatives=hamiltonian_derivatives,
    dynamical_matrix=dynamical_matrix,
    kpoints_fractional=kpoints_fractional,
    qpoints_fractional=qpoints_fractional,
    electron_bands=frozenset({8, 7}),
    energy_tolerance=0.01*eV,
    initial_state_energy_range=[-0.5,  0.5]*eV
)
nlsave('AB-mk-full-mo.hdf5', electron_phonon_coupling)


# %% Mobility (Full)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    electron_phonon_coupling=electron_phonon_coupling,
    fermi_shift=0.13*eV,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    calculate_hall_coefficients=False
)
nlsave('AB-mk-full-mo.hdf5', mobility)
and the mobility txt file is
Mobility_0@AB-mk-full-mo.hdf5

+------------------------------------------------------------------------------+
| Mobility Report                                                              |
| ---------------------------------------------------------------------------- |
| Input parameters:                                                            |
|     Temperature       = 300.00 K                                             |
|     Fermi level shift = 0.13 eV                                              |
|     Energy broadening = 0.0030 eV                                            |
|     q-grid refinement = 1                                                    |
|                                                                              |
+------------------------------------------------------------------------------+
| Trace of linear responce tensors:                                            |
+------------------------------------------------------------------------------+
|                                                                              |
| Electrons:                                                                   |
|                                                                              |
|     Mobility                 =  2.81e+04 cm^2/(V*s)                          |
|     Conductivity             =  1.40e+01 S/m                                 |
|     Seebeck coefficient      = -3.18e-05 V/K                                 |
|     Thermal conductivity     =  5.65e-05 W/(m*K)                             |
|     Carrier density (2D, xy) =  6.52e+06 cm^-2                               |
|                                                                              |
|                                                                              |
| Holes:                                                                       |
|                                                                              |
|     Mobility                 =  5.41e-05 cm^2/(V*s)                          |
|     Conductivity             =  1.38e-02 S/m                                 |
|     Seebeck coefficient      =  1.29e-03 V/K                                 |
|     Thermal conductivity     =  1.79e-06 W/(m*K)                             |
|     Carrier density (2D, xy) =  3.35e+12 cm^-2     

Method 2:
step 1:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='dm',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
dynamical_matrix.update()


# %% HamiltonianDerivatives

hamiltonian_derivatives = HamiltonianDerivatives(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='hd',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
hamiltonian_derivatives.update()


# %% ElectronPhononCoupling

kpoints_fractional = RegularKpointGrid(
    ka_range=(0.313333, 0.353333),
    kb_range=(0.313333, 0.353333),
    na=20,
    nb=1
)

qpoints_fractional = RegularKpointGrid(
    ka_range=(-0.04, 0.04),
    kb_range=(-0.04, 0.04),
    na=40,
    nb=40
)

electron_phonon_coupling = ElectronPhononCoupling(
    configuration=a_brelaxdyn_bulk_configuration_1,
    hamiltonian_derivatives=hamiltonian_derivatives,
    dynamical_matrix=dynamical_matrix,
    kpoints_fractional=kpoints_fractional,
    qpoints_fractional=qpoints_fractional,
    electron_bands=frozenset({8, 7}),
    energy_tolerance=0.01*eV,
    initial_state_energy_range=[-0.5,  0.5]*eV
)
nlsave('AB-mk-full-mo.hdf5', electron_phonon_coupling)


# %% Mobility (Full)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    electron_phonon_coupling=electron_phonon_coupling,
    fermi_shift=0.13*eV,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    calculate_hall_coefficients=False
)
nlsave('AB-mk-full-mo.hdf5', mobility)

step2:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]

mobility_full = nlread('AB-mk-full-mo.hdf5', Mobility)[0]

# %% Mobility (Isotropic)

kpoints = MonkhorstPackGrid(
    na=99,
    nb=99,
    nc=1
)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    kpoints=kpoints,
    method=Isotropic,
    fermi_shift=0.13*eV,
    mobility_object=mobility_full,
    inverse_relaxation_time=numpy.linspace(0, 1e+12, 100)*Second**-1,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    energies=numpy.linspace(-0.24, 0.24, 100)*eV,
    calculate_hall_coefficients=False
)
nlsave('AB-mu-line-iso.hdf5', mobility)

mobility results:
+------------------------------------------------------------------------------+
| Mobility Report                                                              |
| ---------------------------------------------------------------------------- |
| Input parameters:                                                            |
|     Temperature       = 300.00 K                                             |
|     Fermi level shift = 0.13 eV                                              |
|     Energy broadening = 0.0030 eV                                            |
|     q-grid refinement = 1                                                    |
|                                                                              |
+------------------------------------------------------------------------------+
| Trace of linear responce tensors:                                            |
+------------------------------------------------------------------------------+
|                                                                              |
| Electrons:                                                                   |
|                                                                              |
|     Mobility                 =  9.92e+04 cm^2/(V*s)                          |
|     Conductivity             =  2.10e+07 S/m                                 |
|     Seebeck coefficient      =  5.71e-05 V/K                                 |
|     Thermal conductivity     =  8.37e+01 W/(m*K)                             |
|     Carrier density (2D, xy) =  2.77e+12 cm^-2                               |
|                                                                              |
|                                                                              |
| Holes:                                                                       |
|                                                                              |
|     Mobility                 =  4.29e+05 cm^2/(V*s)                          |
|     Conductivity             =  8.30e+04 S/m                                 |
|     Seebeck coefficient      =  1.22e-03 V/K                                 |
|     Thermal conductivity     =  9.48e+00 W/(m*K)                             |
|     Carrier density (2D, xy) =  2.54e+09 cm^-2                               |
|                                                                       

The relaxed structures input are attached for your reference.

Could you please help me understand the cause of these discrepancies, particularly in the bilayer graphene results? Any insight would be greatly appreciated.

Best regards,
ZY
The mobility values are different from my calculation. For the method 1:  Mobility   =  2.81e+04 cm^2/(V*s) , For method 2: Mobility  =  9.92e+04 cm^2/(V*s)  .

4
The mobility values are different from my calculation. For the method 1:  Mobility   =  2.81e+04 cm^2/(V*s) , For method 2: Mobility  =  9.92e+04 cm^2/(V*s)  .

5
Hi
I have been working on calculating the mobility of bilayer graphene using two different methods. However, I've encountered significant discrepancies in the mobility and carrier density values between the two approaches, even though I obtain similar results when applying these methods to single-layer graphene.

Below, I’ve outlined the two methods used along with their corresponding inputs and results. Could you please provide some guidance on what might be causing these differences?

Method 1:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='dm',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
dynamical_matrix.update()


# %% HamiltonianDerivatives

hamiltonian_derivatives = HamiltonianDerivatives(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='hd',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
hamiltonian_derivatives.update()


# %% ElectronPhononCoupling

kpoints_fractional = RegularKpointGrid(
    ka_range=(0.313333, 0.353333),
    kb_range=(0.313333, 0.353333),
    na=20,
    nb=20
)

qpoints_fractional = RegularKpointGrid(
    ka_range=(-0.04, 0.04),
    kb_range=(-0.04, 0.04),
    na=40,
    nb=40
)

electron_phonon_coupling = ElectronPhononCoupling(
    configuration=a_brelaxdyn_bulk_configuration_1,
    hamiltonian_derivatives=hamiltonian_derivatives,
    dynamical_matrix=dynamical_matrix,
    kpoints_fractional=kpoints_fractional,
    qpoints_fractional=qpoints_fractional,
    electron_bands=frozenset({8, 7}),
    energy_tolerance=0.01*eV,
    initial_state_energy_range=[-0.5,  0.5]*eV
)
nlsave('AB-mk-full-mo.hdf5', electron_phonon_coupling)


# %% Mobility (Full)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    electron_phonon_coupling=electron_phonon_coupling,
    fermi_shift=0.13*eV,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    calculate_hall_coefficients=False
)
nlsave('AB-mk-full-mo.hdf5', mobility)
and the mobility txt file is
Mobility_0@AB-mk-full-mo.hdf5

+------------------------------------------------------------------------------+
| Mobility Report                                                              |
| ---------------------------------------------------------------------------- |
| Input parameters:                                                            |
|     Temperature       = 300.00 K                                             |
|     Fermi level shift = 0.13 eV                                              |
|     Energy broadening = 0.0030 eV                                            |
|     q-grid refinement = 1                                                    |
|                                                                              |
+------------------------------------------------------------------------------+
| Trace of linear responce tensors:                                            |
+------------------------------------------------------------------------------+
|                                                                              |
| Electrons:                                                                   |
|                                                                              |
|     Mobility                 =  2.81e+04 cm^2/(V*s)                          |
|     Conductivity             =  1.40e+01 S/m                                 |
|     Seebeck coefficient      = -3.18e-05 V/K                                 |
|     Thermal conductivity     =  5.65e-05 W/(m*K)                             |
|     Carrier density (2D, xy) =  6.52e+06 cm^-2                               |
|                                                                              |
|                                                                              |
| Holes:                                                                       |
|                                                                              |
|     Mobility                 =  5.41e-05 cm^2/(V*s)                          |
|     Conductivity             =  1.38e-02 S/m                                 |
|     Seebeck coefficient      =  1.29e-03 V/K                                 |
|     Thermal conductivity     =  1.79e-06 W/(m*K)                             |
|     Carrier density (2D, xy) =  3.35e+12 cm^-2     

Method 2:
step 1:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='dm',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
dynamical_matrix.update()


# %% HamiltonianDerivatives

hamiltonian_derivatives = HamiltonianDerivatives(
    configuration=a_brelaxdyn_bulk_configuration_1,
    filename='AB-mk-full-mo.hdf5',
    object_id='hd',
    repetitions=(9, 9, 1),
    processes_per_displacement=8
)
hamiltonian_derivatives.update()


# %% ElectronPhononCoupling

kpoints_fractional = RegularKpointGrid(
    ka_range=(0.313333, 0.353333),
    kb_range=(0.313333, 0.353333),
    na=20,
    nb=1
)

qpoints_fractional = RegularKpointGrid(
    ka_range=(-0.04, 0.04),
    kb_range=(-0.04, 0.04),
    na=40,
    nb=40
)

electron_phonon_coupling = ElectronPhononCoupling(
    configuration=a_brelaxdyn_bulk_configuration_1,
    hamiltonian_derivatives=hamiltonian_derivatives,
    dynamical_matrix=dynamical_matrix,
    kpoints_fractional=kpoints_fractional,
    qpoints_fractional=qpoints_fractional,
    electron_bands=frozenset({8, 7}),
    energy_tolerance=0.01*eV,
    initial_state_energy_range=[-0.5,  0.5]*eV
)
nlsave('AB-mk-full-mo.hdf5', electron_phonon_coupling)


# %% Mobility (Full)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    electron_phonon_coupling=electron_phonon_coupling,
    fermi_shift=0.13*eV,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    calculate_hall_coefficients=False
)
nlsave('AB-mk-full-mo.hdf5', mobility)

step2:
# %% Load BulkConfiguration

a_brelaxdyn_bulk_configuration_1 = nlread(
    filename=r'/home/energy/zhenlan/ATK/TBG/AB/ocu-mk/AB-relax-dyn.hdf5',
    object_id='BulkConfiguration_1'
)[0]

mobility_full = nlread('AB-mk-full-mo.hdf5', Mobility)[0]

# %% Mobility (Isotropic)

kpoints = MonkhorstPackGrid(
    na=99,
    nb=99,
    nc=1
)

mobility = Mobility(
    configuration=a_brelaxdyn_bulk_configuration_1,
    kpoints=kpoints,
    method=Isotropic,
    fermi_shift=0.13*eV,
    mobility_object=mobility_full,
    inverse_relaxation_time=numpy.linspace(0, 1e+12, 100)*Second**-1,
    integration_method=GaussianBroadening(
        broadening=0.003*eV
    ),
    energies=numpy.linspace(-0.24, 0.24, 100)*eV,
    calculate_hall_coefficients=False
)
nlsave('AB-mu-line-iso.hdf5', mobility)

mobility results:
+------------------------------------------------------------------------------+
| Mobility Report                                                              |
| ---------------------------------------------------------------------------- |
| Input parameters:                                                            |
|     Temperature       = 300.00 K                                             |
|     Fermi level shift = 0.13 eV                                              |
|     Energy broadening = 0.0030 eV                                            |
|     q-grid refinement = 1                                                    |
|                                                                              |
+------------------------------------------------------------------------------+
| Trace of linear responce tensors:                                            |
+------------------------------------------------------------------------------+
|                                                                              |
| Electrons:                                                                   |
|                                                                              |
|     Mobility                 =  9.92e+04 cm^2/(V*s)                          |
|     Conductivity             =  2.10e+07 S/m                                 |
|     Seebeck coefficient      =  5.71e-05 V/K                                 |
|     Thermal conductivity     =  8.37e+01 W/(m*K)                             |
|     Carrier density (2D, xy) =  2.77e+12 cm^-2                               |
|                                                                              |
|                                                                              |
| Holes:                                                                       |
|                                                                              |
|     Mobility                 =  4.29e+05 cm^2/(V*s)                          |
|     Conductivity             =  8.30e+04 S/m                                 |
|     Seebeck coefficient      =  1.22e-03 V/K                                 |
|     Thermal conductivity     =  9.48e+00 W/(m*K)                             |
|     Carrier density (2D, xy) =  2.54e+09 cm^-2                               |
|                                                                       

The relaxed structures input are attached for your reference.

Could you please help me understand the cause of these discrepancies, particularly in the bilayer graphene results? Any insight would be greatly appreciated.

Best regards,
ZY


6
Thank you for your reply.

7
Dear all,

I am currently working on a phonon band structure calculation. Unfortunately, the process stopped before completion. I would like to restart it but couldn't find instructions on how to do so in the tutorial. Below is the script I am using.



# Set up lattice
lattice = Hexagonal(10.7585*Angstrom, 21.0*Angstrom)

# Define elements
elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon]

# Define coordinates
fractional_coordinates = [[ 0.     ,  0.     ,  0.42024],
                          [ 0.03509,  0.2807 ,  0.42024],
                          [ 0.15789,  0.26315,  0.42024],
                          [ 0.29825,  0.38597,  0.42024],
                          [ 0.05263,  0.42105,  0.42024],
                          [ 0.19298,  0.54386,  0.42024],
                          [ 0.31579,  0.52632,  0.42024],
                          [ 0.45614,  0.64912,  0.42024],
                          [ 0.57895,  0.63158,  0.42024],
                          [ 0.7193 ,  0.75439,  0.42024],
                          [ 0.08772,  0.70176,  0.42024],
                          [ 0.21053,  0.68421,  0.42024],
                          [ 0.35088,  0.80702,  0.42024],
                          [ 0.47368,  0.78947,  0.42024],
                          [ 0.61404,  0.91229,  0.42024],
                          [ 0.73684,  0.89473,  0.42024],
                          [ 0.87719,  1.01754,  0.42024],
                          [ 0.10526,  0.8421 ,  0.42024],
                          [ 0.24561,  0.96491,  0.42024],
                          [ 0.36842,  0.94737,  0.42024],
                          [ 0.50877,  1.07017,  0.42024],
                          [ 0.63158,  1.05263,  0.42024],
                          [ 0.77193,  1.17544,  0.42024],
                          [ 0.89474,  1.1579 ,  0.42024],
                          [ 0.14035,  1.12281,  0.42024],
                          [ 0.26316,  1.10527,  0.42024],
                          [ 0.40351,  1.22807,  0.42024],
                          [ 0.52632,  1.21053,  0.42024],
                          [ 0.66667,  1.33334,  0.42024],
                          [ 0.78947,  1.31579,  0.42024],
                          [ 0.92982,  1.43859,  0.42024],
                          [ 0.42105,  1.36842,  0.42024],
                          [ 0.5614 ,  1.49122,  0.42024],
                          [ 0.68421,  1.47368,  0.42024],
                          [ 0.82456,  1.59649,  0.42024],
                          [ 0.94737,  1.57895,  0.42024],
                          [ 0.84211,  1.73685,  0.42024],
                          [ 0.98246,  1.85965,  0.42024],
                          [ 0.     ,  0.     ,  0.57976],
                          [ 0.12281,  0.14035,  0.57976],
                          [ 0.10526,  0.26315,  0.57976],
                          [ 0.22807,  0.40351,  0.57976],
                          [ 0.36842,  0.42105,  0.57976],
                          [ 0.49123,  0.56141,  0.57976],
                          [ 0.07018,  0.50878,  0.57976],
                          [ 0.21053,  0.52632,  0.57976],
                          [ 0.33333,  0.66666,  0.57976],
                          [ 0.47368,  0.68421,  0.57976],
                          [ 0.59649,  0.82456,  0.57976],
                          [ 0.73684,  0.8421 ,  0.57976],
                          [ 0.85965,  0.98246,  0.57976],
                          [ 0.05263,  0.63158,  0.57976],
                          [ 0.17544,  0.77193,  0.57976],
                          [ 0.31579,  0.78947,  0.57976],
                          [ 0.4386 ,  0.92983,  0.57976],
                          [ 0.57895,  0.94737,  0.57976],
                          [ 0.70175,  1.08771,  0.57976],
                          [ 0.84211,  1.10527,  0.57976],
                          [ 0.96491,  1.24561,  0.57976],
                          [ 0.01754,  0.87719,  0.57976],
                          [ 0.15789,  0.89473,  0.57976],
                          [ 0.2807 ,  1.03509,  0.57976],
                          [ 0.42105,  1.05263,  0.57976],
                          [ 0.54386,  1.19298,  0.57976],
                          [ 0.68421,  1.21053,  0.57976],
                          [ 0.80702,  1.35088,  0.57976],
                          [ 0.94737,  1.36842,  0.57976],
                          [ 0.26316,  1.1579 ,  0.57976],
                          [ 0.38596,  1.29824,  0.57976],
                          [ 0.52632,  1.31579,  0.57976],
                          [ 0.64912,  1.45614,  0.57976],
                          [ 0.78947,  1.47368,  0.57976],
                          [ 0.91228,  1.61403,  0.57976],
                          [ 0.63158,  1.57895,  0.57976],
                          [ 0.75439,  1.7193 ,  0.57976],
                          [ 0.89474,  1.73685,  0.57976]]

# Set up configuration
tbg13cif = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )
tbg13cif_name = "tbg13cif"


# %% Set LCAOCalculator

# %% LCAOCalculator

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

correction_extension = GrimmeDFTD3(
    exchange_correlation=exchange_correlation
)

k_point_sampling = MonkhorstPackGrid(
    na=5,
    nb=5,
    nc=1
)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=70.0*Hartree,
    k_point_sampling=k_point_sampling
)

iteration_control_parameters = IterationControlParameters(
    tolerance=1e-06
)

calculator = LCAOCalculator(
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    iteration_control_parameters=iteration_control_parameters,
    checkpoint_handler=NoCheckpointHandler,
    correction_extension=correction_extension
)


# %% Set Calculator

tbg13cif.setCalculator(calculator)

tbg13cif.update()

nlsave('TBG-13-ocu-relax-dyn.hdf5', tbg13cif)


# %% OptimizeGeometry

restart_strategy = RestartFromTrajectory(
    trajectory_filename='TBG-13-ocu-relax-dyn.hdf5',
    object_id='optimize_trajectory'
)

optimized_configuration = OptimizeGeometry(
    configuration=tbg13cif,
    max_forces=0.001*eV/Angstrom,
    constraints=[
        FixStrain(False, False, True)
    ],
    trajectory_filename='TBG-13-ocu-relax-dyn.hdf5',
    trajectory_object_id='optimize_trajectory',
    optimize_cell=True,
    restart_strategy=restart_strategy
)

nlsave('TBG-13-ocu-relax-dyn.hdf5', optimized_configuration)


# %% Bandstructure

bandstructure = Bandstructure(
    configuration=optimized_configuration,
    route=['G', 'M', 'K', 'G']
)
nlsave('TBG-13-ocu-relax-dyn.hdf5', bandstructure)


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=optimized_configuration,
    filename='TBG-13-ocu-relax-dyn.hdf5',
    object_id='dm',
    calculator=calculator,
    repetitions=(3, 3, 1),
    processes_per_displacement=8
)
dynamical_matrix.update()


# %% PhononBandstructure

phonon_bandstructure = PhononBandstructure(
    dynamical_matrix=dynamical_matrix,
    configuration=optimized_configuration,
    route=['G', 'M', 'K', 'G'],
    points_per_segment=100
)
nlsave('TBG-13-ocu-relax-dyn.hdf5', phonon_bandstructure)

Thank you for your assistance!

Best regards,
Zy

8
Hi,
I am currently working on calculating the phonon band structure for a particular system. However, I encountered a discrepancy between the results obtained using ATK (QuantumATK) and VASP:

ATK Calculation: The phonon band structure shows negative frequencies, suggesting dynamic instability.
VASP Calculation: The phonon band structure does not exhibit these negative frequencies.
For your reference, I have attached the phonon band structures generated by both ATK and VASP. Additionally, I have included the input script used for the ATK calculations below:

 -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
lattice = Hexagonal(6.53017*Angstrom, 21.0*Angstrom)

# Define elements
elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
            Carbon, Carbon, Carbon, Carbon]

# Define coordinates
fractional_coordinates = [[ 0.      ,  0.      ,  0.420238],
                          [ 0.095238,  0.47619 ,  0.420238],
                          [ 0.285714,  0.428571,  0.420238],
                          [ 0.523809,  0.619047,  0.420238],
                          [ 0.142857,  0.714286,  0.420238],
                          [ 0.380952,  0.904761,  0.420238],
                          [ 0.571429,  0.857143,  0.420238],
                          [ 0.809524,  1.047619,  0.420238],
                          [ 0.238095,  1.190476,  0.420238],
                          [ 0.428571,  1.142857,  0.420238],
                          [ 0.666667,  1.333334,  0.420238],
                          [ 0.857143,  1.285714,  0.420238],
                          [ 0.714286,  1.571429,  0.420238],
                          [ 0.952381,  1.761905,  0.420238],
                          [ 0.      ,  0.      ,  0.579762],
                          [ 0.190476,  0.238095,  0.579762],
                          [ 0.142857,  0.428571,  0.579762],
                          [ 0.333333,  0.666666,  0.579762],
                          [ 0.571429,  0.714286,  0.579762],
                          [ 0.761905,  0.952381,  0.579762],
                          [ 0.047619,  0.809524,  0.579762],
                          [ 0.285714,  0.857143,  0.579762],
                          [ 0.47619 ,  1.095238,  0.579762],
                          [ 0.714286,  1.142857,  0.579762],
                          [ 0.904762,  1.380953,  0.579762],
                          [ 0.428571,  1.285714,  0.579762],
                          [ 0.619048,  1.52381 ,  0.579762],
                          [ 0.857143,  1.571429,  0.579762]]

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
k_point_sampling = MonkhorstPackGrid(
    na=7,
    nb=7,
    )
numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=50.0*Hartree,
    k_point_sampling=k_point_sampling,
    occupation_method=MethfesselPaxton(1000.0*Kelvin*boltzmann_constant, 1),
    )

algorithm = PulayMixer(
    restart_strategy=AdaptiveHistoryRestart(
        effective_rank_fraction=0.0,
        ),
    )

iteration_control_parameters = IterationControlParameters(
    tolerance=1e-06,
    algorithm=algorithm,
    )

#----------------------------------------
# Grimme DFTD3
#----------------------------------------
correction_extension = GrimmeDFTD3(
    exchange_correlation=GGA.PBE,
    maximum_neighbour_distance=30.0*Ang,
    include_three_body_term=False,
    )

calculator = LCAOCalculator(
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    iteration_control_parameters=iteration_control_parameters,
    correction_extension=correction_extension,
    )

bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('TBG-21-relax.hdf5', bulk_configuration)

# -------------------------------------------------------------
# Optimize Geometry
# -------------------------------------------------------------

constraints = [FixStrain(x=False, y=False, z=True)]

bulk_configuration = OptimizeGeometry(
    bulk_configuration,
    max_forces=0.001*eV/Ang,
    max_stress=0.1*GPa,
    max_steps=200,
    max_step_length=0.2*Ang,
    constraints=constraints,
    trajectory_filename='TBG-21-relax_trajectory.hdf5',
    trajectory_interval=5.0*Minute,
    restart_strategy=RestartFromTrajectory(),
    optimizer_method=LBFGS(),
    enable_optimization_stop_file=True,
)
nlsave('TBG-21-relax.hdf5', bulk_configuration)
nlprint(bulk_configuration)


# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
path = '/home/energy/zhenlan/ATK/TBG/21/TBG-21-relax.hdf5'
configuration = nlread(path, object_id='BulkConfiguration_1')[0]

# -------------------------------------------------------------
# Dynamical Matrix
# -------------------------------------------------------------
dynamical_matrix = DynamicalMatrix(
    configuration,
    filename='TBG-21-dynmat.hdf5',
    object_id='dynamical_matrix',
    repetitions=(3, 3, 1),
    use_symmetry=False,
    atomic_displacement=0.01*Angstrom,
    acoustic_sum_rule=True,
    finite_difference_method=Central,
    force_tolerance=1e-08*Hartree/Bohr**2,
    processes_per_displacement=4,
    log_filename_prefix='forces_displacement_',
    use_wigner_seitz_scheme=False,
    )
dynamical_matrix.update()

# -------------------------------------------------------------
# Phonon Bandstructure
# -------------------------------------------------------------
phonon_bandstructure = PhononBandstructure(
    configuration=configuration,
    dynamical_matrix=dynamical_matrix,
    route=['G', 'M', 'K', 'G'],
    points_per_segment=100,
    number_of_bands=All
    )
nlsave('TBG-21-dynmat.hdf5', phonon_bandstructure)

If anyone has encountered similar issues or has insights on how to align the settings between ATK and VASP more closely, I would greatly appreciate your input.

Best regards,
ZY

Pages: [1]