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

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

Thursday, February 28, 2019

PYTHON -ы NUMPY санг ашиглан технологийн схемийг хамгийн бага алдаатай байх зарчмаар бодох нь

Өмнө нь Python хэлийг ашиглан инженерийн нарийн тооцоог маш хурдан, амархан гүйцэтгэх боломжтой гэдгийг хэлсэн билээ. Python хэлний инженерийн маш олон бэлэн сангууд байдаг бөгөөд эдгээрээс хамгийн хүчирхэг өргөн хэрэглэгддэг нь numpy, pandas, scipy юм.
Өнөөдөр техник, сансар судлал, физикийн салбарт ажиллаж буй инженерүүд Python хэлийг өөрсдийн үйл ажиллагаанд өргөн хэрэглэж байна.
Өмнөх блогт тайлбарласан баяжуулалтын энгийн схемийг хамгийн их үнэмшлийн аргаар сорьцлолтын алдаа хамгийн бага байх зарчмыг ашиглан Python хэлны цөөхөн код бичиж тооцоолох аргыг өмнө нь үзсэн жишээн (2019/01/12-ны пост) дээр үзүүлэв.. 
Технологийн схемийг болох хамгийн их үнэмшлийн арга нь дараах матрицан системийг бодоход оршино.


                                G=(XT X)-1 (XTY)

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

# Баяжуулалтын схемийн тооцоо. Python 3.7. Инженерийн тооцооны Numpy сан
# Г.Даваацэрэн

import numpy as np


# Схемийн матриц ба сорьцлолтын агуулгууд

m=np.array([[1,1,0,-1,-1,0,1],
           [-1,0,1,1,0,0,0],
           [0,-1,0,0,1,1,0]],float)
cu=np.array([12.6, 0.0567, 17.0, 1.195, 0.55, 0.0062,0.457],float)
mo=np.array([0.375, 0.0041,0.2775, 0.5266, 0.041,0.0041,0.016],float)
#------------------------------------------------------------------
bcu=m*cu
bmo=m*mo
#------- Математикийн "хамгийн vнэмшилтэй аргыг" хэрэглэн гарцыг олно
b=np.insert(m,[3],bcu,axis=0)
b=np.insert(b,[6],bmo,axis=0)
X=b[:9,:6]
X0=b[:,6]
XT=X.transpose()
X1=np.dot(XT,X)
X1=np.linalg.inv(X1)
X2=np.dot(XT,X0)
Y=np.round(100*(np.dot(X1,X2)),2)
# Гарцыг хэвлэж байна.
print('Гарц : ',Y)

Бодолтын хариу᠄


Гарц:  [  3.65 106.95   2.65   0.79   9.82  97.13]

Saturday, February 16, 2019

ЗАЛУУ БАЯЖУУЛАГЧ ИНЖЕНЕРҮҮДЭЭ PYTHON ХЭЛ СУРЦГААЯ!

Эрхэм  залуу баяжуулагч инженерүүд, оюутан дүү нарт:
 Мэдээлийн технологи асар хурдацтай хөгжиж буй өнөө цаг үетэйгээ хөл нийлүүлэн алхах, цаашлаад өрсөлдөөнтэй энэ нийгэмд талхныхаа буланг түвэггүйхэн олж идэх шаардлага бидний өмнө байна.
