Recent Posts

Pages: 1 ... 8 9 [10]
91
General Questions and Answers / HartreeDifferencePotential caculation
« Last post by Steven Lin on August 30, 2025, 13:03 »
Hello, I recently wanted to reproduce the results from this tutorial: https://docs.quantumatk.com/tutorials/ag_si_interface/ag_si_interface.html, but I encountered an issue when calculating the HartreeDifferencePotential. I used the provided `device.py` script and configured the calculator exactly as described in the example. However, after the calculation completed, the output showed the following pattern: the potential values at both the start and end points are 0 eV, while the potential in the middle region is exceptionally large. Additionally, there are no signs of convergence even after 400 steps. Should I try increasing the number of steps to see if convergence can be achieved, or is there a mistake in my calculation settings?\
92
Dear experts,


Good morning, Executed IV HDF5 File is not showing at "Data" Section even saved at the desired folder. This is happening when I am using the updated version of the software. The simulation and execution itself has been done at the updated latest software.
I have tried that also , By moving the file from one location to another location.

93
Hi,

I am planning to study defects like vacancies and hydrogen interstitials. I would like to know what the main differences are between an approach based on the ChargedPointDefect object and an approached based on the ChargedPointDefectConfiguration object. Is one recommended over the other based on the specifics of the problem? Is one more general? Is it mostly that ChargedPointDefectConfiguration can more easily act on a set of defects rather than a single defect or a defect cluster?

Thank you for your help!
94
If 0.01 also gives convergence issues.. try 0.01 or 0.02 with history steps reduced 12
95
I am facing convergence issues. I will try 0.01 and see if that helps.

Thanks!
96
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.
97
I am currently using NVT Nose–Hoover for MD annealing, followed by atom and Z-axis relaxation with X and Y fixed.

With this approach, I observe about a 3% reduction in the Z lattice constant after relaxation, likely due to the relatively loose bonding in the initially relaxed interface structure. This means the cell experiences ~3% compressive strain along the Z direction during NVT MD, which may act as an artifact caused by the NVT XYZ constraint.

Since this strain likely arises from the use of NVT, NPT with Z-axis relaxation would provide a more realistic description of interface annealing, but this option is not supported.
98
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.
99
General Questions and Answers / RAMAN Spectrum on monolayer MoS2
« Last post by AsifShah on August 22, 2025, 08:08 »
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)
100
Hi,

In the OptimizeGeometry block, I can constrain the cell along the X, Y, and Z directions to fix each lattice constant during relaxation. However, in the MD block, there's no such an option.

Just to clarify, my question is about constraining the lattice constants, not about fixing individual atoms by tagging.
Pages: 1 ... 8 9 [10]