Вверх ↑
Ответов: 8921
Рейтинг: 823
#1: 2018-09-04 19:10:28 ЛС | профиль | цитата
Stalevar, Исходная масса -- Mис [кг]
Содержит Mn MnIn% или -- Mис*MnIn%/100 [кг]
Содержит C CIn% или -- Mис*CIn%/100 [кг]
Содержит Fe -- Mис*(1 - (MnIn% + CIn%)/100)) [кг]
.
Получаем на выходе массу Х [кг]
В ней содержится:
Содержит Mn MnOut% или -- X*MnOut%/100 [кг]
Содержит C COut% или -- X*COut%/100 [кг]
Содержит Fe -- X*(1 - (MnOut% + COut%)/100)) [кг]
-- При добавлении FeMn кроме марганца добавляется и железо в зависимости от его содержания в FeMn: Feдоп = Fe%/Mn%
.
Необходимо добавить Y [кг] марганца и Z [кг] углерода:
1. Y = X*MnOut%/100 - Mис*MnIn%/100
2. Z = X*COut%/100 - Mис*CIn%/100
3. X = Mис + Z + Y(1 + Fe%/Mn%)
.
Получили ТРИ уравнения с ТРЕМЯ неизвестными -- решаемая система без применения подбора в цикле (надо арифметику школьную вспомнить или не надо было прогуливать ):
Подставляем в уравнение №3 значения из уравнений №1, №2 и решаем относительно X:
X = Mис + X*COut%/100 - Mис*CIn%/100 + (X*MnOut%/100 - Mис*MnIn%/100)*(1 + Fe%/Mn%)
X*(1 - COut%/100 - MnOut%/100*(1 + Fe%/Mn%)) = Mис*(1 - CIn%/100 - MnIn%/100*(1 + Fe%/Mn%))
X = Mис*(1 - CIn%/100 - MnIn%/100*(1 + Fe%/Mn%))/(1 - COut%/100 - MnOut%/100*(1 + Fe%/Mn%)) -- масса сплава на выходе
По найденной массе выхода и уравнений №1 и №2 находим добавленные количества марганца и углерода. Разделив эти значения на содержание-усвояемость получим массу добавок.
Армфметика


