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

Computes the current density (both Jn and Jp) after using a drift diffusion solution. More...

#include <iostream>
#include <fstream>
#include <vector>
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/algorithm/volume.hpp"
#include "viennagrid/algorithm/interface.hpp"
#include "viennashe/forwards.h"
#include "viennashe/physics/constants.hpp"
#include "viennashe/accessors.hpp"
#include "viennashe/scharfetter_gummel.hpp"
#include "viennashe/physics/physics.hpp"
#include "viennashe/materials/all.hpp"
#include "viennashe/util/checks.hpp"
#include "viennashe/log/log.hpp"
#include "viennashe/util/misc.hpp"
#include "viennashe/util/dual_box_flux.hpp"
#include "viennashe/she/postproc/macroscopic.hpp"

Go to the source code of this file.

Classes

struct  viennashe::detail::current_density_on_facet< DeviceType, PotentialAccessorType, AccessorTypeCarrier, MobilityModel >
 An accessor to the current density (drift diffusion only!) on edges. More...
 
class  viennashe::detail::macroscopic_carrier_mask_filter< DeviceType, SimulatorQuantity >
 
class  viennashe::current_density_wrapper< DeviceType, PotentialQuantityType, CarrierQuantityType, MobilityModel >
 An accessor to the current density on vertices and edges (drift diffusion only!) More...
 

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 PotentialQuantityType , typename CarrierQuantityType , typename MobilityModel , typename ContainerType >
void viennashe::write_current_density_to_container (DeviceType const &device, PotentialQuantityType const &potential, CarrierQuantityType const &carrier, viennashe::carrier_type_id ctype, MobilityModel const &mobility_model, ContainerType &container)
 Convenience function for writing the electric field to a container. More...
 
template<typename DeviceT , typename CurrentDensityT >
void viennashe::check_current_conservation (DeviceT const &device, CurrentDensityT const &current_on_facet)
 Checks current conservation for SHE. Writes information using log::info(). More...
 
template<typename DeviceType , typename PotentialQuantityType , typename CarrierQuantityType , typename MobilityModel >
void viennashe::check_current_conservation (DeviceType const &device, viennashe::carrier_type_id ctype, PotentialQuantityType const &potential, CarrierQuantityType const &carrier, MobilityModel const &mobility_model)
 

Detailed Description

Computes the current density (both Jn and Jp) after using a drift diffusion solution.

Definition in file current_density.hpp.