Greens-code
A modular quantum transport code
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
Interface Class Referenceabstract

Abstract base class describing the interface between adjacent Rectangles. More...

#include <interface.hpp>

Inheritance diagram for Interface:
Inheritance graph
[legend]
Collaboration diagram for Interface:
Collaboration graph
[legend]

Public Types

typedef STD_TR1::shared_ptr< Interfaceref
 
typedef STD_TR1::shared_ptr< const Interfaceconst_ref
 
- Public Types inherited from loadable_Object
typedef STD_TR1::shared_ptr< loadable_Objectref
 
typedef STD_TR1::shared_ptr< const loadable_Objectconst_ref
 
typedef std::pair< std::string, ref > ref_pair
 
typedef STD_TR1::weak_ptr< loadable_Objectlink
 
typedef STD_TR1::weak_ptr< const loadable_Objectconst_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
 
- Public Member Functions inherited from loadable_Object
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
 
- Static Public Member Functions inherited from loadable_Object
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)
 

Detailed Description

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:


The documentation for this class was generated from the following files: