寧志強 衛(wèi)立新 張 瑞 權(quán) 龍 化建輝 高有山
(1.太原科技大學(xué)機械工程學(xué)院,太原 030024;2.山西工程技術(shù)學(xué)院機械電子工程系,陽泉 045000;3.太原理工大學(xué)機械與運載工程學(xué)院,太原 030002)
復(fù)雜機械產(chǎn)品的參數(shù)如尺寸、零部件選型等將對產(chǎn)品性能產(chǎn)生影響,同時產(chǎn)品性能也會有各種限制條件,復(fù)雜機械產(chǎn)品優(yōu)化設(shè)計往往具有多維非線性特征,因此獲取全局最優(yōu)解需要較大計算量。復(fù)雜產(chǎn)品關(guān)鍵參數(shù)的優(yōu)化問題是機械優(yōu)化設(shè)計的一個重要研究方向[1-2]。液壓技術(shù)在工業(yè)設(shè)備領(lǐng)域應(yīng)用廣泛,對液壓產(chǎn)品性能要求逐漸向高壓、高速、大功率的方向發(fā)展。隨著計算機硬件性能的極大提升,液壓仿真技術(shù)也得到飛速發(fā)展,逐漸成為液壓產(chǎn)品設(shè)計人員必不可少的開發(fā)工具[3]。
智能優(yōu)化算法與液壓仿真軟件結(jié)合是一種發(fā)展趨勢,可極大減輕設(shè)計人員重復(fù)設(shè)計過程[4-5]。德國亞深工業(yè)大學(xué)早期開發(fā)的DSH是一款液壓系統(tǒng)仿真軟件,具有面向原理圖建模的功能,但不具備優(yōu)化模塊。浙江大學(xué)對DSH軟件進行了二次開發(fā),擴充了一些液壓仿真模塊和優(yōu)化模塊[6]。國內(nèi)學(xué)者運用優(yōu)化工具對液壓產(chǎn)品進行了參數(shù)設(shè)計[7-10]。
當(dāng)前液壓仿真軟件進行優(yōu)化設(shè)計和人機交互方面存在一些問題。液壓產(chǎn)品進行參數(shù)優(yōu)化時,需提前安裝專業(yè)仿真軟件,無法脫離仿真平臺獨立運行在Windows操作系統(tǒng)。在仿真軟件平臺進行參數(shù)優(yōu)化時,主要是以串行迭代進行優(yōu)化,專業(yè)仿真平臺對內(nèi)存和CPU需求很高,一臺計算機同時運行兩個仿真平臺非常緩慢,因此基于仿真平臺軟件的并行仿真不易實現(xiàn),且高性能工作站攜帶不便。此外,仿真軟件的人機交互界面不友好,更改參數(shù)初始值需手動輸入,模型參數(shù)較多時,手動修改參數(shù)操作煩瑣,重復(fù)工作量大。
為解決以上問題,多核 CPU加速技術(shù)是一個可行的途徑。多核CPU技術(shù)的出現(xiàn)使得并行計算的廣泛應(yīng)用成為可能,計算機上多核CPU技術(shù)使并行計算技術(shù)的應(yīng)用推向微型計算機[11]。多核 CPU 相比早期單核處理器有了較大的計算性能提升,且處理器的核心數(shù)有增多的趨勢,主要代表性企業(yè)有Intel和 AMD 公司[12]。國內(nèi)外文獻中關(guān)于液壓產(chǎn)品多核并行優(yōu)化方法的相關(guān)報道較少。本文提出一種基于多核CPU的復(fù)雜液壓產(chǎn)品快速多進程并行優(yōu)化方法。以三角槽參數(shù)優(yōu)化為研究對象,利用泵出口壓力試驗驗證COVDE求解器仿真模型的準(zhǔn)確性,在此基礎(chǔ)上通過粒子群算法尋優(yōu)來降低輸出流量脈動。
多核CPU的復(fù)雜液壓產(chǎn)品快速并行優(yōu)化方法的主要原理為基于群體智能優(yōu)化算法,對CVODE仿真程序動態(tài)調(diào)整仿真參數(shù)。CVODE求解器能提高仿真速度,是本文提出的第一級加速策略。COVDE可執(zhí)行仿真程序看作群體智能算法的群體粒子,每個粒子(COVDE可執(zhí)行程序)被分配給不同的設(shè)計參數(shù),參數(shù)化過程通過對參數(shù)文件的寫入來實現(xiàn)。從COVDE可執(zhí)行程序生成的輸出文件中可提取產(chǎn)品性能參數(shù),并計算出群體粒子的適應(yīng)值,同時判斷是否滿足產(chǎn)品性能約束條件。區(qū)別于傳統(tǒng)的串行優(yōu)化仿真方法,每個COVDE可執(zhí)行程序是一個dos程序,通過ShellExecute函數(shù)即可啟動運行,自動生成一個進程,同時啟動多個dos程序則進程分配權(quán)歸操作系統(tǒng)所有,不需要人為干預(yù)。以多個dos進程同時進行仿真可充分利用多核處理器,與群體優(yōu)化算法模塊進行數(shù)據(jù)交互,直到滿足迭代終止條件。基于群體智能優(yōu)化算法的參數(shù)分配模塊通過群體進化策略來動態(tài)分配設(shè)計參數(shù)。鑒于專業(yè)液壓仿真軟件人機交互性差,可視化交互模塊也是必要的組成部分。多核CPU并行優(yōu)化方法主要框架結(jié)構(gòu)如圖1所示。
圖1 多核并行優(yōu)化方法框圖Fig.1 Frame of multi-core parallelism optimization
變排量非對稱軸向柱塞泵(VAPP)可用于挖掘機動臂能量回收[13-16]。VAPP與普通泵的最大區(qū)別在于把普通配流盤的兩個配流窗口設(shè)計成為3個配流窗口,配流窗口A和B分別接差動缸的無桿腔和有桿腔。通過改變斜盤傾角使配流窗口A和B獲得不同的流量達到驅(qū)動液壓缸運動,而不需要其他輔助元件。通過改變斜盤角度可使VAPP處于馬達工況或泵工況,處于馬達狀態(tài)時差動缸無桿腔的部分液壓油通過配流窗口T存在蓄能器中。當(dāng)VAPP處于泵工況時,蓄能器中的液壓能被釋放出來,減少電機做功,從而達到勢能回收和利用的目的。非對稱軸向柱塞泵結(jié)構(gòu)如圖2所示。
圖2 非對稱軸向柱塞泵結(jié)構(gòu)圖Fig.2 VAPP structure diagram
景健[17]對非對稱軸向柱塞泵配流盤建模時,將三角槽結(jié)構(gòu)配流面積的變化過程劃分成腰型孔變化區(qū)域和三角槽變化區(qū)域,并對非對稱泵物理樣機進行了試驗。試驗結(jié)果表明該方法能夠合理模擬非對稱軸向柱塞泵配流面積。因此,本文采用該方法對非對稱軸向柱塞泵建模。
三角槽不同階段的劃分如圖3所示,具體配流面積計算方法如下:
圖3 三角槽配流窗口過程劃分Fig.3 Dividing of flow procedure of triangle groove
(1)加速增大階段(0<φ≤φ1max)
在加速增大階段,柱塞腔底孔僅與三角槽部分連通。配流面積定義為位于柱塞腔底孔與三角槽相交處的三角槽頂面所包圍的面積。圖4為配流盤三角槽的結(jié)構(gòu),柱塞腔底孔與三角槽之間的配流面積為
圖4 配流盤三角槽結(jié)構(gòu)圖Fig.4 Triangle groove structure of valve plate
(1)
式中l(wèi)——三角槽寬度(底邊長)
L——三角槽長度φ——轉(zhuǎn)角
R——柱塞腔底孔分布圓半徑
(2)穩(wěn)定階段(φ1max<φ≤φ2max)
在穩(wěn)定階段柱塞腔底孔與配流盤三角槽完全接通,此時配流面積為
(2)
(3)加速減小階段(φ2max<φ≤φ3max)
在加速減小階段,柱塞腔底孔與三角槽部分接通,其配流面積為
(3)
腰型孔變化區(qū)域內(nèi)的配流面積分為弓形增大、線性增大、穩(wěn)定、線性減小和弓形減小,如圖5所示配流面積計算方法為:
圖5 腰型孔配流窗口過程劃分Fig.5 Dividing of flow procedure of waist window
(1)弓形增大階段(φ1max<φ≤φ4max)
柱塞腔底孔與腰型孔接通,其配流面積形狀為弓形,如圖5所示。配流面積為
(4)
其中
φ′=φ4max-φ
(5)
式中Ssec——柱塞腔底孔與腰型孔形成的扇形面積
SΔ——扇形面積中包含的三角形面積
r——腰形槽半徑
(2)線性增大階段(φ4max<φ≤φ5max)
此時柱塞腔底孔與配流盤腰型孔重疊面積輪廓為腰型輪廓。其配流面積為
S3=πR2+2Rr(φ-φ4max)
(6)
(3)穩(wěn)定階段(φ5max<φ≤φ6max)
柱塞腔底孔與配流盤腰型孔完全連通,如圖6所示,其配流面積為
圖6 腰型孔配流窗口過程劃分Fig.6 Dividing of flow procedure of waist window
S3=πr2+2Rr(φ5max-φ4max)
(7)
(4)線性減小階段(φ6max<φ≤φ7max)
配流面積形狀仍為腰型孔輪廓,但其變化趨勢為線性減小,如圖6所示,配流面積為
S3=πr2+2Rr(φ7max-φ)
(8)
(5)弓形減小階段(φ7max<φ≤φ8max)
柱塞腔底孔與配流盤重疊面積輪廓變?yōu)楣?,如圖6所示,配流面積為
(9)
其中
φ′=φ-φ7max
(10)
在SimulationX軟件中建立非對稱泵變量機構(gòu)仿真模型,如圖7所示。SimulationX 軟件采用物理對象建模方法,且能提供模型導(dǎo)出代碼功能,SimulationX 模型能以 C 代碼形式導(dǎo)出,導(dǎo)出時可選擇定步長求解器和COVDE求解器。導(dǎo)出的C代碼可生成獨立的后綴名為exe的CVODE可執(zhí)行程序、同時生成具有固定文件名及文件類型的模型參數(shù)文件(parameters.txt)、仿真控制參數(shù)文件(solversettings.txt)和仿真結(jié)果文件(Outputs1.txt)。所生成的dos可執(zhí)行文件能夠在Windows操作系統(tǒng)下運行,不需要安裝SimulationX 軟件平臺就可以運行。通過VC++自動執(zhí)行CVODE仿真程序的調(diào)用函數(shù)為ShellExecute(NULL,"open","CVODE.exe",NULL,NULL,SW_SHOWNORMAL)。
圖7 非對稱軸向柱塞泵SimulationX仿真模型Fig.7 VAPP model of SimulationX
根據(jù)SimulationX 軟件中非對稱軸向柱塞泵模型,導(dǎo)出C代碼。VC++6.0通過Open workspace打開C代碼中后綴名為dsw的文件,編譯生成CVODE求解器的dos可執(zhí)行文件,其運行界面如圖8所示。
圖8 CVODE仿真程序Fig.8 CVODE executable program
通過樣機試驗驗證CVODE求解器的dos可執(zhí)行程序仿真的準(zhǔn)確性。試驗過程所使用的設(shè)備參數(shù)見表1,圖9為樣機實物圖和試驗方案[18-20]。試驗和仿真條件設(shè)為:非對稱軸向柱塞泵轉(zhuǎn)速為600 r/min,斜盤傾角設(shè)定為18°,B口和T口加載壓力分別取5、10、15、20 MPa。當(dāng)對B口進行加載,且T口不加載時,B口在4個不同壓力等級下,樣機試驗和仿真結(jié)果如圖10a所示。從圖10a中可知,仿真與試驗結(jié)果基本吻合,B口的壓力脈動隨著加載壓力的提高而增大,總體脈動幅值仍然較小。當(dāng)對B口和T口同時加載壓力時,B口和T口分別在4種壓力等級下的壓力情況如圖10b、10c所示。仿真結(jié)果和試驗結(jié)果基本一致,B口和T口的工作壓力呈現(xiàn)一定周期性波動,且T口壓力脈動幅值略大于窗口B。通過試驗驗證,結(jié)果表明壓力實測和CVODE可執(zhí)行程序得到的仿真曲線吻合度較高。
表1 試驗設(shè)備參數(shù)Tab.1 Proposed system parameters
圖9 變排量非對稱泵樣機和試驗方案Fig.9 VAPP prototype and experiment method1.電動機 2.非對稱泵 3.比例伺服閥 4.液壓泵 5.變量機構(gòu)電動機 6、7.溢流閥 8.DSpace控制器
針對液壓產(chǎn)品開發(fā)特點,設(shè)計了一種多核并行優(yōu)化機制。非對稱軸向柱塞泵的模型復(fù)雜度相對較高,因此可以在仿真方案中設(shè)計多個可獨立運行的仿真程序,分別賦不同的參數(shù)值,在經(jīng)過一次迭代后,微粒群算法優(yōu)化器能從輸出文件output.txt中獲取計算結(jié)果,得到粒子群算法所需的的目標(biāo)函數(shù)適應(yīng)值和約束條件判斷結(jié)果,粒子群算法更新每個粒子的參數(shù)。粒子群算法具有并行性,每個粒子的適應(yīng)值計算相互獨立,因此能夠同時多進程并行運行多個可執(zhí)行程序,以實現(xiàn)提高計算效率的目的。多進程運行的啟動方式借助ShellExecute函數(shù)實現(xiàn)。
三角槽長度和寬度對流量脈動和柱塞腔壓力具有較大的影響,鑒于三配流口的配流槽尺寸限定,三角槽長度優(yōu)化的空間較小,因此選取三角槽寬度作為設(shè)計變量。為研究三角槽寬度對B口和T口流量脈動影響,選取不同的三角槽寬度進行仿真,分別取三角槽寬度為1、3 mm進行仿真。由圖11a可知,隨著B口三角槽寬度變小,B口流量脈動變??;由圖11b可知,隨著T口三角槽寬度變小,T口流量脈動變??;由圖11c可知,隨著B口和T口三角槽寬度變小,柱塞腔壓力變大。在非對稱泵設(shè)計中,要求泵出口流量脈動較小,同時也要求柱塞腔壓力較小,但流量脈動較小和柱塞腔壓力較小的要求存在沖突,因此,本文提出通過改變B口和T口三角槽寬度,在限制最大柱塞腔壓力的同時,達到B口和T口的流量脈動值最優(yōu)化。
圖11 不同寬度的三角槽對流量脈動和柱塞腔壓力的影響Fig.11 Effect of different triangle groove on flow pulsation and chamber pressure
粒子群算法的目標(biāo)函數(shù)設(shè)置為B口和T口的流量脈動率之和,即目標(biāo)函數(shù)
σall=σB+σT
(11)
其中
(12)
式中qBmax、qTmax——B口、T口最大流量
qBmin、qTmin——B口、T口最小流量
優(yōu)化設(shè)計變量分別為三角槽B口和T口的寬度lB和lT,如圖4b所示。約束條件為柱塞腔最大壓力不得大于限制值。約束條件的施加方法,最常見的有懲罰函數(shù)法等方法,但無法將約束條件公式化,不適合采用懲罰函數(shù)法,因此提出一種約束條件處理策略,通過3個規(guī)則處理約束條件。基于粒子群算法的非對稱泵多核并行優(yōu)化流程圖如圖12所示。
圖12 非對稱泵多核并行優(yōu)化流程圖Fig.12 Flowchart of VAPP parallelism optimization
利用VC++軟件進行SimulationX軟件的二次開發(fā),編制出友好的人機交互界面,如圖13a所示,多進程并行優(yōu)化界面如圖13b所示。
圖13 二次開發(fā)界面Fig.13 Secondary development interface
優(yōu)化前配流盤B口和T口三角槽寬度均為2 mm,流量脈動率之和為0.763 268,柱塞腔壓力為2.3 MPa。在20輪迭代過程中,約束條件設(shè)為柱塞腔壓力為2.3 MPa,優(yōu)化后B口和T口三角槽寬度分別為3 mm和1.46 mm,B口和T口脈動率之和下降為0.491 952 78,即柱塞腔壓力不變的情況下,通過優(yōu)化三角槽寬度使出口脈動率降低了36%。排量為45 mL/r時20次迭代過程脈動率變化趨勢如圖14所示,優(yōu)化后流量和壓力如圖15所示。
圖14 20次迭代過程出口脈動率變化曲線Fig.14 Variation trend of pulse rate in 20 iterative process
圖15 三角槽參數(shù)優(yōu)化后的輸出流量和柱塞腔壓力Fig.15 Output flow and plunger chamber pressure of optimized triangle groove
對于非對稱軸向柱塞泵的設(shè)計,輸入設(shè)定排量為55 mL/r,約束條件設(shè)定柱塞腔壓力不超過2.3 MPa,優(yōu)化后B口和T口三角槽寬度分別為1.24、2.62 mm,無法到達搜索范圍下限,因為三角槽寬度下限值將導(dǎo)致柱塞腔壓力大于許可值2.3 MPa。排量55 mL/r時,在5 MPa柱塞腔壓力限制條件下,三角槽寬度達到搜索范圍下限值,即0.5 mm,此時柱塞腔壓力約束條件不起作用。排量55 mL/r相比于排量45 mL/r,脈動率下降,即隨著排量的增加,泵出口脈動率變小。不同排量和壓力限制條件下三角槽尺寸尋優(yōu)結(jié)果見表2。圖16為不同排量和壓力限制條件下三角槽優(yōu)化后輸出流量脈動率。
表2 三角槽寬度優(yōu)化結(jié)果Tab.2 Optimized result of triangle groove
圖16 不同排量和壓力限制條件下三角槽優(yōu)化后輸出流量脈動率Fig.16 Output flow and plunger chamber pressure of optimized triangle groove with different displacements and pressure limits
設(shè)置并行優(yōu)化進行20次迭代,每輪迭代同時并行執(zhí)行10個仿真程序,共計執(zhí)行200次dos仿真程序。對比試驗的仿真處理器配置見表3,仿真耗時對比見表4。對于配置A,Intel(R)Core(TM)i7-10700F是具有8核16線程的處理器,理論上該處理器相比單個exe至少可提高4倍效率,實際提高效率為7倍左右,基本符合理論上提升效率;對于配置B,具有2核處理器,理論上該處理器相比單個exe至少可提高2倍效率,實際提高效率約為2.5倍,基本符合理論提升效率。8核處理器i7-10700F對比雙核處理器i5-7200U提升約5倍效率。并行優(yōu)化性能與核心數(shù)基本成正比,但也與仿真時所用計算機的實際性能相關(guān)。
表3 工作站主要性能參數(shù)Tab.3 Parameters of workstation
表4 仿真耗時對比Tab.4 Comparison of simulation time s
(1)提出了一種基于多核CPU的復(fù)雜液壓產(chǎn)品快速多進程并行優(yōu)化方法,該方法可解決液壓產(chǎn)品仿真對專業(yè)軟件依賴的問題。CVODE求解器能加快仿真速度,物理樣機試驗結(jié)果與CVODE求解器仿真程序結(jié)果吻合度較高,證明CVODE仿真程序的準(zhǔn)確性。在基于粒子群算法的并行優(yōu)化過程的運行速率與多核CPU的核心數(shù)目呈正比關(guān)系。
(2)利用粒子群算法對非對稱軸向柱塞泵的三角槽寬度參數(shù)進行優(yōu)化,以降低泵輸出流量脈動。研究表明減小三角槽寬度能夠降低流量脈動,但會引起柱塞腔壓力上升。在不增加柱塞腔壓力的條件下,運用多核并行優(yōu)化方法對非對稱軸向柱塞泵優(yōu)化后,泵出口流量脈動相比優(yōu)化前降低了36%。