我提出的電腦輔助工程課程,是將CAE學生設定在擁有大學程度下,經過學習計算機技術來發展土木工程。我的學歷制度在二級課程就有結構動力學,所以在結構工程為主要用途的觀點上並無問題。以計算機在土木的用途來說,包括:程序計算、繪圖、視覺化、平行計算、…等,而在專業領域的發展方向方面,包括:結構工程、大地工程、水利工程、交通工程及軍事工程。
在1950年代時(維基a),IBM發明出第1個高階程式語言FORTRAN,因而許多工程軟體都是採用FORTRAN。在1960年時(維基b),美國的土木工程先進Clough,給出有限元素法FEM的命名,並在FEM的網格生成發展出計算幾何,以及在矩陣計算和圖形呈現上,發展出線性代數和視覺化繪圖。計算幾何和線性代數,都是FEM發展出的新專業領域,而視覺化繪圖的用途比較廣泛涉及所有的影像呈現。
在1972年時(維基c),K&R發明出C語言和UNIX,不少FEM軟體有部份以C語言重寫,使得多數FEM軟體都是C和FORTRAN並存。FEM的主要用途領域,包括:土木工程、機械工程、航空太空工程及造船工程,而其類似的方法尚擴及到工程電磁學,所以電機工程及其衍生的專業領域亦涵蓋在內。FEM的發展已經接近停滯,仍然有發展空間的領域應是計算力學。
在土木工程的用途上,得將計算機應用於結構工程、大地工程、水利工程、交通工程及軍事工程,所以計算力學僅是多項專業選擇之一。土木工程原本是軍事工程的一部份,但是在現代土木工程的發展趨勢上,似乎改成將軍事工程納入土木工程的一部份,而且是排除機械工程和電機工程具有獨佔的意義。也就是說,土木工程要保持軍事工程的基本發展,在中國大陸就將「抗震抗爆」列為專業領域。
臺灣有部分學校想改系名為軍事工程,在我的觀點來說是不具有必要性的做法,而是在學術研究上新增涉及軍事工程的小專業領域。在中國大陸的軍事工程發展上,普通高校的土木工程有軍事工程相關研究,而軍事工程學校算是有更多不同的軍事工程相關研究。其中,在計算機的用途上,算是相當的廣泛,甚至於得將古代涉及軍事的用途,都以計算機來發展為土木工程的領域。
以古代的軍事工程來說,都是人力計算和人力傳達訊息,其中多數的計算都是得以計算機來解決,而人力傳達訊息就是古代的密碼學。根據密碼學的歷史記載,凱薩大帝(維基d)是第1個發展出密碼學的前人,而其密碼學就是採變換字母的順序來傳達訊息。以計算機來解決的話,就是對於加密文本的文字長度,去套用相同長度的英文詞彙,就能在1秒內破解出凱薩大帝的密碼學。
羅馬帝國皇帝凱薩大帝密碼學範例
密文:STQ PK T ZPFPKPLG﹒ -> 明文:CAE IS A DIVISION﹒
破解密碼:F->V;G->N;L->O;K->S;P->I;Q->E;S->C;T->A;Z->D
在土木工程的軍事工程領域,我並不認為要有相當多人力發展密碼學,僅是將其當做業餘興趣在嘗試破解密碼。在程式控制硬體方面,就是所謂的電控技術的應用,已經被美國宣稱土木的電控應用,幾乎都已近乎完全被發展出相關技術。然而,臺灣土木界對於電控技術限於「產品」,也就是並不知道無產品的相關電控技術,此乃是具有產品導向特有的使用限制情形。
以我個人知道的案例來說,具有比較實務應用層面的項目,包括:建築物以GPS感測器量測地震和風力的變位、橋樑健康監測、土石流監測、…等,都是二十年前就已經具備的相關電控技術。由於土木的電控技術相當成熟,所以在學術研究很容易重覆前人的研究。因此,有關於土木的電控技術方面,我認為有必要做全面性的文獻回顧,最好有中文專書得引進國內做相關的使用。
在平行計算的發展上,其背景數學基礎就是近代的線性代數,至於在稀疏矩陣的資料存取和乘算技術,也是相當成熟而近乎發展停滯的研究領域。不過,有關於稀疏矩陣的相關技術,已是工程軟體的基本程式。在近十年來,有被提出的計算技術甚多,包括:格網計算、CUDA計算(GPU)、雲端運算、…等,採執行緒的GPU要懂撰寫程式技巧,並對於採平行計算的雲端運算確實掌握。
以GPU來說,不過就是國家高速電腦中心的線上教學,要是仔細學習1個月應該不難獲取相關技術。至於,行政院科技部相當重視雲端運算,或許是計算機在土木工程發展的趨勢。簡單的說,學習GPU撰寫程式技術,是在對於軟體開發得採用此功能。在雲端運算方面,乃是大型電腦系統在做大量資料的計算,需要思考的是土木有哪些工程項目得以使用?
在土木施工的應用上,或許要朝向「工程預警系統」的建立,也就是以網路系統發展出預警模式。在水利工程的應用上,經由計算預知洪水氾濫的可能性,以及對此做防洪預警的相關措施,將是得以朝向的主要發展方向。在交通工程的應用上,每年的重要節日的高速公路車流量,或者一般尖峰時間車流量發生時,該如何從交通規劃的角度去紓解交通。在結構和大地工程方面,其應用較為廣泛得以朝多方面發展。
References
在1950年代時(維基a),IBM發明出第1個高階程式語言FORTRAN,因而許多工程軟體都是採用FORTRAN。在1960年時(維基b),美國的土木工程先進Clough,給出有限元素法FEM的命名,並在FEM的網格生成發展出計算幾何,以及在矩陣計算和圖形呈現上,發展出線性代數和視覺化繪圖。計算幾何和線性代數,都是FEM發展出的新專業領域,而視覺化繪圖的用途比較廣泛涉及所有的影像呈現。
在1972年時(維基c),K&R發明出C語言和UNIX,不少FEM軟體有部份以C語言重寫,使得多數FEM軟體都是C和FORTRAN並存。FEM的主要用途領域,包括:土木工程、機械工程、航空太空工程及造船工程,而其類似的方法尚擴及到工程電磁學,所以電機工程及其衍生的專業領域亦涵蓋在內。FEM的發展已經接近停滯,仍然有發展空間的領域應是計算力學。
在土木工程的用途上,得將計算機應用於結構工程、大地工程、水利工程、交通工程及軍事工程,所以計算力學僅是多項專業選擇之一。土木工程原本是軍事工程的一部份,但是在現代土木工程的發展趨勢上,似乎改成將軍事工程納入土木工程的一部份,而且是排除機械工程和電機工程具有獨佔的意義。也就是說,土木工程要保持軍事工程的基本發展,在中國大陸就將「抗震抗爆」列為專業領域。
臺灣有部分學校想改系名為軍事工程,在我的觀點來說是不具有必要性的做法,而是在學術研究上新增涉及軍事工程的小專業領域。在中國大陸的軍事工程發展上,普通高校的土木工程有軍事工程相關研究,而軍事工程學校算是有更多不同的軍事工程相關研究。其中,在計算機的用途上,算是相當的廣泛,甚至於得將古代涉及軍事的用途,都以計算機來發展為土木工程的領域。
以古代的軍事工程來說,都是人力計算和人力傳達訊息,其中多數的計算都是得以計算機來解決,而人力傳達訊息就是古代的密碼學。根據密碼學的歷史記載,凱薩大帝(維基d)是第1個發展出密碼學的前人,而其密碼學就是採變換字母的順序來傳達訊息。以計算機來解決的話,就是對於加密文本的文字長度,去套用相同長度的英文詞彙,就能在1秒內破解出凱薩大帝的密碼學。
羅馬帝國皇帝凱薩大帝密碼學範例
密文:STQ PK T ZPFPKPLG﹒ -> 明文:CAE IS A DIVISION﹒
破解密碼:F->V;G->N;L->O;K->S;P->I;Q->E;S->C;T->A;Z->D
在土木工程的軍事工程領域,我並不認為要有相當多人力發展密碼學,僅是將其當做業餘興趣在嘗試破解密碼。在程式控制硬體方面,就是所謂的電控技術的應用,已經被美國宣稱土木的電控應用,幾乎都已近乎完全被發展出相關技術。然而,臺灣土木界對於電控技術限於「產品」,也就是並不知道無產品的相關電控技術,此乃是具有產品導向特有的使用限制情形。
以我個人知道的案例來說,具有比較實務應用層面的項目,包括:建築物以GPS感測器量測地震和風力的變位、橋樑健康監測、土石流監測、…等,都是二十年前就已經具備的相關電控技術。由於土木的電控技術相當成熟,所以在學術研究很容易重覆前人的研究。因此,有關於土木的電控技術方面,我認為有必要做全面性的文獻回顧,最好有中文專書得引進國內做相關的使用。
在平行計算的發展上,其背景數學基礎就是近代的線性代數,至於在稀疏矩陣的資料存取和乘算技術,也是相當成熟而近乎發展停滯的研究領域。不過,有關於稀疏矩陣的相關技術,已是工程軟體的基本程式。在近十年來,有被提出的計算技術甚多,包括:格網計算、CUDA計算(GPU)、雲端運算、…等,採執行緒的GPU要懂撰寫程式技巧,並對於採平行計算的雲端運算確實掌握。
以GPU來說,不過就是國家高速電腦中心的線上教學,要是仔細學習1個月應該不難獲取相關技術。至於,行政院科技部相當重視雲端運算,或許是計算機在土木工程發展的趨勢。簡單的說,學習GPU撰寫程式技術,是在對於軟體開發得採用此功能。在雲端運算方面,乃是大型電腦系統在做大量資料的計算,需要思考的是土木有哪些工程項目得以使用?
在土木施工的應用上,或許要朝向「工程預警系統」的建立,也就是以網路系統發展出預警模式。在水利工程的應用上,經由計算預知洪水氾濫的可能性,以及對此做防洪預警的相關措施,將是得以朝向的主要發展方向。在交通工程的應用上,每年的重要節日的高速公路車流量,或者一般尖峰時間車流量發生時,該如何從交通規劃的角度去紓解交通。在結構和大地工程方面,其應用較為廣泛得以朝多方面發展。
References
- Wikipedia (a), Fortran, http://en.wikipedia.org/wiki/Fortran
- Wikipedia (b), Finite element method, http://en.wikipedia.org/wiki/Finite_element_method
- Wikipedia (c), C (programming language), http://en.wikipedia.org/wiki/C_(programming_language)
- Wikipedia (d), Julius Caesar, http://en.wikipedia.org/wiki/Julius_Caesar