Phoxonics
1.0
Object Oriented FDTD Software
|
Public Member Functions | |
PhxElectroMagnetic2D () | |
virtual | ~PhxElectroMagnetic2D () |
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 >> detectors_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 | init_hdf5_files () overridefinal |
void | record_hdf5_slice () overridefinal |
void | visualize_real_time () overridefinal |
void | calculate_detectors_amp_phase () overridefinal |
void | record_hdf5_detectors () overridefinal |
void | generate_hdf5_shell (bool execute_shell) 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 | time_steps { 0 } |
int | use_threads { 0 } |
std::string | component1 { "" } |
std::string | component2 { "" } |
std::string | component3 { "" } |
std::string | propagation_direction { "" } |
std::string | h5topng_zoom { "" } |
double | lambda_0 { 0.0 } |
double | lambda { 0.0 } |
double | resolution { 0.0 } |
double | tao_0 { 0.0 } |
double | ttao_0 { 0.0 } |
double | omega_0 { 0.0 } |
double | t_0 { 0.0 } |
double | t_f { 0.0 } |
double | sigma { 0.0 } |
double | dx { 0.0 } |
double | dy { 0.0 } |
double | dt { 0.0 } |
![]() | |
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::EngineBase::detectors_base_, phoxonics::core::EngineBase::grid_base_, 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::sources_base_.
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EngineBase::detectors_base_, phoxonics::core::SimulationItemBase::log_, and phoxonics::common::Logger::log_trac().
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EmConstants::c, component1, component2, component3, phoxonics::core::SimulationItemBase::config_param_heleper_, phoxonics::core::EngineBase::configure(), dt, dx, dy, phoxonics::core::SimulationItemBase::em_constants_, phoxonics::core::ConfigParamHelper::get_config_param_value(), h5topng_zoom, lambda_0, phoxonics::core::EmConstants::lambda_0, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), omega_0, periods, propagation_direction, resolution, phoxonics::core::SimulationItemBase::sim_config, t_f, phoxonics::core::EmConstants::tao_0, tao_0, time_steps, and use_threads.
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EngineBase::detectors_base_, phoxonics::visual::Hdf5Renderer::generate_hdf5_sh(), h5topng_zoom, phoxonics::core::SimulationItemBase::hdf5_renderer_, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_info(), phoxonics::common::Logger::log_trac(), phoxonics::core::SimulationItemBase::sim_config, and time_steps.
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::common::ArrSizeHelper::arr_dim_x, phoxonics::common::ArrSizeHelper::arr_dim_y, phoxonics::core::EngineBase::h5_data_dataset_name, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), and phoxonics::core::SimulationItemBase::sim_config.
Referenced by start().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References component1, component2, component3, dt, dx, dy, lambda_0, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_info(), phoxonics::common::Logger::log_trac(), omega_0, periods, phoxonics::core::EngineBase::print_me(), propagation_direction, resolution, sigma, t_0, tao_0, and use_threads.
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References apply_detectors(), apply_sources(), calculate_detectors_amp_phase(), component1, component2, component3, dt, phoxonics::core::EngineBase::generate_animation, generate_hdf5_shell(), phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_info(), phoxonics::common::Logger::log_trac(), record_hdf5_detectors(), record_hdf5_slice(), time_steps, update_field(), and visualize_real_time().
Referenced by start().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::core::EngineBase::detectors_base_, phoxonics::core::SimulationItemBase::log_, and phoxonics::common::Logger::log_trac().
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References component1, component2, component3, phoxonics::core::EngineBase::grid_base_, phoxonics::core::SimulationItemBase::log_, and phoxonics::common::Logger::log_trac().
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References init_hdf5_files(), 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, phoxonics::core::ElectroMagCell::dz, phoxonics::core::SimulationItemBase::em_constants_, phoxonics::core::ElectroMagCell::ez, phoxonics::core::EngineBase::grid_base_, phoxonics::core::ElectroMagCell::hx, phoxonics::core::ElectroMagCell::hy, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), phoxonics::core::ElectroMagCell::material_type, and phoxonics::core::SimulationItemBase::sim_config.
Referenced by process().
|
finaloverridevirtual |
Reimplemented from phoxonics::core::EngineBase.
References phoxonics::visual::GnuplotConfig::additional_commands, component1, phoxonics::core::EngineBase::grid_base_, phoxonics::core::SimulationItemBase::log_, phoxonics::common::Logger::log_trac(), phoxonics::core::EngineBase::real_time_visualization, phoxonics::core::SimulationItemBase::sim_config, and phoxonics::core::EngineBase::visualization_commands.
Referenced by process().
std::string phoxonics::core::PhxElectroMagnetic2D::component1 { "" } |
Referenced by configure(), print_me(), process(), record_hdf5_slice(), and visualize_real_time().
std::string phoxonics::core::PhxElectroMagnetic2D::component2 { "" } |
Referenced by configure(), print_me(), process(), and record_hdf5_slice().
std::string phoxonics::core::PhxElectroMagnetic2D::component3 { "" } |
Referenced by configure(), print_me(), process(), and record_hdf5_slice().
double phoxonics::core::PhxElectroMagnetic2D::dt { 0.0 } |
Referenced by configure(), print_me(), and process().
double phoxonics::core::PhxElectroMagnetic2D::dx { 0.0 } |
Referenced by configure(), and print_me().
double phoxonics::core::PhxElectroMagnetic2D::dy { 0.0 } |
Referenced by configure(), and print_me().
std::string phoxonics::core::PhxElectroMagnetic2D::h5topng_zoom { "" } |
Referenced by configure(), and generate_hdf5_shell().
double phoxonics::core::PhxElectroMagnetic2D::lambda { 0.0 } |
double phoxonics::core::PhxElectroMagnetic2D::lambda_0 { 0.0 } |
Referenced by configure(), and print_me().
double phoxonics::core::PhxElectroMagnetic2D::omega_0 { 0.0 } |
Referenced by configure(), and print_me().
int phoxonics::core::PhxElectroMagnetic2D::periods { 0 } |
Referenced by configure(), and print_me().
std::string phoxonics::core::PhxElectroMagnetic2D::propagation_direction { "" } |
Referenced by configure(), and print_me().
double phoxonics::core::PhxElectroMagnetic2D::resolution { 0.0 } |
Referenced by configure(), and print_me().
double phoxonics::core::PhxElectroMagnetic2D::sigma { 0.0 } |
Referenced by print_me().
double phoxonics::core::PhxElectroMagnetic2D::t_0 { 0.0 } |
Referenced by print_me().
double phoxonics::core::PhxElectroMagnetic2D::t_f { 0.0 } |
Referenced by configure().
double phoxonics::core::PhxElectroMagnetic2D::tao_0 { 0.0 } |
Referenced by configure(), and print_me().
int phoxonics::core::PhxElectroMagnetic2D::time_steps { 0 } |
Referenced by configure(), generate_hdf5_shell(), and process().
double phoxonics::core::PhxElectroMagnetic2D::ttao_0 { 0.0 } |
int phoxonics::core::PhxElectroMagnetic2D::use_threads { 0 } |
Referenced by configure(), and print_me().