創(chuàng)建 CAE 插件——了解點狀網(wǎng)格模型 API(第 2 部分)


發(fā)表于 2012 年 6 月 14 日, 大衛(wèi)·加利施

這篇文章將介紹結(jié)構(gòu)化逐點網(wǎng)格模型 (PWGM)。在了解逐點網(wǎng)格模型 API的第 1 部分中,我介紹了非結(jié)構(gòu)化逐點網(wǎng)格模型。如果您還沒有這樣做,我建議您在繼續(xù)之前閱讀第 1 部分。

本討論假定您已經(jīng)熟悉結(jié)構(gòu)化網(wǎng)格使用的 ijk 坐標(biāo)系。此討論還假定您熟悉結(jié)構(gòu)化塊的六個面。PWGM 將它們稱為 i-min、j-min、k-min、i-max、j-max 和 k-max 塊面。如果您不了解結(jié)構(gòu)化塊,您可能需要先做一些功課。

網(wǎng)格手柄

在這篇文章中,我將指代句柄。句柄是一種在不使用指針的情況下唯一標(biāo)識 PWGM 對象的緊湊方式。對于那些熟悉 C/C++ 的人來說,Handle 可以被認(rèn)為是 SDK 的 C++ this指針。非結(jié)構(gòu)化 PWGM 支持五種句柄類型:

  • PWGM_HGRIDMODEL

  • PWGM_HBLOCK

  • PWGM_HBNDRY

  • PWGM_HCNXN

每種 Handle 類型都有一個或多個 SDK 函數(shù),用于查詢 Handle 代表的實體。您還可以使用各種 SDK 宏從句柄中提取信息。有關(guān)詳細(xì)信息,請參閱CAE 插件 SDK 文檔的模塊/PWGM-API 不透明數(shù)據(jù)處理類型部分。

網(wǎng)格維數(shù)

與 Pointwise 本身一樣,結(jié)構(gòu)化 PWGM 支持 2D 和 3D 網(wǎng)格。但是,有一個關(guān)鍵區(qū)別:結(jié)構(gòu)化 PWGM 為網(wǎng)格數(shù)據(jù)提供相同的接口,而不管其 2D 或 3D 維度如何。PWGM 的一致性是使用五個通用實體實現(xiàn)的;塊、連接、邊界、頂點和條件。具體來說,從結(jié)構(gòu)化PWGM的角度來看:

  • 塊是塊頂點、連接和邊界的集合。每個塊都分配有一個卷條件,并由一個唯一的整數(shù)索引標(biāo)識。索引范圍從 0 到模型中的塊數(shù) (Nb) 減去 1 (0 … Nb-1)。

  • 連接定義了與相鄰塊共享”的塊周邊頂點的矩形部分。一個塊可以有多個連接。頂級連接由唯一的整數(shù)索引標(biāo)識。索引范圍從 0 到模型中的連接數(shù) (Nc) 減去 1 (0 … Nc-1)。塊級連接由每個塊內(nèi)唯一的整數(shù)索引標(biāo)識。索引范圍從 0 到塊中的連接數(shù) (Ncb) 減去 1 (0 … Ncb-1)。

  • 邊界定義了塊的周邊頂點的矩形部分,該矩形部分對于塊是唯一的并且不相鄰塊“共享” 每個邊界都被分配了一個邊界條件。頂級邊界由唯一的整數(shù)索引標(biāo)識。指數(shù)范圍從 0 到模型中的邊界數(shù) (Nd) 減去 1 (0 … Nd-1)。塊級邊界由每個塊內(nèi)唯一的整數(shù)索引標(biāo)識。索引范圍從 0 到塊中的邊界數(shù) (Ndb) 減去 1 (0 … Ndb-1)。

  • 頂點是由值標(biāo)識的單個 XYZ 塊坐標(biāo)PWGM_INDEX3。一個 PWGM_INDEX3值表示頂點在塊中的 [i, j, k] 索引。ijk 分量值的范圍從零到 ijk 點數(shù)減 1([0,0,0] 到 [Ni-1,Nj-1,Nk-1])。2D 和 3D 網(wǎng)格使用相同的數(shù)據(jù)類型。但是,對于二維網(wǎng)格,索引的 k 分量始終為零。

  • 條件是一組兩個用戶定義的屬性和兩個求解器定義的屬性。

