obtain_blessed_absorption_builder_input

emmet.builders.materials.absorption_spectrum.obtain_blessed_absorption_builder_input(tasks, material_id=None, material_last_updated=None)

Yield an AbsorptionBuilderInput from a list of CoreTaskDocs using the ‘best’ document in the list.

Return type:

AbsorptionBuilderInput

Parameters:
  • tasks (list[CoreTaskDoc])

  • material_id (Annotated[MPID | AlphaID, BeforeValidator(func=functools.partial(<function _fault_tolerant_id_serde at 0x7f75d76d4cc0>, legacy=True, prefix='mp', padlen=8), json_schema_input_type=PydanticUndefined), PlainSerializer(func=functools.partial(<function _fault_tolerant_id_serde at 0x7f75d76d4cc0>, serialize=True, legacy=True, prefix='mp', padlen=8), return_type=PydanticUndefined, when_used=always)] | None)

  • material_last_updated (datetime | None)

[Optional] Relevant material properties needed if running in context of building properties for ‘material’s:

  • material_id -> anchor identifier for all tasks

  • material_last_updated -> when anchor material document was last updated

Relevant CoreTaskDoc fields needed:
  • task_id

  • last_updated

  • input.kpoints

  • input.structure

  • orig_inputs.kpoints

  • output.frequency_dependent_dielectric

  • output.optical_absorption_coeff

  • output.bandgap

CoreTaskDocs need to have non-null optical_absorption_coeff and frequency_dependent_dielectric