Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
phoxonics::core::ElectroMagnetic1D Class Reference
Inheritance diagram for phoxonics::core::ElectroMagnetic1D:
Inheritance graph
[legend]
Collaboration diagram for phoxonics::core::ElectroMagnetic1D:
Collaboration graph
[legend]

Public Member Functions

 ElectroMagnetic1D ()
 
virtual ~ElectroMagnetic1D ()
 
void configure () overridefinal
 
void print_me () overridefinal
 
void start (std::shared_ptr< GridBase > grid_base, std::vector< std::shared_ptr< SourceBase >> sources_base, std::vector< std::shared_ptr< DetectorBase >> fluxes_base, std::shared_ptr< PmlBase > pml_base) overridefinal
 
void process () overridefinal
 
void update_field (std::string component) overridefinal
 
void apply_sources (double time) overridefinal
 
void apply_detectors (double time) overridefinal
 
void apply_pml () overridefinal
 
- Public Member Functions inherited from phoxonics::core::EngineBase
 EngineBase ()
 
virtual ~EngineBase ()
 
 EngineBase ()
 
virtual ~EngineBase ()
 
- Public Member Functions inherited from phoxonics::core::SimulationItemBase
virtual void configure (std::shared_ptr< ConfigBase > config_base)
 
virtual void configure (std::shared_ptr< ConfigBase > config_base)
 

Public Attributes

int periods { 0 }
 
int use_threads { 0 }
 
std::string component1 { "" }
 
std::string component2 { "" }
 
std::string propagation_direction { "" }
 
std::shared_ptr
< ElectroMagCells1D
em_cells_1d_
 
- Public Attributes inherited from phoxonics::core::EngineBase
bool mpi_enabled { false }
 
bool cuda_enabled { false }
 
std::string h5_geometry_file { "" }
 
std::string h5_data_file { "" }
 
std::string h5_geom_dataset_name { "" }
 
std::string h5_data_dataset_name { "" }
 
bool real_time_visualization { false }
 
std::string visualization_commands { "" }
 
bool generate_animation { false }
 
- Public Attributes inherited from phoxonics::core::SimulationItemBase
std::shared_ptr< SimulationConfigsim_config { nullptr }
 

Additional Inherited Members

- Protected Types inherited from phoxonics::core::SimulationItemBase
typedef
phoxonics::common::Formatter 
fmt_
 
typedef
phoxonics::common::Formatter 
fmt_
 
- Protected Member Functions inherited from phoxonics::core::EngineBase
virtual void init_hdf5_files ()
 
virtual void record_hdf5_slice ()
 
virtual void visualize_real_time ()
 
virtual void calculate_detectors_amp_phase ()
 
virtual void record_hdf5_detectors ()
 
virtual void generate_hdf5_shell (bool execute_shell)
 
std::string h5_component_data_file (std::string component)
 
virtual void init_hdf5_files ()
 
virtual void record_hdf5_slice ()
 
virtual void visualize_real_time ()
 
virtual void calculate_detectors_amp_phase ()
 
virtual void record_hdf5_detectors ()
 
virtual void generate_hdf5_shell (bool execute_shell)
 
std::string h5_component_data_file (std::string component)
 
- Protected Member Functions inherited from phoxonics::core::SimulationItemBase
 SimulationItemBase ()
 
virtual ~SimulationItemBase ()
 
 SimulationItemBase ()
 
virtual ~SimulationItemBase ()
 
- Protected Attributes inherited from phoxonics::core::EngineBase
std::shared_ptr< GridBasegrid_base_
 
std::vector< std::shared_ptr
< SourceBase > > 
sources_base_
 
std::vector< std::shared_ptr
< DetectorBase > > 
detectors_base_
 
std::shared_ptr< PmlBasepml_base_
 
- Protected Attributes inherited from phoxonics::core::SimulationItemBase
phoxonics::common::Logger log_
 
ConfigParamHelper config_param_heleper_
 
EmConstants em_constants_
 
phoxonics::common::Folder fld_
 
phoxonics::common::Utilities utils_
 
phoxonics::common::Strings strs_
 
phoxonics::visual::Hdf5Renderer hdf5_renderer_
 
phoxonics::common::Config cfg_
 

Constructor & Destructor Documentation

phoxonics::core::ElectroMagnetic1D::ElectroMagnetic1D ( )
explicit
phoxonics::core::ElectroMagnetic1D::~ElectroMagnetic1D ( )
virtual

Member Function Documentation

void phoxonics::core::ElectroMagnetic1D::apply_detectors ( double  time)
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::apply_pml ( )
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::apply_sources ( double  time)
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::configure ( )
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::print_me ( )
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::process ( )
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::start ( std::shared_ptr< GridBase grid_base,
std::vector< std::shared_ptr< SourceBase >>  sources_base,
std::vector< std::shared_ptr< DetectorBase >>  fluxes_base,
std::shared_ptr< PmlBase pml_base 
)
finaloverridevirtual
void phoxonics::core::ElectroMagnetic1D::update_field ( std::string  component)
finaloverridevirtual

Member Data Documentation

std::string phoxonics::core::ElectroMagnetic1D::component1 { "" }

Referenced by configure(), and process().

std::string phoxonics::core::ElectroMagnetic1D::component2 { "" }

Referenced by configure(), and process().

std::shared_ptr<ElectroMagCells1D> phoxonics::core::ElectroMagnetic1D::em_cells_1d_

Referenced by update_field().

int phoxonics::core::ElectroMagnetic1D::periods { 0 }

Referenced by configure(), print_me(), and process().

std::string phoxonics::core::ElectroMagnetic1D::propagation_direction { "" }

Referenced by configure().

int phoxonics::core::ElectroMagnetic1D::use_threads { 0 }

Referenced by configure(), and print_me().