Add(MainForm,2953706,63,63)
{
Height=316
}
Add(Edit,9343208,196,112)
{
Left=50
Top=80
Width=65
Text="100000"
ClearAfterEnter=1
link(onEnter,7974135:doWork3,[(242,125)])
}
Add(Edit,2590845,266,112)
{
Left=140
Top=80
Text="1"
ClearAfterEnter=1
link(onEnter,11196960:doWork2,[])
}
Add(Edit,2168509,336,112)
{
Left=215
Top=80
Text="1"
ClearAfterEnter=1
link(onEnter,1017110:doWork2,[])
}
Add(Edit,10209181,266,161)
{
Left=140
Top=130
Text="10"
ClearAfterEnter=1
link(onEnter,11196960:doWork3,[(312,174)])
}
Add(Edit,10509363,336,161)
{
Left=215
Top=130
Text="10"
ClearAfterEnter=1
link(onEnter,1017110:doWork3,[(382,174)])
}
Add(Label,898086,126,112)
{
Left=5
Top=60
Width=280
Caption="Имеем: Масса[кг] Углерод [%] Марганец [%]"
AutoSize=1
}
Add(Label,4632823,126,168)
{
Left=10
Top=110
Width=279
Height=17
Caption="Надо получить Углерод [%] Марганец [%] "
AutoSize=1
}
Add(Edit,784834,266,63)
{
Left=150
Top=25
Text="98"
ClearAfterEnter=1
link(onEnter,3155042:doWork2,[])
}
Add(Edit,7673149,336,63)
{
Left=215
Top=25
Text="80"
ClearAfterEnter=1
link(onEnter,5280778:doWork2,[])
}
Add(Label,608485,128,63)
{
Left=10
Top=5
Width=354
Height=17
Caption="Усвояемость Углерод [%] Марганец [%] Железо [%] "
AutoSize=1
}
Add(Edit,8040066,392,63)
{
Left=300
Top=25
Text="20"
ClearAfterEnter=1
link(onEnter,4815005:doWork2,[(434,76)(434,50)])
}
Add(Edit,4647735,259,308)
{
Left=120
Top=185
Width=70
ReadOnly=0
link(onChange,4864068:doText,[(298,314)(298,349)(186,349)(186,356)])
link(Str,16324613:CarbonTo,[(265,292)(216,292)])
}
Add(Edit,10677749,210,308)
{
Left=200
Top=185
Width=70
ReadOnly=0
link(onChange,4647735:doText,[])
link(Str,16324613:ManganeseIronTo,[(216,299)(209,299)])
}
Add(Label,13626286,126,308)
{
Left=5
Top=165
Width=279
Height=17
Caption="Надо добавить Углерод [кг] Марганец [кг] "
AutoSize=1
}
Add(Label,7839841,128,350)
{
Left=5
Top=215
Width=122
Height=17
Caption="Получаем: Масса[кг] "
}
Add(Edit,4864068,196,350)
{
Left=140
Top=215
Width=80
ReadOnly=0
link(Str,16324613:Alloy,[])
}
Add(MultiElementEx,16324613,196,238)
{
link(onCalc,10677749:doText,[(270,244)(270,279)(193,279)(193,314)])
link(MassaIn,9343208:Text,[])
link(CarbonIn,2590845:Text,[(209,152)(272,152)])
link(ManganeseIn,2168509:Text,[(216,201)(328,201)(328,152)(342,152)])
link(CarbonInOut,10209181:Text,[(223,207)(272,207)])
link(ManganeseOut,10509363:Text,[(230,213)(342,213)])
link(DigestibilityManganese,7673149:Text,[(237,222)(321,222)(321,103)(342,103)])
link(DigestibilityIron,8040066:Text,[(244,228)(398,228)])
link(ConcentrationCarbon,7078877:Text,[(251,103)(202,103)])
link(DigestibilityCarbon,784834:Text,[(258,103)(272,103)])
}
BEGIN_SDK
Add(EditMultiEx,16717464,21,21)
{
WorkCount=#6:doCalc|
EventCount=#6:onCalc|
VarCount=#10:Alloy=[кг]|20:ManganeseIronTo=[кг]|13:CarbonTo=[кг]|
DataCount=#12:MassaIn=[кг]|12:CarbonIn=[%]|15:ManganeseIn=[%]|15:CarbonInOut=[%]|16:ManganeseOut=[%]|26:DigestibilityManganese=[%]|21:DigestibilityIron=[%]|23:ConcentrationCarbon=[%]|23:DigestibilityCarbon=[%]|
Width=356
Height=221
VOffset=42
HOffset=35
link(doCalc,15717847:doCalc,[])
link(Alloy,8726603:Var2,[])
link(ManganeseIronTo,9088357:Result,[(69,215)(125,215)])
link(CarbonTo,11517040:Result,[(76,222)(181,222)])
}
Add(MathParse,779928,56,168)
{
DataCount=6
MathStr="%1*(1-%2/100-%3*%6/100)/(1-%4/100-%5*%6/100)"
ResultType=0
link(onResult,9088357:doCalc,[])
link(X1,2774523:Var2,[])
link(X2,2280409:Var2,[])
link(X3,3876415:Var2,[])
link(X4,9692763:Var2,[])
link(X5,8175131:Var2,[])
}
Add(MathParse,1165778,203,63)
{
MathStr="1+%2/%1"
link(onResult,779928:doCalc,[(242,69)(242,104)(46,104)(46,174)])
link(X1,6005003:Var3,[(209,54)])
link(X2,4501765:Var3,[(216,47)])
}
Add(MathParse,15717847,105,63)
{
MathStr="%1*%2/10000"
link(onResult,12242963:doCalc,[])
link(X1,16717464:ConcentrationCarbon,[])
link(X2,16717464:DigestibilityCarbon,[])
}
Add(MathParse,9088357,119,168)
{
DataCount=5
MathStr="(%1*%2 - %3*%4)/100/%5"
ResultType=0
link(onResult,11517040:doCalc,[])
link(X2,8175131:Var3,[(132,138)])
link(X3,5844309:Var2,[])
link(X4,3876415:Var3,[(146,131)])
link(X5,12242963:Result,[(153,110)(160,110)])
}
Add(MathParse,11517040,175,168)
{
DataCount=5
MathStr="(%1*%2 - %3*%4)/100/%5"
ResultType=0
link(onResult,16717464:onCalc,[(249,174)(249,69)])
link(X1,8726603:Var3,[(181,159)(108,159)(108,208)])
link(X2,9692763:Var3,[(188,152)])
link(X3,5844309:Var3,[(195,124)])
link(X4,2280409:Var3,[(202,145)])
link(X5,15717847:Result,[(209,117)(111,117)])
}
Add(GetDataEx,2774523,56,119)
{
link(Data,16717464:MassaIn,[])
}
Add(GetDataEx,5844309,133,119)
{
Angle=3
link(Data,2774523:Var3,[])
}
Add(GetDataEx,8726603,56,203)
{
link(Data,779928:Result,[])
}
Add(GetDataEx,8175131,84,133)
{
link(Data,16717464:ManganeseOut,[])
}
Add(GetDataEx,3876415,70,126)
{
link(Data,16717464:ManganeseIn,[])
}
Add(GetDataEx,9692763,77,147)
{
link(Data,16717464:CarbonInOut,[])
}
Add(GetDataEx,2280409,63,140)
{
link(Data,16717464:CarbonIn,[])
}
Add(MathParse,12242963,154,63)
{
MathStr="%1/(%1+%2)"
link(onResult,1165778:doCalc,[])
link(X1,6005003:Var2,[])
link(X2,4501765:Var2,[])
}
Add(GetDataEx,6005003,154,49)
{
Angle=3
link(Data,16717464:DigestibilityManganese,[(97,54)])
}
Add(GetDataEx,4501765,161,42)
{
Angle=3
link(Data,16717464:DigestibilityIron,[(104,47)])
}
END_SDK
Add(Edit,7078877,196,63)
{
Left=95
Top=25
Text="98"
ClearAfterEnter=1
link(onEnter,7974135:doWork2,[])
}
Add(HubEx,4815005,378,44)
{
Angle=2
link(onEvent,11551152:doWork2,[])
}
Add(HubEx,1017110,378,119)
{
Angle=3
link(onEvent,5280778:doWork3,[])
}
Add(HubEx,5280778,378,70)
{
Angle=3
link(onEvent,4815005:doWork3,[])
}
Add(HubEx,11551152,308,44)
{
Angle=2
link(onEvent,6021160:doWork2,[])
}
Add(HubEx,3155042,308,70)
{
Angle=3
link(onEvent,11551152:doWork3,[])
}
Add(HubEx,11196960,308,119)
{
Angle=3
link(onEvent,3155042:doWork3,[])
}
Add(HubEx,6021160,238,44)
{
Angle=2
link(onEvent,16324613:doCalc,[(181,50)(181,244)])
}
Add(HubEx,7974135,238,70)
{
Angle=3
link(onEvent,6021160:doWork3,[])
}

карма: 19

0