Ejemplo n.º 1
0
 public FilmFormationSimulationRunner(IEnumerable <Aggregate> aggregates, IFilmFormationConfig filmFormationConfig)
 {
     _aggregates           = aggregates;
     _filmFormationConfig  = filmFormationConfig;
     _progress             = new Progress <ProgressReportModel>();
     _filmFormationService = new FilmFormationService(filmFormationConfig);
     _cts = new CancellationTokenSource();
 }
Ejemplo n.º 2
0
 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);
            }
        }
Ejemplo n.º 4
0
 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)
 {
 }
Ejemplo n.º 6
0
 ISimulationBox ISimulationBoxFactory.Build(IFilmFormationConfig filmFormationConfig)
 {
     return(new AbsoluteTetragonalSimulationBox(filmFormationConfig.XFilmWidthAbsolute));
 }