Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PmlBase.hpp
Go to the documentation of this file.
1 /*
2  * PmlBase.hpp
3  *
4  * Created on: Jun 25, 2014
5  * Author: nano
6  */
7 
8 #ifndef PMLBASE_HPP_
9 #define PMLBASE_HPP_
10 
11 #include "../config/SimulationConfig.hpp"
12 #include "../common/SimulationItemBase.hpp"
13 #include "../common/Vector3D.hpp"
14 #include "../cells/CellsBase.hpp"
15 #include "../../../common/common.hpp"
16 #include <memory>
17 #include <string>
18 
19 namespace phoxonics {
20 namespace core {
21 
22 class PmlBase : public SimulationItemBase {
23 public:
24  explicit PmlBase();
25  virtual ~PmlBase();
26 
27  Vector3D thickness;
28 
29  // configures object and initializes data from config
30  virtual void configure(std::shared_ptr<ConfigBase> config_base) override;
31 
32  // prints object data
33  virtual void print_me() override;
34 
35  // apply pml
36  virtual void apply_pml(std::shared_ptr<CellsBase> cells_base);
37 };
38 
39 } /* namespace core */
40 } /* namespace phoxonics */
41 
42 #endif /* PMLBASE_HPP_ */
PmlBase()
Definition: PmlBase.cpp:13
virtual ~PmlBase()
Definition: PmlBase.cpp:17
Definition: CommonBase.hpp:14
virtual void apply_pml(std::shared_ptr< CellsBase > cells_base)
Definition: PmlBase.cpp:37
Vector3D thickness
Definition: PmlBase.hpp:27
virtual void print_me() override
Definition: PmlBase.cpp:30
virtual void configure()
Definition: SimulationItemBase.cpp:21