Dear sir,
I tried to calculate the phonon bandstructure of monolayer phosphorene with ATK-Classical method, but there were negative bands. The bulk had been optimized to Max force less than 0.001 eV/A and Max stress less than 0.001 eV/A. How can I eliminate the negative bands?
# -------------------------------------------------------------
# Bulk configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [6.68209223283, 0.0, 0.0]*Angstrom
vector_b = [0.0, 9.16633794912, 0.0]*Angstrom
vector_c = [0.0, 0.0, 40.0]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)
# Define elements
elements = [Phosphorus, Phosphorus, Phosphorus, Phosphorus, Phosphorus,
Phosphorus, Phosphorus, Phosphorus, Phosphorus, Phosphorus,
Phosphorus, Phosphorus, Phosphorus, Phosphorus, Phosphorus,
Phosphorus]
# Define coordinates
fractional_coordinates = [[ 0.24999996, 0.25000008, 0.44609425],
[ 0. , 0.41331253, 0.44609424],
[ 0.50000005, 0.4133125 , 0.44609424],
[ 0.24999996, 0.74999997, 0.44609422],
[ 0.75 , 0.74999994, 0.44609423],
[ 0.00000001, 0.91331268, 0.44609425],
[ 0.50000005, 0.91331264, 0.44609424],
[ 0.74999999, 0.25000003, 0.44609426],
[ 0. , 0. , 0.5 ],
[ 0.50000005, 0.00000003, 0.5 ],
[ 0.24999996, 0.16331255, 0.49999999],
[ 0.74999999, 0.1633126 , 0.49999998],
[ 0.00000001, 0.49999985, 0.49999999],
[ 0.50000005, 0.49999989, 0.5 ],
[ 0.24999996, 0.66331266, 0.50000002],
[ 0.75 , 0.66331269, 0.50000001]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
potentialSet = EAMFS_FeP_2004()
calculator = TremoloXCalculator(parameters=potentialSet)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('F:/P-As/pb-P.nc', bulk_configuration)
bulk_configuration = OptimizeGeometry(
bulk_configuration,
max_forces=0.001*eV/Ang,
max_stress=0.001*eV/Ang**3,
max_steps=200,
max_step_length=0.2*Ang,
trajectory_filename=None,
optimizer_method=LBFGS(),
)
nlsave('F:/P-As/pb-P.nc', bulk_configuration)
nlprint(bulk_configuration)
# -------------------------------------------------------------
# Phonon bandstructure
# -------------------------------------------------------------
phonon_bandstructure = PhononBandstructure(
configuration=bulk_configuration,
route=['G', 'X', 'Y', 'Z', 'G'],
points_per_segment=100,
number_of_bands=20
)
nlsave('F:/P-As/pb-P.nc', bulk_configuration)
nlsave('F:/P-As/pb-P.nc', phonon_bandstructure)