Defines a set of setup routines and checkers for simulators. More...
#include <iostream>
#include <sstream>
#include <string>
#include <stdexcept>
#include <limits>
#include "viennashe/forwards.h"
#include "viennashe/accessors.hpp"
#include "viennashe/setters.hpp"
#include "viennashe/device.hpp"
#include "viennashe/exception.hpp"
#include "viennashe/util/misc.hpp"
#include "viennashe/physics/physics.hpp"
#include "viennashe/materials/all.hpp"
#include "viennashe/util/filter.hpp"
#include "viennashe/util/checks.hpp"
#include "viennashe/log/log.hpp"
#include "viennagrid/algorithm/norm.hpp"
#include "viennagrid/algorithm/quantity_transfer.hpp"
#include "viennagrid/algorithm/closest_points.hpp"
#include "viennagrid/algorithm/distance.hpp"
#include "viennagrid/mesh/segmentation.hpp"
#include "viennagrid/mesh/mesh_operations.hpp"
Go to the source code of this file.
Namespaces | |
namespace | viennashe |
The main ViennaSHE namespace. All functionality resides inside this namespace. | |
namespace | viennashe::detail |
Namespace for implementation details. Typically not of interest for the library user. | |
Functions | |
template<typename ElementTagT , typename DeviceType , typename AccessorType , typename FilterType , typename CheckerType > | |
bool | viennashe::detail::check_quantity_on_ncell (DeviceType const &device, AccessorType const &accessor, FilterType const &filter, CheckerType const &checker) |
Ensures that a quantity is available on n-cells of a certain dimension. If this is not the case, the quantity is transferred (averaged/interpolated) from cells of other dimension. An exception is thrown if the fallback-transfer fails. More... | |
template<typename TagT , typename FallbackTagT , typename DeviceType , typename AccessorType , typename FilterType , typename CheckerType , typename FallbackAccessorType , typename FallbackSetterType , typename FallbackAveragerType , typename FallbackFilterType , typename FallbackCheckerType > | |
bool | viennashe::detail::setup_and_check_quantity_on_ncell_with_fallback (DeviceType &device, AccessorType const &accessor, FilterType const &filter, CheckerType const &checker, FallbackAccessorType const &fallback_accessor, FallbackSetterType &fallback_setter, FallbackAveragerType const &fallback_averager, FallbackFilterType const &fallback_filter, FallbackCheckerType const &fallback_checker) |
Ensures that a quantity is available on n-cells of a certain dimension. If this is not the case, the quantity is transferred (averaged/interpolated) from cells of other dimension. More... | |
invalid_doping_in_device_exception | viennashe::detail::get_invalid_doping_exception (viennashe::carrier_type_id ctype) |
Helper routine for creating the exception thrown if the donator doping is found to be invalid on the device. More... | |
template<typename DeviceType > | |
void | viennashe::setup_doping_on_vertices (DeviceType &device, viennashe::carrier_type_id ctype) |
Sets up donator or acceptor doping on vertices. If doping is provided on cells, it is interpolated accordingly. More... | |
template<typename DeviceType > | |
void | viennashe::setup_doping_on_vertices (DeviceType &device) |
Sets up donator and acceptor doping on vertices. If doping is provided on cells, it is interpolated accordingly. More... | |
Defines a set of setup routines and checkers for simulators.
Definition in file simulator_setup.hpp.