Notes

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

ブログ

  • WSL上でCubit Calculixのビルド方法

    WSL上でCubit Calculixのビルド方法

    インストールの手順

    Cubit-Calculixのビルドに必要な手順を説明します。今回は、gitからソースコードをダウンロードしますが、そのままビルドすると CubitGuiUtil に関連するエラーが発生することがあります。このエラーを回避するために、sed を使ってソースコードを一部編集します。これにより、エラーを防いでスムーズにビルドを進めることが可能です。

    詳細なビルドプロセス

    ビルドは Ubuntu 22.04.5 LTS 上で実施しました。以下が手順です:

    1. クリーンインストール後

    システムを更新・アップグレードし、ビルドに必要なツールをインストールします:

    #クリーンインストール後
    
    sudo apt update && sudo apt upgrade -y
    #ビルド用にインストール
    sudo apt-get install cmake cmake-gui
    sudo apt-get install build-essential
    sudo apt-get install qtbase5-dev libqt5charts5-dev libqt5widgets5
    
    #Cubitのグラフィックのために以下のライブラリをインストール
    sudo apt install libglu1-mesa
    1. Coreform Cubit のインストール

    Coreform Cubit をダウンロードしてインストールします:

    #Cubitのインストール
    wget https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases/Linux/Coreform-Cubit-2024.8%2B52155-Lin64.deb
    sudo apt-get install ./Coreform-Cubit-2024.8+52155-Lin64.deb
    1. Cubit-CalculiX のインストール

    Cubit-CalculiX のリポジトリをクローンします:

    #Cubit-CalculiXのインストール
    
    git clone https://github.com/calculix/Cubit-CalculiX.git
    1. ParaView のインストール

    ParaView をダウンロードして展開します:

    #ParaViewのインストール
    
    curl -o 'ParaView-5.13.1-MPI-Linux-Python3.10-x86_64.tar.gz' 'https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.13&type=binary&os=Linux&downloadFile=ParaView-5.13.1-MPI-Linux-Python3.10-x86_64.tar.gz'
    tar xvzf ParaView-5.13.1-MPI-Linux-Python3.10-x86_64.tar.gz
    1. CalculiXCore.cpp の編集(CubitGuiUtil に関連するエラーを回避するため)

    sed を使用して CalculiXCore.cpp 内の行をコメントアウトし、エラーを回避します:

    #SDKのCubitGuiUtilに関係するエラーを回避するための,CalculiXCore.cppを編集
    
    sed -i '/#ifndef WIN32/,/#endif/ s/^\(.*\)$/\/\/\1/' ~/Cubit-CalculiX/src/Core/CalculiXCore.cpp
    sed -i '/bool CalculiXCore::cmd(std::string cmd)/,/^}/ s/^/\/\//' ~/Cubit-CalculiX/src/Core/CalculiXCore.cpp
    1. ビルド手順

    ビルドディレクトリをクリーンアップし再作成した後、CMake を実行してビルドします:

    rm -rf ~/Cubit-CalculiX/build
    mkdir -p ~/Cubit-CalculiX/build
    
    cmake -S ~/Cubit-CalculiX/src -B ~/Cubit-CalculiX/build
    cmake --build ~/Cubit-CalculiX/build

  • WSL 環境でのビルドテスト環境の構築ガイド

    WSL 環境でのビルドテスト環境の構築ガイド

    前提条件

    – すでに WSL 環境はセットアップ済み。
    – まず WSL 上にインストールされている OS を確認して把握する。
    – PowerShell を使用してインストールする。

    WSL 環境の確認と準備

    1. インストールされている WSL ディストリビューションの確認

    PowerShell を開き、次のコマンドを実行して、現在インストールされている WSL ディストリビューションを確認します。

    wsl -l -v 

    このコマンドで、すべての WSL ディストリビューションがリスト表示されます。

    2. Windows 側の準備

    – インストールディレクトリの作成
    – WSL 用のカスタムインストールを行うディレクトリを作成します。

    mkdir C:\wsl 


    – このディレクトリは、WSL のインストールディレクトリ兼インストール作業場所として使用します。

    手動インストール方法

    3. Ubuntu-22.04 のカスタムインストール (手動)

    – Ubuntu-22.04 のダウンロード
    – 以下のリンクから Ubuntu-22.04 の RootFS をダウンロードします。
    – Ubuntu-22.04 RootFS – ダウンロードリンク
    – PowerShell で以下のコマンドを実行して、RootFS をダウンロードしてください。

    Invoke-WebRequest -Uri https://cloud-images.ubuntu.com/wsl/jammy/current/ubuntu-jammy-wsl-amd64-ubuntu22.04lts.rootfs.tar.gz -OutFile C:\wsl\ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz

    – カスタムインストールの実行
    – ダウンロードした RootFS を使用して、WSL にカスタムインストールします。インスタンス名は Ubuntu-22.04-cubit とします。

    wsl --import Ubuntu-22.04-cubit C:\wsl\Ubuntu-22.04-cubit C:\wsl\ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz

    – Ubuntu-22.04 の設定
    – インストール後、新しい WSL インスタンスを起動します。

    wsl -d Ubuntu-22.04-cubit 


    – 起動後、cubit という名前のユーザーを手動で作成します。

    adduser cubit 
    usermod -aG sudo cubit 


    – /etc/wsl.conf ファイルを作成して、デフォルトユーザーを cubit に設定します。

    sudo nano /etc/wsl.conf 


    – 以下の内容を追加します。

    [user] 
    default=cubit 


    – ファイルを保存して終了し、WSL を再起動します。

    wsl --shutdown 
    wsl -d Ubuntu-22.04-cubit

    完全自動インストール方法

    4. Ubuntu-22.04 の設定 (PowerShell スクリプトで完全自動化)

    – ユーザー cubit の作成と設定
    – PowerShell スクリプトを使って自動的にユーザーを作成し、デフォルト設定を行います。以下のスクリプトを PowerShell で実行してください。

    wsl -d Ubuntu-22.04-cubit --user root -- bash -c " 
    adduser cubit --gecos "" --disabled-password 
    echo 'cubit:password' | chpasswd 
    usermod -aG sudo cubit 
    
    echo -e '[user]\ndefault=cubit' > /etc/wsl.conf 
    " 


    – WSL のシャットダウンと再起動を行います。

    wsl --shutdown 
    wsl -d Ubuntu-22.04-cubit 


    – このスクリプトでは、cubit ユーザーを作成し、デフォルトのログインユーザーに設定しています。
    – adduser コマンドでユーザーを作成し、usermod コマンドで管理者権限を付与します。
    – /etc/wsl.conf ファイルにデフォルトユーザーを設定することで、次回以降のログイン時に自動的に cubit ユーザーでログインされます。

    初期化および削除方法

    1. WSL インスタンスの初期化 (完全解除と再セットアップ)

    – 初期化とは、インストール済みの WSL インスタンスを完全に解除し、すべての設定とデータを削除して最初のインストール状態に戻すことを指します。これは単なるディスクイメージのクリーンナップではなく、WSL インスタンスそのものを再セットアップするプロセスです。
    – PowerShell で以下のコマンドを実行して、Ubuntu-22.04-cubit を初期化します。

    wsl --unregister Ubuntu-22.04-cubit

    2. WSL インスタンスの完全削除

    – インスタンスを完全に削除するためには、まず上記の初期化コマンドを実行し、その後ディレクトリ内のファイルを削除します。

    wsl --unregister Ubuntu-22.04-cubit 
    Remove-Item -Recurse -Force C:\wsl\Ubuntu-22.04-cubit 


    – wsl –unregister コマンドでインスタンスを削除した後、残ったファイルを手動で削除する必要があります。
    – Remove-Item コマンドでディレクトリごと削除し、すべての関連ファイルをクリーンアップします。

    3. 初期化後の再インストールと設定

    – 初期化後、再度 Ubuntu-22.04-cubit をインストールし、必要な設定を行います。
    – 再インストールには、以下のカスタムインストール手順を繰り返します。

    wsl --import Ubuntu-22.04-cubit C:\wsl\Ubuntu-22.04-cubit C:\wsl\ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz 


    – その後、cubit ユーザーの設定を行います。完全自動化したスクリプトを再利用することで、迅速に設定を行えます。

    wsl -d Ubuntu-22.04-cubit --user root -- bash -c `
    "adduser cubit --gecos ' ' --disabled-password; `
    echo 'cubit:password' | chpasswd; `
    usermod -aG sudo cubit; `
    echo -e '[user]\ndefault=cubit' > /etc/wsl.conf"
    


    – この手順により、初期化後も迅速に設定を復元し、Ubuntu-22.04-cubit を通常通り使用できる状態に戻せます。

    通常のインストール方法 (PowerShell を使用)

    1. ダウンロード可能なディストリビューションのリストの確認

    – PowerShell を使用して、WSL でダウンロード可能なディストリビューションのリストを確認します。

    wsl --list --online 


    – このコマンドで利用可能なディストリビューションのリストが表示されます。

    2. ディストリビューションのインストール

    – 例えば、Ubuntu 22.04 または 24.04 をインストールするには、以下のコマンドを使用します。

    wsl --install -d Ubuntu-22.04
  • 空気と水の物性値と無次元量

    常温常圧における空気と水の代表的な物性値、および流体力学における無次元量についてまとめています。ナビエ-ストークス(NS)方程式やエンタルピー輸送方程式を無次元化して解析する際に用いられる無次元量を含み、それぞれの意味と空気・水の特性に基づく具体例を提供します。

    1. 空気と水の物性値

    以下に、数値計算で無次元化を行う際に必要な物性値を、空気と水についてまとめました。運動量拡散係数や熱拡散係数も含めて、各種物理量を示しています。

    物質

    物理量

    英語名

    記号

    単位

    空気

    密度

    Density

    ρ

    1.225

    kg/m³

    運動量拡散係数

    Momentum Diffusivity (ν)

    ν

    1.461 × 10⁻⁵

    m²/s

    熱拡散係数

    Thermal Diffusivity (α)

    α

    1.96 × 10⁻⁵

    m²/s

    比熱容量 (定圧)

    Specific Heat Capacity

    Cp

    1006.43

    J/(kg·K)

    熱伝導率

    Thermal Conductivity

    k

    0.0242

    W/(m·K)

    粘度

    Viscosity

    μ

    1.7894e-05

    Pa·s

    音速

    Speed of Sound

    c

    343

    m/s

    密度

    Density

    ρ

    998.2

    kg/m³

    運動量拡散係数

    Momentum Diffusivity (ν)

    ν

    1.00 5× 10⁻⁶

    m²/s

    熱拡散係数

    Thermal Diffusivity (α)

    α

    1.44 × 10⁻⁷

    m²/s

    比熱容量

    Specific Heat Capacity

    Cp

    4182

    J/(kg·K)

    熱伝導率

    Thermal Conductivity

    k

    0.6

    W/(m·K)

    粘度

    Viscosity

    μ

    0.001003

    Pa·s

    表面張力

    Surface Tension

    σ

    0.0719404

    N/m

    2. ナビエ-ストークス(NS)方程式の無次元量

    代表的な無次元量

    無次元量

    定義式

    意味

    空気 (20°C)

    水 (20°C)

    Reynolds数 (Re)

    Re = (ρ u L) / μ = (u L) / ν

    慣性力と粘性力の比。大きいと乱流、小さいと層流

    約 程度

    約 程度

    Mach数 (Ma)

    Ma = u / c

    流速と音速の比。音速を超えると衝撃波など発生

    空気に対して0.1~数程度

    Froude数 (Fr)

    Fr = u / sqrt(g L)

    重力と慣性力の比。自由表面流などで重要

    Strouhal数 (St)

    St = (ω L) / u

    非定常性の指標。振動現象の重要指標

    周波数依存

    周波数依存

    Weber数 (We)

    We = (ρ u^2 L) / σ

    慣性力と表面張力の比。液滴や膜の挙動

    空気で数程度

    水で0.1~数程度

    3. エンタルピー輸送方程式の無次元量

    無次元量

    定義式

    意味

    空気 (20°C)

    水 (20°C)

    Prandtl数 (Pr)

    Pr = (μ Cp) / k = ν / α

    動粘度と熱拡散率の比。伝熱特性を示す

    約0.71

    約7.0

    Nusselt数 (Nu)

    Nu = (h L) / k

    対流と伝導による熱伝達の比。境界層での熱伝達率

    強制対流に依存

    強制対流に依存

    Fourier数 (Fo)

    Fo = (α t) / L^2

    伝熱の時間尺度。熱拡散の進行度合い

    時間依存

    時間依存

    Biot数 (Bi)

    Bi = (h L) / k

    伝導と対流の熱伝達の比。小さいと物体全体が均一温度に

    空気で数程度

    水で数程度

    Rayleigh数 (Ra)

    Ra = Gr * Pr

    自然対流の指標。熱膨張と温度差による浮力が影響

    数程度

    水で 以上

    4. 無次元量の解説

    • Reynolds数 (Re): 流れの乱流・層流の判定基準で、慣性力と粘性力の相対的な強さを表します。
    • Mach数 (Ma): 流速が音速と比べてどの程度かを示し、超音速の場合には衝撃波などが発生します。
    • Froude数 (Fr): 流体の運動と重力の影響を相対評価し、自由表面の流れで重要です。
    • Prandtl数 (Pr): 動粘度と熱拡散率の比率で、空気では約0.71、水では約7と大きく異なります。
    • Nusselt数 (Nu): 熱伝達率を示し、強制対流や自然対流の条件で異なる値を取ります。
    • Fourier数 (Fo): 伝熱の進行度合いを示し、熱の時間経過による進行具合を表します。
    • Rayleigh数 (Ra): 流体内の温度差に基づく浮力の指標で、自然対流に影響します。

    空気と水の物理的性質を理解し、流体の動力学や熱輸送特性を把握するための参考にしていただけます。

  • openfoam

    openfoam