OverviewΒΆ

Class diagram:

_images/class_diagram.svg

Simulation flow diagram:

graph TB Start(Start) --> MonteCarlo.calculate_max_coll_freq subgraph Simulation.run MonteCarlo.calculate_max_coll_freq --> CheckEnd{Simulation.end_simulation?} CheckEnd -->|False| DetStep CheckEnd -->|True| FinalOutput[Simulation.calculate_final_output] subgraph Simulation.advance_one_step DetStep[MonteCarlo.determine_timestep] --> DetColl DetColl[MonteCarlo.determine_collisions] --> PerfColl PerfColl[MonteCarlo.perform_collisions] --> Scatter Scatter[Electrons.apply_scatter] --> Flight Flight[Electrons.free_flight] end Flight --> Collect[Simulation.collect_output_data] Collect --> Simulation.print_step_info Simulation.print_step_info --> CheckEnd FinalOutput --> saving[Simulation.save] end saving --> Stop(Stop)