QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: Ji_BUF on April 24, 2019, 02:55
-
Dear all,
I am trying to calculate the phonon spectrum of a 8-dimer armchair graphene nanoribbon by following the example given by: https://docs.quantumwise.com/tutorials/phonon_calcs/phonon_calcs.html.
1. I want to optimize the geometry of the GNR and followed the exact procedure in the tutorial, but ended up with the error messages says: "The underlying configuration must be equal for the input DynamicMatrix and the object being calculated.".
2. I want to seperate the phonon spectrum calculated into longitudinal, transverse, and flexural modes. Has anyone done this before?
Thank you for your time!
-
I am trying to calculate the phonon spectrum of a 8-dimer armchair graphene nanoribbon by following the example given by: https://docs.quantumwise.com/tutorials/phonon_calcs/phonon_calcs.html.
1. I want to optimize the geometry of the GNR and followed the exact procedure in the tutorial, but ended up with the error messages says: "The underlying configuration must be equal for the input DynamicMatrix and the object being calculated.".
Please attach the script (and log) file that produced that error.
-
# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------
# Set up lattice
vector_a = [20.0, 0.0, 0.0]*Angstrom
vector_b = [0.0, 30.0, 0.0]*Angstrom
vector_c = [0.0, 0.0, 4.26258]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)
# Define elements
elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon]
# Define coordinates
fractional_coordinates = [[ 0.5 , 0.356441566891, 0.666666666667],
[ 0.5 , 0.397458262065, 0.833333333333],
[ 0.5 , 0.356441566891, 0.333333333333],
[ 0.5 , 0.438474957239, 0.666666666667],
[ 0.5 , 0.479491652413, 0.833333333333],
[ 0.5 , 0.397458262065, 0.166666666667],
[ 0.5 , 0.438474957239, 0.333333333333],
[ 0.5 , 0.520508347587, 0.666666666667],
[ 0.5 , 0.561525042761, 0.833333333333],
[ 0.5 , 0.479491652413, 0.166666666667],
[ 0.5 , 0.520508347587, 0.333333333333],
[ 0.5 , 0.602541737935, 0.666666666667],
[ 0.5 , 0.643558433109, 0.833333333333],
[ 0.5 , 0.561525042761, 0.166666666667],
[ 0.5 , 0.602541737935, 0.333333333333],
[ 0.5 , 0.643558433109, 0.166666666667]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
potentialSet = Tersoff_C_2010()
calculator = TremoloXCalculator(parameters=potentialSet)
calculator.setVerletListsDelta(0.25*Angstrom)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
bulk_configuration.update()
nlsave('Phonon_AGNR_W8.hdf5', bulk_configuration)
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
potentialSet = Tersoff_C_2010()
calculator = TremoloXCalculator(parameters=potentialSet)
calculator.setVerletListsDelta(0.25*Angstrom)
bulk_configuration.setCalculator(calculator)
nlprint(bulk_configuration)
nlsave('Phonon_AGNR_W8.hdf5', bulk_configuration)
# -------------------------------------------------------------
# Dynamical Matrix
# -------------------------------------------------------------
dynamical_matrix = DynamicalMatrix(
bulk_configuration,
filename=u'Phonon_AGNR_W8.hdf5',
object_id='dynamical_matrix',
repetitions=Automatic,
atomic_displacement=0.01*Angstrom,
acoustic_sum_rule=True,
finite_difference_method=Central,
force_tolerance=1e-08*Hartree/Bohr**2,
processes_per_displacement=1,
log_filename_prefix='forces_displacement_',
use_wigner_seitz_scheme=False,
)
dynamical_matrix.update()
# -------------------------------------------------------------
# Optimize Geometry
# -------------------------------------------------------------
constraints = [FixStrain(x=True, y=True, z=False)]
bulk_configuration = OptimizeGeometry(
bulk_configuration,
max_forces=0.01*eV/Ang,
max_stress=0.0001*eV/Ang**3,
max_steps=200,
max_step_length=0.2*Ang,
constraints=constraints,
trajectory_filename=None,
optimizer_method=LBFGS(),
constrain_bravais_lattice=False,
)
nlsave('Phonon_AGNR_W8.hdf5', bulk_configuration)
nlprint(bulk_configuration)
# -------------------------------------------------------------
# Phonon Bandstructure
# -------------------------------------------------------------
phonon_bandstructure = PhononBandstructure(
configuration=bulk_configuration,
dynamical_matrix=dynamical_matrix,
route=['G', 'Z'],
points_per_segment=100,
number_of_bands=All
)
nlsave('Phonon_AGNR_W8.hdf5', phonon_bandstructure)
-
I am trying to calculate the phonon spectrum of a 8-dimer armchair graphene nanoribbon by following the example given by: https://docs.quantumwise.com/tutorials/phonon_calcs/phonon_calcs.html.
1. I want to optimize the geometry of the GNR and followed the exact procedure in the tutorial, but ended up with the error messages says: "The underlying configuration must be equal for the input DynamicMatrix and the object being calculated.".
Please attach the script (and log) file that produced that error.
Log file:
+------------------------------------------------------------------------------+
| |
| QuantumATK 2018.06-SP1-1[Build 3f8f0aa] |
| |
+------------------------------------------------------------------------------+
+----------------------------------------------------------+
| Bulk Bravais lattice |
+----------------------------------------------------------+
Type:
UnitCell
Lattice constants:
Primitive vectors:
u_1 = 20.000000 0.000000 0.000000 Ang
u_2 = 0.000000 30.000000 0.000000 Ang
u_3 = 0.000000 0.000000 4.262580 Ang
+----------------------------------------------------------+
| Bulk: Cartesian (Angstrom) / fractional |
+----------------------------------------------------------+
16
Bulk
C 1.000000e+01 1.069325e+01 2.841720e+00 0.50000 0.35644 0.66667
C 1.000000e+01 1.192375e+01 3.552150e+00 0.50000 0.39746 0.83333
C 1.000000e+01 1.069325e+01 1.420860e+00 0.50000 0.35644 0.33333
C 1.000000e+01 1.315425e+01 2.841720e+00 0.50000 0.43847 0.66667
C 1.000000e+01 1.438475e+01 3.552150e+00 0.50000 0.47949 0.83333
C 1.000000e+01 1.192375e+01 7.104300e-01 0.50000 0.39746 0.16667
C 1.000000e+01 1.315425e+01 1.420860e+00 0.50000 0.43847 0.33333
C 1.000000e+01 1.561525e+01 2.841720e+00 0.50000 0.52051 0.66667
C 1.000000e+01 1.684575e+01 3.552150e+00 0.50000 0.56153 0.83333
C 1.000000e+01 1.438475e+01 7.104300e-01 0.50000 0.47949 0.16667
C 1.000000e+01 1.561525e+01 1.420860e+00 0.50000 0.52051 0.33333
C 1.000000e+01 1.807625e+01 2.841720e+00 0.50000 0.60254 0.66667
C 1.000000e+01 1.930675e+01 3.552150e+00 0.50000 0.64356 0.83333
C 1.000000e+01 1.684575e+01 7.104300e-01 0.50000 0.56153 0.16667
C 1.000000e+01 1.807625e+01 1.420860e+00 0.50000 0.60254 0.33333
C 1.000000e+01 1.930675e+01 7.104300e-01 0.50000 0.64356 0.16667
+----------------------------------------------------------+
| Bulk Bravais lattice |
+----------------------------------------------------------+
Type:
UnitCell
Lattice constants:
Primitive vectors:
u_1 = 20.000000 0.000000 0.000000 Ang
u_2 = 0.000000 30.000000 0.000000 Ang
u_3 = 0.000000 0.000000 4.262580 Ang
+----------------------------------------------------------+
| Bulk: Cartesian (Angstrom) / fractional |
+----------------------------------------------------------+
16
Bulk
C 1.000000e+01 1.069325e+01 2.841720e+00 0.50000 0.35644 0.66667
C 1.000000e+01 1.192375e+01 3.552150e+00 0.50000 0.39746 0.83333
C 1.000000e+01 1.069325e+01 1.420860e+00 0.50000 0.35644 0.33333
C 1.000000e+01 1.315425e+01 2.841720e+00 0.50000 0.43847 0.66667
C 1.000000e+01 1.438475e+01 3.552150e+00 0.50000 0.47949 0.83333
C 1.000000e+01 1.192375e+01 7.104300e-01 0.50000 0.39746 0.16667
C 1.000000e+01 1.315425e+01 1.420860e+00 0.50000 0.43847 0.33333
C 1.000000e+01 1.561525e+01 2.841720e+00 0.50000 0.52051 0.66667
C 1.000000e+01 1.684575e+01 3.552150e+00 0.50000 0.56153 0.83333
C 1.000000e+01 1.438475e+01 7.104300e-01 0.50000 0.47949 0.16667
C 1.000000e+01 1.561525e+01 1.420860e+00 0.50000 0.52051 0.33333
C 1.000000e+01 1.807625e+01 2.841720e+00 0.50000 0.60254 0.66667
C 1.000000e+01 1.930675e+01 3.552150e+00 0.50000 0.64356 0.83333
C 1.000000e+01 1.684575e+01 7.104300e-01 0.50000 0.56153 0.16667
C 1.000000e+01 1.807625e+01 1.420860e+00 0.50000 0.60254 0.33333
C 1.000000e+01 1.930675e+01 7.104300e-01 0.50000 0.64356 0.16667
+------------------------------------------------------------------------------+
| Automatically detected repetitions = [1 1 5] |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Geometry optimization using the LBFGS optimizer |
| Bravais Lattice: Unit Cell |
| External pressure: 0.000 GPa |
+------------------------------------------------------------------------------+
| Step Step Length Volume Max. Force Stress Error Enthalpy |
| (Ang) (Ang**3) (eV/Ang) (GPa) (eV) |
+------------------------------------------------------------------------------+
| OPT 0 0.0000e+00 2557.548 5.5243e+00 0.83145 -121.497730 |
| OPT 1 9.2472e-02 2558.753 5.3353e+00 2.68902 -122.713293 |
| OPT 2 2.8905e-02 2560.234 1.3066e+00 2.06302 -123.296440 |
| OPT 3 1.6400e-02 2561.853 8.5016e-01 2.16680 -123.399393 |
| OPT 4 4.3608e-02 2566.991 5.1449e-01 2.13606 -123.513356 |
| OPT 5 5.6166e-02 2573.608 6.4237e-01 2.11419 -123.590251 |
| OPT 6 1.5705e-01 2592.110 7.8095e-01 1.88566 -123.751844 |
| OPT 7 4.1238e-02 2596.969 1.8093e+00 1.36723 -123.837476 |
| OPT 8 2.0723e-02 2599.410 5.6559e-01 1.46715 -123.885159 |
| OPT 9 2.8268e-03 2599.742 3.1653e-01 1.46115 -123.899648 |
| OPT 10 3.2920e-02 2603.620 3.6119e-01 1.39116 -123.939097 |
| OPT 11 9.4446e-02 2614.747 8.3807e-01 1.18355 -124.012071 |
| OPT 12 6.3825e-03 2615.499 4.5679e-01 1.24264 -124.037156 |
| OPT 13 6.4570e-03 2616.260 2.0636e-01 1.19434 -124.046906 |
| OPT 14 2.8009e-02 2619.560 3.0971e-01 1.08235 -124.068346 |
| OPT 15 4.8660e-02 2625.293 5.1829e-01 0.95292 -124.096410 |
| OPT 16 1.5392e-01 2643.426 7.7098e-01 0.59868 -124.169607 |
| OPT 17 9.0755e-03 2644.037 9.1345e-01 0.75792 -124.197892 |
| OPT 18 3.5366e-03 2644.453 1.9246e-01 0.68689 -124.212586 |
| OPT 19 5.2099e-03 2645.067 1.1090e-01 0.65509 -124.216511 |
| OPT 20 9.1618e-03 2646.146 1.6924e-01 0.62024 -124.220626 |
| OPT 21 3.1811e-02 2649.894 3.1806e-01 0.53683 -124.231473 |
| OPT 22 7.5396e-02 2658.777 4.3653e-01 0.38509 -124.252428 |
| OPT 23 1.4255e-01 2675.572 7.4041e-01 0.05542 -124.276380 |
| OPT 24 1.3229e-01 2691.157 6.1915e-01 0.13664 -124.283709 |
| OPT 25 5.3963e-02 2684.800 1.5280e-01 0.02938 -124.296767 |
| OPT 26 8.1788e-03 2683.836 4.7432e-02 0.00456 -124.297950 |
| OPT 27 1.5293e-03 2684.016 8.5408e-03 0.00130 -124.298067 |
+------------------------------------------------------------------------------+
| Geometry optimization converged in 27 steps. |
+------------------------------------------------------------------------------+
+----------------------------------------------------------+
| Bulk Bravais lattice |
+----------------------------------------------------------+
Type:
UnitCell
Lattice constants:
Primitive vectors:
u_1 = 20.000000 0.000000 0.000000 Ang
u_2 = 0.000000 30.000000 0.000000 Ang
u_3 = 0.000000 0.000000 4.473361 Ang
+----------------------------------------------------------+
| Bulk: Cartesian (Angstrom) / fractional |
+----------------------------------------------------------+
16
Bulk
C 1.000000e+01 1.085563e+01 2.880052e+00 0.50000 0.36185 0.64382
C 1.000000e+01 1.186827e+01 3.787804e+00 0.50000 0.39561 0.84675
C 1.000000e+01 1.085563e+01 1.593309e+00 0.50000 0.36185 0.35618
C 1.000000e+01 1.313061e+01 2.987488e+00 0.50000 0.43769 0.66784
C 1.000000e+01 1.438038e+01 3.735839e+00 0.50000 0.47935 0.83513
C 1.000000e+01 1.186827e+01 6.855571e-01 0.50000 0.39561 0.15325
C 1.000000e+01 1.313061e+01 1.485873e+00 0.50000 0.43769 0.33216
C 1.000000e+01 1.561962e+01 2.974202e+00 0.50000 0.52065 0.66487
C 1.000000e+01 1.686939e+01 3.722553e+00 0.50000 0.56231 0.83216
C 1.000000e+01 1.438038e+01 7.375217e-01 0.50000 0.47935 0.16487
C 1.000000e+01 1.561962e+01 1.499159e+00 0.50000 0.52065 0.33513
C 1.000000e+01 1.813173e+01 2.922237e+00 0.50000 0.60439 0.65325
C 1.000000e+01 1.914437e+01 3.829989e+00 0.50000 0.63815 0.85618
C 1.000000e+01 1.686939e+01 7.508077e-01 0.50000 0.56231 0.16784
C 1.000000e+01 1.813173e+01 1.551123e+00 0.50000 0.60439 0.34675
C 1.000000e+01 1.914437e+01 6.433717e-01 0.50000 0.63815 0.14382
-
This happens because you optimize the structure after calculating the Dynamical matrix and before calculating the phonon bandstructure. So what you do is this:
1. Calculate the dynamical matrix for your structure
2. Optimize, i.e. change the structure
3. Calculate the phonon bandstructure based on your DM and configuration, which no longer match.
You need to optimize the structure first, otherwise the rest does not really make sense.