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

Distributes the unknown indices ('mapping') for the Poisson equation and the continuity equations. More...

#include <iostream>
#include <fstream>
#include <vector>
#include <memory>
#include <petsc.h>
#include "viennagrid/mesh/mesh.hpp"
#include "viennashe/forwards.h"
#include "viennashe/materials/all.hpp"
#include "viennashe/simulator_quantity.hpp"
#include "viennashe/she/timestep_quantities.hpp"
#include "viennashe/she/assemble_common.hpp"
#include "viennashe/util/misc.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 DeviceType , typename VertexT >
long viennashe::create_mapping (DeviceType const &device, viennashe::unknown_quantity< VertexT > &quantity, long start_index=0)
 Maps unkown indices in the system matrix to the given unknown spatial quantity. More...
 
template<typename DeviceType , typename CellType , typename SHEQuantity >
void viennashe::detail::map_cell (DeviceType const &device, CellType const &cell, std::size_t index_H, SHEQuantity &quan, viennashe::config const &conf, long &current_index)
 Handles the mapping of a SHE unkown quantity on a single cell and H-space index. More...
 
template<typename DeviceType , typename SHEQuantity , typename FacetType >
void viennashe::detail::map_facet (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, FacetType const &facet, std::size_t index_H, long &current_index)
 Assigns an unknown index for odd SHE unknowns to a facet. Preconditions: More...
 
template<typename DeviceType , typename SHEQuantity >
long viennashe::create_even_mapping (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, long unknown_offset=0)
 Distributes SHE unknown indices (dofs) over the device. More...
 
template<typename DeviceType , typename SHEQuantity >
long viennashe::create_odd_mapping (DeviceType const &device, SHEQuantity &quan, viennashe::config const &conf, long unknown_offset=0)
 Distributes SHE unknown indices (dofs) over the device. More...
 
template<typename DeviceT >
map_info_type viennashe::create_mapping (DeviceT const &device, viennashe::she::timestep_quantities< DeviceT > &quantities, viennashe::config const &conf)
 Creates an unkown mapping for spatial quantities. More...
 

Detailed Description

Distributes the unknown indices ('mapping') for the Poisson equation and the continuity equations.

Definition in file mapping.hpp.