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::PhxElectroMagnetic2D Class Reference
Inheritance diagram for phoxonics::core::PhxElectroMagnetic2D:
Inheritance graph
[legend]
Collaboration diagram for phoxonics::core::PhxElectroMagnetic2D:
Collaboration graph
[legend]

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
 
- 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 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 }
 
- 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 apply_pml ()
 
std::string h5_component_data_file (std::string component)
 
virtual void apply_pml ()
 
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::PhxElectroMagnetic2D::PhxElectroMagnetic2D ( )
explicit
phoxonics::core::PhxElectroMagnetic2D::~PhxElectroMagnetic2D ( )
virtual

Member Function Documentation

void phoxonics::core::PhxElectroMagnetic2D::apply_detectors ( double  time)
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::apply_sources ( double  time)
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::calculate_detectors_amp_phase ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::configure ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::generate_hdf5_shell ( bool  execute_shell)
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::init_hdf5_files ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::print_me ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::process ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::record_hdf5_detectors ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::record_hdf5_slice ( )
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::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 
)
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::update_field ( std::string  component)
finaloverridevirtual
void phoxonics::core::PhxElectroMagnetic2D::visualize_real_time ( )
finaloverridevirtual

Member Data Documentation

std::string phoxonics::core::PhxElectroMagnetic2D::component1 { "" }
std::string phoxonics::core::PhxElectroMagnetic2D::component2 { "" }
std::string phoxonics::core::PhxElectroMagnetic2D::component3 { "" }
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 }
double phoxonics::core::PhxElectroMagnetic2D::ttao_0 { 0.0 }
int phoxonics::core::PhxElectroMagnetic2D::use_threads { 0 }

Referenced by configure(), and print_me().