АШИГТ МАЛТМАЛЫН БАЯЖУУЛАЛТЫН ТЕХНИК, ТЕХНОЛОГИ

Ашигт малтмалын баяжуулалтын чиглэлээр сурч буй оюутан сурагчид, залуу инженерүүдэд зориулав.

Sunday, March 31, 2019

Баяжуулагч инженерүүдийн Python №6 (Python for Mineral Processing Engineers)


Монте-Карлогийн загварчлал ба бөөрөнцөгт тээрмийн хүчин чадлыг анхдагч хүдрийн хатуулаг, бүхэллэгээс хамааруулан үнэлэх нь

Өнгөрсөн зууны 40-өөд онд АНУ-ын физик, математикийн нэрт эрдэмтэд Манхэтхэн төсөл дээр  ажиллаж  байхдаа нийлмэл системийг загварчлахад санамсаргүй тоонуудыг хэрэглэсэн гэдэг ба үүнээс хойш ийм аргыг Монте-Карлогийн (Monte Carlo) загварчлал гэж нэрлэсэн.
 Баяжуулах үйлдвэрийн технологийн процессууд, тоног төхөөрөмжүүдийн үйл ажиллагааг Монте-Карлогийн аргыг хэрэглэн загварчилж болно.
Энэхүү аргын гол санаа нь тухайн процесст нөлөөлөгч хүчин зүйлүүдийг тоо томшгүй олон санамсаргүй тоогоор (мэдээж тархалтын хуулиар) математик загварын өгөгдөл болгон технологийн процессын үр дүнг төлөгчлөх явдал юм.
Орчин үед комьютерийн техник хөгжиж  , иммитаци загварчлалыг гүйцэтгэх боломжтой тусгай программ, пакетууд (Жишээ нь Oracle компанийн Crystal Ball г.м.) гарч ирснээр Монте-Карлогийн аргыг амьдрал, практикт хэрэглэхэд хялбар болсон.
Python-ны иumpy систем нь янз бүрийн хуультай санамсаргүй тоонуудыг үүсгэх боломж ихтэй.
Бид жишээ болгон Эрдэнэт үйлдвэрийн баяжуулах фабрикийн МЩЦ 5.5 x6.5 бөөрөнцөгт тээрмийн цагийн хүчин чадлыг хүдрийн хатуулаг, тэжээлийн бүхэллэгээс хамааруулан Монте-Карлогийн аргаар төлөгчлөх (загварчлах) энгийн бодлогыг numpy санг ашиглан гүйцэтгэе.
Тээрмийн үйл ажиллагаанд олон хүчин зүйл нөлөөлдөгч бид эдгээрээс 2 гол хүчин зүйлүүдыг авч үзлээ. Монте-Карлогийн зарчмыг дараах зурагт үзүүлэв.

Санамсаргүй тооны генератор ашиглан хүдрийн Бондын ажлын индек (Wi) , тэжээлийн бүхэллэгийн (F80) тархалтыг үүсгэж , тэдгээрийг бөөрөнцөгт тээрмийн загварт (томьёо) өгье. Python -программаар  МЩЦ 5.5x6.5 тээрмийн цагийн хүчин чадлын тархалтыг тухайн өгөгдүүдээс хамааруулан   гаргав. (Зураг )

Монте-Карлогийн загварчлалын үр дүнгүүдийг дараах хүснэгтүүд, графикаар харуулав. Хүснэгт болон графикаас харахад  Бондын ажлын индеск 1 кВтц/т оор өсөхөд бүтээмж бараг 15 т/ц-аар буурч байна. Харин буталсан хүдрийн бүхэллэгийн хэмжээ 2500 микр (2.5 мм) оор өсөхөд тээрмийн цагийн хүчин чадал 8 т/ц-аар буурч байгааг харж болно. Дээрх тооцоонд P80=135 микрон гэж авлаа.
Өгөгдлүүд болон загварчлалыг улам нарийн болгосноор бөөрөнцөгт тээрмийн технологийн  чадлын эрсдлийн тооцоог хүдрийн физик-механикийн шинж чанараас хамааруулан гүйцэтгэж болох юм. 

