ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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.