Charge Detection

Header: fiction/technology/sidb/simulation/analysis/can_positive_charges_occur.hpp

inline bool fiction::sidb::simulation::analysis::can_positive_charges_occur(const potential_landscape &land)

Checks whether positively charged SiDBs can occur in a layout under the given physical parameters, i.e., whether the band bending of the fully negatively charged layout, which maximizes every local potential, pushes any SiDB past its positive transition threshold. If it does not in this extreme case, it does not for any other charge distribution either.

Parameters:

land – The potential landscape of the layout under the parameters to check.

Returns:

true if at least one SiDB can be positively charged, false otherwise.

inline bool fiction::sidb::simulation::analysis::can_positive_charges_occur(const layout &lyt, const model::simulation_parameters &sim_params)

Checks whether positively charged SiDBs can occur in a layout under the given physical parameters. See the potential_landscape overload.

Parameters:
  • lyt – The layout to check.

  • sim_params – The physical parameters.

Throws:

std::out_of_range – if a SiDB or defect site has an invalid lattice basis index.

Returns:

true if at least one SiDB can be positively charged, false otherwise.

can_positive_charges_occur(lyt: sidb_layout, *, base: int = 3, mu_minus: float = -0.32, epsilon_r: float = 5.6, lambda_tf: float = 5.0) → bool

Check whether positively charged SiDBs can occur under the scalar physical model.

Parameters:
  • base – Number of charge states: 2 for negative and neutral, or 3 to include positive charges.

  • mu_minus – Negative-charge transition energy in eV.

  • epsilon_r – Relative permittivity (dimensionless).

  • lambda_tf – Thomas-Fermi screening distance in nm.