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

Pages: [1] 2 3 ... 15
1
General Questions and Answers / Re: DFT Phonon Transmission
« on: November 2, 2025, 09:18 »
Hi
I fine tuned MACE with additional data as per my requirement and when run on GPU, it is very very slow. It has been one day it shows only two progress cells in phonon transmission. The total size is 928 atoms

Is this normal?

2
Dear Admin,
I am trying to launch a simulation from SLURM. It shows active status on squeue but the log file is empty for long time.
I m using latest QuantumATK X.2025.06.

Kindly help in this regard!

3
Hi kaihuang,

Can you check with these quick fixes for the file D0_BulkDevice.py

1. Increase electrode extension.
2. Use k_point_sampling = MonkhorstPackGrid(na=12, nc=300).
3. Use medium basis set.



4
General Questions and Answers / Re: DFT Phonon Transmission
« on: September 3, 2025, 20:03 »
Thanks. I will take a look into universal forcefields.

5
Ah, just follow up. It turned out I had to choose the polarization average rather than polarization in/out. That worked, qualitatively atleast.

6
Hi,

Try closing and reopening QuantumATK. Also, make sure you have selected right folder under project icon (Top left)

7
Hi Pshinyeong,
From what I see you have commented the following lines:
#mpirun ~/QuantumATK23/quantumatk/V-2023.09/bin/atkpython_system-mpi $PYTHON_SCRIPT > $LOG_FILE
#mpirun /home/edrl_05/QuantumATK/QuantumATK-U-2022.12-SP1/bin/atkpython $PYTHON_SCRIPT > $LOG_FILE

Also, instead of using mpirun, I would recommend using QATK inbuilt mpiexec.hydra for parallelization and atkpython for execution.
Also, you need to update the paths, so your SLURM script will look something like this:
Code
#!/bin/bash

#SBATCH --job-name=QuantumATK
#SBATCH --ntasks=60
#SBATCH --ntasks-per-node=60
#SBATCH --nodes=1
#SBATCH --cpus-per-task=1
#SBATCH --output=%x-%j.out
#SBATCH --error=%x-%j.err
#SBATCH --partition=normal
#SBATCH --mem=210GB
#SBATCH --nodelist=n16,n15,n14

cd $SLURM_SUBMIT_DIR
export ATK=/home/edrl_05/QuantumATK/quantumatk/X-2025.06/bin/atkpython
export MPI=/home/edrl_05/QuantumATK/quantumatk/X-2025.06/mpi/bin/mpiexec.hydra
export MPIE=/home/edrl_05/QuantumATK/quantumatk/X-2025.06/mpi/bin/mpiexec
export MKL_DYNAMIC=TRUE
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1
export LM_LICENSE_FILE="path"
export SNPSLMD_LICENSE_FILE="path"

${MPI} ${ATK} in.py > out.log

8
If 0.01 also gives convergence issues.. try 0.01 or 0.02 with history steps reduced 12

9
What I understand is that you want to do NPT while fixing X and Y directions.
I think this is not possible.
Instead, what you can do is to use a NVT ensemble with vacuum in z direction. This will allow your system to relax in z direction but again this has some artifacts. One is that there will be surface effects at the termination in z direction. And one way to avoid that is using rigid atom constraint there.

10
Hi,
In MD block, you can then use NVT ensemble if you want to fix cell vectors. If you use NPT it will allow volume to change during MD.

11
Dear Admin,
I am trying to calculate Raman Spectrum of monolayer MoS2. But I only see one peak around 396 cm^-1 whereas the experimental peaks are around 385 and 403 cm^-1. Kindly clarify the issue. I also tried changing polarization direction to 100. That gives three peaks but incorrect also. The script is as follows:

Code
# %% Molybdenite (1)

# Set up lattice
lattice = Hexagonal(3.1604*Angstrom, 40.0*Angstrom)

# Define elements
elements = [Molybdenum, Sulfur, Sulfur]

# Define coordinates
fractional_coordinates = [[ 0.333333333333,  0.666666666667,  0.5           ],
                          [ 0.666666666667,  0.333333333333,  0.460348625   ],
                          [ 0.666666666667,  0.333333333333,  0.539651375   ]]

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

molybdenite_1_name = "Molybdenite (1)"


# %% Set LCAOCalculator

# %% LCAOCalculator

# ----------------------------------------
# Basis Set
# ----------------------------------------
basis_set = [
    BasisGGASG15.Sulfur_High,
    BasisGGASG15.Molybdenum_High,
]

k_point_sampling = MonkhorstPackGrid(na=13, nb=13)

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

calculator = LCAOCalculator(
    basis_set=basis_set,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    checkpoint_handler=NoCheckpointHandler,
)


# %% Set Calculator

molybdenite_1.setCalculator(calculator)

molybdenite_1.update()

nlsave('Raman_SG15High.hdf5', molybdenite_1)


# %% OptimizeGeometry

restart_strategy = RestartFromTrajectory(
    trajectory_filename='Raman_SG15High.hdf5',
    object_id='optimize_trajectory',
)

optimized_configuration = OptimizeGeometry(
    configuration=molybdenite_1,
    max_forces=0.01 * eV / Angstrom,
    constraints=[FixStrain(True, True, True)],
    trajectory_filename='Raman_SG15High.hdf5',
    trajectory_object_id='optimize_trajectory',
    optimize_cell=False,
    restart_strategy=restart_strategy,
)

nlsave('Raman_SG15High.hdf5', optimized_configuration, object_id='optgeom')


# %% DynamicalMatrix

dynamical_matrix = DynamicalMatrix(
    configuration=optimized_configuration,
    filename='Raman_SG15High.hdf5',
    object_id='dm',
    calculator=calculator,
)
dynamical_matrix.update()


# %% SusceptibilityDerivatives

kpoints = MonkhorstPackGrid(na=23, nb=23, nc=2)

susceptibility_derivatives = SusceptibilityDerivatives(
    configuration=optimized_configuration,
    filename='Raman_SG15High.hdf5',
    object_id='sd',
    kpoints=kpoints,
)

susceptibility_derivatives.update()


# %% RamanSpectrum

raman_spectrum = RamanSpectrum(
    configuration=optimized_configuration,
    dynamical_matrix=dynamical_matrix,
    susceptibility_derivatives=susceptibility_derivatives,
    polarization_in=(0.0, 0.0, 1.0),
    polarization_out=(0.0, 0.0, 1.0),
    number_of_angles=None,
    polarization_orthogonal=None,
)
nlsave('Raman_SG15High.hdf5', raman_spectrum)

12
Try Device LCAO for DDOS and LCAO for DOS/PDOS

13
Hi,
You need to check if QATK support this function internally for carrier concentration. If not you can write a python script for calculating carrier concentration post DOS calculation.

14
HI
Do u mean electron convergence or atomic force convergence?

For former, decrease the damping factor to 0.01 &/or history steps to 12.
For latter, try rattling of atoms around mean position.

15
Hi
This happens because QATK does not recognise the atoms in your electrode (left and right end) as repetitive after geometry optimization.
A way around is to use tag on few layers of atoms on left/right end and keep them fixed during optimization of central region but be careful this may introduce internal strain.
A better is way is to fix left side atoms of your material and keep right side atoms as rigid. Also, put a vacuum on the right side so that the rigid atoms can move into vacuum for proper relaxation. Then post relaxation remove vacuum using fit cell and you can easily create device.

Pages: [1] 2 3 ... 15