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
rescaling.hpp File Reference

Rescales the linear system such that unknowns are approximately the same order of magnitude. More...

#include <iostream>
#include <math.h>
#include <cfloat>
#include "viennashe/config.hpp"
#include "viennashe/physics/constants.hpp"
#include "viennashe/she/she_quantity.hpp"
#include "viennagrid/mesh/mesh.hpp"

Go to the source code of this file.

Namespaces

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

Functions

template<typename DeviceType , typename SHEQuantity , typename VectorType >
void viennashe::she::setup_unknown_scaling (DeviceType const &device, viennashe::config const &conf, SHEQuantity &quan, VectorType &scaling_vector)
 Initializes the unknown scaling. Returns a vector holding the scaling factors. More...
 
template<typename MatrixType , typename VectorType >
void viennashe::she::rescale_system (MatrixType &system_matrix, VectorType const &scaling)
 Scales the system matrix (right-preconditioner) with respect to the rescaled unknowns. More...
 

Detailed Description

Rescales the linear system such that unknowns are approximately the same order of magnitude.

Definition in file rescaling.hpp.