public FilmFormationSimulationRunner(IEnumerable <Aggregate> aggregates, IFilmFormationConfig filmFormationConfig) { _aggregates = aggregates; _filmFormationConfig = filmFormationConfig; _progress = new Progress <ProgressReportModel>(); _filmFormationService = new FilmFormationService(filmFormationConfig); _cts = new CancellationTokenSource(); }
public FilmFormationControlViewModel( IFilmFormationConfig filmFormationConfig, SimulationProperties simProp, AggFormationControlViewModel aggFormationControlViewModel, StatusViewModel statusViewModel, LoggingViewModel loggingViewModel) { FilmFormationConfig = filmFormationConfig; SimProp = simProp; FilmFormationConfigViewModel = new FilmFormationConfigViewModel(FilmFormationConfig); AggFormationControlViewModel = aggFormationControlViewModel; _statusViewModel = statusViewModel; _loggingViewModel = loggingViewModel; }
public FilmFormationService( IFilmFormationConfig filmFormationConfig, int seed ) { _filmFormationConfig = filmFormationConfig ?? throw new ArgumentException(nameof(filmFormationConfig)); _simulationBox = filmFormationConfig.SimulationBoxFactory.Build(_filmFormationConfig); _aggregateDepositionHandler = filmFormationConfig.AggregateDepositionHandler; _wallCollisionHandler = filmFormationConfig.WallCollisionHandler; _neighborslistFactory = filmFormationConfig.NeighborslistFactory; _rndGen = new Random(); if (seed > 0) { _rndGen = new Random(seed); } }
public FullSimulationRunner( IAggregateFormationConfig aggregateFormationConfig, SimulationMonitor simulationMonitor, IAggregateSizeDistributionFactory aggregateSizeDistributionFactory, IPrimaryParticleSizeDistributionFactory primaryParticleSizeDistributionFactory, IAggregateFormationFactory aggregateFormationFactory, INeighborslistFactory neighborslistFactory, IFilmFormationConfig filmFormationConfig, ILogger logger) { _filmFormationConfig = filmFormationConfig; _progress = new Progress <ProgressReportModel>(); _filmFormationService = new FilmFormationService(filmFormationConfig); _cts = new CancellationTokenSource(); _aggregateFormationConfig = aggregateFormationConfig ?? throw new ArgumentException(nameof(aggregateFormationConfig)); _aggregateSizeDistributionFactory = aggregateSizeDistributionFactory; _primaryParticleSizeDistributionFactory = primaryParticleSizeDistributionFactory; _aggregateFormationFactory = aggregateFormationFactory; _neighborslistFactory = neighborslistFactory; _logger = logger ?? throw new ArgumentException(nameof(logger)); _aggregateFormationService = new AggregateFormationService(_aggregateSizeDistributionFactory, _primaryParticleSizeDistributionFactory, _aggregateFormationFactory, _neighborslistFactory, _aggregateFormationConfig, logger); }
public FilmFormationService(IFilmFormationConfig filmFormationConfig) : this(filmFormationConfig, -1) { }
ISimulationBox ISimulationBoxFactory.Build(IFilmFormationConfig filmFormationConfig) { return(new AbsoluteTetragonalSimulationBox(filmFormationConfig.XFilmWidthAbsolute)); }