# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------
# Set up lattice
lattice = Hexagonal(3.1604*Angstrom, 12.295*Angstrom)
# Define elements
elements = [Molybdenum, Molybdenum, Sulfur, Sulfur, Sulfur, Sulfur]
# Define coordinates
fractional_coordinates = [[ 0.333333333333, 0.666666666667, 0.25 ],
[ 0.666666666667, 0.333333333333, 0.75 ],
[ 0.333333333333, 0.666666666667, 0.621 ],
[ 0.666666666667, 0.333333333333, 0.121 ],
[ 0.333333333333, 0.666666666667, 0.879 ],
[ 0.666666666667, 0.333333333333, 0.379 ]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = HybridGGA.HSE06
k_point_sampling = KpointDensity(
density_a=4.0*Angstrom,
)
numerical_accuracy_parameters = NumericalAccuracyParameters(
density_mesh_cutoff=55.0*Hartree,
k_point_sampling=k_point_sampling,
occupation_method=FermiDirac(300.0*Kelvin*boltzmann_constant),
)
calculator = LCAOCalculator(
exchange_correlation=exchange_correlation,
numerical_accuracy_parameters=numerical_accuracy_parameters,
)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('Molybdenite.hdf5', bulk_configuration)
# -------------------------------------------------------------
# Bandstructure
# -------------------------------------------------------------
bandstructure = Bandstructure(
configuration=bulk_configuration,
route=['G', 'M', 'L', 'A', 'G', 'K', 'H', 'A'],
points_per_segment=20,
bands_above_fermi_level=All,
method=Full,
)
nlsave('Molybdenite.hdf5', bandstructure)
# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------
# Set up lattice
lattice = Hexagonal(6.3208*Angstrom, 12.295*Angstrom)
# Define elements
elements = [Molybdenum, Molybdenum, Molybdenum, Molybdenum, Molybdenum,
Molybdenum, Molybdenum, Molybdenum, Sulfur, Sulfur, Sulfur, Sulfur,
Sulfur, Sulfur, Sulfur, Sulfur, Sulfur, Sulfur, Sulfur, Sulfur,
Sulfur, Sulfur, Sulfur, Sulfur]
# Define coordinates
fractional_coordinates = [[ 0.166666666667, 0.333333333333, 0.25 ],
[ 0.166666666667, 0.833333333333, 0.25 ],
[ 0.666666666667, 0.333333333333, 0.25 ],
[ 0.666666666667, 0.833333333333, 0.25 ],
[ 0.333333333333, 0.166666666667, 0.75 ],
[ 0.333333333333, 0.666666666667, 0.75 ],
[ 0.833333333333, 0.166666666667, 0.75 ],
[ 0.833333333333, 0.666666666667, 0.75 ],
[ 0.166666666667, 0.333333333333, 0.621 ],
[ 0.166666666667, 0.833333333333, 0.621 ],
[ 0.666666666667, 0.333333333333, 0.621 ],
[ 0.666666666667, 0.833333333333, 0.621 ],
[ 0.333333333333, 0.166666666667, 0.121 ],
[ 0.333333333333, 0.666666666667, 0.121 ],
[ 0.833333333333, 0.166666666667, 0.121 ],
[ 0.833333333333, 0.666666666667, 0.121 ],
[ 0.166666666667, 0.333333333333, 0.879 ],
[ 0.166666666667, 0.833333333333, 0.879 ],
[ 0.666666666667, 0.333333333333, 0.879 ],
[ 0.666666666667, 0.833333333333, 0.879 ],
[ 0.333333333333, 0.166666666667, 0.379 ],
[ 0.333333333333, 0.666666666667, 0.379 ],
[ 0.833333333333, 0.166666666667, 0.379 ],
[ 0.833333333333, 0.666666666667, 0.379 ]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = HybridGGA.HSE06
k_point_sampling = KpointDensity(
density_a=4.0*Angstrom,
)
numerical_accuracy_parameters = NumericalAccuracyParameters(
density_mesh_cutoff=55.0*Hartree,
k_point_sampling=k_point_sampling,
occupation_method=FermiDirac(300.0*Kelvin*boltzmann_constant),
)
calculator = LCAOCalculator(
exchange_correlation=exchange_correlation,
numerical_accuracy_parameters=numerical_accuracy_parameters,
)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('MoS2_bulk_control.hdf5', bulk_configuration)
# -------------------------------------------------------------
# Bandstructure
# -------------------------------------------------------------
bandstructure = Bandstructure(
configuration=bulk_configuration,
route=['G', 'M', 'L', 'A', 'G', 'K', 'H', 'A'],
points_per_segment=20,
bands_above_fermi_level=All,
method=Full,
)
nlsave('MoS2_bulk_control.hdf5', bandstructure)