1. <meter id="61616"></meter>
      1. <meter id="61616"></meter>
        Go to Top

          鐵匠還是廚子?CAE工程師是否需要編程?

          來源:互聯網 作者:佚名
          關于CAE使用者應當具備哪些素質,以及應該向哪個方向發展的問題,似乎已經被討論了無數遍了。昨天在QQ群中,一眾網友又就此問題展開激烈討論,場面好不熱烈。有人說”CAE工程師應當以自己編制程序為主,必須熟知所使用的工具的內部細節,否則對計算結果很難把握,依賴商業軟件不是正途”;也有人說”CAE工程師的工作應當側重在計算模型的準備以及計算結果數據的利用上,不應當花費過多的時間在軟件的內部細節上”。個人覺得這兩種觀點都有道理,不過更傾向于后一種觀點。這里以鐵匠和廚子來比喻這兩種觀點好了。

          小的時候特別崇拜鐵匠,他們利用自己的專業技術將廢鐵打造成各種犀利的工具:菜刀、鋤頭等等。在工具打造一系列過程中,鐵匠需要了解非常多的知識,比如說爐火溫度、鍛造手法、熱處理工藝等,只有完全了解這些知識,才有可能打造出最合適的工具。

          相對于鐵匠是工具的創造者來說,廚子更多的是扮演一個工具使用者的角色。對廚子來講,他們并不需要特別地了解自己所使用的菜刀的材質以及制造過程,他們需要知道的僅僅是,對于不同的食材,選用合適的菜刀,僅此而已??潮热缯f骨頭不能用水果刀,切蔬菜不能用剔骨刀等等。對于工具的關注,僅此而已。廚子需要關注的重點不是在刀具上,而是在食材的搭配、制作過程上,與刀具相關的也僅僅是刀工而已,而這一部分工作,通常是由切墩兒來做的,大廚貌似很少做這方面的工作。

          由此可見,鐵匠和廚子是完全不同的兩個職業,他們對于工具的關注角度是不一樣的。同理,CAE工程師也存在這樣的分工。

          我一直覺得,CAE軟件開發者不算是CAE工程師,他們應當被稱作軟件工程師。當然可能會有童鞋會反駁”那些開發CAE數值計算算法的人,難道不是CAE工程師?”。這類人雖然熟悉CAE計算細節,但是仍然可以將他們當作軟件工程師。眾所周知,軟件開發的核心在于算法開發,這對于數值計算軟件尤其突出。軟件工程師更類似于鐵匠,必須熟悉軟件內部的所有細節,他們的直接產品是軟件。

          CAE工程師的目光應該在哪里?是軟件的細節么?需不需要了解軟件背后的運行原理?個人認為了解軟件背后的細節對于CAE工程師來講是錦上添花的東西,了解這些自然是一件非常好的事情,然而不了解這些似乎也不會有太大的問題。就好比廚子,可以不必去了解菜刀的構成,也不必了解菜刀的制作過程。當然,如果對菜刀的構成以及制作過程有相當的了解的話,則無疑極大的方便了他們更準確的選擇合適的菜刀,僅此而已。當然,如果不了解菜刀背后的那些細節,僅僅知道各種菜刀適合于何種場合,自然也是可以的。因為廚子可以選擇完全相信自己的菜刀,相信它們可以很好的完成自己的工作。因此,廚子可以將自己的精力集中在食物在加工制作上。相同的道理,CAE工程師也完全可以選擇相信自己的軟件,當然前提是能夠選擇合適的軟件。當CAE工程師選擇完全相信自己的軟件時,就可以集中精力在自己的問題上。不過話說回來,如果CAE工程師能夠了解CAE軟件的內部細節,則會如虎添翼,能夠更好更有效地利用CAE軟件解決自己的工程問題。

          還存在這么一種情況,廚子做得久了,發現現有的菜刀并不是太適合自己,于是開始考慮打造最適合自己的菜刀。這種情況實際上是很普遍的,一些名廚基本上都有自己特有的工具。當然打造菜刀的過程可以是自己親手打造,這需要廚子有相當的菜刀打造技術,而這是另一個行業的工作了。另外一種最方便的方式,可能就是雇傭鐵匠了,此時廚子只需要向鐵匠提出自己的要求,而鐵匠按照廚子提出的要求打造菜刀。這里存在一個問題:由于行業間的差異,廚子和鐵匠之間可能存在溝通上的障礙。比如說,廚子可能為了某種目的需要鐵匠打造一把帶有鋸齒的菜刀,而這種菜刀可能會造成鐵匠的困擾,因為從工具制造的角度,這種不合常規的工具在打造的過程中可能會存在這樣或那樣的問題,而這些問題并不被廚子所接受,若按照廚子的要求嚴格去制造,則造出的菜刀可能會強度不夠、剛度不夠,或者存在安全隱患。因此,若廚子具備一些鐵匠的技術,則不會提出一些讓鐵匠困擾的問題。

          同樣的道理,CAE工程師與CAE軟件工程師也是一樣。資深CAE工程師會發現商用CAE軟件會存在較多的問題,這些問題的存在原因可能包括:

          (1)商用CAE軟件需要考慮到軟件的易用性,因此對于軟件的內部細節進行了嚴密的封裝。這種做法能夠縮短軟件的學習周期,但同時也極大的限制了軟件的功能擴展。同時,對于資深的CAE工程師來講,掌握軟件的內部細節有助于他們對于軟件的計算過程、計算結果有更好的把握和控制。商用CAE軟件就像是工廠中批量生產的菜刀,適合于大多數的廚子,但是若想要在廚藝上更進一步的話,批量菜刀不一定能夠達到目的。

          (2)CAE工程涉及到的物理問題都非常的復雜,商用的CAE軟件為了自身的銷售考慮,需要自己的軟件足夠穩健,因此絕不會采用最新的、未經嚴格驗證的計算模型,因此這樣會導致采用商用的CAE軟件計算所得到的精度不會太高。而想要應用最新的計算模型,則必須升級軟件的計算內核,對于商用軟件來說,這無疑是不可能的。在以上情況下,有兩種解決方式:第一種方式為CAE工程師自己開發軟件。另一種方式則為CAE工程師與CAE軟件工程師合作開發軟件。

          對于第一種方式,則對CAE工程師的綜合素質提出了極高的要求,其不僅要求CAE工程師熟悉本行業的物理背景,更要求CAE工程師了解CAE程序運行原理以及軟件開發技術。當然好處也是顯而易見的,這種方式下,不會存在需求溝通上的困難。CAE工程師知道自己所需求的軟件應當具有哪些功能,而且也知道實現這些功能會存在哪些技術上的問題。在軟件使用過程中,也能夠準確的把握計算過程,在計算出現問題時能夠及時反應。當然這種方式也不是沒有缺點,一個最顯著的缺點在于,CAE工程師到底不是專業的軟件工程師,開發的軟件也往往難以像商用CAE軟件那樣進行嚴格測試,軟件本身的質量不一定能夠保證。

          第二種方式則是CAE工程師提出自己的軟件需求,由CAE軟件工程師開發軟件,實現CAE工程師的需求。這其實就是現在一些商用CAE軟件的開發模式。就沒有什么太多好說的了,如果團隊難以滿足這些要求,說多了也是空話。難度還會是比較大的,國內還難以找到這樣的團隊。

          扯得遠了,其實總結起來無非是這樣:”CAE工程師可以不用完全了解軟件的原理細節,但是如果對這些有了解的話,則無疑是錦上添花”。對于時間越來越寶貴的今天,能夠省下了解CAE軟件背后技術原理的時間,而將精力集中在CAE要解決的問題上,則無疑是一件非常好的事情。

        ?
        分分快三