1#ifndef VIENNASHE_SHE_EXCEPTION_HPP
2#define VIENNASHE_SHE_EXCEPTION_HPP
62 virtual const char*
what()
const throw() {
return msg_.c_str(); }
66 long m) : std::runtime_error(el), element_string_(el), l_(l), m_(m)
67 { this->fill_message(); }
72 std::string element_string_;
81 ss <<
"* ViennaSHE: Invalid expansion order (" << l_ <<
", " << m_ <<
") on " << element_string_ <<
" accessed!";
94 virtual const char*
what()
const throw() {
return _msg.c_str(); }
106 std::stringstream ss;
107 ss <<
"* ViennaSHE: Invalid matrixelement '" << _value <<
"' found. ";
Exception for the case that adaptive SHE cannot deal with the provided configuration (currently holes...
adaptive_she_not_available_for_this_configuration_exception(std::string const &str)
Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry.
assembly_exception(std::string const &str)
Exception for the case that a vertex has a coupling with itself.
coupled_vertices_equal_exception(std::string const &str)
Exception for the case that any component encounters a divison by 0.0.
division_by_zero(std::string const &str)
Exception for the case that invalid expansion order is accessed.
virtual ~invalid_expansion_order_exception()
invalid_expansion_order_exception(std::string el, std::size_t l, long m)
virtual const char * what() const
Exception for the case that invalid expansion order is accessed.
virtual const char * what() const
virtual ~invalid_matrixelement_exception()
invalid_matrixelement_exception(std::string el, double value)
Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry.
invalid_scattering_term_exception(std::string const &str)
Exception for the case that neither electrons nor holes are selected for the simulation.
negative_integration_interval_length_exception(std::string const &str)
Exception for the case that neither electrons nor holes are selected for the simulation.
no_carrier_type_id_specified_exception(std::string const &str)
Exception for the case that no initial guess was/is specified.
no_init_guess_found_exception(std::string const &str)
Exception for the case that a macroscopic quantity is accessed, but the simulator has not yet been ru...
quantity_not_yet_available_exception(std::string const &str)
Exception for the case that a scattering term is Inf, NaN or causes an invalid system matrix entry.
quantum_correction_with_newton_not_supported_exception(std::string const &str)
Exception for the case that neither electrons nor holes are selected for the simulation.
she_simulator_does_not_accept_drift_diffusion_only_exception(std::string const &str)
Exception for the case that traps are enabled without a bipolar SHE simulation.
she_simulator_requires_bipolar_solution_for_traps(std::string const &str)
Exception for the case that the total energy is smaller than the kinetic energy.
total_energy_too_small_exception(std::string const &str)
Exception for the case that an invalid dispersion relation is specified.
unknown_dispersion_relation_exception(std::string const &str)
Exception thrown in case an unkown or unsupported carrier type is found.
unkown_carrier_type_exception(std::string const &str)
The main ViennaSHE namespace. All functionality resides inside this namespace.