插件使用相同的函數(shù)調(diào)用訪問此實體層次結(jié)構(gòu)。2D 和 3D 之間的區(qū)別僅在處理頂點、連接和邊界時才會發(fā)揮作用。

網(wǎng)格層次結(jié)構(gòu)

結(jié)構(gòu)化 PWGM 以層次結(jié)構(gòu)排列。這個層次結(jié)構(gòu)的根是網(wǎng)格模型本身。在導(dǎo)出時,網(wǎng)格模型的句柄runtimeWrite()使用參數(shù)傳遞給插件的函數(shù) PWGM_HGRIDMODEL model

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
PWP_BOOL runtimeWrite(CAEP_RTITEM *pRti, PWGM_HGRIDMODEL model, const CAEP_WRITEINFO *pWriteInfo);
// model 和 pWriteInfo 也可以使用 pRti->model 和 pRti->pWriteInfo
[/sourcecode]

結(jié)構(gòu)化 PWGM 提供了一個單一的、以塊為中心的網(wǎng)格數(shù)據(jù)視圖。這個視圖包括

  • 一個頂級連接數(shù)組。

  • 一個頂級邊界數(shù)組。

  • 一個頂級塊數(shù)組,其中每個塊包含

    • 該數(shù)組是頂級 Boundaries 數(shù)組的子集。

    • 每個數(shù)組條目代表此塊與自身或其他塊建立的連接。

    • 該數(shù)組是頂級 Connections 數(shù)組的子集。

    • 一個PWGM_BLOCKDATA實例。

    • 一組塊頂點

    • 一組塊連接。

    • 一組塊邊界。

結(jié)構(gòu)化網(wǎng)格模型層次結(jié)構(gòu)如下圖所示。

創(chuàng)建 CAE 插件——了解點狀網(wǎng)格模型 API(第 2 部分)的圖1

結(jié)構(gòu)化網(wǎng)格模型層次結(jié)構(gòu)

結(jié)構(gòu)化數(shù)據(jù)類型

使用 [i,j,k] 索引訪問結(jié)構(gòu)化塊的類數(shù)組布局中的每個頂點。PWGM 使用PWGM_INDEX3數(shù)據(jù)類型來表示 [i,j,k] 索引。該PwBlkNdxVertData()函數(shù)用于獲取頂點的PWGM_VERTDATA信息。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef struct PWGM_INDEX3_t {
PWP_INT32 i; // 用于 3D 和 2D 網(wǎng)格的 i 坐標(biāo)
PWP_INT32 j; // 用于 3D 和 2D 網(wǎng)格的 j 坐標(biāo)
PWP_INT32 k; // k 坐標(biāo)僅用于 3D 網(wǎng)格
}
PWGM_INDEX3;

PWP_BOOL PwBlkNdxVertData(PWGM_HBLOCK 塊,PWGM_INDEX3 ndx3,PWGM_VERTDATA *pVertData);
[/源代碼]

類似地,PWGM_STR_SIZE數(shù)據(jù)類型用于表示塊的 [i,j,k] 頂點大小。A PWGM_STR_SIZE用于 2D 和 3D 網(wǎng)格。但是,對于二維網(wǎng)格,尺寸的 k 分量始終為 1。該PwBlkSize()函數(shù)用于獲取塊的大小。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef PWGM_INDEX3 PWGM_STR_SIZE;

PWP_BOOL PwBlkSize(PWGM_HBLOCK 塊,PWGM_STR_SIZE *pSize);
[/源代碼]

