Greens-code
A modular quantum transport code
|
Abstract base class describing the interface between adjacent Rectangles. More...
#include <interface.hpp>
Public Types | |
typedef STD_TR1::shared_ptr< Interface > | ref |
typedef STD_TR1::shared_ptr< const Interface > | const_ref |
![]() | |
typedef STD_TR1::shared_ptr< loadable_Object > | ref |
typedef STD_TR1::shared_ptr< const loadable_Object > | const_ref |
typedef std::pair< std::string, ref > | ref_pair |
typedef STD_TR1::weak_ptr< loadable_Object > | link |
typedef STD_TR1::weak_ptr< const loadable_Object > | const_link |
Public Member Functions | |
index_connector::ref | left () const |
index_connector::ref | right () const |
double | y_shift () const |
void | create_full_Interface (Matrix &m) const |
void | create_Hi (Matrix &m) const |
void | create_Hit (Matrix &m) const |
void | create_Hi_expand_left (Matrix &m) const |
void | create_Hi_expand_right (Matrix &m) const |
void | create_Hi_expand_both (Matrix &m) const |
void | create_Hit_expand_left (Matrix &m) const |
void | create_Hit_expand_right (Matrix &m) const |
void | create_Hit_expand_both (Matrix &m) const |
mkl_Matrix::ref | create_Hi () const |
mkl_Matrix::ref | create_Hi_expand_left () const |
mkl_Matrix::ref | create_Hi_expand_right () const |
mkl_Matrix::ref | create_Hi_expand_both () const |
mkl_Matrix::ref | create_Hit () const |
mkl_Matrix::ref | create_Hit_expand_left () const |
mkl_Matrix::ref | create_Hit_expand_right () const |
mkl_Matrix::ref | create_Hit_expand_both () const |
size_t | n_left () const |
the number of virtual interface points to the left | |
size_t | n_right () const |
the number of virtual interface points to the right | |
size_t | n_left_rect () const |
the number of actual grid points for the rectangle to the left | |
size_t | n_right_rect () const |
the number of actual grid points for the rectangle to the right | |
![]() | |
void | write_xml (std::ostream &) const |
Output the xml code that would construct the object to stream. | |
loadable_Object () | |
Empty construction, objects are initialized by init routine. | |
const char * | class_Name () const |
Calls virtual const char* name(), which must be redefined for derived classes. | |
bool | get_param (const std::string &s, double &v) const |
get a double, integer or string parameter by name (s), return wether parameter exists | |
bool | get_param (const std::string &s, int &v) const |
bool | get_param (const std::string &s, std::string &v) const |
double | get_double_param (const std::string &s) const |
get a double, integer or string parameter, throw if it does not exist | |
int | get_int_param (const std::string &s) const |
std::string | get_string_param (const std::string &s) const |
void | set_param (const std::string &s, double v) |
set a double, integer or string parameter | |
void | set_param (const std::string &s, int v) |
void | set_param (const std::string &s, std::string v) |
bool | get_bool (const std::string &s, const bool def) const |
return bool parameter, return def if string not found | |
void | acquire_params (const const_ref &) |
import all parameters from another object | |
void | insert_object (const std::string &s, ref o) |
insert an object as parameter | |
void | link_object (const std::string &s, ref o) |
insert a link to an object as parameter, the refered object must be defined elsewhere | |
bool | get_component (const std::string &s, const_ref &) const |
get a contained object by string s, return wether it exists | |
bool | get_component (const std::string &s, ref &) |
const_ref | get_component (const std::string &s) const |
get a contained object by string s, throw if it does not exist | |
ref | get_component (const std::string &s) |
template<typename T > | |
STD_TR1::shared_ptr< T > | get_dynamic_component (const std::string &s) |
get a contained object with a dynamic cast More... | |
template<typename T > | |
STD_TR1::shared_ptr< const T > | get_dynamic_component (const std::string &s) const |
ref | get_ref () |
Get a shared_ptr to this object. More... | |
const_ref | get_ref () const |
template<typename T > | |
STD_TR1::shared_ptr< T > | get_dynamic_ref () |
Get a dynamic reference to this object. More... | |
template<typename T > | |
STD_TR1::shared_ptr< const T > | get_dynamic_ref () const |
void | initialize (ref me) |
called by the xml_parser to initialize the object More... | |
void | set_correct_ref (ref me) |
called to set reference to object More... | |
bool | is_initialized () const |
returns whether the object has been correctly initialized | |
void | require_initialized () const |
throws if is_initialized returns false | |
void | force_reinit () |
call if parameters are changed, object is completely reinitialized, children are not | |
void | register_Observer (Observer::ref) |
register/unregister Observer: All registered Observers will have notify() called upon state change (reinit) | |
void | unregister_Observer (Observer::ref) |
size_t | nparams () const |
returns total number of parameters | |
ref | clone () const |
returns a complete clone of the Object and all parameters (with correct dynamic type) | |
virtual size_t | verbosity () |
Static Public Member Functions | |
static void | reduce (const Matrix &, const index_connector::ref, const index_connector::ref, mkl_Matrix &) |
static void | reduce (const Vector &, const index_connector::ref, Vector &) |
static void | reduce (Vector &, const index_connector::ref) |
static void | expand (const Vector &, const index_connector::ref, complex *) |
static index_connector::ref | empty (size_t ny) |
return a connector for a trivial interface, that connects ny points with themselves | |
![]() | |
template<class T > | |
static STD_TR1::shared_ptr< const T > | clone (const STD_TR1::shared_ptr< const T > r) |
template<class T > | |
static STD_TR1::shared_ptr< T > | clone (STD_TR1::shared_ptr< T > r) |
Protected Member Functions | |
void | set_n_left_right (size_t nl, size_t nr) |
Static Protected Member Functions | |
static void | connect_index (index_connector &v, size_t i, int j) |
Abstract base class describing the interface between adjacent Rectangles.
A geometry is build up of slices that are joined together in rectangles. adjacent rectangles are connected by interfaces. An interface defines a set of virtual connecting points to the left (n_left) and right (n_right). The interface is then defined by the n_left x n_right matrix describing the interconnection of the interface, and the way the left (right) virtual interface points are connected to the slices to the left (right) of the interface.
The general connection of n1 points with n2 points is formed by index_connectors: