---
# System prepended metadata

title: CAElinux 流程

---

# CAElinux 流程

```mermaid
graph TD
title(<B><u>運算流程</u></B>)
class title tx20;
classDef tx20 fill:#7FFF00,font-size:20px;
```

```mermaid
graph TD

    
    id1(輸入模型參數) --> id2[CAD處理軟體]
    id2[CAD處理軟體] -.- id3(匯出可視化模型)
    id5 --> id7[匯出後處理結果]
   
    
    subgraph 伺服器
        id2 --> id4[轉成solver所知道的格式]
        id4 --> id5[傳到solver開始運算]
        id5 --> id8[匯出結果的data]
        
    end
class title tx20;
class id1 tx16;
class id2,id3,id7,id8 tx16;

classDef tx14 font-size:14px;
classDef tx16 font-size:16px;
classDef tx20 font-size:20px;
```

```mermaid
graph LR
title(<B><u>步驟對應軟體</u></B>)
class title tx20;
classDef tx20 fill:#7FFF00,font-size:20px;
```

```mermaid
graph LR
    id90[1.模組,網格]-.- id15[GMSH<br>Salome<br>FreeCAD<br>Netgen<br>..]    
    id91[2.Solvers] -.- id16[Code-Aster<br>Solaria<br>OpenFOAM<br>..]

class title tx20;
class id90,id91 tx16;
class id15,id16 tx14; 
classDef tx14 font-size:14px;
classDef tx16 font-size:16px;
classDef tx20 font-size:20px;
```
```mermaid
graph LR
    id92[3.後處理]--> id11[fa:fa-signal post-pro]
    id92[3.後處理]--> id13[fa:fa-book Math/plotting]
    subgraph 視覺化
       id11 -.- id14[GMSH<br>Salome<br>Paraview]
    end
    subgraph 表格
       id13 -.- id12[Octave<br>Scilab<br>Maxima<br>etc..]
    end
 
class id92 tx16; class id11,id12,id13,id14 tx14;   
classDef tx14 font-size:14px;
classDef tx16 font-size:16px;
classDef tx20 font-size:20px;
```

#### 首選cad格式為STEP，次選為IGES，因為STEP兼容較為廣泛，且在CAD/FEA/CFD的數據交換上有較好的軟體可以支援。
---
![https://drive.google.com/uc?id=13fWsFMj735sJmEmK3WMHCtI12ixtey9L](https://drive.google.com/uc?id=13fWsFMj735sJmEmK3WMHCtI12ixtey9L)
###### 圖源 https://www.code-aster.org
---

![https://drive.google.com/uc?id=1vYe2c4nE1E1Uoyi2z7af5zds8qhSe18X](https://drive.google.com/uc?id=1vYe2c4nE1E1Uoyi2z7af5zds8qhSe18X)
###### 圖源 https://www.code-aster.org
---

||模組&網格|solver|後處理|備註
|-|-|-|-|-|
Gmsh [pypi](https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmsh.py)|☑️|❌|☑️|內置CAD引擎和後處理器，可以用ASCII text files使用gmsh自己的文件檔案(.geo)或是使用C++、C、Python或Julia API。
Salome [pypi](https://docs.salome-platform.org/7/gui/SMESH/smeshpy_interface_page.html)|☑️|❌|✔️|內置CAD引擎和後處理器，使用python。
FreeCAD [pypi, c++api](https://github.com/FreeCAD/FreeCAD)|☑️|❌|☑️|內置CAD引擎和後處理器，使用python與c++。(中文版)
Netgen [NGS-py](https://ngsolve.org/docu/latest/how_to/periodic.html)|✔️|✔️|✔️|內置CAD引擎、後處理器與solver，使用python與c++，解熱能力差。不符合開發預期
|Code-Aster [說明](http://www.calculixforwin.com/)|❌|☑️|❌|使用python2.7x的numpy計算，與salome連動佳，最新版相容win7。
|Solaria Thermal|☑️|☑️|☑️|完整介面，類似FloTHERM，很貴。
Flotherm|☑️|☑️|☑️|使用vba
Abaqus|☑️|☑️|☑️|python, full document for develope. [開發教學(英文)](https://www.bilibili.com/video/av48157570/) [開發教學(中文)](https://www.bilibili.com/video/av48009574/)


# P.S.

1. 使用caelinux的模型轉換需仰賴手動:從cad轉換成solver所認識的模組需要手動去設置範圍，導入演算法計算範圍後設定網格、發熱源，才能讓solver看得懂並做運算。

2. Abaqus具有完整的二次開發，使用語言為python，開發環境完整，資料眾多，但是軟體費用昂貴。

3. FloTHERM的二次開發較為簡單，使用vba，可以在改變簡單參數的情況下批量輸出(簡單參數:cube大小)，但能設的參數較少(在參數很多時vba容易崩潰)。

4. Icepak的二次開發使用TCL，能調整的參數很多，但開發需要的時間較長。

5. 建議一條龍開發，