數(shù)據(jù)類型PWGM_STR_RANGE表示塊子區(qū)域。范圍由其對角線開始 ( beg) 和結(jié)束 ( end) 索引定義。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef struct PWGM_STR_RANGE_t {
PWGM_INDEX3 beg; // 開始索引
PWGM_INDEX3 結(jié)束;// 結(jié)束索引
}
PWGM_STR_RANGE;
[/源代碼]

要有效,范圍的開始索引必須小于或等于結(jié)束索引。

  • 開始.i <= 結(jié)束.i

  • 開始.j <= 結(jié)束.j

  • 開始.k <= 結(jié)束.k

在 PWGM 中,范圍主要用于處理邊界和連接。

一切都與連接有關(guān)

在 PWGM 中,每個結(jié)構(gòu)化 Block 都有自己的局部 ijk 坐標(biāo)系。因此,可以使用多個PWGM_INDEX3索引訪問兩個相鄰塊之間的連接中的每個頂點。這也可能發(fā)生在塊與自身建立連接時(例如 C、O 或 H 拓?fù)洌J褂枚鄠€本地坐標(biāo)系通常會使導(dǎo)出連接成為結(jié)構(gòu)化插件中最復(fù)雜的部分。

下圖顯示了一個簡單的二維模型,其中包含兩個相連的塊。每個 Block 都有不同的 ij 方向。根據(jù)需要,每個 2D 塊的右手法線(i 交叉 j)指向網(wǎng)格模型的同一“側(cè)”(在本例中位于屏幕之外)。

創(chuàng)建 CAE 插件——了解點狀網(wǎng)格模型 API(第 2 部分)的圖2

兩個帶有頂點索引標(biāo)記的 2D 結(jié)構(gòu)化塊。

這些塊中的每一個都有一個連接。這兩個單獨的塊級連接也存在于頂層連接數(shù)組中。下面列出了這兩個連接。

  • Block[0] 從它的 i-max 面到 Block[1] 的 j-max 面

  • Block[1] 從它的 j-max 面到 Block[0] 的 i-max 面

如您所見,此連接的頂點通過 Block[0] 的索引與通過 Block[1] 的索引不同。假設(shè)二維網(wǎng)格的 k 為 0,

  • Block[0] 中的 Vertex[2,0,0] 與 Block[1] 中的 Vertex[0,2,0] 相同

  • Block[0] 中的 Vertex[2,1,0] 與 Block[1] 中的 Vertex[1,2,0] 相同

  • Block[0] 中的 Vertex[2,2,0] 與 Block[1] 中的 Vertex[2,2,0] 相同

PWGM 使用轉(zhuǎn)換矩陣來轉(zhuǎn)換塊之間的連接 ijk 索引。使用這個矩陣以及一些 SDK 矩陣實用函數(shù),一個塊中的連接 ijk 索引可以轉(zhuǎn)換為相鄰塊中的等效 ijk 索引。連接是使用PWGM_CNXNDATA數(shù)據(jù)類型定義的。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef struct PWGM_CNXNDATA_t {
const char *name; // 連接名稱
PWGM_HBLOCK block1; // 連接塊 1(源)
PWGM_FACE_ID face1;// 塊 1 上的面 ID
PWGM_STR_RANGE range1; // block1 索引空間中的 ijk 連接范圍
PWGM_INDEX_XFORM from1to2; // 將 block1 索引轉(zhuǎn)換為 block2 索引
PWGM_HBLOCK block2; // 連接塊 2(捐贈者)
PWGM_FACE_ID face2;// block2 上的面 ID
PWGM_STR_RANGE range2; // block2 索引空間中的 ijk 連接范圍
PWGM_INDEX_XFORM from2to1; // 將 block2 索引轉(zhuǎn)換為 block1 索引 (== inverse(from1to2)
}
PWGM_CNXNDATA;
[/源代碼]

