Commit a296dd09 authored by Paul Schütze's avatar Paul Schütze
Browse files

Increase precision on Boltzmann constant

parent 674daf46
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ CSADigitizerModule::CSADigitizerModule(Configuration& config, Messenger* messeng
        auto capacitance_feedback = config_.get<double>("feedback_capacitance");
        auto capacitance_output = config_.get<double>("amp_output_capacitance");
        auto gm = config_.get<double>("transconductance");
        auto boltzmann_kT = Units::get(8.6173e-5, "eV/K") * config_.get<double>("temperature");
        auto boltzmann_kT = Units::get(8.6173333e-5, "eV/K") * config_.get<double>("temperature");

        // helper variables: transconductance and resistance in the feedback loop
        // weak inversion: gf = I/(n V_t) (e.g. Binkley "Tradeoff and Optimisation in Analog CMOS design")
+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ GenericPropagationModule::GenericPropagationModule(Configuration& config,
        LOG(WARNING) << "Per-event line graphs or animations requested, disabling parallel event processing";
    }

    boltzmann_kT_ = Units::get(8.6173e-5, "eV/K") * temperature_;
    boltzmann_kT_ = Units::get(8.6173333e-5, "eV/K") * temperature_;

    // Parameter for charge transport in magnetic field (approximated from graphs:
    // http://www.ioffe.ru/SVA/NSM/Semicond/Si/electric.html) FIXME
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ ProjectionPropagationModule::ProjectionPropagationModule(Configuration& config,
    }

    auto temperature = config_.get<double>("temperature");
    boltzmann_kT_ = Units::get(8.6173e-5, "eV/K") * temperature;
    boltzmann_kT_ = Units::get(8.6173333e-5, "eV/K") * temperature;

    // Mobility fixed to Jacoboni:
    mobility_ = std::make_unique<JacoboniCanali>(temperature);
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ TransientPropagationModule::TransientPropagationModule(Configuration& config,
    distance_ = config_.get<unsigned int>("distance");
    charge_per_step_ = config_.get<unsigned int>("charge_per_step");
    max_charge_groups_ = config_.get<unsigned int>("max_charge_groups");
    boltzmann_kT_ = Units::get(8.6173e-5, "eV/K") * temperature_;
    boltzmann_kT_ = Units::get(8.6173333e-5, "eV/K") * temperature_;

    output_plots_ = config_.get<bool>("output_plots");
    output_linegraphs_ = config_.get<bool>("output_linegraphs");
+2 −2
Original line number Diff line number Diff line
@@ -123,8 +123,8 @@ namespace allpix {
    public:
        VanOverstraetenDeMan(double temperature, double threshold)
            : ImpactIonizationModel(threshold),
              gamma_(std::tanh(Units::get(0.063e6, "eV") / (2. * Units::get(8.6173e-5, "eV/K") * 300.)) /
                     std::tanh(Units::get(0.063e6, "eV") / (2. * Units::get(8.6173e-5, "eV/K") * temperature))),
              gamma_(std::tanh(Units::get(0.063e6, "eV") / (2. * Units::get(8.6173333e-5, "eV/K") * 300.)) /
                     std::tanh(Units::get(0.063e6, "eV") / (2. * Units::get(8.6173333e-5, "eV/K") * temperature))),
              e_zero_(Units::get(4.0e5, "V/cm")), electron_a_(Units::get(7.03e5, "/cm")),
              electron_b_(Units::get(1.231e6, "V/cm")), hole_a_low_(Units::get(1.582e6, "/cm")),
              hole_a_high_(Units::get(6.71e5, "/cm")), hole_b_low_(Units::get(2.036e6, "V/cm")),