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

Helper routines for projecting normal components of a vector-valued quantity defined on edges to vertices (e.g. for visualization purposes) More...

#include "viennagrid/forwards.hpp"
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/algorithm/volume.hpp"
#include "viennagrid/algorithm/inner_prod.hpp"
#include "viennagrid/algorithm/centroid.hpp"
#include "viennashe/forwards.h"
#include "viennashe/physics/constants.hpp"
#include "viennashe/util/filter.hpp"
#include "viennashe/util/misc.hpp"
#include "viennashe/log/log.hpp"
#include "viennashe/math/linalg_util.hpp"
#include "viennashe/solvers/forwards.h"

Go to the source code of this file.

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 WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< viennagrid::line_tag, WrappedConfigT > >::type viennashe::util::detail::outer_cell_normal_at_facet (viennagrid::element< viennagrid::line_tag, WrappedConfigT > const &cell, viennagrid::element< viennagrid::vertex_tag, WrappedConfigT > const &facet)
 
template<typename CellTagT , typename WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< CellTagT, WrappedConfigT > >::type viennashe::util::detail::outer_cell_normal_at_facet (viennagrid::element< CellTagT, WrappedConfigT > const &cell, viennagrid::element< viennagrid::line_tag, WrappedConfigT > const &facet)
 
template<typename CellTagT , typename FacetTagT , typename WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< CellTagT, WrappedConfigT > >::type viennashe::util::detail::outer_cell_normal_at_facet_3d (viennagrid::element< CellTagT, WrappedConfigT > const &cell, viennagrid::element< FacetTagT, WrappedConfigT > const &facet)
 
template<typename CellTagT , typename WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< CellTagT, WrappedConfigT > >::type viennashe::util::detail::outer_cell_normal_at_facet (viennagrid::element< CellTagT, WrappedConfigT > const &cell, viennagrid::element< viennagrid::triangle_tag, WrappedConfigT > const &facet)
 
template<typename CellTagT , typename WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< CellTagT, WrappedConfigT > >::type viennashe::util::detail::outer_cell_normal_at_facet (viennagrid::element< CellTagT, WrappedConfigT > const &cell, viennagrid::element< viennagrid::quadrilateral_tag, WrappedConfigT > const &facet)
 
template<typename CellTagT , typename FacetTagT , typename WrappedConfigT >
viennagrid::result_of::point< viennagrid::element< CellTagT, WrappedConfigT > >::type viennashe::util::outer_cell_normal_at_facet (viennagrid::element< CellTagT, WrappedConfigT > const &cell, viennagrid::element< FacetTagT, WrappedConfigT > const &facet)
 Returns the unit outer normal of a facet with respect to the provided cell. More...
 
template<typename DeviceT , typename CellT , typename FacetContainerT , typename CellSetterT , typename FacetAccessorT >
void viennashe::util::dual_box_flux_to_cell (DeviceT const &device, CellT const &cell, FacetContainerT const &facets, CellSetterT &cell_setter, FacetAccessorT const &facet_access)
 Interpolates normal components of the flux defined on each facet to cells. Mostly used for visualization purposes. More...
 
template<typename DeviceType , typename CellSetter , typename FacetAccessor >
void viennashe::util::dual_box_flux_to_cell (DeviceType const &device, CellSetter &cell_setter, FacetAccessor const &facet_accessor)
 Interpolates normal components of the flux defined on each facet to all cells in the mesh (or segment). More...
 

Detailed Description

Helper routines for projecting normal components of a vector-valued quantity defined on edges to vertices (e.g. for visualization purposes)

Definition in file dual_box_flux.hpp.