PAOFLOW.transport.conductor_pipeline#

Functions#

initialize_conductor_outputs(*, data, dimC, dimL, ...)

Allocate transport output arrays for the conductor workflow.

compute_conductor_results(data, blc_blocks, *[, comm])

Compute transport observables across the full energy and k-point grid.

write_conductor_results(data, results, *[, comm])

Write transport observables and operators to files.

write_self_energy_results(data, results, *[, comm])

Write lead self-energies to XML output files.

write_greens_function_results(data, results, *[, comm])

Write conductor Green's functions to XML output files.

write_transmission_results(data, results, *[, comm])

Write transmission and k-resolved transmission data files.

write_dos_results(data, results, *[, comm])

Write DOS and k-resolved DOS data files.

Module Contents#

PAOFLOW.transport.conductor_pipeline.initialize_conductor_outputs(*, data, dimC, dimL, dimR, ne, nkpts_par, nrtot_par)[source]#

Allocate transport output arrays for the conductor workflow.

Parameters:
  • data (ConductorData) – Validated transport input and runtime flags.

  • dimC (int) – Conductor block dimension.

  • dimL (int) – Left lead block dimension.

  • dimR (int) – Right lead block dimension.

  • ne (int) – Number of energy points.

  • nkpts_par (int) – Number of k-points handled by this MPI rank.

  • nrtot_par (int) – Number of real-space vectors handled by this MPI rank.

Returns:

Bundle of zero-initialized accumulators. conduct has shape (1 + neigchn, ne) and dtype float64; dos has shape (ne,); conduct_k has shape (1 + neigchn, nkpts_par, ne); dos_k has shape (ne, nkpts_par). gf_out, rsgmL_out, and rsgmR_out are complex128 arrays of shape (ne, nrtot_par, dimC, dimC) when enabled by flags, otherwise None.

Return type:

ConductorAccumulators

PAOFLOW.transport.conductor_pipeline.compute_conductor_results(data, blc_blocks, *, comm=MPI.COMM_WORLD)[source]#

Compute transport observables across the full energy and k-point grid.

Parameters:
  • data (ConductorData) – Validated transport input, runtime metadata, and output flags.

  • blc_blocks (Mapping[str, Any]) – Block-operator dictionary used to build self-energies and conductor Green’s functions at each (E, k) point.

  • comm (MPI.Comm, optional) – Communicator used for work distribution and reductions. Default is MPI.COMM_WORLD.

Returns:

Container with transmission, dos, transmission_k, dos_k, optional green_functions, optional self_energy_L, optional self_energy_R, and energy_grid.

Return type:

TransportResults

Notes

This function:

  1. Distributes energies across MPI ranks.

  2. For each local energy, loops over local k-points.

  3. Computes \(G_C^r\), \(\Sigma_L\), and \(\Sigma_R\).

  4. Accumulates DOS and transmission observables.

  5. Optionally transforms k-resolved operators into real-space output.

  6. Reduces all arrays across MPI and returns TransportResults.

PAOFLOW.transport.conductor_pipeline.write_conductor_results(data, results, *, comm=MPI.COMM_WORLD)[source]#

Write transport observables and operators to files.

Parameters:
  • data (ConductorData) – Validated transport input and output configuration.

  • results (TransportResults) – Container with transport observables from compute_conductor_results.

  • comm (MPI.Comm, optional) – Communicator for rank-aware file writing. Default is MPI.COMM_WORLD.

Notes

Writes operator arrays (Green’s functions, lead self-energies) in real space if requested, and writes scalar/k-resolved transport observables.

PAOFLOW.transport.conductor_pipeline.write_self_energy_results(data, results, *, comm=MPI.COMM_WORLD)[source]#

Write lead self-energies to XML output files.

Parameters:
  • data (ConductorData) – Validated transport input and output configuration.

  • results (TransportResults) – Container with transport observables from compute_conductor_results.

  • comm (MPI.Comm, optional) – Communicator for rank-aware file writing. Default is MPI.COMM_WORLD.

Notes

Writes lead_L_sgm.xml and lead_R_sgm.xml under the configured output directory. Non-root ranks perform no writes.

PAOFLOW.transport.conductor_pipeline.write_greens_function_results(data, results, *, comm=MPI.COMM_WORLD)[source]#

Write conductor Green’s functions to XML output files.

Parameters:
  • data (ConductorData) – Validated transport input and output configuration.

  • results (TransportResults) – Container with transport observables from compute_conductor_results.

  • comm (MPI.Comm, optional) – Communicator for rank-aware file writing. Default is MPI.COMM_WORLD.

Notes

Writes greenf.xml under the configured output directory. Non-root ranks perform no writes.

PAOFLOW.transport.conductor_pipeline.write_transmission_results(data, results, *, comm=MPI.COMM_WORLD)[source]#

Write transmission and k-resolved transmission data files.

Parameters:
  • data (ConductorData) – Validated transport input and output configuration.

  • results (TransportResults) – Container with transport observables from compute_conductor_results.

  • comm (MPI.Comm, optional) – Communicator for rank-aware file writing. Default is MPI.COMM_WORLD.

Notes

Writes conductance*.dat under the configured output directory. When write_kdata is enabled, also writes per-k-point conductance files. Non-root ranks perform no writes.

PAOFLOW.transport.conductor_pipeline.write_dos_results(data, results, *, comm=MPI.COMM_WORLD)[source]#

Write DOS and k-resolved DOS data files.

Parameters:
  • data (ConductorData) – Validated transport input and output configuration.

  • results (TransportResults) – Container with transport observables from compute_conductor_results.

  • comm (MPI.Comm, optional) – Communicator for rank-aware file writing. Default is MPI.COMM_WORLD.

Notes

Writes doscond*.dat under the configured output directory. When write_kdata is enabled, also writes per-k-point DOS files. Non-root ranks perform no writes.