Үүний тулд залуучуудаас олон зүйлүүдийг сурах, мэдэх хэрэгтэй болж байгаа ба үүний дотор орчин үеийн компьютерийн өндөр түвшний хэлүүдийг (код бичих) заавал сурах шаардлагатай.
Нэг жишээ хэлэхэд комьютерийн сурахад хялбар, мөн маш өндөр түвшний , маш хүчтэй PYTHON хэл их моодонд орж байгаа шүү. Компьютер, гар утас, таблет дээрээ python-ны интерпретаторыг суулгаад урагшаа!
Уг хэлний гол онцлого нь  шинжлэх ухаан, тооцоо судалгааны маш их бэлэн модулиудтай (сангуудтай ) учраас  инженерийн тооцоонд  хэрэгдэхэд их тохиромжтой.
Ялангуяа интернетийн орчинд (WEB) өөрийн мэргэжлийн талаар мэдээлэл боловсруулах , инженерийн тооцоо хийх систем боловсруулах (жишээ нь https://www.smartdogmining.com/ шиг) зорилготой залуучууд энэ Python хэлийг сурах нь чухал .


Флотацийн хугацаа бодох энгийн тооцоо, мөн туршилтын үр дүнд флотацийн кинетикийн коэффициентийг үнэлж графикаар үзүүлэх 2 программыг дор үзүүлэв.



  Флотацийн кинетикийн параметрийг туршилтын үр дүнгээр үнэлэх нь



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




Tuesday, December 18, 2018

ГИДРОЦИКЛОНЫ ТООЦОО

Эрхэм дүү нарт зориулж гидроциклоны тооцоог HP Prime Graphing тооны машин дээр хэрхэн хийх аргачлалыг дор өгөв.

PPL Программын листинг:
EXPORT Hydrocyclone()
//Расчёт гидроциклонов ,работающих в замкнутом цикле с мельницей
//по методу Krebs EWngineering
//G.Davaatseren

BEGIN
LOCAL Sd, Ts, PP;
LOCAL PS,P,V,k,PV;
LOCAL D50,c1,c2,c3,D1;
LOCAL L1,L2,I,V1;
LOCAL Dv, Di,Da;//Vortex,Inlet and Apex Diameters
LOCAL Si;//Inlet Nozzle Area
//
L1:={10,15,25,38,51,66,76,84,91};//Standart Diameter of Cyclone
L2:={8,6,9,7,4,4,3,5.4,7.8};//Minimal Pressure Drop in PSI
L3:={30,70,200,300,500,1000,1300,2150,3000};//Minimal Capacity of Cyclone, USGPM
L4:={0.51,0.52,0.52,0.52,0.55,0.52,0.53,0.51,0.53};//Slope of Capacity Line
//
Sd:=2.65;
Ts:=54.6;
PP:=80;
PS:=150;
P:=100;
V:=0;
//
INPUT({Sd,Ts,PP, PS,P, V},{"HYDROCYCLONE DATA"},{"Solid Density(g/sm3) ","Solid Percent ", "%Passing ","Target P80(micron) ","Pressure Drop(kPa)","Feed Volume"});
PP:=PP/100;
I:=6;
k:=round(-522.18913*PP^5+1982.21545*PP^4−2983.36894*PP^3+2226.65199*PP^2-828.64328*PP+125.78964,2);
//
D50:=round(PS*k,0);
PV:=100/(1+Sd*(100/Ts-1));
//
c1:=round(((53-PV)/53)^−1.43,2);
c2:=round(3.27*P^(−0.28),2);
c3:=round((1.65/(Sd-1))^0.5,2);
//
print();
//
D50:=round(D50/(c1*c2*c3),0);
D:=round((D50/2.84)^(1/0.66),0);

Print("D50(c)= "+D50+" micron");
Print("Calculated Diameter : "+D+" sm or "+ round(D/2.54,0)+" inch");
wait;
input({{I,L1}},"Select Standart Diameter(sm)",{"Diameter : ="});
D1:=L1(I);
Print("Selected Diameter : "+D1+" sm or "+ round(D1/2.54,0)+" inch");
Print("Pressure Drop :"+P+" kPa or "+round(P/6.8948,2)+" PSI");
P:=P/6.8948;//Pressure Drop from KPa to PSI
//
Dv:=D*0.35;
Si:=0.05*D^2;
Di:=SQRT(Si*4/π);
//
V1:=10^(LOG(L3(I))+(LOG(P)-LOG(L2(I)))*L4(I));
V1:=V1*0.2271009;
Print(" ");
Print("Capacity : "+ round(V1,1)+" m3/h or "+round(V1/0.2271009,1)+" USGPM");
Print("Vortex Diameter: "+round(Dv,0)+" sm");
Print("Inlet Diameter: "+round(Di,0)+" sm");
END;








Friday, December 7, 2018

БӨӨРӨНЦӨГТ ТЭЭРМИЙН ТООЦООГ ИНЖЕНЕРИЙН ТООНЫ МАШИНААР ГҮЙЦЭТГЭХ НЬ

HP Prime Graphing Calculator тооны машин ашиглан бөөрөнцөгт тээрмийн тооцоог Бондын аргаар гүйцэтгэсэн программын жишээг доор үзүүлэв.