Open masterleinad opened 2 months ago
Retest this please.
Let me know when you want another review on this.
Let me know when you want another review on this.
This could take another review now. Some notes:
const
members in the heat sources to make these classes copyable. I was running into some issues with static
variables if used on the device as well. Thus, I moved the respective constants into member functions.std::strings
in HeatSources
directly as well and recreating the scan file segments from them if necessary. Since the ScanPath
doesn't own the ScanPathSegments
, reading the file is a static member instead of a member function named "extract_scan_paths". I'm happy to change it back to some other name like "read_file" again if preferred.
This is a step towards https://github.com/adamantine-sim/adamantine/issues/190. This pull request replaces
std::vector<std::shared_ptr<adamantine::HeatSource<dim>>>
withHeatSources
that contains all heat sources as Kokkos::Views and loops over them in its member functions. With this approach, there is no dynamic polymorphism and the compiler could inline all function calls for the heat sources. In particular, this object would be usable on GPUs (apart from function annotations).