private decimal GetCoeficientK(MetalCoefficientWeighting coeficientValues, MetalSample sample, MetalQualityBaseValue baseValues) { return((decimal)Round(Sqrt( (double)(coeficientValues.LateralShearRate * Round((decimal)sample.LateralShearRate / baseValues.LateralShearRate, 2) * Round((decimal)sample.LateralShearRate / baseValues.LateralShearRate, 2) + coeficientValues.LongitudinalShearRate * Round((decimal)sample.LongitudinalShearRate / baseValues.LongitudinalShearRate, 2) * Round((decimal)sample.LongitudinalShearRate / baseValues.LongitudinalShearRate, 2) + coeficientValues.ShearStrainRate * Round((decimal)sample.ShearStrainRate / baseValues.ShearStrainRate, 2) * Round((decimal)sample.ShearStrainRate / baseValues.ShearStrainRate, 2) + coeficientValues.LoadingSpeed * Round((decimal)sample.LoadingSpeed / baseValues.LoadingSpeed, 2) * Round((decimal)sample.LoadingSpeed / baseValues.LoadingSpeed, 2) + coeficientValues.SpallStrength * Round(sample.SpallStrength / baseValues.SpallStrength, 2) * Round(sample.SpallStrength / baseValues.SpallStrength, 2) )), 2)); }
public void AddMetalType(MetalTypeModel model) { using (ObjectContext context = new ObjectContext(_connectionString)) { var type = new Metal { Name = model.MetalName }; var types = context.CreateObjectSet <Metal>(); types.AddObject(type); var baseValues = context.CreateObjectSet <MetalQualityBaseValue>(); var baseValue = new MetalQualityBaseValue { MetalId = type.MetalId, LateralShearRate = model.LateralShearRate, LoadingSpeed = model.LoadingSpeed, LongitudinalShearRate = model.LongitudinalShearRate, ShearStrainRate = model.ShearStrainRate, SpallStrength = model.SpallStrength }; baseValues.AddObject(baseValue); var coeficients = context.CreateObjectSet <MetalCoefficientWeighting>(); var coeficient = new MetalCoefficientWeighting { MetalId = type.MetalId, LateralShearRate = model.LateralShearRateC, LoadingSpeed = model.LoadingSpeedC, LongitudinalShearRate = model.LongitudinalShearRateC, ShearStrainRate = model.ShearStrainRateC, SpallStrength = model.SpallStrengthC }; coeficients.AddObject(coeficient); context.SaveChanges(); } }
private IList <MetalSampleQualityRateModel> SetMetalSamplePropertyList(MetalQualityBaseValue baseValues, MetalSample sample, MetalCoefficientWeighting coeficientValues) { var propertyList = new List <MetalSampleQualityRateModel>(); var model = new MetalSampleQualityRateModel { SampleProperty = "Швидкість навантаження V, м/с", BaseValue = baseValues.LoadingSpeed, SampleValue = sample.LoadingSpeed, RelativeValue = Math.Round((decimal)sample.LoadingSpeed / baseValues.LoadingSpeed, 2), CoefficientWeighting = coeficientValues.LoadingSpeed, Angle = Round(360 * coeficientValues.LoadingSpeed, 0) }; propertyList.Add(model); model = new MetalSampleQualityRateModel { SampleProperty = "Поперечна швидкість зсуву Vt, м/с", BaseValue = baseValues.LateralShearRate, SampleValue = sample.LateralShearRate, RelativeValue = Math.Round((decimal)sample.LateralShearRate / baseValues.LateralShearRate, 2), CoefficientWeighting = coeficientValues.LateralShearRate, Angle = Round(360 * coeficientValues.LateralShearRate, 0) }; propertyList.Add(model); model = new MetalSampleQualityRateModel { SampleProperty = "Поздовжня швидкість зсуву VL, м/с", BaseValue = baseValues.LongitudinalShearRate, SampleValue = sample.LongitudinalShearRate, RelativeValue = Math.Round((decimal)sample.LongitudinalShearRate / baseValues.LongitudinalShearRate, 2), CoefficientWeighting = coeficientValues.LongitudinalShearRate, Angle = Round(360 * coeficientValues.LongitudinalShearRate, 0) }; propertyList.Add(model); model = new MetalSampleQualityRateModel { SampleProperty = "Швидкість деформації зсуву γ", BaseValue = baseValues.ShearStrainRate, SampleValue = sample.ShearStrainRate, RelativeValue = Math.Round((decimal)sample.ShearStrainRate / baseValues.ShearStrainRate, 2), CoefficientWeighting = coeficientValues.ShearStrainRate, Angle = Round(360 * coeficientValues.ShearStrainRate, 0) }; propertyList.Add(model); model = new MetalSampleQualityRateModel { SampleProperty = "Міцність відколу σ, ГПа", BaseValue = baseValues.SpallStrength, SampleValue = sample.SpallStrength, RelativeValue = Math.Round((decimal)sample.SpallStrength / baseValues.SpallStrength, 2), CoefficientWeighting = coeficientValues.SpallStrength, Angle = Round(360 * coeficientValues.SpallStrength, 0) }; propertyList.Add(model); return(propertyList); }