4#include <biocma_cst_config.hpp>
6#include <common/execinfo.hpp>
7#include <common/logger.hpp>
9#include <mc/domain.hpp>
10#include <mc/particles_container.hpp>
11#include <mc/traits.hpp>
24 AutoGenerated::ContainerVariant&& container,
40 template <ModelType Model>
41 std::unique_ptr<MonteCarloUnit>
42 init(
const std::shared_ptr<IO::Logger>& _logger,
44 std::size_t n_samples,
45 std::span<double> volumes,
46 std::span<const size_t> _neighbors,
61 auto unit = std::make_unique<MonteCarloUnit>();
75 catch (
const std::runtime_error& e)
Main owning object for Monte-Carlo particles.
Definition particles_container.hpp:53
Represents the spatial domain where Monte Carlo particles can exist.
Definition domain.hpp:76
Concept to check if a model type has uniform_weight
Definition traits.hpp:183
Namespace that contains classes and structures related to Monte Carlo (MC) simulations.
Definition alias.hpp:15
std::unique_ptr< MonteCarloUnit > init(const std::shared_ptr< IO::Logger > &_logger, uint64_t n_particles, std::size_t n_samples, std::span< double > volumes, std::span< const size_t > _neighbors, bool uniform_mc_init, double &total_mass)
Helper function to initialize a MonteCarloUnit.
Definition mcinit.hpp:42
RuntimeParameters load_tuning_constant()
Definition unit.cpp:287
void impl_init(double &total_mass, uint64_t n_particles, MonteCarloUnit &unit, AutoGenerated::ContainerVariant &&container, bool uniform_init)
Definition unit.cpp:229
void post_init_weight(std::unique_ptr< MonteCarloUnit > &unit, double x0, double total_mass)
Definition unit.cpp:194
General-purpose Monte Carlo unit to carry out simulations.
Definition unit.hpp:34