Skip to content

Commit

Permalink
🎨 Changed the unit of the lambda-tf physical parameter from meter to …
Browse files Browse the repository at this point in the history
…nanometer (#188)

* 🎨 Unit of `lambda_tf` is changed from meter to nanometer.

* 🎨 `epsilon_r` is unit-less.
  • Loading branch information
Drewniok committed Apr 19, 2023
1 parent b2fba45 commit 6d3bf1e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ struct sidb_simulation_parameters
* @param mu_minus it is the energy transition level (0/-).
* @param relative_permittivity it describes the electric field reduction due to polarization.
* @param screening_distance also known as "Thomas-Fermi screening" and it describes the electric field screening
* due to free charges.
* due to free charges in nm.
* @param a lattice constant in Å (Ångström).
* @param b lattice constant in Å.
* @param c lattice constant in Å.
*/
constexpr explicit sidb_simulation_parameters(const uint8_t base_number = 3, const double mu_minus = -0.32,
const double relative_permittivity = 5.6,
const double screening_distance = 5.0 * 1E-9, const double a = 3.84,
const double screening_distance = 5.0, const double a = 3.84,
const double b = 7.68, const double c = 2.25) :
lat_a{a},
lat_b{b},
Expand All @@ -51,35 +51,35 @@ struct sidb_simulation_parameters
}

/**
* lat_a is the lattice vector in x-direction.
* lat_a is the lattice vector in x-direction (unit: Å).
*/
double lat_a;
/**
* lat_b is the lattice vector in y-direction.
* lat_b is the lattice vector in y-direction (unit: Å).
*/
double lat_b;
/**
* lat_c is the dimer pair separation.
* lat_c is the dimer pair separation (unit: Å).
*/
double lat_c;
/**
* epsilon_r is the electric permittivity. It is a material specific number.
* epsilon_r is the electric permittivity. It is a material specific number (unit-less).
*/
double epsilon_r;
/**
* k is the Coulomb constant and is inversely proportional to the electric permittivity.
* k is the Coulomb constant and is inversely proportional to the electric permittivity (unit: SI).
*/
double k;
/**
* lambda_tf is the Thomas-Fermi screening distance.
* lambda_tf is the Thomas-Fermi screening distance (unit: nm).
*/
double lambda_tf;
/**
* µ- is the energy transition level (0/-)
* µ- is the energy transition level (0/-) (unit: eV).
*/
double mu;
/**
* µ+ is the energy transition level (+/0)
* µ+ is the energy transition level (+/0) (unit: eV).
*/
double mu_p;
/**
Expand Down
2 changes: 1 addition & 1 deletion include/fiction/technology/charge_distribution_surface.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ class charge_distribution_surface<Lyt, false> : public Lyt
}

return (strg->phys_params.k / (strg->nm_dist_mat[index1][index2] * 1E-9) *
std::exp(-strg->nm_dist_mat[index1][index2] * 1E-9 / strg->phys_params.lambda_tf) *
std::exp(-strg->nm_dist_mat[index1][index2] / strg->phys_params.lambda_tf) *
physical_constants::ELECTRIC_CHARGE);
}
/**
Expand Down
2 changes: 1 addition & 1 deletion test/technology/charge_distribution_surface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ TEMPLATE_TEST_CASE(
SECTION("using chargeless and normal potential function")
{
TestType lyt_new{{11, 11}};
const sidb_simulation_parameters params{3, -0.32, 5.0 * 1E-9, 3.84 * 1E-10, 7.68 * 1E-10, 2.25 * 1E-10};
const sidb_simulation_parameters params{3, -0.32, 5.0, 3.84, 7.68, 2.25};

lyt_new.assign_cell_type({0, 0, 1}, TestType::cell_type::NORMAL);
lyt_new.assign_cell_type({1, 3, 0}, TestType::cell_type::NORMAL);
Expand Down

0 comments on commit 6d3bf1e

Please sign in to comment.