Phoxonics
1.0
Object Oriented FDTD Software
|
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 |
![]() | |
EngineBase () | |
virtual | ~EngineBase () |
EngineBase () | |
virtual | ~EngineBase () |
![]() | |
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_ |
![]() | |
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 } |
![]() | |
std::shared_ptr< SimulationConfig > | sim_config { nullptr } |
|
explicit |
|
virtual |
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::SimulationItemBase::log_, and phoxonics::common::Logger::log_trac().
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EngineBase::grid_base_, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), and phoxonics::core::EngineBase::pml_base_.
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EngineBase::grid_base_, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), and phoxonics::core::EngineBase::sources_base_.
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References component1, component2, phoxonics::core::SimulationItemBase::config_param_heleper_, phoxonics::core::EngineBase::configure(), phoxonics::core::ConfigParamHelper::get_config_param_value(), phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), periods, propagation_direction, phoxonics::core::SimulationItemBase::sim_config, and use_threads.
|
finaloverridevirtual |
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References apply_detectors(), apply_pml(), apply_sources(), phoxonics::common::ArrSizeHelper::arr_dim_x, component1, component2, phoxonics::core::EngineBase::h5_data_dataset_name, phoxonics::core::EngineBase::h5_data_file, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_info(), phoxonics::common::Logger::log_trac(), periods, phoxonics::core::EngineBase::real_time_visualization, phoxonics::core::SimulationItemBase::sim_config, and update_field().
Referenced by start().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), process(), and phoxonics::core::EngineBase::start().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EmConstants::courant, em_cells_1d_, phoxonics::core::SimulationItemBase::em_constants_, phoxonics::core::ElectroMagCell::ex, phoxonics::core::EngineBase::grid_base_, phoxonics::core::ElectroMagCell::hy, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), and phoxonics::core::ElectroMagCell::material_type.
Referenced by process().
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().