OpenFOAM

T711 要素ファイルの使用

この記事は約6分で読めます。

openFoamで使用する要素操作の覚書です。

openFoamでは、コマンドで要素を作成する場合と、他の有限要素ツールと同様に、メッシャーで要素を作成して用いる場合があります。(他のツールもコマンドメッシャーを持っているものもあると思います)

unvファイルについて

作業シーンを記載しています。

元となるデータは、A632 熱伝導解析 openFoamになります。

unvファイルの作成

salomeメッシュ 条件設定用のGroup_1付き

四面体要素の端面にGroup_1を定義したメッシュを用意します。tet.unvとしています。

サンプルファイル: T711_tet.unv (以下はtet.unvとして記載しています)

unvファイルの格納

A632と同様のフォルダ構造にtet.unvファイルを格納します。

unvファイルの変換

通常の作業と同じように、ubuntuのターミナルで上記のフォルダに移動します。
A632では、blockMeshコマンドにて作成しましたが、unvファイルをideasUnvToFoamコマンドで変換して使います。(ですので、systemフォルダ内には、blockMeshDictファイルはありません)

ideasUnvToFoam tet.unv ←変換したいファイル名を続けて記入

変換を実行するとconstantフォルダ内にpolyMeshフォルダが作成され、要素ファイルが格納されます。polyMeshフォルダ内のboundaryファイルには、メッシュ作成時に定義したGroup_1が境界設定箇所として定義されています。

//polyMeshが作成されるとconstantフォルダ内に要素情報が作成されます。

constant                      
├ polyMesh                   
│ ├ boundary                
│ ├ faces                   
│ ├ neighbour               
│ ├ owner                   
│ └ points        
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       polyBoundaryMesh;
    location    "constant/polyMesh";
    object      boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

2
(
    Group_1
    {
        type            patch;
        nFaces          2;
        startFace       102;
    }
    defaultFaces
    {
        type            patch;
        nFaces          82;
        startFace       104;
    }
)

// ************************************************************************* //

あとは、コマンドでメッシュを作成した場合と同じ操作をたどります。(仮)

補足

上記のGroup_1についての境界条件は、「0」フォルダ内のTファイルと関係付けておく必要があります。

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2012                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 293;

boundaryField
{
    defaultFaces
    {
        type            zeroGradient;
    }

    Group_1
    {
        type            fixedValue;
        value           uniform 393;
    }

//     rightface
//     {
//         type            fixedValue;
//         value           uniform 293;
//     }
}

// ************************************************************************* //

また、boundaryには条件を記述する必要があります。
チュートリアルなどをトレースする場合には、元のboundaryを確認します。

結果

tetメッシュによる伝熱結果

注記

■二次要素だとエラーになります。

コメント

Translate »
タイトルとURLをコピーしました