在 PWGM_CNXNDATA上面,PWGM_INDEX_XFORM from1to2PWGM_INDEX_XFORM from2to1矩陣是 3D 變換。如果您的求解器需要二維矩陣 ( PWGM_INDEX_XFORM2),則可以使用矩陣轉(zhuǎn)換實用函數(shù)(見下文)。

以下 PWGM 函數(shù)用于訪問有關(guān)連接的信息:

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
// 頂級連接函數(shù)
PWP_UINT32 PwModConnectionCount(PWGM_HGRIDMODEL 模型);
PWGM_HCNXN PwModEnumConnections(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx);
PWP_BOOL PwModNdxConnection(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx,PWGM_CNXNDATA *pCnxnData);

// 塊級連接函數(shù)
PWP_UINT32 PwBlkConnectionCount (PWGM_HBLOCK block);
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK 塊,PWP_UINT32 ndx);
PWP_BOOL PwBlkNdxConnection(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_CNXNDATA *pCnxnData);

// 獲取句柄的連接數(shù)據(jù)
PWP_BOOL PwConnection (PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData);
[/源代碼]

為了使用矩陣,PWGM 提供了以下結(jié)構(gòu)化網(wǎng)格效用函數(shù)。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]

PWP_BOOL PwXform2to3 (const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX_XFORM *pX3);
PWP_BOOL PwXform3to2 (const PWGM_INDEX_XFORM *pX3, PWGM_INDEX_XFORM2 *pX2);

PWGM_INDEX3 PwXformApply (const PWGM_INDEX_XFORM *pX3, PWGM_INDEX3 ijk);
PWGM_ENUM_IJK PwXformFollows (const PWGM_INDEX_XFORM *pX3, PWGM_ENUM_IJK localAxis, PWP_BOOL *pFlipped);

PWGM_INDEX3 PwXform2Apply (const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX3 ijk);
PWGM_ENUM_IJK PwXform2Follows (const PWGM_INDEX_XFORM2 *pX2, PWGM_ENUM_IJK localAxis, PWP_BOOL *pFlipped);

PWP_BOOL PwInRange (PWGM_INDEX3 ijk, const PWGM_STR_RANGE *pRange);

[/源代碼]

這個例子引用了上面的二維網(wǎng)格模型,并展示了如何使用索引轉(zhuǎn)換函數(shù)。

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
// 獲取 Block[0] 的句柄
PWGM_HBLOCK blk0 = PwModEnumBlocks(model, 0);

// 獲取塊[0].連接[0]
PWGM_CNXNDATA cnxnData;
if (PwBlkNdxConnection(blk0, 0, &cnxnData)) {
// 使用 Block[0] 的 ijk 空間初始化索引 blk0Ndx
PWGM_INDEX3 blk0Ndx = {2, 1, 0};

// 將 blk0Ndx 映射到 blk1Ndx 的 ijk 空間中的相同索引
PWGM_INDEX3 blk1Ndx = PwXformApply(&cnxnData.from1to2, blk0Ndx);

// blk1Ndx 現(xiàn)在設(shè)置為 {1, 2, 0}
}
[/sourcecode]

如果您的插件導(dǎo)出到的解算器也使用連接矩陣,您會感到很幸運。但是,如果您的求解器使用不同的映射方法,您的插件必須將每個 PWGM 連接矩陣轉(zhuǎn)換為適合求解器的形式。遺憾的是,將 PWGM 連接矩陣轉(zhuǎn)換為求解器的非矩陣映射方案的細(xì)節(jié)可能很復(fù)雜,超出了本文的范圍。

界限是有限的

邊界是位于網(wǎng)格模型周邊的塊面的任何部分,與相鄰塊沒有任何共同的頂點。使用句柄訪問邊界PWGM_HBNDRYPWGM_BNDRYDATA使用此句柄,您可以使用和數(shù)據(jù)類型獲取邊界的形狀和條件信息PWGM_CONDDATA。邊界 API 數(shù)據(jù)類型和函數(shù)如下所列:

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef enum PWGM_FACE_ID_e {
PWGM_FACE_KMIN, // 最小 K
PWGM_FACE_KMAX, // 最大 K
PWGM_FACE_IMIN, // 最小 I
PWGM_FACE_IMAX, // 最大I
PWGM_FACE_JMIN, // 最小 J
PWGM_FACE_JMAX, // 最大 J
}
PWGM_FACE_ID;

