Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ElectroMagCells2D.hpp
Go to the documentation of this file.
1 /*
2  * ElectroCells2D.hpp
3  *
4  * Created on: Nov 14, 2014
5  * Author: cuda
6  */
7 
8 #ifndef ELECTROMAGCELLS2D_HPP_
9 #define ELECTROMAGCELLS2D_HPP_
10 
11 #include "CellsBase.hpp"
12 #include "CellsFactoryReg.hpp"
13 #include "../cell/ElectroMagCell.hpp"
14 #include "../../../visual/visual.hpp"
15 #include "../../../common/common.hpp"
16 
17 #include "tbb/tbb.h"
18 
19 #include <cmath>
20 #include <iostream>
21 #include <vector>
22 #include <fstream>
23 #include <iterator>
24 #include <string>
25 
26 namespace phoxonics {
27 namespace core {
28 
29 class ElectroMagCells2D : public CellsBase {
30 public:
32  virtual ~ElectroMagCells2D();
33 
34  std::vector<std::vector<ElectroMagCell>> cells;
35 
36 // std::vector<ElectroMagCell> cells2;
37 // tbb::concurrent_vector<ElectroMagCell> cells3;
38 // void add_cell(int i);
39 
40  // configure cells
41  void configure() override final;
42 
43  // print cells object
44  void print_me() override final;
45 
46  // generate an h5 file from the group of cells
47  void generate_cells_h5(std::string material_property) override final;
48 
55  void generate_cells_slice_h5(std::string component,
56  std::shared_ptr<phoxonics::common::Hdf5Base> hdf5_base) override final;
57 
58  // visualize slice cells
59  void visualize_cells_slice(std::string component,
60  phoxonics::visual::GnuplotConfig gp_config) override final;
61 
62 private:
63  // visualization helper
64  Gnuplot gp_;
65  phoxonics::visual::Gnuplot2D gnuplot_2d_;
66 };
67 
68 } /* namespace core */
69 } /* namespace phoxonics */
70 
71 #endif /* ELECTROMAGCELLS2D_HPP_ */
Definition: CellsBase.hpp:20
void visualize_cells_slice(std::string component, phoxonics::visual::GnuplotConfig gp_config) overridefinal
Definition: ElectroMagCells2D.cpp:129
void configure() overridefinal
Definition: ElectroMagCells2D.cpp:29
Definition: ElectroMagCells2D.hpp:29
Definition: CommonBase.hpp:14
STL namespace.
ElectroMagCells2D()
Definition: ElectroMagCells2D.cpp:15
void generate_cells_h5(std::string material_property) overridefinal
Definition: ElectroMagCells2D.cpp:65
void print_me() overridefinal
Definition: ElectroMagCells2D.cpp:59
void generate_cells_slice_h5(std::string component, std::shared_ptr< phoxonics::common::Hdf5Base > hdf5_base) overridefinal
Definition: ElectroMagCells2D.cpp:94
std::vector< std::vector< ElectroMagCell > > cells
Definition: ElectroMagCells2D.hpp:34
virtual ~ElectroMagCells2D()
Definition: ElectroMagCells2D.cpp:19