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

Provides a VTK writer for the computed distribution function. Outputs the (x, H)-space. More...

#include <math.h>
#include <fstream>
#include <iostream>
#include <vector>
#include "viennagrid/forwards.hpp"
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/io/vtk_writer.hpp"
#include "viennashe/forwards.h"
#include "viennashe/config.hpp"
#include "viennashe/she/postproc/all.hpp"
#include "viennashe/simulator_quantity.hpp"
#include "viennashe/physics/constants.hpp"
#include "viennashe/io/exception.hpp"
#include "viennashe/materials/all.hpp"
#include "viennashe/models/mobility.hpp"
#include "viennashe/postproc/current_density.hpp"
#include "viennashe/postproc/electric_field.hpp"
#include "viennashe/phonon/joule_heating.hpp"
#include "viennashe/log/log.hpp"
#include "viennashe/io/log_keys.h"
#include "viennashe/util/misc.hpp"

Go to the source code of this file.

Classes

struct  viennashe::io::result_of::she_vtk_type< T >
 Meta function which translates element tags to VTK type identifiers (taking extra energy coordinate into account) More...
 
struct  viennashe::io::result_of::she_vtk_type< viennagrid::simplex_tag< 1 > >
 VTK type for a line embedded into (x, H)-space -> quadrilateral. More...
 
struct  viennashe::io::result_of::she_vtk_type< viennagrid::hypercube_tag< 1 > >
 VTK type for a line embedded into (x, H)-space -> quadrilateral. More...
 
struct  viennashe::io::result_of::she_vtk_type< viennagrid::quadrilateral_tag >
 VTK type for a quadrilateral embedded into (x, H)-space -> hexahedron. More...
 
struct  viennashe::io::result_of::she_vtk_type< viennagrid::triangle_tag >
 VTK type for a triangle embedded into (x, H)-space -> wedge. More...
 
class  viennashe::io::she_vtk_writer< SHEDeviceType, CoordSystem >
 VTK writer class. More...
 
class  viennashe::io::she_vtk_writer< DeviceType, viennagrid::cartesian_cs< 3 > >
 Compatibility overload in order to enable compilation for three-dimensional devices. No action if called. More...
 
struct  viennashe::io::result_of::topology_tag< T >
 Helper routine for extracting the ViennaGrid topology tag from a quantity wrapper. Works well with viennashe::util::spatial_quantity_wrapper. Custom wrappers should add template specializations of this helper metafunction. More...
 
struct  viennashe::io::result_of::topology_tag< viennashe::util::spatial_quantity_wrapper< DeviceType, TagT > >
 
class  viennashe::io::detail::container_accessor< ContainerType, KeyType, ValueType >
 

Namespaces

namespace  viennashe
 The main ViennaSHE namespace. All functionality resides inside this namespace.
 
namespace  viennashe::io
 Namespace for all (file-)IO specific code

 
namespace  viennashe::io::result_of
 Auxiliary namespace with metafunctions.
 
namespace  viennashe::io::detail
 Namespace for implementation details within viennashe::io. Typically not of interest for a library user.
 

Functions

template<typename QuantityType , typename DeviceType >
void viennashe::io::write_vertex_quantity_to_VTK_file (QuantityType const &quantity, DeviceType const &device, std::string filename, std::string name_in_file="viennashe_quantity")
 Convenience routine for writing a single macroscopic quantity to a VTK file. More...
 
template<typename QuantityType , typename DeviceType >
void viennashe::io::write_cell_quantity_to_VTK_file (QuantityType const &quantity, DeviceType const &device, std::string filename, std::string name_in_file="viennashe_quantity")
 Convenience routine for writing a single macroscopic quantity to a VTK file. More...
 
template<typename QuantityType , typename DeviceType >
void viennashe::io::detail::write_quantity_to_VTK_file (QuantityType const &quantity, DeviceType const &device, std::string filename, std::string name_in_file, viennagrid::vertex_tag)
 
template<typename QuantityType , typename DeviceType , typename Tag >
void viennashe::io::detail::write_quantity_to_VTK_file (QuantityType const &quantity, DeviceType const &device, std::string filename, std::string name_in_file, Tag)
 
template<typename QuantityType , typename DeviceType >
void viennashe::io::write_quantity_to_VTK_file (QuantityType const &quantity, DeviceType const &device, std::string filename, std::string name_in_file="viennashe_quantity")
 Generic interface function for writing a quantity to a VTK file. Automatically dispatches between vertex and cell quantity. More...
 
template<typename KeyType , typename ValueType , typename ContainerType >
container_accessor< ContainerType, KeyType, ValueType > viennashe::io::detail::make_accessor (ContainerType const &c)
 
template<typename DeviceType >
void viennashe::io::write_quantities_to_VTK_file (viennashe::simulator< DeviceType > const &simulator_obj, std::string filename, bool include_debug_information=false)
 Generic interface function for writing simulated quantities to a VTK file. More...
 

Detailed Description

Provides a VTK writer for the computed distribution function. Outputs the (x, H)-space.

Definition in file she_vtk_writer.hpp.