Definition at line 21 of file physics_engine.h.
◆ PhysicsEngine()
Constructor for the PhysicsEngine class.
- Parameters
-
comp_domain | The computational domain. |
interaction_data | The interaction data. |
◆ addSurfaceTallies()
void PhysicsEngine::addSurfaceTallies |
( |
std::vector< std::unique_ptr< SurfaceTally > > && | surface_tallies | ) |
|
Sets the surface tallies of the simulation.
- Parameters
-
surface_tallies | The surface tallies. |
◆ addVolumeTallies()
void PhysicsEngine::addVolumeTallies |
( |
std::vector< std::unique_ptr< VolumeTally > > && | volume_tallies | ) |
|
Sets the volume tallies of the simulation.
- Parameters
-
volume_tallies | The volume tallies. |
◆ getFreePath()
double PhysicsEngine::getFreePath |
( |
double | max_cross_section | ) |
|
|
private |
Returns the free path length of the photon.
The free path length is sampled using inverse sampling on the max cross section
- Parameters
-
max_cross_section | The max cross section of the photon's current voxel. |
- Returns
- The free path length.
◆ getSurfaceQuantityContainers()
Returns the SurfaceQuantityContainers of the simulation.
- Returns
- A vector of SurfaceQuantityContainers corresponding to each surface tally.
◆ getVolumeQuantityContainers()
Returns the VolumeQuantityContainers of the simulation.
- Returns
- A vector of VolumeQuantityContainers corresponding to each volume tally.
◆ isDeltaScatter()
bool PhysicsEngine::isDeltaScatter |
( |
double | cross_section, |
|
|
double | max_cross_section ) |
|
private |
Checks if the photon undergoes delta scattering or interacts.
- Parameters
-
cross_section | The total cross section of the photon's current material. |
max_cross_section | The max total cross section of all the materials in the computation domain. |
- Returns
- True if the photon undergoes delta scattering, false if it interacts.
◆ processPhotonOutsideVoxelGrid()
static void PhysicsEngine::processPhotonOutsideVoxelGrid |
( |
Photon & | photon | ) |
|
|
static |
Processes the domain boundary crossing of a photon by terminating the photon.
- Parameters
-
photon | The photon to process. |
◆ processTallies()
Processes the tallies for the photon.
- Parameters
-
temp_surface_tally_data_per_photon | |
temp_volume_tally_data_per_photon | |
temp_voxel_data_per_photon | |
◆ setInteractionType()
void PhysicsEngine::setInteractionType |
( |
Photon & | photon, |
|
|
Material & | material, |
|
|
double | total_cross_section ) |
Sets the interaction type of the photon.
The interaction type is either photoelectric, coherent, or incoherent. This is determined by sampling the ratios of interaction cross sections to the total cross section.
- Parameters
-
photon | The photon to set the interaction type for. |
material | The material of the photon's current voxel. |
total_cross_section | The total cross section of the photon's current voxel. |
◆ transportPhoton()
void PhysicsEngine::transportPhoton |
( |
Photon & | photon | ) |
|
Transports a photon until an photoelectric interaction occurs or leaves the voxel grid (i.e. terminated).
- Parameters
-
photon | The photon to transport. |
◆ transportPhotonOneStep()
Transports photon one step. Either performs a real or delta interaction.
This is the heart of simulation. This function uses the delta tracking algorithm to transport the photon to its next interaction. This requires the interaction cross sections and free path length to be sampled.
- Parameters
-
photon | The photon to transport. |
temp_surface_tally_data_per_photon | Stores the surface tally data for the photon. |
temp_volume_tally_data_per_photon | Stores the volume tally data for the photon. |
temp_voxel_data_per_photon | Stores the voxel data for the photon. |
◆ updateTempTallyPerPhoton()
Updates the temporary tallies for the photon.
- Parameters
-
temp_surface_tally_data_per_photon | Stores the surface tally data for the photon. |
temp_volume_tally_data_per_photon | Stores the volume tally data for the photon. |
temp_surface_tally_data | Stores the surface tally data for the photon's current voxel. |
temp_volume_tally_data | Stores the volume tally data for the photon's current voxel. |
◆ coherent_scattering_
◆ comp_domain_
◆ incoherent_scattering_
◆ interaction_data_
◆ photoelectric_effect_
◆ thread_local_surface_tallies_
std::vector<std::vector<std::unique_ptr<SurfaceTally> > > PhysicsEngine::thread_local_surface_tallies_ |
|
private |
◆ thread_local_volume_tallies_
std::vector<std::vector<std::unique_ptr<VolumeTally> > > PhysicsEngine::thread_local_volume_tallies_ |
|
private |
◆ thread_local_voxel_data_
std::vector<std::vector<TempVoxelData> > PhysicsEngine::thread_local_voxel_data_ |
|
private |
◆ uniform_dist_
The documentation for this class was generated from the following file: