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

Implements the elimination and the recovery of odd-order unknowns from the discrete system of equations. More...

#include <iostream>
#include <cassert>
#include "viennashe/she/exception.hpp"
#include "viennashe/log/log.hpp"
#include "viennashe/she/log_keys.h"

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 FullMatrixType , typename VectorType >
void viennashe::she::detail::combine_lines (FullMatrixType &system_matrix, VectorType &rhs, std::size_t line1, std::size_t line_to_add, std::size_t column_to_zero)
 
template<typename FullMatrixType , typename VectorType >
void viennashe::she::diagonalise_odd2odd_coupling_matrix (FullMatrixType &system_matrix, VectorType &rhs, std::size_t num_even)
 Eliminates all odd spherical harmonics expansion coefficients in the off diagonals of S^oo from the system matrix by line operations. More...
 
template<typename FullMatrixType , typename CompressedMatrixType , typename VectorType >
void viennashe::she::eliminate_odd_unknowns (FullMatrixType &system_matrix, VectorType const &rhs, CompressedMatrixType &compressed_matrix, VectorType &compressed_rhs)
 Eliminates all odd spherical harmonics expansion coefficients from the system matrix. More...
 
template<typename MatrixT , typename VectorT >
VectorT viennashe::she::recover_odd_unknowns (MatrixT const &full_matrix, VectorT const &full_rhs, VectorT const &compressed_result)
 Recovers the odd-order unknowns from the even-order unknowns. More...
 

Detailed Description

Implements the elimination and the recovery of odd-order unknowns from the discrete system of equations.

Definition in file eliminate.hpp.