ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
misc.hpp File Reference

Miscellaneous utilities. More...

#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
#include <stdexcept>
#include <cmath>
#include "viennagrid/forwards.hpp"
#include "viennagrid/algorithm/voronoi.hpp"
#include "viennagrid/algorithm/interface.hpp"
#include "viennagrid/algorithm/boundary.hpp"
#include "viennashe/forwards.h"
#include "viennashe/util/exception.hpp"
#include "viennashe/exception.hpp"
#include "viennashe/materials/all.hpp"

Go to the source code of this file.

Classes

class  viennashe::util::value_holder_functor< ValueType >
 A functor which holds a single value. Used in most of the postprocessing routines. More...
 
struct  viennashe::util::arithmetic_averaging
 A functor which computes the arithmetic average of all entries in a container. More...
 
struct  viennashe::util::geometric_averaging
 A functor which computes the geometric average of all entries in a container. More...
 
struct  viennashe::util::logic_or_averaging
 A functor which returns the result of a logic-or chain consisting of all elements of the supplied container. More...
 
class  viennashe::util::filtered_functor< FilterType, FunctorType >
 A compound functor which applies the provided functor only to the argument if the supplied filter evaluates to true. More...
 
struct  viennashe::util::detail::unity_weight
 A functor assigning unity weight to the element provided. More...
 
struct  viennashe::util::cpp03_static_assert< b >
 
struct  viennashe::util::cpp03_static_assert< true >
 
struct  viennashe::util::is_equal< T, U >
 
struct  viennashe::util::is_equal< T, T >
 
class  viennashe::util::spatial_quantity_wrapper< DeviceType, ElementTagT, ValueType >
 A functor-style wrapper for a spatial quantity (typically potential, electron density or hole density). Typically evaluated on each vertex only. More...
 
class  viennashe::util::spatial_quantity< DeviceType, ElementTagT, ValueType >
 A functor-style wrapper for a spatial quantity which is externally prescribed by the user. More...
 

Namespaces

namespace  viennashe
 The main ViennaSHE namespace. All functionality resides inside this namespace.
 
namespace  viennashe::util
 A collection of utilities used within ViennaSHE.
 
namespace  viennashe::util::detail
 Namespace containing implementation details for functionality from viennashe::util. Typically not of interest for a library user.
 

Functions

template<typename FilterType , typename FunctorType >
filtered_functor< FilterType, FunctorType > viennashe::util::make_filtered_functor (FilterType const &filter, FunctorType &fun)
 Convenience routine for creating a filtered functor out of the provided filter- and action-functor. Also see class filtered_functor. More...
 
template<typename MeshT , typename FacetT , typename CellT >
CellT const * viennashe::util::get_other_cell_of_facet (MeshT const &mesh, FacetT const &facet, CellT const &cell)
 Helper function returning a const-pointer to the 'second cell' of a facet, or NULL if there is no second facet. The 'first' cell is passed to the function. More...
 
template<typename DeviceT , typename CellT >
CellT const * viennashe::util::get_connected_semiconductor_cell (DeviceT const &device, CellT const &cell)
 Helper function returning a const-pointer to the 'second cell' of a facet, or NULL if there is no second facet. The 'first' cell is passed to the function. More...
 
template<typename T >
std::string viennashe::util::format_number_to_width (T number, int width)
 Returns the formatted number as string with the given length, where spaces are used as padding character. More...
 
template<typename VectorType >
VectorType::value_type viennashe::util::norm_inf (VectorType const &v, std::size_t index_start, std::size_t index_stop)
 Computes the infimum norm of a subvector. More...
 

Detailed Description

Miscellaneous utilities.

Definition in file misc.hpp.