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

Go to the source code of this file.

Namespaces

namespace  viennashe
 The main ViennaSHE namespace. All functionality resides inside this namespace.
 
namespace  viennashe::she
 
namespace  viennashe::she::detail
 

Functions

template<typename ElementType , typename QuantityPotential , typename QuantityPotentialOld >
double viennashe::she::detail::potential_difference_to_old_timestep (ElementType const &elem, QuantityPotential const &new_potential, QuantityPotentialOld const &old_potential)
 Obtain the potential difference from an edge. More...
 
template<typename ConfigType , typename QuantityPotential , typename QuantityPotentialOld >
double viennashe::she::detail::potential_difference_to_old_timestep (viennagrid::element< viennagrid::vertex_tag, ConfigType > const &elem, QuantityPotential const &new_potential, QuantityPotentialOld const &old_potential)
 Obtain the potential difference from a vertex. More...
 
template<typename DeviceType , typename SHEQuantity , typename MatrixType , typename VectorType , typename ElementType , typename CouplingMatrixType , typename QuantityPotential , typename QuantityPotentialOld >
void viennashe::she::assemble_timederivative (DeviceType const &device, viennashe::config const &conf, SHEQuantity const &quan, SHEQuantity const &quan_old, MatrixType &A, VectorType &b, ElementType const &elem, std::size_t index_H, CouplingMatrixType const &identity_matrix, QuantityPotential const &quan_pot, QuantityPotentialOld const &quan_pot_old)