Infrared and Raman spectra using DFT+U+V#

In this tutorial you will learn how to calculate the infrared and Raman spectra using DFT+U+V via aiida-vibroscopy.

We will make use of LiCoO2 for the demonstration, a spread battery cathode material.

Let’s get started!

Hide code cell content
from local_module import load_temp_profile

# If you download this file, you can run it with your own profile.
# Put these lines instead:
# from aiida import load_profile
# load_profile()
data = load_temp_profile(
    name="functionals-tutorial",
    add_computer=True,
    add_pw_code=True,
    add_sssp=True,
)

Creating the structure#

Let’s define the LiCoO2 structure.

from aiida.orm import StructureData

a, b, c, d = 1.4060463552647, 0.81178124180108, 4.6012019181836, 1.6235624832021
cell = [[a, -b, c], [0.0, d, c], [-a, -b, c]]
sites = [
    ['Co', 'Co', (0, 0, 0)],
    ['O', 'O', (0, 0, 3.6020728736387)],
    ['O', 'O', (0, 0, 10.201532881212)],
    ['Li', 'Li', (0, 0, 6.9018028772754)],
]
structure = StructureData(cell=cell)

for site in sites:
    structure.append_atom(position=site[2], symbols=site[0], name=site[1])

structure.store()
<StructureData: uuid: d84b1c39-b8fa-43cb-a186-3d23c1e90bb2 (pk: 87)>

Spectra using PBEsol#

Let’s first import the WorkChain and run it using ‘simple’ PBEsol!

As usual, we use the get_builder_from_protocol to get a prefilled builder with all inputs. These inputs should be considered not as converged parameters, but as a good starting point. You may also need to tweak some parameters, e.g. add magnetization etc., depending on your case.

from aiida.plugins import WorkflowFactory
from aiida.engine import run_get_node


IRamanSpectraWorkChain = WorkflowFactory("vibroscopy.spectra.iraman")

# To make the calculations run faster
scf_overrides = {'scf':{'pw':{'parameters':{'SYSTEM':{'ecutwfc':30, 'ecutrho':30*8}}}}}

builder = IRamanSpectraWorkChain.get_builder_from_protocol(
    code=data.pw_code,
    structure=structure,
    protocol="fast",
    overrides={'dielectric':scf_overrides, 'phonon':scf_overrides}
)