typedef struct PWGM_BNDRYDATA_t {
const char *name; // 邊界名稱
PWGM_HBLOCK 塊;// 邊界塊
PWGM_FACE_ID 人臉;// 邊界面 id
PWGM_STR_RANGE 范圍;// 邊界 ijk 范圍
}
PWGM_BNDRYDATA;

typedef struct PWGM_CONDDATA_t {
const char *name; // 網(wǎng)格定義的條件名稱
PWP_UINT32 id; // 網(wǎng)格定義條件 id
const char *type; // cae 定義的條件物理類型名稱
PWP_UINT32 tid; // cae 定義的條件 id
}
PWGM_CONDDATA;

PWP_BOOL PwModNdxBoundary(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData);
PWP_BOOL PwModNdxBoundaryAndCondition(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData,PWGM_CONDDATA *pCondData);

PWP_BOOL PwBlkNdxBoundary(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData);
PWP_BOOL PwBlkNdxBoundaryAndCondition(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData,PWGM_CONDDATA *pCondData);

PWP_BOOL PwBoundary (PWGM_HBNDRY 邊界, PWGM_BNDRYDATA *pBndryData);
PWP_BOOL PwBndryCondition (PWGM_HBNDRY 邊界, PWGM_CONDDATA *pCondData);
[/源代碼]

枚舉實體

PWGM 提供對所有網(wǎng)格實體的枚舉、隨機(jī)訪問。使用此方案,為每個實體提供一個 SDK 功能以確定網(wǎng)格模型中存在的項目數(shù)。然后將計數(shù)與其他相關(guān)的枚舉 SDK 函數(shù)一起使用,以逐一遍歷項目層次結(jié)構(gòu)。例如,網(wǎng)格模型塊的數(shù)量是使用該PwModBlockCount()函數(shù)確定的。有了這個計數(shù),您就可以使用該函數(shù)枚舉塊PwModEnumBlocks()。PWGM 枚舉函數(shù)返回請求項的句柄。頂級模型級函數(shù)名稱以PwMod前綴開頭。這些函數(shù)都將網(wǎng)格模型句柄作為輸入,并向枚舉的網(wǎng)格模型實體返回計數(shù)或句柄。結(jié)構(gòu)化 PWGM 目前支持的頂級模型級功能是

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
PWP_UINT32 PwModBlockCount(PWGM_HGRIDMODEL 模型)
PWGM_HBLOCK PwModEnumBlocks(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx)

PWP_UINT32 PwModConnectionCount(PWGM_HGRIDMODEL 模型);
PWGM_HCNXN PwModEnumConnections(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx);

PWP_UINT32 PwModBoundaryCount(PWGM_HGRIDMODEL 模型);
PWGM_HBNDRY PwModEnumBoundaries(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx);
PWP_BOOL PwModNdxBoundary(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData);
PWP_BOOL PwModNdxBoundaryAndCondition(PWGM_HGRIDMODEL 模型,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData,PWGM_CONDDATA *pCondData);
[/源代碼]

枚舉塊的連接和邊界以類似的方式完成。首先,您使用適當(dāng)?shù)膲K句柄(使用 )獲得所需的塊連接或邊界計數(shù)PwModEnumBlocks。然后,使用計數(shù),逐個枚舉每個連接或邊界,獲得它的句柄。最后通過Handle獲取對應(yīng)的Connection或Boundary數(shù)據(jù)。PWGM目前支持的Block功能有

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
PWP_BOOL PwBlkSize (PWGM_HBLOCK block, PWGM_STR_SIZE *pSize);
PWP_BOOL PwBlock(PWGM_HBLOCK 塊,PWGM_BLOCKDATA *pBlockData);

PWP_UINT32 PwBlkBoundaryCount(PWGM_HBLOCK 塊);
PWGM_HBNDRY PwBlkEnumBoundaries(PWGM_HBLOCK 塊,PWP_UINT32 ndx);
PWP_BOOL PwBlkNdxBoundary(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData);
PWP_BOOL PwBlkNdxBoundaryAndCondition(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_BNDRYDATA *pBndryData,PWGM_CONDDATA *pCondData);

PWP_UINT32 PwBlkConnectionCount(PWGM_HBLOCK 塊);
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK 塊,PWP_UINT32 ndx);
PWP_BOOL PwBlkNdxConnection(PWGM_HBLOCK 塊,PWP_UINT32 ndx,PWGM_CNXNDATA *pCnxnData);
[/源代碼]

每個塊都有一個關(guān)聯(lián)的PWGM_BLOCKDATA實例。數(shù)據(jù)類型PWGM_BLOCKDATA定義為:

[sourcecode language=”cpp” gutter=”true” toolbar=”false” wraplines=”false”]
typedef struct PWGM_BLOCKDATA_t {
const char *name; // 命名
PWGM_HBLOCK 塊;// 處理
PWGM_ENUM_GRIDTYPE 網(wǎng)格類型;// 網(wǎng)格類型
PWGM_STR_SIZE 大??;// 頂點大小
}
PWGM_BLOCKDATA;
[/源代碼]

不要被愚弄

上面使用的簡單 2D 示例網(wǎng)格非常適合解釋想法。然而,它的簡單性具有欺騙性。一個典型的結(jié)構(gòu)化網(wǎng)格模型會有很多塊、連接和邊界。此外,任何給定的塊面通常連接到多個相鄰塊,如下面稍微復(fù)雜的 3D 示例所示。

創(chuàng)建 CAE 插件——了解點狀網(wǎng)格模型 API(第 2 部分)的圖3

3D 網(wǎng)格模型示例和 i-min 面部細(xì)節(jié)

在這個例子中,大塊的 i-min 面被分成兩個連接(灰色)和五個邊界。大量的 i-min 邊界是由結(jié)構(gòu)化網(wǎng)格模型中范圍的矩形性質(zhì)引起的。

退化的六邊形

除了巫術(shù),Pointwise 支持創(chuàng)建極網(wǎng)格實體。那是

  • 連接器可以折疊成單點桿。

  • 域可以折疊為邊緣或單點極點。

這意味著網(wǎng)格模型中可能存在退化(也稱為折疊)六角形單元格。PWGM 不區(qū)分包含極點和不包含極點的網(wǎng)格模型。PWGM 假設(shè)結(jié)構(gòu)化求解器可以處理這些類型的網(wǎng)格。因此,如果不比較物理 XYZ 坐標(biāo),就沒有找到折疊連接或邊界的有效方法。如果 PWGM 中的此限制阻止您為求解器創(chuàng)建插件,請告知 Pointwise 支持。

當(dāng)我開始寫這篇文章時,我低估了清楚地描述結(jié)構(gòu)化 PWGM 的難度。許多小時和修改后,我希望你覺得解釋有用。有了這些信息,您將能夠利用 Pointwise CAE 插件 SDK 創(chuàng)建一個插件,將您的結(jié)構(gòu)化求解器添加到 Pointwise。與往常一樣,如果您有任何其他問題,請隨時聯(lián)系 Pointwise 支持。我們隨時為您提供幫助!

我還不確定下一篇文章的主題是什么。如果您有任何建議,請讓我知道。同時,您可以通過單擊下面的按鈕了解有關(guān) Pointwise CAE 插件 SDK 和 PWGM 的更多信息。

文章來源:pointwise博客

原文鏈接:https://blog.pointwise.com/2012/06/14/creating-a-cae-plugin-understanding-the-pointwise-grid-model-api-part-2/

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP