public IParticleFactory <Aggregate> Build(ISizeDistribution <double> psd, INeighborslistFactory neighborslistFactory, IAggregateFormationConfig config, ILogger logger) { switch (config.AggregateFormationType) { case AggregateFormationType.ClusterClusterAggregation: default: return(new ClusterClusterAggregationFactory(psd, config, logger, neighborslistFactory, config.RandomGeneratorSeed)); } }
public ClusterClusterAggregationFactory( ISizeDistribution <double> primaryParticleSizeDistribution, IAggregateFormationConfig config, ILogger logger, INeighborslistFactory neighborslistFactory, int seed = -1) { _psd = primaryParticleSizeDistribution; _config = config; _logger = logger; _seed = seed; _neighborslistFactory = neighborslistFactory; }
public ParticleClusterAggregationFactory( ISizeDistribution <double> psd, Random rndGen, IAggregateFormationConfig config, INeighborslistFactory neighborslistFactory, ILogger logger) { _psd = psd; _rndGen = rndGen; _config = config; _logger = logger; _neighborslistFactory = neighborslistFactory; }
public AggregateFormationSimulationRunner( IAggregateSizeDistributionFactory aggregateSizeDistributionFactory, IPrimaryParticleSizeDistributionFactory primaryParticleSizeDistributionFactory, IAggregateFormationFactory aggregateFormationFactory, INeighborslistFactory neighborslistFactory, IAggregateFormationConfig aggregateFormationConfig, ILogger logger) { _aggregateFormationConfig = aggregateFormationConfig ?? throw new ArgumentException(nameof(aggregateFormationConfig)); _logger = logger ?? throw new ArgumentException(nameof(logger)); _aggregateFormationService = new AggregateFormationService(aggregateSizeDistributionFactory, primaryParticleSizeDistributionFactory, aggregateFormationFactory, neighborslistFactory, _aggregateFormationConfig, logger); Progress = new Progress <ProgressReportModel>(); _cts = new CancellationTokenSource(); }
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 AggregateFormationService( IAggregateSizeDistributionFactory aggregateSizeDistributionFactory, IPrimaryParticleSizeDistributionFactory primaryParticleSizeDistributionFactory, IAggregateFormationFactory aggregateFormationFactory, INeighborslistFactory neighborslistFactory, IAggregateFormationConfig config, ILogger logger) { _aggregateSizeDistributionFactory = aggregateSizeDistributionFactory ?? throw new ArgumentException(nameof(aggregateSizeDistributionFactory)); _primaryParticleSizeDistributionFactory = primaryParticleSizeDistributionFactory ?? throw new ArgumentException(nameof(primaryParticleSizeDistributionFactory)); _aggregateFormationFactory = aggregateFormationFactory ?? throw new ArgumentException(nameof(aggregateFormationFactory)); _neighborslistFactory = neighborslistFactory ?? throw new ArgumentException(nameof(neighborslistFactory)); _config = config ?? throw new ArgumentException(nameof(config)); _logger = logger ?? throw new ArgumentException(nameof(logger)); var rndGen = new Random(); _aggregateSizeDistribution = aggregateSizeDistributionFactory.Build(rndGen, config); _primaryParticleSizeDistribution = primaryParticleSizeDistributionFactory.Build(rndGen, config); _particleFactory = _aggregateFormationFactory.Build(_primaryParticleSizeDistribution, _neighborslistFactory, _config, _logger); }
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 BallisticPorosityAnalyser() { _rndGen = new Random(); _neighborslistFactory = new AccordNeighborslistFactory(); }
public ANPaXLammpsDumpSerializer(INeighborslistFactory neighborslistFactory) { _neighborslistFactory = neighborslistFactory; }
public T DeserializeFile <T>(string filename, INeighborslistFactory neighborslistFactory) { return((T)LammpsDumpDeserializer.DeserializeParticleFilm(filename, neighborslistFactory)); }
public static IParticleFilm <Aggregate> DeserializeParticleFilm(string filename, INeighborslistFactory neighborslistFactory) { var fileContent = File.ReadAllLines(filename); var boxWidth = GetBoxWidth(fileContent); var simulationBox = new AbsoluteTetragonalSimulationBox(boxWidth); var particleFilm = new TetragonalAggregatedParticleFilm(simulationBox, neighborslistFactory) { Particles = GetAggregates(fileContent) }; return(particleFilm); }