results, calc = run_get_node(builder)
Hide code cell output
05/24/2023 11:02:34 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [106|IRamanSpectraWorkChain|run_spectra]: submitting `HarmonicWorkChain` <PK=108>
05/24/2023 11:02:34 AM <3955932> aiida.engine.processes.functions: [WARNING] function `generate_preprocess_data` has invalid type hints: unsupported operand type(s) for |: 'AbstractNodeMeta' and 'NoneType'
05/24/2023 11:02:34 AM <3955932> aiida.engine.processes.functions: [WARNING] function `generate_phonopy_data` has invalid type hints: unsupported operand type(s) for |: 'AbstractNodeMeta' and 'NoneType'
05/24/2023 11:02:34 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [108|HarmonicWorkChain|run_phonon]: submitting `PhononWorkChain` <PK=114>
05/24/2023 11:02:34 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [108|HarmonicWorkChain|run_dielectric]: submitting `DielectricWorkChain` <PK=118>
05/24/2023 11:02:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_base_scf]: launching base scf PwBaseWorkChain<143>
05/24/2023 11:02:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [143|PwBaseWorkChain|run_process]: launching PwCalculation<147> iteration #1
05/24/2023 11:02:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|run_base_supercell]: launching base supercell scf PwBaseWorkChain<152>
05/24/2023 11:02:38 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [152|PwBaseWorkChain|run_process]: launching PwCalculation<155> iteration #1
05/24/2023 11:04:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [152|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:04:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [152|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:04:35 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=168> with supercell n.o 1
05/24/2023 11:04:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=170> with supercell n.o 2
05/24/2023 11:04:38 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=172> with supercell n.o 3
05/24/2023 11:04:39 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=174> with supercell n.o 4
05/24/2023 11:04:41 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [168|PwBaseWorkChain|run_process]: launching PwCalculation<177> iteration #1
05/24/2023 11:04:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [170|PwBaseWorkChain|run_process]: launching PwCalculation<180> iteration #1
05/24/2023 11:04:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|PwBaseWorkChain|run_process]: launching PwCalculation<183> iteration #1
05/24/2023 11:04:43 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [174|PwBaseWorkChain|run_process]: launching PwCalculation<186> iteration #1
05/24/2023 11:05:02 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [143|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:05:02 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [143|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:05:04 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_nscf]: launching base scf PwBaseWorkChain<197>
05/24/2023 11:05:05 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [197|PwBaseWorkChain|run_process]: launching PwCalculation<200> iteration #1
05/24/2023 11:08:49 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [197|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:08:49 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [197|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:08:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<214> with null electric field 0
05/24/2023 11:08:55 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<215> with null electric field 1
05/24/2023 11:08:55 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<216> with null electric field 2
05/24/2023 11:08:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<217> with null electric field 3
05/24/2023 11:08:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<218> with null electric field 4
05/24/2023 11:08:59 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [214|PwBaseWorkChain|run_process]: launching PwCalculation<221> iteration #1
05/24/2023 11:09:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [215|PwBaseWorkChain|run_process]: launching PwCalculation<224> iteration #1
05/24/2023 11:09:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [216|PwBaseWorkChain|run_process]: launching PwCalculation<227> iteration #1
05/24/2023 11:09:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [217|PwBaseWorkChain|run_process]: launching PwCalculation<230> iteration #1
05/24/2023 11:09:02 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [218|PwBaseWorkChain|run_process]: launching PwCalculation<233> iteration #1
05/24/2023 11:11:25 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [174|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:11:26 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [174|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 186
05/24/2023 11:12:35 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [170|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:12:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [170|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 180
05/24/2023 11:13:18 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:13:18 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 183
05/24/2023 11:14:04 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [168|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:14:05 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [168|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 177
05/24/2023 11:14:10 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [114|PhononWorkChain|on_terminated]: cleaned remote folders of calculations: 155 177 180 183 186
05/24/2023 11:20:20 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [217|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:20:20 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [217|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:20:20 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [218|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:20:21 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [218|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:20:23 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [215|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:20:24 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [215|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:20:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [214|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:20:33 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [214|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:20:43 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [216|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:20:43 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [216|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:20:44 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<280> with electric field index 0 and sign 1.0 iteration #0
05/24/2023 11:20:46 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<283> with electric field index 1 and sign 1.0 iteration #0
05/24/2023 11:20:47 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<286> with electric field index 2 and sign 1.0 iteration #0
05/24/2023 11:20:48 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<289> with electric field index 3 and sign 1.0 iteration #0
05/24/2023 11:20:49 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<292> with electric field index 4 and sign 1.0 iteration #0
05/24/2023 11:20:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<295> with electric field index 5 and sign 1.0 iteration #0
05/24/2023 11:20:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [280|PwBaseWorkChain|run_process]: launching PwCalculation<298> iteration #1
05/24/2023 11:20:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [283|PwBaseWorkChain|run_process]: launching PwCalculation<301> iteration #1
05/24/2023 11:20:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [286|PwBaseWorkChain|run_process]: launching PwCalculation<304> iteration #1
05/24/2023 11:20:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [289|PwBaseWorkChain|run_process]: launching PwCalculation<307> iteration #1
05/24/2023 11:20:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [292|PwBaseWorkChain|run_process]: launching PwCalculation<310> iteration #1
05/24/2023 11:20:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [295|PwBaseWorkChain|run_process]: launching PwCalculation<313> iteration #1
05/24/2023 11:24:13 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [283|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:24:14 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [283|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:24:22 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [295|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:24:23 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [295|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:24:33 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [280|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:24:33 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [280|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:24:39 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [292|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:24:39 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [292|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:24:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [289|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:24:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [289|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:25:28 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [286|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:25:28 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [286|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:25:29 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<346> with electric field index 0 and sign 1.0 iteration #1
05/24/2023 11:25:31 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<349> with electric field index 1 and sign 1.0 iteration #1
05/24/2023 11:25:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<352> with electric field index 2 and sign 1.0 iteration #1
05/24/2023 11:25:33 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<355> with electric field index 3 and sign 1.0 iteration #1
05/24/2023 11:25:34 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<358> with electric field index 4 and sign 1.0 iteration #1
05/24/2023 11:25:35 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<361> with electric field index 5 and sign 1.0 iteration #1
05/24/2023 11:25:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [346|PwBaseWorkChain|run_process]: launching PwCalculation<364> iteration #1
05/24/2023 11:25:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [349|PwBaseWorkChain|run_process]: launching PwCalculation<367> iteration #1
05/24/2023 11:25:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [352|PwBaseWorkChain|run_process]: launching PwCalculation<370> iteration #1
05/24/2023 11:25:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [355|PwBaseWorkChain|run_process]: launching PwCalculation<373> iteration #1
05/24/2023 11:25:38 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [358|PwBaseWorkChain|run_process]: launching PwCalculation<376> iteration #1
05/24/2023 11:25:38 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [361|PwBaseWorkChain|run_process]: launching PwCalculation<379> iteration #1
05/24/2023 11:29:09 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [349|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:29:09 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [349|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:29:14 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [361|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:29:14 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [361|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:29:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [346|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:29:37 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [346|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:29:40 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [355|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:29:40 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [355|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:29:41 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [358|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:29:41 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [358|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:30:47 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [352|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:30:47 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [352|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:30:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|run_numerical_derivatives]: launching NumericalDerivativesWorkChain<425> for computing numerical derivatives.
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[ 1.74836900e+00  8.04263817e-03  5.46899395e-02]
  [ 1.44767487e-02 -1.74857007e+00 -3.29748183e-02]
  [ 6.35368415e-02  1.29084343e+00  2.01065992e-04]]

 [[-4.90098263e-01 -2.41279145e-03 -1.89001997e-02]
  [-7.23837435e-03  4.89897197e-01  1.12596941e-02]
  [-1.60852763e-02 -5.86710454e-01  2.01065937e-04]]

 [[-4.90098263e-01 -2.41279145e-03 -1.89001997e-02]
  [-7.23837435e-03  4.89897197e-01  1.12596941e-02]
  [-1.60852763e-02 -5.86710454e-01  2.01065937e-04]]

 [[-7.68172478e-01 -4.02131908e-03 -1.68895402e-02]
  [ 6.61402731e-16  7.67971412e-01  1.04554301e-02]
  [-3.13662889e-02 -1.18226781e-01  2.01065951e-04]]]
  warnings.warn("\n".join(lines))
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[ 3.81060196e+00 -3.21705527e-03  1.31899266e-01]
  [ 3.05620250e-02 -3.81060196e+00 -1.17422519e-01]
  [ 1.23856628e-01  7.07752159e-01  2.04920525e-11]]

 [[-1.14969513e+00  4.02131908e-03 -4.58430376e-02]
  [-1.68895402e-02  1.14969513e+00  4.58430381e-02]
  [-3.05620250e-02 -3.48246233e-01 -1.01039177e-11]]

 [[-1.14969513e+00  4.02131908e-03 -4.58430376e-02]
  [-1.68895402e-02  1.14969513e+00  4.58430381e-02]
  [-3.05620250e-02 -3.48246233e-01 -1.01039177e-11]]

 [[-1.51121171e+00 -6.43411053e-03 -4.02131908e-02]
  [ 1.60852763e-03  1.51121171e+00  2.73449703e-02]
  [-6.27325777e-02 -1.28682211e-02 -3.76587650e-13]]]
  warnings.warn("\n".join(lines))
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[ 4.49801295e+00 -6.97028641e-03  1.57635708e-01]
  [ 3.59237838e-02 -4.49794593e+00 -1.45571752e-01]
  [ 1.43963223e-01  5.13388403e-01 -6.70219699e-05]]

 [[-1.36956075e+00  6.16602260e-03 -5.48239835e-02]
  [-2.01065954e-02  1.36962777e+00  5.73708195e-02]
  [-3.53876079e-02 -2.68758159e-01 -6.70219925e-05]]

 [[-1.36956075e+00  6.16602260e-03 -5.48239835e-02]
  [-2.01065954e-02  1.36962777e+00  5.73708195e-02]
  [-3.53876079e-02 -2.68758159e-01 -6.70219925e-05]]

 [[-1.75889146e+00 -7.23837435e-03 -4.79877411e-02]
  [ 2.14470351e-03  1.75895848e+00  3.29748170e-02]
  [-7.31880073e-02  2.22512989e-02 -6.70219841e-05]]]
  warnings.warn("\n".join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
763.5478542191119
  warnings.warn('\n'.join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
2007.6151159633764
  warnings.warn('\n'.join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
2761.938339342026
  warnings.warn('\n'.join(lines))
05/24/2023 11:30:57 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [118|DielectricWorkChain|on_terminated]: cleaned remote folders of calculations: 147 200 221 224 227 230 233 298 301 304 307 310 313 364 367 370 373 376 379
05/24/2023 11:31:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [108|HarmonicWorkChain|on_terminated]: cleaned remote folders of calculations: 155 177 180 183 186 147 200 221 224 227 230 233 298 301 304 307 310 313 364 367 370 373 376 379

Powder Raman spectra using PBEsol#

Let’s plot the powder Raman spectra computed using PBEsol.

from aiida_vibroscopy.utils.plotting import get_spectra_plot

vibro = calc.outputs.vibrational_data.numerical_accuracy_4
polarized_intensities, unpolarized_intensities, frequencies_pbesol, labels = vibro.run_powder_raman_intensities(frequency_laser=532, temperature=300)

total_intensities_pbesol =  polarized_intensities + unpolarized_intensities
plt = get_spectra_plot(frequencies_pbesol, total_intensities_pbesol)
plt.show()
_images/8959443d0d79933c215267d0f15a6de614a540b154892c260c26cc40549e92de.png

Spectra using PBEsol+U+V#

Defining the HubbardStructureData#

The Hubbard input should be specified alongside with the structural data, in a unique data called HubbardStructureData. Refer to the aiida-quantumespresso for more insights. What you need to know is that you can run a full Hubbard corrected calculations by just specifying the HubbardStructureData as an input for the structure; this will work in any workchain of the package!

Attention

If you want to compute self-consistently the Hubbard parameters in automated fashion, please have a look at our aiida-quantumespresso-hp plugin, fully automated and parallelisable! The SelfConsistentHubbardWorkChain will deliver for you a fully relaxed structure with fully self-consistent ab-initio Hubbard parameters!

Note

For this demonstration we will not compute the Hubbard parameters ab-initio. These ones that we will use were computed beforehand in a separate job run in order to demonstrate quickly the properties we are interested in.

from aiida_quantumespresso.common.hubbard import Hubbard
from aiida_quantumespresso.data.hubbard_structure import HubbardStructureData

hubbard_list = [
    (0, '3d', 0, '3d', 7.2362, (0, 0, 0), 'V'),
    (0, '3d', 2, '2p', 0.2999, (-1, 0, -1), 'V'),
    (0, '3d', 1, '2p', 0.2999, (0, 0, -1), 'V'),
    (0, '3d', 1, '2p', 0.2999, (-1, 0, 0), 'V'),
    (0, '3d', 2, '2p', 0.2999, (0, -1, -1), 'V'),
    (0, '3d', 2, '2p', 0.2999, (-1, -1, 0), 'V'),
    (0, '3d', 1, '2p', 0.2999, (0, -1, 0), 'V')
]

a, b, c, d = 1.4023265572925, 0.80963361535606, 4.6735772081287, 1.6192672305121
cell = [[a, -b, c], [0.0, d, c], [-a, -b, c]]
sites = [
    ['Co', 'Co', (0, 0, 0)],
    ['O', 'O', (0, 0, 3.6492980821051)],
    ['O', 'O', (0, 0, 10.371433542381)],
    ['Li', 'Li', (0, 0, 7.010365812143)],
]

hubbard_structure = HubbardStructureData(cell=cell, sites=sites)
hubbard_structure.hubbard = Hubbard.from_list(hubbard_list)
hubbard_structure.store()
<HubbardStructureData: uuid: 00be85a6-0231-49f3-863a-b0e70ffd204d (pk: 455)>

Running the IRamanSpectraWorkChain with the HubbardStructureData#

Let’s run the workchain for IR and Raman using the just defined structure with Hubbard parameters.

builder = IRamanSpectraWorkChain.get_builder_from_protocol(
    code=data.pw_code,
    structure=hubbard_structure,
    protocol="fast",
    overrides={'dielectric':scf_overrides, 'phonon':scf_overrides}
)

results_hubabrd, calc_hubbard = run_get_node(builder)
Hide code cell output
05/24/2023 11:33:51 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [474|IRamanSpectraWorkChain|run_spectra]: submitting `HarmonicWorkChain` <PK=476>
05/24/2023 11:33:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [476|HarmonicWorkChain|run_phonon]: submitting `PhononWorkChain` <PK=482>
05/24/2023 11:33:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [476|HarmonicWorkChain|run_dielectric]: submitting `DielectricWorkChain` <PK=486>
05/24/2023 11:33:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_base_scf]: launching base scf PwBaseWorkChain<511>
05/24/2023 11:33:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [511|PwBaseWorkChain|run_process]: launching PwCalculation<515> iteration #1
05/24/2023 11:33:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|run_base_supercell]: launching base supercell scf PwBaseWorkChain<522>
05/24/2023 11:33:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [522|PwBaseWorkChain|run_process]: launching PwCalculation<525> iteration #1
05/24/2023 11:34:11 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [522|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:34:11 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [522|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:34:12 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=538> with supercell n.o 1
05/24/2023 11:34:14 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=540> with supercell n.o 2
05/24/2023 11:34:15 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=542> with supercell n.o 3
05/24/2023 11:34:16 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|run_forces]: submitting `PwBaseWorkChain` <PK=544> with supercell n.o 4
05/24/2023 11:34:17 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [538|PwBaseWorkChain|run_process]: launching PwCalculation<547> iteration #1
05/24/2023 11:34:18 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [540|PwBaseWorkChain|run_process]: launching PwCalculation<550> iteration #1
05/24/2023 11:34:18 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [542|PwBaseWorkChain|run_process]: launching PwCalculation<553> iteration #1
05/24/2023 11:34:18 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [544|PwBaseWorkChain|run_process]: launching PwCalculation<556> iteration #1
05/24/2023 11:34:23 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [511|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:34:23 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [511|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:34:25 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_nscf]: launching base scf PwBaseWorkChain<567>
05/24/2023 11:34:25 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [567|PwBaseWorkChain|run_process]: launching PwCalculation<570> iteration #1
05/24/2023 11:34:47 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [567|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:34:47 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [567|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:34:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<584> with null electric field 0
05/24/2023 11:34:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<585> with null electric field 1
05/24/2023 11:34:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<586> with null electric field 2
05/24/2023 11:34:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<587> with null electric field 3
05/24/2023 11:34:50 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_null_field_scfs]: launching PwBaseWorkChain<588> with null electric field 4
05/24/2023 11:34:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [584|PwBaseWorkChain|run_process]: launching PwCalculation<591> iteration #1
05/24/2023 11:34:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [585|PwBaseWorkChain|run_process]: launching PwCalculation<594> iteration #1
05/24/2023 11:34:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [586|PwBaseWorkChain|run_process]: launching PwCalculation<597> iteration #1
05/24/2023 11:34:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [587|PwBaseWorkChain|run_process]: launching PwCalculation<600> iteration #1
05/24/2023 11:34:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [588|PwBaseWorkChain|run_process]: launching PwCalculation<603> iteration #1
05/24/2023 11:35:02 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [544|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:35:03 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [544|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 556
05/24/2023 11:35:08 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [542|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:35:09 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [542|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 553
05/24/2023 11:35:09 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [538|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:35:09 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [538|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 547
05/24/2023 11:35:10 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [540|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:35:10 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [540|PwBaseWorkChain|on_terminated]: cleaned remote folders of calculations: 550
05/24/2023 11:35:13 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [482|PhononWorkChain|on_terminated]: cleaned remote folders of calculations: 525 547 550 553 556
05/24/2023 11:36:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [587|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:36:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [587|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:36:33 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [585|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:36:34 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [585|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:36:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [588|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:36:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [588|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:36:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [586|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:36:42 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [586|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:36:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [584|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:36:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [584|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:36:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<650> with electric field index 0 and sign 1.0 iteration #0
05/24/2023 11:36:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<653> with electric field index 1 and sign 1.0 iteration #0
05/24/2023 11:36:55 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<656> with electric field index 2 and sign 1.0 iteration #0
05/24/2023 11:36:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<659> with electric field index 3 and sign 1.0 iteration #0
05/24/2023 11:36:57 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<662> with electric field index 4 and sign 1.0 iteration #0
05/24/2023 11:36:59 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<665> with electric field index 5 and sign 1.0 iteration #0
05/24/2023 11:37:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [650|PwBaseWorkChain|run_process]: launching PwCalculation<668> iteration #1
05/24/2023 11:37:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [653|PwBaseWorkChain|run_process]: launching PwCalculation<671> iteration #1
05/24/2023 11:37:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [656|PwBaseWorkChain|run_process]: launching PwCalculation<674> iteration #1
05/24/2023 11:37:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [659|PwBaseWorkChain|run_process]: launching PwCalculation<677> iteration #1
05/24/2023 11:37:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [662|PwBaseWorkChain|run_process]: launching PwCalculation<680> iteration #1
05/24/2023 11:37:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [665|PwBaseWorkChain|run_process]: launching PwCalculation<683> iteration #1
05/24/2023 11:40:29 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [653|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:40:29 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [653|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:40:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [665|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:40:36 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [665|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:40:43 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [662|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:40:44 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [662|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:40:54 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [650|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:40:55 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [650|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:41:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [659|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:41:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [659|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:41:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [656|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:41:52 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [656|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:41:53 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<716> with electric field index 0 and sign 1.0 iteration #1
05/24/2023 11:41:55 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<719> with electric field index 1 and sign 1.0 iteration #1
05/24/2023 11:41:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<722> with electric field index 2 and sign 1.0 iteration #1
05/24/2023 11:41:57 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<725> with electric field index 3 and sign 1.0 iteration #1
05/24/2023 11:41:58 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<728> with electric field index 4 and sign 1.0 iteration #1
05/24/2023 11:41:59 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_electric_field_scfs]: launching PwBaseWorkChain<731> with electric field index 5 and sign 1.0 iteration #1
05/24/2023 11:42:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [716|PwBaseWorkChain|run_process]: launching PwCalculation<734> iteration #1
05/24/2023 11:42:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [719|PwBaseWorkChain|run_process]: launching PwCalculation<737> iteration #1
05/24/2023 11:42:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [722|PwBaseWorkChain|run_process]: launching PwCalculation<740> iteration #1
05/24/2023 11:42:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [725|PwBaseWorkChain|run_process]: launching PwCalculation<743> iteration #1
05/24/2023 11:42:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [728|PwBaseWorkChain|run_process]: launching PwCalculation<746> iteration #1
05/24/2023 11:42:02 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [731|PwBaseWorkChain|run_process]: launching PwCalculation<749> iteration #1
05/24/2023 11:45:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [719|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:45:56 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [719|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:46:00 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [731|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:46:01 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [731|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:46:10 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [716|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:46:10 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [716|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:46:16 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [725|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:46:16 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [725|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:46:21 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [728|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:46:21 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [728|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:47:21 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [722|PwBaseWorkChain|results]: work chain completed after 1 iterations
05/24/2023 11:47:21 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [722|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
05/24/2023 11:47:24 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|run_numerical_derivatives]: launching NumericalDerivativesWorkChain<795> for computing numerical derivatives.
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[-1.79532992e-01 -2.33075647e-03 -2.07178353e-02]
  [ 5.53909810e-15  1.79403505e-01  5.43843083e-03]
  [-6.21535060e-03 -5.40994475e-01 -6.47432431e-05]]

 [[ 8.83745163e-02  3.88459412e-04  7.12175589e-03]
  [-1.29486471e-04 -8.85040028e-02 -1.81281024e-03]
  [ 2.20127000e-03  1.55254278e-01 -6.47432332e-05]]

 [[ 8.83745163e-02  3.88459412e-04  7.12175589e-03]
  [-1.29486471e-04 -8.85040028e-02 -1.81281024e-03]
  [ 2.20127000e-03  1.55254278e-01 -6.47432332e-05]]

 [[ 2.26601324e-03  1.03589177e-03  6.73329648e-03]
  [-2.58972941e-04 -2.39549971e-03 -1.81281034e-03]
  [ 1.55383765e-03  2.30485918e-01 -6.47432321e-05]]]
  warnings.warn("\n".join(lines))
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[ 2.36377552e-01 -5.17945883e-03 -3.72921036e-02]
  [ 2.07178353e-03 -2.36507039e-01  1.50204297e-02]
  [-1.08768635e-02 -1.33630038e-01 -1.86872740e-12]]

 [[-4.37016839e-02  1.29486471e-03  1.19127553e-02]
  [-5.17945883e-04  4.35721974e-02 -5.17945849e-03]
  [ 3.88459412e-03 -6.99226942e-03 -6.39488462e-14]]

 [[-4.37016839e-02  1.29486471e-03  1.19127553e-02]
  [-5.17945883e-04  4.35721974e-02 -5.17945849e-03]
  [ 3.88459412e-03 -6.99226942e-03 -6.39488462e-14]]

 [[-1.49492130e-01  2.07178353e-03  1.39845388e-02]
  [-1.03589177e-03  1.49362644e-01 -4.66151270e-03]
  [ 3.10767530e-03  1.47614577e-01  2.13873363e-12]]]
  warnings.warn("\n".join(lines))
/opt/conda/lib/python3.8/site-packages/phonopy/structure/symmetry.py:602: UserWarning: Symmetry of Born effective charge is largely broken. The difference is:
[[[ 3.75014400e-01 -6.12902628e-03 -4.28168597e-02]
  [ 2.76237804e-03 -3.75143887e-01  1.82144293e-02]
  [-1.24307012e-02  2.15810785e-03  2.15810785e-05]]

 [[-8.77270839e-02  1.59699981e-03  1.35097551e-02]
  [-6.47432354e-04  8.75975975e-02 -6.30167457e-03]
  [ 4.44570216e-03 -6.10744520e-02  2.15810776e-05]]

 [[-8.77270839e-02  1.59699981e-03  1.35097551e-02]
  [-6.47432354e-04  8.75975975e-02 -6.30167457e-03]
  [ 4.44570216e-03 -6.10744520e-02  2.15810776e-05]]

 [[-2.00078178e-01  2.41708079e-03  1.64016196e-02]
  [-1.29486471e-03  1.99948692e-01 -5.61108016e-03]
  [ 3.62562118e-03  1.19990796e-01  2.15810802e-05]]]
  warnings.warn("\n".join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
64.69056804221037
  warnings.warn('\n'.join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
321.36604767208735
  warnings.warn('\n'.join(lines))
/aiida-plugins/aiida-vibroscopy/src/aiida_vibroscopy/calculations/symmetry.py:162: UserWarning: Symmetry of dChi/dr tensors is largely broken. 
The max difference is:
422.4885350811701
  warnings.warn('\n'.join(lines))
05/24/2023 11:47:32 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [486|DielectricWorkChain|on_terminated]: cleaned remote folders of calculations: 515 570 591 594 597 600 603 668 671 674 677 680 683 734 737 740 743 746 749
05/24/2023 11:47:35 AM <3955932> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [476|HarmonicWorkChain|on_terminated]: cleaned remote folders of calculations: 525 547 550 553 556 515 570 591 594 597 600 603 668 671 674 677 680 683 734 737 740 743 746 749

Powder Raman spectra using PBEsol+U+V#

Let’s plot the powder Raman spectra computed using PBEsol+U+V.

vibro = calc_hubbard.outputs.vibrational_data.numerical_accuracy_4
polarized_intensities, unpolarized_intensities, frequencies_hubbard, labels = vibro.run_powder_raman_intensities(frequency_laser=532, temperature=300)

total_intensities_hubbard =  polarized_intensities + unpolarized_intensities
plt = get_spectra_plot(frequencies_hubbard, total_intensities_hubbard)
plt.show()
_images/b462a3068211301ac45436dacbaf7fccdc43f802a16237600f8ed5a48da3b5fb.png

Comparison with experiments#

We compare the above results with the experimental results from M. Inaba et al., Chem. Lett., 24, 889 (1995).

Hide code cell source
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import AutoMinorLocator
from aiida_vibroscopy.utils.broadenings import multilorentz

broadening = 10.0

# -----  Canvas
_, ax = plt.subplots() 

# -----  Experiments
converter = lambda s: float(s.decode("UTF-8").replace(",", "."))
x_range, y_range = np.loadtxt("./_static/lico2_raman_exp.txt", unpack=True, converters={0:converter, 1:converter})
y_range = (y_range-y_range.min())/(y_range.max()-y_range.min())
ax.plot(x_range, y_range+2, linewidth=2.0, color='black', linestyle='--', label="Exp. M. Inaba (1995)")  

# ----- PBEsol+U+V
y_range = multilorentz(x_range, frequencies_hubbard, total_intensities_hubbard, broadening)
y_range /= y_range.max()
ax.plot(x_range, y_range+1, linewidth=2.0, linestyle='-', label="PBEsol+U+V")  

# ----- PBEsol
y_range = multilorentz(x_range, frequencies_pbesol, total_intensities_pbesol, broadening)
y_range /= y_range.max()
ax.plot(x_range, y_range+0, linewidth=2.0, linestyle='-', label="PBEsol") 


# ----- Ticks and Labels
ax.set_yticklabels('')
ax.set_yticks([])
ax.tick_params(axis='both', which='both', direction='in')
ax.set_ylabel('Intensity (arb. units)')  # Add a y-label to the axes.
ax.set_xlabel('Wavenumber (cm$^{-1}$)')

ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())

# ----- Legend
ax.legend(bbox_to_anchor=(0,1,1,0.1), loc='lower left', frameon=False)

plt.show()
_images/2a3c012a95ce49179b428ddc64bea36a5dd161a21d8d8de30f7ce13d2ebace69.png

Warning

We are here quite far from concluding something, i.e. which functional is the best. We used unconverged paramaters to fit the time of a tutorial. We should make sure to converge cutoff, k points and electronic charge convergence.

Moreover, temperature can affect comparison with experiments. In general, though, we can say that thermal expansion would lead to renormalization of the frequencies, usually reducing them. Thus, it is better to overestimate in general the phonon frequencies - although note that this is not a necessary condition.

Final considerations#

We managed to compute the vibrational spectra of LiCoO2 using DFT+U+V fully ab initio! :tada:

Learn more and in details

To learn the full sets of inputs, to use proficiently the get_builder_from_protocol and more, have a look at the following sections: