/// <summary> /// 计算小球的半径 /// 小球的半径的最大值 Rmax = 0.5 /// 此处设置的是均匀随机分布,小球半径符合还可能符合对数正态分布等 /// </summary> /// <returns></returns> private double ComputeRandomRadius(RandomType type) { //小球的半径是:[0.5-MaxRadiusBias ~ 0.5]*Rmax/0.5 double radius = 0.0; switch (type) { case RandomType.AverageRandomType: radius = GenerateRandomNumber.AverageRandom(0.5 - MaxRadiusBias, 0.5); break; case RandomType.RandomLogNormalType: //第一批样品30~50um的的参数 double maxD = ActualSampleParameter.ActualSampleParaDict[PackingSystemSetting.ParticleSizeType].MaxDiameter; double minD = ActualSampleParameter.ActualSampleParaDict[PackingSystemSetting.ParticleSizeType].MinDiameter; double sigma = ActualSampleParameter.ActualSampleParaDict[PackingSystemSetting.ParticleSizeType].LogSigma; double miu = ActualSampleParameter.ActualSampleParaDict[PackingSystemSetting.ParticleSizeType].LogMiu; MaxRadiusBias = (1 - minD / maxD) / 2; double reso = MaxRadius / (maxD / 2); radius = GenerateRandomNumber.RandomLogNormal(miu, sigma, minD, maxD) / 2; radius = radius * reso; break; case RandomType.RandomNormalType: break; } return(radius); }