Author Topic: problem about relaxation with different boundary condictions  (Read 1959 times)

0 Members and 1 Guest are viewing this topic.

Offline kmiao

  • New QuantumATK user
  • *
  • Posts: 1
  • Country: us
  • Reputation: 0
    • View Profile
Hi, I am trying to relax one Metal/Semiconductor interface. I constrain some atoms in the semiconductor side, and make no constrain atoms in the metal side. The problem is that. I assume the metal atoms in the boundary should have the smallest position change. But after relaxation, the metal atoms in the boundary change a lot. Here is the script i am using for this test. Any idea about why?

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

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    GGABasis.Silicon_DoubleZeta,
    GGABasis.Titanium_DoubleZeta,
    ]

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

numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(4, 4, 1),
    )

iteration_control_parameters = IterationControlParameters(
    max_steps=1000,
    )

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('open_tisi2_1.nc', bulk_configuration)

constraints = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
bulk_configuration = OptimizeGeometry(
        bulk_configuration,
        max_forces=0.05*eV/Ang,
        max_steps=2000,
        max_step_length=0.5*Ang,
        constraints=constraints,
        trajectory_filename='open_tisi2_1_trajectory.nc',
        disable_stress=True,
        optimizer_method=QuasiNewton(),
        )
nlsave('open_tisi2_1_final.nc', bulk_configuration)
nlprint(bulk_configuration)

Kai