МЩЦ 5.5x6.5 тээрмийн цагын хүчин чадал
Стат. Үзүүлэлт
F80=8500 микр. 
F80=12000 микр 
Түүврийн тоо
1000
1000
Дундаж
294.0
286.2
Стандарт хазайлт
13.8
13.4
Хамгийн бага
257.0
250.0
25%
284.8
277.0
50%
294.0
286.0
75%
303.0
295.0
Хамгийн их
340.0
331.0





МЩЦ 5.5x6.5 тээрмийн цагын хүчин чадал

Стат. Үзүүлэлт
Wi=17.6 кВтц/t
Wi=18.6 кВтц/t
Түүврийн тоо
1000.0
1000.0
Дундаж
293.4
277.5
Стандарт хазайлт
14.0
12.5
Хамгийн бага
253.0
241.0
25%
283.0
269.0
50%
292.0
277.0
75%
302.3
286.0
Хамгийн их
360.0
337.0



Программын код:

# Ball Mill Capacity Monte Carlo Simulation
#G.Davaatseren

def Q(W,F80):
    D=5.5
    L=6.5
    bd = 7.9
    fsi=0.85
    phi=0.35
    Cf=1
    P80=135
    Q1=8.01*(D**3.3)*(L/D)*bd*(phi-0.937*phi*phi)*(fsi-0.1*fsi/(2**(9-10*fsi)))
    Q2=Cf*W*(10/np.sqrt(P80)-10/np.sqrt(F80))
    return Q1/Q2
#-------------------------------------------------------
# test data for Erdenet

Wi=np.array([17.41,17.46,16.37,18.23,18,17.07,17.43,17.37,16.82,19.5])
W_mean=np.mean(Wi)
W_std=np.std(Wi)

#-----------------------------------------------------
# Generation of the Bond Work Index
w_index = np.random.normal(W_mean,W_std, 1000)

#feed_size= np.random.normal(9500,200, 1000)

#feed_size=[9500,10000,12000,]
#for i in feed_size:
#    tph=np.round(Q(w_index,i),0)
#y=pd.Series(tph)
#print(y.describe())
tph1=np.round(Q(w_index,8000),0)
tph2=np.round(Q(w_index+1,8000),0)
y1=pd.Series(tph1)
y2=pd.Series(tph2)
print(y1.describe())
print(y2.describe())

df = pd.DataFrame({'tph1':y1.describe(),
                  'tph2':y2.describe()})
writer = ExcelWriter('tph1.xlsx')
df.to_excel(writer,'Sheet1',index=True)
writer.save()
#-------------------------------------
fig, axs = plt.subplots(1, 2, figsize=(10, 5),sharey=True, tight_layout=True)
fig.suptitle('МЩЦ-5.5x6.5 тээрмийн хvчин чадлын иммитаци (Monte-Carlo) загварчлал')


axs[0].hist(w_index+1,bins=50, color='r', alpha=0.5, rwidth=0.85)
axs[0].set_xlabel('Бондын ажлын индескийн тархалт,кВтц/т')
axs[0].text(17, 60, '$\mu= 18.6 \ \sigma=0.82$')

axs[1].hist(tph1,bins=50,color='b', alpha=0.5, rwidth=0.85,label='Wi= 17.6 кВтц/т')
axs[1].hist(tph2,bins=50,color='g', alpha=0.5, rwidth=0.85,label='Wi= 18.6 кВтц/т')
axs[1].legend()
axs[1].set_xlabel('МЩЦ-5.5x6.5 тээрмийн хvчин чадал, т/ц'

axs[0].grid('both',linestyle='--')
axs[1].grid('both',linestyle='--')

No comments:

Post a Comment